public class DefinitionContext
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private NamespaceDefinition |
m_attributeDefault
Namespace used by default at this level for attributes.
|
private ArrayMap |
m_classMap
Mapping from fully qualified class name to mapping index (lazy
create).
|
private IContainer |
m_container
Containing binding definition component.
|
private DefinitionContext |
m_context
Containing definition context.
|
private java.util.Map |
m_convertMap
Map from signatures to
String conversions. |
private NamespaceDefinition |
m_elementDefault
Namespace used by default at this level for elements.
|
private java.util.Map |
m_formatMap
Map from format qnames to
String conversions. |
private java.util.ArrayList |
m_mappings
Class mappings defined at level (lazy create).
|
private java.util.Map |
m_namedStructureMap
Named binding components (only for root context of a binding).
|
private java.util.ArrayList |
m_namespaces
Namespaces defined at level (lazy create).
|
private java.util.Map |
m_overrideMap
Mapping from override namespace definition to original (lazy create).
|
private java.util.Map |
m_uriMap
Mapping from URI to namespace definition (lazy create).
|
Constructor and Description |
---|
DefinitionContext(IContainer contain)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addConversion(QName name,
StringConversion conv)
Add named conversion.
|
void |
addImpliedNamespace(NamespaceDefinition def)
Add namespace declaration to set defined at this level.
|
void |
addMapping(IMapping def)
Add class mapping to set defined at this level.
|
void |
addNamedStructure(java.lang.String name,
IComponent comp)
Add named structure component to set defined at this level.
|
void |
addNamespace(NamespaceDefinition def)
Add namespace to set defined at this level.
|
private boolean |
checkDuplicateNamespace(NamespaceDefinition def)
Check for duplicate namespace definition.
|
void |
generateCode(boolean verbose,
boolean force)
Generate code.
|
private void |
genFillNamespaceIndexes(java.util.ArrayList nss,
MethodBuilder mb)
Internal method to generate code to fill array with namespace indexes.
|
private void |
genFillNamespacePrefixes(java.util.ArrayList nss,
MethodBuilder mb)
Internal method to generate code to fill array with namespace prefixes.
|
void |
genLoadNamespaces(MethodBuilder mb)
Generate code for loading namespace index and URI arrays.
|
IMapping |
getClassMapping(java.lang.String name)
Get mapping definition for class.
|
StringConversion |
getConversion(ClassFile clas)
Get conversion definition for class.
|
int |
getDefaultIndex(boolean attr)
Get the default namespace index for a contained name.
|
private NamespaceDefinition |
getDefaultNamespace(boolean attr)
Get the default namespace for a contained name.
|
java.lang.String |
getDefaultURI(boolean attr)
Get the default namespace URI for a contained name.
|
IMapping |
getMappingAtLevel(java.lang.String name)
Get mapping definition for class if defined at this level.
|
java.util.ArrayList |
getMappings()
Get mapping definitions at level.
|
StringConversion |
getNamedConversion(QName name)
Get named conversion definition.
|
IComponent |
getNamedStructure(java.lang.String name)
Get nested structure by name.
|
int |
getNamespaceIndex(java.lang.String uri,
boolean attr)
Get namespace index for a given URI.
|
java.util.ArrayList |
getNamespaces()
Get the namespaces defined in this context
|
StringConversion |
getSpecificConversion(java.lang.String name)
Get specific conversion definition for type.
|
boolean |
hasNamespace()
Check if one or more namespaces are defined in this context.
|
private void |
internalAddNamespace(NamespaceDefinition def)
Add namespace to internal tables.
|
void |
linkMappings()
Links extension mappings to their base mappings.
|
void |
print(int depth) |
void |
setConversion(StringConversion conv)
Set specific conversion definition for type.
|
void |
setDefaultConversion(QName name,
StringConversion conv)
Sets a conversion definition by both type and name.
|
void |
setLinkages()
Set linkages between binding components.
|
void |
setNamedConversion(QName name,
StringConversion conv)
Sets a named conversion definition.
|
private final IContainer m_container
private final DefinitionContext m_context
private NamespaceDefinition m_attributeDefault
private NamespaceDefinition m_elementDefault
private java.util.ArrayList m_namespaces
private java.util.Map m_uriMap
private java.util.Map m_overrideMap
private ArrayMap m_classMap
private java.util.ArrayList m_mappings
private java.util.Map m_convertMap
String
conversions.private java.util.Map m_formatMap
String
conversions.private java.util.Map m_namedStructureMap
public DefinitionContext(IContainer contain)
contain
- containing binding definition componentprivate boolean checkDuplicateNamespace(NamespaceDefinition def)
def
- private void internalAddNamespace(NamespaceDefinition def)
def
- public void addNamespace(NamespaceDefinition def)
def
- namespace definition to be added (duplicates ignored)public void addImpliedNamespace(NamespaceDefinition def)
def
- namespace definition to be added (duplicates ignored)public void addMapping(IMapping def) throws JiBXException
def
- mapping definition to be addedJiBXException
- on mapping definition conflictpublic void addNamedStructure(java.lang.String name, IComponent comp) throws JiBXException
name
- component name to be setcomp
- named componentJiBXException
- on mapping definition conflictprivate NamespaceDefinition getDefaultNamespace(boolean attr)
attr
- flag for attribute namenull
if nonepublic java.lang.String getDefaultURI(boolean attr)
attr
- flag for attribute namenull
if nonepublic int getDefaultIndex(boolean attr)
attr
- flag for attribute namepublic int getNamespaceIndex(java.lang.String uri, boolean attr) throws JiBXException
uri
- namespace URI to be foundattr
- flag for attribute nameJiBXException
- if URI not defined or not usablepublic IMapping getMappingAtLevel(java.lang.String name)
name
- fully qualified class namenull
if not definedpublic IMapping getClassMapping(java.lang.String name)
name
- fully qualified class namenull
if not definedpublic IComponent getNamedStructure(java.lang.String name) throws JiBXException
name
- component name to be foundJiBXException
- if name not definedpublic java.util.ArrayList getMappings()
null
if none defined at levelpublic StringConversion getSpecificConversion(java.lang.String name)
name
- fully qualified class name to be convertednull
if not
foundpublic StringConversion getConversion(ClassFile clas)
clas
- information for target conversion classpublic StringConversion getNamedConversion(QName name)
name
- conversion name to be foundpublic void addConversion(QName name, StringConversion conv) throws JiBXException
name
- format name for this conversionconv
- conversion definition for classJiBXException
- if duplicate conversion definitionpublic void setConversion(StringConversion conv) throws JiBXException
conv
- conversion definition for classJiBXException
- if duplicate conversion definitionpublic void setNamedConversion(QName name, StringConversion conv) throws JiBXException
name
- format name for this conversionconv
- conversion definition for classJiBXException
- if duplicate conversion definitionpublic void setDefaultConversion(QName name, StringConversion conv) throws JiBXException
name
- format name for this conversionconv
- conversion definition for classJiBXException
- if duplicate conversion definitionpublic boolean hasNamespace()
true
if namespaces are defined, false
if notpublic java.util.ArrayList getNamespaces()
null
if none)private void genFillNamespaceIndexes(java.util.ArrayList nss, MethodBuilder mb)
nss
- namespaces to be handledmb
- method builder for generated codeprivate void genFillNamespacePrefixes(java.util.ArrayList nss, MethodBuilder mb)
nss
- namespaces to be handledmb
- method builder for generated codepublic void genLoadNamespaces(MethodBuilder mb)
mb
- method builder for generated codepublic void generateCode(boolean verbose, boolean force) throws JiBXException
verbose
- flag for verbose outputforce
- create marshaller/unmarshaller even for abstract non-base
mappings flagJiBXException
- if error in transformationpublic void linkMappings() throws JiBXException
JiBXException
- if error in linkingpublic void setLinkages() throws JiBXException
JiBXException
- if error in configurationpublic void print(int depth)