Enum LineSeparator

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<LineSeparator>

    public enum LineSeparator
    extends java.lang.Enum<LineSeparator>
    Used to represent and detect a file's line separator character(s). The toString() method will return the plain line break characters.
    Since:
    1.5.0
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      CR  
      CRLF  
      LF  
      SYSTEM  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String convert​(java.lang.String s)
      Converts all line separators in the given String to the line separator represented by the enum constant on which this method is called.
      static LineSeparator determineFrom​(java.lang.String s)
      Determines the line separator used in the given String.
      static LineSeparator determineFromGitConfig()
      Tries to determine the line separator from GIT according to its core.autocrlf and core.eol config values.
      java.lang.String displayName()  
      java.lang.String toString()  
      static LineSeparator valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static LineSeparator[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Method Detail

      • values

        public static LineSeparator[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (LineSeparator c : LineSeparator.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static LineSeparator valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • determineFromGitConfig

        public static LineSeparator determineFromGitConfig()
        Tries to determine the line separator from GIT according to its core.autocrlf and core.eol config values.

        WARNING: In order to determine the config values, this method will invoke a system process to call git config .... This will only be done once and the results will be cached in memory for the lifetime of the VM.

        If this method fails to determine the line separator from GIT config it will return SYSTEM as fall back. Otherwise the line separator will be determined according to the following table:

        core.autocrlf core.eol Result
        true - CRLF
        input - LF
        false crlf CRLF
        false lf LF
        false native SYSTEM
        Logic of how to determine the LineSeparator from GIT
        Returns:
        The LineSeparator
      • determineFrom

        public static LineSeparator determineFrom​(java.lang.String s)
        Determines the line separator used in the given String. Will return the type of the first line separator found in the String.

        If the String does not contain any line separators, will return SYSTEM.

        Parameters:
        s - The String to check.
        Returns:
        The type of line endings.
      • displayName

        public java.lang.String displayName()
      • convert

        public java.lang.String convert​(java.lang.String s)
        Converts all line separators in the given String to the line separator represented by the enum constant on which this method is called.
        Parameters:
        s - The string in which to convert the line separators.
        Returns:
        The string with converted line separators.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Enum<LineSeparator>