NodeOPCUA API Documentation
    Preparing search index...
    interface UAMethod<
        T extends UAMethodEvents & ListenerSignature<T> = UAMethodEvents,
    > {
        _getExecutableFlag?: (sessionContext: ISessionContext | null) => boolean;
        browseName: QualifiedName;
        declaredAccessRestrictions?: string;
        designToolOnly?: boolean;
        inputArguments?: UAVariable<UAVariableEvents>;
        methodDeclarationId: NodeId;
        nodeClass: Method;
        nodeId: NodeId;
        nodesetCategory?: string[];
        nodesetDocumentation?: string;
        onFirstBrowseAction?: (this: BaseNode) => Promise<void>;
        outputArguments?: UAVariable<UAVariableEvents>;
        parent: UAObject<UAObjectEvents> | null;
        releaseStatus?: "Draft" | "Deprecated";
        typeDefinition: NodeId;
        typeDefinitionObj: UAObjectType;
        get accessRestrictions(): AccessRestrictionsFlag | undefined;
        get addressSpace(): IAddressSpace;
        get description(): LocalizedText;
        get displayName(): LocalizedText[];
        get modellingRule(): ModellingRuleType | undefined;
        get namespace(): INamespace;
        get namespaceIndex(): number;
        get namespaceUri(): string;
        get parentNodeId(): NodeId | undefined;
        get rolePermissions(): RolePermissionType[] | undefined;
        addReference(options: AddReferenceOpts): void;
        allReferences(): UAReference[];
        bindMethod(methodFunction: MethodFunctor): void;
        browseNode(
            browseDescription: BrowseDescriptionOptions2,
            session?: ISessionContext,
        ): ReferenceDescription[];
        browseNodeByTargetName(
            relativePathElement: RelativePathElement,
            isLast: boolean,
        ): NodeId[];
        clone(
            options: CloneOptions,
            optionalFilter?: CloneFilter,
            extraInfo?: CloneExtraInfo,
        ): UAMethod;
        emit<K extends string | number | symbol>(
            event: K,
            ...args: Parameters<T[K]>,
        ): boolean;
        execute(
            object: UAObjectType | UAObject<UAObjectEvents> | null,
            inputArguments: VariantOptions[] | null,
            context: ISessionContext,
            callback: CallbackT<CallMethodResultOptions>,
        ): void;
        execute(
            object: UAObjectType | UAObject<UAObjectEvents> | null,
            inputArguments: VariantOptions[] | null,
            context: ISessionContext,
        ): Promise<CallMethodResultOptions>;
        findReference(
            referenceType: string | NodeId | UAReferenceType,
            isForward?: boolean,
        ): UAReference | null;
        findReferences(
            referenceType: string | NodeId | UAReferenceType,
            isForward?: boolean,
        ): UAReference[];
        findReferencesAsObject(
            referenceType: string | NodeId | UAReferenceType,
            isForward?: boolean,
        ): BaseNode<BaseNodeEvents>[];
        findReferencesEx(
            referenceType: string | NodeId | UAReferenceType,
            browseDirection?: BrowseDirection,
        ): UAReference[];
        findReferencesExAsObject(
            referenceType: string | NodeId | UAReferenceType,
            browseDirection?: BrowseDirection,
        ): BaseNode<BaseNodeEvents>[];
        fullName(): string;
        getAccessRestrictions(inherited: boolean): AccessRestrictionsFlag;
        getAggregates(): BaseNode<BaseNodeEvents>[];
        getChildByName(
            browseName: QualifiedNameOptions,
        ): BaseNode<BaseNodeEvents> | null;
        getChildByName(
            browseName: string,
            namespaceIndex?: number,
        ): BaseNode<BaseNodeEvents> | null;
        getDisplayName(locale?: string): string;
        getEventSourceOfs(): BaseNode<BaseNodeEvents>[];
        getEventSources(): BaseNode<BaseNodeEvents>[];
        getExecutableFlag(context: ISessionContext): boolean;
        getInputArguments(): Argument[];
        getNodeVersion(): UAProperty<UAString, String> | null;
        getOutputArguments(): Argument[];
        getRolePermissions(inherited: boolean): RolePermissionType[] | null;
        install_extra_properties(): void;
        isBound(): boolean;
        isDisposed(): boolean;
        listenerCount<K extends string | number | symbol>(event: K): number;
        off<K extends string | number | symbol>(event: K, listener: T[K]): this;
        on<K extends string | number | symbol>(event: K, listener: T[K]): this;
        once<K extends string | number | symbol>(event: K, listener: T[K]): this;
        readAttribute(
            context: ISessionContext | null,
            attributeId: AttributeIds,
            indexRange?: NumericRange,
            dataEncoding?: QualifiedNameLike | null,
        ): DataValue;
        removeAllListeners(): void;
        removeListener<K extends string | number | symbol>(
            event: K,
            listener: T[K],
        ): void;
        removeReference(referenceOpts: AddReferenceOpts): void;
        setAccessRestrictions(accessRestrictions: AccessRestrictionsFlag): void;
        setDescription(value: LocalizedTextLike | null): void;
        setDisplayName(value: LocalizedTextLike | LocalizedTextLike[]): void;
        setMaxListeners(n: number): void;
        setRolePermissions(rolePermissions: RolePermissionTypeOptions[]): void;
        writeAttribute(
            context: ISessionContext | null,
            writeValue: WriteValueOptions,
            callback: (err: Error | null, statusCode?: StatusCode) => void,
        ): void;
    }

    Type Parameters

    Hierarchy (View Summary)

    Index
    _getExecutableFlag?: (sessionContext: ISessionContext | null) => boolean
    browseName: QualifiedName
    declaredAccessRestrictions?: string

    the AccessRestrictions the nodeset declared, verbatim, whether or not this loader was asked to apply them. accessRestrictions above is what is enforced and is gated by the loader's option; this is what the document said, and is documentation only. Without it a document loaded with the default policy cannot be written back out as the document it was.

    designToolOnly?: boolean

    the nodeset's DesignToolOnly="true": the node is there for design tools only (a name to reuse, such as OPC 10000-100 DI's Configuration, Tuning, ... FunctionalGroups), so nothing is expected to reference it. Documentation only, kept so the node is written back out as declared.

    inputArguments?: UAVariable<UAVariableEvents>
    methodDeclarationId: NodeId
    nodeClass: Method
    nodeId: NodeId
    nodesetCategory?: string[]

    the <Category> elements of the nodeset, in order: the conformance units or facets the working group filed this node under. Kept, and named, for the same reasons as nodesetDocumentation: I4AAS has types with a Category property.

    nodesetDocumentation?: string

    the <Documentation> element of the nodeset: a link into the specification text that defines this node (https://reference.opcfoundation.org/...), at most one. It is not the Description attribute and no service exposes it; it is kept so that a tool can show where a node comes from, and so that the node can be written back out as the document that created it.

    Named after the element, not documentation: the children of a node are reachable as properties under their browse name, and DI's ISupportInfoType has a Documentation folder.

    onFirstBrowseAction?: (this: BaseNode) => Promise<void>
    outputArguments?: UAVariable<UAVariableEvents>
    parent: UAObject<UAObjectEvents> | null
    releaseStatus?: "Draft" | "Deprecated"

    the maturity a nodeset declares for this node: "Draft" or "Deprecated", or undefined for the default, "Released". It is documentation rather than behaviour -- nothing in the address space acts on it -- but a NodeSet2 document states it, and a node that has forgotten it cannot be written back out as the document that created it.

    typeDefinition: NodeId
    typeDefinitionObj: UAObjectType