All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.albertus82.util.NewLine Maven / Gradle / Ivy

Go to download

Java SWT/JFace Utility Library including a Preferences Framework, Lightweight HTTP Server and macOS support.

There is a newer version: 20.1.0
Show newest version
package io.github.albertus82.util;

public enum NewLine {

	CR('\r'),
	LF('\n'),
	CRLF('\r', '\n');

	public static final String SYSTEM_LINE_SEPARATOR = System.getProperty("line.separator");

	private final char[] characters;
	private final String string;

	private NewLine(final char... characters) {
		this.characters = characters;
		this.string = String.valueOf(characters);
	}

	/**
	 * Restituisce un array di caratteri contenente la sequenza di caratteri che
	 * rappresenta il ritorno a capo.
	 * 
	 * @return l'array di caratteri che rappresenta il ritorno a capo.
	 */
	public char[] toCharArray() {
		return characters;
	}

	/**
	 * Restituisce una stringa contenente la sequenza di caratteri che rappresenta
	 * il ritorno a capo.
	 * 
	 * @return la stringa che rappresenta il ritorno a capo.
	 */
	@Override
	public String toString() {
		return string;
	}

	/**
	 * Restituisce l'enum corrispondente al tipo di ritorno a capo
	 * desiderato.
	 * 
	 * @param characters una stringa tra "CR", "\r" (Macintosh), "LF", "\n"
	 *        (Unix/macOS), "CRLF", "\r\n" (DOS/Windows).
	 * @return l'enum corrispondente al tipo di ritorno a capo passato come
	 *         parametro, oppure null se non riconosciuto.
	 */
	public static NewLine getEnum(final String characters) {
		if (characters != null && characters.length() != 0) {
			for (NewLine newLine : NewLine.values()) {
				if (newLine.toString().equals(characters) || newLine.name().equalsIgnoreCase(characters.trim())) {
					return newLine;
				}
			}
		}
		return null;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy