View Javadoc

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  }