Package com._1c.g5.v8.dt.md.copy
Interface IModelObjectCopySupport
- All Known Implementing Classes:
ModelObjectCopySupport
public interface IModelObjectCopySupport
Support service to copy and attach 1C:Enterprise model objects.
IModelObjectCopySupport instance is
stateless and thread-safe.
Examples of usage:
// 1
// copy catalog and document as catalogs to the target configuration
modelObjectCopySupport.copyAndAttach(Arrays.asList(catalog, document), configuration,
MdClassPackage.Literals.CONFIGURATION__CATALOGS, monitor);
// 2
// copy catalog and document as same types to the target project
modelObjectCopySupport.copyAndAttach(Arrays.asList(catalog, document), configurationProject, null);
// 3
// copy report and data processor to the external objects project; they
// will be externalized to external report and external data processor
modelObjectCopySupport.copyAndAttach(Arrays.asList(report, dataProcessor), externalObjectsProject, monitor);
// 4
// copy external report and external data processor to the configuration
// project; they will be itnernalized to simple report and data processor
modelObjectCopySupport.copyAndAttach(Arrays.asList(externalReport, externalDataProcessor),
configurationProject, null);
To customize copy process clients may extend and use copier classes directly.
- See Also:
- Restriction:
- This interface is not intended to be extended by clients.
- Restriction:
- This interface is not intended to be implemented by clients.
-
Method Summary
Modifier and TypeMethodDescriptionList<org.eclipse.emf.ecore.EObject>copyAndAttach(List<? extends org.eclipse.emf.ecore.EObject> objects, org.eclipse.emf.ecore.EObject targetParent, org.eclipse.emf.ecore.EReference reference, org.eclipse.core.runtime.IProgressMonitor monitor) Copies the provided objects and attaches them to the provided parent reference feature.copyAndAttach(List<T> topObjects, org.eclipse.core.resources.IProject target, org.eclipse.core.runtime.IProgressMonitor monitor) Copies the provided top object and attaches it to the target project.org.eclipse.emf.ecore.EObjectcopyAndAttach(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EObject targetParent, org.eclipse.emf.ecore.EReference reference, org.eclipse.core.runtime.IProgressMonitor monitor) Copies the provided object and attaches it to the provided parent reference feature.<T extends MdObject>
TcopyAndAttach(T topObject, org.eclipse.core.resources.IProject target, org.eclipse.core.runtime.IProgressMonitor monitor) Copies the provided top objects and attaches to the target project.
-
Method Details
-
copyAndAttach
org.eclipse.emf.ecore.EObject copyAndAttach(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EObject targetParent, org.eclipse.emf.ecore.EReference reference, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException Copies the provided object and attaches it to the provided parent reference feature. Type of the copied object will be equal to the referenced type of the target parentreference.- Parameters:
object- the object to attach to the target parent and referencetargetParent- the target parent to copy and attach objects to, cannot benullreference- the reference to attach objects to, cannot benullmonitor- the progress monitor to report progress and check cancellation status, ornullif progress reporting is not desired- Returns:
- an attached object copy, never
null - Throws:
org.eclipse.core.runtime.CoreException- if copy or attach error occurred
-
copyAndAttach
List<org.eclipse.emf.ecore.EObject> copyAndAttach(List<? extends org.eclipse.emf.ecore.EObject> objects, org.eclipse.emf.ecore.EObject targetParent, org.eclipse.emf.ecore.EReference reference, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException Copies the provided objects and attaches them to the provided parent reference feature. Type of the copied objects will be equal to the referenced type of the target parentreference.- Parameters:
objects- the objects to attach to the target parent and reference, if reference type is not a collection thenobjectsmust have size1targetParent- the target parent to copy and attach objects to, cannot benullreference- the reference to attach objects to, cannot benullmonitor- the progress monitor to report progress and check cancellation status, ornullif progress reporting is not desired- Returns:
- a list of object copies in the same order as
objectsare provided - Throws:
org.eclipse.core.runtime.CoreException- if copy or attach error occurred
-
copyAndAttach
<T extends MdObject> T copyAndAttach(T topObject, org.eclipse.core.resources.IProject target, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException Copies the provided top objects and attaches to the target project. Type of the copied objects will be the same as the provided. The method supports external object projects and will cast types of attached objects appropriately.- Parameters:
topObjects- the top objects copy and to attach, cannot benulltarget- the target project to attach the provided top objects to, cannot benullmonitor- the progress monitor to report progress and check cancellation status, ornullif progress reporting is not desired- Returns:
- a list of object copies in the same order as
topObjectsare provided - Throws:
org.eclipse.core.runtime.CoreException- if copy or attach error occurred
-
copyAndAttach
<T extends MdObject> List<T> copyAndAttach(List<T> topObjects, org.eclipse.core.resources.IProject target, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException Copies the provided top object and attaches it to the target project. Type of the copied object will be the same as the provided. The method supports external object projects and will cast types of attached objects appropriately.- Parameters:
topObject- the top object to copy and attach, cannot benulltarget- the target project to attach the provided top object to, cannot benullmonitor- the progress monitor to report progress and check cancellation status, ornullif progress reporting is not desired- Returns:
- an attached object copy, never
null - Throws:
org.eclipse.core.runtime.CoreException- if copy or attach error occurred
-