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 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(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
attributeDatatypepublic 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 valueDatatypepublic 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 ObjecttoString(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.