/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package freemarker.core;

Represents the plain text output format (MIME type "text/plain", name "plainText"). This format doesn't support escaping. This format doesn't allow mixing in template output values of other output formats.

The main difference from UndefinedOutputFormat is that this format doesn't allow inserting values of another output format into itself (unless they can be converted to plain text), while UndefinedOutputFormat would just insert the foreign "markup" as is. Also, this format has {"text/plain"} MIME type, while UndefinedOutputFormat has null.

Since:2.3.24
/** * Represents the plain text output format (MIME type "text/plain", name "plainText"). This format doesn't support * escaping. This format doesn't allow mixing in template output values of other output formats. * * <p> * The main difference from {@link UndefinedOutputFormat} is that this format doesn't allow inserting values of another * output format into itself (unless they can be converted to plain text), while {@link UndefinedOutputFormat} would * just insert the foreign "markup" as is. Also, this format has {"text/plain"} MIME type, while * {@link UndefinedOutputFormat} has {@code null}. * * @since 2.3.24 */
public final class PlainTextOutputFormat extends OutputFormat { public static final PlainTextOutputFormat INSTANCE = new PlainTextOutputFormat(); private PlainTextOutputFormat() { // Only to decrease visibility } @Override public boolean isOutputFormatMixingAllowed() { return false; } @Override public String getName() { return "plainText"; } @Override public String getMimeType() { return "text/plain"; } }