Marked most static utility classes as internal, and renamed them to start with "_" (for example StringUtils was renamed to _StringUtil, thus people won't accidentally use it when they wanted to autocomplete to Apache Commons StringUtil). Also moved over utlitiy methods to o.a.f.core.util.
Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/a5d9575f Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/a5d9575f Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/a5d9575f Branch: refs/heads/3 Commit: a5d9575f30bfdcbf27b4fbbb2516bc85f2c98c38 Parents: 4e2f451 Author: ddekany <[email protected]> Authored: Fri Feb 17 12:54:50 2017 +0100 Committer: ddekany <[email protected]> Committed: Fri Feb 17 15:05:40 2017 +0100 ---------------------------------------------------------------------- .../apache/freemarker/core/Configuration.java | 50 +- .../org/apache/freemarker/core/Template.java | 4 +- .../freemarker/core/TemplateException.java | 6 +- .../core/TemplateExceptionHandler.java | 4 +- .../org/apache/freemarker/core/Version.java | 8 +- .../apache/freemarker/core/_TemplateAPI.java | 4 +- .../ast/AliasTemplateDateFormatFactory.java | 7 +- .../ast/AliasTemplateNumberFormatFactory.java | 7 +- .../freemarker/core/ast/ArithmeticEngine.java | 13 +- .../apache/freemarker/core/ast/Assignment.java | 3 +- .../org/apache/freemarker/core/ast/BuiltIn.java | 60 +- .../freemarker/core/ast/BuiltInsForDates.java | 10 +- .../freemarker/core/ast/BuiltInsForNumbers.java | 14 +- .../core/ast/BuiltInsForSequences.java | 8 +- .../core/ast/BuiltInsForStringsBasic.java | 14 +- .../core/ast/BuiltInsForStringsEncoding.java | 26 +- .../core/ast/BuiltInsForStringsRegexp.java | 4 +- .../freemarker/core/ast/BuiltinVariable.java | 8 +- .../org/apache/freemarker/core/ast/Comment.java | 4 +- .../freemarker/core/ast/Configurable.java | 57 +- .../freemarker/core/ast/DollarVariable.java | 4 +- .../org/apache/freemarker/core/ast/Dot.java | 3 +- .../freemarker/core/ast/DynamicKeyName.java | 2 +- .../apache/freemarker/core/ast/Environment.java | 24 +- .../apache/freemarker/core/ast/EscapeBlock.java | 3 +- .../core/ast/ExtendedDecimalFormatParser.java | 8 +- .../freemarker/core/ast/HTMLOutputFormat.java | 8 +- .../core/ast/ISOLikeTemplateDateFormat.java | 28 +- .../ast/ISOLikeTemplateDateFormatFactory.java | 8 +- .../core/ast/ISOTemplateDateFormat.java | 16 +- .../apache/freemarker/core/ast/Identifier.java | 3 +- .../org/apache/freemarker/core/ast/Include.java | 6 +- .../org/apache/freemarker/core/ast/Items.java | 5 +- .../freemarker/core/ast/IteratorBlock.java | 7 +- .../apache/freemarker/core/ast/LibraryLoad.java | 3 +- .../org/apache/freemarker/core/ast/Macro.java | 5 +- .../ast/MarkupOutputFormatBoundBuiltIn.java | 4 +- .../apache/freemarker/core/ast/MessageUtil.java | 6 +- .../apache/freemarker/core/ast/MethodCall.java | 4 +- .../ast/NestedContentNotSupportedException.java | 4 +- .../ast/NonSequenceOrCollectionException.java | 4 +- .../freemarker/core/ast/NumericalOutput.java | 4 +- .../core/ast/OptInTemplateClassResolver.java | 18 +- .../freemarker/core/ast/OutputFormat.java | 8 +- .../core/ast/OutputFormatBoundBuiltIn.java | 4 +- .../freemarker/core/ast/ParseException.java | 10 +- .../freemarker/core/ast/PropertySetting.java | 8 +- .../freemarker/core/ast/RTFOutputFormat.java | 8 +- .../freemarker/core/ast/RegexpHelper.java | 4 +- .../freemarker/core/ast/StringLiteral.java | 6 +- .../core/ast/TemplateClassResolver.java | 6 +- .../core/ast/TemplateConfiguration.java | 8 +- .../freemarker/core/ast/TemplateElement.java | 1 + .../core/ast/TemplateElementArrayBuilder.java | 4 +- .../apache/freemarker/core/ast/TextBlock.java | 20 +- .../apache/freemarker/core/ast/UnifiedCall.java | 10 +- .../freemarker/core/ast/XHTMLOutputFormat.java | 8 +- .../freemarker/core/ast/XMLOutputFormat.java | 8 +- .../core/ast/XSTemplateDateFormat.java | 16 +- .../freemarker/core/ast/_ArrayEnumeration.java | 49 - .../freemarker/core/ast/_ArrayIterator.java | 51 - .../apache/freemarker/core/ast/_CoreAPI.java | 7 +- .../freemarker/core/ast/_CoreLocaleUtils.java | 45 - .../freemarker/core/ast/_CoreStringUtils.java | 125 - .../core/ast/_DelayedFTLTypeDescription.java | 4 +- .../freemarker/core/ast/_DelayedJQuote.java | 4 +- .../core/ast/_DelayedShortClassName.java | 4 +- .../core/ast/_ErrorDescriptionBuilder.java | 14 +- .../org/apache/freemarker/core/ast/_Java8.java | 32 - .../apache/freemarker/core/ast/_Java8Impl.java | 39 - .../freemarker/core/ast/_JavaVersions.java | 80 - ...ObjectBuilderSettingEvaluationException.java | 4 +- .../ast/_ObjectBuilderSettingEvaluator.java | 37 +- .../freemarker/core/ast/_SortedArraySet.java | 80 - .../core/ast/_TemplateModelException.java | 4 +- .../core/ast/_UnmodifiableCompositeSet.java | 95 - .../freemarker/core/ast/_UnmodifiableSet.java | 47 - .../core/debug/impl/DebuggerServer.java | 6 +- .../core/debug/impl/DebuggerService.java | 4 +- .../apache/freemarker/core/model/Constants.java | 122 + .../core/model/ObjectWrapperWithAPISupport.java | 51 + .../core/model/RichObjectWrapper.java | 38 + .../freemarker/core/model/TemplateModel.java | 4 +- .../core/model/TemplateModelWithAPISupport.java | 2 - .../core/model/impl/DefaultIterableAdapter.java | 2 +- .../core/model/impl/DefaultListAdapter.java | 4 +- .../core/model/impl/DefaultMapAdapter.java | 2 +- .../impl/DefaultNonListCollectionAdapter.java | 2 +- .../core/model/impl/SimpleSequence.java | 11 +- .../core/model/impl/_StaticObjectWrappers.java | 4 +- .../core/model/impl/beans/ArgumentTypes.java | 20 +- .../core/model/impl/beans/BeanModel.java | 4 +- .../core/model/impl/beans/BeansWrapper.java | 22 +- .../impl/beans/ClassBasedModelFactory.java | 4 +- .../model/impl/beans/ClassIntrospector.java | 4 +- .../model/impl/beans/OverloadedMethods.java | 8 +- .../impl/beans/OverloadedMethodsSubset.java | 10 +- .../model/impl/beans/OverloadedNumberUtil.java | 10 +- .../core/model/impl/beans/SimpleMapModel.java | 2 +- .../core/model/impl/beans/SimpleMethod.java | 6 +- .../model/impl/beans/SimpleMethodModel.java | 4 +- .../core/model/impl/beans/UnsafeMethods.java | 6 +- .../core/model/impl/beans/_BeansAPI.java | 6 +- .../core/model/impl/beans/_MethodUtil.java | 12 +- .../core/model/impl/dom/NodeOutputter.java | 8 +- .../templateresolver/FileNameGlobMatcher.java | 6 +- .../FirstMatchTemplateConfigurationFactory.java | 4 +- .../MalformedTemplateNameException.java | 4 +- .../core/templateresolver/PathGlobMatcher.java | 8 +- .../core/templateresolver/PathRegexMatcher.java | 4 +- .../templateresolver/TemplateLoadingResult.java | 10 +- .../impl/ByteArrayTemplateLoader.java | 4 +- .../impl/ClassTemplateLoader.java | 14 +- .../impl/DefaultTemplateNameFormat.java | 4 +- .../impl/DefaultTemplateResolver.java | 30 +- .../impl/FileTemplateLoader.java | 10 +- .../impl/MultiTemplateLoader.java | 4 +- .../impl/StringTemplateLoader.java | 4 +- ...TemplateLoaderBasedTemplateLookupResult.java | 6 +- .../impl/URLTemplateLoadingSource.java | 4 +- .../apache/freemarker/core/util/ClassUtil.java | 385 --- .../freemarker/core/util/CollectionUtils.java | 36 - .../apache/freemarker/core/util/Constants.java | 122 - .../freemarker/core/util/DOMNodeModel.java | 267 --- .../apache/freemarker/core/util/DateUtil.java | 911 -------- .../apache/freemarker/core/util/HtmlEscape.java | 1 + .../freemarker/core/util/NormalizeNewlines.java | 1 + .../core/util/NullArgumentException.java | 59 - .../apache/freemarker/core/util/NullWriter.java | 90 - .../apache/freemarker/core/util/NumberUtil.java | 170 -- .../core/util/ObjectWrapperWithAPISupport.java | 51 - .../freemarker/core/util/OptimizerUtil.java | 97 - .../freemarker/core/util/RichObjectWrapper.java | 37 - .../freemarker/core/util/SecurityUtilities.java | 87 - .../freemarker/core/util/StandardCompress.java | 1 + .../apache/freemarker/core/util/StringUtil.java | 2126 ----------------- .../util/UnrecognizedTimeZoneException.java | 2 +- .../apache/freemarker/core/util/XmlEscape.java | 1 + .../freemarker/core/util/_ArrayEnumeration.java | 49 + .../freemarker/core/util/_ArrayIterator.java | 51 + .../apache/freemarker/core/util/_ClassUtil.java | 385 +++ .../freemarker/core/util/_CollectionUtil.java | 36 + .../apache/freemarker/core/util/_DateUtil.java | 912 ++++++++ .../org/apache/freemarker/core/util/_Java8.java | 32 + .../apache/freemarker/core/util/_Java8Impl.java | 39 + .../freemarker/core/util/_JavaVersions.java | 79 + .../freemarker/core/util/_LocaleUtil.java | 45 + .../core/util/_NullArgumentException.java | 59 + .../freemarker/core/util/_NullWriter.java | 90 + .../freemarker/core/util/_NumberUtil.java | 205 ++ .../freemarker/core/util/_SecurityUtil.java | 87 + .../freemarker/core/util/_SortedArraySet.java | 80 + .../freemarker/core/util/_StringUtil.java | 2198 ++++++++++++++++++ .../core/util/_UnmodifiableCompositeSet.java | 97 + .../freemarker/core/util/_UnmodifiableSet.java | 47 + .../freemarker/servlet/FreemarkerServlet.java | 44 +- .../freemarker/servlet/InitParamParser.java | 6 +- .../servlet/WebAppTemplateLoader.java | 22 +- .../jsp/CustomTagAndELFunctionCombiner.java | 4 +- .../jsp/FreeMarkerJspApplicationContext.java | 4 +- .../freemarker/servlet/jsp/JspTagModelBase.java | 4 +- .../servlet/jsp/JspWriterAdapter.java | 4 +- .../freemarker/servlet/jsp/TaglibFactory.java | 74 +- .../servlet/jsp/TaglibMethodUtil.java | 10 +- .../servlet/jsp/_FreeMarkerPageContext21.java | 4 +- src/main/javacc/FTL.jj | 22 +- src/manual/en_US/FM3-CHANGE-LOG.txt | 5 +- .../freemarker/core/ConfigurationTest.java | 36 +- .../freemarker/core/CustomAttributeTest.java | 6 +- .../apache/freemarker/core/ExceptionTest.java | 7 +- .../core/MistakenlyPublicImportAPIsTest.java | 9 +- .../core/MistakenlyPublicMacroAPIsTest.java | 7 +- .../apache/freemarker/core/ast/ASTPrinter.java | 18 +- .../org/apache/freemarker/core/ast/ASTTest.java | 4 +- .../ast/BaseNTemplateNumberFormatFactory.java | 10 +- .../freemarker/core/ast/CamelCaseTest.java | 8 +- .../freemarker/core/ast/ConfigurableTest.java | 10 +- .../core/ast/CoreLocaleUtilsTest.java | 22 +- .../core/ast/CustomHTMLOutputFormat.java | 4 +- ...EpochMillisDivTemplateDateFormatFactory.java | 4 +- .../ast/HTMLISOTemplateDateFormatFactory.java | 28 +- .../ast/HexTemplateNumberFormatFactory.java | 4 +- .../core/ast/ParsingErrorMessagesTest.java | 6 +- .../ast/PrintfGTemplateNumberFormatFactory.java | 4 +- .../freemarker/core/ast/SQLTimeZoneTest.java | 10 +- .../core/ast/TagSyntaxVariationsTest.java | 6 +- .../core/ast/TemplateConfigurationTest.java | 16 +- .../ast/TemplateNameSpecialVariablesTest.java | 6 +- .../core/ast/TheadInterruptingSupportTest.java | 8 +- .../impl/beans/BeansWrapperReadOnlyTest.java | 5 +- .../beans/ParameterListPreferabilityTest.java | 6 +- .../freemarker/core/util/DateUtilTest.java | 322 ++- .../freemarker/core/util/NumberUtilTest.java | 108 +- .../freemarker/core/util/StringUtilTest.java | 224 +- .../TemplateConfigurationExamples.java | 4 +- .../jsp/taglibmembers/AttributeAccessorTag.java | 4 +- .../jsp/taglibmembers/AttributeInfoTag.java | 8 +- .../servlet/jsp/taglibmembers/GetAndSetTag.java | 4 +- .../freemarker/test/ResourcesExtractor.java | 14 +- .../apache/freemarker/test/TemplateTest.java | 8 +- .../test/servlet/Model2TesterServlet.java | 4 +- .../test/templatesuite/TemplateTestCase.java | 26 +- .../test/templatesuite/TemplateTestSuite.java | 14 +- .../templatesuite/models/JavaObjectInfo.java | 4 +- .../test/templatesuite/models/Listables.java | 12 - .../templatesuite/models/OverloadedMethods.java | 6 +- .../models/OverloadedMethods2.java | 8 +- .../freemarker/test/util/AssertDirective.java | 4 +- .../test/util/AssertEqualsDirective.java | 4 +- .../test/util/AssertFailsDirective.java | 20 +- .../test/util/BadParameterTypeException.java | 6 +- .../freemarker/test/util/FileTestCase.java | 4 +- .../util/MissingRequiredParameterException.java | 6 +- .../freemarker/test/util/NoOutputDirective.java | 4 +- .../util/UnsupportedParameterException.java | 6 +- 215 files changed, 5806 insertions(+), 6232 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/Configuration.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/Configuration.java b/src/main/java/org/apache/freemarker/core/Configuration.java index ece7b3f..023ea8b 100644 --- a/src/main/java/org/apache/freemarker/core/Configuration.java +++ b/src/main/java/org/apache/freemarker/core/Configuration.java @@ -67,8 +67,7 @@ import org.apache.freemarker.core.ast._DelayedJQuote; import org.apache.freemarker.core.ast._MiscTemplateException; import org.apache.freemarker.core.ast._ObjectBuilderSettingEvaluator; import org.apache.freemarker.core.ast._SettingEvaluationEnvironment; -import org.apache.freemarker.core.ast._SortedArraySet; -import org.apache.freemarker.core.ast._UnmodifiableCompositeSet; +import org.apache.freemarker.core.util._UnmodifiableCompositeSet; import org.apache.freemarker.core.model.ObjectWrapper; import org.apache.freemarker.core.model.TemplateHashModelEx; import org.apache.freemarker.core.model.TemplateModel; @@ -105,15 +104,16 @@ import org.apache.freemarker.core.templateresolver.impl.MultiTemplateLoader; import org.apache.freemarker.core.templateresolver.impl.SoftCacheStorage; import org.apache.freemarker.core.templateresolver.impl.URLTemplateLoader; import org.apache.freemarker.core.util.CaptureOutput; -import org.apache.freemarker.core.util.ClassUtil; -import org.apache.freemarker.core.util.Constants; +import org.apache.freemarker.core.util._ClassUtil; +import org.apache.freemarker.core.model.Constants; import org.apache.freemarker.core.util.HtmlEscape; import org.apache.freemarker.core.util.NormalizeNewlines; -import org.apache.freemarker.core.util.NullArgumentException; -import org.apache.freemarker.core.util.SecurityUtilities; +import org.apache.freemarker.core.util._NullArgumentException; +import org.apache.freemarker.core.util._SecurityUtil; import org.apache.freemarker.core.util.StandardCompress; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._StringUtil; import org.apache.freemarker.core.util.XmlEscape; +import org.apache.freemarker.core.util._SortedArraySet; /** * <b>The main entry point into the FreeMarker API</b>; encapsulates the configuration settings of FreeMarker, @@ -531,7 +531,7 @@ public class Configuration extends Configurable implements Cloneable, ParserConf */ private HashMap/*<String, Object>*/ rewrappableSharedVariables = null; - private String defaultEncoding = SecurityUtilities.getSystemProperty("file.encoding", "utf-8"); + private String defaultEncoding = _SecurityUtil.getSystemProperty("file.encoding", "utf-8"); private ConcurrentMap localeToCharsetMap = new ConcurrentHashMap(); /** @@ -842,7 +842,7 @@ public class Configuration extends Configurable implements Cloneable, ParserConf // - This way we avoid the error if FM isn't actually used checkFreeMarkerVersionClash(); - NullArgumentException.check("incompatibleImprovements", incompatibleImprovements); + _NullArgumentException.check("incompatibleImprovements", incompatibleImprovements); this.incompatibleImprovements = incompatibleImprovements; createTemplateResolver(); @@ -1419,11 +1419,11 @@ public class Configuration extends Configurable implements Cloneable, ParserConf public void setServletContextForTemplateLoading(Object servletContext, String path) { try { // Don't introduce linking-time dependency on servlets - final Class webappTemplateLoaderClass = ClassUtil.forName( + final Class webappTemplateLoaderClass = _ClassUtil.forName( "org.apache.freemarker.servlet.WebAppTemplateLoader"); // Don't introduce linking-time dependency on servlets - final Class servletContextClass = ClassUtil.forName("javax.servlet.ServletContext"); + final Class servletContextClass = _ClassUtil.forName("javax.servlet.ServletContext"); final Class[] constructorParamTypes; final Object[] constructorParams; @@ -1825,7 +1825,7 @@ public class Configuration extends Configurable implements Cloneable, ParserConf */ public void setOutputFormat(OutputFormat outputFormat) { if (outputFormat == null) { - throw new NullArgumentException( + throw new _NullArgumentException( "outputFormat", "You may meant: " + UndefinedOutputFormat.class.getSimpleName() + ".INSTANCE"); } @@ -1915,7 +1915,7 @@ public class Configuration extends Configurable implements Cloneable, ParserConf if (stdOF == null) { StringBuilder sb = new StringBuilder(); sb.append("Unregistered output format name, "); - sb.append(StringUtil.jQuote(name)); + sb.append(_StringUtil.jQuote(name)); sb.append(". The output formats registered in the Configuration are: "); Set<String> registeredNames = new TreeSet<String>(); @@ -1929,7 +1929,7 @@ public class Configuration extends Configurable implements Cloneable, ParserConf } else { sb.append(", "); } - sb.append(StringUtil.jQuote(registeredName)); + sb.append(_StringUtil.jQuote(registeredName)); } throw new UnregisteredOutputFormatException(sb.toString()); @@ -1977,7 +1977,7 @@ public class Configuration extends Configurable implements Cloneable, ParserConf * @since 2.3.24 */ public void setRegisteredCustomOutputFormats(Collection<? extends OutputFormat> registeredCustomOutputFormats) { - NullArgumentException.check(registeredCustomOutputFormats); + _NullArgumentException.check(registeredCustomOutputFormats); Map<String, OutputFormat> m = new LinkedHashMap<String, OutputFormat>( registeredCustomOutputFormats.size() * 4 / 3, 1f); for (OutputFormat outputFormat : registeredCustomOutputFormats) { @@ -2405,29 +2405,29 @@ public class Configuration extends Configurable implements Cloneable, ParserConf TemplateLoader tl = getTemplateLoader(); String msg; if (tl == null) { - msg = "Don't know where to load template " + StringUtil.jQuote(name) + msg = "Don't know where to load template " + _StringUtil.jQuote(name) + " from because the \"template_loader\" FreeMarker " + "setting wasn't set (Configuration.setTemplateLoader), so it's null."; } else { final String missingTempNormName = maybeTemp.getMissingTemplateNormalizedName(); final String missingTempReason = maybeTemp.getMissingTemplateReason(); final TemplateLookupStrategy templateLookupStrategy = getTemplateLookupStrategy(); - msg = "Template not found for name " + StringUtil.jQuote(name) + msg = "Template not found for name " + _StringUtil.jQuote(name) + (missingTempNormName != null && name != null && !removeInitialSlash(name).equals(missingTempNormName) - ? " (normalized: " + StringUtil.jQuote(missingTempNormName) + ")" + ? " (normalized: " + _StringUtil.jQuote(missingTempNormName) + ")" : "") + (customLookupCondition != null ? " and custom lookup condition " - + StringUtil.jQuote(customLookupCondition) : "") + + _StringUtil.jQuote(customLookupCondition) : "") + "." + (missingTempReason != null ? "\nReason given: " + ensureSentenceIsClosed(missingTempReason) : "") + "\nThe name was interpreted by this TemplateLoader: " - + StringUtil.tryToString(tl) + "." + + _StringUtil.tryToString(tl) + "." + (!isKnownNonConfusingLookupStrategy(templateLookupStrategy) ? "\n(Before that, the name was possibly changed by this lookup strategy: " - + StringUtil.tryToString(templateLookupStrategy) + ".)" + + _StringUtil.tryToString(templateLookupStrategy) + ".)" : "") // Suspected reasons or warning: + (!templateLoaderExplicitlySet @@ -2797,10 +2797,10 @@ public class Configuration extends Configurable implements Cloneable, ParserConf if (DEFAULT_ENCODING_KEY_SNAKE_CASE.equals(name) || DEFAULT_ENCODING_KEY_CAMEL_CASE.equals(name)) { setDefaultEncoding(value); } else if (LOCALIZED_LOOKUP_KEY_SNAKE_CASE.equals(name) || LOCALIZED_LOOKUP_KEY_CAMEL_CASE.equals(name)) { - setLocalizedLookup(StringUtil.getYesNo(value)); + setLocalizedLookup(_StringUtil.getYesNo(value)); } else if (WHITESPACE_STRIPPING_KEY_SNAKE_CASE.equals(name) || WHITESPACE_STRIPPING_KEY_CAMEL_CASE.equals(name)) { - setWhitespaceStripping(StringUtil.getYesNo(value)); + setWhitespaceStripping(_StringUtil.getYesNo(value)); } else if (AUTO_ESCAPING_POLICY_KEY_SNAKE_CASE.equals(name) || AUTO_ESCAPING_POLICY_KEY_CAMEL_CASE.equals(name)) { if ("enable_if_default".equals(value) || "enableIfDefault".equals(value)) { setAutoEscapingPolicy(ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY); @@ -2835,7 +2835,7 @@ public class Configuration extends Configurable implements Cloneable, ParserConf if (value.equalsIgnoreCase(DEFAULT)) { unsetRecognizeStandardFileExtensions(); } else { - setRecognizeStandardFileExtensions(StringUtil.getYesNo(value)); + setRecognizeStandardFileExtensions(_StringUtil.getYesNo(value)); } } else if (CACHE_STORAGE_KEY_SNAKE_CASE.equals(name) || CACHE_STORAGE_KEY_CAMEL_CASE.equals(name)) { if (value.equalsIgnoreCase(DEFAULT)) { @@ -2843,7 +2843,7 @@ public class Configuration extends Configurable implements Cloneable, ParserConf } if (value.indexOf('.') == -1) { int strongSize = 0; int softSize = 0; - Map map = StringUtil.parseNameValuePairList( + Map map = _StringUtil.parseNameValuePairList( value, String.valueOf(Integer.MAX_VALUE)); Iterator it = map.entrySet().iterator(); while (it.hasNext()) { http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/Template.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/Template.java b/src/main/java/org/apache/freemarker/core/Template.java index 3ec414c..3ed02d0 100644 --- a/src/main/java/org/apache/freemarker/core/Template.java +++ b/src/main/java/org/apache/freemarker/core/Template.java @@ -60,7 +60,7 @@ import org.apache.freemarker.core.model.impl.SimpleHash; import org.apache.freemarker.core.templateresolver.TemplateLoader; import org.apache.freemarker.core.templateresolver.TemplateLookupStrategy; import org.apache.freemarker.core.templateresolver.impl.DefaultTemplateResolver; -import org.apache.freemarker.core.util.NullArgumentException; +import org.apache.freemarker.core.util._NullArgumentException; /** * <p> @@ -255,7 +255,7 @@ public class Template extends Configurable { String encoding, TemplateSpecifiedEncodingHandler templateSpecifiedEncodingHandler) throws IOException { this(name, sourceName, cfg, customParserConfiguration); - NullArgumentException.check("templateSpecifiedEncodingHandler", templateSpecifiedEncodingHandler); + _NullArgumentException.check("templateSpecifiedEncodingHandler", templateSpecifiedEncodingHandler); this.setEncoding(encoding); LineTableBuilder ltbReader; http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/TemplateException.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/TemplateException.java b/src/main/java/org/apache/freemarker/core/TemplateException.java index e0739e0..543aa37 100644 --- a/src/main/java/org/apache/freemarker/core/TemplateException.java +++ b/src/main/java/org/apache/freemarker/core/TemplateException.java @@ -35,7 +35,7 @@ import org.apache.freemarker.core.ast.TemplateElement; import org.apache.freemarker.core.ast.TemplateObject; import org.apache.freemarker.core.ast._CoreAPI; import org.apache.freemarker.core.ast._ErrorDescriptionBuilder; -import org.apache.freemarker.core.util.CollectionUtils; +import org.apache.freemarker.core.util._CollectionUtil; /** * Runtime exception in a template (as opposed to a parsing-time exception: {@link ParseException}). @@ -401,8 +401,8 @@ public class TemplateException extends Exception { if (causeCause == null) { try { // Reflection is used to prevent dependency on Servlet classes. - Method m = getCause().getClass().getMethod("getRootCause", CollectionUtils.EMPTY_CLASS_ARRAY); - Throwable rootCause = (Throwable) m.invoke(getCause(), CollectionUtils.EMPTY_OBJECT_ARRAY); + Method m = getCause().getClass().getMethod("getRootCause", _CollectionUtil.EMPTY_CLASS_ARRAY); + Throwable rootCause = (Throwable) m.invoke(getCause(), _CollectionUtil.EMPTY_OBJECT_ARRAY); if (rootCause != null) { out.println("ServletException root cause: "); out.printStandardStackTrace(rootCause); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/TemplateExceptionHandler.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/TemplateExceptionHandler.java b/src/main/java/org/apache/freemarker/core/TemplateExceptionHandler.java index da1addc..54a16b8 100644 --- a/src/main/java/org/apache/freemarker/core/TemplateExceptionHandler.java +++ b/src/main/java/org/apache/freemarker/core/TemplateExceptionHandler.java @@ -26,7 +26,7 @@ import java.io.Writer; import org.apache.freemarker.core.ast.Configurable; import org.apache.freemarker.core.ast.Environment; import org.apache.freemarker.core.ast.StopException; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._StringUtil; /** * Used for the {@code template_exception_handler} configuration setting; @@ -134,7 +134,7 @@ public interface TemplateExceptionHandler { te.printStackTrace(stackPW, false, true, true); stackPW.close(); pw.println(); - pw.println(StringUtil.XMLEncNQG(stackTraceSW.toString())); + pw.println(_StringUtil.XMLEncNQG(stackTraceSW.toString())); pw.println("</pre></div></html>"); pw.flush(); // To commit the HTTP response http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/Version.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/Version.java b/src/main/java/org/apache/freemarker/core/Version.java index 037f89b..f399fa4 100644 --- a/src/main/java/org/apache/freemarker/core/Version.java +++ b/src/main/java/org/apache/freemarker/core/Version.java @@ -22,7 +22,7 @@ package org.apache.freemarker.core; import java.io.Serializable; import java.util.Date; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._StringUtil; /** * Represents a version number plus the further qualifiers and build info. This is @@ -73,14 +73,14 @@ public final class Version implements Serializable { } else { if (i == 0) { throw new IllegalArgumentException( - "The version number string " + StringUtil.jQuote(stringValue) + "The version number string " + _StringUtil.jQuote(stringValue) + " doesn't start with a number."); } if (c == '.') { char nextC = i + 1 >= stringValue.length() ? 0 : stringValue.charAt(i + 1); if (nextC == '.') { throw new IllegalArgumentException( - "The version number string " + StringUtil.jQuote(stringValue) + "The version number string " + _StringUtil.jQuote(stringValue) + " contains multiple dots after a number."); } if (partIdx == 2 || !isNumber(nextC)) { @@ -102,7 +102,7 @@ public final class Version implements Serializable { extraInfoTmp = extraInfoTmp.substring(1); if (extraInfoTmp.length() == 0) { throw new IllegalArgumentException( - "The version number string " + StringUtil.jQuote(stringValue) + "The version number string " + _StringUtil.jQuote(stringValue) + " has an extra info section opened with \"" + firstChar + "\", but it's empty."); } } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/_TemplateAPI.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/_TemplateAPI.java b/src/main/java/org/apache/freemarker/core/_TemplateAPI.java index 7e8d330..bf3ffb0 100644 --- a/src/main/java/org/apache/freemarker/core/_TemplateAPI.java +++ b/src/main/java/org/apache/freemarker/core/_TemplateAPI.java @@ -27,7 +27,7 @@ import org.apache.freemarker.core.ast.TemplateObject; import org.apache.freemarker.core.templateresolver.CacheStorage; import org.apache.freemarker.core.templateresolver.TemplateLookupStrategy; import org.apache.freemarker.core.templateresolver.TemplateNameFormat; -import org.apache.freemarker.core.util.NullArgumentException; +import org.apache.freemarker.core.util._NullArgumentException; /** * For internal use only; don't depend on this, there's no backward compatibility guarantee at all! @@ -48,7 +48,7 @@ public class _TemplateAPI { public static final int VERSION_INT_2_4_0 = Version.intValueFor(2, 4, 0); public static void checkVersionNotNullAndSupported(Version incompatibleImprovements) { - NullArgumentException.check("incompatibleImprovements", incompatibleImprovements); + _NullArgumentException.check("incompatibleImprovements", incompatibleImprovements); int iciV = incompatibleImprovements.intValue(); if (iciV > Configuration.getVersion().intValue()) { throw new IllegalArgumentException("The FreeMarker version requested by \"incompatibleImprovements\" was " http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/AliasTemplateDateFormatFactory.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/AliasTemplateDateFormatFactory.java b/src/main/java/org/apache/freemarker/core/ast/AliasTemplateDateFormatFactory.java index 0ae7ccd..dc0c510 100644 --- a/src/main/java/org/apache/freemarker/core/ast/AliasTemplateDateFormatFactory.java +++ b/src/main/java/org/apache/freemarker/core/ast/AliasTemplateDateFormatFactory.java @@ -22,7 +22,8 @@ import java.util.Locale; import java.util.Map; import java.util.TimeZone; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._StringUtil; +import org.apache.freemarker.core.util._LocaleUtil; /** * Creates an alias to another format, so that the format can be referred to with a simple name in the template, rather @@ -72,7 +73,7 @@ public final class AliasTemplateDateFormatFactory extends TemplateDateFormatFact Locale lookupLocale = locale; targetFormatString = localizedTargetFormatStrings.get(lookupLocale); while (targetFormatString == null - && (lookupLocale = _CoreLocaleUtils.getLessSpecificLocale(lookupLocale)) != null) { + && (lookupLocale = _LocaleUtil.getLessSpecificLocale(lookupLocale)) != null) { targetFormatString = localizedTargetFormatStrings.get(lookupLocale); } } else { @@ -84,7 +85,7 @@ public final class AliasTemplateDateFormatFactory extends TemplateDateFormatFact return env.getTemplateDateFormat(targetFormatString, dateType, locale, timeZone, zonelessInput); } catch (TemplateValueFormatException e) { throw new AliasTargetTemplateValueFormatException("Failed to create format based on target format string, " - + StringUtil.jQuote(params) + ". Reason given: " + e.getMessage(), e); + + _StringUtil.jQuote(params) + ". Reason given: " + e.getMessage(), e); } } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/AliasTemplateNumberFormatFactory.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/AliasTemplateNumberFormatFactory.java b/src/main/java/org/apache/freemarker/core/ast/AliasTemplateNumberFormatFactory.java index 93cd083..6ee8026 100644 --- a/src/main/java/org/apache/freemarker/core/ast/AliasTemplateNumberFormatFactory.java +++ b/src/main/java/org/apache/freemarker/core/ast/AliasTemplateNumberFormatFactory.java @@ -21,7 +21,8 @@ package org.apache.freemarker.core.ast; import java.util.Locale; import java.util.Map; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._StringUtil; +import org.apache.freemarker.core.util._LocaleUtil; /** * Creates an alias to another format, so that the format can be referred to with a simple name in the template, rather @@ -71,7 +72,7 @@ public final class AliasTemplateNumberFormatFactory extends TemplateNumberFormat Locale lookupLocale = locale; targetFormatString = localizedTargetFormatStrings.get(lookupLocale); while (targetFormatString == null - && (lookupLocale = _CoreLocaleUtils.getLessSpecificLocale(lookupLocale)) != null) { + && (lookupLocale = _LocaleUtil.getLessSpecificLocale(lookupLocale)) != null) { targetFormatString = localizedTargetFormatStrings.get(lookupLocale); } } else { @@ -83,7 +84,7 @@ public final class AliasTemplateNumberFormatFactory extends TemplateNumberFormat return env.getTemplateNumberFormat(targetFormatString, locale); } catch (TemplateValueFormatException e) { throw new AliasTargetTemplateValueFormatException("Failed to create format based on target format string, " - + StringUtil.jQuote(params) + ". Reason given: " + e.getMessage(), e); + + _StringUtil.jQuote(params) + ". Reason given: " + e.getMessage(), e); } } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/ArithmeticEngine.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/ArithmeticEngine.java b/src/main/java/org/apache/freemarker/core/ast/ArithmeticEngine.java index c8d6f37..b0fb358 100644 --- a/src/main/java/org/apache/freemarker/core/ast/ArithmeticEngine.java +++ b/src/main/java/org/apache/freemarker/core/ast/ArithmeticEngine.java @@ -25,9 +25,8 @@ import java.util.HashMap; import java.util.Map; import org.apache.freemarker.core.TemplateException; -import org.apache.freemarker.core.util.NumberUtil; -import org.apache.freemarker.core.util.OptimizerUtil; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._NumberUtil; +import org.apache.freemarker.core.util._StringUtil; /** * Class to perform arithmetic operations. @@ -117,8 +116,8 @@ public abstract class ArithmeticEngine { // We try to find the result based on the sign (+/-/0) first, because: // - It's much faster than converting to BigDecial, and comparing to 0 is the most common comparison. // - It doesn't require any type conversions, and thus things like "Infinity > 0" won't fail. - int firstSignum = NumberUtil.getSignum(first); - int secondSignum = NumberUtil.getSignum(second); + int firstSignum = _NumberUtil.getSignum(first); + int secondSignum = _NumberUtil.getSignum(second); if (firstSignum != secondSignum) { return firstSignum < secondSignum ? -1 : (firstSignum > secondSignum ? 1 : 0); } else if (firstSignum == 0 && secondSignum == 0) { @@ -464,7 +463,7 @@ public abstract class ArithmeticEngine { @Override public Number toNumber(String s) { Number n = toBigDecimalOrDouble(s); - return n instanceof BigDecimal ? OptimizerUtil.optimizeNumberRepresentation(n) : n; + return n instanceof BigDecimal ? _NumberUtil.optimizeNumberRepresentation(n) : n; } private static Map createClassCodesMap() { @@ -529,7 +528,7 @@ public abstract class ArithmeticEngine { return num instanceof BigDecimal ? (BigDecimal) num : new BigDecimal(num.toString()); } catch (NumberFormatException e) { // The exception message is useless, so we add a new one: - throw new NumberFormatException("Can't parse this as BigDecimal number: " + StringUtil.jQuote(num)); + throw new NumberFormatException("Can't parse this as BigDecimal number: " + _StringUtil.jQuote(num)); } } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/Assignment.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/Assignment.java b/src/main/java/org/apache/freemarker/core/ast/Assignment.java index e861a8e..bed2088 100644 --- a/src/main/java/org/apache/freemarker/core/ast/Assignment.java +++ b/src/main/java/org/apache/freemarker/core/ast/Assignment.java @@ -23,6 +23,7 @@ import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.ast.FMParserConstants; import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateNumberModel; +import org.apache.freemarker.core.util._StringUtil; /** * An instruction that makes a single assignment, like [#local x=1]. @@ -190,7 +191,7 @@ final class Assignment extends TemplateElement { buf.append(' '); } - buf.append(_CoreStringUtils.toFTLTopLevelTragetIdentifier(variableName)); + buf.append(_StringUtil.toFTLTopLevelTragetIdentifier(variableName)); if (valueExp != null) { buf.append(' '); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/BuiltIn.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/BuiltIn.java b/src/main/java/org/apache/freemarker/core/ast/BuiltIn.java index 3c8fc42..c99438c 100644 --- a/src/main/java/org/apache/freemarker/core/ast/BuiltIn.java +++ b/src/main/java/org/apache/freemarker/core/ast/BuiltIn.java @@ -28,8 +28,6 @@ import java.util.Set; import java.util.TreeSet; import org.apache.freemarker.core.Configuration; -import org.apache.freemarker.core.ast.FMParserTokenManager; -import org.apache.freemarker.core.ast.Token; import org.apache.freemarker.core.ast.BuiltInsForDates.iso_BI; import org.apache.freemarker.core.ast.BuiltInsForDates.iso_utc_or_local_BI; import org.apache.freemarker.core.ast.BuiltInsForMarkupOutputs.markup_stringBI; @@ -72,8 +70,8 @@ import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.TemplateNumberModel; import org.apache.freemarker.core.model.TemplateScalarModel; -import org.apache.freemarker.core.util.DateUtil; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._DateUtil; +import org.apache.freemarker.core.util._StringUtil; /** * The {@code ?} operator used for things like {@code foo?upper_case}. @@ -161,66 +159,66 @@ abstract class BuiltIn extends Expression implements Cloneable { putBI("is_transform", "isTransform", new BuiltInsForMultipleTypes.is_transformBI()); putBI("iso_utc", "isoUtc", new iso_utc_or_local_BI( - /* showOffset = */ null, DateUtil.ACCURACY_SECONDS, /* useUTC = */ true)); + /* showOffset = */ null, _DateUtil.ACCURACY_SECONDS, /* useUTC = */ true)); putBI("iso_utc_fz", "isoUtcFZ", new iso_utc_or_local_BI( - /* showOffset = */ Boolean.TRUE, DateUtil.ACCURACY_SECONDS, /* useUTC = */ true)); + /* showOffset = */ Boolean.TRUE, _DateUtil.ACCURACY_SECONDS, /* useUTC = */ true)); putBI("iso_utc_nz", "isoUtcNZ", new iso_utc_or_local_BI( - /* showOffset = */ Boolean.FALSE, DateUtil.ACCURACY_SECONDS, /* useUTC = */ true)); + /* showOffset = */ Boolean.FALSE, _DateUtil.ACCURACY_SECONDS, /* useUTC = */ true)); putBI("iso_utc_ms", "isoUtcMs", new iso_utc_or_local_BI( - /* showOffset = */ null, DateUtil.ACCURACY_MILLISECONDS, /* useUTC = */ true)); + /* showOffset = */ null, _DateUtil.ACCURACY_MILLISECONDS, /* useUTC = */ true)); putBI("iso_utc_ms_nz", "isoUtcMsNZ", new iso_utc_or_local_BI( - /* showOffset = */ Boolean.FALSE, DateUtil.ACCURACY_MILLISECONDS, /* useUTC = */ true)); + /* showOffset = */ Boolean.FALSE, _DateUtil.ACCURACY_MILLISECONDS, /* useUTC = */ true)); putBI("iso_utc_m", "isoUtcM", new iso_utc_or_local_BI( - /* showOffset = */ null, DateUtil.ACCURACY_MINUTES, /* useUTC = */ true)); + /* showOffset = */ null, _DateUtil.ACCURACY_MINUTES, /* useUTC = */ true)); putBI("iso_utc_m_nz", "isoUtcMNZ", new iso_utc_or_local_BI( - /* showOffset = */ Boolean.FALSE, DateUtil.ACCURACY_MINUTES, /* useUTC = */ true)); + /* showOffset = */ Boolean.FALSE, _DateUtil.ACCURACY_MINUTES, /* useUTC = */ true)); putBI("iso_utc_h", "isoUtcH", new iso_utc_or_local_BI( - /* showOffset = */ null, DateUtil.ACCURACY_HOURS, /* useUTC = */ true)); + /* showOffset = */ null, _DateUtil.ACCURACY_HOURS, /* useUTC = */ true)); putBI("iso_utc_h_nz", "isoUtcHNZ", new iso_utc_or_local_BI( - /* showOffset = */ Boolean.FALSE, DateUtil.ACCURACY_HOURS, /* useUTC = */ true)); + /* showOffset = */ Boolean.FALSE, _DateUtil.ACCURACY_HOURS, /* useUTC = */ true)); putBI("iso_local", "isoLocal", new iso_utc_or_local_BI( - /* showOffset = */ null, DateUtil.ACCURACY_SECONDS, /* useUTC = */ false)); + /* showOffset = */ null, _DateUtil.ACCURACY_SECONDS, /* useUTC = */ false)); putBI("iso_local_nz", "isoLocalNZ", new iso_utc_or_local_BI( - /* showOffset = */ Boolean.FALSE, DateUtil.ACCURACY_SECONDS, /* useUTC = */ false)); + /* showOffset = */ Boolean.FALSE, _DateUtil.ACCURACY_SECONDS, /* useUTC = */ false)); putBI("iso_local_ms", "isoLocalMs", new iso_utc_or_local_BI( - /* showOffset = */ null, DateUtil.ACCURACY_MILLISECONDS, /* useUTC = */ false)); + /* showOffset = */ null, _DateUtil.ACCURACY_MILLISECONDS, /* useUTC = */ false)); putBI("iso_local_ms_nz", "isoLocalMsNZ", new iso_utc_or_local_BI( - /* showOffset = */ Boolean.FALSE, DateUtil.ACCURACY_MILLISECONDS, /* useUTC = */ false)); + /* showOffset = */ Boolean.FALSE, _DateUtil.ACCURACY_MILLISECONDS, /* useUTC = */ false)); putBI("iso_local_m", "isoLocalM", new iso_utc_or_local_BI( - /* showOffset = */ null, DateUtil.ACCURACY_MINUTES, /* useUTC = */ false)); + /* showOffset = */ null, _DateUtil.ACCURACY_MINUTES, /* useUTC = */ false)); putBI("iso_local_m_nz", "isoLocalMNZ", new iso_utc_or_local_BI( - /* showOffset = */ Boolean.FALSE, DateUtil.ACCURACY_MINUTES, /* useUTC = */ false)); + /* showOffset = */ Boolean.FALSE, _DateUtil.ACCURACY_MINUTES, /* useUTC = */ false)); putBI("iso_local_h", "isoLocalH", new iso_utc_or_local_BI( - /* showOffset = */ null, DateUtil.ACCURACY_HOURS, /* useUTC = */ false)); + /* showOffset = */ null, _DateUtil.ACCURACY_HOURS, /* useUTC = */ false)); putBI("iso_local_h_nz", "isoLocalHNZ", new iso_utc_or_local_BI( - /* showOffset = */ Boolean.FALSE, DateUtil.ACCURACY_HOURS, /* useUTC = */ false)); + /* showOffset = */ Boolean.FALSE, _DateUtil.ACCURACY_HOURS, /* useUTC = */ false)); putBI("iso", new iso_BI( - /* showOffset = */ null, DateUtil.ACCURACY_SECONDS)); + /* showOffset = */ null, _DateUtil.ACCURACY_SECONDS)); putBI("iso_nz", "isoNZ", new iso_BI( - /* showOffset = */ Boolean.FALSE, DateUtil.ACCURACY_SECONDS)); + /* showOffset = */ Boolean.FALSE, _DateUtil.ACCURACY_SECONDS)); putBI("iso_ms", "isoMs", new iso_BI( - /* showOffset = */ null, DateUtil.ACCURACY_MILLISECONDS)); + /* showOffset = */ null, _DateUtil.ACCURACY_MILLISECONDS)); putBI("iso_ms_nz", "isoMsNZ", new iso_BI( - /* showOffset = */ Boolean.FALSE, DateUtil.ACCURACY_MILLISECONDS)); + /* showOffset = */ Boolean.FALSE, _DateUtil.ACCURACY_MILLISECONDS)); putBI("iso_m", "isoM", new iso_BI( - /* showOffset = */ null, DateUtil.ACCURACY_MINUTES)); + /* showOffset = */ null, _DateUtil.ACCURACY_MINUTES)); putBI("iso_m_nz", "isoMNZ", new iso_BI( - /* showOffset = */ Boolean.FALSE, DateUtil.ACCURACY_MINUTES)); + /* showOffset = */ Boolean.FALSE, _DateUtil.ACCURACY_MINUTES)); putBI("iso_h", "isoH", new iso_BI( - /* showOffset = */ null, DateUtil.ACCURACY_HOURS)); + /* showOffset = */ null, _DateUtil.ACCURACY_HOURS)); putBI("iso_h_nz", "isoHNZ", new iso_BI( - /* showOffset = */ Boolean.FALSE, DateUtil.ACCURACY_HOURS)); + /* showOffset = */ Boolean.FALSE, _DateUtil.ACCURACY_HOURS)); putBI("j_string", "jString", new BuiltInsForStringsEncoding.j_stringBI()); putBI("join", new BuiltInsForSequences.joinBI()); @@ -321,7 +319,7 @@ abstract class BuiltIn extends Expression implements Cloneable { String key = keyTk.image; BuiltIn bi = BUILT_INS_BY_NAME.get(key); if (bi == null) { - StringBuilder buf = new StringBuilder("Unknown built-in: ").append(StringUtil.jQuote(key)).append(". "); + StringBuilder buf = new StringBuilder("Unknown built-in: ").append(_StringUtil.jQuote(key)).append(". "); buf.append( "Help (latest version): http://freemarker.org/docs/ref_builtins.html; " @@ -342,7 +340,7 @@ abstract class BuiltIn extends Expression implements Cloneable { boolean first = true; for (Iterator it = names.iterator(); it.hasNext(); ) { String correctName = (String) it.next(); - int correctNameNamingConvetion = _CoreStringUtils.getIdentifierNamingConvention(correctName); + int correctNameNamingConvetion = _StringUtil.getIdentifierNamingConvention(correctName); if (shownNamingConvention == Configuration.CAMEL_CASE_NAMING_CONVENTION ? correctNameNamingConvetion != Configuration.LEGACY_NAMING_CONVENTION : correctNameNamingConvetion != Configuration.CAMEL_CASE_NAMING_CONVENTION) { http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/BuiltInsForDates.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/BuiltInsForDates.java b/src/main/java/org/apache/freemarker/core/ast/BuiltInsForDates.java index df9c188..54f45b4 100644 --- a/src/main/java/org/apache/freemarker/core/ast/BuiltInsForDates.java +++ b/src/main/java/org/apache/freemarker/core/ast/BuiltInsForDates.java @@ -33,7 +33,7 @@ import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.TemplateScalarModel; import org.apache.freemarker.core.model.impl.SimpleDate; import org.apache.freemarker.core.model.impl.SimpleScalar; -import org.apache.freemarker.core.util.DateUtil; +import org.apache.freemarker.core.util._DateUtil; import org.apache.freemarker.core.util.UnrecognizedTimeZoneException; /** @@ -103,7 +103,7 @@ class BuiltInsForDates { } else if (tzArgTM instanceof TemplateScalarModel) { String tzName = EvalUtil.modelToString((TemplateScalarModel) tzArgTM, null, null); try { - tzArg = DateUtil.getTimeZone(tzName); + tzArg = _DateUtil.getTimeZone(tzName); } catch (UnrecognizedTimeZoneException e) { throw new _TemplateModelException( "The time zone string specified for ?", key, @@ -115,7 +115,7 @@ class BuiltInsForDates { "?" + key, 0, "string or java.util.TimeZone", tzArgTM); } - return new SimpleScalar(DateUtil.dateToISO8601String( + return new SimpleScalar(_DateUtil.dateToISO8601String( date, dateType != TemplateDateModel.TIME, dateType != TemplateDateModel.DATE, @@ -159,14 +159,14 @@ class BuiltInsForDates { Date date, int dateType, Environment env) throws TemplateException { checkDateTypeNotUnknown(dateType); - return new SimpleScalar(DateUtil.dateToISO8601String( + return new SimpleScalar(_DateUtil.dateToISO8601String( date, dateType != TemplateDateModel.TIME, dateType != TemplateDateModel.DATE, shouldShowOffset(date, dateType, env), accuracy, useUTC - ? DateUtil.UTC + ? _DateUtil.UTC : env.shouldUseSQLDTTZ(date.getClass()) ? env.getSQLDateAndTimeTimeZone() : env.getTimeZone(), http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/BuiltInsForNumbers.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/BuiltInsForNumbers.java b/src/main/java/org/apache/freemarker/core/ast/BuiltInsForNumbers.java index 33854c6..93f364f 100644 --- a/src/main/java/org/apache/freemarker/core/ast/BuiltInsForNumbers.java +++ b/src/main/java/org/apache/freemarker/core/ast/BuiltInsForNumbers.java @@ -32,8 +32,8 @@ import org.apache.freemarker.core.model.TemplateNumberModel; import org.apache.freemarker.core.model.impl.SimpleDate; import org.apache.freemarker.core.model.impl.SimpleNumber; import org.apache.freemarker.core.model.impl.SimpleScalar; -import org.apache.freemarker.core.util.NumberUtil; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._NumberUtil; +import org.apache.freemarker.core.util._StringUtil; /** * A holder for builtins that operate exclusively on number left-hand value. @@ -46,7 +46,7 @@ class BuiltInsForNumbers { TemplateModel calculateResult(Number num, TemplateModel model) throws TemplateModelException { final int n; try { - n = NumberUtil.toIntExact(num); + n = _NumberUtil.toIntExact(num); } catch (ArithmeticException e) { throw new _TemplateModelException(target, "The left side operand value isn't compatible with ?", key, ": ", e.getMessage()); @@ -67,7 +67,7 @@ class BuiltInsForNumbers { @Override protected String toABC(int n) { - return StringUtil.toLowerABC(n); + return _StringUtil.toLowerABC(n); } } @@ -76,7 +76,7 @@ class BuiltInsForNumbers { @Override protected String toABC(int n) { - return StringUtil.toUpperABC(n); + return _StringUtil.toUpperABC(n); } } @@ -203,7 +203,7 @@ class BuiltInsForNumbers { static class is_infiniteBI extends BuiltInForNumber { @Override TemplateModel calculateResult(Number num, TemplateModel model) throws TemplateModelException { - return NumberUtil.isInfinite(num) ? TemplateBooleanModel.TRUE : TemplateBooleanModel.FALSE; + return _NumberUtil.isInfinite(num) ? TemplateBooleanModel.TRUE : TemplateBooleanModel.FALSE; } } @@ -211,7 +211,7 @@ class BuiltInsForNumbers { static class is_nanBI extends BuiltInForNumber { @Override TemplateModel calculateResult(Number num, TemplateModel model) throws TemplateModelException { - return NumberUtil.isNaN(num) ? TemplateBooleanModel.TRUE : TemplateBooleanModel.FALSE; + return _NumberUtil.isNaN(num) ? TemplateBooleanModel.TRUE : TemplateBooleanModel.FALSE; } } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/BuiltInsForSequences.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/BuiltInsForSequences.java b/src/main/java/org/apache/freemarker/core/ast/BuiltInsForSequences.java index 2d9a34e..87a1555 100644 --- a/src/main/java/org/apache/freemarker/core/ast/BuiltInsForSequences.java +++ b/src/main/java/org/apache/freemarker/core/ast/BuiltInsForSequences.java @@ -43,8 +43,8 @@ import org.apache.freemarker.core.model.impl.SimpleNumber; import org.apache.freemarker.core.model.impl.SimpleScalar; import org.apache.freemarker.core.model.impl.TemplateModelListSequence; import org.apache.freemarker.core.model.impl.beans.CollectionModel; -import org.apache.freemarker.core.util.Constants; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.model.Constants; +import org.apache.freemarker.core.util._StringUtil; /** * A holder for builtins that operate exclusively on sequence or collection left-hand value. @@ -686,7 +686,7 @@ class BuiltInsForSequences { startErrorMessage(keyNamesLn, i), (keyNameI == 0 ? "Sequence items must be hashes when using ?sort_by. " - : "The " + StringUtil.jQuote(keyNames[keyNameI - 1])), + : "The " + _StringUtil.jQuote(keyNames[keyNameI - 1])), " subvariable is not a hash, so ?sort_by ", "can't proceed with getting the ", new _DelayedJQuote(keyNames[keyNameI]), @@ -698,7 +698,7 @@ class BuiltInsForSequences { if (key == null) { throw new _TemplateModelException( startErrorMessage(keyNamesLn, i), - "The " + StringUtil.jQuote(keyNames[keyNameI]), " subvariable was not found."); + "The " + _StringUtil.jQuote(keyNames[keyNameI]), " subvariable was not found."); } } // for each key http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsBasic.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsBasic.java b/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsBasic.java index be88d0e..7c04050 100644 --- a/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsBasic.java +++ b/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsBasic.java @@ -35,7 +35,7 @@ import org.apache.freemarker.core.model.impl.SimpleNumber; import org.apache.freemarker.core.model.impl.SimpleScalar; import org.apache.freemarker.core.model.impl.SimpleSequence; import org.apache.freemarker.core.model.impl._StaticObjectWrappers; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._StringUtil; class BuiltInsForStringsBasic { @@ -59,14 +59,14 @@ class BuiltInsForStringsBasic { static class capitalizeBI extends BuiltInForString { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(StringUtil.capitalize(s)); + return new SimpleScalar(_StringUtil.capitalize(s)); } } static class chop_linebreakBI extends BuiltInForString { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(StringUtil.chomp(s)); + return new SimpleScalar(_StringUtil.chomp(s)); } } @@ -458,8 +458,8 @@ class BuiltInsForStringsBasic { try { return new SimpleScalar( leftPadder - ? StringUtil.leftPad(s, width, filling) - : StringUtil.rightPad(s, width, filling)); + ? _StringUtil.leftPad(s, width, filling) + : _StringUtil.rightPad(s, width, filling)); } catch (IllegalArgumentException e) { if (filling.length() == 0) { throw new _TemplateModelException( @@ -470,7 +470,7 @@ class BuiltInsForStringsBasic { } } } else { - return new SimpleScalar(leftPadder ? StringUtil.leftPad(s, width) : StringUtil.rightPad(s, width)); + return new SimpleScalar(leftPadder ? _StringUtil.leftPad(s, width) : _StringUtil.rightPad(s, width)); } } } @@ -550,7 +550,7 @@ class BuiltInsForStringsBasic { String[] result = null; if ((flags & RegexpHelper.RE_FLAG_REGEXP) == 0) { RegexpHelper.checkNonRegexpFlags("split", flags); - result = StringUtil.split(s, splitString, + result = _StringUtil.split(s, splitString, (flags & RegexpHelper.RE_FLAG_CASE_INSENSITIVE) != 0); } else { Pattern pattern = RegexpHelper.getPattern(splitString, (int) flags); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsEncoding.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsEncoding.java b/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsEncoding.java index cf92612..82a6143 100644 --- a/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsEncoding.java +++ b/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsEncoding.java @@ -28,7 +28,7 @@ import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.TemplateScalarModel; import org.apache.freemarker.core.model.impl.SimpleScalar; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._StringUtil; class BuiltInsForStringsEncoding { @@ -37,7 +37,7 @@ class BuiltInsForStringsEncoding { static class BIBeforeICI2d3d20 extends BuiltInForLegacyEscaping { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(StringUtil.HTMLEnc(s)); + return new SimpleScalar(_StringUtil.XMLEncNA(s)); } } @@ -45,13 +45,15 @@ class BuiltInsForStringsEncoding { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(StringUtil.XHTMLEnc(s)); + return new SimpleScalar(_StringUtil.XHTMLEnc(s)); } + @Override public int getMinimumICIVersion() { return _TemplateAPI.VERSION_INT_2_3_20; } + @Override public Object getPreviousICIChainMember() { return prevICIObj; } @@ -61,28 +63,28 @@ class BuiltInsForStringsEncoding { static class j_stringBI extends BuiltInForString { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(StringUtil.javaStringEnc(s)); + return new SimpleScalar(_StringUtil.javaStringEnc(s)); } } static class js_stringBI extends BuiltInForString { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(StringUtil.javaScriptStringEnc(s)); + return new SimpleScalar(_StringUtil.javaScriptStringEnc(s)); } } static class json_stringBI extends BuiltInForString { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(StringUtil.jsonStringEnc(s)); + return new SimpleScalar(_StringUtil.jsonStringEnc(s)); } } static class rtfBI extends BuiltInForLegacyEscaping { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(StringUtil.RTFEnc(s)); + return new SimpleScalar(_StringUtil.RTFEnc(s)); } } @@ -96,7 +98,7 @@ class BuiltInsForStringsEncoding { @Override protected String encodeWithCharset(String cs) throws UnsupportedEncodingException { - return StringUtil.URLEnc(targetAsString, cs); + return _StringUtil.URLEnc(targetAsString, cs); } } @@ -118,7 +120,7 @@ class BuiltInsForStringsEncoding { @Override protected String encodeWithCharset(String cs) throws UnsupportedEncodingException { - return StringUtil.URLPathEnc(targetAsString, cs); + return _StringUtil.URLPathEnc(targetAsString, cs); } } @@ -133,14 +135,14 @@ class BuiltInsForStringsEncoding { static class xhtmlBI extends BuiltInForLegacyEscaping { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(StringUtil.XHTMLEnc(s)); + return new SimpleScalar(_StringUtil.XHTMLEnc(s)); } } static class xmlBI extends BuiltInForLegacyEscaping { @Override TemplateModel calculateResult(String s, Environment env) { - return new SimpleScalar(StringUtil.XMLEnc(s)); + return new SimpleScalar(_StringUtil.XMLEnc(s)); } } @@ -163,6 +165,7 @@ class BuiltInsForStringsEncoding { protected abstract String encodeWithCharset(String cs) throws UnsupportedEncodingException; + @Override public Object exec(List args) throws TemplateModelException { parent.checkMethodArgCount(args.size(), 1); try { @@ -172,6 +175,7 @@ class BuiltInsForStringsEncoding { } } + @Override public String getAsString() throws TemplateModelException { if (cachedResult == null) { String cs = env.getEffectiveURLEscapingCharset(); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsRegexp.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsRegexp.java b/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsRegexp.java index e0388a6..d85950a 100644 --- a/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsRegexp.java +++ b/src/main/java/org/apache/freemarker/core/ast/BuiltInsForStringsRegexp.java @@ -35,7 +35,7 @@ import org.apache.freemarker.core.model.TemplateScalarModel; import org.apache.freemarker.core.model.TemplateSequenceModel; import org.apache.freemarker.core.model.impl.SimpleScalar; import org.apache.freemarker.core.model.impl.SimpleSequence; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._StringUtil; /** @@ -109,7 +109,7 @@ class BuiltInsForStringsRegexp { String result; if ((flags & RegexpHelper.RE_FLAG_REGEXP) == 0) { RegexpHelper.checkNonRegexpFlags("replace", flags); - result = StringUtil.replace(s, arg1, arg2, + result = _StringUtil.replace(s, arg1, arg2, (flags & RegexpHelper.RE_FLAG_CASE_INSENSITIVE) != 0, (flags & RegexpHelper.RE_FLAG_FIRST_ONLY) != 0); } else { http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/BuiltinVariable.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/BuiltinVariable.java b/src/main/java/org/apache/freemarker/core/ast/BuiltinVariable.java index a617e12..8925001 100644 --- a/src/main/java/org/apache/freemarker/core/ast/BuiltinVariable.java +++ b/src/main/java/org/apache/freemarker/core/ast/BuiltinVariable.java @@ -33,7 +33,7 @@ import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.impl.SimpleDate; import org.apache.freemarker.core.model.impl.SimpleScalar; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._StringUtil; /** * A reference to a built-in identifier, such as .root @@ -122,7 +122,7 @@ final class BuiltinVariable extends Expression { if (Arrays.binarySearch(SPEC_VAR_NAMES, name) < 0) { StringBuilder sb = new StringBuilder(); sb.append("Unknown special variable name: "); - sb.append(StringUtil.jQuote(name)).append("."); + sb.append(_StringUtil.jQuote(name)).append("."); int shownNamingConvention; { @@ -142,7 +142,7 @@ final class BuiltinVariable extends Expression { } if (correctName != null) { sb.append(" You may meant: "); - sb.append(StringUtil.jQuote(correctName)).append("."); + sb.append(_StringUtil.jQuote(correctName)).append("."); } } @@ -150,7 +150,7 @@ final class BuiltinVariable extends Expression { boolean first = true; for (int i = 0; i < SPEC_VAR_NAMES.length; i++) { final String correctName = SPEC_VAR_NAMES[i]; - int correctNameNamingConvetion = _CoreStringUtils.getIdentifierNamingConvention(correctName); + int correctNameNamingConvetion = _StringUtil.getIdentifierNamingConvention(correctName); if (shownNamingConvention == Configuration.CAMEL_CASE_NAMING_CONVENTION ? correctNameNamingConvetion != Configuration.LEGACY_NAMING_CONVENTION : correctNameNamingConvetion != Configuration.CAMEL_CASE_NAMING_CONVENTION) { http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/Comment.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/Comment.java b/src/main/java/org/apache/freemarker/core/ast/Comment.java index ffc18fd..95d56d4 100644 --- a/src/main/java/org/apache/freemarker/core/ast/Comment.java +++ b/src/main/java/org/apache/freemarker/core/ast/Comment.java @@ -19,7 +19,7 @@ package org.apache.freemarker.core.ast; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._StringUtil; /** * <b>Internal API - subject to change:</b> A template element where the content is ignored, a Comment. @@ -47,7 +47,7 @@ public final class Comment extends TemplateElement { if (canonical) { return "<#--" + text + "-->"; } else { - return "comment " + StringUtil.jQuote(text.trim()); + return "comment " + _StringUtil.jQuote(text.trim()); } } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/Configurable.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/Configurable.java b/src/main/java/org/apache/freemarker/core/ast/Configurable.java index 1f74f5b..f31321a 100644 --- a/src/main/java/org/apache/freemarker/core/ast/Configurable.java +++ b/src/main/java/org/apache/freemarker/core/ast/Configurable.java @@ -65,8 +65,9 @@ import org.apache.freemarker.core.templateresolver.PathRegexMatcher; import org.apache.freemarker.core.templateresolver.TemplateLoader; import org.apache.freemarker.core.templateresolver.impl.DefaultTemplateNameFormat; import org.apache.freemarker.core.templateresolver.impl.DefaultTemplateNameFormatFM2; -import org.apache.freemarker.core.util.NullArgumentException; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._NullArgumentException; +import org.apache.freemarker.core.util._SortedArraySet; +import org.apache.freemarker.core.util._StringUtil; /** * This is a common superclass of {@link org.apache.freemarker.core.Configuration}, @@ -514,7 +515,7 @@ public class Configurable { * @see Configuration#getTemplate(String, Locale) */ public void setLocale(Locale locale) { - NullArgumentException.check("locale", locale); + _NullArgumentException.check("locale", locale); this.locale = locale; properties.setProperty(LOCALE_KEY, locale.toString()); } @@ -548,7 +549,7 @@ public class Configurable { * @see #setSQLDateAndTimeTimeZone(TimeZone) */ public void setTimeZone(TimeZone timeZone) { - NullArgumentException.check("timeZone", timeZone); + _NullArgumentException.check("timeZone", timeZone); this.timeZone = timeZone; properties.setProperty(TIME_ZONE_KEY, timeZone.getID()); } @@ -686,7 +687,7 @@ public class Configurable { * <p>Defaults to <tt>"number"</tt>. */ public void setNumberFormat(String numberFormat) { - NullArgumentException.check("numberFormat", numberFormat); + _NullArgumentException.check("numberFormat", numberFormat); this.numberFormat = numberFormat; properties.setProperty(NUMBER_FORMAT_KEY, numberFormat); } @@ -753,7 +754,7 @@ public class Configurable { * @since 2.3.24 */ public void setCustomNumberFormats(Map<String, ? extends TemplateNumberFormatFactory> customNumberFormats) { - NullArgumentException.check("customNumberFormats", customNumberFormats); + _NullArgumentException.check("customNumberFormats", customNumberFormats); validateFormatNames(customNumberFormats.keySet()); this.customNumberFormats = customNumberFormats; } @@ -830,7 +831,7 @@ public class Configurable { * only influenced the result of {@code myBool?string}. */ public void setBooleanFormat(String booleanFormat) { - NullArgumentException.check("booleanFormat", booleanFormat); + _NullArgumentException.check("booleanFormat", booleanFormat); int commaIdx = booleanFormat.indexOf(','); if (commaIdx == -1) { @@ -947,7 +948,7 @@ public class Configurable { * <p>Defaults to {@code ""}, which means "use the FreeMarker default", which is currently {@code "medium"}. */ public void setTimeFormat(String timeFormat) { - NullArgumentException.check("timeFormat", timeFormat); + _NullArgumentException.check("timeFormat", timeFormat); this.timeFormat = timeFormat; properties.setProperty(TIME_FORMAT_KEY, timeFormat); } @@ -977,7 +978,7 @@ public class Configurable { * <p>Defaults to {@code ""}, which means "use the FreeMarker default", which is currently {@code "medium"}. */ public void setDateFormat(String dateFormat) { - NullArgumentException.check("dateFormat", dateFormat); + _NullArgumentException.check("dateFormat", dateFormat); this.dateFormat = dateFormat; properties.setProperty(DATE_FORMAT_KEY, dateFormat); } @@ -1085,7 +1086,7 @@ public class Configurable { * <p>Defaults to {@code ""}, which means "use the FreeMarker default", which is currently {@code "medium_medium"}. */ public void setDateTimeFormat(String dateTimeFormat) { - NullArgumentException.check("dateTimeFormat", dateTimeFormat); + _NullArgumentException.check("dateTimeFormat", dateTimeFormat); this.dateTimeFormat = dateTimeFormat; properties.setProperty(DATETIME_FORMAT_KEY, dateTimeFormat); } @@ -1153,7 +1154,7 @@ public class Configurable { * @since 2.3.24 */ public void setCustomDateFormats(Map<String, ? extends TemplateDateFormatFactory> customDateFormats) { - NullArgumentException.check("customDateFormats", customDateFormats); + _NullArgumentException.check("customDateFormats", customDateFormats); validateFormatNames(customDateFormats.keySet()); this.customDateFormats = customDateFormats; } @@ -1204,7 +1205,7 @@ public class Configurable { * output, or if you want to suppress certain exceptions. */ public void setTemplateExceptionHandler(TemplateExceptionHandler templateExceptionHandler) { - NullArgumentException.check("templateExceptionHandler", templateExceptionHandler); + _NullArgumentException.check("templateExceptionHandler", templateExceptionHandler); this.templateExceptionHandler = templateExceptionHandler; properties.setProperty(TEMPLATE_EXCEPTION_HANDLER_KEY, templateExceptionHandler.getClass().getName()); } @@ -1231,7 +1232,7 @@ public class Configurable { * The default is {@link ArithmeticEngine#BIGDECIMAL_ENGINE}. */ public void setArithmeticEngine(ArithmeticEngine arithmeticEngine) { - NullArgumentException.check("arithmeticEngine", arithmeticEngine); + _NullArgumentException.check("arithmeticEngine", arithmeticEngine); this.arithmeticEngine = arithmeticEngine; properties.setProperty(ARITHMETIC_ENGINE_KEY, arithmeticEngine.getClass().getName()); } @@ -1258,7 +1259,7 @@ public class Configurable { * The default is {@link DefaultObjectWrapperBuilder#build()}. */ public void setObjectWrapper(ObjectWrapper objectWrapper) { - NullArgumentException.check("objectWrapper", objectWrapper); + _NullArgumentException.check("objectWrapper", objectWrapper); this.objectWrapper = objectWrapper; properties.setProperty(OBJECT_WRAPPER_KEY, objectWrapper.getClass().getName()); } @@ -1359,7 +1360,7 @@ public class Configurable { * @since 2.3.17 */ public void setNewBuiltinClassResolver(TemplateClassResolver newBuiltinClassResolver) { - NullArgumentException.check("newBuiltinClassResolver", newBuiltinClassResolver); + _NullArgumentException.check("newBuiltinClassResolver", newBuiltinClassResolver); this.newBuiltinClassResolver = newBuiltinClassResolver; properties.setProperty(NEW_BUILTIN_CLASS_RESOLVER_KEY, newBuiltinClassResolver.getClass().getName()); @@ -1669,7 +1670,7 @@ public class Configurable { * Maps the namespace variable names to the template names; not {@code null} */ public void setAutoImports(Map map) { - NullArgumentException.check("map", map); + _NullArgumentException.check("map", map); // "synchronized" is removed from the API as it's not safe to set anything after publishing the Configuration synchronized (this) { @@ -1794,7 +1795,7 @@ public class Configurable { * out duplicates from the list if this method was called on a {@link Configuration} instance. */ public void setAutoIncludes(List templateNames) { - NullArgumentException.check("templateNames", templateNames); + _NullArgumentException.check("templateNames", templateNames); // "synchronized" is removed from the API as it's not safe to set anything after publishing the Configuration synchronized (this) { if (autoIncludes != null) { @@ -2262,7 +2263,7 @@ public class Configurable { boolean unknown = false; try { if (LOCALE_KEY.equals(name)) { - setLocale(StringUtil.deduceLocale(value)); + setLocale(_StringUtil.deduceLocale(value)); } else if (NUMBER_FORMAT_KEY_SNAKE_CASE.equals(name) || NUMBER_FORMAT_KEY_CAMEL_CASE.equals(name)) { setNumberFormat(value); } else if (CUSTOM_NUMBER_FORMATS_KEY_SNAKE_CASE.equals(name) @@ -2353,14 +2354,14 @@ public class Configurable { setURLEscapingCharset(value); } else if (STRICT_BEAN_MODELS_KEY_SNAKE_CASE.equals(name) || STRICT_BEAN_MODELS_KEY_CAMEL_CASE.equals(name)) { - setStrictBeanModels(StringUtil.getYesNo(value)); + setStrictBeanModels(_StringUtil.getYesNo(value)); } else if (AUTO_FLUSH_KEY_SNAKE_CASE.equals(name) || AUTO_FLUSH_KEY_CAMEL_CASE.equals(name)) { - setAutoFlush(StringUtil.getYesNo(value)); + setAutoFlush(_StringUtil.getYesNo(value)); } else if (SHOW_ERROR_TIPS_KEY_SNAKE_CASE.equals(name) || SHOW_ERROR_TIPS_KEY_CAMEL_CASE.equals(name)) { - setShowErrorTips(StringUtil.getYesNo(value)); + setShowErrorTips(_StringUtil.getYesNo(value)); } else if (API_BUILTIN_ENABLED_KEY_SNAKE_CASE.equals(name) || API_BUILTIN_ENABLED_KEY_CAMEL_CASE.equals(name)) { - setAPIBuiltinEnabled(StringUtil.getYesNo(value)); + setAPIBuiltinEnabled(_StringUtil.getYesNo(value)); } else if (NEW_BUILTIN_CLASS_RESOLVER_KEY_SNAKE_CASE.equals(name) || NEW_BUILTIN_CLASS_RESOLVER_KEY_CAMEL_CASE.equals(name)) { if ("unrestricted".equals(value)) { @@ -2381,7 +2382,7 @@ public class Configurable { trustedTemplates = segmentValue; } else { throw new ParseException( - "Unrecognized list segment key: " + StringUtil.jQuote(segmentKey) + + "Unrecognized list segment key: " + _StringUtil.jQuote(segmentKey) + ". Supported keys are: \"" + ALLOWED_CLASSES + "\", \"" + TRUSTED_TEMPLATES + "\"", 0, 0); } @@ -2397,11 +2398,11 @@ public class Configurable { } } else if (LOG_TEMPLATE_EXCEPTIONS_KEY_SNAKE_CASE.equals(name) || LOG_TEMPLATE_EXCEPTIONS_KEY_CAMEL_CASE.equals(name)) { - setLogTemplateExceptions(StringUtil.getYesNo(value)); + setLogTemplateExceptions(_StringUtil.getYesNo(value)); } else if (LAZY_AUTO_IMPORTS_KEY_SNAKE_CASE.equals(name) || LAZY_AUTO_IMPORTS_KEY_CAMEL_CASE.equals(name)) { - setLazyAutoImports(value.equals(NULL) ? null : Boolean.valueOf(StringUtil.getYesNo(value))); + setLazyAutoImports(value.equals(NULL) ? null : Boolean.valueOf(_StringUtil.getYesNo(value))); } else if (LAZY_IMPORTS_KEY_SNAKE_CASE.equals(name) || LAZY_IMPORTS_KEY_CAMEL_CASE.equals(name)) { - setLazyImports(StringUtil.getYesNo(value)); + setLazyImports(_StringUtil.getYesNo(value)); } else if (AUTO_INCLUDE_KEY_SNAKE_CASE.equals(name) || AUTO_INCLUDE_KEY_CAMEL_CASE.equals(name)) { setAutoIncludes(parseAsList(value)); @@ -2852,7 +2853,7 @@ public class Configurable { "Unexpected end of text: expected \"as\"", 0, 0); String s = fetchKeyword(); if (!s.equalsIgnoreCase("as")) throw new ParseException( - "Expected \"as\", but found " + StringUtil.jQuote(s), 0, 0); + "Expected \"as\", but found " + _StringUtil.jQuote(s), 0, 0); c = skipWS(); if (c == ' ') throw new ParseException( @@ -2876,7 +2877,7 @@ public class Configurable { if (w.startsWith("'") || w.startsWith("\"")) { w = w.substring(1, w.length() - 1); } - return StringUtil.FTLStringLiteralDec(w); + return _StringUtil.FTLStringLiteralDec(w); } String fetchKeyword() throws ParseException { http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/DollarVariable.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/DollarVariable.java b/src/main/java/org/apache/freemarker/core/ast/DollarVariable.java index 8543a5d..ce233b0 100644 --- a/src/main/java/org/apache/freemarker/core/ast/DollarVariable.java +++ b/src/main/java/org/apache/freemarker/core/ast/DollarVariable.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.io.Writer; import org.apache.freemarker.core.TemplateException; -import org.apache.freemarker.core.util.StringUtil; +import org.apache.freemarker.core.util._StringUtil; /** * An instruction that outputs the value of an <tt>Expression</tt>. @@ -101,7 +101,7 @@ final class DollarVariable extends Interpolation { StringBuilder sb = new StringBuilder(); sb.append("${"); final String exprCF = expression.getCanonicalForm(); - sb.append(inStringLiteral ? StringUtil.FTLStringLiteralEnc(exprCF, '"') : exprCF); + sb.append(inStringLiteral ? _StringUtil.FTLStringLiteralEnc(exprCF, '"') : exprCF); sb.append("}"); if (!canonical && expression != escapedExpression) { sb.append(" auto-escaped"); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/Dot.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/Dot.java b/src/main/java/org/apache/freemarker/core/ast/Dot.java index 3ed35b3..8bfc4e9 100644 --- a/src/main/java/org/apache/freemarker/core/ast/Dot.java +++ b/src/main/java/org/apache/freemarker/core/ast/Dot.java @@ -22,6 +22,7 @@ package org.apache.freemarker.core.ast; import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateHashModel; import org.apache.freemarker.core.model.TemplateModel; +import org.apache.freemarker.core.util._StringUtil; /** * The dot operator. Used to reference items inside a @@ -47,7 +48,7 @@ final class Dot extends Expression { @Override public String getCanonicalForm() { - return target.getCanonicalForm() + getNodeTypeSymbol() + _CoreStringUtils.toFTLIdentifierReferenceAfterDot(key); + return target.getCanonicalForm() + getNodeTypeSymbol() + _StringUtil.toFTLIdentifierReferenceAfterDot(key); } @Override http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/a5d9575f/src/main/java/org/apache/freemarker/core/ast/DynamicKeyName.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/freemarker/core/ast/DynamicKeyName.java b/src/main/java/org/apache/freemarker/core/ast/DynamicKeyName.java index 6b24a90..af2dc3e 100644 --- a/src/main/java/org/apache/freemarker/core/ast/DynamicKeyName.java +++ b/src/main/java/org/apache/freemarker/core/ast/DynamicKeyName.java @@ -31,7 +31,7 @@ import org.apache.freemarker.core.model.TemplateScalarModel; import org.apache.freemarker.core.model.TemplateSequenceModel; import org.apache.freemarker.core.model.impl.SimpleScalar; import org.apache.freemarker.core.model.impl.SimpleSequence; -import org.apache.freemarker.core.util.Constants; +import org.apache.freemarker.core.model.Constants; /** * {@code target[keyExpression]}, where, in FM 2.3, {@code keyExpression} can be string, a number or a range,
