Class DomTripConfig
- java.lang.Object
-
- eu.maveniverse.domtrip.DomTripConfig
-
public class DomTripConfig extends java.lang.ObjectConfiguration options for controlling DomTrip XML processing behavior.DomTripConfig provides comprehensive control over how XML documents are parsed, processed, and serialized. It supports various formatting styles from strict preservation to pretty printing, allowing users to choose the appropriate balance between formatting preservation and readability.
Configuration Categories:
- Preservation Settings - Control what formatting elements to preserve
- Output Formatting - Configure pretty printing and indentation
- Parsing Behavior - Control validation and error handling
- Default Values - Set defaults for encoding, quotes, etc.
Common Usage Patterns:
// Default preservation DomTripConfig defaults = DomTripConfig.defaults(); // Pretty printing for readable output DomTripConfig pretty = DomTripConfig.prettyPrint() .withIndentString(" ") .withDefaultQuoteStyle(QuoteStyle.DOUBLE); // Minimal output for size optimization DomTripConfig minimal = DomTripConfig.minimal() .withCommentPreservation(false); // Custom configuration DomTripConfig custom = DomTripConfig.defaults() .withDefaultQuoteStyle(QuoteStyle.SINGLE) .withEmptyElementStyle(EmptyElementStyle.SELF_CLOSING_SPACED);Builder Pattern:
DomTripConfig uses a fluent builder pattern for easy configuration:
DomTripConfig config = DomTripConfig.defaults() .withCommentPreservation(true) .withPrettyPrint(false) .withIndentString(" ") .withDefaultQuoteStyle(QuoteStyle.SINGLE) .withEmptyElementStyle(EmptyElementStyle.EXPANDED);- See Also:
Editor,Parser,Serializer,QuoteStyle,EmptyElementStyle
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description QuoteStyledefaultQuoteStyle()static DomTripConfigdefaults()Creates a default configuration with all preservation features enabled.EmptyElementStyleemptyElementStyle()java.lang.StringindentString()booleanisIgnoreInvalidEncoding()booleanisOmitXmlDeclaration()booleanisPreserveComments()booleanisPreserveProcessingInstructions()booleanisPrettyPrint()java.lang.StringlineEnding()static DomTripConfigminimal()Creates a minimal configuration for compact output.static DomTripConfigprettyPrint()Creates a configuration optimized for pretty printing.static DomTripConfigraw()Creates a raw configuration for completely unformatted output.DomTripConfigwithAutoDetectedEmptyElementStyle(Document document)Automatically detects and configures the empty element style based on existing empty elements in the provided document.DomTripConfigwithCommentPreservation(boolean preserve)DomTripConfigwithDefaultQuoteStyle(QuoteStyle quoteStyle)DomTripConfigwithEmptyElementStyle(EmptyElementStyle emptyElementStyle)DomTripConfigwithIgnoreInvalidEncoding(boolean ignoreInvalidEncoding)DomTripConfigwithIndentString(java.lang.String indentString)DomTripConfigwithLineEnding(java.lang.String lineEnding)DomTripConfigwithPrettyPrint(boolean prettyPrint)DomTripConfigwithProcessingInstructionPreservation(boolean preserve)DomTripConfigwithXmlDeclaration(boolean include)
-
-
-
Method Detail
-
defaults
public static DomTripConfig defaults()
Creates a default configuration with all preservation features enabled.
-
prettyPrint
public static DomTripConfig prettyPrint()
Creates a configuration optimized for pretty printing.
-
minimal
public static DomTripConfig minimal()
Creates a minimal configuration for compact output.
-
raw
public static DomTripConfig raw()
Creates a raw configuration for completely unformatted output.Raw mode produces XML with no line breaks or indentation whatsoever, resulting in a single continuous line of XML. This is useful for minimizing file size or when formatting is not desired.
-
withCommentPreservation
public DomTripConfig withCommentPreservation(boolean preserve)
-
withProcessingInstructionPreservation
public DomTripConfig withProcessingInstructionPreservation(boolean preserve)
-
withDefaultQuoteStyle
public DomTripConfig withDefaultQuoteStyle(QuoteStyle quoteStyle)
-
withPrettyPrint
public DomTripConfig withPrettyPrint(boolean prettyPrint)
-
withIndentString
public DomTripConfig withIndentString(java.lang.String indentString)
-
withLineEnding
public DomTripConfig withLineEnding(java.lang.String lineEnding)
-
withXmlDeclaration
public DomTripConfig withXmlDeclaration(boolean include)
-
withEmptyElementStyle
public DomTripConfig withEmptyElementStyle(EmptyElementStyle emptyElementStyle)
-
withIgnoreInvalidEncoding
public DomTripConfig withIgnoreInvalidEncoding(boolean ignoreInvalidEncoding)
-
withAutoDetectedEmptyElementStyle
public DomTripConfig withAutoDetectedEmptyElementStyle(Document document)
Automatically detects and configures the empty element style based on existing empty elements in the provided document.This method analyzes all empty elements in the document to determine the predominant style and configures this DomTripConfig to use that style. If no empty elements are found, the current style is preserved.
- Parameters:
document- the document to analyze for empty element styles- Returns:
- this DomTripConfig for method chaining
-
isPreserveComments
public boolean isPreserveComments()
-
isPreserveProcessingInstructions
public boolean isPreserveProcessingInstructions()
-
defaultQuoteStyle
public QuoteStyle defaultQuoteStyle()
-
emptyElementStyle
public EmptyElementStyle emptyElementStyle()
-
isPrettyPrint
public boolean isPrettyPrint()
-
indentString
public java.lang.String indentString()
-
lineEnding
public java.lang.String lineEnding()
-
isOmitXmlDeclaration
public boolean isOmitXmlDeclaration()
-
isIgnoreInvalidEncoding
public boolean isIgnoreInvalidEncoding()
-
-