org.broadleafcommerce.common.presentation
Annotation Type AdminPresentationAdornedTargetCollection


@Retention(value=RUNTIME)
@Target(value=FIELD)
public @interface AdminPresentationAdornedTargetCollection

Adorned target collections are a variant of the basic collection type (@see AdminPresentationCollection). This type of collection concept comes into play when you want to represent a "ToMany" association, but you also want to capture some additional data around the association. CrossSaleProductImpl is an example of this concept. CrossSaleProductImpl not only contains a product reference, but sequence and promotional message fields as well. We want the admin user to choose the desired product for the association and also specify the order and promotional message information to complete the interaction. The Adorned target concept embodied in this annotation makes this possible.

Author:
Jeff Fischer

Optional Element Summary
 String currencyCodeField
          Optional - If you have FieldType set to SupportedFieldType.MONEY, * then you can specify a money currency property field.
 String[] customCriteria
          Optional - only required if you need to specially handle crud operations for this specific collection on the server
 boolean excluded
          Optional - fields are not excluded by default
 String friendlyName
          Optional - field name will be used if not specified
 String[] gridVisibleFields
          Optional - only required when it is desirable to override the property prominence settings from the adorned target and the target object
 boolean ignoreAdornedProperties
          Optional - only required if the system should not query the user for the adorned property values.
 String joinEntityClass
          Optional - only required if there is an entity that is responsible for modeling the join table for this adorned collection.
 String[] maintainedAdornedTargetFields
          Optional - only required if the adorned target has fields (other than the sort property) that should be populated by the user
 AdminPresentationOperationTypes operationTypes
          Optional - only required if a special operation type is required for a CRUD operation.
 int order
          Optional - only required if you want to specify ordering for this field
 String parentObjectIdProperty
          Optional - only required if the primary key property of the parent entity is called something other than "id"
 String parentObjectProperty
          Optional - only required in the absence of a "mappedBy" property on the JPA annotation
 boolean readOnly
          Optional - only required if you want to make the field immutable Explicityly specify whether or not this field is mutable.
 String securityLevel
          Optional - only required if you wish to apply security to this field
 String showIfProperty
          Optional - propertyName , only required if you want hide the field based on this property's value
 boolean sortAscending
          Optional - only required if the sort order should be descending
 String sortProperty
          Optional - only required if the adorned target has a field used for sorting
 String tab
          Optional - only required if you want the field to appear under a different tab Specify a GUI tab for this field
 int tabOrder
          Optional - only required if you want to order the appearance of the tabs in the UI Specify an order for this tab.
 String targetObjectIdProperty
          Optional - only required if the primary key property of the target entity is called something other than "id"
 String targetObjectProperty
          This is the field in the adorned target entity that refers to the target entity
 boolean useServerSideInspectionCache
          Optional - only required if you want to make the field ignore caching
 

friendlyName

public abstract String friendlyName

Optional - field name will be used if not specified

The friendly name to present to a user for this field in a GUI. If supporting i18N, the friendly name may be a key to retrieve a localized friendly name using the GWT support for i18N.

Returns:
the friendly name
Default:
""

securityLevel

public abstract String securityLevel

Optional - only required if you wish to apply security to this field

If a security level is specified, it is registered with the SecurityManager. The SecurityManager checks the permission of the current user to determine if this field should be disabled based on the specified level.

Returns:
the security level
Default:
""

excluded

public abstract boolean excluded

Optional - fields are not excluded by default

Specify if this field should be excluded from inclusion in the admin presentation layer

Returns:
whether or not the field should be excluded
Default:
false

showIfProperty

public abstract String showIfProperty

Optional - propertyName , only required if you want hide the field based on this property's value

If the property is defined and found to be set to false, in the AppConfiguraionService, then this field will be excluded in the admin presentation layer

Returns:
name of the property
Default:
""

readOnly

public abstract boolean readOnly
Optional - only required if you want to make the field immutable Explicityly specify whether or not this field is mutable.

Returns:
whether or not this field is read only
Default:
false

useServerSideInspectionCache

public abstract boolean useServerSideInspectionCache

Optional - only required if you want to make the field ignore caching

Explicitly specify whether or not this field will use server-side caching during inspection

Returns:
whether or not this field uses caching
Default:
true

parentObjectProperty

public abstract String parentObjectProperty

Optional - only required in the absence of a "mappedBy" property on the JPA annotation

This is the field in the adorned target entity that refers back to the parent entity

Returns:
the field that refers back to the parent entity
Default:
""

parentObjectIdProperty

public abstract String parentObjectIdProperty

Optional - only required if the primary key property of the parent entity is called something other than "id"

This is the field in the parent entity that represents its primary key

Returns:
primary key field of the parent entity
Default:
"id"

targetObjectProperty

public abstract String targetObjectProperty

This is the field in the adorned target entity that refers to the target entity

Returns:
target entity field of the adorned target
Default:
""

maintainedAdornedTargetFields

public abstract String[] maintainedAdornedTargetFields

Optional - only required if the adorned target has fields (other than the sort property) that should be populated by the user

List of fields to include in the add/update form for the adorned target entity.

Returns:
user populated fields on the adorned target
Default:
{}

gridVisibleFields

public abstract String[] gridVisibleFields

Optional - only required when it is desirable to override the property prominence settings from the adorned target and the target object

List of fields visible in the adorned target grid UI in the admin tool. Fields are referenced relative to the adorned target entity, or the target entity. For example, in CrossSaleProductImpl, to show the product name and promotionMesssage fields, the gridVisibleFields value would be : {"defaultSku.name", "promotionMessage"}

Returns:
List of fields visible in the adorned target grid UI in the admin tool
Default:
{}

targetObjectIdProperty

public abstract String targetObjectIdProperty

Optional - only required if the primary key property of the target entity is called something other than "id"

This is the field in the target entity that represents its primary key

Note that this should just be the property name, not the path to the property. For example, if the target object is CountryImpl, then the value for the targetObjectIdProperty should just be "abbreviation".

Returns:
primary key field of the target entity
Default:
"id"

joinEntityClass

public abstract String joinEntityClass

Optional - only required if there is an entity that is responsible for modeling the join table for this adorned collection.

For example, consider the scenario that a product has many possible parent categories. Also consider that you might want to sort the parent categories in a specific way. The join entity in this case would hold a link to both a category and a product as well as a sequence field. This property provides the ability to specify that mapping.

Returns:
the join entity class (if any)
Default:
""

sortProperty

public abstract String sortProperty

Optional - only required if the adorned target has a field used for sorting

This is the field by which the adorned targets are sorted

Returns:
the sort field in the adorned target entity
Default:
""

sortAscending

public abstract boolean sortAscending

Optional - only required if the sort order should be descending

This is the sort direction for the adorned targets

Returns:
the sort direction
Default:
true

ignoreAdornedProperties

public abstract boolean ignoreAdornedProperties

Optional - only required if the system should not query the user for the adorned property values.

Defines whether or not the system should prompt the user for the adorned property values (if any) after searching for the target entity. This is an advanced feature and is rarely used.

Returns:
whether to ignore the adorned properties
Default:
false

order

public abstract int order

Optional - only required if you want to specify ordering for this field

The order in which this field will appear in a GUI relative to other collections from the same class

Returns:
the display order
Default:
99999

tab

public abstract String tab
Optional - only required if you want the field to appear under a different tab Specify a GUI tab for this field

Returns:
the tab for this field
Default:
"General"

tabOrder

public abstract int tabOrder
Optional - only required if you want to order the appearance of the tabs in the UI Specify an order for this tab. Tabs will be sorted int he resulting form in ascending order based on this parameter. The default tab will render with an order of 100.

Returns:
the order for this tab
Default:
100

customCriteria

public abstract String[] customCriteria

Optional - only required if you need to specially handle crud operations for this specific collection on the server

Custom string values that will be passed to the server during CRUB operations on this collection. These criteria values can be detected in a custom persistence handler (@CustomPersistenceHandler) in order to engage special handling through custom server side code for this collection.

Returns:
the custom string array to pass to the server during CRUD operations
Default:
{}

operationTypes

public abstract AdminPresentationOperationTypes operationTypes

Optional - only required if a special operation type is required for a CRUD operation. This setting is not normally changed and is an advanced setting

The operation type for a CRUD operation

Returns:
the operation type
Default:
@org.broadleafcommerce.common.presentation.AdminPresentationOperationTypes(addType=org.broadleafcommerce.common.presentation.client.OperationType.ADORNEDTARGETLIST, fetchType=org.broadleafcommerce.common.presentation.client.OperationType.ADORNEDTARGETLIST, inspectType=org.broadleafcommerce.common.presentation.client.OperationType.BASIC, removeType=org.broadleafcommerce.common.presentation.client.OperationType.ADORNEDTARGETLIST, updateType=org.broadleafcommerce.common.presentation.client.OperationType.ADORNEDTARGETLIST)

currencyCodeField

public abstract String currencyCodeField
Optional - If you have FieldType set to SupportedFieldType.MONEY, * then you can specify a money currency property field.

Returns:
the currency property field
Default:
""


Copyright © 2013. All Rights Reserved.