|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectopendap.dap.DAPNode
opendap.dap.AttributeTable
opendap.dap.DAS
public class DAS
The Data Attribute Structure is a set of name-value pairs used to describe the data in a particular dataset. The name-value pairs are called the "attributes." The values may be of any of the OPeNDAP simple data types (DByte, DInt32, DUInt32, DFloat64, DString and DURL), and may be scalar or vector. (Note that all values are actually stored as string data.)
A value may also consist of a set of other name-value pairs. This makes it possible to nest collections of attributes, giving rise to a hierarchy of attributes. OPeNDAP uses this structure to provide information about variables in a dataset. In the following example of a DAS, several of the attribute collections have names corresponding to the names of variables in a hypothetical dataset. The attributes in that collection are said to belong to that variable. For example, thelat
variable has an
attribute units
of degrees_north
.
Attributes may have arbitrary names, although in most datasets it is important to choose these names so a reader will know what they describe. In the above example, theAttributes { GLOBAL { String title "Reynolds Optimum Interpolation (OI) SST"; } lat { String units "degrees_north"; String long_name "Latitude"; Float64 actual_range 89.5, -89.5; } lon { String units "degrees_east"; String long_name "Longitude"; Float64 actual_range 0.5, 359.5; } time { String units "days since 1-1-1 00:00:00"; String long_name "Time"; Float64 actual_range 726468., 729289.; String delta_t "0000-00-07 00:00:00"; } sst { String long_name "Weekly Means of Sea Surface Temperature"; Float64 actual_range -1.8, 35.09; String units "degC"; Float64 add_offset 0.; Float64 scale_factor 0.0099999998; Int32 missing_value 32767; } }
GLOBAL
attribute provides
information about the entire dataset.
Data attribute information is an important part of the the data
provided to a OPeNDAP client by a server, and the DAS is how this
data is packaged for sending (and how it is received).
DDS
,
AttributeTable
,
Attribute
,
Serialized FormNested Class Summary |
---|
Nested classes/interfaces inherited from class opendap.dap.DAPNode |
---|
DAPNode.CloneMap |
Field Summary |
---|
Fields inherited from class opendap.dap.DAPNode |
---|
_name, _nameEncoded |
Constructor Summary | |
---|---|
DAS()
Create a new empty DAS . |
Method Summary | |
---|---|
void |
addAttributeTable(String name,
AttributeTable a)
Adds an AttributeTable to the DAS. |
DAPNode |
cloneDAG(DAPNode.CloneMap map)
Returns a clone of this Attribute . |
AttributeTable |
getAttributeTable(String name)
Returns the AttributeTable with the given name. |
AttributeTable |
getAttributeTableN(String name)
Returns the AttributeTable with the given name. |
boolean |
parse(InputStream stream)
|
void |
resolveAliases()
This method searchs through the DAS
for Alias members. |
Methods inherited from class opendap.dap.AttributeTable |
---|
addAlias, addContainer, appendAttribute, appendAttribute, appendContainer, delAttribute, delAttribute, getAttribute, getNames, hasAttribute, print, print, print, print, printXML, printXML, printXML, printXML, printXML |
Methods inherited from class opendap.dap.DAPNode |
---|
clone, cloneDAG, getClearName, getEncodedName, getParent, isProject, setClearName, setEncodedName, setParent, setProject, setProject, setProjected |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DAS()
DAS
.
Method Detail |
---|
public boolean parse(InputStream stream) throws ParseException, DAP2Exception
ParseException
DAP2Exception
public final AttributeTable getAttributeTable(String name) throws NoSuchAttributeException
AttributeTable
with the given name.
name
- the name of the AttributeTable
to return.
AttributeTable
with the specified name, or null
if there is no matching AttributeTable
.
NoSuchAttributeException
- There is no AttributeTable with the passed name.AttributeTable
public final AttributeTable getAttributeTableN(String name)
AttributeTable
with the given name.
name
- the name of the AttributeTable
to return.
AttributeTable
with the specified name, or null
if there is no matching AttributeTable
.AttributeTable
public void addAttributeTable(String name, AttributeTable a) throws AttributeExistsException
AttributeTable
to the DAS.
name
- the name of the AttributeTable
to add.a
- the AttributeTable
to add.
AttributeExistsException
AttributeTable
public void resolveAliases() throws MalformedAliasException, UnresolvedAliasException, NoSuchAttributeException
DAS
for Alias members. When an Alias is found the method attempts to
resolve it to a specific Attribute.
This method is invoked by parse(InputStream is)
, and is
used to search for Aliases in AttributeTables found in the DAS.
If you are building a DAS from it's API it is important to call
this method prior to returning said DAS to an application. If
this call is not made, Aliases will not work correctly.
MalformedAliasException
UnresolvedAliasException
NoSuchAttributeException
Alias
,
DDS.resolveAliases()
public DAPNode cloneDAG(DAPNode.CloneMap map) throws CloneNotSupportedException
Attribute
.
See DAPNode.cloneDag()
cloneDAG
in class AttributeTable
map
- track previously cloned nodes
Attribute
.
CloneNotSupportedException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |