@ThingworxExtensionApiClass(since={6,6}, canInstantiate=true) public final class DataShapeDefinition extends NamedObject implements java.lang.Cloneable
Used to define fields for all data that is managed within ThingWorx. This includes, but is not limited to, all persisted data, transient
data, and data in transit. DataShapeDefinition
is used in the underpinnings of DataShape
s, InfoTable
s, and
StreamThing
s, as well as numerous other classes both directly and indirectly.
A DataShapeDefinition
is ultimately a wrapper around a FieldDefinitionCollection
with some additional methods for
matching, cloning, and analysis.
FieldDefinitionCollection
,
DataShape
,
InfoTable
,
Serialized FormNAME_COMPARATOR
Constructor and Description |
---|
DataShapeDefinition()
Constructs a new empty data shape definition. |
DataShapeDefinition(FieldDefinitionCollection fields)
Constructs a data shape definition containing a predefined collection of fields. |
Modifier and Type | Method and Description |
---|---|
void |
addFieldDefinition(FieldDefinition field)
Adds a new field definition to this data shape definition. |
DataShapeDefinition |
clone()
Creates a deep clone of this data shape definition. |
static DataShapeDefinition |
fromJSON(org.json.JSONObject jsonObject)
Deprecated.
|
FieldDefinition |
getFieldDefinition(java.lang.String name)
Returns the field definition with the specified name. |
FieldDefinitionCollection |
getFields()
Returns the collection of field definitions belonging to this data shape definition. |
boolean |
hasField(java.lang.String name)
Tests if the field named exists in this definition. |
boolean |
hasPrimaryKey()
Tests if this definition contains any fields that are designated as primary keys. |
boolean |
matches(DataShapeDefinition ds1)
Determines if this data shape definition has the same fields with the same base types as the provided data shape definition. |
void |
setFields(FieldDefinitionCollection fields)
Replaces the fields belonging to this data shape definition with the fields provided in the specified collection. |
org.json.JSONObject |
toJSON()
Deprecated.
no replacement
|
getDescription, getName, setDescription, setName, toValueCollection
@ThingworxExtensionApiMethod(since={6,6}) public DataShapeDefinition()
@ThingworxExtensionApiMethod(since={6,6}) public DataShapeDefinition(FieldDefinitionCollection fields)
fields
- the fields that will belong to this data shape definition@ThingworxExtensionApiMethod(since={6,6}) public boolean hasField(java.lang.String name)
name
- the name of the fieldtrue
if the field exists in this definition@ThingworxExtensionApiMethod(since={6,6}) public boolean hasPrimaryKey()
true
if any field belonging to this definition is a primary key, false
if none of the fields are primary keys
or no fields exist in this definition@ThingworxExtensionApiMethod(since={6,6}) public void addFieldDefinition(FieldDefinition field)
field
- the field definition to add@ThingworxExtensionApiMethod(since={6,6}) public FieldDefinition getFieldDefinition(java.lang.String name)
name
- the name of the field to returnnull
if the field does not exist@ThingworxExtensionApiMethod(since={6,6}) public FieldDefinitionCollection getFields()
@ThingworxExtensionApiMethod(since={6,6}) public void setFields(FieldDefinitionCollection fields)
fields
- the field definitions to assign to this data shape definition@ThingworxExtensionApiMethod(since={6,6}) public DataShapeDefinition clone()
clone
in class java.lang.Object
@ThingworxExtensionApiMethod(since={6,6}) public boolean matches(DataShapeDefinition ds1)
ds1
- the data shape defintion to compare against this onetrue
if the data shape definitions have the same fields (ignoring aspects)@Deprecated @ThingworxExtensionApiMethod(since={6,6}, deprecatedSince={8,4}) public static DataShapeDefinition fromJSON(org.json.JSONObject jsonObject) throws java.lang.Exception
jsonObject
- the JSON object containing the serialized data shape definitionjava.lang.Exception
- if the contents of the JSON object do not match the expected format@Deprecated @ThingworxExtensionApiMethod(since={6,6}, deprecatedSince={8,4}) public org.json.JSONObject toJSON() throws java.lang.Exception
java.lang.Exception
- a JSON exception occurs during serialization