@ProviderType
public interface DataModel
 This interface is used for storing and managing data that represents the current configuration of, e.g. a
 ProgramNodeContribution or InstallationNodeContribution.
 Methods for adding, removing, retrieving and changing values in a dictionary are provided.
 
 Setting a new value for a key already in use, will overwrite the current value with the new value. This happens
 regardless of the type of value (e.g. storing the value true under the key myBool and afterwards storing
 an Angle object under the same key will overwrite the value true with the provided Angle object).
 
 A URCap installation screen has an underlying DataModel object. That object is saved and loaded along with each
 PolyScope installation.
 
 Similarly, each contributed program node instance has an underlying DataModel object. That object is saved and
 loaded along with the program where the node occurs.
 Undo/redo actions are supported for all modifications to the DataModel object in HTML-based program node contributions.
 Swing-based URCaps must use the UndoRedoManager to record the changes on the undo/redo stack.
 
 When retrieving an object, both key and object type must match what was previously stored. This means that if a
 TCP object was stored using the key myAngle, then attempting to retrieve it using
 get(String key, Angle defaultValue) with the key myAngle will not return the stored value, since the
 types do not match. Instead the provided defaultValue will be returned.
 
| Modifier and Type | Method and Description | 
|---|---|
| Acceleration | get(String key,
   Acceleration defaultValue)Get the  Accelerationvalue assigned to the specified key. | 
| Angle | get(String key,
   Angle defaultValue)Get the  Anglevalue assigned to the specified key. | 
| AngularAcceleration | get(String key,
   AngularAcceleration defaultValue)Get the  AngularAccelerationvalue assigned to the specified key. | 
| AngularSpeed | get(String key,
   AngularSpeed defaultValue)Get the  AngularSpeedvalue assigned to the specified key. | 
| boolean | get(String key,
   boolean defaultValue)Get the  booleanvalue assigned to the specified key. | 
| boolean[] | get(String key,
   boolean[] defaultValue)Get the  boolean[]as value assigned to the specified key. | 
| Current | get(String key,
   Current defaultValue)Get the  Currentvalue assigned to the specified key. | 
| double | get(String key,
   double defaultValue)Get the  doublevalue assigned to the specified key. | 
| double[] | get(String key,
   double[] defaultValue)Get the  double[]as value assigned to the specified key. | 
| Feature | get(String key,
   Feature defaultValue)Get the  Featurevalue assigned to the specified key. | 
| float | get(String key,
   float defaultValue)Get the  floatvalue assigned to the specified key. | 
| float[] | get(String key,
   float[] defaultValue)Get the  float[]as value assigned to the specified key. | 
| Force | get(String key,
   Force defaultValue)Get the  Forcevalue assigned to the specified key. | 
| int | get(String key,
   int defaultValue)Get the  intvalue assigned to the specified key. | 
| int[] | get(String key,
   int[] defaultValue)Get the  int[]as value assigned to the specified key. | 
| JointPositions | get(String key,
   JointPositions defaultValue)Get the  JointPositionsvalue assigned to the specified key. | 
| Length | get(String key,
   Length defaultValue)Get the  Lengthvalue assigned to the specified key. | 
| long | get(String key,
   long defaultValue)Get the  longvalue assigned to the specified key. | 
| long[] | get(String key,
   long[] defaultValue)Get the  long[]as value assigned to the specified key. | 
| Pose | get(String key,
   Pose defaultValue)Get the  Posevalue assigned to the specified key. | 
| Position | get(String key,
   Position defaultValue)Get the  Positionvalue assigned to the specified key. | 
| Pressure | get(String key,
   Pressure defaultValue)Get the  Pressurevalue assigned to the specified key. | 
| Rotation | get(String key,
   Rotation defaultValue)Get the  Rotationvalue assigned to the specified key. | 
| Speed | get(String key,
   Speed defaultValue)Get the  Speedvalue assigned to the specified key. | 
| String | get(String key,
   String defaultValue)Get the  Stringvalue assigned to the specified key. | 
| String[] | get(String key,
   String[] defaultValue)Get the  String[]as value assigned to the specified key. | 
| <T extends Device> | get(String key,
   T defaultValue,
   Class<T> deviceClassType)Get the  Devicevalue assigned to the specified key. | 
| TCP | get(String key,
   TCP defaultValue)Get the  TCPvalue assigned to the specified key. | 
| Time | get(String key,
   Time defaultValue)Get the  Timevalue assigned to the specified key. | 
| Torque | get(String key,
   Torque defaultValue)Get the  Torquevalue assigned to the specified key. | 
| Variable | get(String key,
   Variable defaultValue)Get the  Variablevalue assigned to the specified key. | 
| Voltage | get(String key,
   Voltage defaultValue)Get the  Voltagevalue assigned to the specified key. | 
| Set<String> | getKeys()Get a set of all the keys in the data model. | 
| boolean | isSet(String key)Check if a key is present in the data model. | 
| boolean | remove(String key)Remove a key-value pair from the data model. | 
| void | set(String key,
   Acceleration value)Assign an  Accelerationvalue to the specified key. | 
| void | set(String key,
   Angle value)Assign an  Anglevalue to the specified key. | 
| void | set(String key,
   AngularAcceleration value)Assign an  AngularAccelerationvalue to the specified key. | 
| void | set(String key,
   AngularSpeed value)Assign an  AngularSpeedvalue to the specified key. | 
| void | set(String key,
   boolean value)Assign a  booleanvalue to the specified key. | 
| void | set(String key,
   boolean[] value)Assign a  boolean[]as value to the specified key. | 
| void | set(String key,
   Current value)Assign a  Currentvalue to the specified key. | 
| void | set(String key,
   Device value)Assign a  Devicevalue to the specified key. | 
| void | set(String key,
   double value)Assign a  doublevalue to the specified key. | 
| void | set(String key,
   double[] value)Assign a  double[]as value to the specified key. | 
| void | set(String key,
   Feature value)Assign a  Featurevalue to the specified key. | 
| void | set(String key,
   float value)Assign a  floatvalue to the specified key. | 
| void | set(String key,
   float[] value)Assign a  float[]as value to the specified key. | 
| void | set(String key,
   Force value)Assign a  Forcevalue to the specified key. | 
| void | set(String key,
   int value)Assign an  intvalue to the specified key. | 
| void | set(String key,
   int[] value)Assign a  int[]as value to the specified key. | 
| void | set(String key,
   JointPositions value)Assign a  JointPositionsvalue to the specified key. | 
| void | set(String key,
   Length value)Assign a  Lengthvalue to the specified key. | 
| void | set(String key,
   long value)Assign a  longvalue to the specified key. | 
| void | set(String key,
   long[] value)Assign a  long[]as value to the specified key. | 
| void | set(String key,
   Pose value)Assign a  Posevalue to the specified key. | 
| void | set(String key,
   Position value)Assign a  Positionvalue to the specified key. | 
| void | set(String key,
   Pressure value)Assign a  Pressurevalue to the specified key. | 
| void | set(String key,
   Rotation value)Assign a  Rotationvalue to the specified key. | 
| void | set(String key,
   Speed value)Assign a  Speedvalue to the specified key. | 
| void | set(String key,
   String value)Assign a  Stringvalue to the specified key. | 
| void | set(String key,
   String[] value)Assign a  String[]as value to the specified key. | 
| void | set(String key,
   TCP value)Assign a  TCPvalue to the specified key. | 
| void | set(String key,
   Time value)Assign a  Timevalue to the specified key. | 
| void | set(String key,
   Torque value)Assign a  Torquevalue to the specified key. | 
| void | set(String key,
   Variable value)Assign a  Variablevalue to the specified key. | 
| void | set(String key,
   Voltage value)Assign a  Voltagevalue to the specified key. | 
void set(String key, boolean value)
boolean value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).boolean get(String key, boolean defaultValue)
boolean value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, int value)
int value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).int get(String key, int defaultValue)
int value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, long value)
long value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).long get(String key, long defaultValue)
long value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, float value)
float value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).float get(String key, float defaultValue)
float value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, double value)
double value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).double get(String key, double defaultValue)
double value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, String value)
String value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).String get(String key, String defaultValue)
String value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, JointPositions value)
JointPositions value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).JointPositions get(String key, JointPositions defaultValue)
JointPositions value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Variable value)
Variable value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Variable get(String key, Variable defaultValue)
Variable value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Acceleration value)
Acceleration value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Acceleration get(String key, Acceleration defaultValue)
Acceleration value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Angle value)
Angle value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is nullor an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Angle get(String key, Angle defaultValue)
Angle value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, AngularAcceleration value)
AngularAcceleration value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).AngularAcceleration get(String key, AngularAcceleration defaultValue)
AngularAcceleration value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, AngularSpeed value)
AngularSpeed value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).AngularSpeed get(String key, AngularSpeed defaultValue)
AngularSpeed value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Current value)
Current value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Current get(String key, Current defaultValue)
Current value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Force value)
Force value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Force get(String key, Force defaultValue)
Force value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Length value)
Length value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Length get(String key, Length defaultValue)
Length value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Pose value)
Pose value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Pose get(String key, Pose defaultValue)
Pose value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Position value)
Position value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Position get(String key, Position defaultValue)
Position value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Pressure value)
Pressure value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Pressure get(String key, Pressure defaultValue)
Pressure value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Rotation value)
Rotation value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Rotation get(String key, Rotation defaultValue)
Rotation value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Speed value)
Speed value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Speed get(String key, Speed defaultValue)
Speed value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Time value)
Time value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Time get(String key, Time defaultValue)
Time value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Torque value)
Torque value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Torque get(String key, Torque defaultValue)
Torque value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Voltage value)
Voltage value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Voltage get(String key, Voltage defaultValue)
Voltage value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, boolean[] value)
boolean[] as value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).boolean[] get(String key, boolean[] defaultValue)
boolean[] as value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, int[] value)
int[] as value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).int[] get(String key, int[] defaultValue)
int[] as value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, long[] value)
long[] as value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).long[] get(String key, long[] defaultValue)
long[] as value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, float[] value)
float[] as value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).float[] get(String key, float[] defaultValue)
float[] as value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, double[] value)
double[] as value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).double[] get(String key, double[] defaultValue)
double[] as value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, String[] value)
String[] as value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).String[] get(String key, String[] defaultValue)
String[] as value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, TCP value)
TCP value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).TCP get(String key, TCP defaultValue)
TCP value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Feature value)
Feature value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Feature get(String key, Feature defaultValue)
Feature value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.void set(String key, Device value)
Device value to the specified key.key - key in the data model (not null and not an empty String).value - value assigned to key.IllegalArgumentException - if the key is null or an empty String.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).<T extends Device> T get(String key, T defaultValue, Class<T> deviceClassType)
Device value assigned to the specified key.key - key in the data model.defaultValue - value to be returned, if key does not exist.deviceClassType - device class type to be returned.boolean isSet(String key)
key - key in the data model (not null and not an empty String).true, if key exist, otherwise false.boolean remove(String key)
key - key in the data model  (not null and not an empty String).true, if succeed, otherwise false.IllegalStateException - if called from a Swing-based URCap program node outside of an UndoableChanges
 scope (see also UndoRedoManager).Copyright © 2019. All rights reserved.