Class RepositoryRelationshipsIterator
java.lang.Object
org.odpi.openmetadata.commonservices.repositoryhandler.RepositoryIterator
org.odpi.openmetadata.commonservices.repositoryhandler.RepositoryRelationshipsIterator
RepositoryRelationshipsIterator is an iterator class for iteratively retrieving relationships for a starting entity (possibly restricting
the type of relationships returned). It is used where the caller needs to filter the results coming from the repository and may need to
make more than one call to the repository in order to accumulate the number of requested results.
Note this class is intended for a single request's use - it is not thread-safe.
-
Field Summary
Fields inherited from class org.odpi.openmetadata.commonservices.repositoryhandler.RepositoryIterator
asOfTime, effectiveTime, forDuplicateProcessing, forLineage, invalidParameterHandler, limitResultsByStatus, MAX_PAGE_SIZE, methodName, pageSize, repositoryHandler, sequencingOrder, sequencingPropertyName, startingFrom, userId
-
Constructor Summary
ConstructorDescriptionRepositoryRelationshipsIterator
(RepositoryHandler repositoryHandler, InvalidParameterHandler invalidParameterHandler, String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, int selectionEnd, List<InstanceStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingPropertyName, boolean forLineage, boolean forDuplicateProcessing, int startingFrom, int pageSize, Date effectiveTime, String methodName) Constructor takes the parameters used to call the repository handler.RepositoryRelationshipsIterator
(RepositoryHandler repositoryHandler, InvalidParameterHandler invalidParameterHandler, String userId, EntityDetail startingEntity, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, int selectionEnd, List<InstanceStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingPropertyName, boolean forLineage, boolean forDuplicateProcessing, int startingFrom, int pageSize, Date effectiveTime, String methodName) Constructor if entity not already retrieved. -
Method Summary
Modifier and TypeMethodDescriptiongetNext()
Return the next relationship.boolean
Determine if there is more to receive.
-
Constructor Details
-
RepositoryRelationshipsIterator
public RepositoryRelationshipsIterator(RepositoryHandler repositoryHandler, InvalidParameterHandler invalidParameterHandler, String userId, EntityDetail startingEntity, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, int selectionEnd, List<InstanceStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingPropertyName, boolean forLineage, boolean forDuplicateProcessing, int startingFrom, int pageSize, Date effectiveTime, String methodName) throws InvalidParameterException Constructor if entity not already retrieved. It takes the parameters used to call the repository handler.- Parameters:
repositoryHandler
- interface to the open metadata repositories.invalidParameterHandler
- invalid parameter handleruserId
- user making the requeststartingEntity
- starting entitystartingEntityTypeName
- starting entity's type namerelationshipTypeGUID
- identifier for the relationship to followrelationshipTypeName
- type name for the relationship to followselectionEnd
- 0 means either end, 1 means only take from end 1, 2 means only take from end 2limitResultsByStatus
- By default, relationships in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (for example ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingPropertyName
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- the request is to support lineage retrieval this means entities with the Memento classification can be returnedforDuplicateProcessing
- is this retrieve part of duplicate processing?startingFrom
- initial position in the stored list.pageSize
- maximum number of definitions to return by this iterator.effectiveTime
- the time that the retrieved elements must be effective formethodName
- name of calling method- Throws:
InvalidParameterException
- when page size or start from parameters do not meet criteria
-
RepositoryRelationshipsIterator
public RepositoryRelationshipsIterator(RepositoryHandler repositoryHandler, InvalidParameterHandler invalidParameterHandler, String userId, String startingEntityGUID, String startingEntityTypeName, String relationshipTypeGUID, String relationshipTypeName, int selectionEnd, List<InstanceStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingPropertyName, boolean forLineage, boolean forDuplicateProcessing, int startingFrom, int pageSize, Date effectiveTime, String methodName) throws InvalidParameterException Constructor takes the parameters used to call the repository handler.- Parameters:
repositoryHandler
- interface to the open metadata repositories.invalidParameterHandler
- invalid parameter handleruserId
- user making the requeststartingEntityGUID
- starting entity's GUIDstartingEntityTypeName
- starting entity's type namerelationshipTypeGUID
- identifier for the relationship to followrelationshipTypeName
- type name for the relationship to followselectionEnd
- 0 means either end, 1 means only take from end 1, 2 means only take from end 2limitResultsByStatus
- By default, relationships in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (for example ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingPropertyName
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- the request is to support lineage retrieval this means entities with the Memento classification can be returnedforDuplicateProcessing
- is this retrieve part of duplicate processing?startingFrom
- initial position in the stored list.pageSize
- maximum number of definitions to return by this iterator.effectiveTime
- the time that the retrieved elements must be effective formethodName
- name of calling method- Throws:
InvalidParameterException
- when page size or start from parameters do not meet criteria
-
-
Method Details
-
moreToReceive
public boolean moreToReceive() throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionDetermine if there is more to receive. It will populate the iterator's cache with more content.- Returns:
- boolean flag
- Throws:
InvalidParameterException
- bad parameterUserNotAuthorizedException
- the repository is not allowing the user to access the metadataPropertyServerException
- there is a problem in the repository
-
getNext
public Relationship getNext() throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionReturn the next relationship. It returns null if nothing left to retrieve.- Returns:
- relationship or null
- Throws:
InvalidParameterException
- bad parameterUserNotAuthorizedException
- the repository is not allowing the user to access the metadataPropertyServerException
- there is a problem in the repository
-