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). (Theboundattribute is ignored for segments- settingtypeto null has the same effect as settingboundto 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
constantattribute 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 chargetComponentType()Returns the component type.booleangetDefaultExistence()Returns the default existence setting for this segment as calculated during pre-processing.java.lang.StringgetKey()Returns the name of the property descendant to use for the Map key whencollectionis 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.StringgetTarget()Returns the name of the target property for this segment.booleanisConstant()Returns whether this segment is used to define a bean constant.protected booleanisSupportedChild(ComponentConfig child)Returns whether a node is a supported child of this node.voidsetConstant(boolean constant)Sets whether this segment is used to define a bean constant.voidsetDefaultExistence(boolean defaultExistence)Sets the default existence for this segment, which is calculated during pre-processing.voidsetKey(java.lang.String key)Sets the name of the property descendant to use for the Map key whencollectionis set tomap.voidsetTarget(java.lang.String target)Sets the name of the target property for this segment, which can be used in lieu ofclassto 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:ComponentConfigReturns the component type.- Specified by:
getComponentTypein classComponentConfig- Returns:
- one of
ComponentConfig.GROUP,ComponentConfig.RECORD,ComponentConfig.SEGMENT,ComponentConfig.FIELD,ComponentConfig.CONSTANTorComponentConfig.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:TreeNodeReturns whether a node is a supported child of this node. Called byTreeNode.add(TreeNode).- Overrides:
isSupportedChildin 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 whencollectionis set tomap.- Overrides:
getKeyin 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 whencollectionis 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 ofclassto return simple field types contained within the segment.- Parameters:
target- the target property name
-
-