Package org.beanio.internal.parser
Class Record
- java.lang.Object
-
- org.beanio.internal.util.TreeNode<Component>
-
- org.beanio.internal.parser.Component
-
- org.beanio.internal.parser.ParserComponent
-
- org.beanio.internal.parser.Segment
-
- org.beanio.internal.parser.Record
-
-
Constructor Summary
Constructors Constructor Description Record()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Selectorclose(ParsingContext context)Checks for any unsatisfied components before the stream is closed.intgetCount(ParsingContext context)Returns the number of times this component was matched within the current iteration of its parent component.RecordFormatgetFormat()protected java.lang.StringgetKey(java.lang.String namespace, java.lang.String name)Returns a Map key for accessing state information for this Node.intgetMaxOccurs()Returns the maximum number of occurrences of this component (within the context of its parent).intgetMinOccurs()Returns the minimum number of occurrences of this component (within the context of its parent).intgetOrder()Returns the order of this component (within the context of its parent).booleanisMaxOccursReached(ParsingContext context)Returns whether this component has reached its maximum occurrences.booleanisRecordGroup()Returns whether this component is a record group.booleanmarshal(MarshallingContext context)Marshals a record.SelectormatchAny(UnmarshallingContext context)Finds a parser that matches the input record.booleanmatches(UnmarshallingContext context)Returns whether this parser and its children match a record being unmarshalled.SelectormatchNext(MarshallingContext context)Finds a parser for marshalling a bean object.SelectormatchNext(UnmarshallingContext context)Finds a parser for unmarshalling a record based on the current state of the stream.voidregisterLocals(java.util.Set<ParserLocal<?>> locals)Called by a stream to register variables stored in the parsing context.voidreset(ParsingContext context)Resets the component count of this Selector's children.voidrestoreState(ParsingContext context, java.lang.String namespace, java.util.Map<java.lang.String,java.lang.Object> state)Restores a Map of previously stored state information.voidsetCount(ParsingContext context, int count)Sets the number of times this component was matched within the current iteration of its parent component.voidsetFormat(RecordFormat format)voidsetMaxOccurs(int maxOccurs)voidsetMinOccurs(int minOccurs)voidsetOrder(int order)voidskip(UnmarshallingContext context)Skips a record or group of records.protected voidtoParamString(java.lang.StringBuilder s)Called byTreeNode.toString()to append node parameters to the output.booleanunmarshal(UnmarshallingContext context)Unmarshals a record.voidupdateState(ParsingContext context, java.lang.String namespace, java.util.Map<java.lang.String,java.lang.Object> state)Updates a Map with the current state of the Marshaller.-
Methods inherited from class org.beanio.internal.parser.Segment
clearValue, getProperty, getSize, getValue, hasContent, isExistencePredetermined, isIdentifier, isOptional, isRepeating, setExistencePredetermined, setIdentifier, setOptional, setProperty, setRepeating, setSize, setValue
-
Methods inherited from class org.beanio.internal.parser.ParserComponent
isSupportedChild
-
Methods inherited from class org.beanio.internal.util.TreeNode
add, clone, find, getChildren, getFirst, getName, isDescendant, iterator, print, print, setName, size, sort, toString, updateReferences
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.beanio.internal.parser.Parser
clearValue, getName, getSize, getValue, hasContent, isIdentifier, isOptional, setValue
-
Methods inherited from interface org.beanio.internal.parser.Selector
getProperty
-
-
-
-
Method Detail
-
marshal
public boolean marshal(MarshallingContext context) throws java.io.IOException
Description copied from interface:ParserMarshals a record.- Specified by:
marshalin interfaceParser- Overrides:
marshalin classSegment- Parameters:
context- theMarshallingContext- Returns:
- whether a value was marshalled
- Throws:
java.io.IOException- if an I/O error occurs
-
unmarshal
public boolean unmarshal(UnmarshallingContext context)
Description copied from interface:ParserUnmarshals a record.- Specified by:
unmarshalin interfaceParser- Overrides:
unmarshalin classSegment- Parameters:
context- theUnmarshallingContext- Returns:
trueif this component was present in the unmarshalled record, orfalseotherwise
-
skip
public void skip(UnmarshallingContext context)
Description copied from interface:SelectorSkips a record or group of records.- Specified by:
skipin interfaceSelector- Parameters:
context- theUnmarshallingContext
-
matchNext
public Selector matchNext(MarshallingContext context)
Description copied from interface:SelectorFinds a parser for marshalling a bean object. If matched by this Selector, the method should set the bean object on the property tree and return itself.- Specified by:
matchNextin interfaceSelector- Parameters:
context- theMarshallingContext- Returns:
- the matched
Selectorfor marshalling the bean object
-
matchNext
public Selector matchNext(UnmarshallingContext context)
Description copied from interface:SelectorFinds a parser for unmarshalling a record based on the current state of the stream.- Specified by:
matchNextin interfaceSelector- Parameters:
context- theUnmarshallingContext- Returns:
- the matched
Selectorfor unmarshalling the record
-
matches
public boolean matches(UnmarshallingContext context)
Description copied from interface:ParserReturns whether this parser and its children match a record being unmarshalled.- Specified by:
matchesin interfaceParser- Overrides:
matchesin classSegment- Parameters:
context- theUnmarshallingContext- Returns:
- true if matched, false otherwise
-
matchAny
public Selector matchAny(UnmarshallingContext context)
Description copied from interface:SelectorFinds a parser that matches the input record. This method is invoked whenSelector.matchNext(UnmarshallingContext)returns null, in order to differentiate between unexpected and unidentified record types.- Specified by:
matchAnyin interfaceSelector- Parameters:
context- theUnmarshallingContext- Returns:
- the matched
Selector
-
close
public Selector close(ParsingContext context)
Description copied from interface:SelectorChecks for any unsatisfied components before the stream is closed.- Specified by:
closein interfaceSelector- Parameters:
context- theParsingContext- Returns:
- the first unsatisfied node
-
reset
public void reset(ParsingContext context)
Description copied from interface:SelectorResets the component count of this Selector's children.- Specified by:
resetin interfaceSelector- Parameters:
context- theParsingContext
-
updateState
public void updateState(ParsingContext context, java.lang.String namespace, java.util.Map<java.lang.String,java.lang.Object> state)
Updates a Map with the current state of the Marshaller. Used for creating restartable Writers for Spring Batch.- Specified by:
updateStatein interfaceSelector- Parameters:
namespace- a String to prefix all state keys withstate- the Map to update with the latest statecontext- theParsingContext- Since:
- 1.2
-
restoreState
public void restoreState(ParsingContext context, java.lang.String namespace, java.util.Map<java.lang.String,java.lang.Object> state)
Restores a Map of previously stored state information. Used for restarting XML writers from Spring Batch.- Specified by:
restoreStatein interfaceSelector- Parameters:
namespace- a String to prefix all state keys withstate- the Map containing the state to restorecontext- theParsingContext- Since:
- 1.2
-
getKey
protected java.lang.String getKey(java.lang.String namespace, java.lang.String name)Returns a Map key for accessing state information for this Node.- Parameters:
namespace- the assigned namespace for the keyname- the state information to access- Returns:
- the fully qualified key
-
isRecordGroup
public boolean isRecordGroup()
Description copied from interface:SelectorReturns whether this component is a record group.- Specified by:
isRecordGroupin interfaceSelector- Returns:
- true if this component is a record group, false otherwise
-
getMinOccurs
public int getMinOccurs()
Description copied from interface:SelectorReturns the minimum number of occurrences of this component (within the context of its parent).- Specified by:
getMinOccursin interfaceSelector- Returns:
- the minimum occurrences
-
setMinOccurs
public void setMinOccurs(int minOccurs)
-
getMaxOccurs
public int getMaxOccurs()
Description copied from interface:SelectorReturns the maximum number of occurrences of this component (within the context of its parent).- Specified by:
getMaxOccursin interfaceSelector- Returns:
- the maximum occurrences
-
setMaxOccurs
public void setMaxOccurs(int maxOccurs)
-
getOrder
public int getOrder()
Description copied from interface:SelectorReturns the order of this component (within the context of its parent).
-
setOrder
public void setOrder(int order)
-
getCount
public int getCount(ParsingContext context)
Description copied from interface:SelectorReturns the number of times this component was matched within the current iteration of its parent component.- Specified by:
getCountin interfaceSelector- Parameters:
context- theParsingContext- Returns:
- the match count
-
setCount
public void setCount(ParsingContext context, int count)
Description copied from interface:SelectorSets the number of times this component was matched within the current iteration of its parent component.- Specified by:
setCountin interfaceSelector- Parameters:
context- theParsingContextcount- the new match count
-
getFormat
public RecordFormat getFormat()
-
setFormat
public void setFormat(RecordFormat format)
-
registerLocals
public void registerLocals(java.util.Set<ParserLocal<?>> locals)
Description copied from class:ComponentCalled by a stream to register variables stored in the parsing context. This method should be overridden by subclasses that need to register one or more parser context variables.- Overrides:
registerLocalsin classSegment- Parameters:
locals- set of local variables
-
isMaxOccursReached
public boolean isMaxOccursReached(ParsingContext context)
Description copied from interface:SelectorReturns whether this component has reached its maximum occurrences.- Specified by:
isMaxOccursReachedin interfaceSelector- Parameters:
context- theParsingContext- Returns:
- true if maximum occurrences has been reached
-
toParamString
protected void toParamString(java.lang.StringBuilder s)
Description copied from class:TreeNodeCalled byTreeNode.toString()to append node parameters to the output.- Overrides:
toParamStringin classSegment- Parameters:
s- the output to append
-
-