Interface SchemaRegistryState
- All Superinterfaces:
DebugDumpable
,DefinitionsStore
,GlobalDefinitionsStore
- All Known Subinterfaces:
SchemaRegistry
- All Known Implementing Classes:
AxiomEnabledSchemaRegistry
,SchemaRegistryImpl
,SchemaRegistryStateImpl
Maintains system-wide parsed schemas.
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic class
Derivation key is used for caching computed values, which depends on schema context state.static enum
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Method Summary
Modifier and TypeMethodDescriptionstatic <R> SchemaRegistryState.DerivationKey<R>
derivationKeyFrom
(Class<?> keyOwner, String keyName) <T> Class<T>
determineClassForType
(QName type) <T> Class<T>
determineCompileTimeClass
(QName typeName) <T> Class<T>
determineCompileTimeClassInternal
(QName type, boolean cacheAlsoNegativeResults) determineParentDefinition
(@NotNull ComplexTypeDefinition child, @NotNull ItemPath rest) findSchemaByCompileTimeClass
(@NotNull Class<?> compileTimeClass) findSchemaByNamespace
(String namespaceURI) findSchemaDescriptionByNamespace
(String namespaceURI) findSchemaDescriptionByPrefix
(String prefix) default <R,
E extends Exception>
RgetDerivedObject
(SchemaRegistryState.DerivationKey<R> derivationKey, CheckedFunction<SchemaRegistryState, R, E> mapping) Returns derived value specific to this schema context state, supplied derivation key and mapping.// * @return System-wide "standard prefixes" registry.getPrismSchema
(String namespace) @NotNull SchemaRegistryState.IsList
Checks whether element with given (declared) xsi:type and name can be a heterogeneous list.Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazily
Methods inherited from interface com.evolveum.midpoint.prism.schema.GlobalDefinitionsStore
findComplexTypeDefinitionByCompileTimeClass, findComplexTypeDefinitionByType, findContainerDefinitionByCompileTimeClass, findContainerDefinitionByElementName, findContainerDefinitionByType, findItemDefinitionByCompileTimeClass, findItemDefinitionByElementName, findItemDefinitionByElementName, findItemDefinitionByType, findItemDefinitionByType, findItemDefinitionsByCompileTimeClass, findItemDefinitionsByElementName, findItemDefinitionsByElementName, findObjectDefinitionByCompileTimeClass, findObjectDefinitionByElementName, findObjectDefinitionByType, findPropertyDefinitionByElementName, findReferenceDefinitionByElementName, findSimpleTypeDefinitionByType, findTypeDefinitionByCompileTimeClass, findTypeDefinitionByType, findTypeDefinitionByType, findTypeDefinitionsByElementName, findTypeDefinitionsByType, findTypeDefinitionsByType
-
Method Details
-
getSchemas
Collection<PrismSchema> getSchemas() -
getPrismSchema
-
getJavaxSchema
Schema getJavaxSchema() -
getNamespacePrefixMapper
DynamicNamespacePrefixMapper getNamespacePrefixMapper()// * @return System-wide "standard prefixes" registry. // -
resolveUnqualifiedTypeName
- Throws:
SchemaException
-
determineParentDefinition
ComplexTypeDefinition determineParentDefinition(@NotNull @NotNull ComplexTypeDefinition child, @NotNull @NotNull ItemPath rest) -
determineCompileTimeClass
-
findSchemaByCompileTimeClass
-
findSchemaDescriptionByNamespace
-
findSchemaDescriptionByPrefix
-
findSchemaByNamespace
-
determineClassForType
-
determineCompileTimeClassInternal
-
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, throws EE> mapping) 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
-