Package com.thingworx.metadata
Class DataShapeDefinition
java.lang.Object
com.thingworx.types.NamedObject
com.thingworx.metadata.DataShapeDefinition
- All Implemented Interfaces:
IDiffableObject,INamedObject,Serializable,Cloneable
@ThingworxExtensionApiClass(since={6,6},
canInstantiate=true)
public final class DataShapeDefinition
extends NamedObject
implements 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 DataShapes, InfoTables, and
StreamThings, 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.
- See Also:
-
Field Summary
Fields inherited from class com.thingworx.types.NamedObject
NAME_COMPARATOR -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new empty data shape definition.Constructs a data shape definition containing a predefined collection of fields. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a new field definition to this data shape definition.clone()Creates a deep clone of this data shape definition.static DataShapeDefinitionfromJSON(org.json.JSONObject jsonObject) Deprecated.getFieldDefinition(String name) Returns the field definition with the specified name.Returns the collection of field definitions belonging to this data shape definition.booleanTests if the field named exists in this definition.booleanTests if this definition contains any fields that are designated as primary keys.booleanDetermines if this data shape definition has the same fields with the same base types as the provided data shape definition.voidsetFields(FieldDefinitionCollection fields) Replaces the fields belonging to this data shape definition with the fields provided in the specified collection.org.json.JSONObjecttoJSON()Deprecated.no replacementMethods inherited from class com.thingworx.types.NamedObject
getDescription, getName, setDescription, setName, toValueCollection
-
Constructor Details
-
DataShapeDefinition
Constructs a new empty data shape definition. -
DataShapeDefinition
@ThingworxExtensionApiMethod(since={6,6}) public DataShapeDefinition(FieldDefinitionCollection fields) Constructs a data shape definition containing a predefined collection of fields.- Parameters:
fields- the fields that will belong to this data shape definition
-
-
Method Details
-
hasField
Tests if the field named exists in this definition.- Parameters:
name- the name of the field- Returns:
trueif the field exists in this definition
-
hasPrimaryKey
Tests if this definition contains any fields that are designated as primary keys.- Returns:
trueif any field belonging to this definition is a primary key,falseif none of the fields are primary keys or no fields exist in this definition
-
addFieldDefinition
Adds a new field definition to this data shape definition.- Parameters:
field- the field definition to add
-
getFieldDefinition
Returns the field definition with the specified name.- Parameters:
name- the name of the field to return- Returns:
- the specified field definition, or
nullif the field does not exist
-
getFields
Returns the collection of field definitions belonging to this data shape definition.- Returns:
- the collection of field definitions belonging to this data shape definition
-
setFields
Replaces the fields belonging to this data shape definition with the fields provided in the specified collection.- Parameters:
fields- the field definitions to assign to this data shape definition
-
clone
Creates a deep clone of this data shape definition. All of the field definitions belonging to this object are also cloned. -
matches
Determines if this data shape definition has the same fields with the same base types as the provided data shape definition.- Parameters:
ds1- the data shape defintion to compare against this one- Returns:
trueif the data shape definitions have the same fields (ignoring aspects)
-
fromJSON
@Deprecated @ThingworxExtensionApiMethod(since={6,6}, deprecatedSince={8,4}) public static DataShapeDefinition fromJSON(org.json.JSONObject jsonObject) throws Exception Deprecated.Parses a serialized data shape definition as a JSON object. The JSON object must contain a mapping for the field definitions in order to be valid.- Parameters:
jsonObject- the JSON object containing the serialized data shape definition- Returns:
- the resultant data shape definition
- Throws:
Exception- if the contents of the JSON object do not match the expected format
-
toJSON
@Deprecated @ThingworxExtensionApiMethod(since={6,6}, deprecatedSince={8,4}) public org.json.JSONObject toJSON() throws ExceptionDeprecated.no replacementSerializes this data shape definition into JSON format. The resulting JSON object will contain the full list of field definitions belonging to this data shape definition.- Returns:
- a JSON object describing this data shape definition
- Throws:
Exception- a JSON exception occurs during serialization
-