Class FileMode

java.lang.Object
org.eclipse.jgit.lib.FileMode

public abstract class FileMode extends Object
Constants describing various file modes recognized by GIT.

GIT uses a subset of the available UNIX file permission bits. The FileMode class provides access to constants defining the modes actually used by GIT.

  • Field Details

    • TYPE_MASK

      public static final int TYPE_MASK
      Mask to apply to a file mode to obtain its type bits.
      See Also:
    • TYPE_TREE

      public static final int TYPE_TREE
      Bit pattern for TYPE_MASK matching TREE.
      See Also:
    • TYPE_FILE

      public static final int TYPE_FILE
      Bit pattern for TYPE_MASK matching REGULAR_FILE.
      See Also:
    • TYPE_MISSING

      public static final int TYPE_MISSING
      Bit pattern for TYPE_MASK matching MISSING.
      See Also:
    • TREE

      public static final FileMode TREE
      Mode indicating an entry is a tree (aka directory).
    • REGULAR_FILE

      public static final FileMode REGULAR_FILE
      Mode indicating an entry is a non-executable file.
    • EXECUTABLE_FILE

      public static final FileMode EXECUTABLE_FILE
      Mode indicating an entry is an executable file.
    • MISSING

      public static final FileMode MISSING
      Mode indicating an entry is missing during parallel walks.
    • octalBytes

      private final byte[] octalBytes
    • modeBits

      private final int modeBits
    • objectType

      private final int objectType
  • Constructor Details

    • FileMode

      private FileMode(int mode, int expType)
  • Method Details

    • fromBits

      public static final FileMode fromBits(int bits)
      Convert a set of mode bits into a FileMode enumerated value.
      Parameters:
      bits - the mode bits the caller has somehow obtained.
      Returns:
      the FileMode instance that represents the given bits.
    • equals

      public abstract boolean equals(int modebits)
      Test a file mode for equality with this FileMode object.
      Parameters:
      modebits - a int.
      Returns:
      true if the mode bits represent the same mode as this object
    • copyTo

      public void copyTo(OutputStream os) throws IOException
      Copy this mode as a sequence of octal US-ASCII bytes.

      The mode is copied as a sequence of octal digits using the US-ASCII character encoding. The sequence does not use a leading '0' prefix to indicate octal notation. This method is suitable for generation of a mode string within a GIT tree object.

      Parameters:
      os - stream to copy the mode to.
      Throws:
      IOException - the stream encountered an error during the copy.
    • copyTo

      public void copyTo(byte[] buf, int ptr)
      Copy this mode as a sequence of octal US-ASCII bytes. The mode is copied as a sequence of octal digits using the US-ASCII character encoding. The sequence does not use a leading '0' prefix to indicate octal notation. This method is suitable for generation of a mode string within a GIT tree object.
      Parameters:
      buf - buffer to copy the mode to.
      ptr - position within buf for first digit.
    • copyToLength

      public int copyToLength()
      Copy the number of bytes written by copyTo(OutputStream).
      Returns:
      the number of bytes written by copyTo(OutputStream).
    • getObjectType

      public int getObjectType()
      Get the object type that should appear for this type of mode.

      See the object type constants in Constants.

      Returns:
      one of the well known object type constants.
    • toString

      public String toString()

      Format this mode as an octal string (for debugging only).

      Overrides:
      toString in class Object
    • getBits

      public int getBits()
      Get the mode bits as an integer.
      Returns:
      The mode bits as an integer.