1 /*
2 * Copyright (C) 2014, Arthur Daussy <arthur.daussy@obeo.fr> 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
14 import org.eclipse.jgit.lib.CoreConfig;
15
16 /**
17 * An interface used to retrieve the global and info
18 * {@link org.eclipse.jgit.attributes.AttributesNode}s.
19 *
20 * @since 4.2
21 */
22 public interface AttributesNodeProvider {
23
24 /**
25 * Retrieve the {@link org.eclipse.jgit.attributes.AttributesNode} that
26 * holds the information located in $GIT_DIR/info/attributes file.
27 *
28 * @return the {@link org.eclipse.jgit.attributes.AttributesNode} that holds
29 * the information located in $GIT_DIR/info/attributes file.
30 * @throws java.io.IOException
31 * if an error is raised while parsing the attributes file
32 */
33 AttributesNode getInfoAttributesNode() throws IOException;
34
35 /**
36 * Retrieve the {@link org.eclipse.jgit.attributes.AttributesNode} that
37 * holds the information located in the global gitattributes file.
38 *
39 * @return the {@link org.eclipse.jgit.attributes.AttributesNode} that holds
40 * the information located in the global gitattributes file.
41 * @throws java.io.IOException
42 * java.io.IOException if an error is raised while parsing the
43 * attributes file
44 * @see CoreConfig#getAttributesFile()
45 */
46 AttributesNode getGlobalAttributesNode() throws IOException;
47
48 }