Domain model
Components and entities
Overview
Reference
DefaultDescriptor
DefaultDescriptor
- Full name :
org.jspresso.framework.util.descriptor.DefaultDescriptor
- Sub-types :
BasicCollectionDescriptor
,DefaultIconDescriptor
This is a utility class from which most named descriptors inherit for factorization purpose. It provides translatable name and description.
Property | Description |
---|---|
description
|
Sets the description of this descriptor. Most of the descriptor descriptions are used in conjunction with the Jspresso i18n layer so that the description property set here is actually an i18n key used for translation. Description is mainly used for UI (in toolTips for instance) but may also be used for project technical documentation, contextual help, and so on. |
i18nNameKey
|
Sets the I18N key used for translation if it differs from the name itself. |
name
|
Sets the name of this descriptor. Most of the descriptor names are used in conjunction with the Jspresso i18n layer so that the name property set here is actually an i18n key used for translation. The descriptor name property semantic may vary depending on the actual descriptor type. For instance, a property descriptor name is the name of the property and a component descriptor name is the fully qualified name of the underlying class. |
DefaultIconDescriptor
- Full name :
org.jspresso.framework.util.descriptor.DefaultIconDescriptor
- Super-type :
DefaultDescriptor
- Sub-types :
AbstractComponentDescriptor
,ActionList
,BasicPropertyDescriptor
,BasicViewDescriptor
This is a utility class from which most displayable descriptors inherit for factorization purpose. It provides an icon image URL.
Property | Description |
---|---|
icon
|
Sets the icon. |
iconImageURL
|
Sets the icon image URL of this descriptor. Supported URL protocols include :
|
iconPreferredHeight
|
Sets the icon preferred height. |
iconPreferredWidth
|
Sets the icon preferred width. |
AbstractComponentDescriptor
AbstractComponentDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.AbstractComponentDescriptor
- Super-type :
DefaultIconDescriptor
- Sub-types :
BasicComponentDescriptor
,BasicEntityDescriptor
,BasicInterfaceDescriptor
This is the abstract base descriptor for all component-like part of the domain model. All the properties included in this base descriptor can of course be used in concrete sub-types.
These sub-types include :
- BasicEntityDescriptor for defining a persistent entity
- BasicInterfaceDescriptor for defining a common interface that will be implemented by other entities, components or even sub-interfaces.
- BasicComponentDescriptor for defining reusable structures that can be inline in an entity. It also allows to describe an arbitrary POJO and make use of it in Jspresso UIs.
Property | Description |
---|---|
ancestorDescriptors
|
Registers this descriptor with a collection of ancestors. It directly translates the components inheritance hierarchy since the component property descriptors are the union of the declared property descriptors of the component and of its ancestors one. A component may have multiple ancestors which means that complex multiple-inheritance hierarchy can be mapped. |
autoCompleteProperty
|
Allows to customize the property used to autocomplete reference fields on this component.
Whenever this property is
|
autoQueryEnabled
|
Whenever this component type is presented as a filter, this property gives the capability to enable / disable auto-search when typing the filter fields. |
componentTranslationsDescriptorTemplate
|
Sets component translations descriptor template. |
grantedRoles
|
Assigns the roles that are authorized to manipulate components backed by
this descriptor. It supports "!" prefix to negate the
role(s). This will directly influence the UI behaviour and even
composition. Setting the collection of granted roles to |
lifecycleInterceptorBeanNames
|
Registers a list of lifecycle interceptor instances that will be triggered on the different phases of the component lifecycle, i.e. :
lifecycleInterceptorClassNames except that it allows to
register interceptor instances that are configured externally in the Spring
context. lifecycle interceptor instances must implement the
ILifecycleInterceptor<E> interface where <E> is a
type assignable from the component type. |
lifecycleInterceptorClassNames
|
Much the same as
|
orderingProperties
|
Ordering properties are used to sort un-indexed collections of instances of
components backed by this descriptor. This sort order can be overridden on
the finer collection property level to change the way a specific collection
is sorted. This property consist of a
null value (default) will not give any indication
for the collection sort order. |
pageSize
|
Whenever a collection of this component type is presented in a pageable UI,
this property gives the size (number of component instances) of one page.
This size can usually be refined at a lower level (e.g. at reference
property descriptor for "lists of values"). A |
permId
|
A component permanent id is forced to be its fully-qualified class name. Trying to set it to another value will raise an exception. {@inheritDoc} |
propertyDescriptors
|
This property allows to describe the properties of the components backed by this descriptor. Like in classic OO programming, the actual set of properties available to a component is the union of its properties and of its ancestors' ones. Jspresso also allows you to refine a property descriptor in a child component descriptor exactly as you would do it in a subclass. In that case, the attributes of the property defined in the child descriptor prevails over the definition of its ancestors. Naturally, properties are keyed by their names. |
queryableProperties
|
This property allows to define which of the component properties are to be
used in the filter UIs that are based on this component family (a QBE
screen for instance). Since this is a
Whenever this this property is Note that this property is not inherited by children descriptors, i.e. even if an ancestor defines an explicit set of queryable properties, its children ignore this setting. |
renderedProperties
|
This property allows to define which of the component properties are to be
rendered by default when displaying a UI based on this component family.
For instance, a table will render 1 column per rendered property of the
component. Any type of property can be used except collection properties.
Since this is a
Whenever this property is Note that this property is not inherited by children descriptors, i.e. even if an ancestor defines an explicit set of rendered properties, its children ignore this setting. |
serviceDelegateBeanNames
|
Registers the collection of service delegate instances attached to this component. These delegate instances will automatically be triggered whenever a method of the service interface it implements get executed. For instance :
serviceDelegateClassNames except that it
allows to register delegate instances that are configured externally in the
Spring context. lifecycle interceptor instances must implement the
IComponentService marker interface. |
serviceDelegateClassNames
|
Much the same as
|
sqlName
|
Instructs Jspresso to use this name when translating this component type name to the data store namespace. This includes , but is not limited to, database table names.
Default value is |
toHtmlProperty
|
Allows to customize the HTML representation of a component instance. The property name assigned will be used when displaying the component instance as HTML. It may be a computed property that composes several other properties in a human friendly format.
Whenever this property is |
toStringProperty
|
Allows to customize the string representation of a component instance. The property name assigned will be used when displaying the component instance as a string. It may be a computed property that composes several other properties in a human friendly format.
Whenever this property is
|
unclonedProperties
|
Configures the properties that must not be cloned when this component is duplicated. For instance, tracing information like a created timestamp should not be cloned; a SSN neither. For a given component, the uncloned properties are the ones it defines augmented by the ones its ancestors define. There is no mean to make a component property cloneable if one of the ancestor declares it un-cloneable. |
writabilityGates
|
Assigns a collection of gates to determine component writability. A component will be considered writable if and only if all gates are open. This mechanism is mainly used for dynamic UI authorization based on model state, e.g. a validated invoice should not be editable anymore. Descriptor assigned gates will be cloned for each component instance created and backed by this descriptor. So basically, each component instance will have its own, unshared collection of writability gates. Jspresso provides a useful set of gate types, like the binary property gate that open/close based on the value of a boolean property of owning component. By default, component descriptors are not assigned any gates collection, i.e. there is no writability restriction. Note that gates do not enforce programmatic writability of a component; only UI is impacted. |
BasicComponentDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicComponentDescriptor
- Super-type :
AbstractComponentDescriptor
- Sub-types :
This type of descriptor is used to describe :
- structures that are to be reused but don't have enough focus for being
considered as entities. For instance
MoneyAmount
component could be composed of a decimal and a reference to aMoney
entity. This structure could then be reused in other elements of the domain like anInvoice
or anArticle
. Jspresso terminology for these type of structures is "Inline Component". - arbitrary models, that even come from outside of Jspresso (an external library for instance). Describing an arbitrary component allows for seamless usage in the Jspresso view binding architecture. Note that in that case, all behavioural properties like lifecycle interceptors or service delegates are ignored since none of the model behaviour is handled by Jspresso.
add/removePropertyChangeListener
methods since Jspresso
binding architecture leverages this behaviour. Jspresso managed components
implement it automatically but the developer must ensure it for other types
of components.
Property | Description |
---|---|
ancestorDescriptors
|
{@inheritDoc} |
BasicEntityDescriptor
- Full name :
org.jspresso.framework.model.descriptor.entity.basic.BasicEntityDescriptor
- Super-type :
AbstractComponentDescriptor
This descriptor key to the description of the application model. It is used
to describe a model entity. A Jspresso managed entity has a synthetic
identifier (id) and is versioned (version) to cope with
concurrent access conflicts through optimistic locking. It conforms to the
Java Beans standard so that its property changes can be followed by
the classic add/removePropertyChangeListener
methods; Jspresso
binding architecture leverages this behaviour.
Property | Description |
---|---|
ancestorDescriptors
|
{@inheritDoc} |
purelyAbstract
|
This property is used to indicate that the entity type described is to be considered abstract. Jspresso will prevent any instantiation through its generic actions or internal mechanisms. Trying to do so will result in a low level exception and reveals a coding (assembling) error. However, an abstract entity will have a concrete representation in the data store that depends on the inheritance mapping strategy used. As of now, Jspresso uses the join-subclass inheritance mapping strategy when generating the Hibernate mapping so an abstract entity will end up as a table in the data store. An abstract entity descriptor differs from an interface descriptor mainly because of its concrete representation in the data store as formerly described. |
rootEntityDescriptor
|
Configures the root entity descriptor to use globally for the application. Jspresso will ensure that all entity descriptors have this root descriptor as ancestor. |
BasicInterfaceDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicInterfaceDescriptor
- Super-type :
AbstractComponentDescriptor
This descriptor is a mean of factorizing state/behaviour among components, entities or even sub-interfaces. This is a much less coupling mechanism than actual entity inheritance and can be used across entities that don't belong the the same inheritance hierarchy, or even across types (entities, components, interfaces).
Please note that interface descriptor is not a way for domain elements to
implement arbitrary interfaces coming from external libraries unless they
only contain property accessors. The latter can be achieved using service
delegates and the serviceDelegates[Bean|Class]Names
property.
Property | Description |
---|---|
This class does not have any specific property. |
Properties
Overview
Reference
BasicPropertyDescriptor
BasicPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicPropertyDescriptor
- Super-type :
DefaultIconDescriptor
- Sub-types :
BasicRelationshipEndPropertyDescriptor
,BasicScalarPropertyDescriptor
This is the abstract base class for all property descriptors. It mainly serves for factorizing all commons properties for property descriptors.
A property descriptor is used for describing a component/entity/interface property (Java Beans semantic).
You will never use BasicPropertyDescriptor
as such but rather
use its concrete descendants.
Please note that BasicPropertyDescriptor
enforces its name to
start with a lower case letter, following the JavaBean convention. So even if
you name it "MyProperty", it will actually end up to
"myProperty".
Property | Description |
---|---|
alternativeSortProperty
|
Allows to configure an alternative property used to sort this one. |
cacheable
|
Configures the fact that this property can be cached. This is only used for computed properties. Note that the cached value will be reset whenever a firePropertyChange regarding this property is detected to be fired.
Default value is |
computed
|
Forces a property to be considered as a computed property by the framework. A computed property will be completely ignored by the persistence layer and its management is left to the developer.
Properties declared with a delegate computing class are considered computed
by default so there is no need to explicitly set them
Default value is |
delegateClassName
|
Instructs the framework that this property is computed by a delegate
attached to the owning component. The Delegate instances are stateful. This allows for some caching of computing intensive properties. There is exactly one delegate of a certain class per owning component instance. Delegate instances are lazily created when needed, i.e. whe the computed property is accessed either programmatically or by the binding layer.
The delegate class must implement the
A delegate-computed property is most of the time read-only but it can be
made writable by setting the property descriptor
|
delegateWritable
|
Instructs the framework that a delegate-computed property is writable. Most
of the time, a computed property is read-only. Whenever a computed property
is made writable through the use of
Default value is |
filterComparable
|
Sets filter comparable. |
filterOnly
|
Configures whether this property is only used in filters, i.e. it is not persistent and only serves for storing
criteria
data that can be further leveraged by criteria refiners. Using |
grantedRoles
|
Assigns the roles that are authorized to manipulate the property backed by
this descriptor. It supports "!" prefix to negate the
role(s). This will directly influence the UI behaviour and even composition
(e.g. show/hide columns or fields). Setting the collection of granted roles
to |
integrityProcessorBeanNames
|
Registers a list of property processor instances that will be triggered on the different phases of the property modification, i.e. :
integrityProcessorClassNames except that it allows to register
processor instances that are configured externally in the Spring context.
Property processor instances must implement the
Whenever the underlying property is a collection property, the interface to
implement is
|
integrityProcessorClassNames
|
Much the same as
|
mandatory
|
Declare a property as mandatory. This will enforce mandatory checks when the owning component is persisted as well as when the property is updated individually. Moreover, this information allows the views bound to the property to be configured accordingly, e.g. display the property with a slightly modified label indicating it is mandatory. This constraint is also enforced programmatically. Default value is false. |
name
|
Enforces its name to start with a lower case letter, following the JavaBean convention. So even if you name it "MyProperty", it will actually end up to "myProperty". {@inheritDoc} |
permId
|
A property permanent id is forced to be its name. Trying to set it to another value will raise an exception. {@inheritDoc} |
preferredWidth
|
This property allows for setting an indication of width for representing this property in a view.
Default value is |
readOnly
|
Enforces a property to be read-only. This is only enforced at the UI level, i.e. the property can still be updated programmatically. The UI may take decisions like changing text fields into labels if it knows the underlying property is read-only. |
sortable
|
Enforces a property sortability. This is only enforced at the UI level, i.e. the property can still be used for sorting programmatically. |
sqlName
|
Instructs Jspresso to use this name when translating this property name to the data store namespace. This includes , but is not limited to, database column names.
Default value is |
unicityScope
|
Makes this property part of a unicity scope. All tuples of properties belonging to the same unicity scope are enforced to be unique in the component type scope. This concretely translates to unique constraints in the data store spanning the properties composing the unicity scope. Note that, for performance reasons, unicity scopes are only enforced by the persistence layer. |
versionControl
|
This property allows to fine tune whether this component property participates in optimistic versioning. It mainly allows to declare some properties that should be ignored regarding optimistic versioning thus lowering the risk of version conflicts between concurrent users. Of course, this feature has to be used with care since it may generate phantom updates to the data store.
Default value is |
writabilityGates
|
Assigns a collection of gates to determine property writability. A property will be considered writable if and only if all gates are open. This mechanism is mainly used for dynamic UI authorization based on model state, e.g. a validated invoice should not be editable anymore. Descriptor assigned gates will be cloned for each property instance created and backed by this descriptor. So basically, each property instance will have its own, unshared collection of writability gates. Jspresso provides a useful set of gate types, like the binary property gate that open/close based on the value of a boolean property of owning component. By default, property descriptors are not assigned any gates collection, i.e. there is no writability restriction. Note that gates do not enforce programmatic writability of a property; only UI is impacted. |
BasicRelationshipEndPropertyDescriptor
BasicRelationshipEndPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicRelationshipEndPropertyDescriptor
- Super-type :
BasicPropertyDescriptor
- Sub-types :
BasicCollectionPropertyDescriptor
,BasicReferencePropertyDescriptor
This is the abstract base descriptor for all relationship properties. relationship properties include :
- reference properties, i.e. "N to 1" or "1 to 1" properties
- collection properties, i.e. "1 to N" or "N to N" properties
Property | Description |
---|---|
batchSize
|
This property allows to finely tune batching strategy of the ORM on this relationship end. Whenever possible, the ORM will use a IN clause in order to fetch multiple instances relationships at once. The batch size determines the size of th IN clause. |
composition
|
Instructs the framework that this property has to be treated as a composition, in the UML terminology. This implies that reachable entities that are referenced by this property follow the owning entity lifecycle. For instance, when the owning entity is deleted, the referenced entities in composition properties are also deleted. Whenever this property is not explicitly set by the developer, Jspresso uses sensible defaults :
This property is strictly behavioural and does not impact the domain state itself. |
fetchType
|
This property allows to finely tune fetching strategy of the ORM on this
relationship end. This is either a value of the
Default value is |
fkName
|
Gives the developer the opportunity to customize the generated foreign key (if any) name. |
name
|
Assign reverse temp relation end if set. {@inheritDoc} |
reverseRelationEnd
|
Allows to make a relationship bi-directional. By default, when a
relationship end is defined, it is only navigable from the owning component
to the described end (default value is
|
BasicCollectionPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicCollectionPropertyDescriptor
- Super-type :
BasicRelationshipEndPropertyDescriptor
This descriptor is used to describe collection properties that are used either as "1-N" or "N-N" "N" relationship end.
Property | Description |
---|---|
manyToMany
|
Forces the collection property to be considered as a many to many
("N-N") end. When a relationship is bi-directional, setting both
ends as being collection properties turns
Default value is |
orderingProperties
|
Ordering properties are used to sort this collection property if and only
if it is un-indexed (not a
null value (default) will not give any indication
for the collection property sort order and thus, will delegate to higher
specification levels (i.e. the referenced collection sort order). |
referencedDescriptor
|
Qualifies the type of collection this property refers to. As of now, Jspresso supports :
|
BasicReferencePropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicReferencePropertyDescriptor
- Super-type :
BasicRelationshipEndPropertyDescriptor
- Sub-types :
EnumQueryStructureDescriptor
Default implementation of a reference descriptor.
Property | Description |
---|---|
initializationMapping
|
This property allows to pre-initialize UI filters that are based on this reference property. This includes :
The initialization mapping property is a Values in this map can be either :
|
oneToOne
|
Forces the reference property to be considered as a one to one
("1-1") end. When a relationship is bi-directional, setting both
ends as being reference properties turns
Default value is |
pageSize
|
This property allows for defining the page size of "lists of
values" that are built by the UI for this reference property. Whenever
the |
queryableProperties
|
This property allows to define which of the component properties are to be
used in the list of value filter that are based on this component family.
Since this is a
Whenever this this property is |
referencedDescriptor
|
Qualifies the type of element this property refers to. It may point to any type of component descriptor, i.e. entity, interface or component descriptor. |
renderedProperties
|
This property allows to define which of the component properties are to be
rendered by default when displaying a list of value on this component
family. For instance, a table will render 1 column per rendered property of
the component. Any type of property can be used except collection
properties. Since this is a
Whenever this property is |
EnumQueryStructureDescriptor
- Full name :
org.jspresso.framework.model.descriptor.query.EnumQueryStructureDescriptor
- Super-type :
BasicReferencePropertyDescriptor
A query structure used to implement enumeration disjunctions in filters.
Property | Description |
---|---|
This class does not have any specific property. |
BasicCollectionDescriptor
BasicCollectionDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicCollectionDescriptor
- Super-type :
DefaultDescriptor
- Sub-types :
BasicListDescriptor
,BasicSetDescriptor
This descriptor is used to describe a collection of components (entities, interfaces or components). This descriptor is mainly used to qualify the collection referenced by a collection property descriptor. As of now, Jspresso supports :
- collections with
Set
semantic: do not allow for duplicates and do not preserve the order of the elements in the data store - collections with
List
semantic: allows for duplicates and preserves the order of the elements in the data store through an implicit index column
Property | Description |
---|---|
collectionInterface
|
Allows to choose between the supported collection semantics. The incoming class property value must be one of :
null value (default) is equivalent to setting
java.util.Set . Alternatively, you can use descriptor
sub-types, i.e. BasicSetDescriptor and
BasicListDescriptor that make this property usage useless
since they enforce their collection interface. |
elementDescriptor
|
Describes the elements contained in this collection. It can be any of entity, interface or component descriptor. |
nullElementAllowed
|
Configures the collection to accept null element values or not. If the collection does not allows for null values, it forbids to have holes in lists, i.e. all elements have consecutive indices. |
orderingProperties
|
Ordering properties are used to sort this collection if and only if it is
un-indexed (not a
null value (default) will not give any indication
for the collection sort order and thus, will delegate to higher
specification levels (e.g. the element type sort order). |
BasicListDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicListDescriptor
- Super-type :
BasicCollectionDescriptor
This descriptor is equivalent to a BasicCollectionDescriptor
with its collectionInterface
property set to
java.util.List
. Using this descriptor prevents messing up with
technical implementation details.
Property | Description |
---|---|
This class does not have any specific property. |
BasicSetDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicSetDescriptor
- Super-type :
BasicCollectionDescriptor
This descriptor is equivalent to a BasicCollectionDescriptor
with its collectionInterface
property set to
java.util.Set
. Using this descriptor prevents messing up with
technical implementation details.
Property | Description |
---|---|
This class does not have any specific property. |
BasicScalarPropertyDescriptor
BasicScalarPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicScalarPropertyDescriptor
- Super-type :
BasicPropertyDescriptor
- Sub-types :
AbstractEnumerationPropertyDescriptor
,BasicBinaryPropertyDescriptor
,BasicBooleanPropertyDescriptor
,BasicColorPropertyDescriptor
,BasicNumberPropertyDescriptor
,BasicStringPropertyDescriptor
,BasicTimeAwarePropertyDescriptor
This is the root abstract descriptor for all property descriptors that are not relationship end properties. This includes, for instance, strings, numbers, dates, binary content, and so on.
Property | Description |
---|---|
defaultValue
|
Sets the property default value. When a component owning this property is
instantiated, its properties are initialized using their default values. By
default, a property default value is
This incoming value can be either the actual property default value (as an
|
AbstractEnumerationPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.AbstractEnumerationPropertyDescriptor
- Super-type :
BasicScalarPropertyDescriptor
- Sub-types :
BasicEnumerationPropertyDescriptor
,RangeEnumerationPropertyDescriptor
,TimeZoneEnumerationPropertyDescriptor
Abstract base descriptor for properties whose values are enumerated strings. An example of such a property is gender whose value can be M (for "Male") or F (for "Female"). Actual property values can be codes that are translated for inclusion in the UI. Such properties are usually rendered as combo-boxes.
Property | Description |
---|---|
enumerationName
|
This property allows to customize the i18n keys used to translate the enumeration values, thus keeping the actual values shorter. For instance consider the gender enumeration, composed of the M (for "Male") and F (for "Female") values. Setting an enumeration name to "GENDER" will instruct Jspresso to look for translations named "GENDER_M" and "GENDER_F". This would allow for using M and F in other enumeration domains with different semantics and translations. |
maxLength
|
Sets the maxLength. |
queryMultiselect
|
This property allows to control if the enumeration property view should be
transformed into a multi-selectable property view in order to allow for
value disjunctions in filters. Default value is |
BasicEnumerationPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicEnumerationPropertyDescriptor
- Super-type :
AbstractEnumerationPropertyDescriptor
- Sub-types :
TypeEnumerationPropertyDescriptor
Describes an enumerated property containing arbitrary values.
Property | Description |
---|---|
values
|
Defines the list of values this enumeration contains. Enumeration values are translated in the UI using the following scheme : [enumerationName]_[value]. |
valuesAndIconImageUrls
|
Defines the list of values as well as an icon image URL per value this
enumeration contains. The incoming Enumeration values are translated in the UI using the following scheme : [enumerationName]_[value]. |
TypeEnumerationPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.TypeEnumerationPropertyDescriptor
- Super-type :
BasicEnumerationPropertyDescriptor
This is a special enumeration descriptor that allows to build the enumeration out of a list of component descriptors. Enumeration values and icons are the names and icons of the registered component descriptors. For instance, this can be useful in the UI if you want to visually indicate the actual type of a element contained in a polymorphic collection.
Property | Description |
---|---|
componentDescriptors
|
Registers the list of component descriptors to build the enumeration values/icons from their names and icons. |
RangeEnumerationPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.RangeEnumerationPropertyDescriptor
- Super-type :
AbstractEnumerationPropertyDescriptor
This is a special enumeration descriptor that allows to build the enumeration values out of a list of integer values. Obviously, no icon is provided for a given value.
Property | Description |
---|---|
maxValue
|
The enumeration maximum bound. Default value is 10. |
minValue
|
The enumeration minimum bound. Default value is 0. |
rangeStep
|
The step to use for constructing the enumeration values, starting from
|
TimeZoneEnumerationPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.TimeZoneEnumerationPropertyDescriptor
- Super-type :
AbstractEnumerationPropertyDescriptor
This is a special enumeration descriptor that holds all available timezones.
Property | Description |
---|---|
This class does not have any specific property. |
BasicBinaryPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicBinaryPropertyDescriptor
- Super-type :
BasicScalarPropertyDescriptor
- Sub-types :
BasicImageBinaryPropertyDescriptor
,BasicJavaSerializablePropertyDescriptor
Describes a property used to store a binary value in the form of a byte array.
Property | Description |
---|---|
contentType
|
Configures the default content type to use when downloading the property content as a file. |
fileFilter
|
This property allows to configure the file filter that has to be displayed whenever a file system operation is initiated from the UI to operate on this property. This includes :
fileFilter property.
The incoming
|
fileName
|
Configures the default file name to use when downloading the property content as a file. |
maxLength
|
Sets the max size (in bytes) of the property value. |
BasicImageBinaryPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicImageBinaryPropertyDescriptor
- Super-type :
BasicBinaryPropertyDescriptor
Describes a property used to store an image binary value. This type of descriptor instructs Jspresso to use an image component to interact with this type of property.
Property | Description |
---|---|
formatName
|
Sets format name. When set to something not null (e.g. PNG, JPG, ...), the image is transformed to the specified format before being stored. |
keepRatio
|
Sets keep ratio. |
scaledHeight
|
Sets scaled height. This property, when set to a positive integer will force the image height to be resized to the target value. If only one of the 2 scaled dimensions is set, then the image is scaled by preserving its aspect ratio. |
scaledWidth
|
Sets scaled width. This property, when set to a positive integer will force the image width to be resized to the target value. If only one of the 2 scaled dimensions is set, then the image is scaled by preserving its aspect ratio. |
BasicJavaSerializablePropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicJavaSerializablePropertyDescriptor
- Super-type :
BasicBinaryPropertyDescriptor
Describes a property used to store any java Serializable
object.
The property value is serialized/de-serialized to/from the data store. The
operation is completely transparent to the developer, i.e. the developer
never plays with the serialized form.
Property | Description |
---|---|
modelTypeClassName
|
Configures the actual property type through its fully qualified name. |
BasicBooleanPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicBooleanPropertyDescriptor
- Super-type :
BasicScalarPropertyDescriptor
Describes a boolean property.
Property | Description |
---|---|
This class does not have any specific property. |
BasicColorPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicColorPropertyDescriptor
- Super-type :
BasicScalarPropertyDescriptor
Describes a property used for storing a color. Color values are stored in the
property as their string hexadecimal representation (0xargb encoded).
Jspresso cleanly handles color properties in views for both visually
displaying and editing them without any extra effort. Moreover the
ColorHelper
helper class eases colors manipulation and helps
converting to/from their hexadecimal representation.
Property | Description |
---|---|
This class does not have any specific property. |
BasicNumberPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicNumberPropertyDescriptor
- Super-type :
BasicScalarPropertyDescriptor
- Sub-types :
BasicDecimalPropertyDescriptor
,BasicIntegerPropertyDescriptor
This is the abstract base descriptor of all numeric based properties.
Property | Description |
---|---|
formatPattern
|
Sets format pattern. Allows to override the default one. |
maxValue
|
Configures the upper bound of the allowed values. Default value is
|
minValue
|
Configures the lower bound of the allowed values. Default value is
|
thousandsGroupingUsed
|
Sets thousands grouping used. |
BasicDecimalPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicDecimalPropertyDescriptor
- Super-type :
BasicNumberPropertyDescriptor
- Sub-types :
BasicPercentPropertyDescriptor
Describes a decimal property. Property value is either stored as a
Double
or as a BigDecimal
depending on the
usingBigDecimal
property.
Property | Description |
---|---|
maxFractionDigit
|
Configures the precision of the decimal property. Default value is
|
usingBigDecimal
|
Configures the property to be managed using
|
BasicPercentPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicPercentPropertyDescriptor
- Super-type :
BasicDecimalPropertyDescriptor
This is a specialization of decimal descriptor to handle percentage values. The impact of using this descriptor is only on the UI level that will be configured accordingly, i.e. displaying/editing properties as percentage instead of their raw decimal values.
Property | Description |
---|---|
This class does not have any specific property. |
BasicIntegerPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicIntegerPropertyDescriptor
- Super-type :
BasicNumberPropertyDescriptor
Describes an integer property. The property is either represented as an
Integer
or a Long
depending on the
usingLong
property.
Property | Description |
---|---|
usingLong
|
Configures the property to be managed using |
BasicStringPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicStringPropertyDescriptor
- Super-type :
BasicScalarPropertyDescriptor
- Sub-types :
BasicImageUrlPropertyDescriptor
,BasicPasswordPropertyDescriptor
,BasicTextPropertyDescriptor
Describes a string based property.
Property | Description |
---|---|
maxLength
|
Configures the maximum string length this property allows. Default value is
|
regexpPattern
|
Configures the regular expression pattern this string property allows.
Default is |
regexpPatternSample
|
Allows for providing a conforming sample for the regular expression pattern. This human-readable example is used when the end-user has to be notified that the incoming property value does not match the pattern constraint. |
translatable
|
Configures the string property to be translatable. Jspresso will then implement a translation store for the property so that it can be displayed in the connected user language. This is particularly useful for non-european character sets like chinese, indian, and so on. In that case, only the "raw" untranslated property value is stored in the object itself. the various translations are stored in an extra store. translated properties support searching, ordering, ... exactly like non-translatable properties. |
truncate
|
Configures whether the underlying string property should be truncated
automatically if too long. Default value is |
upperCase
|
This is a shortcut to implement the common use-case of handling upper-case only properties. all incoming values will be transformed to uppercase as if a property processor was registered to perform the transformation. |
BasicImageUrlPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicImageUrlPropertyDescriptor
- Super-type :
BasicStringPropertyDescriptor
Describes an image URL property. This type of descriptor instructs Jspresso to use an image component to interact with this type of property.
Property | Description |
---|---|
keepRatio
|
Sets keep ratio. |
scaledHeight
|
Sets scaled height. This property, when set to a positive integer will force the image height to be resized to the target value. If only one of the 2 scaled dimensions is set, then the image is scaled by preserving its aspect ratio. |
scaledWidth
|
Sets scaled width. This property, when set to a positive integer will force the image width to be resized to the target value. If only one of the 2 scaled dimensions is set, then the image is scaled by preserving its aspect ratio. |
BasicPasswordPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicPasswordPropertyDescriptor
- Super-type :
BasicStringPropertyDescriptor
Describes a property used for password values. For obvious security reasons, this type of properties will hardly be part of a persistent entity. However it is useful for defining transient view models, e.g. for implementing a change password action. Jspresso will automatically adapt view fields accordingly, using password fields, to interact with password properties.
Property | Description |
---|---|
This class does not have any specific property. |
BasicTextPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicTextPropertyDescriptor
- Super-type :
BasicStringPropertyDescriptor
- Sub-types :
BasicHtmlPropertyDescriptor
,BasicSourceCodePropertyDescriptor
Describes a multi-line text property. This type of descriptor instructs Jspresso to use a multi-line text component to interact with this type of property.
Property | Description |
---|---|
contentType
|
Configures the default content type to use when downloading the property content as a file. |
fileFilter
|
This property allows to configure the file filter that has to be displayed whenever a file system operation is initiated from the UI to operate on this property. This includes :
fileFilter property.
The incoming
|
fileName
|
Configures the default file name to use when downloading the property content as a file. |
queryMultiline
|
This property allows to control if the text property view should be
transformed into a multi-line text view in order to allow for multi-line
text in filters. Default value is |
BasicHtmlPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicHtmlPropertyDescriptor
- Super-type :
BasicTextPropertyDescriptor
Describes a property as handing HTML content. This instructs Jspresso to display the property value as HTML instead of raw text content.
Property | Description |
---|---|
This class does not have any specific property. |
BasicSourceCodePropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicSourceCodePropertyDescriptor
- Super-type :
BasicTextPropertyDescriptor
Describes a property as handing sourcecode content. This instructs Jspresso
to display the property value as sourcecode, using syntax coloring for
instance, instead of displaying un-formatted raw content. The language used to
format the property text content may be defined explicitly using the
language
property.
Property | Description |
---|---|
language
|
Explicitly sets the language this sourcecode property should contain. This is only a hint fo Jspresso to configure the UI components accordingly to interact with this property. |
BasicTimeAwarePropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicTimeAwarePropertyDescriptor
- Super-type :
BasicScalarPropertyDescriptor
- Sub-types :
BasicDatePropertyDescriptor
,BasicDurationPropertyDescriptor
,BasicTimePropertyDescriptor
Abstract superclass for time-aware property descriptors.
Property | Description |
---|---|
millisecondsAware
|
Should this time information include milliseconds. |
secondsAware
|
Should this time information include seconds. |
BasicDatePropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicDatePropertyDescriptor
- Super-type :
BasicTimeAwarePropertyDescriptor
Describes a date based property. Whether the date property should include time information or not, can be configured using the type property.
Property | Description |
---|---|
formatPattern
|
Sets format pattern. Allows to override the default one. |
timeZoneAware
|
Sets whether this date property should have its string representation vary depending on the client timezone.
Default value is |
type
|
Sets whether this property should contain time information or not. The
incoming value must be part of the
EDateType.DATE . |
BasicDurationPropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicDurationPropertyDescriptor
- Super-type :
BasicTimeAwarePropertyDescriptor
Describes a property used to store a duration value. Duration is stored in the form of a number of milliseconds. duration properties are cleanly handled by Jspresso UI layer for both displaying / editing duration properties in a convenient human format.
Property | Description |
---|---|
maxMillis
|
Configures the maximum duration value this property accepts in
milliseconds. Default value is |
BasicTimePropertyDescriptor
- Full name :
org.jspresso.framework.model.descriptor.basic.BasicTimePropertyDescriptor
- Super-type :
BasicTimeAwarePropertyDescriptor
Describes a property used to hold time only values. These properties use a
Date
to store their value but only the time part of the value is
relevant.
Property | Description |
---|---|
formatPattern
|
Sets format pattern. Allows to override the default one. |