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 }