Skip to main content

Data Elements

A DataElement is at the core of NS systems. It represents information used in the application.

DataElements are often related to nouns used to describe the workings of your application. E.g. when creating an application to receive messages and put them into message-boxes, we would be defining the DataElements Message and MessageBox.

In general, this means that a DataElement should be the anthropomorphic translation of some real-life object or concept to a digital representation.

DataElements are added to the dataElements directory.

space
└── model
├── space.xml
└── dataElements
├── Starship.xml
└── Planet.xml
Starship.xml
<!-- DataElements should be named in PascalCase -->
<dataElement name="Starship">
<!-- The java package to which the generated classes should be added -->
<packageName>net.demo</packageName>
<!-- DataElement types are non-functional, but can be used as a label -->
<dataElementType name="Primary"/>
</dataElement>

DataElement Types

The type of DataElement is a (currently) non-functional identifier that is used to categorize DataElements based on their purpose or behavior.

TypeExplanation
PrimaryThe main type of data, usually anthropomorphic classes.
TaxonomyUsed when listing different types. (DataElementType itself is a taxonomy.)
RegistryListings of background data. (lists of cities, time zones, etc)
DirectoryListings where the hierarchical place of the object is of importance.
HistoryUsed for creating historical logging of some sort. (usually has a couple of Date fields)
SecurityData elements which handle security, such as access rights.
ProxyDescribes a remote element. This can be another data element, another normalized system, or an external system. (like the interface to a physical device)