Class ResourceSchemaUtil
java.lang.Object
com.evolveum.midpoint.schema.processor.ResourceSchemaUtil
Various utility methods related to resource schema handling, including sophisticated object definition lookup.
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic @NotNull ResourceObjectDefinitionaddOwnAuxiliaryObjectClasses(@NotNull ResourceObjectDefinition objectDefinition, @NotNull ResourceSchema resourceSchema) static @Nullable ResourceObjectDefinitionfindDefinitionForBulkOperation(@NotNull ResourceType resource, @Nullable ShadowKindType kind, @Nullable String intent, @Nullable QName objectClassName) Looks up appropriate definition for "bulk operation" i.e.static ResourceObjectDefinitionfindObjectDefinitionPrecisely(@NotNull ResourceType resource, @Nullable ShadowKindType kind, @Nullable String intent, @Nullable QName objectClassName) Determines object type/class definition in a precise way.static booleanisIgnored(ResourceAttributeDefinitionType attrDefBean) TEMPORARY
- 
Constructor Details- 
ResourceSchemaUtilpublic ResourceSchemaUtil()
 
- 
- 
Method Details- 
findDefinitionForBulkOperation@Nullable public static @Nullable ResourceObjectDefinition findDefinitionForBulkOperation(@NotNull @NotNull ResourceType resource, @Nullable @Nullable ShadowKindType kind, @Nullable @Nullable String intent, @Nullable @Nullable QName objectClassName) throws SchemaException, ConfigurationException Looks up appropriate definition for "bulk operation" i.e. operation that is executed for given kind/intent/objectclass on given resource. Currently, this is the same asfindObjectDefinitionPrecisely(ResourceType, ShadowKindType, String, QName). *BEWARE* This method is really complex. If at all possible, please consider using specific lookup methods present inResourceSchema. Most probably we'll remove this method in the future.
- 
findObjectDefinitionPrecisely@Contract(" _, null, null, null -> null; _, _, _, !null -> !null; _, !null, !null, _ -> !null; _, null, !null, _ -> fail") public static ResourceObjectDefinition findObjectDefinitionPrecisely(@NotNull @NotNull ResourceType resource, @Nullable @Nullable ShadowKindType kind, @Nullable @Nullable String intent, @Nullable @Nullable QName objectClassName) throws SchemaException, ConfigurationException Determines object type/class definition in a precise way. The decision is based on kind/intent/objectclass triple, and later enriched by aux object class names. Basic schema is: . No kind, intent, nor object class is present: No definition (the `null` value) is returned. . Kind is not present -> the decision is based on the object class name: .. if there is a type definition (for given object class name) marked as "default for object class", it is returned; .. otherwise, the object class definition (refined, if there's any; raw otherwise) is returned. . Kind is present: .. if intent is specified, then the type definition for given kind/intent is found (and its object class is checked for equality with the specified one, if there's any); .. if no intent is specified, then "default for kind" definition is looked for. !!! *BEWARE* This method is really complex. If at all possible, please consider using specific lookup methods present inResourceSchema. Most probably we'll remove this method in the future. !!!- Throws:
- SchemaException
- ConfigurationException
- See Also:
- 
- ResourceObjectDefinitionResolver.findObjectDefinition(ResourceSchema, ShadowKindType, String, QName)
- ResourceSchema.findDefinitionForObjectClass(QName)
 
 
- 
addOwnAuxiliaryObjectClasses@NotNull public static @NotNull ResourceObjectDefinition addOwnAuxiliaryObjectClasses(@NotNull @NotNull ResourceObjectDefinition objectDefinition, @NotNull @NotNull ResourceSchema resourceSchema) 
- 
isIgnoredTEMPORARY- Throws:
- SchemaException
 
 
-