public abstract class AbstractDataSet extends java.lang.Object implements QDataSet, MutablePropertyDataSet
Modifier and Type | Field and Description |
---|---|
protected java.util.HashMap<java.lang.String,java.lang.Object> |
properties |
AVERAGE_TYPE, BIN_MAX, BIN_MAX_NAME, BIN_MIN, BIN_MIN_NAME, BIN_MINUS, BIN_MINUS_NAME, BIN_PLUS, BIN_PLUS_NAME, BINS_0, BINS_1, BUNDLE_0, BUNDLE_1, BUNDLE_2, BUNDLE_3, CACHE_TAG, CADENCE, CONTEXT_0, CONTEXT_1, COORDINATE_FRAME, DEFAULT_FILL_VALUE, DELTA_MINUS, DELTA_MINUS_NAME, DELTA_PLUS, DELTA_PLUS_NAME, DEPEND_0, DEPEND_1, DEPEND_2, DEPEND_3, DEPENDNAME_0, DEPENDNAME_1, DESCRIPTION, ELEMENT_DIMENSIONS, ELEMENT_LABEL, ELEMENT_NAME, FILL_VALUE, FORMAT, JOIN_0, LABEL, LIMIT_HUGE_DATASET, MAX_HIGH_RANK, MAX_PLANE_COUNT, MAX_RANK, MAX_UNIT_BUNDLE_COUNT, METADATA, METADATA_MODEL, MIN_WAVEFORM_LENGTH, MONOTONIC, NAME, NOTES, PLANE_0, QUBE, RENDER_TYPE, SCALE_TYPE, SOURCE, START_INDEX, TITLE, TYPICAL_MAX, TYPICAL_MIN, UNITS, USER_PROPERTIES, VALID_MAX, VALID_MIN, VALUE_AVERAGE_TYPE_GEOMETRIC, VALUE_AVERAGE_TYPE_LINEAR, VALUE_AVERAGE_TYPE_MOD24, VALUE_AVERAGE_TYPE_MOD360, VALUE_AVERAGE_TYPE_MODPI, VALUE_AVERAGE_TYPE_MODTAU, VALUE_AVERAGE_TYPE_NONE, VALUE_BINS_MIN_MAX, VALUE_BINS_MIN_MAX_INCLUSIVE, VALUE_COORDINATE_FRAME_COMPLEX_NUMBER, VALUE_METADATA_MODEL_ISTP, VALUE_METADATA_MODEL_SPASE, VALUE_RENDER_TYPE_COMPOSITE_IMAGE, VALUE_RENDER_TYPE_DIGITAL, VALUE_RENDER_TYPE_EVENTS_BAR, VALUE_RENDER_TYPE_NNSPECTROGRAM, VALUE_RENDER_TYPE_SERIES, VALUE_RENDER_TYPE_TRIANGLE_MESH, VALUE_SCALE_TYPE_LINEAR, VALUE_SCALE_TYPE_LOG, VERSION, WEIGHTS
Constructor and Description |
---|
AbstractDataSet() |
Modifier and Type | Method and Description |
---|---|
<T> T |
capability(java.lang.Class<T> clazz)
return null or an object implementing the capability for the given interface
For example:
|
protected void |
checkImmutable()
Implementations should call this when attempts to modify the dataset
are performed, so that it is guaranteed that it is safe to modify.
|
boolean |
isImmutable()
return true if the dataset has been made immutable.
|
int |
length()
return the length of the first dimension
|
int |
length(int i0)
return the length of the second dimension, for the ith element of the first dimension.
|
int |
length(int i0,
int i1)
return the length of the third dimension, for the ith element of the first dimension and jth element of the second dimension.
|
int |
length(int i0,
int i1,
int i2)
return the length of the fourth dimension for the ith, jth and kth elements of the first three dimensions.
|
void |
makeImmutable()
mark the dataset as being immutable.
|
java.lang.Object |
property(java.lang.String name)
accessor for properties attached to the dataset.
|
java.lang.Object |
property(java.lang.String name,
int i)
accessor for properties attached to the dataset's first index.
|
void |
putProperty(java.lang.String name,
int index,
java.lang.Object value)
assign the name value to the property at the slice index.
|
void |
putProperty(java.lang.String name,
java.lang.Object value)
assign the name value to the property.
|
abstract int |
rank()
returns the rank of the dataset, which is the number of indeces used to access data.
|
QDataSet |
slice(int i)
return a dataset that is a slice of this dataset, slicing on the zeroth
dimension.
|
java.lang.String |
svalue()
rank 0 accessor which provides the string value
|
java.lang.String |
toString()
return a human-readable string representation of this QDataSet.
|
QDataSet |
trim(int start,
int end)
return a dataset that is a subset of this dataset.
|
double |
value()
rank 0 accessor.
|
double |
value(int i0)
rank 1 accessor.
|
double |
value(int i0,
int i1)
rank 2 accessor.
|
double |
value(int i0,
int i1,
int i2)
rank 3 accessor.
|
double |
value(int i0,
int i1,
int i2,
int i3)
rank 4 accessor.
|
public abstract int rank()
QDataSet
public double value()
QDataSet
public java.lang.String svalue()
QDataSet
public double value(int i0)
QDataSet
public double value(int i0, int i1)
QDataSet
public double value(int i0, int i1, int i2)
QDataSet
public double value(int i0, int i1, int i2, int i3)
QDataSet
public java.lang.Object property(java.lang.String name)
QDataSet
property
in interface QDataSet
name
- property name, such as "DEPEND_0" or "UNITS"QDataSet.DEPEND_0
,
QDataSet.UNITS
public java.lang.Object property(java.lang.String name, int i)
QDataSet
property
in interface QDataSet
name
- property name, such as "DEPEND_0" or "UNITS"i
- the indexQDataSet.DEPEND_0
,
QDataSet.UNITS
public void putProperty(java.lang.String name, java.lang.Object value)
MutablePropertyDataSet
putProperty
in interface MutablePropertyDataSet
name
- property name like "UNITS" (Use QDataSet.UNITS)value
- the property value.putProperty which properly checks mutability of the dataset
,
QDataSet.UNITS
public void putProperty(java.lang.String name, int index, java.lang.Object value)
MutablePropertyDataSet
putProperty
in interface MutablePropertyDataSet
name
- property name like "UNITS" (Use QDataSet.UNITS)index
- the index of the slice.value
- the property value.Ops.putProperty(org.das2.qds.QDataSet, java.lang.String, java.lang.Object)
,
QDataSet.UNITS
,
QDataSet.property(java.lang.String, int)
public void makeImmutable()
MutablePropertyDataSet
makeImmutable
in interface MutablePropertyDataSet
public boolean isImmutable()
MutablePropertyDataSet
isImmutable
in interface MutablePropertyDataSet
protected final void checkImmutable()
public int length()
QDataSet
public int length(int i0)
QDataSet
public int length(int i0, int i1)
QDataSet
public int length(int i0, int i1, int i2)
QDataSet
public <T> T capability(java.lang.Class<T> clazz)
QDataSet
This allows operations to be performed efficiently. Note there is no WriteCapability class, this is just an example.ds= DDataSet.createRank1(100); WriteCapability write= ds.capability( WriteCapability.class ); write.putValue( 99, -1e31 );
capability
in interface QDataSet
T
- a capabilityclazz
- the class, such as WriteCapability.classLongWriteAccess
,
LongReadAccess
,
FloatReadAccess
public QDataSet slice(int i)
QDataSet
public QDataSet trim(int start, int end)
QDataSet
ds= DDataSet.createRank1(100);
QDataSet trim= ds.trim(50,60);
assert( trim.length()==10 );
Note start and end must be positive. Negative indices,
referenced from the end of the dataset, are not supported here.public java.lang.String toString()
toString
in class java.lang.Object
DataSetUtil.toString(org.das2.qds.QDataSet)