Annotation Interface DelayedCopy


@Target(FIELD) @Retention(RUNTIME) @Documented public @interface DelayedCopy
Annotation for Copyable fields to indicate that a delayed copy proxy should be used instead of the original component when performing a deep copying on the field.
Author:
Kuali Rice Team (rice.collab@kuali.org)
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    May be used to indicate the presence of this annotation on the field referring to the object should be used to determine if this field should be delayed.
  • Element Details

    • inherit

      boolean inherit
      May be used to indicate the presence of this annotation on the field referring to the object should be used to determine if this field should be delayed.

      For example, LifecycleAwareList is a delegating list wrapper and since it implements the List interface is treated as a List rather than a Copyable when performing a deep copy. The presence of with inherit() set to true on the delegate indicates that the items in the delegated list should be delayed only if the undelegated list reference also has the DelayedCopy annotation.

      Returns:
      True if the parent field determines whether or not to delay copying the field, false to always delay copy of the annotated field.
      Default:
      false