Class SchemaRegistryImpl
java.lang.Object
com.evolveum.midpoint.prism.impl.schema.SchemaRegistryImpl
- All Implemented Interfaces:
PrismContextSensitive
,DefinitionsStore
,GlobalDefinitionsStore
,SchemaRegistry
,DebugDumpable
- Direct Known Subclasses:
AxiomEnabledSchemaRegistry
Registry and resolver of schema files and resources.
- Author:
- Radovan Semancik
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.schema.SchemaRegistry
SchemaRegistry.ComparisonResult, SchemaRegistry.InvalidationListener, SchemaRegistry.IsList
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<O extends Objectable>
voidapplyDefinition
(ObjectDelta<O> objectDelta, Class<O> compileTimeClass, boolean force) <C extends Containerable>
voidapplyDefinition
(PrismContainer<C> container, Class<C> type) This method will try to locate the appropriate object definition and apply it.<C extends Containerable>
voidapplyDefinition
(PrismContainer<C> container, Class<C> compileTimeClass, boolean force) <C extends Containerable,
O extends Objectable>
voidapplyDefinition
(PrismContainerValue<C> prismContainerValue, Class<O> compileTimeClass, ItemPath path, boolean force) <C extends Containerable>
voidapplyDefinition
(PrismContainerValue<C> prismContainerValue, QName typeName, ItemPath path, boolean force) <ID extends ItemDefinition>
SchemaRegistry.ComparisonResultcompareDefinitions
(ID def1, ID def2) createAdHocDefinition
(QName elementName, QName typeName, int minOccurs, int maxOccurs) debugDump
(int indent) Class<?>
determineClassForItemDefinition
(ItemDefinition<?> itemDefinition) <T> Class<T>
determineClassForType
(QName type) <T> Class<T>
determineDefinitionFromClass
(Class compileTimeClass) determineParentDefinition
(@NotNull ComplexTypeDefinition child, @NotNull ItemPath rest) determineReferencedObjectDefinition
(@NotNull QName targetTypeName, ItemPath rest) determineTypeForClass
(Class<?> clazz) Tries to determine type name for any class (primitive, complex one).findItemDefinitionByElementName
(QName elementName, @Nullable List<String> ignoredNamespaces) <T extends ItemDefinition>
TfindItemDefinitionByFullPath
(Class<? extends Objectable> objectClass, Class<T> defClass, QName... itemNames) <ID extends ItemDefinition>
IDfindItemDefinitionByType
(@NotNull QName typeName, @NotNull Class<ID> definitionClass) Looking up item definition by type name.<ID extends ItemDefinition>
@NotNull List<ID>findItemDefinitionsByCompileTimeClass
(@NotNull Class<?> compileTimeClass, @NotNull Class<ID> definitionClass) Looking up item definitions by compile-time class.<ID extends ItemDefinition>
@NotNull List<ID>findItemDefinitionsByElementName
(@NotNull QName elementName, @NotNull Class<ID> definitionClass) Looking up item definitions by element name.<O extends Objectable>
PrismObjectDefinition<O>findObjectDefinitionByCompileTimeClass
(@NotNull Class<O> compileTimeClass) <O extends Objectable>
PrismObjectDefinition<O>findObjectDefinitionByType
(@NotNull QName typeName) findSchemaByCompileTimeClass
(@NotNull Class<?> compileTimeClass) findSchemaByNamespace
(String namespaceURI) findSchemaByPrefix
(String prefix) findSchemaDescriptionByNamespace
(String namespaceURI) findSchemaDescriptionByPrefix
(String prefix) <TD extends TypeDefinition>
TDfindTypeDefinitionByCompileTimeClass
(@NotNull Class<?> compileTimeClass, @NotNull Class<TD> definitionClass) <TD extends TypeDefinition>
TDfindTypeDefinitionByType
(@NotNull QName typeName, @NotNull Class<TD> definitionClass) <TD extends TypeDefinition>
@NotNull Collection<TD>findTypeDefinitionsByElementName
(@NotNull QName name, @NotNull Class<TD> clazz) <TD extends TypeDefinition>
@NotNull Collection<? extends TD>findTypeDefinitionsByType
(@NotNull QName typeName, @NotNull Class<TD> definitionClass) File[]
<T> Class<T>
getCompileTimeClass
(QName xsdType) Class<? extends ObjectType>
getCompileTimeClassForObjectType
(QName objectType) org.apache.commons.collections4.MultiValuedMap<String,
SchemaDescription> getPrismSchema
(String namespace) @NotNull PrismContainerDefinition<?>
boolean
hasImplicitTypeDefinition
(@NotNull QName itemName, @NotNull QName typeName) Answers the question: "If the receiver would get itemName without any other information, will it be able to derive suitable typeName from it?" If not, we have to provide explicit type definition for serialization.void
This can be used to read additional schemas even after the registry was initialized.boolean
isAssignableFrom
(@NotNull Class<?> superClass, @NotNull QName subType) BEWARE: works only with statically-defined types!boolean
isAssignableFrom
(@NotNull QName superType, @NotNull QName subType) BEWARE: works only with statically-defined types!boolean
isAssignableFromGeneral
(@NotNull QName superType, @NotNull QName subType) Crawls through the type definition tree.boolean
isContainerable
(QName typeName) @NotNull SchemaRegistry.IsList
Checks whether element with given (declared) xsi:type and name can be a heterogeneous list.protected void
void
loadPrismSchemaResource
(String resourcePath) locateItemDefinition
(@NotNull QName itemName, @Nullable ComplexTypeDefinition complexTypeDefinition, @Nullable Function<QName, ItemDefinition> dynamicDefinitionProvider) protected void
protected void
qualifyTypeName
(QName typeName) void
void
registerPrismDefaultSchemaResource
(String resourcePath, String usualPrefix, Package compileTimeClassesPackage) Must be called before call to initialize()void
registerPrismSchema
(InputStream input, String sourceDescription) void
registerPrismSchemaFile
(File file) void
registerPrismSchemaResource
(String resourcePath, String usualPrefix) Must be called before call to initialize()void
registerPrismSchemaResource
(String resourcePath, String usualPrefix, Package compileTimeClassesPackage) Must be called before call to initialize()void
registerPrismSchemaResource
(String resourcePath, String usualPrefix, Package compileTimeClassesPackage, boolean prefixDeclaredByDefault) Must be called before call to initialize()void
registerPrismSchemasFromDirectory
(File directory) void
registerPrismSchemasFromDirectory
(File directory, @NotNull Collection<String> extensionFilesToIgnore) protected void
registerPrismSchemasFromWsdl
(String resourcePath, List<SchemaDescriptionImpl> descriptions, List<Package> compileTimeClassesPackages) void
registerPrismSchemasFromWsdlResource
(String resourcePath, List<Package> compileTimeClassesPackages) void
registerSchema
(Node node, String sourceDescription) Must be called before call to initialize()void
registerSchemaResource
(String resourcePath, String usualPrefix) Must be called before call to initialize()void
registerStaticNamespace
(String ns, String prefix, boolean declaredByDefault) void
registerWsdlSchemaFile
(File file) resolveGlobalItemDefinition
(QName itemName, @Nullable ComplexTypeDefinition complexTypeDefinition) <ID extends ItemDefinition>
IDselectMoreSpecific
(ID def1, ID def2) selectMoreSpecific
(QName type1, QName type2) Selects the type that is more specific of the two.void
setCatalogFiles
(File[] catalogFiles) void
setCatalogResourceName
(String catalogResourceName) void
setDefaultNamespace
(String defaultNamespace) void
setNamespacePrefixMapper
(DynamicNamespacePrefixMapper namespacePrefixMapper) void
setPrismContext
(PrismContext prismContext) void
setValueMetadataTypeName
(QName typeName) unifyTypes
(QName type1, QName type2) Returns most specific common supertype for these two.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazily
Methods inherited from interface com.evolveum.midpoint.prism.schema.GlobalDefinitionsStore
findComplexTypeDefinitionByCompileTimeClass, findComplexTypeDefinitionByType, findContainerDefinitionByCompileTimeClass, findContainerDefinitionByElementName, findContainerDefinitionByType, findItemDefinitionByCompileTimeClass, findItemDefinitionByElementName, findItemDefinitionByElementName, findItemDefinitionByType, findItemDefinitionsByElementName, findObjectDefinitionByElementName, findPropertyDefinitionByElementName, findReferenceDefinitionByElementName, findSimpleTypeDefinitionByType, findTypeDefinitionByType, findTypeDefinitionsByType
Methods inherited from interface com.evolveum.midpoint.prism.schema.SchemaRegistry
determineClassForTypeRequired, determineClassForTypeRequired, determineTypeForClassRequired, getCompileTimeClassForObjectTypeRequired
-
Constructor Details
-
SchemaRegistryImpl
public SchemaRegistryImpl()
-
-
Method Details
-
getNamespacePrefixMapper
- Specified by:
getNamespacePrefixMapper
in interfaceSchemaRegistry
- Returns:
- System-wide "standard prefixes" registry.
-
setNamespacePrefixMapper
-
registerInvalidationListener
- Specified by:
registerInvalidationListener
in interfaceSchemaRegistry
-
getPrismContext
- Specified by:
getPrismContext
in interfacePrismContextSensitive
-
setPrismContext
-
getEntityResolver
-
getParsedSchemas
-
getBuiltinSchemaResolver
-
getCatalogFiles
-
setCatalogFiles
-
getCatalogResourceName
-
setCatalogResourceName
-
getDefaultNamespace
- Specified by:
getDefaultNamespace
in interfaceSchemaRegistry
-
setDefaultNamespace
-
registerSchemaResource
Must be called before call to initialize()- Throws:
SchemaException
-
registerPrismSchemaResource
public void registerPrismSchemaResource(String resourcePath, String usualPrefix) throws SchemaException Must be called before call to initialize()- Throws:
SchemaException
-
registerWsdlSchemaFile
- Throws:
SchemaException
FileNotFoundException
-
registerPrismSchemasFromWsdlResource
public void registerPrismSchemasFromWsdlResource(String resourcePath, List<Package> compileTimeClassesPackages) throws SchemaException - Throws:
SchemaException
-
registerPrismSchemasFromWsdl
protected void registerPrismSchemasFromWsdl(String resourcePath, List<SchemaDescriptionImpl> descriptions, List<Package> compileTimeClassesPackages) throws SchemaException - Throws:
SchemaException
-
registerPrismSchemaResource
public void registerPrismSchemaResource(String resourcePath, String usualPrefix, Package compileTimeClassesPackage) throws SchemaException Must be called before call to initialize()- Throws:
SchemaException
-
registerPrismSchemaResource
public void registerPrismSchemaResource(String resourcePath, String usualPrefix, Package compileTimeClassesPackage, boolean prefixDeclaredByDefault) throws SchemaException Must be called before call to initialize()- Throws:
SchemaException
-
registerPrismDefaultSchemaResource
public void registerPrismDefaultSchemaResource(String resourcePath, String usualPrefix, Package compileTimeClassesPackage) throws SchemaException Must be called before call to initialize()- Throws:
SchemaException
-
registerSchema
Must be called before call to initialize()- Throws:
SchemaException
-
registerPrismSchemaFile
- Throws:
IOException
SchemaException
-
registerPrismSchema
- Throws:
SchemaException
-
loadPrismSchemaFileDescription
- Throws:
SchemaException
IOException
-
registerPrismSchemasFromDirectory
- Throws:
IOException
SchemaException
-
registerPrismSchemasFromDirectory
public void registerPrismSchemasFromDirectory(File directory, @NotNull @NotNull Collection<String> extensionFilesToIgnore) throws IOException, SchemaException - Throws:
IOException
SchemaException
-
loadPrismSchemaResource
- Throws:
SchemaException
-
initialize
This can be used to read additional schemas even after the registry was initialized.- Specified by:
initialize
in interfaceSchemaRegistry
- Throws:
SAXException
IOException
SchemaException
-
parseAdditionalSchemas
- Throws:
SchemaException
-
parsePrismSchemas
- Throws:
SchemaException
-
getJavaxSchema
- Specified by:
getJavaxSchema
in interfaceSchemaRegistry
-
getJavaxSchemaValidator
- Specified by:
getJavaxSchemaValidator
in interfaceSchemaRegistry
-
getCompileTimePackages
- Specified by:
getCompileTimePackages
in interfaceSchemaRegistry
-
debugDump
- Specified by:
debugDump
in interfaceDebugDumpable
-
applyDefinition
public <C extends Containerable> void applyDefinition(PrismContainer<C> container, Class<C> type) throws SchemaException Description copied from interface:SchemaRegistry
This method will try to locate the appropriate object definition and apply it.- Specified by:
applyDefinition
in interfaceSchemaRegistry
- Throws:
SchemaException
-
applyDefinition
public <C extends Containerable> void applyDefinition(PrismContainer<C> container, Class<C> compileTimeClass, boolean force) throws SchemaException - Specified by:
applyDefinition
in interfaceSchemaRegistry
- Throws:
SchemaException
-
applyDefinition
public <O extends Objectable> void applyDefinition(ObjectDelta<O> objectDelta, Class<O> compileTimeClass, boolean force) throws SchemaException - Specified by:
applyDefinition
in interfaceSchemaRegistry
- Throws:
SchemaException
-
applyDefinition
public <C extends Containerable,O extends Objectable> void applyDefinition(PrismContainerValue<C> prismContainerValue, Class<O> compileTimeClass, ItemPath path, boolean force) throws SchemaException - Specified by:
applyDefinition
in interfaceSchemaRegistry
- Throws:
SchemaException
-
applyDefinition
public <C extends Containerable> void applyDefinition(PrismContainerValue<C> prismContainerValue, QName typeName, ItemPath path, boolean force) throws SchemaException - Specified by:
applyDefinition
in interfaceSchemaRegistry
- Throws:
SchemaException
-
findItemDefinitionsByCompileTimeClass
@NotNull public <ID extends ItemDefinition> @NotNull List<ID> findItemDefinitionsByCompileTimeClass(@NotNull @NotNull Class<?> compileTimeClass, @NotNull @NotNull Class<ID> definitionClass) Description copied from interface:GlobalDefinitionsStore
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.- Specified by:
findItemDefinitionsByCompileTimeClass
in interfaceGlobalDefinitionsStore
-
findItemDefinitionByType
@Nullable public <ID extends ItemDefinition> ID findItemDefinitionByType(@NotNull @NotNull QName typeName, @NotNull @NotNull Class<ID> definitionClass) Description copied from interface:GlobalDefinitionsStore
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.- Specified by:
findItemDefinitionByType
in interfaceGlobalDefinitionsStore
-
findItemDefinitionsByElementName
@NotNull public <ID extends ItemDefinition> @NotNull List<ID> findItemDefinitionsByElementName(@NotNull @NotNull QName elementName, @NotNull @NotNull Class<ID> definitionClass) Description copied from interface:GlobalDefinitionsStore
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.- Specified by:
findItemDefinitionsByElementName
in interfaceGlobalDefinitionsStore
-
findTypeDefinitionByCompileTimeClass
@Nullable public <TD extends TypeDefinition> TD findTypeDefinitionByCompileTimeClass(@NotNull @NotNull Class<?> compileTimeClass, @NotNull @NotNull Class<TD> definitionClass) - Specified by:
findTypeDefinitionByCompileTimeClass
in interfaceGlobalDefinitionsStore
-
findTypeDefinitionByType
@Nullable public <TD extends TypeDefinition> TD findTypeDefinitionByType(@NotNull @NotNull QName typeName, @NotNull @NotNull Class<TD> definitionClass) - Specified by:
findTypeDefinitionByType
in interfaceGlobalDefinitionsStore
-
findTypeDefinitionsByType
@NotNull public <TD extends TypeDefinition> @NotNull Collection<? extends TD> findTypeDefinitionsByType(@NotNull @NotNull QName typeName, @NotNull @NotNull Class<TD> definitionClass) - Specified by:
findTypeDefinitionsByType
in interfaceGlobalDefinitionsStore
-
findTypeDefinitionsByElementName
@NotNull public <TD extends TypeDefinition> @NotNull Collection<TD> findTypeDefinitionsByElementName(@NotNull @NotNull QName name, @NotNull @NotNull Class<TD> clazz) - Specified by:
findTypeDefinitionsByElementName
in interfaceSchemaRegistry
-
findObjectDefinitionByCompileTimeClass
@Experimental public <O extends Objectable> PrismObjectDefinition<O> findObjectDefinitionByCompileTimeClass(@NotNull @NotNull Class<O> compileTimeClass) - Specified by:
findObjectDefinitionByCompileTimeClass
in interfaceGlobalDefinitionsStore
-
findObjectDefinitionByType
public <O extends Objectable> PrismObjectDefinition<O> findObjectDefinitionByType(@NotNull @NotNull QName typeName) - Specified by:
findObjectDefinitionByType
in interfaceGlobalDefinitionsStore
-
findItemDefinitionByFullPath
public <T extends ItemDefinition> T findItemDefinitionByFullPath(Class<? extends Objectable> objectClass, Class<T> defClass, QName... itemNames) throws SchemaException - Specified by:
findItemDefinitionByFullPath
in interfaceSchemaRegistry
- Throws:
SchemaException
-
findItemDefinitionByElementName
public ItemDefinition findItemDefinitionByElementName(QName elementName, @Nullable @Nullable List<String> ignoredNamespaces) - Specified by:
findItemDefinitionByElementName
in interfaceSchemaRegistry
-
getCompileTimeClass
- Specified by:
getCompileTimeClass
in interfaceSchemaRegistry
-
getCompileTimeClassForObjectType
- Specified by:
getCompileTimeClassForObjectType
in interfaceSchemaRegistry
-
determineDefinitionFromClass
- Specified by:
determineDefinitionFromClass
in interfaceSchemaRegistry
-
locateItemDefinition
public ItemDefinition locateItemDefinition(@NotNull @NotNull QName itemName, @Nullable @Nullable ComplexTypeDefinition complexTypeDefinition, @Nullable @Nullable Function<QName, ItemDefinition> dynamicDefinitionProvider) - Specified by:
locateItemDefinition
in interfaceSchemaRegistry
-
resolveUnqualifiedTypeName
- Specified by:
resolveUnqualifiedTypeName
in interfaceSchemaRegistry
- Throws:
SchemaException
-
qualifyTypeName
- Specified by:
qualifyTypeName
in interfaceSchemaRegistry
- Throws:
SchemaException
-
determineParentDefinition
public ComplexTypeDefinition determineParentDefinition(@NotNull @NotNull ComplexTypeDefinition child, @NotNull @NotNull ItemPath rest) - Specified by:
determineParentDefinition
in interfaceSchemaRegistry
-
determineReferencedObjectDefinition
public PrismObjectDefinition determineReferencedObjectDefinition(@NotNull @NotNull QName targetTypeName, ItemPath rest) - Specified by:
determineReferencedObjectDefinition
in interfaceSchemaRegistry
-
resolveGlobalItemDefinition
public ItemDefinition resolveGlobalItemDefinition(QName itemName, @Nullable @Nullable ComplexTypeDefinition complexTypeDefinition) - Specified by:
resolveGlobalItemDefinition
in interfaceSchemaRegistry
-
getPrismSchema
- Specified by:
getPrismSchema
in interfaceSchemaRegistry
-
getSchemas
- Specified by:
getSchemas
in interfaceSchemaRegistry
-
getSchemaDescriptions
- Specified by:
getSchemaDescriptions
in interfaceSchemaRegistry
-
findSchemaByCompileTimeClass
- Specified by:
findSchemaByCompileTimeClass
in interfaceSchemaRegistry
-
findSchemaByNamespace
- Specified by:
findSchemaByNamespace
in interfaceSchemaRegistry
-
findSchemaDescriptionByNamespace
- Specified by:
findSchemaDescriptionByNamespace
in interfaceSchemaRegistry
-
findSchemaByPrefix
- Specified by:
findSchemaByPrefix
in interfaceSchemaRegistry
-
findSchemaDescriptionByPrefix
- Specified by:
findSchemaDescriptionByPrefix
in interfaceSchemaRegistry
-
isList
@NotNull public @NotNull SchemaRegistry.IsList isList(@Nullable @Nullable QName xsiType, @NotNull @NotNull QName elementName) Description copied from interface:SchemaRegistry
Checks whether element with given (declared) xsi:type and name can be a heterogeneous list.- Specified by:
isList
in interfaceSchemaRegistry
- 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
-
setValueMetadataTypeName
-
getValueMetadataDefinition
- Specified by:
getValueMetadataDefinition
in interfaceSchemaRegistry
-
hasImplicitTypeDefinition
public boolean hasImplicitTypeDefinition(@NotNull @NotNull QName itemName, @NotNull @NotNull QName typeName) Answers the question: "If the receiver would get itemName without any other information, will it be able to derive suitable typeName from it?" If not, we have to provide explicit type definition for serialization.By suitable we mean such that can be used to determine specific object type.
- Specified by:
hasImplicitTypeDefinition
in interfaceSchemaRegistry
-
determineTypeForClass
Description copied from interface:SchemaRegistry
Tries to determine type name for any class (primitive, complex one). Does not use schemas (TODO explanation)- Specified by:
determineTypeForClass
in interfaceSchemaRegistry
- Returns:
-
determineClassForType
- Specified by:
determineClassForType
in interfaceSchemaRegistry
-
determineCompileTimeClass
- Specified by:
determineCompileTimeClass
in interfaceSchemaRegistry
-
determineClassForItemDefinition
- Specified by:
determineClassForItemDefinition
in interfaceSchemaRegistry
-
selectMoreSpecific
- Specified by:
selectMoreSpecific
in interfaceSchemaRegistry
- Throws:
SchemaException
-
selectMoreSpecific
Description copied from interface:SchemaRegistry
Selects the type that is more specific of the two. For example, if the input is `FocusType` and `UserType`, the output is `UserType`. Returns `null` if there's no such type. Limitations/specific handling: - Assumes both types have compile-time representation. May return `null` if that's not true. - The treatment of `PolyStringType` vs `String` is rather strange. Should be reviewed. FIXME- Specified by:
selectMoreSpecific
in interfaceSchemaRegistry
-
compareDefinitions
public <ID extends ItemDefinition> SchemaRegistry.ComparisonResult compareDefinitions(@NotNull ID def1, @NotNull ID def2) - Specified by:
compareDefinitions
in interfaceSchemaRegistry
- Returns:
- null means we cannot decide (types are different, and no compile time class for def1 and/or def2)
-
isAssignableFrom
Description copied from interface:SchemaRegistry
BEWARE: works only with statically-defined types!- Specified by:
isAssignableFrom
in interfaceSchemaRegistry
-
isAssignableFromGeneral
public boolean isAssignableFromGeneral(@NotNull @NotNull QName superType, @NotNull @NotNull QName subType) Description copied from interface:SchemaRegistry
Crawls through the type definition tree. May be slower.- Specified by:
isAssignableFromGeneral
in interfaceSchemaRegistry
-
isAssignableFrom
public boolean isAssignableFrom(@NotNull @NotNull Class<?> superClass, @NotNull @NotNull QName subType) Description copied from interface:SchemaRegistry
BEWARE: works only with statically-defined types!- Specified by:
isAssignableFrom
in interfaceSchemaRegistry
-
unifyTypes
Description copied from interface:SchemaRegistry
Returns most specific common supertype for these two. If any of input params is null, it means it is ignored. FIXME is the implementation correct regarding this spec? E.g. for `UserType` and `RoleType` it should return `FocusType` but it returns `null` instead!- Specified by:
unifyTypes
in interfaceSchemaRegistry
- Returns:
- null if unification cannot be done (or if both input types are null)
-
isContainerable
- Specified by:
isContainerable
in interfaceSchemaRegistry
- Returns:
- true if the typeName corresponds to statically-typed class that is Containerable. TODO The utility of this method is questionable. Reconsider its removal/update.
-
createAdHocDefinition
public ItemDefinition<?> createAdHocDefinition(QName elementName, QName typeName, int minOccurs, int maxOccurs) - Specified by:
createAdHocDefinition
in interfaceSchemaRegistry
-
getValueMetadataTypeName
-
staticNamespaceContext
- Specified by:
staticNamespaceContext
in interfaceSchemaRegistry
-
registerStaticNamespace
-