Package org.jibx.custom.classes
Class PackageCustom
- java.lang.Object
-
- org.jibx.custom.classes.CustomBase
-
- org.jibx.custom.classes.SharedNestingBase
-
- org.jibx.custom.classes.NestingBase
-
- org.jibx.custom.classes.PackageCustom
-
- All Implemented Interfaces:
IApply
public class PackageCustom extends NestingBase implements IApply
Package customization information.- Author:
- Dennis M. Sosnoski
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ELEMENT_NAME
Element name in XML customization file.private java.util.Map
m_classMap
private boolean
m_fixedNamespace
private java.lang.String
m_fullName
private java.lang.String
m_simpleName
static StringArray
s_allowedAttributes
Enumeration of allowed attribute names-
Fields inherited from class org.jibx.custom.classes.NestingBase
ATTRIBUTE_STYLE_INTEGER, ATTRIBUTE_VALUE_STYLE, ELEMENT_STYLE_INTEGER, ELEMENT_VALUE_STYLE, s_valueStyleEnum
-
Fields inherited from class org.jibx.custom.classes.CustomBase
CAMEL_CASE_NAMES, DERIVE_BY_PACKAGE, DERIVE_FIXED, DERIVE_NONE, DOTTED_NAMES, HYPHENATED_NAMES, REQUIRE_ALL, REQUIRE_NONE, REQUIRE_OBJECTS, REQUIRE_PRIMITIVES, s_namespaceStyleEnum, s_nameStyleEnum, s_requireEnum, UNDERSCORED_NAMES, UPPER_CAMEL_CASE_NAMES
-
-
Constructor Summary
Constructors Constructor Description PackageCustom(java.lang.String simple, java.lang.String full, NestingBase parent)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) ClassCustom
addClassCustomization(java.lang.String name)
Add information for class in this package.void
apply(IClassLocator loc)
Apply customizations to default values.void
fixNamespace()
Fix the namespace for this package.ClassCustom
getClassCustomization(java.lang.String name)
Get existing information for class in this package.java.lang.String
getName()
Get fully-qualified package name.private void
preSet(IUnmarshallingContext uctx)
Make sure all attributes are defined.-
Methods inherited from class org.jibx.custom.classes.NestingBase
getStripPrefixes, getStripSuffixes, getValueStyle, isForceMapping, isForceStructureNames, isMapAbstract, isPropertyAccess, isWrapCollections, setMapAbstract, setValueStyle
-
Methods inherited from class org.jibx.custom.classes.SharedNestingBase
convertName, getFormatterClass, getNamespace, getNamespaceStyle, getNameStyle, getSpecifiedNamespace, isObjectRequired, isPrimitiveRequired, isUseJavaDocs, setNamespace, setNamespaceStyle, setNameStyle
-
Methods inherited from class org.jibx.custom.classes.CustomBase
convertName, deriveItemName, deriveNamespace, getContainingObject, getGlobal, getParent, packageOfType, packageToNamespace, validateAttributes
-
-
-
-
Field Detail
-
s_allowedAttributes
public static final StringArray s_allowedAttributes
Enumeration of allowed attribute names
-
ELEMENT_NAME
public static final java.lang.String ELEMENT_NAME
Element name in XML customization file.- See Also:
- Constant Field Values
-
m_simpleName
private java.lang.String m_simpleName
-
m_fullName
private java.lang.String m_fullName
-
m_fixedNamespace
private boolean m_fixedNamespace
-
m_classMap
private java.util.Map m_classMap
-
-
Constructor Detail
-
PackageCustom
PackageCustom(java.lang.String simple, java.lang.String full, NestingBase parent)
Constructor. This has package access so that it can be used from theGlobalCustom
class.- Parameters:
simple
- simple package namefull
- fully-qualified package nameparent
-
-
-
Method Detail
-
preSet
private void preSet(IUnmarshallingContext uctx)
Make sure all attributes are defined.- Parameters:
uctx
- unmarshalling context
-
getName
public java.lang.String getName()
Get fully-qualified package name.- Returns:
- package name (empty string if default package)
-
getClassCustomization
public ClassCustom getClassCustomization(java.lang.String name)
Get existing information for class in this package.- Parameters:
name
- simple class name (without package)- Returns:
- class information (
null
if no existing information)
-
addClassCustomization
ClassCustom addClassCustomization(java.lang.String name)
Add information for class in this package. This just creates the basic class information structure and returns it, without populating the class details.- Parameters:
name
- simple class name (without package)- Returns:
- class information (
null
if no existing information)
-
fixNamespace
public void fixNamespace()
Fix the namespace for this package. If there's a parent package and that package namespace has not yet been fixed, this first fixes the parent package namespace by means of a recursive call.
-
apply
public void apply(IClassLocator loc)
Apply customizations to default values. This fills in the information for classes in this package by deriving information for fields or properties in each class. This is intended to be used once, after customizations have been unmarshalled.
-
-