TEntity
- The type of the entity.public class EntitySchema<TEntity> extends Object
TrackingArchive
via the IEntityArchiveDescriptor
interface on
an EntityDescriptor
.Constructor and Description |
---|
EntitySchema(Class<?> entityIdentifierType)
Initializes a new instance.
|
Modifier and Type | Method and Description |
---|---|
<T> void |
addProperty(TypeLiteral<T> typeLiteralT,
String name,
EntityTransactedPropertyGetter<TEntity,T> transactedPropertyGetter)
Adds a
TransactedProperty to the schema. |
Class<?> |
getEntityIdentifierType()
Gets the type of the
EntityIdentifier (get ) of this entity type. |
List<EntitySchemaProperty<TEntity>> |
getProperties()
Gets the collection of properties in this schema.
|
int |
getPropertyCount()
Gets the number of properties in this schema.
|
public EntitySchema(@Nonnull Class<?> entityIdentifierType)
entityIdentifierType
- The type of the EntityIdentifier
(get
) of this entity type.ArgumentNullException
- Thrown when entityIdentifierType
is null
.public final <T> void addProperty(TypeLiteral<T> typeLiteralT, @Nonnull String name, @Nonnull EntityTransactedPropertyGetter<TEntity,T> transactedPropertyGetter)
TransactedProperty
to the schema.T
- The type of the property.typeLiteralT
- A TypeLiteral object representing the generic type T
.name
- The name of the property.transactedPropertyGetter
- A callback to use to obtain the TransactedProperty
.ArgumentNullException
- Thrown when name
or transactedPropertyGetter
is null
.ArgumentException
- Thrown when name
is an empty string, or if a property with the same name already exists in the schema.@Nonnull public final Class<?> getEntityIdentifierType()
EntityIdentifier
(get
) of this entity type.@Nonnull public final List<EntitySchemaProperty<TEntity>> getProperties()
public final int getPropertyCount()