Package org.apache.storm.tuple
Interface Tuple
-
- All Known Implementing Classes:
TupleImpl
public interface Tuple
The tuple is the main data structure in Storm. A tuple is a named list of values, where each value can be any type. Tuples are dynamically typed -- the types of the fields do not need to be declared. Tuples have helper methods like getInteger and getString to get field values without having to cast the result.Storm needs to know how to serialize all the values in a tuple. By default, Storm knows how to serialize the primitive types, strings, and byte arrays. If you want to use another type, you'll need to implement and register a serializer for that type.
- See Also:
- Storm serialization
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
contains(String field)
Returns true if this tuple contains the specified name of the field.int
fieldIndex(String field)
Returns the position of the specified field in this tuple.byte[]
getBinary(int i)
Returns the byte array at position i in the tuple.byte[]
getBinaryByField(String field)
Gets the Byte array field with a specific name.Boolean
getBoolean(int i)
Returns the Boolean at position i in the tuple.Boolean
getBooleanByField(String field)
Gets the Boolean field with a specific name.Byte
getByte(int i)
Returns the Byte at position i in the tuple.Byte
getByteByField(String field)
Gets the Byte field with a specific name.Double
getDouble(int i)
Returns the Double at position i in the tuple.Double
getDoubleByField(String field)
Gets the Double field with a specific name.Fields
getFields()
Gets the names of the fields in this tuple.Float
getFloat(int i)
Returns the Float at position i in the tuple.Float
getFloatByField(String field)
Gets the Float field with a specific name.Integer
getInteger(int i)
Returns the Integer at position i in the tuple.Integer
getIntegerByField(String field)
Gets the Integer field with a specific name.Long
getLong(int i)
Returns the Long at position i in the tuple.Long
getLongByField(String field)
Gets the Long field with a specific name.Short
getShort(int i)
Returns the Short at position i in the tuple.Short
getShortByField(String field)
Gets the Short field with a specific name.String
getSourceComponent()
Gets the id of the component that created this tuple.String
getSourceStreamId()
Gets the id of the stream that this tuple was emitted to.int
getSourceTask()
Gets the id of the task that created this tuple.String
getString(int i)
Returns the String at position i in the tuple.String
getStringByField(String field)
Gets the String field with a specific name.Object
getValue(int i)
Gets the field at position i in the tuple.Object
getValueByField(String field)
Gets the field with a specific name.List<Object>
getValues()
Gets all the values in this tuple.void
resetValues()
Resets the tuple values to null TODO:- Is this neededList<Object>
select(Fields selector)
Returns a subset of the tuple based on the fields selector.int
size()
Returns the number of fields in this tuple.
-
-
-
Method Detail
-
size
int size()
Returns the number of fields in this tuple.
-
contains
boolean contains(String field)
Returns true if this tuple contains the specified name of the field.
-
getFields
Fields getFields()
Gets the names of the fields in this tuple.
-
fieldIndex
int fieldIndex(String field)
Returns the position of the specified field in this tuple.- Throws:
IllegalArgumentException
- - if field does not exist
-
select
List<Object> select(Fields selector)
Returns a subset of the tuple based on the fields selector.
-
getValue
Object getValue(int i)
Gets the field at position i in the tuple. Returns object since tuples are dynamically typed.- Throws:
IndexOutOfBoundsException
- - if the index is out of range `(index < 0 || index >= size())`
-
getString
String getString(int i)
Returns the String at position i in the tuple.- Throws:
ClassCastException
- If that field is not a StringIndexOutOfBoundsException
- - if the index is out of range `(index < 0 || index >= size())`
-
getInteger
Integer getInteger(int i)
Returns the Integer at position i in the tuple.- Throws:
ClassCastException
- If that field is not a IntegerIndexOutOfBoundsException
- - if the index is out of range `(index < 0 || index >= size())`
-
getLong
Long getLong(int i)
Returns the Long at position i in the tuple.- Throws:
ClassCastException
- If that field is not a LongIndexOutOfBoundsException
- - if the index is out of range `(index < 0 || index >= size())`
-
getBoolean
Boolean getBoolean(int i)
Returns the Boolean at position i in the tuple.- Throws:
ClassCastException
- If that field is not a BooleanIndexOutOfBoundsException
- - if the index is out of range `(index < 0 || index >= size())`
-
getShort
Short getShort(int i)
Returns the Short at position i in the tuple.- Throws:
ClassCastException
- If that field is not a ShortIndexOutOfBoundsException
- - if the index is out of range `(index < 0 || index >= size())`
-
getByte
Byte getByte(int i)
Returns the Byte at position i in the tuple.- Throws:
ClassCastException
- If that field is not a ByteIndexOutOfBoundsException
- - if the index is out of range `(index < 0 || index >= size())`
-
getDouble
Double getDouble(int i)
Returns the Double at position i in the tuple.- Throws:
ClassCastException
- If that field is not a DoubleIndexOutOfBoundsException
- - if the index is out of range `(index < 0 || index >= size())`
-
getFloat
Float getFloat(int i)
Returns the Float at position i in the tuple.- Throws:
ClassCastException
- If that field is not a FloatIndexOutOfBoundsException
- - if the index is out of range `(index < 0 || index >= size())`
-
getBinary
byte[] getBinary(int i)
Returns the byte array at position i in the tuple.- Throws:
ClassCastException
- If that field is not a byte arrayIndexOutOfBoundsException
- - if the index is out of range `(index < 0 || index >= size())`
-
getValueByField
Object getValueByField(String field)
Gets the field with a specific name. Returns object since tuples are dynamically typed.- Throws:
IllegalArgumentException
- - if field does not exist
-
getStringByField
String getStringByField(String field)
Gets the String field with a specific name.- Throws:
ClassCastException
- If that field is not a StringIllegalArgumentException
- - if field does not exist
-
getIntegerByField
Integer getIntegerByField(String field)
Gets the Integer field with a specific name.- Throws:
ClassCastException
- If that field is not an IntegerIllegalArgumentException
- - if field does not exist
-
getLongByField
Long getLongByField(String field)
Gets the Long field with a specific name.- Throws:
ClassCastException
- If that field is not a LongIllegalArgumentException
- - if field does not exist
-
getBooleanByField
Boolean getBooleanByField(String field)
Gets the Boolean field with a specific name.- Throws:
ClassCastException
- If that field is not a BooleanIllegalArgumentException
- - if field does not exist
-
getShortByField
Short getShortByField(String field)
Gets the Short field with a specific name.- Throws:
ClassCastException
- If that field is not a ShortIllegalArgumentException
- - if field does not exist
-
getByteByField
Byte getByteByField(String field)
Gets the Byte field with a specific name.- Throws:
ClassCastException
- If that field is not a ByteIllegalArgumentException
- - if field does not exist
-
getDoubleByField
Double getDoubleByField(String field)
Gets the Double field with a specific name.- Throws:
ClassCastException
- If that field is not a DoubleIllegalArgumentException
- - if field does not exist
-
getFloatByField
Float getFloatByField(String field)
Gets the Float field with a specific name.- Throws:
ClassCastException
- If that field is not a FloatIllegalArgumentException
- - if field does not exist
-
getBinaryByField
byte[] getBinaryByField(String field)
Gets the Byte array field with a specific name.- Throws:
ClassCastException
- If that field is not a byte arrayIllegalArgumentException
- - if field does not exist
-
getSourceComponent
String getSourceComponent()
Gets the id of the component that created this tuple.
-
getSourceTask
int getSourceTask()
Gets the id of the task that created this tuple.
-
getSourceStreamId
String getSourceStreamId()
Gets the id of the stream that this tuple was emitted to.
-
resetValues
void resetValues()
Resets the tuple values to null TODO:- Is this needed
-
-