[ 
https://issues.apache.org/jira/browse/SIS-355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Desruisseaux closed SIS-355.
-----------------------------------

> Provide a "deep copy" operation on ISO 19115 metadata
> -----------------------------------------------------
>
>                 Key: SIS-355
>                 URL: https://issues.apache.org/jira/browse/SIS-355
>             Project: Spatial Information Systems
>          Issue Type: Task
>          Components: Metadata
>    Affects Versions: 0.3, 0.4, 0.5, 0.6, 0.7
>            Reporter: Martin Desruisseaux
>            Assignee: Martin Desruisseaux
>            Priority: Minor
>             Fix For: 0.8
>
>
> In Apache SIS, all implementation classes of ISO 19115 metadata types have a 
> shallow copy constructor. However there is nothing for performing a deep copy 
> (the {{clone()}} method is not for this purpose). While deep copy should be 
> avoided, it is sometime useful for example when using an existing metadata as 
> a template.
> h3. Better alternative
> Note that the {{ModifiableMetadata.unmodifiable()}} method provides a better 
> way to use a metadata as a template, as it returns a snapshot and allows the 
> caller to continue to modify the original metadata object and create new 
> snapshots. This approach allows sharing the children that have the same 
> content, thus reducing memory usage. In comparison, deep copy operations 
> unconditionally duplicate everything, no matter if it was needed or not. 
> Nevertheless deep copies are still sometime useful, for example when we do 
> not have the original {{ModifiableMetadata}} instance anymore.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to