public abstract class OutputFormat
extends java.lang.Object
MarkupOutputFormat
.Constructor and Description |
---|
OutputFormat() |
Modifier and Type | Method and Description |
---|---|
abstract java.lang.String |
getMimeType()
Returns the MIME type of the output format.
|
abstract java.lang.String |
getName()
The short name used to refer to this format (like in the
#ftl header). |
abstract boolean |
isOutputFormatMixingAllowed()
Tells if this output format allows inserting
TemplateMarkupOutputModel -s of another output formats into
it. |
java.lang.String |
toString()
Returns the short description of this format, to be used in error messages.
|
protected java.lang.String |
toStringExtraProperties()
Should be like
"foo=\"something\", bar=123" ; this will be inserted inside the parentheses in
toString() . |
public abstract java.lang.String getName()
#ftl
header).public abstract java.lang.String getMimeType()
null
null
if this output format doesn't clearly corresponds to a specific MIME type.public abstract boolean isOutputFormatMixingAllowed()
TemplateMarkupOutputModel
-s of another output formats into
it.
If true
, the foreign TemplateMarkupOutputModel
will be inserted into the output. If the current
output format is a MarkupOutputFormat
this is done using the
MarkupOutputFormat.outputForeign(TemplateMarkupOutputModel, Writer)
method, which can implement smart
conversions. The default behavior (and the only behavior for non-markup outputs) is to behave as if the surrounding
output format was the same; this is usually a bad idea to allow, as such an event could
indicate application bugs.
If this method returns false
(recommended), then FreeMarker will try to assimilate the inserted value by
converting its format to this format, which will currently (2.3.24) cause exception, unless the inserted value is
made by escaping plain text and the target format is non-escaping, in which case format conversion is trivially
possible. (It's not impossible that conversions will be extended beyond this, if there will be demand for that.)
true
value is used by UndefinedOutputFormat
.
public final java.lang.String toString()
toStringExtraProperties()
to customize this.toString
in class java.lang.Object
protected java.lang.String toStringExtraProperties()
"foo=\"something\", bar=123"
; this will be inserted inside the parentheses in
toString()
. Shouldn't return null
; should return ""
if there are no extra properties.