- java.lang.Object
-
- org.refcodes.textual.ColumnWidthMetricsImpl
-
- org.refcodes.textual.ColumnFormatMetricsImpl
-
- All Implemented Interfaces:
org.refcodes.mixin.ColumnWidthAccessor,org.refcodes.mixin.ColumnWidthAccessor.ColumnWidthBuilder<ColumnWidthMetrics>,org.refcodes.mixin.ColumnWidthAccessor.ColumnWidthMutator,org.refcodes.mixin.ColumnWidthAccessor.ColumnWidthProperty,ColumnFormatMetrics,ColumnWidthMetrics,HorizAlignTextModeAccessor.HorizAlignTextModeBuilder<ColumnFormatMetrics>,HorizAlignTextModeAccessor.HorizAlignTextModeMutator,MoreTextModeAccessor.MoreTextModeBuilder<ColumnFormatMetrics>,MoreTextModeAccessor.MoreTextModeMutator,SplitTextModeAccessor.SplitTextModeBuilder<ColumnFormatMetrics>,SplitTextModeAccessor.SplitTextModeMutator,TextFormatModeAccessor.TextFormatModeBuilder<ColumnFormatMetrics>,TextFormatModeAccessor.TextFormatModeMutator
- Direct Known Subclasses:
ColumnSetupMetricsImpl
public class ColumnFormatMetricsImpl extends ColumnWidthMetricsImpl implements ColumnFormatMetrics
Implementation of theColumnFormatMetricsinterface.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.ColumnWidthAccessor
org.refcodes.mixin.ColumnWidthAccessor.ColumnWidthBuilder<B extends org.refcodes.mixin.ColumnWidthAccessor.ColumnWidthBuilder<B>>, org.refcodes.mixin.ColumnWidthAccessor.ColumnWidthMutator, org.refcodes.mixin.ColumnWidthAccessor.ColumnWidthProperty
-
-
Constructor Summary
Constructors Constructor Description ColumnFormatMetricsImpl()Instantiates a new column format metrics impl.ColumnFormatMetricsImpl(int aWidth, ColumnWidthType aWidthType)Constructs a column's width, either in percent (%) or in number of chars.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetHeaderEscapeCode()Returns the ANSI Escape-Code for the header.EscapeCodeFactorygetHeaderEscapeCodeFactory()Gets the ANSI Escape-Code factory for the header.HorizAlignTextModegetHeaderHorizAlignTextMode()Gets the alignment mode for the header.MoreTextModegetHeaderMoreTextMode()Gets the alignment mode for the header.SplitTextModegetHeaderSplitTextMode()Returns theSplitTextModefor the header.TextFormatModegetHeaderTextFormatMode()Returns theTextFormatModefor the header.StringgetRowEscapeCode()Returns the ANSI Escape-Code for the rows and returns thisColumnFormatMetricsinstance as of the Builder-Pattern.EscapeCodeFactorygetRowEscapeCodeFactory()Gets the ANSI Escape-Code factory for the row.HorizAlignTextModegetRowHorizAlignTextMode()Gets the alignment mode for the row.MoreTextModegetRowMoreTextMode()Gets the alignment mode for the row.SplitTextModegetRowSplitTextMode()Returns theSplitTextModefor the row.TextFormatModegetRowTextFormatMode()Returns theTextFormatModefor the row.voidsetEscapeCode(String aEscapeCode)Sets an ANSI Escape-Code for the header and the rows.voidsetHeaderEscapeCode(String aEscapeCode)Sets an ANSI Escape-Code for the header.voidsetHeaderEscapeCodeFactory(EscapeCodeFactory aEscapeCodeFactory)Sets an ANSI Escape-Code factory for the header.voidsetHeaderHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode)Sets an alignment mode for the header.voidsetHeaderMoreTextMode(MoreTextMode aMoreTextMode)Sets a more-text mode for the header.voidsetHeaderSplitTextMode(SplitTextMode aSplitTextMode)Sets theSplitTextModefor the header.voidsetHeaderTextFormatMode(TextFormatMode aTextFormatMode)Sets theTextFormatModefor the header.voidsetMoreTextMode(MoreTextMode aMoreTextMode)Sets the more-text mode for the more-text mode property.voidsetRowEscapeCode(String aEscapeCode)Sets an ANSI Escape-Code for the rows and returns thisColumnFormatMetricsinstance as of the Builder-Pattern.voidsetRowEscapeCodeFactory(EscapeCodeFactory aEscapeCodeFactory)Sets an ANSI Escape-Code factory for the row.voidsetRowHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode)Sets an alignment mode for the row.voidsetRowMoreTextMode(MoreTextMode aMoreTextMode)Sets a more-text mode for the row.voidsetRowSplitTextMode(SplitTextMode aSplitTextMode)Sets theSplitTextModefor the row.voidsetRowTextFormatMode(TextFormatMode aTextFormatMode)Sets theTextFormatModefor the row.StringtoHeaderEscapeCode(Object aIdentifier)Determines the ANSI Escape-Code by evaluating the provided TID: If anEscapeCodeFactoryhas been set viaColumnFormatMetrics.setEscapeCodeFactory(EscapeCodeFactory)and the factory returns a value different to null, then this value is returned.StringtoRowEscapeCode(Object aIdentifier)Determines the ANSI Escape-Code by evaluating the provided TID: If anEscapeCodeFactoryhas been set viaColumnFormatMetrics.setEscapeCodeFactory(EscapeCodeFactory)and the factory returns a value different to null, then this value is returned.ColumnFormatMetricswithColumnWidth(int aColumnWidth)-
Methods inherited from class org.refcodes.textual.ColumnWidthMetricsImpl
getColumnWidth, getColumnWidthType, setColumnWidth, setColumnWidthType, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.refcodes.textual.ColumnFormatMetrics
fromColumnFormatMetrics, setEscapeCodeFactory, setHorizAlignTextMode, setSplitTextMode, setTextFormatMode, withColumnWidthType, withEscapeCode, withEscapeCodeFactory, withHeaderEscapeCode, withHeaderEscapeCodeFactory, withHeaderHorizAlignTextMode, withHeaderMoreTextMode, withHeaderSplitTextMode, withHeaderTextFormatMode, withHorizAlignTextMode, withMoreTextMode, withRowEscapeCode, withRowEscapeCodeFactory, withRowHorizAlignTextMode, withRowMoreTextMode, withRowSplitTextMode, withRowTextFormatMode, withSplitTextMode, withTextFormatMode
-
Methods inherited from interface org.refcodes.mixin.ColumnWidthAccessor.ColumnWidthMutator
setColumnWidth
-
Methods inherited from interface org.refcodes.mixin.ColumnWidthAccessor.ColumnWidthProperty
letColumnWidth
-
Methods inherited from interface org.refcodes.textual.ColumnWidthMetrics
fromColumnWidthMetrics, getColumnWidthType, setColumnWidthType
-
-
-
-
Constructor Detail
-
ColumnFormatMetricsImpl
public ColumnFormatMetricsImpl()
Instantiates a new column format metrics impl.
-
ColumnFormatMetricsImpl
public ColumnFormatMetricsImpl(int aWidth, ColumnWidthType aWidthType)Constructs a column's width, either in percent (%) or in number of chars.- Parameters:
aWidth- The width for the column, either in percent (%) or in number of chars, depending on the providedColumnWidthType.aWidthType- The type of the width being provided, either percent (%) or number of chars.
-
-
Method Detail
-
withColumnWidth
public ColumnFormatMetrics withColumnWidth(int aColumnWidth)
- Specified by:
withColumnWidthin interfaceColumnFormatMetrics- Specified by:
withColumnWidthin interfaceorg.refcodes.mixin.ColumnWidthAccessor.ColumnWidthBuilder<ColumnWidthMetrics>- Overrides:
withColumnWidthin classColumnWidthMetricsImpl
-
setEscapeCode
public void setEscapeCode(String aEscapeCode)
Sets an ANSI Escape-Code for the header and the rows. In case an ANSI Escape-Code is set, then the ANSI Escape-Code is prepended and an ANSI Reset-Code is appended to the according text being printed.- Specified by:
setEscapeCodein interfaceColumnFormatMetrics- Parameters:
aEscapeCode- TheStringto be used for ANSI escaping.
-
setHeaderEscapeCode
public void setHeaderEscapeCode(String aEscapeCode)
Sets an ANSI Escape-Code for the header. In case an ANSI Escape-Code is set, then the ANSI Escape-Code is prepended and an ANSI Reset-Code is appended to the according text being printed.- Specified by:
setHeaderEscapeCodein interfaceColumnFormatMetrics- Parameters:
aEscapeCode- TheStringto be used for ANSI escaping.
-
getHeaderEscapeCode
public String getHeaderEscapeCode()
Returns the ANSI Escape-Code for the header. In case an ANSI Escape-Code is set, then the ANSI Escape-Code is prepended and an ANSI Reset-Code is appended to the according text being printed.- Specified by:
getHeaderEscapeCodein interfaceColumnFormatMetrics- Returns:
- The
Stringto be used for ANSI escaping.
-
setRowEscapeCode
public void setRowEscapeCode(String aEscapeCode)
Sets an ANSI Escape-Code for the rows and returns thisColumnFormatMetricsinstance as of the Builder-Pattern. The latest ANSI Escape-Code being set wins.- Specified by:
setRowEscapeCodein interfaceColumnFormatMetrics- Parameters:
aEscapeCode- TheStringto be used for ANSI escaping.
-
getRowEscapeCode
public String getRowEscapeCode()
Returns the ANSI Escape-Code for the rows and returns thisColumnFormatMetricsinstance as of the Builder-Pattern. The latest ANSI Escape-Code being set wins.- Specified by:
getRowEscapeCodein interfaceColumnFormatMetrics- Returns:
- The
Stringto be used for ANSI escaping.
-
setMoreTextMode
public void setMoreTextMode(MoreTextMode aMoreTextMode)
Sets the more-text mode for the more-text mode property.- Specified by:
setMoreTextModein interfaceColumnFormatMetrics- Specified by:
setMoreTextModein interfaceMoreTextModeAccessor.MoreTextModeMutator- Parameters:
aMoreTextMode- The more-text mode to be stored by the more-text mode property.
-
setHeaderHorizAlignTextMode
public void setHeaderHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode)
Sets an alignment mode for the header.- Specified by:
setHeaderHorizAlignTextModein interfaceColumnFormatMetrics- Parameters:
aHorizAlignTextMode- TheHorizAlignTextModeto be used for aligning the text.
-
getHeaderHorizAlignTextMode
public HorizAlignTextMode getHeaderHorizAlignTextMode()
Gets the alignment mode for the header.- Specified by:
getHeaderHorizAlignTextModein interfaceColumnFormatMetrics- Returns:
- The
HorizAlignTextModeto be used for aligning the text.
-
setRowHorizAlignTextMode
public void setRowHorizAlignTextMode(HorizAlignTextMode aHorizAlignTextMode)
Sets an alignment mode for the row.- Specified by:
setRowHorizAlignTextModein interfaceColumnFormatMetrics- Parameters:
aHorizAlignTextMode- TheHorizAlignTextModeto be used for aligning the text.
-
getRowHorizAlignTextMode
public HorizAlignTextMode getRowHorizAlignTextMode()
Gets the alignment mode for the row.- Specified by:
getRowHorizAlignTextModein interfaceColumnFormatMetrics- Returns:
- The
HorizAlignTextModeto be used for aligning the text.
-
setHeaderMoreTextMode
public void setHeaderMoreTextMode(MoreTextMode aMoreTextMode)
Sets a more-text mode for the header.- Specified by:
setHeaderMoreTextModein interfaceColumnFormatMetrics- Parameters:
aMoreTextMode- TheMoreTextModeto be used for truncating the text.
-
getHeaderMoreTextMode
public MoreTextMode getHeaderMoreTextMode()
Gets the alignment mode for the header.- Specified by:
getHeaderMoreTextModein interfaceColumnFormatMetrics- Returns:
- The
MoreTextModeto be used for truncating the text.
-
setRowMoreTextMode
public void setRowMoreTextMode(MoreTextMode aMoreTextMode)
Sets a more-text mode for the row.- Specified by:
setRowMoreTextModein interfaceColumnFormatMetrics- Parameters:
aMoreTextMode- TheMoreTextModeto be used for truncating the text.
-
getRowMoreTextMode
public MoreTextMode getRowMoreTextMode()
Gets the alignment mode for the row.- Specified by:
getRowMoreTextModein interfaceColumnFormatMetrics- Returns:
- The
MoreTextModeto be used for truncating the text.
-
setHeaderTextFormatMode
public void setHeaderTextFormatMode(TextFormatMode aTextFormatMode)
Sets theTextFormatModefor the header.- Specified by:
setHeaderTextFormatModein interfaceColumnFormatMetrics- Parameters:
aTextFormatMode- TheTextFormatModeto be set for the header;
-
getHeaderTextFormatMode
public TextFormatMode getHeaderTextFormatMode()
Returns theTextFormatModefor the header.- Specified by:
getHeaderTextFormatModein interfaceColumnFormatMetrics- Returns:
- The
TextFormatModeto be set for the header;
-
setRowTextFormatMode
public void setRowTextFormatMode(TextFormatMode aTextFormatMode)
Sets theTextFormatModefor the row.- Specified by:
setRowTextFormatModein interfaceColumnFormatMetrics- Parameters:
aTextFormatMode- TheTextFormatModeto be set for the row;
-
getRowTextFormatMode
public TextFormatMode getRowTextFormatMode()
Returns theTextFormatModefor the row.- Specified by:
getRowTextFormatModein interfaceColumnFormatMetrics- Returns:
- The
TextFormatModeto be set for the row;
-
setHeaderSplitTextMode
public void setHeaderSplitTextMode(SplitTextMode aSplitTextMode)
Sets theSplitTextModefor the header.- Specified by:
setHeaderSplitTextModein interfaceColumnFormatMetrics- Parameters:
aSplitTextMode- TheSplitTextModeto be set for the header;
-
getHeaderSplitTextMode
public SplitTextMode getHeaderSplitTextMode()
Returns theSplitTextModefor the header.- Specified by:
getHeaderSplitTextModein interfaceColumnFormatMetrics- Returns:
- The
SplitTextModeto be set for the header;
-
setRowSplitTextMode
public void setRowSplitTextMode(SplitTextMode aSplitTextMode)
Sets theSplitTextModefor the row.- Specified by:
setRowSplitTextModein interfaceColumnFormatMetrics- Parameters:
aSplitTextMode- TheSplitTextModeto be set for the row;
-
getRowSplitTextMode
public SplitTextMode getRowSplitTextMode()
Returns theSplitTextModefor the row.- Specified by:
getRowSplitTextModein interfaceColumnFormatMetrics- Returns:
- The
SplitTextModeto be set for the row;
-
setHeaderEscapeCodeFactory
public void setHeaderEscapeCodeFactory(EscapeCodeFactory aEscapeCodeFactory)
Sets an ANSI Escape-Code factory for the header. In case an ANSI Escape-Code is set, then the ANSI Escape-Code is prepended and an ANSI Reset-Code is appended to the according text being printed.- Specified by:
setHeaderEscapeCodeFactoryin interfaceColumnFormatMetrics- Parameters:
aEscapeCodeFactory- TheEscapeCodeFactoryto be used for determining ANSI escaping.
-
getHeaderEscapeCodeFactory
public EscapeCodeFactory getHeaderEscapeCodeFactory()
Gets the ANSI Escape-Code factory for the header. In case an ANSI Escape-Code is set, then the ANSI Escape-Code is prepended and an ANSI Reset-Code is appended to the according text being printed.- Specified by:
getHeaderEscapeCodeFactoryin interfaceColumnFormatMetrics- Returns:
- The
EscapeCodeFactoryto be used for determining ANSI escaping.
-
toHeaderEscapeCode
public String toHeaderEscapeCode(Object aIdentifier)
Determines the ANSI Escape-Code by evaluating the provided TID: If anEscapeCodeFactoryhas been set viaColumnFormatMetrics.setEscapeCodeFactory(EscapeCodeFactory)and the factory returns a value different to null, then this value is returned. Else the value returned byColumnFormatMetrics.getHeaderEscapeCode()is returned as fallback.- Specified by:
toHeaderEscapeCodein interfaceColumnFormatMetrics- Parameters:
aIdentifier- The TID for which to lookup an Escape-Code.- Returns:
- The identified Escape-Code or null if none was identifiable.
-
setRowEscapeCodeFactory
public void setRowEscapeCodeFactory(EscapeCodeFactory aEscapeCodeFactory)
Sets an ANSI Escape-Code factory for the row. In case an ANSI Escape-Code is set, then the ANSI Escape-Code is prepended and an ANSI Reset-Code is appended to the according text being printed.- Specified by:
setRowEscapeCodeFactoryin interfaceColumnFormatMetrics- Parameters:
aEscapeCodeFactory- TheEscapeCodeFactoryto be used for determining ANSI escaping. configuration.
-
getRowEscapeCodeFactory
public EscapeCodeFactory getRowEscapeCodeFactory()
Gets the ANSI Escape-Code factory for the row. In case an ANSI Escape-Code is set, then the ANSI Escape-Code is prepended and an ANSI Reset-Code is appended to the according text being printed.- Specified by:
getRowEscapeCodeFactoryin interfaceColumnFormatMetrics- Returns:
- The
EscapeCodeFactoryto be used for determining ANSI escaping.
-
toRowEscapeCode
public String toRowEscapeCode(Object aIdentifier)
Determines the ANSI Escape-Code by evaluating the provided TID: If anEscapeCodeFactoryhas been set viaColumnFormatMetrics.setEscapeCodeFactory(EscapeCodeFactory)and the factory returns a value different to null, then this value is returned. Else the value returned byColumnFormatMetrics.getRowEscapeCode()is returned as fallback.- Specified by:
toRowEscapeCodein interfaceColumnFormatMetrics- Parameters:
aIdentifier- The TID for which to lookup an Escape-Code.- Returns:
- The identified Escape-Code or null if none was identifiable.
-
-