public class Attribute extends Object implements Metadata
Like a dataset, an attribute has a name, datatype and dataspace.
For more details on attributes, HDF5 User's Guide
The following code is an example of an attribute with 1D integer array of two elements.
// Example of creating a new attribute // The name of the new attribute String name = "Data range"; // Creating an unsigned 1-byte integer datatype Datatype type = new Datatype(Datatype.CLASS_INTEGER, // class 1, // size in bytes Datatype.ORDER_LE, // byte order Datatype.SIGN_NONE); // signed or unsigned // 1-D array of size two long[] dims = {2}; // The value of the attribute int[] value = {0, 255}; // Create a new attribute Attribute dataRange = new Attribute(name, type, dims); // Set the attribute value dataRange.setValue(value); // See FileFormat.writeAttribute() for how to attach an attribute to an object,
,
Datatype
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected boolean |
isScalar
flag to indicate if the dataset is a single scalar point
|
Constructor and Description |
---|
Attribute(String attrName,
Datatype attrType,
long[] attrDims)
Create an attribute with specified name, data type and dimension sizes.
|
Attribute(String attrName,
Datatype attrType,
long[] attrDims,
Object attrValue)
Create an attribute with specific name and value.
|
Modifier and Type | Method and Description |
---|---|
long[] |
getDataDims()
Returns the dimension sizes of the data value of the attribute.
|
String |
getName()
Returns the name of the attribute.
|
Object |
getProperty(String key)
get a property for a given key.
|
Collection<String> |
getPropertyKeys()
get all property keys.
|
int |
getRank()
Returns the rank (number of dimensions) of the attribute.
|
Datatype |
getType()
Returns the datatype of the attribute.
|
Object |
getValue()
Returns the value of the attribute.
|
boolean |
isScalar() |
boolean |
isUnsigned()
Checks if the data type of this attribute is an unsigned integer.
|
void |
setProperty(String key,
Object value)
set a property for the attribute.
|
void |
setValue(Object theValue)
Sets the value of the attribute.
|
String |
toString()
Return the name of the attribute.
|
String |
toString(String delimiter)
Returns a string representation of the data value of the attribute.
|
protected boolean isScalar
public Attribute(String attrName, Datatype attrType, long[] attrDims)
The following example creates a string attribute with the name "CLASS" and value "IMAGE".
long[] attrDims = { 1 }; String attrName = "CLASS"; String[] classValue = { "IMAGE" }; Datatype attrType = new H5Datatype(Datatype.CLASS_STRING, classValue[0].length() + 1, -1, -1); Attribute attr = new Attribute(attrName, attrType, attrDims); attr.setValue(classValue);
attrName
- the name of the attribute.attrType
- the datatype of the attribute.attrDims
- the dimension sizes of the attribute, null for scalar
attributeDatatype
public Attribute(String attrName, Datatype attrType, long[] attrDims, Object attrValue)
The following example creates a string attribute with the name "CLASS" and value "IMAGE".
long[] attrDims = { 1 }; String attrName = "CLASS"; String[] classValue = { "IMAGE" }; Datatype attrType = new H5Datatype(Datatype.CLASS_STRING, classValue[0].length() + 1, -1, -1); Attribute attr = new Attribute(attrName, attrType, attrDims, classValue);
attrName
- the name of the attribute.attrType
- the datatype of the attribute.attrDims
- the dimension sizes of the attribute, null for scalar
attributeattrValue
- the value of the attribute, null if no valueDatatype
public Object getValue()
public void setProperty(String key, Object value)
key
- the attribute Map keyvalue
- the attribute Map valuepublic Object getProperty(String key)
key
- the attribute Map keypublic Collection<String> getPropertyKeys()
public void setValue(Object theValue)
public String getName()
public int getRank()
public long[] getDataDims()
public Datatype getType()
public boolean isScalar()
public boolean isUnsigned()
public String toString()
toString
in class Object
toString(String delimiter)
public String toString(String delimiter)
For a compound datatype, it will be a 1D array of strings with field members separated by the delimiter. For example, "{0, 10.5}, {255, 20.0}, {512, 30.0}" is a compound attribute of {int, float} of three data points.
delimiter
- The delimiter used to separate individual data points. It
can be a comma, semicolon, tab or space. For example,
toString(",") will separate data by commas.Copyright © 2017. All Rights Reserved.