Class FormSpecParser


  • public final class FormSpecParser
    extends java.lang.Object
    Parses 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
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      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.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void addSpec​(java.util.List<java.lang.String> encodedSpecs, java.lang.String expression, int offset)  
      private void fail​(int index, java.lang.NumberFormatException cause)  
      private void fail​(int index, java.lang.String description)  
      static void fail​(java.lang.String source, int index, java.lang.String description)  
      private static java.lang.String message​(java.lang.String source, int index, java.lang.String description)  
      private FormSpecParser.Multiplier multiplier​(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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 user
        description - describes the source, e.g. "column specification"
        layoutMap - maps layout variable names to ColumnSpec and RowSpec objects
        horizontal - true for columns, false for rows
        Throws:
        java.lang.NullPointerException - if source or layoutMap is null
    • 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)
      • 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)