public final class Stylesheet extends AbstractSyntax implements StatementIterable
Syntax
object.
Comments that appear in the original CSS source at the beginning of the stylesheet are actually going to be associated with the
first Statement
in the sheet instead. Comments after the last Statement
(or if the sheet is empty) will be
placed in the AbstractSyntax.orphanedComments()
list.
StylesheetParser
Constructor and Description |
---|
Stylesheet()
Constructs a new
Stylesheet instance. |
Modifier and Type | Method and Description |
---|---|
Stylesheet |
append(Statement statement)
Appends a new
Statement to the end of this stylesheet. |
Stylesheet |
copy()
For implementations: do not copy comments or orphaned comments, instead be sure to call
AbstractSyntax.copiedFrom(Syntax) on the
new copy. |
Iterator<Statement> |
iterator() |
void |
propagateBroadcast(Broadcaster broadcaster,
Status status)
Broadcasts or rebroadcasts all child units using the given
Broadcaster . |
List<Rule> |
rules()
Returns just the
Rule s within this Stylesheet (does not include at-rules or rules within at-rules). |
SyntaxCollection<StatementIterable,Statement> |
statements()
Gets the
SyntaxCollection of statements within this unit. |
void |
write(StyleWriter writer,
StyleAppendable appendable)
Outputs this
Writable 's string representation. |
annotate, annotateUnlessPresent, annotation, annotations, column, comment, comment, comments, comments, comments, copiedFrom, equals, hasAnnotation, hasAnnotation, hashCode, hasSourcePosition, id, isWritable, line, orphanedComments, orphanedComments, orphanedComments, shouldBreakBroadcast, status, status, toString, toString, writesOwnComments, writesOwnOrphanedComments
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
forEach, spliterator
annotate, annotateUnlessPresent, annotation, annotations, column, comment, comment, comments, comments, comments, hasAnnotation, hasAnnotation, hasSourcePosition, id, line, orphanedComments, orphanedComments, orphanedComments, toString, writesOwnComments, writesOwnOrphanedComments
isWritable
shouldBreakBroadcast, status, status
public Stylesheet()
Stylesheet
instance.public SyntaxCollection<StatementIterable,Statement> statements()
StatementIterable
SyntaxCollection
of statements within this unit.statements
in interface StatementIterable
public List<Rule> rules()
Rule
s within this Stylesheet
(does not include at-rules or rules within at-rules).public Stylesheet append(Statement statement)
Statement
to the end of this stylesheet.statement
- The Statement
to append.public void propagateBroadcast(Broadcaster broadcaster, Status status)
Broadcastable
Broadcaster
.
The broadcast will only occur for a unit if its Status
matches the given Status
.
Implementers should call this on child units and SyntaxCollection
s first, then use the broadcaster to broadcast
itself. All of this should be wrapped in a check to ensure the Status
matches.
propagateBroadcast
in interface StatementIterable
propagateBroadcast
in interface Broadcastable
propagateBroadcast
in class AbstractSyntax
broadcaster
- Use this Broadcaster
to broadcast all unbroadcasted child units.status
- Broadcast units that have this status.public void write(StyleWriter writer, StyleAppendable appendable) throws IOException
Writable
Writable
's string representation.
Important notes for implementation:
Do not use the StyleWriter
in an attempt to write direct content (Strings, chars, etc...). Use the StyleAppendable
.
The StyleWriter
should be used to make decisions based on writer settings (e.g., compressed vs. verbose output
mode), as well as for writing inner or child Writable
s. Do not call the this method method directly on inner
or child Writable
s! That would bypass any overrides that are set on the StyleWriter
. Use StyleWriter.writeInner(Writable, StyleAppendable)
instead.
write
in interface Writable
writer
- Writer to use for output settings and for writing inner Writable
s.appendable
- Append direct content to this StyleAppendable
.IOException
- If an I/O error occurs.public Stylesheet copy()
AbstractSyntax
AbstractSyntax.copiedFrom(Syntax)
on the
new copy.copy
in interface Syntax
copy
in class AbstractSyntax
Copyright (c) 2019, Salesforce.com, Inc. All rights reserved. Licensed under the BSD 3-Clause license. For full license text, see the LICENSE file in the repository.