Package com.netrics.likeit
Class NetricsVarAttr
- java.lang.Object
-
- com.netrics.likeit.NetricsVarAttr
-
- All Implemented Interfaces:
java.io.Serializable
public class NetricsVarAttr extends java.lang.Object implements java.io.Serializable
Manage a set of Variable Attribute values.
This class is used to encode, decode and manipulate a set of Variable Attribute values. A Variable Attribute value is a name value pair. The name is a text string consisting of from 1 to 2048 letters, digits dash or underscore characters. The value is any set of 0 to 50,000 characters. Both are represented in Java as String values. A set of Variable Attributes is encoded into a block of characters and passed as a single field value in a record.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description NetricsVarAttr()
Create an empty set of variable attributes.NetricsVarAttr(java.lang.String enc_str)
Create a Variable Attributes set from and encoded string.NetricsVarAttr(java.lang.String[] attr_names, java.lang.String[] attr_values)
Create a set of variable attributes from a list of names and values.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
delAttr(java.lang.String name)
Delete a named attribute from the Variable Attributes set.java.lang.String[]
getAllNames()
return an array of the names of all attributes in the set.java.lang.String
getAttr(java.lang.String name)
Retrieve the value of a named attribute.java.lang.String
getEncodedStr()
return this Variable Attributes set as an encoded string.int
setAttr(java.lang.String name, java.lang.String value)
Add or replace an attribute in a Variable Attribute set.
-
-
-
Constructor Detail
-
NetricsVarAttr
public NetricsVarAttr()
Create an empty set of variable attributes.
This constructor creates a new set of Variable Attributes with no attributes in it.
-
NetricsVarAttr
public NetricsVarAttr(java.lang.String[] attr_names, java.lang.String[] attr_values) throws java.lang.IllegalArgumentException
Create a set of variable attributes from a list of names and values.
This constructor creates a new set of Variable Attributes and populates it from a list of attribute names and attributes values.
The following validations are performed:- length of attr_names != length of attr_values
- any attr_names or attr_values is null
- any attr_names length is < 1 or > 2048
- any attr_names contains invalid characters.
- Parameters:
attr_names
- an array of the names of the attributes.attr_values
- an array of the values for the attributes.- Throws:
java.lang.IllegalArgumentException
- if any validation fails.
-
NetricsVarAttr
public NetricsVarAttr(java.lang.String enc_str) throws java.lang.IllegalArgumentException, java.lang.IndexOutOfBoundsException, java.lang.NullPointerException
Create a Variable Attributes set from and encoded string.
This creates a new Variable Attributes set from a string encoded form of a Variable Attributes as created by the getEncodedStr method.- Parameters:
enc_str
- the string encoded Variable Attributes set.- Throws:
java.lang.IllegalArgumentException
- if enc_str is invalid.java.lang.IndexOutOfBoundsException
- should never be thrown.java.lang.NullPointerException
- should never be thrown.- See Also:
for description of format of the encoded string.
-
-
Method Detail
-
setAttr
public int setAttr(java.lang.String name, java.lang.String value) throws java.lang.IllegalArgumentException, java.lang.NullPointerException
Add or replace an attribute in a Variable Attribute set.
This adds a new attribute if name is not already in this set, or replaces an existing attribute if it is.- Parameters:
name
- the attribute namevalue
- the attribute value- Returns:
- 1 if attribute was added, 0 if attribute was replaced
- Throws:
java.lang.IllegalArgumentException
- if name is invalid or value is null.java.lang.NullPointerException
- should never be thrown.
-
getAttr
public java.lang.String getAttr(java.lang.String name) throws java.lang.IllegalArgumentException
Retrieve the value of a named attribute.
This retrieves the value of an attribute from the Variable Attributes set. If the set has no such value null is returned.- Parameters:
name
- the name of the attribute to be retrieved.- Returns:
- the value of the named attribute, null if no such attribute.
- Throws:
java.lang.IllegalArgumentException
- if name is null.
-
delAttr
public int delAttr(java.lang.String name) throws java.lang.IllegalArgumentException
Delete a named attribute from the Variable Attributes set.
This deletes a named attribute from this Variable Attributes set if it exists. It does nothing if it does not exist.- Parameters:
name
- the name of the attribute to be deleted.- Returns:
- 1 if it was deleted, 0 if no such attribute exists.
- Throws:
java.lang.IllegalArgumentException
- if name is null.
-
getAllNames
public java.lang.String[] getAllNames()
return an array of the names of all attributes in the set.
This return a list of the names of all of the attributes in this Variable Attributes set. The names are returned in the order in which they were added to the set.- Returns:
- array of names of each attribute in the set.
-
getEncodedStr
public java.lang.String getEncodedStr() throws java.lang.IndexOutOfBoundsException, java.lang.NullPointerException
return this Variable Attributes set as an encoded string.
This encodes all of the attributes in this Variable Attributes set into a single String value and returns that value. The encoded string has the format:
(zero length string if no attributes)
OR
<attr-name>:<attr-value>[;<attr-name>:<attr-value>]*
where attr-name is the attribute name and attr-value is the attribute value with all occurences of ';' changed to ';;'. Names appear in the order they were originally added to this Variable Attributes set.
If there is some error generating the encoded value for an attribute that attribute is simply skipped.- Returns:
- the encoded string as described above.
- Throws:
java.lang.IndexOutOfBoundsException
- this should never be thrown.java.lang.NullPointerException
- this should never be thrown.
-
-