Package opendap.dap
Class DArrayDimension
- java.lang.Object
-
- opendap.dap.DAPNode
-
- opendap.dap.DArrayDimension
-
- All Implemented Interfaces:
Serializable
,Cloneable
public final class DArrayDimension extends DAPNode
This class holds information about each dimension in aDArray
. Each array dimension carries with it its own projection information, as well as it's name and size.The projection information takes the form of three integers: the start, stop, and stride values. This is clearest with an example. Consider a one-dimensional array 10 elements long. If the start value of the dimension constraint is 3, then the constrained array appears to be seven elements long. If the stop value is changed to 7, then the array appears to be five elements long. If the stride is changed to two, the array will appear to be 3 elements long. Array constraints are written as
[start:stride:stop]
.- See Also:
DArray
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DArrayDimension.Slice
-
Nested classes/interfaces inherited from class opendap.dap.DAPNode
DAPNode.CloneMap
-
-
Field Summary
-
Fields inherited from class opendap.dap.DAPNode
_nameClear, _nameEncoded, log
-
-
Constructor Summary
Constructors Constructor Description DArrayDimension(int size, String name)
Construct a new DArrayDimension.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DAPNode
cloneDAG(DAPNode.CloneMap map)
Returns a clone of thisArray
.DArray
getContainer()
int
getSize()
Get the dimension size.int
getStart()
Get the projection start point for this dimension.int
getStop()
Get the projection stop point for this dimension.int
getStride()
Get the projection stride size for this dimension.void
printConstraint(PrintWriter os)
void
setContainer(DArray da)
void
setProjection(int start, int stride, int stop)
Set the projection information for this dimension.void
setSize(int size)
Set the dimension size.-
Methods inherited from class opendap.dap.DAPNode
clone, cloneDAG, getClearName, getEncodedName, getParent, isProject, setClearName, setEncodedName, setParent, setProject, setProject, setProjected
-
-
-
-
Constructor Detail
-
DArrayDimension
public DArrayDimension(int size, String name)
Construct a new DArrayDimension.- Parameters:
size
- The size of the dimension.name
- The dimension's name, or null if no name.
-
-
Method Detail
-
getSize
public int getSize()
Get the dimension size.
-
setSize
public void setSize(int size)
Set the dimension size.
-
getStart
public int getStart()
Get the projection start point for this dimension.
-
getStride
public int getStride()
Get the projection stride size for this dimension.
-
getStop
public int getStop()
Get the projection stop point for this dimension.
-
setContainer
public void setContainer(DArray da)
-
getContainer
public DArray getContainer()
-
printConstraint
public void printConstraint(PrintWriter os)
-
setProjection
public void setProjection(int start, int stride, int stop) throws InvalidDimensionException
Set the projection information for this dimension. The parametersstart
stride
andstop
are checked to verify that they make sense relative to each other and to the size of this dimension. If not an Invalid ParameterException is thrown. The general rule is: 0<=start<size, 0<stride, 0<=stop<size, start<=stop.- Parameters:
start
- The starting point for the projection of thisDArrayDimension
.stride
- The size of the stride for the projection of thisDArrayDimension
.stop
- The stopping point for the projection of thisDArrayDimension
.- Throws:
InvalidDimensionException
-
cloneDAG
public DAPNode cloneDAG(DAPNode.CloneMap map) throws CloneNotSupportedException
Returns a clone of thisArray
. See DAPNode.cloneDag()- Overrides:
cloneDAG
in classDAPNode
- Parameters:
map
- track previously cloned nodes- Returns:
- a clone of this object.
- Throws:
CloneNotSupportedException
-
-