Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Atom - This is the root for all primitive types
  • System - Marker of all system types.
  • Container - Root of all composite types

 

Primitive types

List of Primitive Types inherited from Atom

 

Code Block
languagexml
titleDifferent kinds of Atom Types
linenumberstrue
<Def name="String" inherits="Atom"/>
<Def name="Binary" inherits="Atom"/>
<Def name="Boolean" inherits="Atom"/>
<Def name="Integer" inherits="Atom"/>
<Def name="Number" inherits="Atom"/>
<Def name="Short" inherits="Atom"/>
<Def name="Long" inherits="Atom"/>
<Def name="Byte" inherits="Atom"/>
<Def name="Float" inherits="Atom"/>
<Def name="Double" inherits="Atom"/>
<Def name="Decimal" inherits="Atom"/>
<Def name="DateTime" inherits="Atom" format="$SimpleDateFormat()"/>
<!-- Derived from Basic Primitives -->
<Def name="Clob" inherits="String"/>
<Def name="Blob" inherits="Binary"/>
<Def name="Date" inherits="DateTime"/>
<Def name="Time" inherits="DateTime"/>
<Def name="Duration" inherits="Time"/>
<Def name="YearDay" inherits="Integer"/>
<Def name="MonthDay" inherits="Integer"/>
<Def name="WeekDay" inherits="Integer"/>
<Def name="YearMonth" inherits="Integer"/>
<Def name="Year" inherits="Integer"/>
<Def name="Month" inherits="Integer"/>
<Def name="Day" inherits="Integer"/>

Examples of Using Primitive Types

Primitive types can be used in standard containers (ThingModel, DataModel,, ThingFacet, AppModel, AppFacet) or custom containers (types) defined by users.

General Usage of Primitive Types

Primitive types usage within containers requires primitive type as an XML Named Element. It takes four modifiers -

...

Code Block
languagexml
titleGeneral Usage of Primitive Types
linenumberstrue
 <PrimitiveTypeName Name=".." Cardinality="m..n" Alt="..." Default=""/> 
String
Code Block
languagexml
titleZoneInfo DataModel using ZoneName as String
linenumberstrue
 
<DataModel Name="ZoneInfo">
  <String name="ZoneName"/>
</DataModel>  

 

Array of Primitive Types

Array of Primitive types is possible using Cardinality modifier at the time of usage

Code Block
languagexml
titleZoneInfo DataModel using ZoneName as Array of String
linenumberstrue
 
<DataModel Name="ZoneInfo">
  <String name="ZoneName" cardinality="0..n"/>
</DataModel>  
DateTime

DataTime uses Java SimpleDateFormat notation. Please refer to here for SimpleDateFormat

...