OSID Logo
OSID Specifications
transport package
Version 3.1.0
Interfaceosid.transport.EndpointHierarchySession
Implementsosid.OsidSession
Used Byosid.transport.TransportManager
osid.transport.TransportProxyManager
Description

This session defines methods for traversing a hierarchy of Endpoint objects. Each node in the hierarchy is a unique Endpoint. The hierarchy may be traversed recursively to establish the tree structure through getParentEndpoints() and getChildEndpoints(). To relate these Ids to another OSID, getEndpointNodes() can be used for retrievals that can be used for bulk lookups in other OSIDs. Any Endpoint available in the Resource OSID is known to this hierarchy but does not appear in the hierarchy traversal until added as a root node or a child of another node.

A user may not be authorized to traverse the entire hierarchy. Parts of the hierarchy may be made invisible through omission from the returns of getParentEndpoints() or getChildEndpoints() in lieu of a PERMISSION_DENIED error that may disrupt the traversal through authorized pathways.

This session defines views that offer differing behaviors when retrieving multiple objects.

  • comparative view: endpoint elements may be silently omitted or re-ordered
  • plenary view: provides a complete set or is an error condition
MethodgetEndpointHierarchyId
Description

Gets the hierarchy Id associated with this session.

Returnosid.id.Id the hierarchy Id associated with this session
Compliancemandatory This method must be implemented.
MethodgetEndpointHierarchy
Description

Gets the hierarchy associated with this session.

Returnosid.hierarchy.Hierarchy the hierarchy associated with this session
ErrorsOPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodcanAccessEndpointHierarchy
Description

Tests if this user can perform hierarchy queries. A return of true does not guarantee successful authorization. A return of false indicates that it is known all methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an an application that may not offer traversal functions to unauthorized users.

Returnboolean false if hierarchy traversal methods are not authorized, true otherwise
Compliancemandatory This method must be implemented.
MethoduseComparativeEndpointView
Description

The returns from the endpoint methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.

Compliancemandatory This method is must be implemented.
MethodusePlenaryEndpointView
Description

A complete view of the Endpoint returns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.

Compliancemandatory This method is must be implemented.
MethodgetRootEndpointIds
Description

Gets the root endpoint Ids in this hierarchy.

Returnosid.id.IdList the root endpoint Ids
ErrorsOPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodgetRootEndpoints
Description

Gets the root endpoints in the endpoint hierarchy. A node with no parents is an orphan. While all endpoint Ids are known to the hierarchy, an orphan does not appear in the hierarchy unless explicitly added as a root node or child of another node.

Returnosid.transport.EndpointList the root endpoints
ErrorsOPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method is must be implemented.
MethodhasParentEndpoints
Description

Tests if the Endpoint has any parents.

Parametersosid.id.IdendpointId the Id of a endpoint
Returnboolean true if the endpoint has parents, false otherwise
ErrorsNOT_FOUND endpointId is not found
NULL_ARGUMENT endpointId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodisParentOfEndpoint
Description

Tests if an Id is a direct parent of a endpoint.

Parametersosid.id.Idid an Id
osid.id.IdendpointId the Id of a endpoint
Returnboolean true if this id is a parent of endpointId, false otherwise
ErrorsNOT_FOUND endpointId is not found
NULL_ARGUMENT id or endpointId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
Provider Notes

If id not found return false.

MethodgetParentEndpointIds
Description

Gets the parent Ids of the given endpoint.

Parametersosid.id.IdendpointId the Id of a endpoint
Returnosid.id.IdList the parent Ids of the endpoint
ErrorsNOT_FOUND endpointId is not found
NULL_ARGUMENT endpointId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodgetParentEndpoints
Description

Gets the parents of the given endpoint.

Parametersosid.id.IdendpointId the Id to query
Returnosid.transport.EndpointList the parents of the endpoint
ErrorsNOT_FOUND endpointId not found
NULL_ARGUMENT endpointId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodisAncestorOfEndpoint
Description

Tests if an Id is an ancestor of a endpoint.

Parametersosid.id.Idid an Id
osid.id.IdendpointId the Id of a endpoint
Returnboolean true if this id is an ancestor of endpointId, false otherwise
ErrorsNOT_FOUND endpointId is not found
NULL_ARGUMENT id or endpointId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
Provider Notes

If id not found return false.

MethodhasChildEndpoints
Description

Tests if a endpoint has any children.

Parametersosid.id.IdendpointId the Id of a endpoint
Returnboolean true if the endpointId has children, false otherwise
ErrorsNOT_FOUND endpointId not found
NULL_ARGUMENT endpointId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodisChildOfEndpoint
Description

Tests if a endpoint is a direct child of another.

Parametersosid.id.Idid an Id
osid.id.IdendpointId the Id of a endpoint
Returnboolean true if the id is a child of endpointId, false otherwise
ErrorsNOT_FOUND endpointId is not found
NULL_ARGUMENT id or endpointId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
Provider Notes

If id not found return false.

MethodgetChildEndpointIds
Description

Gets the child Ids of the given endpoint.

Parametersosid.id.IdendpointId the Id to query
Returnosid.id.IdList the children of the endpoint
ErrorsNOT_FOUND endpointId not found
NULL_ARGUMENT endpointId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodgetChildEndpoints
Description

Gets the children of the given endpoint.

Parametersosid.id.IdendpointId the Id to query
Returnosid.transport.EndpointList the children of the endpoint
ErrorsNOT_FOUND endpointId not found
NULL_ARGUMENT endpointId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodisDescendantOfEndpoint
Description

Tests if an Id is a descendant of a endpoint.

Parametersosid.id.Idid an Id
osid.id.IdendpointId the Id of a endpoint
Returnboolean true if the id is a descendant of the endpointId, false otherwise
ErrorsNOT_FOUND endpointId is not found
NULL_ARGUMENT id or endpointId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
Provider Notes

If id is not found return false.

MethodgetEndpointNodeIds
Description

Gets a portion of the hierarchy for the given endpoint.

Parametersosid.id.IdendpointId the Id to query
cardinalancestorLevels the maximum number of ancestor levels to include. A value of 0 returns no parents in the node.
cardinaldescendantLevels the maximum number of descendant levels to include. A value of 0 returns no children in the node.
booleanincludeSiblings true to include the siblings of the given node, false to omit the siblings
Returnosid.hierarchy.Node a endpoint node
ErrorsNOT_FOUND endpointId not found
NULL_ARGUMENT endpointId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodgetEndpointNodes
Description

Gets a portion of the hierarchy for the given endpoint.

Parametersosid.id.IdendpointId the Id to query
cardinalancestorLevels the maximum number of ancestor levels to include. A value of 0 returns no parents in the node.
cardinaldescendantLevels the maximum number of descendant levels to include. A value of 0 returns no children in the node.
booleanincludeSiblings true to include the siblings of the given node, false to omit the siblings
Returnosid.transport.EndpointNode a endpoint node
ErrorsNOT_FOUND endpointId not found
NULL_ARGUMENT endpointId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.