Package com.helger.html.hc.config
Class HCConversionSettings
- java.lang.Object
-
- com.helger.html.hc.config.HCConversionSettings
-
- All Implemented Interfaces:
com.helger.commons.lang.ICloneable<IHCConversionSettings>,IHCConversionSettings,IHCConversionSettingsToNode
@NotThreadSafe public class HCConversionSettings extends Object implements IHCConversionSettings
The default implementation ofIHCConversionSettingscontaining the real settings for HTML output.- Author:
- Philip Helger
-
-
Field Summary
Fields Modifier and Type Field Description static booleanDEFAULT_CONSISTENCY_CHECKSDefault consistency checks: truestatic com.helger.css.ECSSVersionDEFAULT_CSS_VERSIONDefault CSS version 3.0static booleanDEFAULT_EXTRACT_OUT_OF_BAND_NODESDefault extract out-of-band nodes: truestatic booleanDEFAULT_INDENT_AND_ALIGN_CSSDefault indent and align CSS: truestatic booleanDEFAULT_INDENT_AND_ALIGN_HTMLDefault indent and align HTML: truestatic booleanDEFAULT_INDENT_AND_ALIGN_JSDefault indent and align JS: true
-
Constructor Summary
Constructors Constructor Description HCConversionSettings(EHTMLVersion eHTMLVersion)ConstructorHCConversionSettings(IHCConversionSettings aBase)Copy constructor.HCConversionSettings(IHCConversionSettings aBase, EHTMLVersion eHTMLVersion)Kind of copy constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanareConsistencyChecksEnabled()static com.helger.css.writer.CSSWriterSettingscreateDefaultCSSWriterSettings()static IHCCustomizercreateDefaultCustomizer()static JSWriterSettingscreateDefaultJSWriterSettings()static com.helger.xml.serialize.write.XMLWriterSettingscreateDefaultXMLWriterSettings(EHTMLVersion eHTMLVersion)HCConversionSettingsgetClone()HCConversionSettingsgetClone(EHTMLVersion eHTMLVersion)Get a clone of this settings, but with a different HTML version.HCConversionSettingsgetCloneIfNecessary(EHTMLVersion eHTMLVersion)Get a clone of this settings, but with a different HTML version.com.helger.css.writer.CSSWriterSettingsgetCSSWriterSettings()IHCCustomizergetCustomizer()StringgetHTMLNamespaceURI()EHTMLVersiongetHTMLVersion()JSWriterSettingsgetJSWriterSettings()com.helger.css.writer.CSSWriterSettingsgetMutableCSSWriterSettings()JSWriterSettingsgetMutableJSWriterSettings()com.helger.xml.serialize.write.XMLWriterSettingsgetMutableXMLWriterSettings()com.helger.xml.serialize.write.XMLWriterSettingsgetXMLWriterSettings()static booleanisDefaultCustomizer(IHCCustomizer aCustomizer)Check if the passed customizer is a default customizer.booleanisExtractOutOfBandNodes()HCConversionSettingssetConsistencyChecksEnabled(boolean bConsistencyChecksEnabled)Enable or disable the consistency checks.HCConversionSettingssetCSSWriterSettings(com.helger.css.ICSSWriterSettings aCSSWriterSettings)Set the CSS writer settings to be used.HCConversionSettingssetCSSWriterSettingsOptimized(boolean bOptimized)HCConversionSettingssetCustomizer(IHCCustomizer aCustomizer)Set the global customizer to be used to globally customize created elements.HCConversionSettingssetExtractOutOfBandNodes(boolean bExtractOutOfBandNodes)Enable or disable the extraction of out-of-band nodes.HCConversionSettingssetHTMLVersion(EHTMLVersion eHTMLVersion)Change the HTML version.HCConversionSettingssetJSWriterSettings(IJSWriterSettings aJSWriterSettings)Set the JS formatter settings to be used.HCConversionSettingssetJSWriterSettingsOptimized(boolean bOptimized)HCConversionSettingssetToDefault()HCConversionSettingssetToOptimized()HCConversionSettingssetXMLWriterSettings(com.helger.xml.serialize.write.IXMLWriterSettings aXMLWriterSettings)Set the XML writer settings to be used.HCConversionSettingssetXMLWriterSettingsOptimized(boolean bOptimized)StringtoString()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.helger.html.hc.IHCConversionSettingsToNode
getCharset
-
-
-
-
Field Detail
-
DEFAULT_INDENT_AND_ALIGN_HTML
public static final boolean DEFAULT_INDENT_AND_ALIGN_HTML
Default indent and align HTML: true- See Also:
- Constant Field Values
-
DEFAULT_CSS_VERSION
public static final com.helger.css.ECSSVersion DEFAULT_CSS_VERSION
Default CSS version 3.0
-
DEFAULT_INDENT_AND_ALIGN_CSS
public static final boolean DEFAULT_INDENT_AND_ALIGN_CSS
Default indent and align CSS: true- See Also:
- Constant Field Values
-
DEFAULT_INDENT_AND_ALIGN_JS
public static final boolean DEFAULT_INDENT_AND_ALIGN_JS
Default indent and align JS: true- See Also:
- Constant Field Values
-
DEFAULT_CONSISTENCY_CHECKS
public static final boolean DEFAULT_CONSISTENCY_CHECKS
Default consistency checks: true- See Also:
- Constant Field Values
-
DEFAULT_EXTRACT_OUT_OF_BAND_NODES
public static final boolean DEFAULT_EXTRACT_OUT_OF_BAND_NODES
Default extract out-of-band nodes: true- See Also:
- Constant Field Values
-
-
Constructor Detail
-
HCConversionSettings
public HCConversionSettings(@Nonnull EHTMLVersion eHTMLVersion)
Constructor- Parameters:
eHTMLVersion- The HTML version to use. May not benull.
-
HCConversionSettings
public HCConversionSettings(@Nonnull IHCConversionSettings aBase)
Copy constructor. Also creates a copy of theXMLWriterSettingsand theCSSWriterSettings.- Parameters:
aBase- Object to copy the settings from. May not benull.
-
HCConversionSettings
public HCConversionSettings(@Nonnull IHCConversionSettings aBase, @Nonnull EHTMLVersion eHTMLVersion)
Kind of copy constructor. Also creates a copy of theXMLWriterSettingsand theCSSWriterSettings.- Parameters:
aBase- Object to copy the settings from. May not benull.eHTMLVersion- A different HTML version to use than the one from the base settings
-
-
Method Detail
-
createDefaultXMLWriterSettings
@Nonnull public static com.helger.xml.serialize.write.XMLWriterSettings createDefaultXMLWriterSettings(@Nonnull EHTMLVersion eHTMLVersion)
-
createDefaultCSSWriterSettings
@Nonnull public static com.helger.css.writer.CSSWriterSettings createDefaultCSSWriterSettings()
-
createDefaultJSWriterSettings
@Nonnull public static JSWriterSettings createDefaultJSWriterSettings()
-
createDefaultCustomizer
@Nullable public static IHCCustomizer createDefaultCustomizer()
- Returns:
- The default customizer. Currently
null. - See Also:
isDefaultCustomizer(IHCCustomizer)
-
isDefaultCustomizer
public static boolean isDefaultCustomizer(@Nullable IHCCustomizer aCustomizer)
Check if the passed customizer is a default customizer.- Parameters:
aCustomizer- Customizer to check.- Returns:
trueif the passed customizer is the default customizer,falseotherwise.- See Also:
createDefaultCustomizer()
-
setHTMLVersion
@Nonnull public HCConversionSettings setHTMLVersion(@Nonnull EHTMLVersion eHTMLVersion)
Change the HTML version. Note: this does NOT change theXMLWriterSettings!- Parameters:
eHTMLVersion- The HTML version to use.- Returns:
- this
-
getHTMLVersion
@Nonnull public EHTMLVersion getHTMLVersion()
- Specified by:
getHTMLVersionin interfaceIHCConversionSettingsToNode- Returns:
- The HTML version to be used to transform HC nodes into micro nodes.
Never
null.
-
getHTMLNamespaceURI
@Nullable public String getHTMLNamespaceURI()
- Specified by:
getHTMLNamespaceURIin interfaceIHCConversionSettingsToNode- Returns:
- The namespace URI of the HTML version. This should result in the
same as calling
getHTMLVersion().getNamespaceURI()
-
setXMLWriterSettingsOptimized
@Nonnull public HCConversionSettings setXMLWriterSettingsOptimized(boolean bOptimized)
-
setXMLWriterSettings
@Nonnull public HCConversionSettings setXMLWriterSettings(@Nonnull com.helger.xml.serialize.write.IXMLWriterSettings aXMLWriterSettings)
Set the XML writer settings to be used. By default values equivalent toXMLWriterSettings.DEFAULT_XML_SETTINGSare used.- Parameters:
aXMLWriterSettings- The XML writer settings to be used. May not benull.- Returns:
- this
-
getXMLWriterSettings
@Nonnull @ReturnsMutableObject("Design") public com.helger.xml.serialize.write.XMLWriterSettings getXMLWriterSettings()
- Specified by:
getXMLWriterSettingsin interfaceIHCConversionSettingsToNode- Returns:
- The XML writer settings to be used. Never
null.
-
getMutableXMLWriterSettings
@Nonnull @ReturnsMutableCopy public com.helger.xml.serialize.write.XMLWriterSettings getMutableXMLWriterSettings()
- Specified by:
getMutableXMLWriterSettingsin interfaceIHCConversionSettingsToNode- Returns:
- A mutable copy of the XML writer settings to be used. Never
null.
-
setCSSWriterSettingsOptimized
@Nonnull public HCConversionSettings setCSSWriterSettingsOptimized(boolean bOptimized)
-
setCSSWriterSettings
@Nonnull public HCConversionSettings setCSSWriterSettings(@Nonnull com.helger.css.ICSSWriterSettings aCSSWriterSettings)
Set the CSS writer settings to be used.- Parameters:
aCSSWriterSettings- The settings. May not benull.- Returns:
- this
-
getCSSWriterSettings
@Nonnull @ReturnsMutableObject("Design") public com.helger.css.writer.CSSWriterSettings getCSSWriterSettings()
- Specified by:
getCSSWriterSettingsin interfaceIHCConversionSettingsToNode- Returns:
- The CSS writer settings to be used. Never
null.
-
getMutableCSSWriterSettings
@Nonnull @ReturnsMutableCopy public com.helger.css.writer.CSSWriterSettings getMutableCSSWriterSettings()
- Specified by:
getMutableCSSWriterSettingsin interfaceIHCConversionSettingsToNode- Returns:
- A mutable copy of the CSS writer settings to be used. Never
null.
-
setJSWriterSettingsOptimized
@Nonnull public HCConversionSettings setJSWriterSettingsOptimized(boolean bOptimized)
-
setJSWriterSettings
@Nonnull public HCConversionSettings setJSWriterSettings(@Nonnull IJSWriterSettings aJSWriterSettings)
Set the JS formatter settings to be used.- Parameters:
aJSWriterSettings- The settings. May not benull.- Returns:
- this
-
getJSWriterSettings
@Nonnull @ReturnsMutableObject("Design") public JSWriterSettings getJSWriterSettings()
- Specified by:
getJSWriterSettingsin interfaceIHCConversionSettingsToNode- Returns:
- The JS formatter settings to be used. Never
null.
-
getMutableJSWriterSettings
@Nonnull @ReturnsMutableCopy public JSWriterSettings getMutableJSWriterSettings()
- Specified by:
getMutableJSWriterSettingsin interfaceIHCConversionSettingsToNode- Returns:
- A mutable copy of the JS formatter settings to be used. Never
null.
-
setConsistencyChecksEnabled
@Nonnull public HCConversionSettings setConsistencyChecksEnabled(boolean bConsistencyChecksEnabled)
Enable or disable the consistency checks. It is recommended that the consistency checks are only run in debug mode!- Parameters:
bConsistencyChecksEnabled- The new value.- Returns:
- this
-
areConsistencyChecksEnabled
public boolean areConsistencyChecksEnabled()
- Specified by:
areConsistencyChecksEnabledin interfaceIHCConversionSettingsToNode- Returns:
trueif the consistency checks are enabled,falseotherwise.
-
setExtractOutOfBandNodes
@Nonnull public HCConversionSettings setExtractOutOfBandNodes(boolean bExtractOutOfBandNodes)
Enable or disable the extraction of out-of-band nodes.- Parameters:
bExtractOutOfBandNodes- The new value.- Returns:
- this
-
isExtractOutOfBandNodes
public boolean isExtractOutOfBandNodes()
- Specified by:
isExtractOutOfBandNodesin interfaceIHCConversionSettingsToNode- Returns:
trueif out-of-band nodes should be extracted,falseif not. By defaulttrueis returned.
-
setCustomizer
@Nonnull public HCConversionSettings setCustomizer(@Nullable IHCCustomizer aCustomizer)
Set the global customizer to be used to globally customize created elements.- Parameters:
aCustomizer- The customizer to be used. May not benull.- Returns:
- this
-
getCustomizer
@Nullable public IHCCustomizer getCustomizer()
- Specified by:
getCustomizerin interfaceIHCConversionSettingsToNode- Returns:
- The current customizer to be used. May be
null. The default isnull.
-
setToDefault
@OverridingMethodsMustInvokeSuper @Nonnull public HCConversionSettings setToDefault()
-
setToOptimized
@OverridingMethodsMustInvokeSuper public HCConversionSettings setToOptimized()
-
getClone
@Nonnull public HCConversionSettings getClone()
- Specified by:
getClonein interfacecom.helger.commons.lang.ICloneable<IHCConversionSettings>
-
getClone
@Nonnull public HCConversionSettings getClone(@Nonnull EHTMLVersion eHTMLVersion)
Description copied from interface:IHCConversionSettingsGet a clone of this settings, but with a different HTML version.- Specified by:
getClonein interfaceIHCConversionSettings- Parameters:
eHTMLVersion- The new HTML version to use. May not benull.- Returns:
- Never
null.
-
getCloneIfNecessary
@Nonnull public HCConversionSettings getCloneIfNecessary(@Nonnull EHTMLVersion eHTMLVersion)
Description copied from interface:IHCConversionSettingsGet a clone of this settings, but with a different HTML version. If the passed HTML version equals this HTML version than this is returned unchanged.- Specified by:
getCloneIfNecessaryin interfaceIHCConversionSettings- Parameters:
eHTMLVersion- The new HTML version to use. May not benull.- Returns:
- this or a clone of this.
-
-