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 String
DEFAULT_INDENT
By default indentation is done by 2 spacesstatic com.helger.commons.system.ENewLineMode
DEFAULT_NEW_LINE_MODE
By default unix line endings are used - for backwards compatibility reasonsstatic boolean
DEFAULT_OPTIMIZED_OUTPUT
By default no optimized outputstatic boolean
DEFAULT_QUOTE_URLS
By default URLs are not quotedstatic boolean
DEFAULT_REMOVE_UNNECESSARY_CODE
By default unnecessary code is not removedstatic ICSSWriterSettings
DEFAULT_SETTINGS
Default CSS writer settings to be used for simplified APIs.static boolean
DEFAULT_WRITE_FONT_FACE_RULES
By default font-face rules are writtenstatic boolean
DEFAULT_WRITE_KEYFRAMES_RULES
By default keyframes rules are writtenstatic boolean
DEFAULT_WRITE_MEDIA_RULES
By default media rules are writtenstatic boolean
DEFAULT_WRITE_NAMESPACE_RULES
By default namespace rules are writtenstatic boolean
DEFAULT_WRITE_PAGE_RULES
By default page rules are writtenstatic boolean
DEFAULT_WRITE_SUPPORTS_RULES
By default supports rules are writtenstatic boolean
DEFAULT_WRITE_UNKNOWN_RULES
By default unknown rules are writtenstatic boolean
DEFAULT_WRITE_VIEWPORT_RULES
By 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
- iftrue
the 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:
getCSSVersion
in 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:
isOptimizedOutput
in interfaceICSSWriterSettings
- Returns:
true
if all unnecessary whitespaces should be ignored when writing.
-
setOptimizedOutput
@Nonnull public final CSSWriterSettings setOptimizedOutput(boolean bOptimizedOutput)
-
isRemoveUnnecessaryCode
public final boolean isRemoveUnnecessaryCode()
- Specified by:
isRemoveUnnecessaryCode
in interfaceICSSWriterSettings
- Returns:
true
if 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:
getNewLineMode
in 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:
getNewLineString
in 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:ICSSWriterSettings
Get 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:
getIndent
in interfaceICSSWriterSettings
- Parameters:
nCount
- The number of indentations desired. Always ≥ 0.- Returns:
- The string to be used for indentation. May not be
null
but may be empty.
-
setIndent
@Nonnull public final CSSWriterSettings setIndent(@Nonnull String sIndent)
-
isQuoteURLs
public final boolean isQuoteURLs()
- Specified by:
isQuoteURLs
in interfaceICSSWriterSettings
- Returns:
true
if all URL values should be quoted,false
if URL quoting should only be applied if absolutely necessary.
-
setQuoteURLs
@Nonnull public final CSSWriterSettings setQuoteURLs(boolean bQuoteURLs)
-
isWriteNamespaceRules
public final boolean isWriteNamespaceRules()
- Specified by:
isWriteNamespaceRules
in interfaceICSSWriterSettings
- Returns:
true
if @namespace rules should be written,false
if not
-
setWriteNamespaceRules
@Nonnull public final CSSWriterSettings setWriteNamespaceRules(boolean bWriteNamespaceRules)
-
isWriteFontFaceRules
public final boolean isWriteFontFaceRules()
- Specified by:
isWriteFontFaceRules
in interfaceICSSWriterSettings
- Returns:
true
if @font-face rules should be written,false
if not
-
setWriteFontFaceRules
@Nonnull public final CSSWriterSettings setWriteFontFaceRules(boolean bWriteFontFaceRules)
-
isWriteKeyframesRules
public final boolean isWriteKeyframesRules()
- Specified by:
isWriteKeyframesRules
in interfaceICSSWriterSettings
- Returns:
true
if @keyframes rules should be written,false
if not
-
setWriteKeyframesRules
@Nonnull public final CSSWriterSettings setWriteKeyframesRules(boolean bWriteKeyframesRules)
-
isWriteMediaRules
public final boolean isWriteMediaRules()
- Specified by:
isWriteMediaRules
in interfaceICSSWriterSettings
- Returns:
true
if @media rules should be written,false
if not
-
setWriteMediaRules
@Nonnull public final CSSWriterSettings setWriteMediaRules(boolean bWriteMediaRules)
-
isWritePageRules
public final boolean isWritePageRules()
- Specified by:
isWritePageRules
in interfaceICSSWriterSettings
- Returns:
true
if @page rules should be written,false
if not
-
setWritePageRules
@Nonnull public final CSSWriterSettings setWritePageRules(boolean bWritePageRules)
-
isWriteViewportRules
public final boolean isWriteViewportRules()
- Specified by:
isWriteViewportRules
in interfaceICSSWriterSettings
- Returns:
true
if @viewport rules should be written,false
if not
-
setWriteViewportRules
@Nonnull public final CSSWriterSettings setWriteViewportRules(boolean bWriteViewportRules)
-
isWriteSupportsRules
public final boolean isWriteSupportsRules()
- Specified by:
isWriteSupportsRules
in interfaceICSSWriterSettings
- Returns:
true
if @supports rules should be written,false
if not
-
setWriteSupportsRules
@Nonnull public final CSSWriterSettings setWriteSupportsRules(boolean bWriteSupportsRules)
-
isWriteUnknownRules
public final boolean isWriteUnknownRules()
- Specified by:
isWriteUnknownRules
in interfaceICSSWriterSettings
- Returns:
true
if unknown @ rules should be written,false
if not
-
setWriteUnknownRules
@Nonnull public final CSSWriterSettings setWriteUnknownRules(boolean bWriteUnknownRules)
-
checkVersionRequirements
public void checkVersionRequirements(@Nonnull ICSSVersionAware aCSSObject)
Description copied from interface:ICSSWriterSettings
Check if the passed object matches the version requirements defined be this settings.- Specified by:
checkVersionRequirements
in interfaceICSSWriterSettings
- Parameters:
aCSSObject
- The object to be checked.- See Also:
ICSSWriterSettings.getVersion()
-
getClone
@Nonnull @ReturnsMutableCopy public CSSWriterSettings getClone()
- Specified by:
getClone
in interfacecom.helger.commons.lang.ICloneable<CSSWriterSettings>
-
-