com.metaboss.enterprise.datatypes |
This package contains elements of the Data Type framework. In the MetaBoss enterprise model
every kind of data is represented by the dedicated java type. (This is similar to
approach some times taken in java jdk. For example java.awt types such as Rectangle, Color, Point etc.).
This approach offers complete type safety, abstraction from internal data representation and high level of reuse
of validation rules, type related utility methods etc.
All Data Types in MetaBoss model have some common characteristics :
- All constructors are private. Instance of datatype is created via static creator methods methods, which look as follows :
public static DataTypeInstance create<What Kind Of Instance>(<All necessary arguments>)
This approach allows to improove readability of the code and have multiple creators with exact same signature.
- One of the imporant features of these static creator methods is validation. They must guard against
invalid combination of creation arguments and not allow creation of an instance with invalid contents. It means that
instance creator has to deal with invalid arguments and any downstream processing of the data types does not have to
worry about validation
- Each Data Type must support two special states :
- Empty Instance. which is empty is simply a type-safe null value.
- Concealed This state means that the data inside an instance has been concealed from viewing. This state offers
the base for implementing "attribute based security".
|
Java Source File Name | Type | Comment |
CompositeDataType.java | Interface | Definition of the generic Composite Data Type interface. |
DataType.java | Interface | Definition of the generic Data Type interface. |
DataTypeConstraintValidationException.java | Class | Specialised Data Types exception. |
DataTypeException.java | Class | Specialised Data Types exception. |
DataTypeFieldValidationException.java | Class | Specialised Data Type Validation Exception. |
DataTypeInstanceCreationFailureException.java | Class | Specialised Data Types exception. |
DataTypeInvalidOperationForConcealedInstanceException.java | Class | Specialised Data Types exception. |
DataTypeInvalidOperationForEmptyInstanceException.java | Class | Specialised Data Types exception. |
DataTypeRuntimeException.java | Class | Specialised Data Types exception. |
DataTypeTranslationMetadata.java | Interface | Each datatype has a translation metadata describing how to translate this datatype
object to and from various storage and distribution protocols. |
DataTypeValidationException.java | Class | Specialised Data Types exception. |
DefaultDataTypeTranslationMetadataImplementation.java | Class | Default implementation of the DataTypeTranslationMetadata interface. |