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
Nested Classes Modifier and Type Interface Description static interface
ObjectResolver.Session
-
Method Summary
-
-
-
Method Detail
-
resolve
<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
default ObjectResolver.Session openResolutionSession(GetOperationOptions options)
-
resolveReference
default void resolveReference(PrismReferenceValue ref, String contextDescription, ObjectResolver.Session session, Object task, OperationResult result)
-
-