public class PrecompiledAbstractMapping extends java.lang.Object implements IMapping
Modifier and Type | Field and Description |
---|---|
private PrecompiledBinding |
m_binding
Binding structure defining the mapping.
|
private ClassFile |
m_class
Class linked to mapping.
|
private java.lang.String |
m_mappingName
Name used for mapping in binding tables.
|
private java.util.ArrayList |
m_namespaces
Namespaces used by this mapping.
|
private IContainer |
m_parent
Containing context for definition.
|
private java.lang.String |
m_referenceType
Reference type of mapping, as fully qualified class name.
|
private boolean |
m_translated
Namespace index translation required flag.
|
private java.lang.String |
m_typeName
Qualified type name.
|
Constructor and Description |
---|
PrecompiledAbstractMapping(java.lang.String type,
java.lang.String tname,
java.lang.String mapname,
int index,
IBindingFactory factory,
int[] nsxlate,
IContainer parent)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addExtension(MappingDefinition mdef)
Add extension to abstract mapping.
|
void |
addNamespace(NamespaceDefinition ns)
Add namespace.
|
IComponent |
buildRef(IContainer parent,
IContextObj objc,
java.lang.String type,
PropertyDefinition prop)
Build reference to mapping.
|
void |
generateCode(boolean force)
Generate required code for mapping.
|
ITypeBinding |
getBinding()
Get the actual binding for a mapping.
|
java.lang.String |
getBoundType()
Get class name handled by mapping.
|
IComponent |
getImplComponent()
Get binding component implementing mapping.
|
java.lang.String |
getMappingName()
Get the mapping name used in binding tables.
|
ClassFile |
getMarshaller()
Get marshaller class used for mapping.
|
NameDefinition |
getName()
Get mapped element name.
|
java.util.ArrayList |
getNamespaces()
Get namespaces defined for mapping.
|
java.lang.String |
getReferenceType()
Get class name of type to be assumed for references to this mapping.
|
java.lang.String |
getTypeName()
Get type name.
|
ClassFile |
getUnmarshaller()
Get unmarshaller class used for mapping.
|
NameDefinition |
getWrapperName() |
boolean |
isAbstract()
Check if mapping is abstract.
|
boolean |
isBase()
Check if mapping has extensions.
|
void |
linkMappings()
Links extension mappings to their base mappings.
|
void |
print(int depth) |
void |
setLinkages()
Establish and validate linkages between binding components.
|
private final boolean m_translated
private final ClassFile m_class
private final java.lang.String m_typeName
private final PrecompiledBinding m_binding
private final java.lang.String m_referenceType
private final java.util.ArrayList m_namespaces
private final IContainer m_parent
private final java.lang.String m_mappingName
public PrecompiledAbstractMapping(java.lang.String type, java.lang.String tname, java.lang.String mapname, int index, IBindingFactory factory, int[] nsxlate, IContainer parent) throws JiBXException
type
- bound class nametname
- qualified type name for abstract mapping (null
if none)mapname
- abstract mapping name in bindingindex
- abstract mapping index in bindingfactory
- binding factory for mapping informationnsxlate
- namespace index translation table (null
if
none)parent
- containing contextJiBXException
- if class definition not foundpublic void linkMappings() throws JiBXException
JiBXException
- if error in linkingpublic java.lang.String getBoundType()
IMapping
getBoundType
in interface IMapping
public java.lang.String getReferenceType()
IMapping
getReferenceType
in interface IMapping
public IComponent getImplComponent()
IMapping
getImplComponent
in interface IMapping
public ClassFile getMarshaller()
IMapping
getMarshaller
in interface IMapping
public ClassFile getUnmarshaller()
IMapping
getUnmarshaller
in interface IMapping
public NameDefinition getName()
IMapping
public void addNamespace(NamespaceDefinition ns) throws JiBXException
IMapping
addNamespace
in interface IMapping
ns
- namespace definition to be addedJiBXException
- if error in defining namespacepublic boolean isAbstract()
IMapping
isAbstract
in interface IMapping
true
if an abstract mapping, false
if notpublic boolean isBase()
IMapping
public void addExtension(MappingDefinition mdef) throws JiBXException
IMapping
addExtension
in interface IMapping
mdef
- extension mapping definitionJiBXException
- if configuration errorpublic IComponent buildRef(IContainer parent, IContextObj objc, java.lang.String type, PropertyDefinition prop) throws JiBXException
IMapping
buildRef
in interface IMapping
parent
- containing binding definition structureobjc
- current object contexttype
- mapped value typeprop
- property definition (may be null
)JiBXException
- if configuration errorpublic java.util.ArrayList getNamespaces()
IMapping
getNamespaces
in interface IMapping
null
if none)public void generateCode(boolean force) throws JiBXException
IMapping
generateCode
in interface IMapping
force
- add marshaller/unmarshaller classes for abstract non-base
mappings flag (not passed on to children)JiBXException
- if error in transformationpublic NameDefinition getWrapperName()
public ITypeBinding getBinding()
IMapping
getBinding
in interface IMapping
null
if nonepublic java.lang.String getMappingName()
IMapping
getMappingName
in interface IMapping
public java.lang.String getTypeName()
IMapping
getTypeName
in interface IMapping
null
if
unnamed)public void setLinkages() throws JiBXException
ILinkable
setLinkages
in interface ILinkable
JiBXException
- if error in configurationpublic void print(int depth)