Package org.apache.cxf.aegis.type
Class DefaultTypeMapping
- java.lang.Object
-
- org.apache.cxf.aegis.type.DefaultTypeMapping
-
- All Implemented Interfaces:
TypeMapping
public class DefaultTypeMapping extends Object implements TypeMapping
The implementation of the Aegis type map. It maintains a map from Java typesTypeand AegisType objects, also indexed by the XML Schema QName of each type.
-
-
Field Summary
Fields Modifier and Type Field Description static StringDEFAULT_MAPPING_URI
-
Constructor Summary
Constructors Constructor Description DefaultTypeMapping()DefaultTypeMapping(String identifierURI)DefaultTypeMapping(String identifierURI, TypeMapping defaultTM)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DefaultTypeMappingcreateDefaultTypeMapping(boolean defaultNillable, boolean enableMtomXmime)static DefaultTypeMappingcreateDefaultTypeMapping(boolean defaultNillable, boolean enableMtomXmime, boolean enableJDOM)Create a set of default type mappings.static DefaultTypeMappingcreateSoap11TypeMapping(boolean defaultNillable, boolean enableMtomXmime, boolean enableJDOM)Create a type mapping object with a stock set of mappings, including the SOAP 1.1 'encoded' types.StringgetMappingIdentifierURI()Each mapping has a URI that identifies it.TypeMappinggetParent()AegisTypegetType(Type javaType)AegisTypegetType(QName xmlType)TypeCreatorgetTypeCreator()QNamegetTypeQName(Type clazz)booleanisRegistered(Type javaType)Returns a flag indicating if this type mapping has a mapping for a particular Java class.booleanisRegistered(QName xmlType)Returns a flag indicating if this type mapping has a mapping for a particular XML Schema QName.voidregister(Type javaType, QName xmlType, AegisType type)Register a type, manually specifying the java class, the schema type, and the Aegis type object that provides serialization, deserialization, and schema.voidregister(AegisType type)Register a type that self-describes the schema type and the Java class.voidremoveType(AegisType type)voidsetMappingIdentifierURI(String uri)This exists only to deal with an initialization order problem.voidsetTypeCreator(TypeCreator typeCreator)
-
-
-
Field Detail
-
DEFAULT_MAPPING_URI
public static final String DEFAULT_MAPPING_URI
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DefaultTypeMapping
public DefaultTypeMapping(String identifierURI, TypeMapping defaultTM)
-
DefaultTypeMapping
public DefaultTypeMapping()
-
DefaultTypeMapping
public DefaultTypeMapping(String identifierURI)
-
-
Method Detail
-
isRegistered
public boolean isRegistered(Type javaType)
Description copied from interface:TypeMappingReturns a flag indicating if this type mapping has a mapping for a particular Java class.- Specified by:
isRegisteredin interfaceTypeMapping- Parameters:
javaType- the class.- Returns:
trueif there is a mapping for the type.
-
isRegistered
public boolean isRegistered(QName xmlType)
Description copied from interface:TypeMappingReturns a flag indicating if this type mapping has a mapping for a particular XML Schema QName.- Specified by:
isRegisteredin interfaceTypeMapping- Parameters:
xmlType- the QName.- Returns:
trueif there is a mapping for the type.
-
register
public void register(Type javaType, QName xmlType, AegisType type)
Description copied from interface:TypeMappingRegister a type, manually specifying the java class, the schema type, and the Aegis type object that provides serialization, deserialization, and schema.- Specified by:
registerin interfaceTypeMapping- Parameters:
javaType- Java class.xmlType- XML Schema type QName.type- Aegis type object.
-
register
public void register(AegisType type)
Register a type that self-describes the schema type and the Java class.- Specified by:
registerin interfaceTypeMapping- Parameters:
type- Aegis type object that
-
removeType
public void removeType(AegisType type)
- Specified by:
removeTypein interfaceTypeMapping
-
getType
public AegisType getType(Type javaType)
- Specified by:
getTypein interfaceTypeMapping
-
getType
public AegisType getType(QName xmlType)
- Specified by:
getTypein interfaceTypeMapping
-
getTypeQName
public QName getTypeQName(Type clazz)
- Specified by:
getTypeQNamein interfaceTypeMapping
-
getTypeCreator
public TypeCreator getTypeCreator()
- Specified by:
getTypeCreatorin interfaceTypeMapping
-
setTypeCreator
public void setTypeCreator(TypeCreator typeCreator)
-
getParent
public TypeMapping getParent()
-
createSoap11TypeMapping
public static DefaultTypeMapping createSoap11TypeMapping(boolean defaultNillable, boolean enableMtomXmime, boolean enableJDOM)
Create a type mapping object with a stock set of mappings, including the SOAP 1.1 'encoded' types.- Parameters:
defaultNillable- whether elements are nillable by default.enableMtomXmime- whether to enable XMIME annotations with MTOM.enableJDOM- whether to add mappings for JDOM.- Returns:
-
createDefaultTypeMapping
public static DefaultTypeMapping createDefaultTypeMapping(boolean defaultNillable, boolean enableMtomXmime)
-
createDefaultTypeMapping
public static DefaultTypeMapping createDefaultTypeMapping(boolean defaultNillable, boolean enableMtomXmime, boolean enableJDOM)
Create a set of default type mappings.- Parameters:
defaultNillable- whether elements are nillable by default.enableMtomXmime- whether to enable XMIME annotations on MTOM.enableJDOM- whether to map JDOM types.- Returns:
-
getMappingIdentifierURI
public String getMappingIdentifierURI()
Description copied from interface:TypeMappingEach mapping has a URI that identifies it. The mapping for a service uses the service URI. XML files can choose to only contribute mappings that match.- Specified by:
getMappingIdentifierURIin interfaceTypeMapping- Returns:
- the URI.
-
setMappingIdentifierURI
public void setMappingIdentifierURI(String uri)
Description copied from interface:TypeMappingThis exists only to deal with an initialization order problem.- Specified by:
setMappingIdentifierURIin interfaceTypeMapping
-
-