Package org.beanio.internal.parser
Class DelegatingParser
- java.lang.Object
-
- org.beanio.internal.util.TreeNode<Component>
-
- org.beanio.internal.parser.Component
-
- org.beanio.internal.parser.ParserComponent
-
- org.beanio.internal.parser.DelegatingParser
-
- All Implemented Interfaces:
java.lang.Cloneable,java.lang.Iterable<Component>,Parser,Replicateable
- Direct Known Subclasses:
Aggregation,JsonWrapper,RecordAggregation,XmlWrapper
public abstract class DelegatingParser extends ParserComponent
- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor Description DelegatingParser()Constructs a newDelegatingParser.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearValue(ParsingContext context)Clears the current property value.protected ParsergetParser()intgetSize()Returns the size of a single occurrence of this element, which is used to offset field positions for repeating segments and fields.java.lang.ObjectgetValue(ParsingContext context)Returns the unmarshalled property value.booleanhasContent(ParsingContext context)Returns whether this parser or any of its descendant have content for marshalling.booleanisIdentifier()Returns whether this parser or any descendant of this parser is used to identify a record during unmarshalling.booleanisOptional()Returns whether this node must exist during unmarshalling.booleanmarshal(MarshallingContext context)Marshals a record.booleanmatches(UnmarshallingContext context)Returns whether this parser and its children match a record being unmarshalled.voidsetValue(ParsingContext context, java.lang.Object value)Sets the property value for marshaling.booleanunmarshal(UnmarshallingContext context)Unmarshals a record.-
Methods inherited from class org.beanio.internal.parser.ParserComponent
isSupportedChild
-
Methods inherited from class org.beanio.internal.parser.Component
registerLocals
-
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
-
matches
public boolean matches(UnmarshallingContext context)
Description copied from interface:ParserReturns whether this parser and its children match a record being unmarshalled.- Parameters:
context- theUnmarshallingContext- Returns:
- true if matched, false otherwise
-
unmarshal
public boolean unmarshal(UnmarshallingContext context)
Description copied from interface:ParserUnmarshals a record.- Parameters:
context- theUnmarshallingContext- Returns:
trueif this component was present in the unmarshalled record, orfalseotherwise
-
marshal
public boolean marshal(MarshallingContext context) throws java.io.IOException
Description copied from interface:ParserMarshals a record.- Parameters:
context- theMarshallingContext- Returns:
- whether a value was marshalled
- Throws:
java.io.IOException- if an I/O error occurs
-
clearValue
public void clearValue(ParsingContext context)
Description copied from interface:ParserClears the current property value.- Parameters:
context- theParsingContext
-
setValue
public void setValue(ParsingContext context, java.lang.Object value)
Description copied from interface:ParserSets the property value for marshaling.- Parameters:
context- theParsingContextvalue- the property value
-
getValue
public java.lang.Object getValue(ParsingContext context)
Description copied from interface:ParserReturns the unmarshalled property value.- Parameters:
context- theParsingContext- Returns:
- the property value
-
getSize
public int getSize()
Description copied from interface:ParserReturns the size of a single occurrence of this element, which is used to offset field positions for repeating segments and fields.The concept of size is dependent on the stream format. The size of an element in a fixed length stream format is determined by the length of the element in characters, while other stream formats calculate size based on the number of fields. Some stream formats, such as XML, may ignore size settings.
- Returns:
- the size of this parser element
-
isOptional
public boolean isOptional()
Description copied from interface:ParserReturns whether this node must exist during unmarshalling.- Returns:
- true if this node is optional during unmarshalling, false otherwise
-
isIdentifier
public boolean isIdentifier()
Description copied from interface:ParserReturns whether this parser or any descendant of this parser is used to identify a record during unmarshalling.- Returns:
- true if this parser or any descendant is used to identify a record
-
hasContent
public boolean hasContent(ParsingContext context)
Description copied from interface:ParserReturns whether this parser or any of its descendant have content for marshalling.- Parameters:
context- theParsingContext- Returns:
- true if there is content for marshalling, false otherwise
-
getParser
protected Parser getParser()
-
-