diff options
author | kmoore | 2011-01-31 21:48:09 +0000 |
---|---|---|
committer | kmoore | 2011-01-31 21:48:09 +0000 |
commit | d573fb171a36de122ae964b913a1a8b6e1c95e7e (patch) | |
tree | 33bf57a8bd9f893f51498b332504d19e67e31ee1 /common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/StringExpressionConverter.java | |
parent | 750f1789146ac827adb3667026b96a794fdcb875 (diff) | |
download | webtools.dali-d573fb171a36de122ae964b913a1a8b6e1c95e7e.tar.gz webtools.dali-d573fb171a36de122ae964b913a1a8b6e1c95e7e.tar.xz webtools.dali-d573fb171a36de122ae964b913a1a8b6e1c95e7e.zip |
Phase 1 - refactoring to org.eclipse.jpt.common.*
Diffstat (limited to 'common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/StringExpressionConverter.java')
-rw-r--r-- | common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/StringExpressionConverter.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/StringExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/StringExpressionConverter.java new file mode 100644 index 0000000000..f0e88b5331 --- /dev/null +++ b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/StringExpressionConverter.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2006, 2008 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.common.core.internal.utility.jdt; + +import org.eclipse.jdt.core.dom.AST; +import org.eclipse.jdt.core.dom.Expression; +import org.eclipse.jdt.core.dom.StringLiteral; +import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter; + +/** + * Convert a string literal to/from a string (e.g. "text"). + */ +public final class StringExpressionConverter + extends AbstractExpressionConverter<String> +{ + private static final ExpressionConverter<String> INSTANCE = new StringExpressionConverter(); + + /** + * Return the singleton. + */ + public static ExpressionConverter<String> instance() { + return INSTANCE; + } + + /** + * Ensure single instance. + */ + private StringExpressionConverter() { + super(); + } + + @Override + protected StringLiteral convertObject(String string, AST ast) { + StringLiteral stringLiteral = ast.newStringLiteral(); + stringLiteral.setLiteralValue(string); + return stringLiteral; + } + + @Override + protected String convertExpression(Expression expression) { + Object value = expression.resolveConstantExpressionValue(); + return (value instanceof String) ? (String) value : null; + } + +} |