Interface SchemaRegistryState

All Superinterfaces:
DebugDumpable, DefinitionsStore, GlobalDefinitionsStore
All Known Subinterfaces:
SchemaRegistry
All Known Implementing Classes:
AxiomEnabledSchemaRegistry, SchemaRegistryImpl, SchemaRegistryStateImpl

public interface SchemaRegistryState extends DebugDumpable, GlobalDefinitionsStore
Maintains system-wide parsed schemas.
  • Method Details

    • getSchemas

      Collection<PrismSchema> getSchemas()
    • getPrismSchema

      PrismSchema getPrismSchema(String namespace)
    • getJavaxSchema

      Schema getJavaxSchema()
    • getNamespacePrefixMapper

      DynamicNamespacePrefixMapper getNamespacePrefixMapper()
      // * @return System-wide "standard prefixes" registry. //
    • resolveUnqualifiedTypeName

      QName resolveUnqualifiedTypeName(QName type) throws SchemaException
      Throws:
      SchemaException
    • determineParentDefinition

      ComplexTypeDefinition determineParentDefinition(@NotNull @NotNull ComplexTypeDefinition child, @NotNull @NotNull ItemPath rest)
    • determineCompileTimeClass

      <T> Class<T> determineCompileTimeClass(QName typeName)
    • findSchemaByCompileTimeClass

      PrismSchema findSchemaByCompileTimeClass(@NotNull @NotNull Class<?> compileTimeClass)
    • findSchemaDescriptionByNamespace

      SchemaDescription findSchemaDescriptionByNamespace(String namespaceURI)
    • findSchemaDescriptionByPrefix

      SchemaDescription findSchemaDescriptionByPrefix(String prefix)
    • findSchemaByNamespace

      PrismSchema findSchemaByNamespace(String namespaceURI)
    • determineClassForType

      <T> Class<T> determineClassForType(QName type)
    • determineCompileTimeClassInternal

      <T> Class<T> determineCompileTimeClassInternal(QName type, boolean cacheAlsoNegativeResults)
    • getCompileTimePackages

      Collection<Package> getCompileTimePackages()
    • isList

      @NotNull @NotNull SchemaRegistryState.IsList isList(@Nullable @Nullable QName xsiType, @NotNull @NotNull QName elementName)
      Checks whether element with given (declared) xsi:type and name can be a heterogeneous list.
      Returns:
      YES if it is a list, NO if it's not, MAYBE if it probably is a list but some further content-based checks are needed
    • derivationKeyFrom

      static <R> SchemaRegistryState.DerivationKey<R> derivationKeyFrom(Class<?> keyOwner, String keyName)
    • getDerivedObject

      default <R, E extends Exception> R getDerivedObject(SchemaRegistryState.DerivationKey<R> derivationKey, CheckedFunction<SchemaRegistryState,R,E> mapping) throws E
      Returns derived value specific to this schema context state, supplied derivation key and mapping. Returns cached value if it was already computed and is available. If value is not available, it is computed by supplied mapping function. Do not use for short-lived values. Use-cases should be like caching parser instances with already done lookups for repository or other long-lived components, which needs to be recomputed when schemas are changed.
      Type Parameters:
      R -
      E -
      Parameters:
      derivationKey -
      mapping -
      Returns:
      Throws:
      E