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 }