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
Fields Modifier and Type Field Description static StringDEFAULT_INDENTBy default indentation is done by 2 spacesstatic com.helger.commons.system.ENewLineModeDEFAULT_NEW_LINE_MODEBy default unix line endings are used - for backwards compatibility reasonsstatic booleanDEFAULT_OPTIMIZED_OUTPUTBy default no optimized outputstatic booleanDEFAULT_QUOTE_URLSBy default URLs are not quotedstatic booleanDEFAULT_REMOVE_UNNECESSARY_CODEBy default unnecessary code is not removedstatic ICSSWriterSettingsDEFAULT_SETTINGSDefault CSS writer settings to be used for simplified APIs.static booleanDEFAULT_WRITE_FONT_FACE_RULESBy default font-face rules are writtenstatic booleanDEFAULT_WRITE_KEYFRAMES_RULESBy default keyframes rules are writtenstatic booleanDEFAULT_WRITE_MEDIA_RULESBy default media rules are writtenstatic booleanDEFAULT_WRITE_NAMESPACE_RULESBy default namespace rules are writtenstatic booleanDEFAULT_WRITE_PAGE_RULESBy default page rules are writtenstatic booleanDEFAULT_WRITE_SUPPORTS_RULESBy default supports rules are writtenstatic booleanDEFAULT_WRITE_UNKNOWN_RULESBy default unknown rules are writtenstatic booleanDEFAULT_WRITE_VIEWPORT_RULESBy default viewport rules are written
-
Constructor Summary
Constructors Constructor Description CSSWriterSettings()Default constructor using the latest CSS version and none-optimized output.CSSWriterSettings(ECSSVersion eCSSVersion)CSSWriterSettings(ECSSVersion eCSSVersion, boolean bOptimizedOutput)CSSWriterSettings(ICSSWriterSettings aBase)Copy constructor.
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.helger.css.ICSSWriterSettings
getVersion
-
-
-
-
Field Detail
-
DEFAULT_OPTIMIZED_OUTPUT
public static final boolean DEFAULT_OPTIMIZED_OUTPUT
By default no optimized output- See Also:
- Constant Field Values
-
DEFAULT_REMOVE_UNNECESSARY_CODE
public static final boolean DEFAULT_REMOVE_UNNECESSARY_CODE
By default unnecessary code is not removed- See Also:
- Constant Field Values
-
DEFAULT_NEW_LINE_MODE
public static final com.helger.commons.system.ENewLineMode DEFAULT_NEW_LINE_MODE
By default unix line endings are used - for backwards compatibility reasons
-
DEFAULT_INDENT
public static final String DEFAULT_INDENT
By default indentation is done by 2 spaces- See Also:
- Constant Field Values
-
DEFAULT_QUOTE_URLS
public static final boolean DEFAULT_QUOTE_URLS
By default URLs are not quoted- See Also:
- Constant Field Values
-
DEFAULT_WRITE_NAMESPACE_RULES
public static final boolean DEFAULT_WRITE_NAMESPACE_RULES
By default namespace rules are written- See Also:
- Constant Field Values
-
DEFAULT_WRITE_FONT_FACE_RULES
public static final boolean DEFAULT_WRITE_FONT_FACE_RULES
By default font-face rules are written- See Also:
- Constant Field Values
-
DEFAULT_WRITE_KEYFRAMES_RULES
public static final boolean DEFAULT_WRITE_KEYFRAMES_RULES
By default keyframes rules are written- See Also:
- Constant Field Values
-
DEFAULT_WRITE_MEDIA_RULES
public static final boolean DEFAULT_WRITE_MEDIA_RULES
By default media rules are written- See Also:
- Constant Field Values
-
DEFAULT_WRITE_PAGE_RULES
public static final boolean DEFAULT_WRITE_PAGE_RULES
By default page rules are written- See Also:
- Constant Field Values
-
DEFAULT_WRITE_VIEWPORT_RULES
public static final boolean DEFAULT_WRITE_VIEWPORT_RULES
By default viewport rules are written- See Also:
- Constant Field Values
-
DEFAULT_WRITE_SUPPORTS_RULES
public static final boolean DEFAULT_WRITE_SUPPORTS_RULES
By default supports rules are written- See Also:
- Constant Field Values
-
DEFAULT_WRITE_UNKNOWN_RULES
public static final boolean DEFAULT_WRITE_UNKNOWN_RULES
By default unknown rules are written- See Also:
- Constant Field Values
-
DEFAULT_SETTINGS
public static final ICSSWriterSettings DEFAULT_SETTINGS
Default CSS writer settings to be used for simplified APIs. Must be the last constant - order matters.- Since:
- 6.0.0
-
-
Constructor Detail
-
CSSWriterSettings
public CSSWriterSettings()
Default constructor using the latest CSS version and none-optimized output.
-
CSSWriterSettings
public CSSWriterSettings(@Nonnull ECSSVersion eCSSVersion)
- Parameters:
eCSSVersion- CSS version to emit
-
CSSWriterSettings
public CSSWriterSettings(@Nonnull ECSSVersion eCSSVersion, boolean bOptimizedOutput)
- Parameters:
eCSSVersion- CSS version to emitbOptimizedOutput- iftruethe output will be optimized for space, else for readability
-
CSSWriterSettings
public CSSWriterSettings(@Nonnull ICSSWriterSettings aBase)
Copy constructor.- Parameters:
aBase- The base settings to copy everything from.
-
-
Method Detail
-
getCSSVersion
@Nonnull public final ECSSVersion getCSSVersion()
- Specified by:
getCSSVersionin interfaceICSSWriterSettings- Returns:
- The CSS version to be used. May not be
null.
-
setCSSVersion
@Nonnull public final CSSWriterSettings setCSSVersion(@Nonnull ECSSVersion eCSSVersion)
-
isOptimizedOutput
public final boolean isOptimizedOutput()
- Specified by:
isOptimizedOutputin interfaceICSSWriterSettings- Returns:
trueif all unnecessary whitespaces should be ignored when writing.
-
setOptimizedOutput
@Nonnull public final CSSWriterSettings setOptimizedOutput(boolean bOptimizedOutput)
-
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
@Nonnull public final CSSWriterSettings setRemoveUnnecessaryCode(boolean bRemoveUnnecessaryCode)
-
getNewLineMode
@Nonnull public final com.helger.commons.system.ENewLineMode 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
@Nonnull @Nonempty public final String getNewLineString()
- Specified by:
getNewLineStringin interfaceICSSWriterSettings- Returns:
- The string underlying the new line mode
- See Also:
ICSSWriterSettings.getNewLineMode()
-
setNewLineMode
@Nonnull public final CSSWriterSettings setNewLineMode(@Nonnull com.helger.commons.system.ENewLineMode eNewLineMode)
-
getIndent
@Nonnull public final String getIndent(@Nonnegative int nCount)
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
@Nonnull public final CSSWriterSettings setIndent(@Nonnull String sIndent)
-
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
@Nonnull public final CSSWriterSettings setQuoteURLs(boolean bQuoteURLs)
-
isWriteNamespaceRules
public final boolean isWriteNamespaceRules()
- Specified by:
isWriteNamespaceRulesin interfaceICSSWriterSettings- Returns:
trueif @namespace rules should be written,falseif not
-
setWriteNamespaceRules
@Nonnull public final CSSWriterSettings setWriteNamespaceRules(boolean bWriteNamespaceRules)
-
isWriteFontFaceRules
public final boolean isWriteFontFaceRules()
- Specified by:
isWriteFontFaceRulesin interfaceICSSWriterSettings- Returns:
trueif @font-face rules should be written,falseif not
-
setWriteFontFaceRules
@Nonnull public final CSSWriterSettings setWriteFontFaceRules(boolean bWriteFontFaceRules)
-
isWriteKeyframesRules
public final boolean isWriteKeyframesRules()
- Specified by:
isWriteKeyframesRulesin interfaceICSSWriterSettings- Returns:
trueif @keyframes rules should be written,falseif not
-
setWriteKeyframesRules
@Nonnull public final CSSWriterSettings setWriteKeyframesRules(boolean bWriteKeyframesRules)
-
isWriteMediaRules
public final boolean isWriteMediaRules()
- Specified by:
isWriteMediaRulesin interfaceICSSWriterSettings- Returns:
trueif @media rules should be written,falseif not
-
setWriteMediaRules
@Nonnull public final CSSWriterSettings setWriteMediaRules(boolean bWriteMediaRules)
-
isWritePageRules
public final boolean isWritePageRules()
- Specified by:
isWritePageRulesin interfaceICSSWriterSettings- Returns:
trueif @page rules should be written,falseif not
-
setWritePageRules
@Nonnull public final CSSWriterSettings setWritePageRules(boolean bWritePageRules)
-
isWriteViewportRules
public final boolean isWriteViewportRules()
- Specified by:
isWriteViewportRulesin interfaceICSSWriterSettings- Returns:
trueif @viewport rules should be written,falseif not
-
setWriteViewportRules
@Nonnull public final CSSWriterSettings setWriteViewportRules(boolean bWriteViewportRules)
-
isWriteSupportsRules
public final boolean isWriteSupportsRules()
- Specified by:
isWriteSupportsRulesin interfaceICSSWriterSettings- Returns:
trueif @supports rules should be written,falseif not
-
setWriteSupportsRules
@Nonnull public final CSSWriterSettings setWriteSupportsRules(boolean bWriteSupportsRules)
-
isWriteUnknownRules
public final boolean isWriteUnknownRules()
- Specified by:
isWriteUnknownRulesin interfaceICSSWriterSettings- Returns:
trueif unknown @ rules should be written,falseif not
-
setWriteUnknownRules
@Nonnull public final CSSWriterSettings setWriteUnknownRules(boolean bWriteUnknownRules)
-
checkVersionRequirements
public void checkVersionRequirements(@Nonnull ICSSVersionAware aCSSObject)
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:
ICSSWriterSettings.getVersion()
-
getClone
@Nonnull @ReturnsMutableCopy public CSSWriterSettings getClone()
- Specified by:
getClonein interfacecom.helger.commons.lang.ICloneable<CSSWriterSettings>
-
-