Module is.codion.framework.domain
Interface Attribute.AttributeDefiner<T>
- Type Parameters:
T- the column type
- All Known Subinterfaces:
Column.ColumnDefiner<T>,ForeignKey.ForeignKeyDefiner
public static interface Attribute.AttributeDefiner<T>
Provides
AttributeDefinition.Builder instances.-
Method Summary
Modifier and TypeMethodDescription<B extends TransientAttributeDefinition.Builder<T,B>>
TransientAttributeDefinition.Builder<T,B> Creates a newTransientAttributeDefinition.Builderinstance, which does not map to an underlying table column.<B extends AttributeDefinition.Builder<T,B>>
AttributeDefinition.Builder<T,B> denormalized(Attribute<Entity> entityAttribute, Attribute<T> denormalizedAttribute) Instantiates aAttributeDefinition.Builderinstance, for displaying a value from a referenced entity attribute.<B extends AttributeDefinition.Builder<T,B>>
AttributeDefinition.Builder<T,B> derived(DerivedAttribute.Provider<T> valueProvider, Attribute<?>... sourceAttributes) Instantiates aAttributeDefinition.Builderinstance, which value is derived from one or more source attributes.
-
Method Details
-
attribute
<B extends TransientAttributeDefinition.Builder<T,B>> TransientAttributeDefinition.Builder<T,B> attribute()Creates a newTransientAttributeDefinition.Builderinstance, which does not map to an underlying table column.- Type Parameters:
B- the builder type- Returns:
- a new
TransientAttributeDefinition.Builder
-
denormalized
<B extends AttributeDefinition.Builder<T,B>> AttributeDefinition.Builder<T,B> denormalized(Attribute<Entity> entityAttribute, Attribute<T> denormalizedAttribute) Instantiates aAttributeDefinition.Builderinstance, for displaying a value from a referenced entity attribute.- Type Parameters:
B- the builder type- Parameters:
entityAttribute- the entity attribute from which this attribute gets its valuedenormalizedAttribute- the attribute from the referenced entity, from which this attribute gets its value- Returns:
- a new
AttributeDefinition.Builder
-
derived
<B extends AttributeDefinition.Builder<T,B>> AttributeDefinition.Builder<T,B> derived(DerivedAttribute.Provider<T> valueProvider, Attribute<?>... sourceAttributes) Instantiates aAttributeDefinition.Builderinstance, which value is derived from one or more source attributes.- Type Parameters:
B- the builder type- Parameters:
valueProvider- aDerivedAttribute.Providerinstance responsible for deriving the valuesourceAttributes- the attributes from which this attribute derives its value- Returns:
- a new
AttributeDefinition.Builder - Throws:
IllegalArgumentException- in case no source attributes are specified
-