- All Implemented Interfaces:
Encode
,Sh
,Text
,ValidMediaFilter
,ValidMediaInput
,ValidMediaOutput
,Whitespace
,NoClose
,Closeable
,Flushable
,Appendable
,AutoCloseable
- Author:
- AO Industries, Inc.
- See Also:
-
Field Summary
Fields inherited from class com.aoapps.encoding.MediaWriter
DEFAULT_CLOSER, DEFAULT_IS_NO_CLOSE
Fields inherited from class java.io.FilterWriter
out
Fields inherited from interface com.aoapps.encoding.Whitespace
INDENT_SPACES, NL, SPACE
-
Constructor Summary
ConstructorDescriptionShWriter
(EncodingContext encodingContext, MediaEncoder encoder, Writer out) Simplified constructor.ShWriter
(EncodingContext encodingContext, MediaEncoder encoder, Writer out, boolean outOptimized, Whitespace indentDelegate, Predicate<? super MediaWriter> isNoClose, IOConsumer<? super MediaWriter> closer) -
Method Summary
Modifier and TypeMethodDescriptionappend
(char c) append
(CharSequence csq) append
(CharSequence csq, int start, int end) decDepth()
Decrements the indentation depth, if enabled.Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.encode
(MediaType contentType, MediaWritable<Ex> content) Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.encode
(MediaType contentType, IOSupplierE<?, Ex> content) Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.encode
(MediaType contentType, CharSequence csq) Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.encode
(MediaType contentType, CharSequence csq, int start, int end) Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.Gets the input type.incDepth()
Increments the indentation depth, if enabled.indent()
Writes the current indentation when indentation enabled.indent
(int depthOffset) Writes the current indentation with a depth offset when indentation enabled.nbsp()
Writes one non-breaking space character.nbsp
(int count) Writes the given number of non-breaking space characters.nl()
Writes a newline.nli()
Writes a newline, followed by current indentation when indentation enabled.nli
(int depthOffset) Writes a newline, followed by current indentation with a depth offset when indentation enabled.setDepth
(int depth) Sets the indentation depth.setIndent
(boolean indent) Enables or disabled indentation.sh()
Deprecated.Already writing Bourne shell scriptsh
(char ch) Deprecated.Already writing Bourne shell scriptsh
(char[] cbuf) Deprecated.Already writing Bourne shell scriptsh
(char[] cbuf, int offset, int len) Deprecated.Already writing Bourne shell scriptsh
(ShWritable<Ex> sh) Deprecated.Already writing Bourne shell scriptsh
(IOSupplierE<?, Ex> sh) Deprecated.Already writing Bourne shell scriptsh
(CharSequence csq) Deprecated.Already writing Bourne shell scriptsh
(CharSequence csq, int start, int end) Deprecated.Already writing Bourne shell scriptDeprecated.Already writing Bourne shell scriptsp()
Writes one space character.sp
(int count) Writes the given number of space characters.text
(char ch) Writes the given text with proper encoding.text
(char[] cbuf) Writes the given text with proper encoding.text
(char[] cbuf, int offset, int len) Writes the given text with proper encoding.text
(TextWritable<Ex> text) Writes the given text with proper encoding.text
(IOSupplierE<?, Ex> text) Writes the given text with proper encoding.text
(CharSequence csq) Writes the given text with proper encoding.text
(CharSequence csq, int start, int end) Writes the given text with proper encoding.Writes the given text with proper encoding.Methods inherited from class com.aoapps.encoding.WhitespaceWriter
getDepth, getIndent
Methods inherited from class com.aoapps.encoding.MediaWriter
canSkipValidation, close, getEncoder, getEncodingContext, getValidMediaOutputType, isNoClose, isValidatingMediaInputType
Methods inherited from class com.aoapps.lang.io.EncoderWriter
getOut, write, write, write, write, write, writePrefix, writeSuffix, writeSuffix
Methods inherited from class java.io.FilterWriter
flush
Methods inherited from class java.io.Writer
nullWriter
-
Constructor Details
-
ShWriter
public ShWriter(EncodingContext encodingContext, MediaEncoder encoder, Writer out, boolean outOptimized, Whitespace indentDelegate, Predicate<? super MediaWriter> isNoClose, IOConsumer<? super MediaWriter> closer) - Parameters:
out
- Conditionally passed throughCoercion.optimize(java.io.Writer, com.aoapps.lang.io.Encoder)
outOptimized
- Isout
already known to have been passed throughCoercion.optimize(java.io.Writer, com.aoapps.lang.io.Encoder)
?indentDelegate
- When non-null, indentation depth is get/set on the providedWhitespace
, otherwise tracks directly on this writer. This allows the indentation to be coordinated between nested content types.isNoClose
- Called to determine result ofMediaWriter.isNoClose()
closer
- Called onMediaWriter.close()
, which may optionally perform final suffix write and/or close the underlying writer, will only be called to be idempotent, implementation can assume will only be called once.
-
ShWriter
Simplified constructor.- Parameters:
out
- Passed throughCoercion.optimize(java.io.Writer, com.aoapps.lang.io.Encoder)
- See Also:
-
-
Method Details
-
getValidMediaInputType
Description copied from class:MediaWriter
Gets the input type.Gets the media type this specific type of media writer represents. This is a one-to-one relationship: every media type has a specific writer.
- Specified by:
getValidMediaInputType
in interfaceValidMediaInput
- Specified by:
getValidMediaInputType
in classMediaWriter
-
append
- Specified by:
append
in interfaceAppendable
- Overrides:
append
in classWhitespaceWriter
- Throws:
IOException
-
append
- Specified by:
append
in interfaceAppendable
- Overrides:
append
in classWhitespaceWriter
- Throws:
IOException
-
append
- Specified by:
append
in interfaceAppendable
- Overrides:
append
in classWhitespaceWriter
- Throws:
IOException
-
encode
Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.Encodes the given nested type with proper encoding.- Specified by:
encode
in interfaceEncode
- Specified by:
encode
in interfaceSh
- Specified by:
encode
in interfaceText
- Overrides:
encode
in classWhitespaceWriter
- Returns:
this
writer- Throws:
IOException
-
encode
Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.Encodes the given nested type with proper encoding.- Specified by:
encode
in interfaceEncode
- Specified by:
encode
in interfaceSh
- Specified by:
encode
in interfaceText
- Overrides:
encode
in classWhitespaceWriter
- Returns:
this
writer- Throws:
IOException
-
encode
@Deprecated public ShWriter encode(MediaType contentType, char[] cbuf, int offset, int len) throws IOException Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.Encodes the given nested type with proper encoding.- Specified by:
encode
in interfaceEncode
- Specified by:
encode
in interfaceSh
- Specified by:
encode
in interfaceText
- Overrides:
encode
in classWhitespaceWriter
- Returns:
this
writer- Throws:
IOException
-
encode
Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.Encodes the given nested type with proper encoding.Adds prefixes and suffixes by media type, such as
"…"
.If the string is translated, comments will be added giving the translation lookup id to aid in translation of server-translated values.
- Specified by:
encode
in interfaceEncode
- Specified by:
encode
in interfaceSh
- Specified by:
encode
in interfaceText
- Overrides:
encode
in classWhitespaceWriter
- Returns:
this
writer- Throws:
IOException
-
encode
@Deprecated public ShWriter encode(MediaType contentType, CharSequence csq, int start, int end) throws IOException Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.Encodes the given nested type with proper encoding.Adds prefixes and suffixes by media type, such as
"…"
.If the string is translated, comments will be added giving the translation lookup id to aid in translation of server-translated values.
- Specified by:
encode
in interfaceEncode
- Specified by:
encode
in interfaceSh
- Specified by:
encode
in interfaceText
- Overrides:
encode
in classWhitespaceWriter
- Returns:
this
writer- Throws:
IOException
-
encode
Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.Encodes the given nested type with proper encoding.Adds prefixes and suffixes by media type, such as
"…"
.If the string is translated, comments will be added giving the translation lookup id to aid in translation of server-translated values.
- Specified by:
encode
in interfaceEncode
- Specified by:
encode
in interfaceSh
- Specified by:
encode
in interfaceText
- Overrides:
encode
in classWhitespaceWriter
- Returns:
this
writer- Throws:
IOException
-
encode
@Deprecated public <Ex extends Throwable> ShWriter encode(MediaType contentType, IOSupplierE<?, Ex> content) throws IOException, ExDeprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.Encodes the given nested type with proper encoding.Adds prefixes and suffixes by media type, such as
"…"
.If the string is translated, comments will be added giving the translation lookup id to aid in translation of server-translated values.
- Specified by:
encode
in interfaceEncode
- Specified by:
encode
in interfaceSh
- Specified by:
encode
in interfaceText
- Overrides:
encode
in classWhitespaceWriter
- Type Parameters:
Ex
- An arbitrary exception type that may be thrown- Returns:
this
writer- Throws:
IOException
Ex
-
encode
@Deprecated public <Ex extends Throwable> ShWriter encode(MediaType contentType, MediaWritable<Ex> content) throws IOException, Ex Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.Encodes the given nested type with proper encoding.Adds prefixes and suffixes by media type, such as
"…"
.Does not perform any translation markups.
- Specified by:
encode
in interfaceEncode
- Specified by:
encode
in interfaceSh
- Specified by:
encode
in interfaceText
- Overrides:
encode
in classWhitespaceWriter
- Type Parameters:
Ex
- An arbitrary exception type that may be thrown- Returns:
this
writer- Throws:
IOException
Ex
-
encode
Deprecated.Encoding of arbitrary content types is not expected since all supported types have per-type methods.Encodes the given nested type with proper encoding. This is well suited for use in a try-with-resources block.Adds prefixes and suffixes by media type, such as
"…"
.Does not perform any translation markups.
- Specified by:
encode
in interfaceEncode
- Specified by:
encode
in interfaceSh
- Overrides:
encode
in classMediaWriter
- Returns:
- A new writer that may be used for the given content type.
This writer must be closed for completed calls to
MediaEncoder.writeSuffixTo(java.lang.Appendable, boolean)
.The returned writer will be of the specific subclass of
MediaWriter
matchingcontentType
(seeMediaType.getMediaWriterClass()
. This meansMediaWriter.getValidMediaInputType()
will becontentType
. - Throws:
IOException
-
nl
Description copied from interface:Whitespace
Writes a newline.This is
'\n'
on all platforms. If a different newline is required, such as"\r\n"
for email, filter the output.- Specified by:
nl
in interfaceWhitespace
- Overrides:
nl
in classWhitespaceWriter
- Returns:
this
writer- Throws:
IOException
- See Also:
-
nli
Description copied from interface:Whitespace
Writes a newline, followed by current indentation when indentation enabled.This is
'\n'
on all platforms. If a different newline is required, such as"\r\n"
for email, filter the output.- Specified by:
nli
in interfaceWhitespace
- Overrides:
nli
in classWhitespaceWriter
- Returns:
this
writer- Throws:
IOException
- See Also:
-
nli
Description copied from interface:Whitespace
Writes a newline, followed by current indentation with a depth offset when indentation enabled.This is
'\n'
on all platforms. If a different newline is required, such as"\r\n"
for email, filter the output.- Specified by:
nli
in interfaceWhitespace
- Overrides:
nli
in classWhitespaceWriter
- Parameters:
depthOffset
- A value added to the current indentation depth. For example, pass-1
when performing a newline before a closing tag or ending curly brace.- Returns:
this
writer- Throws:
IOException
- See Also:
-
indent
Description copied from interface:Whitespace
Writes the current indentation when indentation enabled.- Specified by:
indent
in interfaceWhitespace
- Overrides:
indent
in classWhitespaceWriter
- Returns:
this
writer- Throws:
IOException
- See Also:
-
indent
Description copied from interface:Whitespace
Writes the current indentation with a depth offset when indentation enabled.- Specified by:
indent
in interfaceWhitespace
- Overrides:
indent
in classWhitespaceWriter
- Parameters:
depthOffset
- A value added to the current indentation depth. For example, pass-1
when performing a newline before a closing tag or ending curly brace.- Returns:
this
writer- Throws:
IOException
- See Also:
-
setIndent
Description copied from interface:Whitespace
Enables or disabled indentation.- Specified by:
setIndent
in interfaceWhitespace
- Overrides:
setIndent
in classWhitespaceWriter
- Returns:
this
writer
-
setDepth
Description copied from interface:Whitespace
Sets the indentation depth.- Specified by:
setDepth
in interfaceWhitespace
- Overrides:
setDepth
in classWhitespaceWriter
- Returns:
this
writer
-
incDepth
Description copied from interface:Whitespace
Increments the indentation depth, if enabled.- Specified by:
incDepth
in interfaceWhitespace
- Overrides:
incDepth
in classWhitespaceWriter
- Returns:
this
writer
-
decDepth
Description copied from interface:Whitespace
Decrements the indentation depth, if enabled.- Specified by:
decDepth
in interfaceWhitespace
- Overrides:
decDepth
in classWhitespaceWriter
- Returns:
this
writer
-
sp
Description copied from interface:Whitespace
Writes one space character.- Specified by:
sp
in interfaceWhitespace
- Overrides:
sp
in classWhitespaceWriter
- Returns:
this
writer- Throws:
IOException
- See Also:
-
sp
Description copied from interface:Whitespace
Writes the given number of space characters.- Specified by:
sp
in interfaceWhitespace
- Overrides:
sp
in classWhitespaceWriter
- Parameters:
count
- Whencount <= 0
, nothing is written.- Returns:
this
writer- Throws:
IOException
- See Also:
-
nbsp
Description copied from interface:Text
- Specified by:
nbsp
in interfaceText
- Returns:
this
writer- Throws:
IOException
- See Also:
-
nbsp
Description copied from interface:Text
Writes the given number of non-breaking space characters.- Specified by:
nbsp
in interfaceText
- Parameters:
count
- Whencount <= 0
, nothing is written.- Returns:
this
writer- Throws:
IOException
- See Also:
-
text
Description copied from interface:Text
- Specified by:
text
in interfaceText
- Returns:
this
writer- Throws:
IOException
-
text
Description copied from interface:Text
- Specified by:
text
in interfaceText
- Returns:
this
writer- Throws:
IOException
-
text
Description copied from interface:Text
- Specified by:
text
in interfaceText
- Returns:
this
writer- Throws:
IOException
-
text
Description copied from interface:Text
Writes the given text with proper encoding.Adds prefixes and suffixes by media type, such as
"…"
.If the string is translated, comments will be added giving the translation lookup id to aid in translation of server-translated values.
- Specified by:
text
in interfaceText
- Returns:
this
writer- Throws:
IOException
-
text
Description copied from interface:Text
Writes the given text with proper encoding.Adds prefixes and suffixes by media type, such as
"…"
.If the string is translated, comments will be added giving the translation lookup id to aid in translation of server-translated values.
- Specified by:
text
in interfaceText
- Returns:
this
writer- Throws:
IOException
-
text
Description copied from interface:Text
Writes the given text with proper encoding.Adds prefixes and suffixes by media type, such as
"…"
.If the string is translated, comments will be added giving the translation lookup id to aid in translation of server-translated values.
- Specified by:
text
in interfaceText
- Returns:
this
writer- Throws:
IOException
-
text
Description copied from interface:Text
Writes the given text with proper encoding.Adds prefixes and suffixes by media type, such as
"…"
.If the string is translated, comments will be added giving the translation lookup id to aid in translation of server-translated values.
- Specified by:
text
in interfaceText
- Type Parameters:
Ex
- An arbitrary exception type that may be thrown- Returns:
this
writer- Throws:
IOException
Ex
-
text
Description copied from interface:Text
Writes the given text with proper encoding.Adds prefixes and suffixes by media type, such as
"…"
.Does not perform any translation markups.
- Specified by:
text
in interfaceText
- Type Parameters:
Ex
- An arbitrary exception type that may be thrown- Returns:
this
writer- Throws:
IOException
Ex
-
sh
Deprecated.Already writing Bourne shell script- Specified by:
sh
in interfaceSh
- Returns:
this
writer- Throws:
IOException
-
sh
Deprecated.Already writing Bourne shell script- Specified by:
sh
in interfaceSh
- Returns:
this
writer- Throws:
IOException
-
sh
Deprecated.Already writing Bourne shell script- Specified by:
sh
in interfaceSh
- Returns:
this
writer- Throws:
IOException
-
sh
Deprecated.Already writing Bourne shell scriptWrites the given shell script with proper encoding.Adds prefixes and suffixes by media type.
If the string is translated, comments will be added giving the translation lookup id to aid in translation of server-translated values.
- Specified by:
sh
in interfaceSh
- Returns:
this
writer- Throws:
IOException
-
sh
Deprecated.Already writing Bourne shell scriptWrites the given shell script with proper encoding.Adds prefixes and suffixes by media type.
If the string is translated, comments will be added giving the translation lookup id to aid in translation of server-translated values.
- Specified by:
sh
in interfaceSh
- Returns:
this
writer- Throws:
IOException
-
sh
Deprecated.Already writing Bourne shell scriptWrites the given shell script with proper encoding.Adds prefixes and suffixes by media type.
If the string is translated, comments will be added giving the translation lookup id to aid in translation of server-translated values.
- Specified by:
sh
in interfaceSh
- Returns:
this
writer- Throws:
IOException
-
sh
Deprecated.Already writing Bourne shell scriptWrites the given shell script with proper encoding.Adds prefixes and suffixes by media type.
If the string is translated, comments will be added giving the translation lookup id to aid in translation of server-translated values.
- Specified by:
sh
in interfaceSh
- Type Parameters:
Ex
- An arbitrary exception type that may be thrown- Returns:
this
writer- Throws:
IOException
Ex
-
sh
Deprecated.Already writing Bourne shell scriptWrites the given shell script with proper encoding.Adds prefixes and suffixes by media type.
Does not perform any translation markups.
- Specified by:
sh
in interfaceSh
- Type Parameters:
Ex
- An arbitrary exception type that may be thrown- Returns:
this
writer- Throws:
IOException
Ex
-
sh
Deprecated.Already writing Bourne shell scriptWrites the given shell script with proper encoding. This is well suited for use in a try-with-resources block.Adds prefixes and suffixes by media type.
Does not perform any translation markups.
- Specified by:
sh
in interfaceSh
- Returns:
- A new writer that may be used for arbitrary shell script.
This writer must be closed for completed calls to
MediaEncoder.writeSuffixTo(java.lang.Appendable, boolean)
. - Throws:
IOException
-