Class FastIgnoreRule


  • public class FastIgnoreRule
    extends java.lang.Object
    "Fast" (compared with IgnoreRule) git ignore rule implementation supporting also double star ** pattern.

    This class is immutable and thread safe.

    Since:
    3.6
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean dirOnly  
      private boolean inverse  
      private static org.slf4j.Logger LOG  
      private IMatcher matcher  
      static char PATH_SEPARATOR
      Character used as default path separator for ignore entries
    • Constructor Summary

      Constructors 
      Constructor Description
      FastIgnoreRule​(java.lang.String pattern)
      Constructor for FastIgnoreRule
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean dirOnly()
      Whether the pattern should match directories only
      boolean equals​(java.lang.Object obj)
      boolean getNameOnly()
      Whether the pattern is just a file name and not a path
      boolean getNegation()
      Indicates whether the rule is non-negation or negation.
      boolean getResult()
      Indicates whether the rule is non-negation or negation.
      int hashCode()
      boolean isEmpty()
      Whether the rule never matches
      boolean isMatch​(java.lang.String path, boolean directory)
      Returns true if a match was made.
      boolean isMatch​(java.lang.String path, boolean directory, boolean pathMatch)
      Returns true if a match was made.
      java.lang.String toString()
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • LOG

        private static final org.slf4j.Logger LOG
      • PATH_SEPARATOR

        public static final char PATH_SEPARATOR
        Character used as default path separator for ignore entries
        See Also:
        Constant Field Values
      • matcher

        private final IMatcher matcher
      • inverse

        private final boolean inverse
      • dirOnly

        private final boolean dirOnly
    • Constructor Detail

      • FastIgnoreRule

        public FastIgnoreRule​(java.lang.String pattern)
        Constructor for FastIgnoreRule
        Parameters:
        pattern - ignore pattern as described in git manual. If pattern is invalid or is not a pattern (comment), this rule doesn't match anything.
    • Method Detail

      • isMatch

        public boolean isMatch​(java.lang.String path,
                               boolean directory)
        Returns true if a match was made.
        This function does NOT return the actual ignore status of the target! Please consult getResult() for the negation status. The actual ignore status may be true or false depending on whether this rule is an ignore rule or a negation rule.
        Parameters:
        path - Name pattern of the file, relative to the base directory of this rule
        directory - Whether the target file is a directory or not
        Returns:
        True if a match was made. This does not necessarily mean that the target is ignored. Call getResult() for the result.
      • isMatch

        public boolean isMatch​(java.lang.String path,
                               boolean directory,
                               boolean pathMatch)
        Returns true if a match was made.
        This function does NOT return the actual ignore status of the target! Please consult getResult() for the negation status. The actual ignore status may be true or false depending on whether this rule is an ignore rule or a negation rule.
        Parameters:
        path - Name pattern of the file, relative to the base directory of this rule
        directory - Whether the target file is a directory or not
        pathMatch - true if the match is for the full path: see IMatcher.matches(String, int, int)
        Returns:
        True if a match was made. This does not necessarily mean that the target is ignored. Call getResult() for the result.
        Since:
        4.11
      • getNameOnly

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

        public boolean dirOnly()
        Whether the pattern should match directories only
        Returns:
        true if the pattern should match directories only
      • getNegation

        public boolean getNegation()
        Indicates whether the rule is non-negation or negation.
        Returns:
        True if the pattern had a "!" in front of it
      • getResult

        public boolean getResult()
        Indicates whether the rule is non-negation or negation.
        Returns:
        True if the target is to be ignored, false otherwise.
      • isEmpty

        public boolean isEmpty()
        Whether the rule never matches
        Returns:
        true if the rule never matches (comment line or broken pattern)
        Since:
        4.1
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object