These enumerated values can be used as input to the
Format#setLineSeparator(LineSeparator) method. Additionally, the
names of these constants can be also be used in the System Property
JDOMConstants#JDOM2_PROPERTY_LINE_SEPARATOR which is used to
define the default Line Separator sequence for JDOM output. See
DEFAULT Javadoc.
JDOM has historically used the CR/NL sequence '\r\n' as a line-terminator. This sequence has the advantage that the output is easily opened in the 'Notepad' editor on Windows. Other editors on other platforms are typically smart enough to automatically adjust to whatever termination sequence is used in the document. The XML specification requires that the CR/NL sequence should be 'normalized' to a single newline '\n' when the document is parsed (XML 1.1 End-Of-Line Handling). As a result there is no XML issue with the JDOM default CR/NL end-of-line sequence.
It should be noted that because JDOM internally stores just a '\n' as a line separator that any other output separator requires additional processing to output. There is a distinct performance benefit for using the UNIX, or NL LineSeparator for output.
JDOM has always allowed the line-terminating sequence to be customised (or
even disabled) for each XMLOutputter operation by using this Format
class.
JDOM2 introduces two new features in relation to the end-of-line sequence.
Firstly, it introduces this new LineSeparator enumeration which
formalises the common line separators that can be used. In addition to the
simple String-based Format#setLineSeparator(String) method you can
now also call Format#setLineSeparator(LineSeparator) with one of the
common enumerations.
The second new JDOM2 feature is the ability to set a global default
end-of-line sequence. JDOM 1.x forced the default sequence to be the CRLF
sequence, but JDOM2 allows you to set the system property
JDOMConstants#JDOM2_PROPERTY_LINE_SEPARATOR which will be used as the
default sequence for Format. You can set the property to be the name of one
of these LineSeparator enumerations too. For example, the following will
cause all default Format instances to use the System-dependent end-of-line
sequence instead of always CRLF:
java -Dorg.jdom2.output.LineSeparator=SYSTEM ...
| Modifier and Type | Field and Description |
|---|---|
| public static final LineSeparator | CR
The Separator sequence CR which is '\r'. |
| public static final LineSeparator | CRNL
The Separator sequence CRNL which is '\r\n'. |
| public static final LineSeparator | DEFAULT
Use the sequence '\r\n' unless the System property
|
| public static final LineSeparator | DOS
The 'DOS' Separator sequence CRLF (CRNL) which is '\r\n'. |
| public static final LineSeparator | NL
The Separator sequence NL which is '\n'. |
| public static final LineSeparator | NONE
Perform no end-of-line processing. |
| public static final LineSeparator | SYSTEM
The system-dependent Separator sequence NL which is obtained from
|
| public static final LineSeparator | UNIX
The 'UNIX' Separator sequence NL which is '\n'. |
| private final String |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| private static String | |
| public String | |
| public static LineSeparator | |
| public static LineSeparator[] |
| CR | back to summary |
|---|---|
| public static final LineSeparator CR The Separator sequence CR which is '\r'. | |
| CRNL | back to summary |
|---|---|
| public static final LineSeparator CRNL The Separator sequence CRNL which is '\r\n'. This is the default sequence. | |
| DEFAULT | back to summary |
|---|---|
| public static final LineSeparator DEFAULT Use the sequence '\r\n' unless the System property
| |
| DOS | back to summary |
|---|---|
| public static final LineSeparator DOS The 'DOS' Separator sequence CRLF (CRNL) which is '\r\n'. | |
| NL | back to summary |
|---|---|
| public static final LineSeparator NL The Separator sequence NL which is '\n'. | |
| NONE | back to summary |
|---|---|
| public static final LineSeparator NONE Perform no end-of-line processing. | |
| SYSTEM | back to summary |
|---|---|
| public static final LineSeparator SYSTEM The system-dependent Separator sequence NL which is obtained from
| |
| UNIX | back to summary |
|---|---|
| public static final LineSeparator UNIX The 'UNIX' Separator sequence NL which is '\n'. | |
| value | back to summary |
|---|---|
| private final String value | |
| LineSeparator | back to summary |
|---|---|
| private LineSeparator(String value) | |
| getDefaultLineSeparator | back to summary |
|---|---|
| private static String getDefaultLineSeparator() | |
| value | back to summary |
|---|---|
| public String value() The String sequence used for this Separator
| |
| valueOf | back to summary |
|---|---|
| public static LineSeparator valueOf(String name) | |
| values | back to summary |
|---|---|
| public static LineSeparator[] values() | |