Class AttributesRule

java.lang.Object
org.eclipse.jgit.attributes.AttributesRule

public class AttributesRule extends Object
A single attributes rule corresponding to one line in a .gitattributes file. Inspiration from: FastIgnoreRule
Since:
3.7
  • Field Details

    • ATTRIBUTES_SPLIT_REGEX

      private static final String ATTRIBUTES_SPLIT_REGEX
      regular expression for splitting attributes - space, tab and \r (the C implementation oddly enough allows \r between attributes)
      See Also:
    • pattern

      private final String pattern
    • attributes

      private final List<Attribute> attributes
    • nameOnly

      private final boolean nameOnly
    • dirOnly

      private final boolean dirOnly
    • matcher

      private final IMatcher matcher
  • Constructor Details

    • AttributesRule

      public AttributesRule(String pattern, String attributes)
      Create a new attribute rule with the given pattern. Assumes that the pattern is already trimmed.
      Parameters:
      pattern - Base pattern for the attributes rule. This pattern will be parsed to generate rule parameters. It can not be null.
      attributes - the rule attributes. This string will be parsed to read the attributes.
  • Method Details

    • parseAttributes

      private static List<Attribute> parseAttributes(String attributesLine)
    • isDirOnly

      public boolean isDirOnly()
      Whether to match directories only
      Returns:
      true if the pattern should match directories only
      Since:
      4.3
    • getAttributes

      public List<Attribute> getAttributes()
      Return the attributes.
      Returns:
      an unmodifiable list of attributes (never returns null)
    • isNameOnly

      public boolean isNameOnly()
      Whether the pattern is only a file name and not a path
      Returns:
      true if the pattern is just a file name and not a path
    • getPattern

      public String getPattern()
      Get the pattern
      Returns:
      The blob pattern to be used as a matcher (never returns null)
    • isMatch

      public boolean isMatch(String relativeTarget, boolean isDirectory)
      Returns true if a match was made.
      Parameters:
      relativeTarget - Name pattern of the file, relative to the base directory of this rule
      isDirectory - Whether the target file is a directory or not
      Returns:
      True if a match was made.
    • toString

      public String toString()
      Overrides:
      toString in class Object