]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.databoard/src/org/simantics/databoard/standardTypes.dbt
Improved Bindings.getBinding(Class) caching for Datatype.class
[simantics/platform.git] / bundles / org.simantics.databoard / src / org / simantics / databoard / standardTypes.dbt
index 990b6aaeea4e55422764cde13f30bd2ad23ca29a..115a1b60a1e8942397b88fd7a65a7817918b8917 100644 (file)
-\r
-type Limit = \r
-    | Nolimit \r
-    | Inclusive { value : Double } \r
-    | Exclusive { value : Double } \r
-    | InclusiveLong { value : Long } \r
-    | ExclusiveLong { value : Long }\r
-\r
-type Range = { lower : Limit, upper : Limit }\r
-\r
-type Component = { name : String, type : DataType }\r
-type DataTypeDefinition = { name : String, type : DataType }\r
-\r
-type DataType =\r
-      | BooleanType  {}\r
-      | ByteType     { unit : Optional(String), range : Optional(Range) }\r
-      | IntegerType  { unit : Optional(String), range : Optional(Range) }\r
-      | LongType     { unit : Optional(String), range : Optional(Range) }\r
-      | FloatType    { unit : Optional(String), range : Optional(Range) }\r
-      | DoubleType   { unit : Optional(String), range : Optional(Range) }\r
-      | StringType   { pattern : Optional(String), mimeType : Optional(String), length : Optional(String) }\r
-      | RecordType   referable { referable : Boolean, components : Component[] }\r
-      | ArrayType    { componentType : DataType, length : Optional(Range) }\r
-      | MapType      { keyType : DataType, valueType : DataType }\r
-      | OptionalType { componentType : DataType }\r
-      | UnionType    UnionType\r
-      | VariantType  {}\r
-\r
-type UnionType = { components : Component[] }\r
-\r
-type UUID = { mostSigBits : Long, leastSigBits : Long }\r
-type Void = {}\r
-type URI = String\r
-type LocalizedText = Map(String, String)\r
-\r
-type Interface = {\r
-       methodDefinitions : Map(MethodTypeDefinition, {})\r
-     }\r
-type InterfaceDefinition = {\r
-       name : String,\r
-       type : Interface\r
-     }\r
-type MethodType = {\r
-       requestType : DataType,\r
-      responseType : DataType,\r
-       errorType : UnionType\r
-     }\r
-type MethodTypeDefinition = {\r
-       name : String,\r
-       type : MethodType\r
-     }\r
-\r
-\r
-type Handshake = | Version0\r
-type Version0 = {\r
-       recvMsgLimit : Integer,\r
-       sendMsgLimit : Integer,\r
-       methods : MethodTypeDefinition[]\r
-     }\r
-type Message = | RequestHeader RequestHeader \r
-               | ResponseHeader ResponseHeader\r
-               | ExecutionError_ ExecutionError_\r
-               | Exception_ Exception_\r
-               | InvalidMethodError InvalidMethodError\r
-               | ResponseTooLarge ResponseTooLarge\r
-type RequestHeader = {\r
-       requestId : Integer,\r
-       methodId : Integer\r
-     }\r
-type ResponseHeader = {\r
-       requestId : Integer\r
-     }\r
-type ExecutionError_ = {\r
-       requestId : Integer\r
-     }\r
-type InvalidMethodError = {\r
-       requestId : Integer\r
-     }\r
-type Exception_ = {\r
-       requestId : Integer,         \r
-       message : String\r
-     }\r
-type ResponseTooLarge = {\r
-       requestId : Integer         \r
-     }\r
-\r
-type AccessorReference = | ArrayIndexReference     { childReference : Optional(AccessorReference), index : Integer }\r
-                         | KeyReference            { childReference : Optional(AccessorReference), key : Variant }\r
-                         | OptionalValueReference  { childReference : Optional(AccessorReference) }\r
-                         | FieldIndexReference     { childReference : Optional(AccessorReference), index : Integer }\r
-                         | FieldNameReference      { childReference : Optional(AccessorReference), fieldName : String }\r
-                         | TagReference            { childReference : Optional(AccessorReference)  }\r
-                         | TagIndexReference       { childReference : Optional(AccessorReference), tag : Integer  }\r
-                         | TagNameReference        { childReference : Optional(AccessorReference), tag : String }\r
-                         | VariantValueReference   { childReference : Optional(AccessorReference) }\r
-                         | LabelReference          { childReference : Optional(AccessorReference), label : String }\r
-\r
-type Event = | ArrayElementAdded     { reference : Optional( AccessorReference ), index : Integer, value : Optional( Variant ) }\r
-             | ArrayElementRemoved   { reference : Optional( AccessorReference ), index : Integer }\r
-             | MapEntryAdded         { reference : Optional( AccessorReference ), key : Variant, value : Optional( Variant ) }\r
-             | MapEntryRemoved       { reference : Optional( AccessorReference ), key : Variant }\r
-             | UnionValueAssigned    { reference : Optional( AccessorReference ), tag : Integer, newValue : Optional( Variant ) }\r
-             | OptionalValueAssigned { reference : Optional( AccessorReference ), newValue : Optional( Variant ) }\r
-             | OptionalValueRemoved  { reference : Optional( AccessorReference ) }\r
-             | ValueAssigned         { reference : Optional( AccessorReference ), newValue : Optional( Variant ) }\r
-             | InvalidatedEvent      { reference : Optional( AccessorReference ) }\r
\r
-type ChangeSet = { events : Event[] }\r
-\r
-type InterestSet = | BooleanInterestSet  { notification : Boolean, value : Boolean }\r
-                   | ByteInterestSet     { notification : Boolean, value : Boolean }\r
-                   | IntegerInterestSet  { notification : Boolean, value : Boolean }\r
-                   | LongInterestSet     { notification : Boolean, value : Boolean }\r
-                   | FloatInterestSet    { notification : Boolean, value : Boolean }\r
-                   | DoubleInterestSet   { notification : Boolean, value : Boolean }\r
-                   | StringInterestSet   { notification : Boolean, value : Boolean }\r
-                   | RecordInterestSet   { notification : Boolean, notifications : Boolean[], value : Boolean, values : Boolean[] }\r
-                   | ArrayInterestSet    { notification : Boolean, notifications : Integer[], value : Boolean, values : Integer[] }\r
-                   | MapInterestSet      { notification : Boolean, notifications : Variant[], value : Boolean, values : Variant[], componentInterest : InterestSet, componentInterests : Map( Variant, InterestSet ) }\r
-                   | OptionalInterestSet { notification : Boolean, value : Boolean, componentInterest : InterestSet }\r
-                   | UnionInterestSet    { notification : Boolean, value : Boolean, componentInterests : InterestSet[] }\r
-                   | VariantInterestSet  { notification : Boolean, value : Boolean, componentInterest : InterestSet, completeComponent : Boolean }\r
-\r
-type Datasource = {\r
-        nodes : Map(Variant, Node)\r
-     }\r
-type Node = {\r
-        id : Variant,\r
-        labels : LocalizedText,\r
-        children : Variant[],\r
-        value : Optional(Variant)\r
-     }\r
-\r
-type Instant = { \r
-         seconds : Long, \r
-         nanoSeconds : Integer(range=[0..999999999])\r
-     }\r
-\r
-type Duration = { \r
-         seconds : Long, \r
-         nanoSeconds : Integer(range=[0..999999999]) \r
-     }\r
-\r
-type LocalDate = { \r
-         year : Integer, \r
-         monthOfYear : Integer(range=[1..12]), \r
-         dayOfMonth : Integer(range=[1..31]) \r
-     }\r
-     \r
-type LocalTime = { \r
-         hourOfDay : Integer(range=[0..23]),\r
-         minuteOfHour : Integer(range=[0..59]),\r
-         secondOfMinute : Integer(range=[0..59]),\r
-         nanoOfSecond : Integer(range=[0..999999999])\r
-     }\r
-     \r
-type LocalDateTime = {\r
-         year : Integer, \r
-         monthOfYear : Integer(range=[1..12]), \r
-         dayOfMonth : Integer(range=[1..31]), \r
-         hourOfDay : Integer(range=[0..23]),\r
-         minuteOfHour : Integer(range=[0..59]),\r
-         secondOfMinute : Integer(range=[0..59]),\r
-         nanoOfSecond : Integer(range=[0..999999999])\r
-     }\r
-    \r
-type ZonedDateTime = {\r
-         date : LocalDate,\r
-         time : LocalTime,\r
-         zone : TimeZone\r
-     }\r
\r
-type TimeZone = { zoneId : String }\r
-\r
-// A result of a data capturing session\r
-type RecordingSession = {\r
-         // An optional Datasource URL\r
-         datasource : Optional( String ),\r
\r
-         // Events that occured in the data source during sampling, a map of Event Id to Event\r
-         events: Map( Integer, Event ),\r
\r
-         // A collection of events that are promoted to milestones, a map of Milestone Id to Event Id\r
-         milestones : Map( Integer, Integer ),\r
-         \r
-         // All records, a map of NodeId to Recording(T, V)\r
-         recordings : Map( Variant, Variant )\r
-     }\r
-      \r
-type SubscriptionParameters = {\r
-        nodeId : Variant,\r
-        deadband : Optional( Variant ),\r
-        interval : Optional( Variant )\r
-      }\r
-\r
-type SamplingConfiguration = {\r
-         // Capture events, if true events are captured\r
-         captureEvents : Boolean,\r
-         // Subscribed Variables\r
-         subscriptions : SubscriptionParameters[]\r
-      }\r
-      \r
-type Event = {\r
-        // Session unique identifier\r
-        id : Integer,\r
-\r
-        // Timevalue, a number type e.g. Double(unit="s"), or a date type (See #Time_Types)\r
-        time : Variant,\r
-\r
-        // Title\r
-        title : Optional(String), \r
-\r
-        // Message\r
-        message : String,\r
\r
-        // NodeId of the sender object, optional\r
-        source : Optional(Variant),\r
-\r
-        // Event Type: alarm, action, error, info, debug\r
-        type : String,\r
\r
-        // System Text, generated by the source system, eg. \94YD11D001 started\94\r
-        systemText : Optional(String), \r
-\r
-        // Comments\r
-        comments : Comment[],\r
-\r
-        // Other Metadata\r
-        metadata : Map(String, String) \r
-      }\r
-\r
-type Comment = {\r
-        user : Optional(String),\r
-        message : String\r
-      }\r
+
+type Limit = 
+    | Nolimit 
+    | Inclusive { value : Double } 
+    | Exclusive { value : Double } 
+    | InclusiveLong { value : Long } 
+    | ExclusiveLong { value : Long }
+
+type Range = { lower : Limit, upper : Limit }
+
+type Component = { name : String, type : DataType }
+type DataTypeDefinition = { name : String, type : DataType }
+
+type DataType =
+      | BooleanType  {}
+      | ByteType     { unit : Optional(String), range : Optional(Range) }
+      | IntegerType  { unit : Optional(String), range : Optional(Range) }
+      | LongType     { unit : Optional(String), range : Optional(Range) }
+      | FloatType    { unit : Optional(String), range : Optional(Range) }
+      | DoubleType   { unit : Optional(String), range : Optional(Range) }
+      | StringType   { pattern : Optional(String), mimeType : Optional(String), length : Optional(String) }
+      | RecordType   referable { referable : Boolean, components : Component[] }
+      | ArrayType    { componentType : DataType, length : Optional(Range) }
+      | MapType      { keyType : DataType, valueType : DataType }
+      | OptionalType { componentType : DataType }
+      | UnionType    UnionType
+      | VariantType  {}
+
+type UnionType = { components : Component[] }
+
+type UUID = { mostSigBits : Long, leastSigBits : Long }
+type Void = {}
+type URI = String
+type LocalizedText = Map(String, String)
+
+type Interface = {
+       methodDefinitions : Map(MethodTypeDefinition, {})
+     }
+type InterfaceDefinition = {
+       name : String,
+       type : Interface
+     }
+type MethodType = {
+       requestType : DataType,
+      responseType : DataType,
+       errorType : UnionType
+     }
+type MethodTypeDefinition = {
+       name : String,
+       type : MethodType
+     }
+
+
+type Handshake = | Version0
+type Version0 = {
+       recvMsgLimit : Integer,
+       sendMsgLimit : Integer,
+       methods : MethodTypeDefinition[]
+     }
+type Message = | RequestHeader RequestHeader 
+               | ResponseHeader ResponseHeader
+               | ExecutionError_ ExecutionError_
+               | Exception_ Exception_
+               | InvalidMethodError InvalidMethodError
+               | ResponseTooLarge ResponseTooLarge
+type RequestHeader = {
+       requestId : Integer,
+       methodId : Integer
+     }
+type ResponseHeader = {
+       requestId : Integer
+     }
+type ExecutionError_ = {
+       requestId : Integer
+     }
+type InvalidMethodError = {
+       requestId : Integer
+     }
+type Exception_ = {
+       requestId : Integer,         
+       message : String
+     }
+type ResponseTooLarge = {
+       requestId : Integer         
+     }
+
+type AccessorReference = | ArrayIndexReference     { childReference : Optional(AccessorReference), index : Integer }
+                         | KeyReference            { childReference : Optional(AccessorReference), key : Variant }
+                         | OptionalValueReference  { childReference : Optional(AccessorReference) }
+                         | FieldIndexReference     { childReference : Optional(AccessorReference), index : Integer }
+                         | FieldNameReference      { childReference : Optional(AccessorReference), fieldName : String }
+                         | TagReference            { childReference : Optional(AccessorReference)  }
+                         | TagIndexReference       { childReference : Optional(AccessorReference), tag : Integer  }
+                         | TagNameReference        { childReference : Optional(AccessorReference), tag : String }
+                         | VariantValueReference   { childReference : Optional(AccessorReference) }
+                         | LabelReference          { childReference : Optional(AccessorReference), label : String }
+
+type Event = | ArrayElementAdded     { reference : Optional( AccessorReference ), index : Integer, value : Optional( Variant ) }
+             | ArrayElementRemoved   { reference : Optional( AccessorReference ), index : Integer }
+             | MapEntryAdded         { reference : Optional( AccessorReference ), key : Variant, value : Optional( Variant ) }
+             | MapEntryRemoved       { reference : Optional( AccessorReference ), key : Variant }
+             | UnionValueAssigned    { reference : Optional( AccessorReference ), tag : Integer, newValue : Optional( Variant ) }
+             | OptionalValueAssigned { reference : Optional( AccessorReference ), newValue : Optional( Variant ) }
+             | OptionalValueRemoved  { reference : Optional( AccessorReference ) }
+             | ValueAssigned         { reference : Optional( AccessorReference ), newValue : Optional( Variant ) }
+             | InvalidatedEvent      { reference : Optional( AccessorReference ) }
+type ChangeSet = { events : Event[] }
+
+type InterestSet = | BooleanInterestSet  { notification : Boolean, value : Boolean }
+                   | ByteInterestSet     { notification : Boolean, value : Boolean }
+                   | IntegerInterestSet  { notification : Boolean, value : Boolean }
+                   | LongInterestSet     { notification : Boolean, value : Boolean }
+                   | FloatInterestSet    { notification : Boolean, value : Boolean }
+                   | DoubleInterestSet   { notification : Boolean, value : Boolean }
+                   | StringInterestSet   { notification : Boolean, value : Boolean }
+                   | RecordInterestSet   { notification : Boolean, notifications : Boolean[], value : Boolean, values : Boolean[] }
+                   | ArrayInterestSet    { notification : Boolean, notifications : Integer[], value : Boolean, values : Integer[] }
+                   | MapInterestSet      { notification : Boolean, notifications : Variant[], value : Boolean, values : Variant[], componentInterest : InterestSet, componentInterests : Map( Variant, InterestSet ) }
+                   | OptionalInterestSet { notification : Boolean, value : Boolean, componentInterest : InterestSet }
+                   | UnionInterestSet    { notification : Boolean, value : Boolean, componentInterests : InterestSet[] }
+                   | VariantInterestSet  { notification : Boolean, value : Boolean, componentInterest : InterestSet, completeComponent : Boolean }
+
+type Datasource = {
+        nodes : Map(Variant, Node)
+     }
+type Node = {
+        id : Variant,
+        labels : LocalizedText,
+        children : Variant[],
+        value : Optional(Variant)
+     }
+
+type Instant = { 
+         seconds : Long, 
+         nanoSeconds : Integer(range=[0..999999999])
+     }
+
+type Duration = { 
+         seconds : Long, 
+         nanoSeconds : Integer(range=[0..999999999]) 
+     }
+
+type LocalDate = { 
+         year : Integer, 
+         monthOfYear : Integer(range=[1..12]), 
+         dayOfMonth : Integer(range=[1..31]) 
+     }
+     
+type LocalTime = { 
+         hourOfDay : Integer(range=[0..23]),
+         minuteOfHour : Integer(range=[0..59]),
+         secondOfMinute : Integer(range=[0..59]),
+         nanoOfSecond : Integer(range=[0..999999999])
+     }
+     
+type LocalDateTime = {
+         year : Integer, 
+         monthOfYear : Integer(range=[1..12]), 
+         dayOfMonth : Integer(range=[1..31]), 
+         hourOfDay : Integer(range=[0..23]),
+         minuteOfHour : Integer(range=[0..59]),
+         secondOfMinute : Integer(range=[0..59]),
+         nanoOfSecond : Integer(range=[0..999999999])
+     }
+    
+type ZonedDateTime = {
+         date : LocalDate,
+         time : LocalTime,
+         zone : TimeZone
+     }
+type TimeZone = { zoneId : String }
+
+// A result of a data capturing session
+type RecordingSession = {
+         // An optional Datasource URL
+         datasource : Optional( String ),
+         // Events that occured in the data source during sampling, a map of Event Id to Event
+         events: Map( Integer, Event ),
+         // A collection of events that are promoted to milestones, a map of Milestone Id to Event Id
+         milestones : Map( Integer, Integer ),
+         
+         // All records, a map of NodeId to Recording(T, V)
+         recordings : Map( Variant, Variant )
+     }
+      
+type SubscriptionParameters = {
+        nodeId : Variant,
+        deadband : Optional( Variant ),
+        interval : Optional( Variant )
+      }
+
+type SamplingConfiguration = {
+         // Capture events, if true events are captured
+         captureEvents : Boolean,
+         // Subscribed Variables
+         subscriptions : SubscriptionParameters[]
+      }
+      
+type Event = {
+        // Session unique identifier
+        id : Integer,
+
+        // Timevalue, a number type e.g. Double(unit="s"), or a date type (See #Time_Types)
+        time : Variant,
+
+        // Title
+        title : Optional(String), 
+
+        // Message
+        message : String,
+        // NodeId of the sender object, optional
+        source : Optional(Variant),
+
+        // Event Type: alarm, action, error, info, debug
+        type : String,
+        // System Text, generated by the source system, eg. \94YD11D001 started\94
+        systemText : Optional(String), 
+
+        // Comments
+        comments : Comment[],
+
+        // Other Metadata
+        metadata : Map(String, String) 
+      }
+
+type Comment = {
+        user : Optional(String),
+        message : String
+      }