OSID Logo
OSID Specifications
topology package
Version 3.1.0
Interfaceosid.topology.NodeGraphAssignmentSession
Implementsosid.OsidSession
Used Byosid.topology.TopologyManager
osid.topology.TopologyProxyManager
Description

This session provides methods to re-assign Nodes to Graph objects A Node may appear in multiple Graph objects and removing the last reference to a Node is the equivalent of deleting it. Each Graph may have its own authorizations governing who is allowed to operate on it.

Adding a reference of a Node to another Graph is not a copy operation (eg: does not change its Id).

MethodcanAssignNodes
Description

Tests if this user can alter node/graph mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Returnboolean false if mapping is not authorized, true otherwise
Compliancemandatory This method must be implemented.
MethodcanAssignNodesToGraph
Description

Tests if this user can alter node/graph mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Parametersosid.id.IdgraphId the Id of the Graph
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT graphId is null
Compliancemandatory This method must be implemented.
MethodgetAssignableGraphIds
Description

Gets a list of graphs including and under the given graph node in which any node can be assigned.

Parametersosid.id.IdgraphId the Id of the Graph
Returnosid.id.IdList list of assignable graph Ids
ErrorsNULL_ARGUMENT graphId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodgetAssignableGraphIdsForNode
Description

Gets a list of graphs including and under the given graph node in which a specific node can be assigned.

Parametersosid.id.IdgraphId the Id of the Graph
osid.id.IdnodeId the Id of the Node
Returnosid.id.IdList list of assignable graph Ids
ErrorsNULL_ARGUMENT graphId or nodeId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodassignNodeToGraph
Description

Adds an existing Node to a Graph.

Parametersosid.id.IdnodeId the Id of the Node
osid.id.IdgraphId the Id of the Graph
ErrorsALREADY_EXISTS nodeId is already assigned to graphId
NOT_FOUND nodeId or graphId not found
NULL_ARGUMENT nodeId or graphId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodunassignNodeFromGraph
Description

Removes a Node from a Graph.

Parametersosid.id.IdnodeId the Id of the Node
osid.id.IdgraphId the Id of the Graph
ErrorsNOT_FOUND nodeId or graphId not found or nodeId not assigned to graphId
NULL_ARGUMENT nodeId or graphId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodreassignNodeToGraph
Description

Moves a Node from one Graph to another. Mappings to other Graphs are unaffected.

Parametersosid.id.IdnodeId the Id of the Node
osid.id.IdfromGraphId the Id of the current Graph
osid.id.IdtoGraphId the Id of the destination Graph
ErrorsALREADY_EXISTS nodeId already assigned to toGraphId
NOT_FOUND nodeId, fromGraphId, or toGraphId not found or nodeId not mapped to fromGraphId
NULL_ARGUMENT nodeId, fromGraphId, or toGraphId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.