public class Attribute extends java.lang.Object implements Metadata
Like a dataset, an attribute has a name, datatype and dataspace.
For more details on attibutes, see 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 Form| Modifier and Type | Field and Description |
|---|---|
protected boolean |
isScalar
flag to indicate if the dataset is a single scalar point
|
| Constructor and Description |
|---|
Attribute(java.lang.String attrName,
Datatype attrType,
long[] attrDims)
Create an attribute with specified name, data type and dimension sizes.
|
Attribute(java.lang.String attrName,
Datatype attrType,
long[] attrDims,
java.lang.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.
|
java.lang.String |
getName()
Returns the name of the attribute.
|
java.lang.Object |
getProperty(java.lang.String key)
get a property for a given key.
|
java.util.Collection<java.lang.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.
|
java.lang.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(java.lang.String key,
java.lang.Object value)
set a property for the attribute.
|
void |
setValue(java.lang.Object theValue)
Sets the value of the attribute.
|
java.lang.String |
toString()
Return the name of the attribute.
|
java.lang.String |
toString(java.lang.String delimiter)
Returns a string representation of the data value of the attribute.
|
protected boolean isScalar
public Attribute(java.lang.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
attributeDatatypepublic Attribute(java.lang.String attrName,
Datatype attrType,
long[] attrDims,
java.lang.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 valueDatatypepublic java.lang.Object getValue()
public void setProperty(java.lang.String key,
java.lang.Object value)
public java.lang.Object getProperty(java.lang.String key)
public java.util.Collection<java.lang.String> getPropertyKeys()
public void setValue(java.lang.Object theValue)
public java.lang.String getName()
public int getRank()
public long[] getDataDims()
public Datatype getType()
public boolean isScalar()
public boolean isUnsigned()
public java.lang.String toString()
toString in class java.lang.ObjecttoString(String delimiter)public java.lang.String toString(java.lang.String delimiter)
For compound datatype, it will be an 1D array of strings with field members separated by comma. 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 to separate individual data point. It can be
comma, semicolon, tab or space. For example, to String(",")
will separate data by comma.