public class ParsedArraySectionSpec extends Object
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 ']'.| Constructor and Description |
|---|
ParsedArraySectionSpec(Variable variable,
Section section) |
| Modifier and Type | Method and Description |
|---|---|
Section |
getArraySection() |
ParsedArraySectionSpec |
getChild() |
Variable |
getVariable() |
static ParsedArraySectionSpec |
makeFromVariable(Variable v,
String selector) |
String |
makeSectionSpecString() |
static String |
makeSectionSpecString(Variable v,
Section section)
Make section specification String from a ucar.array.Section for a Variable.
|
static ParsedArraySectionSpec |
parseVariableSection(NetcdfFile ncfile,
String variableSection)
Parse a section specification String.
|
String |
toString() |
public static ParsedArraySectionSpec parseVariableSection(NetcdfFile ncfile, String variableSection) throws InvalidRangeException
ncfile - look for variable in herevariableSection - the string to parse, eg "record(12).wind(1:20,:,3)"IllegalArgumentException - when token is misformed, or variable name doesnt exist in ncfileInvalidRangeException - if section does not match variable shapepublic static ParsedArraySectionSpec makeFromVariable(Variable v, String selector) throws InvalidRangeException
InvalidRangeExceptionpublic static String makeSectionSpecString(Variable v, @Nullable Section section)
v - for this Variable.section - list of Range. Must includes all parent structures. May be null, meaning use all.
Individual ranges may be null, meaning all for that dimension.public Variable getVariable()
public Section getArraySection()
public ParsedArraySectionSpec getChild()
public String makeSectionSpecString()