diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/StringEvaluator.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/StringEvaluator.java | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/StringEvaluator.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/StringEvaluator.java deleted file mode 100644 index c1c8073c0..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/StringEvaluator.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.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.eclipse.org/org/documents/epl-v10.php - * - * 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 com.android.ide.eclipse.adt.internal.wizards.templates; - -import static com.android.tools.lint.detector.api.LintUtils.assertionsEnabled; - -import com.android.annotations.NonNull; -import com.android.annotations.Nullable; -import com.android.ide.eclipse.adt.AdtPlugin; - -import freemarker.cache.TemplateLoader; -import freemarker.template.Configuration; -import freemarker.template.DefaultObjectWrapper; -import freemarker.template.Template; - -import java.io.IOException; -import java.io.Reader; -import java.io.StringReader; -import java.io.StringWriter; -import java.util.List; -import java.util.Map; - -/** - * A template handler which can evaluate simple strings. Used to evaluate - * parameter constraints during UI wizard value editing. - * <p> - * Unlike the more general {@link TemplateHandler} which is used to instantiate - * full template files (from resources, merging into existing files etc) this - * evaluator supports only simple strings, referencing only values from the - * provided map (and builtin functions). - */ -class StringEvaluator implements TemplateLoader { - private Map<String, Object> mParameters; - private Configuration mFreemarker; - private String mCurrentExpression; - - StringEvaluator() { - mParameters = TemplateHandler.createBuiltinMap(); - - mFreemarker = new Configuration(); - mFreemarker.setObjectWrapper(new DefaultObjectWrapper()); - mFreemarker.setTemplateLoader(this); - } - - /** Evaluates the given expression, with the given set of parameters */ - @Nullable - String evaluate(@NonNull String expression, @NonNull List<Parameter> parameters) { - // Render the instruction list template. - for (Parameter parameter : parameters) { - mParameters.put(parameter.id, parameter.value); - } - try { - mCurrentExpression = expression; - Template inputsTemplate = mFreemarker.getTemplate(expression); - StringWriter out = new StringWriter(); - inputsTemplate.process(mParameters, out); - out.flush(); - return out.toString(); - } catch (Exception e) { - if (assertionsEnabled()) { - AdtPlugin.log(e, null); - } - return null; - } - } - - // ---- Implements TemplateLoader ---- - - @Override - public Object findTemplateSource(String name) throws IOException { - return mCurrentExpression; - } - - @Override - public long getLastModified(Object templateSource) { - return 0; - } - - @Override - public Reader getReader(Object templateSource, String encoding) throws IOException { - return new StringReader(mCurrentExpression); - } - - @Override - public void closeTemplateSource(Object templateSource) throws IOException { - } -} |