Package com.helger.css.writer
Class CSSWriterSettings
java.lang.Object
com.helger.css.writer.CSSWriterSettings
- All Implemented Interfaces:
com.helger.commons.lang.ICloneable<CSSWriterSettings>,ICSSWriterSettings
@NotThreadSafe
public class CSSWriterSettings
extends Object
implements ICSSWriterSettings, com.helger.commons.lang.ICloneable<CSSWriterSettings>
This class represents the options required for writing
- Author:
- Philip Helger
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringBy default indentation is done by 2 spacesstatic final com.helger.commons.system.ENewLineModeBy default unix line endings are used - for backwards compatibility reasonsstatic final booleanBy default no optimized outputstatic final booleanBy default URLs are not quotedstatic final booleanBy default unnecessary code is not removedstatic final ICSSWriterSettingsDefault CSS writer settings to be used for simplified APIs.static final booleanBy default font-face rules are writtenstatic final booleanBy default keyframes rules are writtenstatic final booleanBy default media rules are writtenstatic final booleanBy default namespace rules are writtenstatic final booleanBy default page rules are writtenstatic final booleanBy default supports rules are writtenstatic final booleanBy default unknown rules are writtenstatic final booleanBy default viewport rules are written -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor using the latest CSS version and none-optimized output.CSSWriterSettings(ECSSVersion eCSSVersion) CSSWriterSettings(ECSSVersion eCSSVersion, boolean bOptimizedOutput) Copy constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidcheckVersionRequirements(ICSSVersionAware aCSSObject) Check if the passed object matches the version requirements defined be this settings.booleangetClone()final ECSSVersionfinal StringgetIndent(int nCount) Get the indentation for an arbitrary number of levels.final com.helger.commons.system.ENewLineModefinal StringinthashCode()final booleanfinal booleanfinal booleanfinal booleanfinal booleanfinal booleanfinal booleanfinal booleanfinal booleanfinal booleanfinal booleanfinal CSSWriterSettingssetCSSVersion(ECSSVersion eCSSVersion) final CSSWriterSettingsfinal CSSWriterSettingssetNewLineMode(com.helger.commons.system.ENewLineMode eNewLineMode) final CSSWriterSettingssetOptimizedOutput(boolean bOptimizedOutput) final CSSWriterSettingssetQuoteURLs(boolean bQuoteURLs) final CSSWriterSettingssetRemoveUnnecessaryCode(boolean bRemoveUnnecessaryCode) final CSSWriterSettingssetWriteFontFaceRules(boolean bWriteFontFaceRules) final CSSWriterSettingssetWriteKeyframesRules(boolean bWriteKeyframesRules) final CSSWriterSettingssetWriteMediaRules(boolean bWriteMediaRules) final CSSWriterSettingssetWriteNamespaceRules(boolean bWriteNamespaceRules) final CSSWriterSettingssetWritePageRules(boolean bWritePageRules) final CSSWriterSettingssetWriteSupportsRules(boolean bWriteSupportsRules) final CSSWriterSettingssetWriteUnknownRules(boolean bWriteUnknownRules) final CSSWriterSettingssetWriteViewportRules(boolean bWriteViewportRules) toString()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.helger.css.ICSSWriterSettings
getVersion
-
Field Details
-
DEFAULT_OPTIMIZED_OUTPUT
public static final boolean DEFAULT_OPTIMIZED_OUTPUTBy default no optimized output- See Also:
-
DEFAULT_REMOVE_UNNECESSARY_CODE
public static final boolean DEFAULT_REMOVE_UNNECESSARY_CODEBy default unnecessary code is not removed- See Also:
-
DEFAULT_NEW_LINE_MODE
public static final com.helger.commons.system.ENewLineMode DEFAULT_NEW_LINE_MODEBy default unix line endings are used - for backwards compatibility reasons -
DEFAULT_INDENT
By default indentation is done by 2 spaces- See Also:
-
DEFAULT_QUOTE_URLS
public static final boolean DEFAULT_QUOTE_URLSBy default URLs are not quoted- See Also:
-
DEFAULT_WRITE_NAMESPACE_RULES
public static final boolean DEFAULT_WRITE_NAMESPACE_RULESBy default namespace rules are written- See Also:
-
DEFAULT_WRITE_FONT_FACE_RULES
public static final boolean DEFAULT_WRITE_FONT_FACE_RULESBy default font-face rules are written- See Also:
-
DEFAULT_WRITE_KEYFRAMES_RULES
public static final boolean DEFAULT_WRITE_KEYFRAMES_RULESBy default keyframes rules are written- See Also:
-
DEFAULT_WRITE_MEDIA_RULES
public static final boolean DEFAULT_WRITE_MEDIA_RULESBy default media rules are written- See Also:
-
DEFAULT_WRITE_PAGE_RULES
public static final boolean DEFAULT_WRITE_PAGE_RULESBy default page rules are written- See Also:
-
DEFAULT_WRITE_VIEWPORT_RULES
public static final boolean DEFAULT_WRITE_VIEWPORT_RULESBy default viewport rules are written- See Also:
-
DEFAULT_WRITE_SUPPORTS_RULES
public static final boolean DEFAULT_WRITE_SUPPORTS_RULESBy default supports rules are written- See Also:
-
DEFAULT_WRITE_UNKNOWN_RULES
public static final boolean DEFAULT_WRITE_UNKNOWN_RULESBy default unknown rules are written- See Also:
-
DEFAULT_SETTINGS
Default CSS writer settings to be used for simplified APIs. Must be the last constant - order matters.- Since:
- 6.0.0
-
-
Constructor Details
-
CSSWriterSettings
public CSSWriterSettings()Default constructor using the latest CSS version and none-optimized output. -
CSSWriterSettings
- Parameters:
eCSSVersion- CSS version to emit
-
CSSWriterSettings
- Parameters:
eCSSVersion- CSS version to emitbOptimizedOutput- iftruethe output will be optimized for space, else for readability
-
CSSWriterSettings
Copy constructor.- Parameters:
aBase- The base settings to copy everything from.
-
-
Method Details
-
getCSSVersion
- Specified by:
getCSSVersionin interfaceICSSWriterSettings- Returns:
- The CSS version to be used. May not be
null.
-
setCSSVersion
-
isOptimizedOutput
public final boolean isOptimizedOutput()- Specified by:
isOptimizedOutputin interfaceICSSWriterSettings- Returns:
trueif all unnecessary whitespaces should be ignored when writing.
-
setOptimizedOutput
-
isRemoveUnnecessaryCode
public final boolean isRemoveUnnecessaryCode()- Specified by:
isRemoveUnnecessaryCodein interfaceICSSWriterSettings- Returns:
trueif all unnecessary elements (like empty style declarations) should be removed. This will than potentially lead to CSS that is not equal to the original CSS!
-
setRemoveUnnecessaryCode
-
getNewLineMode
- Specified by:
getNewLineModein interfaceICSSWriterSettings- Returns:
- The new line mode to be used for emitting the file. By default the Unix new line mode ("\n") is used.
-
getNewLineString
- Specified by:
getNewLineStringin interfaceICSSWriterSettings- Returns:
- The string underlying the new line mode
- See Also:
-
setNewLineMode
@Nonnull public final CSSWriterSettings setNewLineMode(@Nonnull com.helger.commons.system.ENewLineMode eNewLineMode) -
getIndent
Description copied from interface:ICSSWriterSettingsGet the indentation for an arbitrary number of levels. This can be used to customize the indentation strategy like using tabs or spaces, how many spaces etc.- Specified by:
getIndentin interfaceICSSWriterSettings- Parameters:
nCount- The number of indentations desired. Always ≥ 0.- Returns:
- The string to be used for indentation. May not be
nullbut may be empty.
-
setIndent
-
isQuoteURLs
public final boolean isQuoteURLs()- Specified by:
isQuoteURLsin interfaceICSSWriterSettings- Returns:
trueif all URL values should be quoted,falseif URL quoting should only be applied if absolutely necessary.
-
setQuoteURLs
-
isWriteNamespaceRules
public final boolean isWriteNamespaceRules()- Specified by:
isWriteNamespaceRulesin interfaceICSSWriterSettings- Returns:
trueif @namespace rules should be written,falseif not
-
setWriteNamespaceRules
-
isWriteFontFaceRules
public final boolean isWriteFontFaceRules()- Specified by:
isWriteFontFaceRulesin interfaceICSSWriterSettings- Returns:
trueif @font-face rules should be written,falseif not
-
setWriteFontFaceRules
-
isWriteKeyframesRules
public final boolean isWriteKeyframesRules()- Specified by:
isWriteKeyframesRulesin interfaceICSSWriterSettings- Returns:
trueif @keyframes rules should be written,falseif not
-
setWriteKeyframesRules
-
isWriteMediaRules
public final boolean isWriteMediaRules()- Specified by:
isWriteMediaRulesin interfaceICSSWriterSettings- Returns:
trueif @media rules should be written,falseif not
-
setWriteMediaRules
-
isWritePageRules
public final boolean isWritePageRules()- Specified by:
isWritePageRulesin interfaceICSSWriterSettings- Returns:
trueif @page rules should be written,falseif not
-
setWritePageRules
-
isWriteViewportRules
public final boolean isWriteViewportRules()- Specified by:
isWriteViewportRulesin interfaceICSSWriterSettings- Returns:
trueif @viewport rules should be written,falseif not
-
setWriteViewportRules
-
isWriteSupportsRules
public final boolean isWriteSupportsRules()- Specified by:
isWriteSupportsRulesin interfaceICSSWriterSettings- Returns:
trueif @supports rules should be written,falseif not
-
setWriteSupportsRules
-
isWriteUnknownRules
public final boolean isWriteUnknownRules()- Specified by:
isWriteUnknownRulesin interfaceICSSWriterSettings- Returns:
trueif unknown @ rules should be written,falseif not
-
setWriteUnknownRules
-
checkVersionRequirements
Description copied from interface:ICSSWriterSettingsCheck if the passed object matches the version requirements defined be this settings.- Specified by:
checkVersionRequirementsin interfaceICSSWriterSettings- Parameters:
aCSSObject- The object to be checked.- See Also:
-
getClone
- Specified by:
getClonein interfacecom.helger.commons.lang.ICloneable<CSSWriterSettings>
-
equals
-
hashCode
public int hashCode() -
toString
-