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 Summary
-
Method Summary
Modifier 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.Session
openResolutionSession
(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 void
resolveAllReferences
(Collection<PrismContainerValue<?>> pcvs, Object taskObject, OperationResult result) default void
resolveReference
(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 resolvecontextDescription
- 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 existSchemaException
- error dealing with storage schemaIllegalArgumentException
- wrong OID format, etc. TODO resolve module dependencies to allow task to be of type TaskCommunicationException
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 -
resolveAllReferences
default void resolveAllReferences(Collection<PrismContainerValue<?>> pcvs, Object taskObject, OperationResult result) -
openResolutionSession
-
resolveReference
default void resolveReference(PrismReferenceValue ref, String contextDescription, ObjectResolver.Session session, Object task, OperationResult result)
-