Interface GlobalDefinitionsStore

  • All Superinterfaces:
    DefinitionsStore
    All Known Subinterfaces:
    ConnectorSchema, MutablePrismSchema, MutableResourceSchema, PrismSchema, ResourceSchema, SchemaRegistry
    All Known Implementing Classes:
    ConnectorSchemaImpl, com.evolveum.midpoint.prism.impl.schema.PrismSchemaImpl, ResourceSchemaImpl

    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 Detail

      • 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 ContainerableComplexTypeDefinition 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 ObjectablePrismObjectDefinition<O> findObjectDefinitionByCompileTimeClass​(@NotNull
                                                                                                       @NotNull Class<O> compileTimeClass)
      • 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)