@Nonnull public String getSelectorsAsCSSString (@Nonnull final ICSSWriterSettings aSettings, @Nonnegative final int nIndentLevel) { final boolean bOptimizedOutput = aSettings.isOptimizedOutput (); final StringBuilder aSB = new StringBuilder (); boolean bFirst = true; for (final CSSSelector aSelector : m_aSelectors) { if (bFirst) bFirst = false; else { aSB.append (','); if (!bOptimizedOutput) aSB.append (aSettings.getNewLineString ()).append (aSettings.getIndent (nIndentLevel)); } aSB.append (aSelector.getAsCSSString (aSettings, nIndentLevel)); } return aSB.toString (); }
@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 (); }
aSB.append (super.getAsCSSString (aSettings, nIndentLevel)); if (!bOptimizedOutput) aSB.append (aSettings.getIndent (nIndentLevel)); aSB.append ('}');
aSB.append (aSettings.getIndent (nIndentLevel + 1));
aSB.append (m_aMembers.getAsCSSString (aSettings, nIndentLevel)); if (!bOptimizedOutput) aSB.append (aSettings.getIndent (nIndentLevel)); aSB.append ('}');
/** * 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 (); }