Annotation Interface AdminPresentationMap


@Retention(RUNTIME) @Target(FIELD) public @interface AdminPresentationMap
This annotation is used to describe a persisted map structure for use in the admin tool
Author:
Jeff Fischer
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Optional - field name will be used if not specified
    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 - only required if the value class is a JPA managed type and the persisted entity should be deleted upon removal from this map
    boolean
    Optional - fields are not excluded by default
    boolean
    Optional - only required when you want to allow the user to create his/her own key value, rather than select from a pre-defined list.
    Optional - field name will be used if not specified
    Used to map the collection to a group defined in AdminPresentationClass using AdminGroupPresentation.
    Optional - only required if the value type cannot be derived from the map declaration in the JPA managed entity and the value type is complex (JPA managed entity)
    Optional - only required if the type for the key of this map is other than java.lang.String, or if the map is not a generic type from which the key type can be derived
    Optional - only required if the key field title for this map should be translated to another lang, or should be something other than the constant "Key"
    Optional - only required when the user should select from a list of pre-defined keys when adding/editing this map.
    boolean
    Optional - fields are eagerly fetched by default
    boolean
    Optional - fields are eagerly fetched by default
    Optional - only required with a complex value class that has a bi-directional association back to the parent class containing the map.
    Optional - only required when the user should select from a list of database persisted values for keys when adding/editing this map.
    Optional - only required when the user should select from a list of database persisted values for keys when adding/editing this map.
    Optional - only required when the user should select from a list of database persisted values for keys when adding/editing this map.
    Optional - only required if you wish to specify a key different from the one on the MapKey annotation for the same field.
    Optional - only required if the value type for the map is complex (JPA managed) and one of the fields of the complex value provides a URL value that points to a resolvable image url.
    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
    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 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
    Deprecated.
    int
    Deprecated.
    Optional - if the intended map value is actually buried inside of a modelled join entity, specify the the path to that parent here.
    Optional - if the intended map value is actually buried inside of a modelled join entity, specify the the path to that value here.
    boolean
    Optional - only required if you want to make the field ignore caching
    Optional - only required if the type for the value of this map is other than java.lang.String, or if the map is not a generic type from which the value type can be derived, or if there is not a @ManyToMany annotation used from which a targetEntity can be inferred.
    Optional - only required if the value property for this map is simple (Not JPA managed - e.g. java.lang.String) and if the value field title for this map should be translated to another lang, or should be something other than the constant "Value"
  • 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:
      ""
    • addFriendlyName

      String addFriendlyName

      Optional - field name will be used if not specified

      The add friendly name to present to a user for this field in the add 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
    • 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
    • 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
    • keyClass

      Class<?> keyClass

      Optional - only required if the type for the key of this map is other than java.lang.String, or if the map is not a generic type from which the key type can be derived

      The type for the key of this map

      Returns:
      The type for the key of this map
      Default:
      void.class
    • mapKeyValueProperty

      String mapKeyValueProperty

      Optional - only required if you wish to specify a key different from the one on the MapKey annotation for the same field.

      Returns:
      the property for the key
      Default:
      ""
    • keyPropertyFriendlyName

      String keyPropertyFriendlyName

      Optional - only required if the key field title for this map should be translated to another lang, or should be something other than the constant "Key"

      The friendly name to present to a user for this key field title 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:
      "Key"
    • valueClass

      Class<?> valueClass

      Optional - only required if the type for the value of this map is other than java.lang.String, or if the map is not a generic type from which the value type can be derived, or if there is not a @ManyToMany annotation used from which a targetEntity can be inferred.

      The type for the value of this map

      Returns:
      The type for the value of this map
      Default:
      void.class
    • deleteEntityUponRemove

      boolean deleteEntityUponRemove

      Optional - only required if the value class is a JPA managed type and the persisted entity should be deleted upon removal from this map

      Whether or not a complex (JPA managed) value should be deleted upon removal from this map

      Returns:
      Whether or not a complex value is deleted upon map removal
      Default:
      false
    • valuePropertyFriendlyName

      String valuePropertyFriendlyName

      Optional - only required if the value property for this map is simple (Not JPA managed - e.g. java.lang.String) and if the value field title for this map should be translated to another lang, or should be something other than the constant "Value"

      The friendly name to present to a user for this value field title 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:
      "Value"
    • isSimpleValue

      UnspecifiedBooleanType isSimpleValue

      Optional - only required if the value type cannot be derived from the map declaration in the JPA managed entity and the value type is complex (JPA managed entity)

      Whether or not the value type for the map is complex (JPA managed entity), rather than an simple type (e.g. java.lang.String). This can usually be inferred from the parameterized type of the map (if available), or from the targetEntity property of a @ManyToMany annotation for the map (if available).

      Returns:
      Whether or not the value type for the map is complex
      Default:
      UNSPECIFIED
    • toOneTargetProperty

      String toOneTargetProperty

      Optional - if the intended map value is actually buried inside of a modelled join entity, specify the the path to that value here. For example, SkuImpl.skuMedia uses SkuMediaXrefImpl, but the intended value is Media, so the toOneTargetProperty annotation param is "media"

      Returns:
      the path to the intended map value field in the join entity
      Default:
      ""
    • toOneParentProperty

      String toOneParentProperty

      Optional - if the intended map value is actually buried inside of a modelled join entity, specify the the path to that parent here. For example, SkuImpl.skuMedia uses SkuMediaXrefImpl, and the parent reference inside SkuMediaXrefImpl is to Sku, so the toOneParentProperty annotation param is "sku"

      Returns:
      the path to the parent in the join entity
      Default:
      ""
    • mediaField

      String mediaField

      Optional - only required if the value type for the map is complex (JPA managed) and one of the fields of the complex value provides a URL value that points to a resolvable image url.

      The field name of complex value that provides an image url

      Returns:
      The field name of complex value that provides an image url
      Default:
      ""
    • keys

      Optional - only required when the user should select from a list of pre-defined keys when adding/editing this map. Either this value, or the mapKeyOptionEntityClass should be user - not both.

      Specify the keys available for the user to select from

      Returns:
      the array of keys from which the user can select
      Default:
      {}
    • forceFreeFormKeys

      boolean forceFreeFormKeys

      Optional - only required when you want to allow the user to create his/her own key value, rather than select from a pre-defined list. The default is to force selection from a pre-defined list.

      Returns:
      whether or not the user will create their own key values.
      Default:
      false
    • manyToField

      String manyToField

      Optional - only required with a complex value class that has a bi-directional association back to the parent class containing the map. This can generally be inferred by the system from a "mappedBy" attribute for maps of a OneToMany type. For map configurations without a mappedBy value, or if you wish to explicitly set a bi-directional association field on the complex value, use this property.

      Returns:
      the bi-directional association field on the complex value, if any
      Default:
      ""
    • mapKeyOptionEntityClass

      Class<?> mapKeyOptionEntityClass

      Optional - only required when the user should select from a list of database persisted values for keys when adding/editing this map. Either this value, or the keys parameter should be user - not both

      Specify the entity class that represents the table in the database that contains the key values for this map

      Returns:
      the entity class for the map keys
      Default:
      void.class
    • mapKeyOptionEntityDisplayField

      String mapKeyOptionEntityDisplayField

      Optional - only required when the user should select from a list of database persisted values for keys when adding/editing this map.

      Specify the field in the option entity class that contains the value that will be shown to the user. This can be the same field as the value field. This option does not support i18n out-of-the-box.

      Returns:
      the display field in the entity class
      Default:
      ""
    • mapKeyOptionEntityValueField

      String mapKeyOptionEntityValueField

      Optional - only required when the user should select from a list of database persisted values for keys when adding/editing this map.

      Specify the field in the option entity class that contains the value that will actually be saved for the selected key. This can be the same field as the display field.

      Returns:
      the value field in the entity class
      Default:
      ""
    • 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 CRUD 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=MAP, fetchType=MAP, inspectType=MAP, removeType=MAP, updateType=MAP)
    • 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 excluded in the admin presentation layer

      Returns:
      configuration of the field values
      Default:
      {}
    • 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 eagerly
      Default:
      true
    • manualFetch

      boolean manualFetch

      Optional - fields are eagerly fetched by default

      Specify true if this field should be fetched after specific input from the user

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

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