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:
- SectionSpecification
-
-
Constructor Summary
Constructors Constructor Description ParsedSectionSpec()
Public simple constructorParsedSectionSpec(Variable v, Section section)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Section
getArraySection()
Variable
getVariable()
String
makeSectionSpecString()
static String
makeSectionSpecString(Variable v, List<Range> ranges)
Make section specification String from a range list for a Variable.static ParsedSectionSpec
parseVariableSection(NetcdfFile ncfile, String variableSection)
Parse a section specification String.String
toString()
-
-
-
Field Detail
-
v
public Variable v
-
section
public Section section
-
child
public ParsedSectionSpec child
-
-
Method Detail
-
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 herevariableSection
- 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 ncfileInvalidRangeException
- 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()
-
makeSectionSpecString
public String makeSectionSpecString()
-
-