Interface GlobalDefinitionsStore

All Superinterfaces:
DefinitionsStore
All Known Subinterfaces:
BareResourceSchema, CompleteResourceSchema, ConnectorSchema, PrismSchema, ResourceSchema, SchemaRegistry, SchemaRegistryState
All Known Implementing Classes:
AxiomEnabledSchemaRegistry, BareResourceSchemaImpl, CompleteResourceSchemaImpl, ConnectorSchemaImpl, PrismSchemaImpl, ResourceSchemaImpl, SchemaRegistryImpl, SchemaRegistryStateImpl

public interface GlobalDefinitionsStore extends DefinitionsStore
FIXME Creation of this interface was most probably a design mistake. We should decide what its future should be. Used to retrieve definition from 'global definition store' - i.e. store that contains a group of related definition(s), sharing e.g. a common namespace. Such stores are prism schemas and schema registry itself. Note: although all of these methods are '@Nullable', we don't mark them as such, to avoid false 'may produce NPE' warnings for cases that will never produce nulls (like searching for known items/CTDs).
  • Method Details

    • findItemDefinitionsByCompileTimeClass

      @NotNull <ID extends ItemDefinition> @NotNull List<ID> findItemDefinitionsByCompileTimeClass(@NotNull @NotNull Class<?> compileTimeClass, @NotNull @NotNull Class<ID> definitionClass)
      Looking up item definitions by compile-time class. So, for example having AssignmentType.class we try to find a definition of "assignment" item. BEWARE. This method is unsound. There might be many items of AssignmentType.class.
    • findItemDefinitionByType

      <ID extends ItemDefinition> ID findItemDefinitionByType(@NotNull @NotNull QName typeName, @NotNull @NotNull Class<ID> definitionClass)
      Looking up item definition by type name. So, for example having c:AssignmentType we try to find a definition of "assignment" item. BEWARE. This method is unsound. There might be many items with c:AssignmentType type.
    • findItemDefinitionsByElementName

      @NotNull <ID extends ItemDefinition> @NotNull List<ID> findItemDefinitionsByElementName(@NotNull @NotNull QName elementName, @NotNull @NotNull Class<ID> definitionClass)
      Looking up item definitions by element name. The name can be qualified or unqualified. In the latter case there can be more than one definition returned.
    • findComplexTypeDefinitionByCompileTimeClass

      default <C extends Containerable> ComplexTypeDefinition findComplexTypeDefinitionByCompileTimeClass(@NotNull @NotNull Class<C> compileTimeClass)
    • findTypeDefinitionByCompileTimeClass

      <TD extends TypeDefinition> TD findTypeDefinitionByCompileTimeClass(@NotNull @NotNull Class<?> compileTimeClass, @NotNull @NotNull Class<TD> definitionClass)
    • findTypeDefinitionByType

      <TD extends TypeDefinition> TD findTypeDefinitionByType(@NotNull @NotNull QName typeName, @NotNull @NotNull Class<TD> definitionClass)
    • findTypeDefinitionsByType

      @NotNull <TD extends TypeDefinition> @NotNull Collection<? extends TD> findTypeDefinitionsByType(@NotNull @NotNull QName typeName, @NotNull @NotNull Class<TD> definitionClass)
    • findTypeDefinitionsByType

      @NotNull default @NotNull Collection<? extends TypeDefinition> findTypeDefinitionsByType(@NotNull @NotNull QName typeName)
    • findItemDefinitionsByElementName

      @NotNull default @NotNull List<ItemDefinition> findItemDefinitionsByElementName(@NotNull @NotNull QName elementName)
    • findItemDefinitionByElementName

      default <ID extends ItemDefinition> ID findItemDefinitionByElementName(@NotNull @NotNull QName elementName, @NotNull @NotNull Class<ID> definitionClass)
    • findItemDefinitionByCompileTimeClass

      default <ID extends ItemDefinition> ID findItemDefinitionByCompileTimeClass(@NotNull @NotNull Class<?> compileTimeClass, @NotNull @NotNull Class<ID> definitionClass)
    • findObjectDefinitionByCompileTimeClass

      default <O extends Objectable> PrismObjectDefinition<O> findObjectDefinitionByCompileTimeClass(@NotNull @NotNull Class<O> compileTimeClass)
    • findObjectDefinitionByType

      default <O extends Objectable> PrismObjectDefinition<O> findObjectDefinitionByType(@NotNull @NotNull QName typeName)
    • findObjectDefinitionByElementName

      default <O extends Objectable> PrismObjectDefinition<O> findObjectDefinitionByElementName(@NotNull @NotNull QName elementName)
    • findContainerDefinitionByCompileTimeClass

      default <C extends Containerable> PrismContainerDefinition<C> findContainerDefinitionByCompileTimeClass(@NotNull @NotNull Class<C> compileTimeClass)
    • findContainerDefinitionByType

      default <C extends Containerable> PrismContainerDefinition<C> findContainerDefinitionByType(@NotNull @NotNull QName typeName)
    • findContainerDefinitionByElementName

      default <C extends Containerable> PrismContainerDefinition<C> findContainerDefinitionByElementName(@NotNull @NotNull QName elementName)
    • findReferenceDefinitionByElementName

      default PrismReferenceDefinition findReferenceDefinitionByElementName(@NotNull @NotNull QName elementName)
    • findPropertyDefinitionByElementName

      default PrismPropertyDefinition findPropertyDefinitionByElementName(@NotNull @NotNull QName elementName)
    • findItemDefinitionByType

      default ItemDefinition findItemDefinitionByType(@NotNull @NotNull QName typeName)
    • findItemDefinitionByElementName

      default ItemDefinition findItemDefinitionByElementName(@NotNull @NotNull QName elementName)
    • findComplexTypeDefinitionByType

      default ComplexTypeDefinition findComplexTypeDefinitionByType(@NotNull @NotNull QName typeName)
    • findSimpleTypeDefinitionByType

      default SimpleTypeDefinition findSimpleTypeDefinitionByType(@NotNull @NotNull QName typeName)
    • findTypeDefinitionByType

      default TypeDefinition findTypeDefinitionByType(@NotNull @NotNull QName typeName)
    • findTypeDefinitionsByElementName

      @NotNull default <TD extends TypeDefinition> @NotNull Collection<TD> findTypeDefinitionsByElementName(@NotNull @NotNull QName name, @NotNull @NotNull Class<TD> clazz)