Package com.jgoodies.forms.layout
Class FormSpecParser
- java.lang.Object
-
- com.jgoodies.forms.layout.FormSpecParser
-
public final class FormSpecParser extends java.lang.ObjectParses encoded column and row specifications. Returns ColumnSpec or RowSpec arrays if successful, and aims to provide useful information in case of a syntax error.- Version:
- $Revision: 1.12 $
- See Also:
ColumnSpec,RowSpec
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFormSpecParser.FormLayoutParseExceptionUsed by the parser for encoded column and row specifications.(package private) static classFormSpecParser.MultiplierInternal helper class that is returned bymultiplier(String, int).
-
Field Summary
Fields Modifier and Type Field Description private static java.util.regex.PatternDIGIT_PATTERNprivate LayoutMaplayoutMapprivate static java.util.regex.PatternMULTIPLIER_PREFIX_PATTERNprivate java.lang.Stringsource
-
Constructor Summary
Constructors Modifier Constructor Description privateFormSpecParser(java.lang.String source, java.lang.String description, LayoutMap layoutMap, boolean horizontal)Constructs a parser for the given encoded column/row specification, the given LayoutMap, and orientation.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddSpec(java.util.List<java.lang.String> encodedSpecs, java.lang.String expression, int offset)private voidfail(int index, java.lang.NumberFormatException cause)private voidfail(int index, java.lang.String description)static voidfail(java.lang.String source, int index, java.lang.String description)private static java.lang.Stringmessage(java.lang.String source, int index, java.lang.String description)private FormSpecParser.Multipliermultiplier(java.lang.String expression, int offset)private ColumnSpec[]parseColumnSpecs()(package private) static ColumnSpec[]parseColumnSpecs(java.lang.String encodedColumnSpecs, LayoutMap layoutMap)private RowSpec[]parseRowSpecs()(package private) static RowSpec[]parseRowSpecs(java.lang.String encodedRowSpecs, LayoutMap layoutMap)private java.util.List<java.lang.String>split(java.lang.String expression, int offset)
-
-
-
Field Detail
-
MULTIPLIER_PREFIX_PATTERN
private static final java.util.regex.Pattern MULTIPLIER_PREFIX_PATTERN
-
DIGIT_PATTERN
private static final java.util.regex.Pattern DIGIT_PATTERN
-
source
private final java.lang.String source
-
layoutMap
private final LayoutMap layoutMap
-
-
Constructor Detail
-
FormSpecParser
private FormSpecParser(java.lang.String source, java.lang.String description, LayoutMap layoutMap, boolean horizontal)Constructs a parser for the given encoded column/row specification, the given LayoutMap, and orientation.- Parameters:
source- the raw encoded column or row specification as provided by the userdescription- describes the source, e.g. "column specification"layoutMap- maps layout variable names to ColumnSpec and RowSpec objectshorizontal-truefor columns,falsefor rows- Throws:
java.lang.NullPointerException- ifsourceorlayoutMapisnull
-
-
Method Detail
-
parseColumnSpecs
static ColumnSpec[] parseColumnSpecs(java.lang.String encodedColumnSpecs, LayoutMap layoutMap)
-
parseRowSpecs
static RowSpec[] parseRowSpecs(java.lang.String encodedRowSpecs, LayoutMap layoutMap)
-
parseColumnSpecs
private ColumnSpec[] parseColumnSpecs()
-
parseRowSpecs
private RowSpec[] parseRowSpecs()
-
split
private java.util.List<java.lang.String> split(java.lang.String expression, int offset)
-
addSpec
private void addSpec(java.util.List<java.lang.String> encodedSpecs, java.lang.String expression, int offset)
-
multiplier
private FormSpecParser.Multiplier multiplier(java.lang.String expression, int offset)
-
fail
public static void fail(java.lang.String source, int index, java.lang.String description)
-
fail
private void fail(int index, java.lang.String description)
-
fail
private void fail(int index, java.lang.NumberFormatException cause)
-
message
private static java.lang.String message(java.lang.String source, int index, java.lang.String description)
-
-