org.kuali.rice.krad.datadictionary
Interface Copyable

All Superinterfaces:
Cloneable
All Known Subinterfaces:
CollectionGroup, CollectionLayoutManager, Component, Container, ContentElement, Control, DataField, Field, GridLayoutManager, Group, InputField, LayoutManager, LifecycleElement, PageGroup, SelectControl, StackedLayoutManager, TableLayoutManager, TextControl, Widget
All Known Implementing Classes:
Accordion, AccordionGroup, Action, ActionField, ActionSecurity, AllowCharacterConstraint, AlphaNumericPatternConstraint, AlphaPatternConstraint, AnyCharacterPatternConstraint, ApplicationHeader, AttributeDefinition, AttributeDefinitionBase, AttributeQuery, AttributeQueryResult, AttributeSecurity, BaseConstraint, BindingInfo, BlockUI, BoxLayoutManager, BreadcrumbItem, BreadcrumbOptions, Breadcrumbs, BusinessObjectEntry, BusinessObjectEntry, ButtonControlDefinition, CaseConstraint, CharsetPatternConstraint, CheckboxControl, CheckboxControlDefinition, CheckboxGroupControl, CollectionDefinition, CollectionGroupBase, CollectionGroupSecurity, ColumnCalculationInfo, ComparableInfo, CompareFieldCreateModifier, ComplexAttributeDefinition, ComponentBase, ComponentConvertModifier, ComponentExhibit, ComponentLibraryView, ComponentModifierBase, ComponentSecurity, ConfigurationBasedRegexPatternConstraint, ContainerBase, ContentElementBase, ControlBase, ControlDefinitionBase, CssGridLabelColumnLayoutManager, CssGridLayoutManager, CssGridLayoutManagerBase, CurrencyControlDefinition, CurrencyPatternConstraint, DataDictionaryDefinitionBase, DataDictionaryEntryBase, DataFieldBase, DataFieldSecurity, DataObjectEntry, DataTable, DatePatternConstraint, DatePicker, DialogGroup, DictionaryBeanBase, Disclosure, Div, DocumentCollectionPath, DocumentEntry, DocumentValuePathGroup, DocumentView, ELCollectionFilter, ExternalizableAttributeDefinitionProxy, FieldBase, FieldDefinition, FieldGroup, FieldSecurity, FieldValidationMessages, FileControl, FileControlDefinition, FixedPointPatternConstraint, FloatingPointPatternConstraint, FormView, GenericField, GridLayoutManagerBase, GroupBase, GroupControl, GroupValidationMessages, Growls, Header, HeaderNavigation, HeadLink, Help, HelpDefinition, HiddenControl, HiddenControlDefinition, HistoryEntry, Icon, Iframe, IframeView, Image, ImageField, InactivationBlockingDefinition, InputFieldBase, Inquiry, InquiryCollectionDefinition, InquiryDefinition, InquirySectionDefinition, InquirySubSectionHeaderDefinition, InquiryView, IntegerPatternConstraint, KimAttributeDefinition, KualiUserControlDefinition, Label, LabelSeparateModifier, LayoutManagerBase, LifecycleAwareList, LifecycleAwareMap, LightBox, LightTable, Link, LinkControlDefinition, LinkField, LinkGroup, ListLayoutManager, LocationSuggest, LookupDefinition, LookupHiddenControlDefinition, LookupInputField, LookupReadonlyControlDefinition, LookupView, MaintainableCollectionDefinition, MaintainableFieldDefinition, MaintainableItemDefinition, MaintainableSectionDefinition, MaintainableSubSectionHeaderDefinition, MaintenanceActiveCollectionFilter, MaintenanceDocumentEntry, MaintenanceDocumentEntry, MaintenanceDocumentView, Message, MessageField, MessageView, MetaTag, MethodInvokerConfig, MultiselectControlDefinition, MultiValueControlBase, MultivalueControlDefinitionBase, MustOccurConstraint, NavigationBar, NavigationGroup, NodePrototype, NumericPatternConstraint, OptionListControl, PageBreadcrumbOptions, PageGroupBase, Pager, PageValidationMessages, ParentLocation, PasswordControl, PrerequisiteConstraint, PrimitiveAttributeDefinition, PropertyReplacer, QuickFinder, RadioControlDefinition, RadioGroupControl, ReferenceDefinition, RelationshipDefinition, RemoteFieldsHolder, RichTable, RoutingAttribute, RoutingTypeDefinition, Scrollpane, SearchingAttribute, SearchingTypeDefinition, SelectControlBase, SelectControlDefinition, SidebarNavigationGroup, SimpleConstraint, SimpleLayoutManager, SortDefinition, Space, SpaceField, Spinner, SpinnerControl, StackedLayoutManagerBase, Suggest, SupportAttributeDefinition, SyntaxHighlighter, TabGroup, TableLayoutManagerBase, Tabs, TextAreaControl, TextareaControlDefinition, TextControlBase, TextControlDefinition, ToggleMenu, Tooltip, TransactionalDocumentEntry, TransactionalDocumentEntry, TransactionalDocumentView, Tree, TreeGroup, UifDictionaryBeanBase, UrlInfo, UserControl, UTF8AnyCharacterPatternConstraint, ValidationMessages, ValidCharactersConstraint, ValidCharactersPatternConstraint, ValidDataPatternConstraint, View, ViewHeader, ViewSessionPolicy, ViewTheme, WidgetBase, WizardGroup, WorkflowAttributeMetadata, WorkflowAttributes, WorkflowWorkgroupControlDefinition

public interface Copyable
extends Cloneable

Marks KRAD framework objects that support deep copying.

Author:
Kuali Rice Team (rice.collab@kuali.org)

Method Summary
 Object clone()
          Override Object.clone() to assign the public modifier.
<T> T
copy()
          Return a copy of the class.
 void preventModification()
          Indicated that a given instance may not be modified until copied, if supported.
 Copyable unwrap()
          Get the innermost copyable instance, if wrapped by a proxy.
 

Method Detail

copy

<T> T copy()
Return a copy of the class.

Type Parameters:
T - copyable type
Returns:
the copy
See Also:
CopyUtils.copy(Copyable)

preventModification

void preventModification()
Indicated that a given instance may not be modified until copied, if supported.


clone

Object clone()
             throws CloneNotSupportedException
Override Object.clone() to assign the public modifier.

Returns:
Object.clone()
Throws:
CloneNotSupportedException - If Cloneable is not implemented. This should not be possible when using this interface.
See Also:
When cloning is enabled, {@link #clone} is used for shallow copy operations., Cloneable, Object.clone()

unwrap

Copyable unwrap()
Get the innermost copyable instance, if wrapped by a proxy. When not wrapped, return this.

Returns:
wrapped instance


Copyright © 2005–2014 The Kuali Foundation. All rights reserved.