2021SC@SDUSC
**内容非常主观,可能出现错漏,慎重参考
_ParserConfigurationWithInheritedFormat.java
package freemarker.core;
import freemarker.template.Version;
/**
* For internal use only; don't depend on this, there's no backward compatibility guarantee at all!
*/
public final class _ParserConfigurationWithInheritedFormat implements ParserConfiguration {
private final OutputFormat outputFormat;
private final Integer autoEscapingPolicy;
private final ParserConfiguration wrappedPCfg;
public _ParserConfigurationWithInheritedFormat(ParserConfiguration wrappedPCfg, OutputFormat outputFormat,
Integer autoEscapingPolicy) {
this.outputFormat = outputFormat;
this.autoEscapingPolicy = autoEscapingPolicy;
this.wrappedPCfg = wrappedPCfg;
}
@Override
public boolean getWhitespaceStripping() {
return wrappedPCfg.getWhitespaceStripping();
}
@Override
public int getTagSyntax() {
return wrappedPCfg.getTagSyntax();
}
@Override
public int getInterpolationSyntax() {
return wrappedPCfg.getInterpolationSyntax();
}
@Override
public boolean getStrictSyntaxMode() {
return wrappedPCfg.getStrictSyntaxMode();
}
@Override
public OutputFormat getOutputFormat() {
return outputFormat != null ? outputFormat : wrappedPCfg.getOutputFormat();
}
@Override
public boolean getRecognizeStandardFileExtensions() {
return false;
}
@Override
public int getNamingConvention() {
return wrappedPCfg.getNamingConvention();
}
@Override
public Version getIncompatibleImprovements() {
return wrappedPCfg.getIncompatibleImprovements();
}
@Override
public int getAutoEscapingPolicy() {
return autoEscapingPolicy != null ? autoEscapingPolicy.intValue() : wrappedPCfg.getAutoEscapingPolicy();
}
@Override
public ArithmeticEngine getArithmeticEngine() {
return wrappedPCfg.getArithmeticEngine();
}
@Override
public int getTabSize() {
return wrappedPCfg.getTabSize();
}
}
_ParserConfigurationWithInheritedFormat.java
package freemarker.core;
import freemarker.template.Version;
/**
* For internal use only; don't depend on this, there's no backward compatibility guarantee at all!
*/
public final class _ParserConfigurationWithInheritedFormat implements ParserConfiguration {
private final OutputFormat outputFormat;
private final Integer autoEscapingPolicy;
private final ParserConfiguration wrappedPCfg;
public _ParserConfigurationWithInheritedFormat(ParserConfiguration wrappedPCfg, OutputFormat outputFormat,
Integer autoEscapingPolicy) {
this.outputFormat = outputFormat;
this.autoEscapingPolicy = autoEscapingPolicy;
this.wrappedPCfg = wrappedPCfg;
}
@Override
public boolean getWhitespaceStripping() {
return wrappedPCfg.getWhitespaceStripping();
}
@Override
public int getTagSyntax() {
return wrappedPCfg.getTagSyntax();
}
@Override
public int getInterpolationSyntax() {
return wrappedPCfg.getInterpolationSyntax();
}
@Override
public boolean getStrictSyntaxMode() {
return wrappedPCfg.getStrictSyntaxMode();
}
@Override
public OutputFormat getOutputFormat() {
return outputFormat != null ? outputFormat : wrappedPCfg.getOutputFormat();
}
@Override
public boolean getRecognizeStandardFileExtensions() {
return false;
}
@Override
public int getNamingConvention() {
return wrappedPCfg.getNamingConvention();
}
@Override
public Version getIncompatibleImprovements() {
return wrappedPCfg.getIncompatibleImprovements();
}
@Override
public int getAutoEscapingPolicy() {
return autoEscapingPolicy != null ? autoEscapingPolicy.intValue() : wrappedPCfg.getAutoEscapingPolicy();
}
@Override
public ArithmeticEngine getArithmeticEngine() {
return wrappedPCfg.getArithmeticEngine();
}
@Override
public int getTabSize() {
return wrappedPCfg.getTabSize();
}
}
_SettingEvaluationEnvironment.java
package freemarker.core;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
/** Don't use this; used internally by FreeMarker, might changes without notice. */
public class _SortedArraySet<E> extends _UnmodifiableSet<E> {
private final E[] array;
public _SortedArraySet(E[] array) {
this.array = array;
}
@Override
public int size() {
return array.length;
}
@Override
public boolean contains(Object o) {
return Arrays.binarySearch(array, o) >= 0;
}
@Override
public Iterator<E> iterator() {
return new _ArrayIterator(array);
}
@Override
public boolean add(E o) {
throw new UnsupportedOperationException();
}
@Override
public boolean remove(Object o) {
throw new UnsupportedOperationException();
}
@Override
public boolean addAll(Collection<? extends E> c) {
throw new UnsupportedOperationException();
}
@Override
public boolean removeAll(Collection<?> c) {
throw new UnsupportedOperationException();
}
@Override
public boolean retainAll(Collection<?> c) {
throw new UnsupportedOperationException();
}
@Override
public void clear() {
throw new UnsupportedOperationException();
}
}