View Javadoc
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  }