Interface ObjectResolver
- All Known Implementing Classes:
- DirectoryFileObjectResolver,- ModelObjectResolver,- RepoObjectResolver
public interface ObjectResolver
The callback from some object utilities to resolve objects.
 The classes implementing this will most likely fetch the objects from the
 repository or from some kind of object cache.
- Author:
- Radovan Semancik
- 
Nested Class SummaryNested Classes
- 
Method SummaryModifier and TypeMethodDescription<O extends ObjectType>
 OgetObject(@NotNull Class<O> clazz, @NotNull String oid, @Nullable Collection<SelectorOptions<GetOperationOptions>> options, @NotNull Task task, @NotNull OperationResult result) default ObjectResolver.SessionopenResolutionSession(GetOperationOptions options) <O extends ObjectType>
 Oresolve(Referencable ref, Class<O> expectedType, Collection<SelectorOptions<GetOperationOptions>> options, String contextDescription, Task task, OperationResult result) Resolve the provided reference to object (ObjectType).default voidresolveAllReferences(Collection<PrismContainerValue<?>> pcvs, Object taskObject, OperationResult result) default voidresolveReference(PrismReferenceValue ref, String contextDescription, ObjectResolver.Session session, Object task, OperationResult result) <O extends ObjectType>
 voidsearchIterative(Class<O> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options, ResultHandler<O> handler, Task task, OperationResult parentResult) <O extends ObjectType>
 SearchResultList<PrismObject<O>>searchObjects(Class<O> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options, Task task, OperationResult parentResult) 
- 
Method Details- 
resolve@NotNull <O extends ObjectType> O resolve(Referencable ref, Class<O> expectedType, Collection<SelectorOptions<GetOperationOptions>> options, String contextDescription, Task task, OperationResult result) throws ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException Resolve the provided reference to object (ObjectType). Note: The reference is used instead of just OID because the reference also contains object type. This speeds up the repository operations.- Parameters:
- ref- object reference to resolve
- contextDescription- short description of the context of resolution, e.g. "executing expression FOO". Used in error messages.
- Returns:
- resolved object
- Throws:
- ObjectNotFoundException- requested object does not exist
- SchemaException- error dealing with storage schema
- IllegalArgumentException- wrong OID format, etc. TODO resolve module dependencies to allow task to be of type Task
- CommunicationException
- ConfigurationException
- SecurityViolationException
- ExpressionEvaluationException
 
- 
getObject<O extends ObjectType> O getObject(@NotNull @NotNull Class<O> clazz, @NotNull @NotNull String oid, @Nullable @Nullable Collection<SelectorOptions<GetOperationOptions>> options, @NotNull @NotNull Task task, @NotNull @NotNull OperationResult result) throws ObjectNotFoundException, CommunicationException, SchemaException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException 
- 
searchIterative<O extends ObjectType> void searchIterative(Class<O> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options, ResultHandler<O> handler, Task task, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException 
- 
searchObjects<O extends ObjectType> SearchResultList<PrismObject<O>> searchObjects(Class<O> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options, Task task, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException 
- 
resolveAllReferencesdefault void resolveAllReferences(Collection<PrismContainerValue<?>> pcvs, Object taskObject, OperationResult result) 
- 
openResolutionSession
- 
resolveReferencedefault void resolveReference(PrismReferenceValue ref, String contextDescription, ObjectResolver.Session session, Object task, OperationResult result) 
 
-