@Nonnull @Nonempty public String getAsCSSString (@Nonnull final ICSSWriterSettings aSettings, @Nonnegative final int nIndentLevel) { // Always ignore unknown rules? if (!aSettings.isWriteUnknownRules ()) return ""; final boolean bOptimizedOutput = aSettings.isOptimizedOutput (); final StringBuilder aSB = new StringBuilder (m_sDeclaration); if (StringHelper.hasText (m_sParameterList)) aSB.append (' ').append (m_sParameterList); if (StringHelper.hasNoText (m_sBody)) { aSB.append (bOptimizedOutput ? "{}" : " {}" + aSettings.getNewLineString ()); } else { // At least one rule present aSB.append (bOptimizedOutput ? "{" : " {" + aSettings.getNewLineString ()); if (!bOptimizedOutput) aSB.append (aSettings.getIndent (nIndentLevel)); aSB.append (m_sBody); if (!bOptimizedOutput) aSB.append (aSettings.getIndent (nIndentLevel)); aSB.append ('}'); if (!bOptimizedOutput) aSB.append (aSettings.getNewLineString ()); } return aSB.toString (); }
/** * Copy constructor. * * @param aBase * The base settings to copy everything from. */ public CSSWriterSettings (@Nonnull final ICSSWriterSettings aBase) { ValueEnforcer.notNull (aBase, "Base"); m_eVersion = aBase.getVersion (); m_bOptimizedOutput = aBase.isOptimizedOutput (); m_bRemoveUnnecessaryCode = aBase.isRemoveUnnecessaryCode (); m_eNewLineMode = aBase.getNewLineMode (); m_sIndent = aBase.getIndent (1); m_bQuoteURLs = aBase.isQuoteURLs (); m_bWriteNamespaceRules = aBase.isWriteNamespaceRules (); m_bWriteFontFaceRules = aBase.isWriteFontFaceRules (); m_bWriteKeyframesRules = aBase.isWriteKeyframesRules (); m_bWriteMediaRules = aBase.isWriteMediaRules (); m_bWritePageRules = aBase.isWritePageRules (); m_bWriteViewportRules = aBase.isWriteViewportRules (); m_bWriteSupportsRules = aBase.isWriteSupportsRules (); m_bWriteUnknownRules = aBase.isWriteUnknownRules (); }