Annotation Interface AdminPresentationAdornedTargetCollection


@Retention(RUNTIME) @Target(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

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Optional - only required if you want to lookup an item for this association, rather than creating a new instance of the target item.
    Optional - If you have FieldType set to SupportedFieldType.MONEY, * then you can specify a money currency property field.
    Optional - only required if you need to specially handle crud operations for this specific collection on the server
    boolean
    Optional - fields are not excluded by default
    Optional - field name will be used if not specified
    Optional - only required when it is desirable to override the property prominence settings from the adorned target and the target object
    Used to map the collection to a group defined in AdminPresentationClass using AdminGroupPresentation.
    boolean
    Optional - only required if the system should not query the user for the adorned property values.
    Optional - only required if there is an entity that is responsible for modeling the join table for this adorned collection.
    boolean
    Optional - fields are eagerly fetched by default
    Optional - only required if the adorned target has fields (other than the sort property) that should be populated by the user
    boolean
    Optional - fields are manually fetched by default
    Optional - only required if a special operation type is required for a CRUD operation.
    int
    Optional - only required if you want to specify ordering for this field
    Optional - only required if the primary key property of the parent entity is called something other than "id"
    Optional - only required in the absence of a "mappedBy" property on the JPA annotation
    boolean
    Optional - only required if you want to make the field immutable
    Optional - only required if you wish to apply security to this field
    Optional - only required when using the "SELECTIZE_LOOKUP" addType for a collection
    Optional - only required if you want hide the field based on the supplied field's value
    Optional - propertyName , only required if you want hide the field based on this property's value
    boolean
    Optional - only required if the sort order should be descending
    Optional - only required if the adorned target has a field used for sorting
    Deprecated.
    int
    Deprecated.
    Optional - only required if the primary key property of the target entity is called something other than "id"
    This is the field in the adorned target entity that refers to the target entity
    boolean
    Optional - only required if you want to make the field ignore caching
  • Element Details

    • friendlyName

      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

      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

      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

      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:
      ""
    • showIfFieldEquals

      FieldValueConfiguration[] showIfFieldEquals

      Optional - only required if you want hide the field based on the supplied field's value

      If the property is defined and found to be equal to one of the values provided then this field will be included in the admin presentation layer

      Returns:
      configuration of the field values
      Default:
      {}
    • readOnly

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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

      Deprecated.
      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

      @Deprecated int tabOrder
      Deprecated.
      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 99999.

      Returns:
      the order for this tab
      Default:
      99999
    • customCriteria

      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

      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=ADORNEDTARGETLIST, fetchType=ADORNEDTARGETLIST, inspectType=BASIC, removeType=ADORNEDTARGETLIST, updateType=ADORNEDTARGETLIST)
    • currencyCodeField

      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:
      ""
    • lazyFetch

      boolean lazyFetch

      Optional - fields are eagerly fetched by default

      Specify true if this field should be lazily fetched

      Returns:
      whether or not the field should be fetched
      Default:
      true
    • manualFetch

      boolean manualFetch

      Optional - fields are manually fetched by default

      Specify true if this field should be fetched manually

      Returns:
      whether or not the field should be fetched manually
      Default:
      false
    • group

      String group
      Used to map the collection to a group defined in AdminPresentationClass using AdminGroupPresentation.

      If the group cannot be found in AdminPresentationClass, then the tab specified in AdminPresentationAdornedTargetCollection is used to map the collection to a tab defined in AdminPresentationClass using AdminTabPresentation. If the tab cannot be found, then the collection will be placed in a tab created using the information specified in AdminPresentationAdornedTargetCollection.

      Optional - only required if you want the field to appear under a specific group

      Specify a GUI group for this collection

      Returns:
      the group for this collection
      Default:
      ""
    • addType

      Optional - only required if you want to lookup an item for this association, rather than creating a new instance of the target item. Note - if the type is changed to LOOKUP, and you do not wish for the lookup entity to be deleted during an admin collection item removal operation, you should specify a removeType of OperationType.NONDESTRUCTIVEREMOVE in operationTypes() param for this annotation.

      If the type is set to LOOKUP_FOR_UPDATE, the system will trigger an update call on the target entity instead of an add. This is typically used when the target entity also has a to-one lookup to this field.

      Define whether or not added items for this collection are acquired via search or construction.

      Returns:
      the item is acquired via lookup or construction
      Default:
      LOOKUP
    • selectizeVisibleField

      String selectizeVisibleField

      Optional - only required when using the "SELECTIZE_LOOKUP" addType for a collection

      Field visible in the selectize collection UI in the admin tool. Fields are referenced relative to the the target entity. For example, in CrossSaleProductImpl, to show the product name field, the selectizeVisibleField value would be : "name"

      Returns:
      Field visible in the selectize collection UI in the admin tool
      Default:
      ""