it.unimi.dsi.webgraph.labelling
Class AbstractIntListLabel

java.lang.Object
  extended by it.unimi.dsi.webgraph.labelling.AbstractLabel
      extended by it.unimi.dsi.webgraph.labelling.AbstractIntListLabel
All Implemented Interfaces:
FlyweightPrototype<Label>, Label
Direct Known Subclasses:
FixedWidthIntListLabel

public abstract class AbstractIntListLabel
extends AbstractLabel
implements Label

An abstract (single-attribute) list-of-integers label.

This class provides basic methods for a label holding a list of integers. Concrete implementations may impose further requirements on the integer.

Implementing subclasses must provide constructors, Label.copy(), Label.fromBitStream(it.unimi.dsi.io.InputBitStream, int), Label.toBitStream(it.unimi.dsi.io.OutputBitStream, int) and possibly override toString().


Field Summary
protected  String key
          The key of the attribute represented by this label.
 int[] value
          The values of the attribute represented by this label.
 
Constructor Summary
AbstractIntListLabel(String key, int[] value)
          Creates an int label with given key and value.
 
Method Summary
 String[] attributeKeys()
          All attribute keys (in arbitrary order).
 Class<?>[] attributeTypes()
          The types of all attributes in the same order as they are returned by Label.attributeKeys().
 boolean equals(Object x)
           
 Object get()
          The value associated to the well-known attribute.
 Object get(String key)
          The value associated to the attribute with given key.
 int hashCode()
           
 String toString()
           
 String wellKnownAttributeKey()
          Returns the well-known attribute key.
 
Methods inherited from class it.unimi.dsi.webgraph.labelling.AbstractLabel
getBoolean, getBoolean, getByte, getByte, getChar, getChar, getDouble, getDouble, getFloat, getFloat, getInt, getInt, getLong, getLong, getShort, getShort
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface it.unimi.dsi.webgraph.labelling.Label
copy, fixedWidth, fromBitStream, getBoolean, getBoolean, getByte, getByte, getChar, getChar, getDouble, getDouble, getFloat, getFloat, getInt, getInt, getLong, getLong, getShort, getShort, toBitStream, toSpec
 

Field Detail

key

protected final String key
The key of the attribute represented by this label.


value

public int[] value
The values of the attribute represented by this label.

Constructor Detail

AbstractIntListLabel

public AbstractIntListLabel(String key,
                            int[] value)
Creates an int label with given key and value.

Parameters:
key - the (only) key of this label.
value - the value of this label.
Method Detail

wellKnownAttributeKey

public String wellKnownAttributeKey()
Description copied from interface: Label
Returns the well-known attribute key.

Specified by:
wellKnownAttributeKey in interface Label
Returns:
the well-known attribute key.

attributeKeys

public String[] attributeKeys()
Description copied from interface: Label
All attribute keys (in arbitrary order).

Specified by:
attributeKeys in interface Label
Returns:
the keys of all attributes.

attributeTypes

public Class<?>[] attributeTypes()
Description copied from interface: Label
The types of all attributes in the same order as they are returned by Label.attributeKeys().

Specified by:
attributeTypes in interface Label
Returns:
the type of all attributes.

get

public Object get(String key)
Description copied from interface: Label
The value associated to the attribute with given key.

Specified by:
get in interface Label
Parameters:
key - the attribute key.
Returns:
the attribute value; if the attribute type is primitive, it is wrapped suitably.

get

public Object get()
Description copied from interface: Label
The value associated to the well-known attribute.

Specified by:
get in interface Label
Returns:
the attribute value; if the attribute type is primitive, it is wrapped suitably.

toString

public String toString()
Overrides:
toString in class Object

equals

public boolean equals(Object x)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object