1 /* 2 * Copyright (C) 2016, Christian Halstrick <christian.halstrick@sap.com> and others 3 * 4 * This program and the accompanying materials are made available under the 5 * terms of the Eclipse Distribution License v. 1.0 which is available at 6 * https://www.eclipse.org/org/documents/edl-v10.php. 7 * 8 * SPDX-License-Identifier: BSD-3-Clause 9 */ 10 package org.eclipse.jgit.attributes; 11 12 import java.io.IOException; 13 import java.io.InputStream; 14 import java.io.OutputStream; 15 16 import org.eclipse.jgit.lib.Repository; 17 18 /** 19 * The factory responsible for creating instances of 20 * {@link org.eclipse.jgit.attributes.FilterCommand}. 21 * 22 * @since 4.6 23 */ 24 public interface FilterCommandFactory { 25 /** 26 * Create a new {@link org.eclipse.jgit.attributes.FilterCommand}. 27 * 28 * @param db 29 * the repository this command should work on 30 * @param in 31 * the {@link java.io.InputStream} this command should read from 32 * @param out 33 * the {@link java.io.OutputStream} this command should write to 34 * @return the created {@link org.eclipse.jgit.attributes.FilterCommand} 35 * @throws java.io.IOException 36 * thrown when the command constructor throws an 37 * java.io.IOException 38 */ 39 FilterCommand create(Repository db, InputStream in, OutputStream out) 40 throws IOException; 41 42 }