Package ucar.nc2
Class Group
java.lang.Object
ucar.nc2.CDMNode
ucar.nc2.Group
- All Implemented Interfaces:
Iterable<Attribute>,AttributeContainer
A logical collection of Variables, Attributes, and Dimensions.
The Groups in a Dataset form a hierarchical tree, like directories on a disk.
A Group has a name and optionally a set of Attributes.
There is always at least one Group in a dataset, the root Group, whose name is the empty string.
Immutable if setImmutable() was called.
TODO Group will be immutable in 6.
TODO Group will not implement AttributeContainer in 6, use Group.attributes().
TODO Group will not extend CDMNode in 6.
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionGroup(NetcdfFile ncfile, Group parent, String shortName) Deprecated.Use Group.builder() -
Method Summary
Modifier and TypeMethodDescriptionvoidDeprecated.Use Group.builder()addAttribute(Attribute att) Deprecated.Use Group.builder()voidaddDimension(Dimension dim) Deprecated.Use Group.builder()booleanDeprecated.Use Group.builder()voidDeprecated.Use Group.builder()voidDeprecated.Use Group.builder()voidDeprecated.Use Group.builder()The attributes contained by this Group.static Group.Builderbuilder()commonParent(Group other) Get the common parent of this and the other group.booleanInstances which have same name and parent are equal.findAttribute(String name) Find the attribute by name, return null if not existdoublefindAttributeDouble(String attName, double defaultValue) Deprecated.Use attributes().findAttributeDouble()Deprecated.Use findAttributeString()intfindAttributeInteger(String attName, int defaultValue) Deprecated.Use attributes().findAttributeInteger()findAttributeString(String attName, String defaultValue) Find a String-valued Attribute by name (ignore case), return the String value of the Attribute.findDimension(String name) Find a Dimension in this or a parent Group, matching on short name.findDimension(Dimension dim) Find a Dimension in this or a parent Group, using equals.findDimensionLocal(String shortName) Find a Dimension using its (short) name, in this group onlyfindEnumeration(String name) Find a Enumeration in this Group, using its short name.findEnumeration(String name, boolean searchup) Find a Enumeration in this or optionally the parent Groups, using its short name.Deprecated.use findGroupLocal()findGroupLocal(String groupShortName) Retrieve the Group with the specified (short) name.findSimilarEnumTypedef(EnumTypedef template, boolean searchup) Locate an enum type definition that is structurally similar to the template type def.findVariable(String varShortName) Deprecated.use findVariableLocal()findVariableByAttribute(String attName, String attValue) Look in this Group and in its nested Groups for a Variable with a String valued Attribute with the given name and value.findVariableLocal(String varShortName) Find the Variable with the specified (short) name in this group.findVariableOrInParent(String varShortName) Find the Variable with the specified (short) name in this group or a parent group.Deprecated.Use attributes()Get the shared Dimensions contained directly in this group.com.google.common.collect.ImmutableList<EnumTypedef>Get the enumerations contained directly in this group.Get the full name of this object.com.google.common.collect.ImmutableList<Group>Get the Groups contained directly in this Group.Get String with name and attributes.Get the owning NetcdfFileGet the parent Group, or null if its the root group.Get the Variables contained directly in this group.inthashCode()Override Object.hashCode() to implement equals.booleanisEmpty()Deprecated.Use attributes()booleanIs this a parent of the other Group?booleanisRoot()Is this the root group?com.google.common.collect.ImmutableList<Dimension>makeDimensionsList(String dimString) Create a dimension list using dimension names.makeRelativeGroup(NetcdfFile ncf, String path, boolean ignorelast) Deprecated.will move to dap2 in ver6booleanDeprecated.Use Group.builder()booleanDeprecated.Use Group.builder()booleanDeprecated.Use Group.builder()booleanDeprecated.Use Group.builder()booleanremoveAttribute(String attName) Deprecated.Use Group.builder()booleanremoveAttributeIgnoreCase(String attName) Deprecated.Use Group.builder()booleanremoveDimension(String dimName) Deprecated.Use Group.builder()booleanremoveVariable(String shortName) Deprecated.Use Group.builder()Deprecated.Use Group.builder()Deprecated.Use Group.builder()voidsetParentGroup(Group parent) Deprecated.Use Group.builder()Turn into a mutable Builder.toString()writeCDL(boolean strict) Deprecated.use CDLWriterMethods inherited from class ucar.nc2.CDMNode
annotate, annotation, getDODSName, getFullNameEscaped, getGroup, getImmutable, getName, getParentStructure, getShortName, getSort, isMemberOfStructure, localhash, setDODSName, setParentStructure, setShortName, setSort, unwrapMethods inherited from interface ucar.nc2.AttributeContainer
findAttValueIgnoreCase, getName, hasAttribute, hasAttributeIgnoreCase, iteratorMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
Group
Deprecated.Use Group.builder()Constructor- Parameters:
ncfile- NetcdfFile owns this Groupparent- parent of Group. If null, this is the root Group.shortName- short name of Group.
-
-
Method Details
-
isRoot
public boolean isRoot()Is this the root group?- Returns:
- true if root group
-
getVariables
Get the Variables contained directly in this group.- Returns:
- List of type Variable; may be empty, not null. TODO return ImmutableList
-
findVariable
Deprecated.use findVariableLocal() -
findVariableLocal
Find the Variable with the specified (short) name in this group.- Parameters:
varShortName- short name of Variable within this group.- Returns:
- the Variable, or null if not found
-
findVariableOrInParent
Find the Variable with the specified (short) name in this group or a parent group.- Parameters:
varShortName- short name of Variable.- Returns:
- the Variable, or null if not found
-
findVariableByAttribute
Look in this Group and in its nested Groups for a Variable with a String valued Attribute with the given name and value.- Parameters:
attName- look for an Attribuite with this name.attValue- look for an Attribuite with this value.- Returns:
- the first Variable that matches, or null if none match.
-
getParentGroup
Get the parent Group, or null if its the root group. Not deprecated.- Overrides:
getParentGroupin classCDMNode- Returns:
- parent Group
-
getFullName
Get the full name of this object. Certain characters are backslash escaped (see NetcdfFiles.getFullName(Group)) Not deprecated.- Overrides:
getFullNamein classCDMNode- Returns:
- full name with backslash escapes
-
getGroups
Get the Groups contained directly in this Group.- Returns:
- List of type Group; may be empty, not null.
-
getNetcdfFile
Get the owning NetcdfFile -
findGroupLocal
Retrieve the Group with the specified (short) name.- Parameters:
groupShortName- short name of the nested group you are looking for.- Returns:
- the Group, or null if not found
-
findGroup
Deprecated.use findGroupLocal() -
getDimensions
Get the shared Dimensions contained directly in this group.- Returns:
- List of type Dimension; may be empty, not null. TODO return ImmutableList
-
makeDimensionsList
public com.google.common.collect.ImmutableList<Dimension> makeDimensionsList(String dimString) throws IllegalArgumentException Create a dimension list using dimension names. The dimension is searched for recursively in the parent groups.- Parameters:
dimString- : whitespace separated list of dimension names, or '*' for Dimension.UNKNOWN, or number for anon dimension. null or empty String is a scalar.- Returns:
- list of dimensions, will return ImmutableList<> in version 6
- Throws:
IllegalArgumentException- if cant find dimension or parse error.
-
getEnumTypedefs
Get the enumerations contained directly in this group.- Returns:
- List of type EnumTypedef; may be empty, not null.
-
findDimension
Find a Dimension in this or a parent Group, matching on short name.- Parameters:
name- Dimension name.- Returns:
- the Dimension, or null if not found
-
findDimension
Find a Dimension in this or a parent Group, using equals.- Parameters:
dim- Dimension .- Returns:
- the Dimension, or null if not found
-
findDimensionLocal
Find a Dimension using its (short) name, in this group only- Parameters:
shortName- Dimension name.- Returns:
- the Dimension, or null if not found
-
attributes
The attributes contained by this Group. -
findAttribute
Find the attribute by name, return null if not exist- Specified by:
findAttributein interfaceAttributeContainer
-
findAttributeString
Find a String-valued Attribute by name (ignore case), return the String value of the Attribute.- Specified by:
findAttributeStringin interfaceAttributeContainer- Returns:
- the attribute value, or defaultValue if not found
-
getAttributes
Deprecated.Use attributes()Description copied from interface:AttributeContainerReturns immutable list of attributes.- Specified by:
getAttributesin interfaceAttributeContainer
-
isEmpty
public boolean isEmpty()Deprecated.Use attributes()Description copied from interface:AttributeContainerTrue is there are no attributes in the container.- Specified by:
isEmptyin interfaceAttributeContainer
-
findAttributeIgnoreCase
Deprecated.Use findAttributeString()Description copied from interface:AttributeContainerFind an Attribute by name, first doing an exact match, then ignoring case.- Specified by:
findAttributeIgnoreCasein interfaceAttributeContainer
-
findAttributeDouble
Deprecated.Use attributes().findAttributeDouble()Description copied from interface:AttributeContainerFind a Numeric Attribute by name (ignore case), return the double value of the Attribute.- Specified by:
findAttributeDoublein interfaceAttributeContainer- Returns:
- the attribute value, or defaultValue if not found
-
findAttributeInteger
Deprecated.Use attributes().findAttributeInteger()Description copied from interface:AttributeContainerFind a Numeric Attribute by name (ignore case), return the integer value of the Attribute.- Specified by:
findAttributeIntegerin interfaceAttributeContainer- Returns:
- the attribute value, or defaultValue if not found
-
addAttribute
Deprecated.Use Group.builder()Description copied from interface:AttributeContainerAdd new or replace old if has same name- Specified by:
addAttributein interfaceAttributeContainer- Parameters:
att- add this Attribute- Returns:
- the added attribute
-
addAll
Deprecated.Use Group.builder()Description copied from interface:AttributeContainerAdd all; replace old if has same name- Specified by:
addAllin interfaceAttributeContainer
-
remove
Deprecated.Use Group.builder()Description copied from interface:AttributeContainerRemove an Attribute : uses the attribute hashCode to find it.- Specified by:
removein interfaceAttributeContainer- Parameters:
a- remove this attribute- Returns:
- true if was found and removed
-
removeAttribute
Deprecated.Use Group.builder()Description copied from interface:AttributeContainerRemove an Attribute by name.- Specified by:
removeAttributein interfaceAttributeContainer- Parameters:
attName- if exists, remove this attribute- Returns:
- true if was found and removed
-
removeAttributeIgnoreCase
Deprecated.Use Group.builder()Description copied from interface:AttributeContainerRemove an Attribute by name, ignoring case- Specified by:
removeAttributeIgnoreCasein interfaceAttributeContainer- Parameters:
attName- if exists, remove this attribute- Returns:
- true if was found and removed
-
findEnumeration
Find a Enumeration in this Group, using its short name. -
findEnumeration
Find a Enumeration in this or optionally the parent Groups, using its short name. -
findSimilarEnumTypedef
Locate an enum type definition that is structurally similar to the template type def. The Enum names are ignored.- Parameters:
template- match this enum type defsearchup- if true, then search this group and then parent groups.
-
commonParent
Get the common parent of this and the other group. Cant fail, since the root group is always a parent of any 2 groups.- Parameters:
other- the other group- Returns:
- common parent of this and the other group
-
isParent
Is this a parent of the other Group?- Parameters:
other- another Group- Returns:
- true is it is equal or a parent
-
getNameAndAttributes
Get String with name and attributes. Used in short descriptions like tooltips.- Returns:
- name and attributes String.
-
writeCDL
Deprecated.use CDLWriterCDL representation.- Parameters:
strict- if true, write in strict adherence to CDL definition.- Returns:
- CDL representation.
-
setParentGroup
Deprecated.Use Group.builder()Set the Group's parent Group- Overrides:
setParentGroupin classCDMNode- Parameters:
parent- parent group.
-
setName
Deprecated.Use Group.builder()Set the short name, converting to valid CDM object name if needed.- Parameters:
shortName- set to this value- Returns:
- valid CDM object name
-
addDimension
Deprecated.Use Group.builder()Adds the specified shared dimension to this group.- Parameters:
dim- the dimension to add.- Throws:
IllegalStateException- if this dimension isimmutable.IllegalArgumentException- ifdimisn't shared or a dimension withdim's name already exists within the group.
-
addDimensionIfNotExists
Deprecated.Use Group.builder()Adds the specified shared dimension to this group, but only if another dimension with the same name doesn't already exist.- Parameters:
dim- the dimension to add.- Returns:
trueifdimwas successfully added to the group. Otherwise,falsewill be returned, meaning that a dimension withdim's name already exists within the group.- Throws:
IllegalStateException- if this dimension isimmutable.IllegalArgumentException- ifdimisn't shared.
-
addGroup
Deprecated.Use Group.builder()Add a nested Group- Parameters:
g- add this Group.
-
addEnumeration
Deprecated.Use Group.builder()Add an Enumeration- Parameters:
e- add this Enumeration.
-
addVariable
Deprecated.Use Group.builder()Add a Variable- Parameters:
v- add this Variable.
-
remove
Deprecated.Use Group.builder()Remove an Dimension : uses the dimension hashCode to find it.- Parameters:
d- remove this Dimension.- Returns:
- true if was found and removed
-
remove
Deprecated.Use Group.builder()Remove an Attribute : uses the Group hashCode to find it.- Parameters:
g- remove this Group.- Returns:
- true if was found and removed
-
remove
Deprecated.Use Group.builder()Remove a Variable : uses the variable hashCode to find it.- Parameters:
v- remove this Variable.- Returns:
- true if was found and removed
-
removeDimension
Deprecated.Use Group.builder()remove a Dimension using its name, in this group only- Parameters:
dimName- Dimension name.- Returns:
- true if dimension found and removed
-
removeVariable
Deprecated.Use Group.builder()remove a Variable using its (short) name, in this group only- Parameters:
shortName- Variable name.- Returns:
- true if Variable found and removed
-
setImmutable
Deprecated.Use Group.builder()Make this immutable.- Overrides:
setImmutablein classCDMNode- Returns:
- this
-
toString
-
equals
Instances which have same name and parent are equal. -
hashCode
public int hashCode()Override Object.hashCode() to implement equals. -
makeRelativeGroup
Deprecated.will move to dap2 in ver6Create groups to ensure path is defined- Parameters:
ncf- the containing netcdf file objectpath- the path to the desired groupignorelast- true => ignore last element in the path- Returns:
- the Group, or null if not found
-
toBuilder
Turn into a mutable Builder. Can use toBuilder().build() to copy. -
builder
-