1 /** 2 This file is part of GoldenGate Project (named also GoldenGate or GG). 3 4 Copyright 2009, Frederic Bregier, and individual contributors by the @author 5 tags. See the COPYRIGHT.txt in the distribution for a full listing of 6 individual contributors. 7 8 All GoldenGate Project is free software: you can redistribute it and/or 9 modify it under the terms of the GNU General Public License as published 10 by the Free Software Foundation, either version 3 of the License, or 11 (at your option) any later version. 12 13 GoldenGate is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with GoldenGate . If not, see <http://www.gnu.org/licenses/>. 20 */ 21 package goldengate.common.file.passthrough; 22 23 24 /** 25 * This interface is a factory for PassthroughFile. 26 * 27 * @author Frederic Bregier 28 * 29 */ 30 public interface PassthroughFileFactory { 31 32 /** 33 * 34 * @param pbfi the {@link PassthroughBasedFileImpl} 35 * @return the associated {@link PassthroughFile} 36 * @throws PassthroughException 37 */ 38 public PassthroughFile create(PassthroughBasedFileImpl pbfi) throws PassthroughException; 39 /** 40 * 41 * @param dir Base directory (may be null) 42 * @param path relative or absolute path (may be null) 43 * @return the associated {@link PassthroughFile} 44 * @throws PassthroughException 45 */ 46 public PassthroughFile create(PassthroughFile dir, String path) throws PassthroughException; 47 }