Package ucar.nc2

Class ParsedSectionSpec

java.lang.Object
ucar.nc2.ParsedSectionSpec

public class ParsedSectionSpec extends Object
A String expression for denoting a section of a Variable to be read. Allows nesting for subsetting of Structure member variables.
Since:
May 8, 2008
See Also:
  • Field Details

  • Constructor Details

    • ParsedSectionSpec

      public ParsedSectionSpec(Variable v, Section section)
    • ParsedSectionSpec

      public ParsedSectionSpec()
      Public simple constructor
  • Method Details

    • parseVariableSection

      public static ParsedSectionSpec parseVariableSection(NetcdfFile ncfile, String variableSection) throws InvalidRangeException
      Parse a section specification String. These have the form:
        section specification := selector | selector '.' selector
        selector := varName ['(' dims ')']
        varName := ESCAPED_STRING
       

      dims := dim | dim, dims dim := ':' | slice | start ':' end | start ':' end ':' stride slice := INTEGER start := INTEGER stride := INTEGER end := INTEGER ESCAPED_STRING : must escape characters = ".("

      Nonterminals are in lower case, terminals are in upper case, literals are in single quotes. Optional components are enclosed between square braces '[' and ']'.

      Parameters:
      ncfile - look for variable in here
      variableSection - the string to parse, eg "record(12).wind(1:20,:,3)"
      Returns:
      return ParsedSectionSpec, parsed representation of the variableSection String
      Throws:
      IllegalArgumentException - when token is misformed, or variable name doesnt exist in ncfile
      InvalidRangeException - if section does not match variable shape
    • makeSectionSpecString

      public static String makeSectionSpecString(Variable v, List<Range> ranges)
      Make section specification String from a range list for a Variable.
      Parameters:
      v - for this Variable.
      ranges - list of Range. Must includes all parent structures. The list be null, meaning use all. Individual ranges may be null, meaning all for that dimension.
      Returns:
      section specification String.
    • getVariable

      public Variable getVariable()
    • getArraySection

      public Section getArraySection()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • makeSectionSpecString

      public String makeSectionSpecString()