Class FieldPadding
- java.lang.Object
-
- org.beanio.internal.parser.format.FieldPadding
-
- Direct Known Subclasses:
FixedLengthFieldPadding
public class FieldPadding extends java.lang.Object
Provides field padding functionality. By default, padded fields are left justified and padded using a space.The method
init()
must be called after all properties are set.If
optional
is set to true, the field text may be padded with spaces regardless of the configuredfiller
when a value does not exist.Once configured, a
FieldPadding
object is thread-safe.- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor Description FieldPadding()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
calculateTextLength(java.lang.String text)
char
getFiller()
Returns the character used to pad field text.char
getJustify()
Returns the justification of the field text within its padding.int
getLength()
Returns the padded length of the field.java.lang.Class<?>
getPropertyType()
Returns the property type of the field, or null if the field is not bound to a bean object.void
init()
Initializes padding settings.boolean
isOptional()
Returns whether the field is optional.java.lang.String
pad(java.lang.String text)
Formats field text.void
setFiller(char filler)
Sets the character used to pad field text.void
setJustify(char justify)
Sets the justification of the field text within its padding.void
setLength(int length)
Sets the padded length of the field.void
setOptional(boolean required)
Sets whether the field is optional.protected void
setPaddedNull(java.lang.String paddedNull)
Sets the padded field text for a null value.void
setPropertyType(java.lang.Class<?> type)
Sets the property type of the field.java.lang.String
unpad(java.lang.String fieldText)
Removes padding from the field text.
-
-
-
Field Detail
-
RIGHT
public static final char RIGHT
Right justification- See Also:
- Constant Field Values
-
LEFT
public static final char LEFT
Left justification- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public void init()
Initializes padding settings. This method must be invoked beforepad(String)
orunpad(String)
is called.
-
calculateTextLength
protected int calculateTextLength(java.lang.String text)
-
pad
public java.lang.String pad(java.lang.String text)
Formats field text. Iftext.length()
exceeds the padding length, the text will be truncated, otherwise it will be padded withfiller
.- Parameters:
text
- the field text to format- Returns:
- the formatted field text
-
unpad
public java.lang.String unpad(java.lang.String fieldText)
Removes padding from the field text.- Parameters:
fieldText
- the field text to remove padding- Returns:
- the unpadded field text
-
getFiller
public char getFiller()
Returns the character used to pad field text.- Returns:
- the filler character
-
setFiller
public void setFiller(char filler)
Sets the character used to pad field text.- Parameters:
filler
- the filler character
-
getLength
public int getLength()
Returns the padded length of the field.- Returns:
- the padded length
-
setLength
public void setLength(int length)
Sets the padded length of the field.- Parameters:
length
- the padded length
-
getJustify
public char getJustify()
Returns the justification of the field text within its padding.
-
setJustify
public void setJustify(char justify)
Sets the justification of the field text within its padding.
-
isOptional
public boolean isOptional()
Returns whether the field is optional.- Returns:
- true if optional, false otherwise
-
setOptional
public void setOptional(boolean required)
Sets whether the field is optional.- Parameters:
required
- true if optional, false otherwise
-
getPropertyType
public java.lang.Class<?> getPropertyType()
Returns the property type of the field, or null if the field is not bound to a bean object.- Returns:
- the property type
-
setPropertyType
public void setPropertyType(java.lang.Class<?> type)
Sets the property type of the field.- Parameters:
type
- the property type
-
setPaddedNull
protected void setPaddedNull(java.lang.String paddedNull)
Sets the padded field text for a null value. Defaults to the empty string.- Parameters:
paddedNull
- the field text for a null value
-
-