Interface Copyable<T extends Copyable<T>>

All Known Subinterfaces:
Action<A>, ActionGrid<G>, ActionGroup<A>, ActionView<V>, AddAdjustmentModalFormAction<A>, AugmentableView<V>, BuilderFieldSource<D>, BulkOperationAction<A>, CloneModalFormAction<A>, CollapsibleGroup<G>, CollectionConditional<C>, Column<C>, Component<C>, Conditional<C>, ConditionalAction<A>, ConditionalColumn<C>, ControlGroup<G>, CreateEntityView<V>, CreateModalFormAction<A>, CustomAttributesGridField<F>, CustomCssComponent<C>, DateColumn<C>, DateField<F>, Dependent<D>, DerivedColumn<C>, DerivedField<F>, DerivedSelectField<F>, DerivedUrlField<F>, DynamicColumn<C>, DynamicField<F>, EmbeddedListColumn<C>, Endpoint<E>, EntityBrowseView<V>, EntityFormView<V>, EntityGridView<V>, EntityModalFormAction<A>, EntityView<V>, EnumColumn<C>, EnumSwitchField<F>, ExportGrid<G>, ExportGridAction<A>, ExportHistoryEntityGridView<V>, ExportHistoryGrid<G>, ExportHistoryGridExternal<E>, External<E>, FetchEntity<C>, FetchGrid<G>, Field<F>, FieldArrayBlockField<F>, FieldArrayField<F>, FieldArrayGridField<F>, FileInputField<F>, Filterable<D>, FilterableGrid<G>, FilterAction<A>, Form<F>, FormAction<A>, FormComponent<C>, FormView<V>, GenerateTemplateAction<A>, Grid<G>, GridExternal<E>, GridRowConditionalAction<A>, GridView<V>, Group<G>, ImportGrid<G>, ImportGridAction<A>, InlineGridSelectAction<A>, InlineGroup<G>, IntegerField<F>, LinkAction<A>, LinkColumn<C>, LinkExternal<E>, LinkGroup<G>, LogicalConditional<C>, LookupField<F>, LookupFieldModal<V>, LookupFilterAction<A>, Message<M>, ModalFormAction<A>, MoneyColumn<C>, MoneyField<F>, Orderable<R>, OrderableModalFormAction<A>, PageableEndpoint<E>, PageableFetch<C>, PhoneField<F>, Pollable<G>, PreviewableView<V>, ProgressColumn<C>, PropertyConditional<C>, QueryBuilderField<F>, QueryBuilderFilterAction<A>, ResidentGridField<F>, ResidentMapCreateAction<A>, ResidentMapField<F>, ResourceGrid<G>, RowModalFormAction<A>, RsqlRuleColumn<C>, RuleBuilderField<F>, Selectable<S>, SelectField<F>, SelectTargetEntityFormView<V>, SelectTargetEntityGridView<V>, SlideOverFormAction<A>, SortableGrid<G>, SpelRuleColumn<C>, ThumbnailColumn<C>, Trackable<T>, Tree<T>, TreeExternal<E>, TreeGridView<V>, TreeView<V>, TriggerAction<A>, UpdateEntityView<V>, ValidationMethod<M>, ValidationSchema<S>, View<V>, ViewFilter<C>
All Known Implementing Classes:
AbstractAction, AbstractColumn, AbstractComponent, AbstractEndpoint, AbstractExternal, AbstractField, AbstractFormComponent, AbstractGroup, AbstractMessage, AbstractSelectTargetEntityFormView, AbstractValidationMethod, AbstractValidationSchema, AbstractView, AbstractViewFilter, CollectionMapping, ColumnList, ConditionalList, DefaultAction, DefaultActionGroup, DefaultAddAdjustmentModalFormAction, DefaultBasicGroup, DefaultBulkOperationAction, DefaultCloneModalFormAction, DefaultCollapsibleGroup, DefaultCollectionConditional, DefaultColumn, DefaultConditionalAction, DefaultConditionalColumn, DefaultControlGroup, DefaultCreateEntityLongFormView, DefaultCreateEntityView, DefaultCreateModalFormAction, DefaultCustomAttributesGridField, DefaultDateColumn, DefaultDateField, DefaultDerivedColumn, DefaultDerivedField, DefaultDerivedSelectField, DefaultDerivedUrlField, DefaultDynamicColumn, DefaultDynamicField, DefaultEmbeddedListColumn, DefaultEndpoint, DefaultEntityBrowseView, DefaultEntityFormView, DefaultEntityGridView, DefaultEntityModalFormAction, DefaultEnumArrayColumn, DefaultEnumColumn, DefaultEnumSwitchField, DefaultExportGridAction, DefaultExportHistoryEntityGridView, DefaultExportHistoryGridExternal, DefaultExternal, DefaultField, DefaultFieldArrayBlockField, DefaultFieldArrayGridField, DefaultFileInputField, DefaultFilterAction, DefaultFilterView, DefaultFormAction, DefaultFormView, DefaultGenerateTemplateAction, DefaultGridExternal, DefaultGridRowConditionalAction, DefaultGroup, DefaultImportGridAction, DefaultInlineGridSelectAction, DefaultInlineGroup, DefaultIntegerField, DefaultLinkAction, DefaultLinkColumn, DefaultLinkExternal, DefaultLinkGroup, DefaultLogicalConditional, DefaultLookupField, DefaultLookupFieldModal, DefaultLookupFilterAction, DefaultMessage, DefaultModalFormAction, DefaultMoneyColumn, DefaultMoneyField, DefaultOrderableModalFormAction, DefaultPageableEndpoint, DefaultPhoneField, DefaultProgressColumn, DefaultPropertyConditional, DefaultQueryBuilderField, DefaultQueryBuilderFilterAction, DefaultResidentGridField, DefaultResidentMapCreateAction, DefaultResidentMapField, DefaultRowModalFormAction, DefaultRSQLRuleColumn, DefaultRuleBuilderField, DefaultSelectField, DefaultSelectTargetEntityGridView, DefaultSlideOverFormAction, DefaultSpelRuleColumn, DefaultThumbnailColumn, DefaultTreeExternal, DefaultTreeGridView, DefaultTreeView, DefaultTriggerAction, DefaultUpdateEntityLongFormView, DefaultUpdateEntityView, DefaultValidationMethod, DefaultValidationSchema, Dependent.DependentFieldsList, Link, Mapping, MappingList, PickOmitMapping, PollableOptions, PollableOptions.ConstantPollStrategy, PollableOptions.ExponentialPollStrategy, PollableOptions.LinearPollStrategy, PollableOptions.PollStrategy, PropertyMapping, SelectOption, SelectOptionList, SortableGrid.Sort, TemplateMapping, TextTransformMapping, TransformBody

public interface Copyable<T extends Copyable<T>>
Interface that if implemented adds support for deep copy behavior to an object.

It is recommended for the implementation to follow a copy constructor pattern, for example:

 public class MyCopyable implements Copyable {

     private boolean myFlag = false;

     public MyCopyable() {}

     public MyCopyable(MyCopyable other) {
         this.myFlag = other.myFlag;
     }

     @Override
     public MyCopyable copy() {
         return new MyCopyable(this);
     }
 }
 
Author:
Nick Crum (ncrum)
  • Method Summary

    Modifier and Type
    Method
    Description
     
  • Method Details

    • copy

      T copy()
      Returns:
      a deep copy of this instance