Annotation Type TrackableExtension
-
@Retention(RUNTIME) @Target(TYPE) @Documented public @interface TrackableExtension
Add one or moreTrackableBehavior
features to aTrackable
domain.NOTE: if there is only a need to have basic auditing information and no additional tracking behavior, then this annotation should not be used. In that scenario, it is sufficient for the target domain to simply implement the
Trackable
interface.Generally, domain that is marked with a
TrackableBehavior.CATALOG
is also marked withTrackableBehavior.SANDBOX
, but this is not required. In the case where CATALOG is declared alone, user changes are immediately live (i.e production) and propagation is immediately launched to push changes to subordinate catalogs, where they become immediately live as well. This can be challenging for end applications that may want to conditionally accept the change. If the desire is to immediately deploy and propagate, but still allow end applications to utilize the promote/approve process for the incoming change, theContextInfo.isIgnoreNarrowing()
should be used on the original user change with aTrackableExtension
extension declaration that includesTrackableBehavior.SANDBOX
.Domain can be marked with
TrackableBehavior.SANDBOX
alone, in which case, no catalog or application discrimination is executed or kept. This is generally the case where multitenancy features are not required.Domain can be marked with
TrackableBehavior.TENANT
alone, or with some combination of others. Domain withTrackableBehavior.APPLICATION
will always be implied to also beTrackableBehavior.TENANT
, because an application always belongs to a tenant.If marked with both
TrackableBehavior.CATALOG
andTrackableBehavior.APPLICATION
, theTrackableBehavior.CATALOG
behavior will generally win, unless explicit code is introduced to leverage the application discrimination.Domain marked with
TrackableBehavior.CUSTOMER_CONTEXT
must NOT be also marked withTrackableBehavior.APPLICATION
. The behavior of these discriminators is not compatible, asTrackableBehavior.CUSTOMER_CONTEXT
itself may discriminate by one application, multiple applications, or no applications.- Author:
- Jeff Fischer
-
-
Required Element Summary
Required Elements Modifier and Type Required Element Description TrackableBehavior[]
value
-
-
-
Element Detail
-
value
TrackableBehavior[] value
-
-