java.lang.Object
com.puppycrawl.tools.checkstyle.checks.indentation.IndentLevel

public class IndentLevel extends Object
Encapsulates representation of notion of expected indentation levels. Provide a way to have multiple acceptable levels. This class is immutable.
  • Field Details

    • levels

      private final BitSet levels
      Set of acceptable indentation levels.
  • Constructor Details

    • IndentLevel

      public IndentLevel(int indent)
      Creates new instance with one acceptable indentation level.
      Parameters:
      indent - acceptable indentation level.
    • IndentLevel

      public IndentLevel(IndentLevel base, int... offsets)
      Creates new instance for nested structure.
      Parameters:
      base - parent's level
      offsets - offsets from parent's level.
    • IndentLevel

      private IndentLevel()
      Creates new instance with no acceptable indentation level. This is only used internally to combine multiple levels.
  • Method Details

    • isMultiLevel

      public final boolean isMultiLevel()
      Checks whether we have more than one level.
      Returns:
      whether we have more than one level.
    • isAcceptable

      public boolean isAcceptable(int indent)
      Checks if given indentation is acceptable.
      Parameters:
      indent - indentation to check.
      Returns:
      true if given indentation is acceptable, false otherwise.
    • isGreaterThan

      public boolean isGreaterThan(int indent)
      Returns true if indent less than minimal of acceptable indentation levels, false otherwise.
      Parameters:
      indent - indentation to check.
      Returns:
      true if indent less than minimal of acceptable indentation levels, false otherwise.
    • addAcceptable

      public static IndentLevel addAcceptable(IndentLevel base, int... additions)
      Adds one or more acceptable indentation level.
      Parameters:
      base - class to add new indentations to.
      additions - new acceptable indentation.
      Returns:
      New acceptable indentation level instance.
    • addAcceptable

      public static IndentLevel addAcceptable(IndentLevel base, IndentLevel addition)
      Combines 2 acceptable indentation level classes.
      Parameters:
      base - class to add new indentations to.
      addition - new acceptable indentation.
      Returns:
      New acceptable indentation level instance.
    • getFirstIndentLevel

      public int getFirstIndentLevel()
      Returns first indentation level.
      Returns:
      indentation level.
    • getLastIndentLevel

      public int getLastIndentLevel()
      Returns last indentation level.
      Returns:
      indentation level.
    • toString

      public String toString()
      Overrides:
      toString in class Object