public class HashableObject extends java.lang.Object implements ObjectInstance
Modifier and Type | Class and Description |
---|---|
static class |
HashableObject.CachedHashableObject |
Modifier and Type | Field and Description |
---|---|
ObjectInstance |
source |
Constructor and Description |
---|
HashableObject(ObjectInstance source) |
Modifier and Type | Method and Description |
---|---|
ObjectInstance |
addAllRelationalTargets(java.lang.String attName,
java.util.Collection<java.lang.String> targets)
Adds all relational targets to the attribute attName for this object instance.
|
ObjectInstance |
addRelationalTarget(java.lang.String attName,
java.lang.String target)
Sets/adds the relational value of the attribute named attName for this object instance.
|
java.lang.StringBuilder |
buildObjectDescription(java.lang.StringBuilder builder) |
ObjectInstance |
clearRelationalTargets(java.lang.String attName)
Clears all the relational value targets of the attribute named attName for this object instance.
|
ObjectInstance |
copy()
Creates and returns a new object instance that is a copy of this object instance's values, if mutable the copy should be deep
|
java.util.Set<java.lang.String> |
getAllRelationalTargets(java.lang.String attName)
Returns the set of all relational targets to which the relational attribute named attName is set.
|
boolean |
getBooleanValForAttribute(java.lang.String attName)
Returns the boolean value of the attribute (only defined for boolean attributes, int, and disc values).
|
java.lang.String |
getClassName()
Returns the name of this object instance's object class
|
double[] |
getDoubleArrayValForAttribute(java.lang.String attName)
Returns the int array value of the attribute (only defined for int array attributes).
|
double[] |
getFeatureVec()
Returns a double vector of all the observable values in this object instance.
|
int[] |
getIntArrayValForAttribute(java.lang.String attName)
Returns the int array value of the attribute (only defined for int array attributes).
|
int |
getIntValForAttribute(java.lang.String attName)
Returns the int value assignment for the discrete-valued attribute named attName.
|
java.lang.String |
getName()
Returns the name identifier of this object instance
|
double[] |
getNormalizedFeatureVec()
Returns a normalized double vector of all the observable values in this object instance.
|
double |
getNumericValForAttribute(java.lang.String attName)
Returns the double value for the attribute named attType.
|
ObjectClass |
getObjectClass()
Returns this object instance's object class
|
java.lang.String |
getObjectDescription()
Returns a string representation of this object including its name and value attribute value assignment.
|
java.lang.String |
getObjectDescriptionWithNullForUnsetAttributes()
Returns a string description of the object with the unset attribute values listed as null.
|
double |
getRealValForAttribute(java.lang.String attName)
Returns the double value assignment for the real-valued attribute named attName.
|
java.lang.String |
getStringValForAttribute(java.lang.String attName)
Returns the string value representation for the attribute named attName.
|
Value |
getValueForAttribute(java.lang.String attName)
Returns the Value object assignment for the attribute named attName
|
java.util.List<Value> |
getValues()
Returns the list of value object assignments to all of this object instance's attributes.
|
ObjectInstance |
removeRelationalTarget(java.lang.String attName,
java.lang.String target)
Removes an object target from the specified relational attribute.
|
ObjectInstance |
setName(java.lang.String name)
Sets the name of this object instance.
|
ObjectInstance |
setValue(java.lang.String attName,
boolean v)
Sets the value of the attribute named attName for this object instance.
|
ObjectInstance |
setValue(java.lang.String attName,
double v)
Sets the value of the attribute named attName for this object instance.
|
ObjectInstance |
setValue(java.lang.String attName,
double[] v)
Sets the value of the attribute named attName for this object instance.
|
ObjectInstance |
setValue(java.lang.String attName,
int v)
Sets the value of the attribute named attName for this object instance.
|
ObjectInstance |
setValue(java.lang.String attName,
int[] v)
Sets the value of the attribute named attName for this object instance.
|
ObjectInstance |
setValue(java.lang.String attName,
java.lang.String v)
Sets the value of the attribute named attName for this object instance.
|
<T> ObjectInstance |
setValue(java.lang.String attName,
T v) |
java.util.List<java.lang.String> |
unsetAttributes()
Returns a list of the names of
Attribute s that have unset values |
boolean |
valueEquals(ObjectInstance obj)
Returns true if the value assignments in this object instance are the same as they are in the target object instance.
|
public ObjectInstance source
public HashableObject(ObjectInstance source)
public ObjectInstance copy()
ObjectInstance
copy
in interface ObjectInstance
public ObjectInstance setName(java.lang.String name)
ObjectInstance
setName
in interface ObjectInstance
name
- the name for this object instance.public <T> ObjectInstance setValue(java.lang.String attName, T v)
setValue
in interface ObjectInstance
public ObjectInstance setValue(java.lang.String attName, java.lang.String v)
ObjectInstance
setValue
in interface ObjectInstance
attName
- the name of the attribute whose value is to be set.v
- the string rep value to which the attribute of this object instance should be set.public ObjectInstance setValue(java.lang.String attName, double v)
ObjectInstance
setValue
in interface ObjectInstance
attName
- the name of the attribute whose value is to be set.v
- the double rep value to which the attribute of this object instance should be set.public ObjectInstance setValue(java.lang.String attName, int v)
ObjectInstance
setValue
in interface ObjectInstance
attName
- the name of the attribute whose value is to be set.v
- the int rep value to which the attribute of this object instance should be set.public ObjectInstance setValue(java.lang.String attName, boolean v)
ObjectInstance
setValue
in interface ObjectInstance
attName
- the name of the attribute whose value is to be set.v
- the int rep value to which the attribute of this object instance should be set.public ObjectInstance setValue(java.lang.String attName, int[] v)
ObjectInstance
setValue
in interface ObjectInstance
attName
- the name of the attribute whose value is to be set.v
- the int array rep value to which the attribute of this object instance should be set.public ObjectInstance setValue(java.lang.String attName, double[] v)
ObjectInstance
setValue
in interface ObjectInstance
attName
- the name of the attribute whose value is to be set.v
- the double array rep value to which the attribute of this object instance should be set.public ObjectInstance addRelationalTarget(java.lang.String attName, java.lang.String target)
ObjectInstance
addRelationalTarget
in interface ObjectInstance
attName
- the name of the relational attribute that will have a relational target added/settarget
- the name of the object reference that is to be added as a target.public ObjectInstance addAllRelationalTargets(java.lang.String attName, java.util.Collection<java.lang.String> targets)
ObjectInstance
addAllRelationalTargets
in interface ObjectInstance
attName
- the name of the relational attribute that will have a relational target added/settargets
- the names of the object references that are to be added as a targets.public ObjectInstance clearRelationalTargets(java.lang.String attName)
ObjectInstance
clearRelationalTargets
in interface ObjectInstance
public ObjectInstance removeRelationalTarget(java.lang.String attName, java.lang.String target)
ObjectInstance
removeRelationalTarget
in interface ObjectInstance
attName
- the name of the relational attribute from which the target should be removed.target
- the target to remove from the relational attribute value.public java.lang.String getName()
ObjectInstance
getName
in interface ObjectInstance
public ObjectClass getObjectClass()
ObjectInstance
getObjectClass
in interface ObjectInstance
public java.lang.String getClassName()
ObjectInstance
getClassName
in interface ObjectInstance
public Value getValueForAttribute(java.lang.String attName)
ObjectInstance
getValueForAttribute
in interface ObjectInstance
attName
- the name of the attribute whose value should be returnedpublic double getRealValForAttribute(java.lang.String attName)
ObjectInstance
getRealValForAttribute
in interface ObjectInstance
attName
- the name of the attribute whose value should be returnedpublic double getNumericValForAttribute(java.lang.String attName)
ObjectInstance
ObjectInstance.getRealValForAttribute(String)
method because it will cast the int
values for non real attributes to double values and will not throw an exception.
Note that if this method is called on relational attributes, it will return 0.,
where as attributes like Attribute.AttributeType.INT
and Attribute.AttributeType.DISC
will cast their int values to doubles.getNumericValForAttribute
in interface ObjectInstance
attName
- the name of the attribute whose value should be returnedpublic java.lang.String getStringValForAttribute(java.lang.String attName)
ObjectInstance
getStringValForAttribute
in interface ObjectInstance
attName
- the name of the attribute whose value should be returnedpublic int getIntValForAttribute(java.lang.String attName)
ObjectInstance
getIntValForAttribute
in interface ObjectInstance
attName
- the name of the attribute whose value should be returnedpublic java.util.Set<java.lang.String> getAllRelationalTargets(java.lang.String attName)
ObjectInstance
getAllRelationalTargets
in interface ObjectInstance
attName
- attName the name of the attribute whose value should be returnedpublic boolean getBooleanValForAttribute(java.lang.String attName)
ObjectInstance
getBooleanValForAttribute
in interface ObjectInstance
attName
- the name of the attribute whose value should be returnedpublic int[] getIntArrayValForAttribute(java.lang.String attName)
ObjectInstance
getIntArrayValForAttribute
in interface ObjectInstance
attName
- the name of the attribute whose value should be returned.public double[] getDoubleArrayValForAttribute(java.lang.String attName)
ObjectInstance
getDoubleArrayValForAttribute
in interface ObjectInstance
attName
- the name of the attribute whose value should be returned.public java.util.List<Value> getValues()
ObjectInstance
getValues
in interface ObjectInstance
public java.util.List<java.lang.String> unsetAttributes()
ObjectInstance
Attribute
s that have unset valuesunsetAttributes
in interface ObjectInstance
public java.lang.String getObjectDescription()
ObjectInstance
getObjectDescription
in interface ObjectInstance
public java.lang.StringBuilder buildObjectDescription(java.lang.StringBuilder builder)
buildObjectDescription
in interface ObjectInstance
public java.lang.String getObjectDescriptionWithNullForUnsetAttributes()
ObjectInstance
getObjectDescriptionWithNullForUnsetAttributes
in interface ObjectInstance
public double[] getFeatureVec()
ObjectInstance
getFeatureVec
in interface ObjectInstance
public double[] getNormalizedFeatureVec()
ObjectInstance
getNormalizedFeatureVec
in interface ObjectInstance
public boolean valueEquals(ObjectInstance obj)
ObjectInstance
valueEquals
in interface ObjectInstance
obj
- the object instance against which this object instance should be compared.