org.jtoolkit.essence.app.pojo
Class DataValue<T extends DataValue>
java.lang.Object
org.jtoolkit.essence.app.pojo.DataValue<T>
- All Implemented Interfaces:
- Named, Named.Source<java.lang.Object>
- Direct Known Subclasses:
- ClusterComponentBuilder.ClusterCollectionData, ClusterEvent, Event.StatusEvent, JvmMetrics
public class DataValue<T extends DataValue>
- extends java.lang.Object
- implements Named.Source<java.lang.Object>
Root object class for immutable data value classes.
A data value class is any immutable class which can be represented as a series of key value pairs
and has a constructor which initialises all field in the order they are defined. A data value object
does not need to extend this class instead this class defines a number of useful methods.
Note: data value class can have public fields but they should be final.
- Author:
- Peter Lawrey
|
Constructor Summary |
protected |
DataValue()
Cannot create a plan data value object with no values. |
|
Method Summary |
java.util.Map<java.lang.String,java.lang.Object> |
asMap()
|
boolean |
equals(java.lang.Object obj)
|
java.lang.String |
getName()
|
java.util.Set<java.lang.String> |
getNames()
|
java.lang.Object |
getValue(java.lang.String name)
|
int |
hashCode()
|
|
project(java.lang.Class<T2> class2,
java.lang.Object... keyValues)
|
T |
setCopy(java.lang.String field,
java.lang.Object value,
java.lang.Object... others)
|
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
DataValue
protected DataValue()
- Cannot create a plan data value object with no values.
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals in class java.lang.Object
hashCode
public int hashCode()
- Overrides:
hashCode in class java.lang.Object
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object
asMap
@NotNull
public java.util.Map<java.lang.String,java.lang.Object> asMap()
setCopy
public T setCopy(@NotNull
java.lang.String field,
java.lang.Object value,
java.lang.Object... others)
project
public <T2 extends DataValue> T2 project(@NotNull
java.lang.Class<T2> class2,
java.lang.Object... keyValues)
getNames
@NotNull
public java.util.Set<java.lang.String> getNames()
- Specified by:
getNames in interface Named.Source<java.lang.Object>
- Returns:
- names available in this source.
getValue
public java.lang.Object getValue(@NotNull
java.lang.String name)
throws java.util.NoSuchElementException
- Specified by:
getValue in interface Named.Source<java.lang.Object>
- Parameters:
name - of the object.
- Returns:
- the object in source or null.
- Throws:
java.util.NoSuchElementException
getName
@NotNull
public java.lang.String getName()
- Specified by:
getName in interface Named
- Returns:
- A printable name.
Copyright © Peter Lawrey. All Rights Reserved.