package unparsers
- Alphabetic
- Public
- All
Type Members
- class AlignmentFillUnparser extends AlignmentPrimUnparser with SuspendableUnparser
- class AlignmentFillUnparserSuspendableOperation extends SuspendableOperation
- abstract class BCDDecimalBaseUnparser extends PackedBinaryDecimalBaseUnparser
- final class BCDDecimalDelimitedUnparser extends BCDDecimalBaseUnparser
- class BCDDecimalKnownLengthUnparser extends BCDDecimalBaseUnparser with HasKnownLengthInBits
- final class BCDDecimalPrefixedLengthUnparser extends BCDDecimalBaseUnparser with KnownPrefixedLengthUnparserMixin
- class BCDDecimalRuntimeLengthUnparser extends BCDDecimalBaseUnparser with HasRuntimeExplicitLength
- abstract class BCDIntegerBaseUnparser extends PackedBinaryIntegerBaseUnparser
- final class BCDIntegerDelimitedUnparser extends BCDIntegerBaseUnparser
- class BCDIntegerKnownLengthUnparser extends BCDIntegerBaseUnparser with HasKnownLengthInBits
- final class BCDIntegerPrefixedLengthUnparser extends BCDIntegerBaseUnparser with KnownPrefixedLengthUnparserMixin
- class BCDIntegerRuntimeLengthUnparser extends BCDIntegerBaseUnparser with HasRuntimeExplicitLength
- class BinaryBooleanPrefixedLengthUnparser extends BinaryBooleanUnparserBase with KnownPrefixedLengthUnparserMixin
- class BinaryBooleanUnparser extends BinaryBooleanUnparserBase
- abstract class BinaryBooleanUnparserBase extends PrimUnparser
- class BinaryDecimalKnownLengthUnparser extends BinaryDecimalUnparserBase with HasKnownLengthInBits
- class BinaryDecimalPrefixedLengthUnparser extends BinaryDecimalUnparserBase with KnownPrefixedLengthUnparserMixin
- class BinaryDecimalRuntimeLengthUnparser extends BinaryDecimalUnparserBase with HasRuntimeExplicitLength
- abstract class BinaryDecimalUnparserBase extends BinaryNumberBaseUnparser
- class BinaryDoubleUnparser extends BinaryNumberBaseUnparser
- class BinaryFloatUnparser extends BinaryNumberBaseUnparser
- abstract class BinaryIntegerBaseUnparser extends BinaryNumberBaseUnparser
- class BinaryIntegerKnownLengthUnparser extends BinaryIntegerBaseUnparser with HasKnownLengthInBits
- class BinaryIntegerPrefixedLengthUnparser extends BinaryIntegerBaseUnparser with KnownPrefixedLengthUnparserMixin
- class BinaryIntegerRuntimeLengthUnparser extends BinaryIntegerBaseUnparser with HasRuntimeExplicitLength
- abstract class BinaryNumberBaseUnparser extends PrimUnparser
-
trait
CalculatedPrefixedLengthUnparserMixin extends AnyRef
This trait is to be used with prefixed length unparsers where the length must be calculated based on the value length of the data.
This trait is to be used with prefixed length unparsers where the length must be calculated based on the value length of the data. This means the data must be unparsed, the value length calculated, and that value will be assigned to the prefix length element.
- class CaptureEndOfContentLengthUnparser extends PrimUnparser
- class CaptureEndOfValueLengthUnparser extends PrimUnparser
- class CaptureStartOfContentLengthUnparser extends PrimUnparser
- class CaptureStartOfValueLengthUnparser extends PrimUnparser
- trait CaptureUnparsingValueLength extends AnyRef
- class ChoiceCombinatorUnparser extends CombinatorUnparser with ToBriefXMLImpl
- case class ComplexNilOrContentUnparser(ctxt: ElementRuntimeData, nilUnparser: Unparser, contentUnparser: Unparser) extends CombinatorUnparser with Product with Serializable
- class ComplexTypeUnparser extends CombinatorUnparser
- case class ConvertBinaryCalendarSecMilliUnparser(context: ElementRuntimeData, binCalRep: BinaryCalendarRep, epochTimeMillis: Long, lengthInBits: Int, hasTZ: Boolean) extends PrimUnparser with Product with Serializable
- case class ConvertTextBooleanUnparser(erd: ElementRuntimeData, textBooleanTrueRepEv: TextBooleanTrueRepEv, textBooleanFalseRepEv: TextBooleanFalseRepEv) extends TextPrimUnparser with Product with Serializable
- case class ConvertTextCalendarUnparser(erd: ElementRuntimeData, pattern: String, localeEv: CalendarLanguageEv, calendarEv: CalendarEv) extends ConvertTextCalendarProcessorBase with TextPrimUnparser with Product with Serializable
- case class ConvertTextCombinatorUnparser(rd: TermRuntimeData, valueUnparser: Unparser, converterUnparser: Unparser) extends CombinatorUnparser with Product with Serializable
- case class ConvertTextNumberUnparser[S](helper: ConvertTextNumberParserUnparserHelperBase[S], nff: NumberFormatFactoryBase[S], context: ElementRuntimeData) extends PrimUnparser with ToBriefXMLImpl with Product with Serializable
- case class ConvertZonedCombinatorUnparser(rd: TermRuntimeData, valueUnparser: Unparser, converterUnparser: Unparser) extends CombinatorUnparser with Product with Serializable
- case class ConvertZonedNumberUnparser[S](helper: ConvertTextNumberParserUnparserHelperBase[S], opl: util.DecimalUtils.OverpunchLocation.Value, zonedSignStyle: TextZonedSignStyle, context: ElementRuntimeData) extends PrimUnparser with ToBriefXMLImpl with Product with Serializable
- class DelimiterStackUnparser extends CombinatorUnparser
- class DelimiterTextUnparser extends TextPrimUnparser
- class DynamicEscapeSchemeUnparser extends CombinatorUnparser
- class ElementOVCSpecifiedLengthUnparser extends ElementUnparserBase with OVCStartEndStrategy with ElementSpecifiedLengthMixin
-
class
ElementOVCSpecifiedLengthUnparserSuspendableExpresion extends SuspendableExpression
For dfdl:outputValueCalc elements.
- class ElementOVCUnspecifiedLengthUnparser extends ElementUnparserBase with OVCStartEndStrategy with RepMoveMixin
- trait ElementSpecifiedLengthMixin extends AnyRef
-
class
ElementSpecifiedLengthUnparser extends ElementUnparserBase with RegularElementUnparserStartEndStrategy with ElementSpecifiedLengthMixin
For regular (not dfdl:outputValueCalc) elements.
-
sealed abstract
class
ElementUnparserBase extends CombinatorUnparser with RepMoveMixin with ElementUnparserStartEndStrategy
Base class for unparsing elements
Base class for unparsing elements
Depends on use of separate unparsers for the padding/fill regions which calculate their own sizes, generally after the length of the value region has been determined.
-
class
ElementUnparserNoRep extends ElementUnparserBase with RegularElementUnparserStartEndStrategy
The unparser used for an element that has inputValueCalc.
The unparser used for an element that has inputValueCalc.
The only thing we do is move over one child element, because the inputValueCalc element does take up one child element position. However, not in the group - because that is what is used to decide whether to place separators, and there should not be any separator corresponding to an IVC element.
-
sealed
trait
ElementUnparserStartEndStrategy extends AnyRef
specifies the way the element will consume infoset events,
-
class
ElementUnspecifiedLengthUnparser extends ElementUnparserBase with RegularElementUnparserStartEndStrategy with RepMoveMixin
Elements that, when unparsing, have no length specified.
Elements that, when unparsing, have no length specified.
That is, lengtKind delimited, pattern, and implicit(for complexTypes)
- class ElementUnusedUnparser extends PrimUnparser with SuspendableUnparser
- class ElementUnusedUnparserSuspendableOperation extends SuspendableOperation with NeedValueAndTargetLengthMixin
- final class HexBinaryLengthPrefixedUnparser extends HexBinaryMinLengthInBytesUnparser with KnownPrefixedLengthUnparserMixin
- class HexBinaryMinLengthInBytesUnparser extends HexBinaryUnparserBase
- final class HexBinarySpecifiedLengthUnparser extends HexBinaryUnparserBase
- abstract class HexBinaryUnparserBase extends PrimUnparser
-
class
HexBinaryZeroLengthDetector extends ZeroLengthDetector with HexBinaryZeroLengthMixin
Use when the element is of simple type hexBinary, not nillable.
- sealed trait HexBinaryZeroLengthMixin extends AnyRef
- class HiddenChoiceCombinatorUnparser extends CombinatorUnparser with ToBriefXMLImpl
- abstract class IBM4690PackedDecimalBaseUnparser extends PackedBinaryDecimalBaseUnparser
- final class IBM4690PackedDecimalDelimitedUnparser extends IBM4690PackedDecimalBaseUnparser
- class IBM4690PackedDecimalKnownLengthUnparser extends IBM4690PackedDecimalBaseUnparser with HasKnownLengthInBits
- final class IBM4690PackedDecimalPrefixedLengthUnparser extends IBM4690PackedDecimalBaseUnparser with KnownPrefixedLengthUnparserMixin
- class IBM4690PackedDecimalRuntimeLengthUnparser extends IBM4690PackedDecimalBaseUnparser with HasRuntimeExplicitLength
- abstract class IBM4690PackedIntegerBaseUnparser extends PackedBinaryIntegerBaseUnparser
- final class IBM4690PackedIntegerDelimitedUnparser extends IBM4690PackedIntegerBaseUnparser
- class IBM4690PackedIntegerKnownLengthUnparser extends IBM4690PackedIntegerBaseUnparser with HasKnownLengthInBits
- final class IBM4690PackedIntegerPrefixedLengthUnparser extends IBM4690PackedIntegerBaseUnparser with KnownPrefixedLengthUnparserMixin
- class IBM4690PackedIntegerRuntimeLengthUnparser extends IBM4690PackedIntegerBaseUnparser with HasRuntimeExplicitLength
-
trait
KnownPrefixedLengthUnparserMixin extends AnyRef
This trait is to be used with prefixed length unparsers where the length is known without needing to unparse the data.
This trait is to be used with prefixed length unparsers where the length is known without needing to unparse the data. This means there is either a fixed length (like in the case of some binary numbers), or the length can be determined completly be inspecting the infoset data (like in the case of packed decimals). The length calculation performed in the getBitLength function, which returns the length of the data in bits.
- class LayeredSequenceUnparser extends OrderedUnseparatedSequenceUnparser
- class LeftCenteredPaddingUnparser extends OnlyPaddingUnparser
- class LeftCenteredPaddingUnparserSuspendableOperation extends OnlyPaddingUnparserSuspendableOperation
- class LiteralNilDelimitedEndOfDataUnparser extends StringDelimitedUnparser
- class LiteralValueNilOfSpecifiedLengthUnparser extends StringNoTruncateUnparser
- class MandatoryTextAlignmentUnparser extends AlignmentFillUnparser with TextProcessor
- class NadaUnparser extends PrimUnparser
-
sealed
trait
NeedValueAndTargetLengthMixin extends AnyRef
Several sub-unparsers need to have the value length, and the target length in order to compute their own length.
-
class
NeverZeroLengthDetector extends ZeroLengthDetector
Use when analysis shows the element can never be zero length.
- class NewVariableInstanceEndUnparser extends PrimUnparserNoData
- class NewVariableInstanceStartUnparser extends PrimUnparserNoData
- class NilLiteralCharacterUnparser extends TextPrimUnparser with SuspendableUnparser
- class NilLiteralCharacterUnparserSuspendableOperation extends SuspendableOperation with PaddingUnparserMixin
- class NilStringLiteralForUnparserEv extends Evaluatable[String] with InfosetCachedEvaluatable[String]
-
class
NillableHexBinaryZeroLengthDetector extends ZeroLengthDetector with NillableZeroLengthMixin with HexBinaryZeroLengthMixin
Use for nillable hexBinary when they can be zero length two different ways.
-
class
NillableStringZeroLengthDetector extends ZeroLengthDetector with NillableZeroLengthMixin with StringZeroLengthMixin
Use for nillable strings when they can be zero length two different ways.
-
class
NillableZeroLengthDetector extends ZeroLengthDetector with NillableZeroLengthMixin
Use when the characteristics of the nil representation are such that unparsing a nilled element will result in zero length.
-
sealed
trait
NillableZeroLengthMixin extends AnyRef
Applies to both simple and complex types that are nillable.
- trait OVCStartEndStrategy extends ElementUnparserStartEndStrategy
-
class
OnlyPaddingUnparser extends TextPrimUnparser with SuspendableUnparser
Doesn't matter if we're left or right padding if we're the only padding
- class OnlyPaddingUnparserSuspendableOperation extends SuspendableOperation with PaddingUnparserMixin
- class OrderedSeparatedSequenceUnparser extends OrderedSequenceUnparserBase
- abstract class OrderedSequenceUnparserBase extends CombinatorUnparser
- class OrderedUnseparatedSequenceUnparser extends OrderedSequenceUnparserBase
- abstract class PackedBinaryBaseUnparser extends PrimUnparser with PackedBinaryConversion
- trait PackedBinaryConversion extends AnyRef
- abstract class PackedBinaryDecimalBaseUnparser extends PackedBinaryBaseUnparser
- abstract class PackedBinaryIntegerBaseUnparser extends PackedBinaryBaseUnparser
- abstract class PackedDecimalBaseUnparser extends PackedBinaryDecimalBaseUnparser
- final class PackedDecimalDelimitedUnparser extends PackedDecimalBaseUnparser
- class PackedDecimalKnownLengthUnparser extends PackedDecimalBaseUnparser with HasKnownLengthInBits
- final class PackedDecimalPrefixedLengthUnparser extends PackedDecimalBaseUnparser with KnownPrefixedLengthUnparserMixin
- class PackedDecimalRuntimeLengthUnparser extends PackedDecimalBaseUnparser with HasRuntimeExplicitLength
- abstract class PackedIntegerBaseUnparser extends PackedBinaryIntegerBaseUnparser
- final class PackedIntegerDelimitedUnparser extends PackedIntegerBaseUnparser
- class PackedIntegerKnownLengthUnparser extends PackedIntegerBaseUnparser with HasKnownLengthInBits
- final class PackedIntegerPrefixedLengthUnparser extends PackedIntegerBaseUnparser with KnownPrefixedLengthUnparserMixin
- class PackedIntegerRuntimeLengthUnparser extends PackedIntegerBaseUnparser with HasRuntimeExplicitLength
-
trait
PaddingRuntimeMixin extends AnyRef
When dfdl:lengthKind is 'explicit' (and dfdl:length is an expression), 'delimited', 'prefixed', 'pattern' the data value is padded to the length given by the XSD minLength facet for type 'xs:string' or dfdl:textOutputMinLength property for other types.
When dfdl:lengthKind is 'explicit' (and dfdl:length is an expression), 'delimited', 'prefixed', 'pattern' the data value is padded to the length given by the XSD minLength facet for type 'xs:string' or dfdl:textOutputMinLength property for other types.
dfdl:textOutputMinLength: Only used when dfdl:textPadKind is 'padChar' and dfdl:lengthKind is 'delimited', 'prefixed', 'pattern', 'explicit' (when dfdl:length is an expression) or 'endOfParent', and type is not xs:string Specifies the minimum content length during unparsing for simple types that do not allow the XSD minLength facet to be specified. For dfdl:lengthKind 'delimited', 'pattern' and 'endOfParent' the length units are always characters, for other dfdl:lengthKinds the length units are specified by the dfdl:lengthUnits property. If dfdl:textOutputMinLength is zero or less than the length of the representation text then no padding occurs.
- trait PaddingUnparserMixin extends NeedValueAndTargetLengthMixin
- class PrefixLengthSuspendableOperation extends SuspendableOperation with CalculatedPrefixedLengthUnparserMixin
- sealed trait RegularElementUnparserStartEndStrategy extends ElementUnparserStartEndStrategy
- sealed trait RepMoveMixin extends AnyRef
- class RepOrderedSeparatedSequenceChildUnparser extends RepeatingChildUnparser with Separated
- class RepOrderedUnseparatedSequenceChildUnparser extends RepeatingChildUnparser with Unseparated
-
abstract
class
RepeatingChildUnparser extends SequenceChildUnparser with MinMaxRepeatsMixin
Base for unparsers of array/optional elements.
Base for unparsers of array/optional elements.
The unparse() method unparses exactly one occurrance, does NOT iterate over all the occurrences.
- class RightCenteredPaddingUnparser extends OnlyPaddingUnparser
- class RightCenteredPaddingUnparserSuspendaableOperation extends OnlyPaddingUnparserSuspendableOperation
- class RightFillUnparser extends ElementUnusedUnparser
- class RightFillUnparserSuspendableOperation extends ElementUnusedUnparserSuspendableOperation with PaddingUnparserMixin
- class ScalarOrderedSeparatedSequenceChildUnparser extends SequenceChildUnparser with Separated
- class ScalarOrderedUnseparatedSequenceChildUnparser extends SequenceChildUnparser with Unseparated
- trait Separated extends AnyRef
- sealed trait SeparatorSuppressionAction extends Serializable
-
sealed
trait
SeparatorSuppressionMode extends Serializable
DFDL Spec.
DFDL Spec. section 14.2.3 specifies only a few different behaviors for separator suppression. Each has an algorithm.
-
abstract
class
SequenceChildUnparser extends CombinatorUnparser
base for unparsers for the children of sequences.
base for unparsers for the children of sequences.
There is one sequence child unparser for each child (declared) of the sequence.
These do not iterate over multiple recurring instances. That iteration happens in the caller. These unparse only a single occurrence when the child unparser is for an array/optional element.
- final class SetVariableSuspendableExpression extends SuspendableExpression
-
final
class
SetVariableUnparser extends PrimUnparserNoData
Used when unparsing to evaluate dfdl:setVariable statements.
Used when unparsing to evaluate dfdl:setVariable statements.
TODO: Possible bug. This will allow expressions to forward reference, even when the variables are being referenced from expressions that are NOT allowed to forward reference - e.g., property value expressions such as delimiters and byte order.
This forward suspension is only supposed to be allowed for dfdl:outputValueCalc.
- case class SimpleNilOrValueUnparser(ctxt: ElementRuntimeData, nilUnparser: Unparser, valueUnparser: Unparser) extends CombinatorUnparser with Product with Serializable
- class SimpleTypeRetryUnparser extends PrimUnparser with SuspendableUnparser
- class SimpleTypeRetryUnparserSuspendableOperation extends SuspendableOperation
- class SkipRegionUnparser extends AlignmentPrimUnparser
- final class SpecifiedLengthExplicitImplicitUnparser extends CombinatorUnparser
- class SpecifiedLengthPrefixedUnparser extends CombinatorUnparser with CaptureUnparsingValueLength with CalculatedPrefixedLengthUnparserMixin
-
sealed abstract
class
SpecifiedLengthUnparserBase extends AnyRef
Restricts the bits available for unparsing to just those within the specified length computed.
Restricts the bits available for unparsing to just those within the specified length computed.
If a unparser (supplied as arg) runs past the available space, that's an unparse error.
Truncation of strings - the only case where we truncate, and only when dfdl:truncateSpecifiedLengthString is 'yes', is handled elsewhere.
- sealed class StringDelimitedUnparser extends TextPrimUnparser
-
class
StringMaybeTruncateBitsUnparser extends StringSpecifiedLengthUnparserTruncateBase
Truncates strings to the right length measured in bits.
Truncates strings to the right length measured in bits. LengthUnits is Bits, but we still don't know whether the encoding is fixed width or variable width.
-
class
StringMaybeTruncateCharactersUnparser extends StringSpecifiedLengthUnparserTruncateBase
Truncates strings to the right length measured in characters.
Truncates strings to the right length measured in characters.
LengthUnits is 'characters', but we still don't know what encoding so whether it is fixed or variable width.
What's interesting is that we don't care whether the encoding is fixed or variable width in this case.
This is more efficient for variable-width encodings than lengthUnits 'bytes' (or bits), because we don't need a pass to measure the number of bits.
So, for utf-8, we should recommend lengthUnits 'characters' ? Maybe so.
- class StringNoTruncateUnparser extends StringSpecifiedLengthUnparserBase
- sealed abstract class StringSpecifiedLengthUnparserBase extends TextPrimUnparser
- sealed abstract class StringSpecifiedLengthUnparserTruncateBase extends StringSpecifiedLengthUnparserBase
-
class
StringZeroLengthDetector extends ZeroLengthDetector with StringZeroLengthMixin
Use when the element is of simple type string, not nillable.
- sealed trait StringZeroLengthMixin extends AnyRef
-
class
TargetLengthOperation extends SuspendableOperation
Carries out computation of the target length for a specified-length element.
Carries out computation of the target length for a specified-length element.
This is not a SuspendableExpression because the dfdl:length property cannot be forward referencing. However, it can refer backward to elements that have dfdl:outputValueCalc or variables that have not yet been computed. So we have to retry this in order to get the target length used to compute the amount of padding or the amount of unused space.
- trait Unseparated extends AnyRef
-
sealed
trait
ZeroLengthDetector extends Serializable
Rapidly determines if an Infoset Element will have zero length when unparsed.
Rapidly determines if an Infoset Element will have zero length when unparsed.
This is required for proper separator suppression in sequence unparsers.
The specific concrete sub-class is selected based on a compile time analysis of whether the element can have zero length at all, and if so, under what conditions.
Value Members
- object SeparatorSuppressionAction extends Serializable
- object SeparatorSuppressionMode extends Serializable