Package org.beanio.internal.config
Class SegmentConfig
- java.lang.Object
-
- org.beanio.internal.util.TreeNode<ComponentConfig>
-
- org.beanio.internal.config.ComponentConfig
-
- org.beanio.internal.config.PropertyConfig
-
- org.beanio.internal.config.SegmentConfig
-
- All Implemented Interfaces:
java.lang.Cloneable
,java.lang.Iterable<ComponentConfig>
,Replicateable
- Direct Known Subclasses:
RecordConfig
public class SegmentConfig extends PropertyConfig
A segment is used to combine fields, constants and other segments. Wrapper component may also be added to segment.A segment can be bound to a bean object by calling
PropertyConfig.setType(String)
. (Thebound
attribute is ignored for segments- settingtype
to null has the same effect as settingbound
to false.)A segment may repeat if its maximum occurrences is greater than one, and be bound to a collection or array by calling
PropertyConfig.setCollection(String)
.Segments will have their position calculated automatically during compilation.
The
constant
attribute is set during compilation, and is meant for internal use only.- Since:
- 2.0
-
-
Field Summary
-
Fields inherited from class org.beanio.internal.config.PropertyConfig
JSON_TYPE_ARRAY, JSON_TYPE_BOOLEAN, JSON_TYPE_NONE, JSON_TYPE_NUMBER, JSON_TYPE_OBJECT, JSON_TYPE_STRING
-
-
Constructor Summary
Constructors Constructor Description SegmentConfig()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description char
getComponentType()
Returns the component type.boolean
getDefaultExistence()
Returns the default existence setting for this segment as calculated during pre-processing.java.lang.String
getKey()
Returns the name of the property descendant to use for the Map key whencollection
is set tomap
.java.util.List<PropertyConfig>
getPropertyList()
Returns a list of all immediate children including segments, fields and constants and the immediate children of any wrapper child.java.lang.String
getTarget()
Returns the name of the target property for this segment.boolean
isConstant()
Returns whether this segment is used to define a bean constant.protected boolean
isSupportedChild(ComponentConfig child)
Returns whether a node is a supported child of this node.void
setConstant(boolean constant)
Sets whether this segment is used to define a bean constant.void
setDefaultExistence(boolean defaultExistence)
Sets the default existence for this segment, which is calculated during pre-processing.void
setKey(java.lang.String key)
Sets the name of the property descendant to use for the Map key whencollection
is set tomap
.void
setTarget(java.lang.String target)
Sets the name of the target property for this segment, which can be used in lieu ofclass
to return simple field types contained within the segment.-
Methods inherited from class org.beanio.internal.config.PropertyConfig
getCollection, getGetter, getJsonArrayIndex, getJsonName, getJsonType, getLabel, getMaxOccurs, getMaxOccursRef, getMaxSize, getMinOccurs, getMinOccursRef, getMinSize, getOccursRef, getPosition, getSetter, getType, getUntil, getXmlType, isBound, isCollection, isIdentifier, isJsonArray, isLazy, isNillable, isRepeating, setBound, setCollection, setGetter, setIdentifier, setJsonArray, setJsonArrayIndex, setJsonName, setJsonType, setLabel, setLazy, setMaxOccurs, setMaxOccursRef, setMaxSize, setMinOccurs, setMinOccursRef, setMinSize, setNillable, setOccursRef, setPosition, setSetter, setType, setUntil, setXmlType
-
Methods inherited from class org.beanio.internal.config.ComponentConfig
getOrdinal, getXmlName, getXmlNamespace, getXmlPrefix, isXmlNamespaceAware, setOrdinal, setXmlName, setXmlNamespace, setXmlNamespaceAware, setXmlPrefix
-
Methods inherited from class org.beanio.internal.util.TreeNode
add, clone, find, getChildren, getFirst, getName, isDescendant, iterator, print, print, setName, size, sort, toParamString, toString, updateReferences
-
-
-
-
Method Detail
-
getComponentType
public char getComponentType()
Description copied from class:ComponentConfig
Returns the component type.- Specified by:
getComponentType
in classComponentConfig
- Returns:
- one of
ComponentConfig.GROUP
,ComponentConfig.RECORD
,ComponentConfig.SEGMENT
,ComponentConfig.FIELD
,ComponentConfig.CONSTANT
orComponentConfig.WRAPPER
-
getPropertyList
public java.util.List<PropertyConfig> getPropertyList()
Returns a list of all immediate children including segments, fields and constants and the immediate children of any wrapper child.- Returns:
- list of children
-
isConstant
public boolean isConstant()
Returns whether this segment is used to define a bean constant.- Returns:
- true if there is no field descendant of this segment
-
setConstant
public void setConstant(boolean constant)
Sets whether this segment is used to define a bean constant.- Parameters:
constant
- true if there is no field descendant of this segment
-
isSupportedChild
protected boolean isSupportedChild(ComponentConfig child)
Description copied from class:TreeNode
Returns whether a node is a supported child of this node. Called byTreeNode.add(TreeNode)
.- Overrides:
isSupportedChild
in classPropertyConfig
- Parameters:
child
- the node to test- Returns:
- true if the child is allowed
-
getDefaultExistence
public boolean getDefaultExistence()
Returns the default existence setting for this segment as calculated during pre-processing.- Returns:
- the default existence
-
setDefaultExistence
public void setDefaultExistence(boolean defaultExistence)
Sets the default existence for this segment, which is calculated during pre-processing.- Parameters:
defaultExistence
- the default existence
-
getKey
public java.lang.String getKey()
Returns the name of the property descendant to use for the Map key whencollection
is set tomap
.- Overrides:
getKey
in classPropertyConfig
- Returns:
- the key property name
-
setKey
public void setKey(java.lang.String key)
Sets the name of the property descendant to use for the Map key whencollection
is set tomap
.- Parameters:
key
- the key property name
-
getTarget
public java.lang.String getTarget()
Returns the name of the target property for this segment.- Returns:
- the target property name
-
setTarget
public void setTarget(java.lang.String target)
Sets the name of the target property for this segment, which can be used in lieu ofclass
to return simple field types contained within the segment.- Parameters:
target
- the target property name
-
-