Package ucar.nc2

Class Attribute


public class Attribute extends CDMNode
An Attribute is a name and a value, used for associating arbitrary metadata with another object. The value can be a one dimensional array of Strings or numeric values.

TODO Attributes will be immutable in 6. TODO Attribute will not extend CDMNode in 6. TODO Attribute will not know who it belongs to in 6 (Group or Variable). TODO Attribute.getFullName() will not exist in 6.

  • Field Details

    • SPECIALS

      @Deprecated public static final String[] SPECIALS
      Deprecated.
      move to jni.Nc4Iosp
  • Constructor Details

    • Attribute

      @Deprecated public Attribute(String name, Attribute from)
      Deprecated.
      Use Attribute.toBuilder().build();
      Copy constructor
      Parameters:
      name - name of new Attribute
      from - copy value from here.
    • Attribute

      public Attribute(String name, String val)
      Create a String-valued Attribute.
      Parameters:
      name - name of Attribute
      val - value of Attribute
    • Attribute

      public Attribute(String name, Number val)
      Create a scalar, signed, numeric-valued Attribute.
      Parameters:
      name - name of Attribute
      val - value of Attribute
    • Attribute

      @Deprecated public Attribute(String name, Number val, boolean isUnsigned)
      Deprecated.
      Use Attribute.builder()
      Create a scalar numeric-valued Attribute, possibly unsigned.
      Parameters:
      name - name of Attribute
      val - value of Attribute
      isUnsigned - if value is unsigned, used only for integer types.
    • Attribute

      @Deprecated public Attribute(String name, Array values)
      Deprecated.
      Use Attribute.builder()
      Construct attribute with Array of values.
      Parameters:
      name - name of attribute
      values - array of values.
    • Attribute

      @Deprecated public Attribute(String name, DataType dataType)
      Deprecated.
      Use Attribute.builder()
      Construct an empty attribute with no values
    • Attribute

      @Deprecated public Attribute(String name, List values)
      Deprecated.
      Use Attribute.builder()
    • Attribute

      @Deprecated public Attribute(String name, List values, boolean isUnsigned)
      Deprecated.
      Use Attribute.builder()
      Construct attribute with list of String or Number values. The list determines the attribute type
      Parameters:
      name - name of attribute
      values - list of values. must be String or Number, must all be the same type, and have at least 1 member
      isUnsigned - if the data type is unsigned.
    • Attribute

      @Deprecated public Attribute(ucar.unidata.util.Parameter param)
      Deprecated.
      Use Attribute.builder()
      A copy constructor using a ucar.unidata.util.Parameter. Need to do this so ucar.unidata.geoloc package doesnt depend on ucar.nc2 library
      Parameters:
      param - copy info from here.
  • Method Details

    • makeMap

      @Deprecated public static Map<String,Attribute> makeMap(List<Attribute> atts)
      Deprecated.
      do not use
      Turn a list into a map
      Parameters:
      atts - list of attributes
      Returns:
      map of attributes by name
    • isspecial

      @Deprecated public static boolean isspecial(Attribute a)
      Deprecated.
      move to jni.Nc4Iosp
    • getName

      public String getName()
      Get the Attribute name. Not deprecated in version 5 for Attribute.
      Overrides:
      getName in class CDMNode
    • getDataType

      public DataType getDataType()
      Get the data type of the Attribute value.
    • setDataType

      @Deprecated public void setDataType(DataType dt)
      Deprecated.
      Use Attribute.builder()
    • getEnumType

      @Nullable public EnumTypedef getEnumType()
      Get the EnumTypedef of the Attribute value, if DataType is an ENUM.
    • setEnumType

      @Deprecated public void setEnumType(EnumTypedef en)
      Deprecated.
      Use Attribute.builder()
    • isArray

      public boolean isArray()
      True if value is an array (getLength() > 1)
      Returns:
      if its an array.
    • getLength

      public int getLength()
      Get the length of the array of values
      Returns:
      number of elements in the array.
    • getValues

      @Nullable public Array getValues()
      Get the value as an Array.
      Returns:
      Array of values.
    • getValue

      @Nullable public Object getValue(int index)
      Get the value as an Object.
      Parameters:
      index - which index
      Returns:
      ith value as an Object.
    • isString

      public boolean isString()
      True if value is of type String and not null.
      Returns:
      if its a String and not null.
    • getStringValue

      @Nullable public String getStringValue()
      Retrieve String value; only call if isString() is true.
      Returns:
      String if this is a String valued attribute, else null.
      See Also:
    • getStringValue

      @Nullable public String getStringValue(int index)
      Retrieve ith String value; only call if isString() is true.
      Parameters:
      index - which index
      Returns:
      ith String value (if this is a String valued attribute and index in range), else null.
      See Also:
    • getNumericValue

      @Nullable public Number getNumericValue()
      Retrieve numeric value. Equivalent to getNumericValue(0)
      Returns:
      the first element of the value array, or null if its a String that cant be converted.
    • getNumericValue

      @Nullable public Number getNumericValue(int index)
      Retrieve a numeric value by index. If it's a String, it will try to parse it as a double.
      Parameters:
      index - the index into the value array.
      Returns:
      Number value[index], or null if its a non-parseable String or the index is out of range.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toString

      @Deprecated public String toString(boolean strict)
      Deprecated.
      use CDLWriter
      CDL representation, may be strict.
      Parameters:
      strict - if true, create strict CDL, escaping names
      Returns:
      CDL representation
    • setValues

      @Deprecated public void setValues(List values)
      Deprecated.
      Use Attribute.builder()
      Set the values from a list
    • setValues

      @Deprecated public void setValues(Array arr)
      Deprecated.
      Use Attribute.builder()
      Set the values from an Array
      Parameters:
      arr - value of Attribute
    • setName

      @Deprecated public void setName(String name)
      Deprecated.
      Use Attribute.builder()
      Set the name of this Attribute. Attribute names are unique within a NetcdfFile's global set, and within a Variable's set.
      Parameters:
      name - name of attribute
    • equals

      public boolean equals(Object o)
      Instances which have same content are equal.
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Override Object.hashCode() to implement equals.
      Overrides:
      hashCode in class Object
    • toBuilder

      public Attribute.Builder toBuilder()
      Turn into a mutable Builder. Can use toBuilder().build() to copy.
    • builder

      public static Attribute.Builder builder()
      Create an Attribute builder.
    • builder

      public static Attribute.Builder builder(String name)
      Create an Attribute builder with the given Attribute name.