public interface OublietteHierarchySession extends OsidSession
This session defines methods for traversing a hierarchy of
Oubliette
objects. Each node in the hierarchy is a unique
Oubliette.
The hierarchy may be traversed recursively to establish
the tree structure through getParentOubliette()
and
getChildOubliettes().
To relate these Ids
to
another OSID, getOublietteNodes()
can be used for
retrievals that can be used for bulk lookups in other OSIDs. Any
Oubliette
available in the Hold OSID is known to this hierarchy
but does not appear in the hierarchy traversal until added as a root issue
or a child of another issue.
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 getParentOubliettes()
or getChildOubliettes()
in lieu of a PERMISSION_DENIED
error that may
disrupt the traversal through authorized effortways.
This session defines views that offer differing behaviors when retrieving multiple objects.
Modifier and Type | Method and Description |
---|---|
boolean |
canAccessOublietteHierarchy()
Tests if this user can perform hierarchy queries.
|
IdList |
getChildOublietteIds(Id oublietteId)
Gets the child
Ids of the given oubliette. |
OublietteList |
getChildOubliettes(Id oublietteId)
Gets the children of the given oubliette.
|
Hierarchy |
getOublietteHierarchy()
Gets the hierarchy associated with this session.
|
Id |
getOublietteHierarchyId()
Gets the hierarchy
Id associated with this session. |
Node |
getOublietteNodeIds(Id oublietteId,
long ancestorLevels,
long descendantLevels,
boolean includeSiblings)
Gets a portion of the hierarchy for the given oubliette.
|
OublietteNode |
getOublietteNodes(Id oublietteId,
long ancestorLevels,
long descendantLevels,
boolean includeSiblings)
Gets a portion of the hierarchy for the given oubliette.
|
IdList |
getParentOublietteIds(Id oublietteId)
Gets the parent
Ids of the given oubliette. |
OublietteList |
getParentOubliettes(Id oublietteId)
Gets the parents of the given oubliette.
|
IdList |
getRootOublietteIds()
Gets the root oubliette
Ids in this hierarchy. |
OublietteList |
getRootOubliettes()
Gets the root oubliette in the oubliette hierarchy.
|
boolean |
hasChildOubliettes(Id oublietteId)
Tests if an oubliette has any children.
|
boolean |
hasParentOubliettes(Id oublietteId)
Tests if the
Oubliette has any parents. |
boolean |
isAncestorOfOubliette(Id id,
Id oublietteId)
Tests if an
Id is an ancestor of an oubliette. |
boolean |
isChildOfOubliette(Id id,
Id oublietteId)
Tests if an oubliette is a direct child of another.
|
boolean |
isDescendantOfOubliette(Id id,
Id oublietteId)
Tests if an
Id is a descendant of an oubliette. |
boolean |
isParentOfOubliette(Id id,
Id oublietteId)
Tests if an
Id is a direct parent of oubliette. |
void |
useComparativeOublietteView()
The returns from the oubliette methods may omit or translate elements
based on this session, such as authorization, and not result in an
error.
|
void |
usePlenaryOublietteView()
s
|
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
Id getOublietteHierarchyId()
Id
associated with this session. Id
associated with this sessionmandatory
- This method must be implemented. Hierarchy getOublietteHierarchy() throws OperationFailedException, PermissionDeniedException
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. boolean canAccessOublietteHierarchy()
PERMISSION_DENIED.
This is intended as a hint to an
application that may opt not to offer lookup operations. false
if hierarchy traversal methods are not
authorized, true
otherwisemandatory
- This method must be implemented. void useComparativeOublietteView()
mandatory
- This method is must be implemented. void usePlenaryOublietteView()
mandatory
- This method is must be implemented. IdList getRootOublietteIds() throws OperationFailedException, PermissionDeniedException
Ids
in this hierarchy. Ids
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. OublietteList getRootOubliettes() throws OperationFailedException, PermissionDeniedException
Ids
are known
to the hierarchy, an orphan does not appear in the hierarchy unless
explicitly added as a root issue or child of another issue.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method is must be implemented. boolean hasParentOubliettes(Id oublietteId) throws NotFoundException, OperationFailedException, PermissionDeniedException
Oubliette
has any parents.oublietteId
- an oubliette Id
true
if the oubliette has parents, f
alse
otherwiseNotFoundException
- oublietteId
is not
foundNullArgumentException
- oublietteId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. boolean isParentOfOubliette(Id id, Id oublietteId) throws NotFoundException, OperationFailedException, PermissionDeniedException
Id
is a direct parent of oubliette.id
- an Id
oublietteId
- the Id
of an oubliette true
if this id
is a parent of
oublietteId,
f alse
otherwiseNotFoundException
- oublietteId
is not
foundNullArgumentException
- id
or
oublietteId
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. If
- id
not found return false.
IdList getParentOublietteIds(Id oublietteId) throws NotFoundException, OperationFailedException, PermissionDeniedException
Ids
of the given oubliette.oublietteId
- an oubliette Id
Ids
of the oublietteNotFoundException
- oublietteId
is not
foundNullArgumentException
- oublietteId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. OublietteList getParentOubliettes(Id oublietteId) throws NotFoundException, OperationFailedException, PermissionDeniedException
oublietteId
- the Id
to queryNotFoundException
- oublietteId
not
foundNullArgumentException
- oublietteId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. boolean isAncestorOfOubliette(Id id, Id oublietteId) throws NotFoundException, OperationFailedException, PermissionDeniedException
Id
is an ancestor of an oubliette.id
- an Id
oublietteId
- the Id
of an oubliette tru
e if this id
is an ancestor
of oublietteId,
false
otherwiseNotFoundException
- oublietteId
not
foundNullArgumentException
- oublietteId
or
id
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. If
- id
not found return false.
boolean hasChildOubliettes(Id oublietteId) throws NotFoundException, OperationFailedException, PermissionDeniedException
oublietteId
- an oubliette Id
true
if the oublietteId
has
children, false
otherwiseNotFoundException
- oublietteId
not
foundNullArgumentException
- oublietteId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. boolean isChildOfOubliette(Id id, Id oublietteId) throws NotFoundException, OperationFailedException, PermissionDeniedException
id
- an Id
oublietteId
- the Id
of an oubliette true
if the id
is a child of
oublietteId,
false
otherwiseNotFoundException
- oublietteId
not
foundNullArgumentException
- id
or
oublietteId
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. If
- id
not found return false.
IdList getChildOublietteIds(Id oublietteId) throws NotFoundException, OperationFailedException, PermissionDeniedException
Ids
of the given oubliette.oublietteId
- the Id
to queryNotFoundException
- oublietteId
not
foundNullArgumentException
- oublietteId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. OublietteList getChildOubliettes(Id oublietteId) throws NotFoundException, OperationFailedException, PermissionDeniedException
oublietteId
- the Id
to queryNotFoundException
- oublietteId
not
foundNullArgumentException
- oublietteId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. boolean isDescendantOfOubliette(Id id, Id oublietteId) throws NotFoundException, OperationFailedException, PermissionDeniedException
Id
is a descendant of an oubliette.id
- an Id
oublietteId
- the Id
of an oubliette true
if the id
is a descendant
of the oublietteId,
false
otherwiseNotFoundException
- oublietteId
not
foundNullArgumentException
- id
or
oublietteId
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. If
- id
is not found return false.
Node getOublietteNodeIds(Id oublietteId, long ancestorLevels, long descendantLevels, boolean includeSiblings) throws NotFoundException, OperationFailedException, PermissionDeniedException
oublietteId
- the Id
to queryancestorLevels
- the maximum number of ancestor levels to
include. A value of 0 returns no parents in the issue.descendantLevels
- the maximum number of descendant levels to
include. A value of 0 returns no children in the issue.includeSiblings
- true
to include the siblings of
the given issue, false
to omit the siblingsNotFoundException
- oublietteId
not
foundNullArgumentException
- oublietteId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. OublietteNode getOublietteNodes(Id oublietteId, long ancestorLevels, long descendantLevels, boolean includeSiblings) throws NotFoundException, OperationFailedException, PermissionDeniedException
oublietteId
- the Id
to queryancestorLevels
- the maximum number of ancestor levels to
include. A value of 0 returns no parents in the issue.descendantLevels
- the maximum number of descendant levels to
include. A value of 0 returns no children in the issue.includeSiblings
- true
to include the siblings of
the given issue, false
to omit the siblingsNotFoundException
- oublietteId
not
foundNullArgumentException
- oublietteId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.