Interface LivePrismItemDefinition

All Known Subinterfaces:
ContainerDefinitionDelegator<C>, ItemDefinition<I>, ItemDefinitionDelegator<I>, ItemWrapper<I,VW>, ObjectDefinitionDelegator<O>, PrismContainerDefinition<C>, PrismContainerWrapper<C>, PrismObjectDefinition<O>, PrismObjectWrapper<O>, PrismPropertyDefinition<T>, PrismPropertyWrapper<T>, PrismReferenceDefinition, PrismReferenceWrapper<R>, PropertyDefinitionDelegator<T>, ReferenceDefinitionDelegator, ResourceAttributeContainerDefinition, ResourceAttributeContainerDefinitionDelegator, ResourceAttributeDefinitionDelegator<T>, ResourceAttributeWrapper<T>, ShadowAssociationsContainerDefinition, ShadowReferenceAttributeDefinition, ShadowSimpleAttributeDefinition<T>, ShadowWrapper
All Known Implementing Classes:
AssignmentHolderWrapper, CaseWorkItemTypeWrapper, ExpressionWrapper, com.evolveum.midpoint.prism.impl.ItemDefinitionImpl, ItemWrapperImpl, NormalizationAwareResourceAttributeDefinition, com.evolveum.midpoint.prism.impl.PrismContainerDefinitionImpl, PrismContainerWrapperImpl, PrismObjectWrapperImpl, PrismPropertyWrapperImpl, PrismReferenceWrapperImpl, PrismSchemaWrapper, ProfilingClassLoggerContainerWrapperImpl, ProtectedStringTypeWrapperImpl, ResourceAttributeContainerDefinitionImpl, ResourceAttributeMappingWrapper, ResourceAttributeWrapperImpl, ResourceWrapper, ShadowAssociationsContainerDefinitionImpl, ShadowAssociationWrapperImpl, ShadowReferenceAttributeDefinitionImpl, ShadowSimpleAttributeDefinitionImpl, ShadowWrapperImpl, ValueMetadataWrapperImpl

public interface LivePrismItemDefinition
TODO ... describes operations executable when the definition is "live and well" in its place, like the complex type definition in prism container Work in progress.
  • Method Details

    • isValidFor

      boolean isValidFor(@NotNull @NotNull QName elementQName, @NotNull @NotNull Class<? extends ItemDefinition<?>> clazz, boolean caseInsensitive)
      Returns true if this definition is valid for given element name and definition class, in either case-sensitive (the default) or case-insensitive way. Used e.g. for "slow" path lookup where we iterate over all definitions in a complex type.
    • findItemDefinition

      <T extends ItemDefinition<?>> T findItemDefinition(@NotNull @NotNull ItemPath path, @NotNull @NotNull Class<T> clazz)
      Used to find a matching item definition _within_ this definition. Treats e.g. de-referencing in prism references.
    • matchesThisDefinition

      static boolean matchesThisDefinition(@NotNull @NotNull ItemPath path, @NotNull @NotNull Class<?> clazz, @NotNull @NotNull Object _this)
      Helper method to implement findItemDefinition(ItemPath, Class) for unstructured definitions.