1 /*
2 * This file is a part of CAST project.
3 * (c) Copyright 2007, AGH University of Science & Technology
4 * https://caribou.iisg.agh.edu.pl/trac/cast
5 *
6 * Licensed under the Eclipse Public License, Version 1.0 (the "License").
7 * You may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 * http://www.eclipse.org/legal/epl-v10.html
10 */
11 /*
12 * File: IElementCopier.java
13 * Created: 2009-10-14
14 * Author: tmilos
15 * $Id$
16 */
17
18 package pl.edu.agh.cast.data.model.copier;
19
20 import java.util.Collection;
21
22 import pl.edu.agh.cast.data.model.IElement;
23
24 /**
25 * Interface of element copier.
26 *
27 * @param <E>
28 * the type of contained elements
29 *
30 * @see IElement
31 *
32 * @author AGH CAST Team
33 */
34 public interface IElementCopier<E extends IElement> {
35
36 /**
37 * Returns a container containing copies of given elements. In order to preserve data consistency additional
38 * elements may be also copied.
39 *
40 * @param elements
41 * collection of elements to copy
42 * @return a container containing copies of given elements (and possibly additional ones)
43 */
44 public ElementTransferContainer<E> copy(Collection<IElement> elements);
45
46 }