Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/AbstractDataModelVariableFactory.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/AbstractDataModelVariableFactory.java255
1 files changed, 0 insertions, 255 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/AbstractDataModelVariableFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/AbstractDataModelVariableFactory.java
deleted file mode 100644
index af693a58f..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/symbols/AbstractDataModelVariableFactory.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * 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:
- * Cameron Bateman/Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.jsf.designtime.symbols;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
-import org.eclipse.jst.jsf.common.internal.types.ValueType;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.symbol.ERuntimeSource;
-import org.eclipse.jst.jsf.context.symbol.ISymbol;
-import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.jsf.validation.internal.appconfig.AppConfigValidationUtil;
-import org.w3c.dom.Element;
-
-/**
- * A framework provided variable factory for EL model objects that are
- * constructed based on DataModel's dervied from an EL expression.
- *
- * @author cbateman
- *
- */
-public abstract class AbstractDataModelVariableFactory
-{
- private final JSFSymbolFactory _symbolFactory = new JSFSymbolFactory();
-
- /**
- * @param elText
- * The EL expression text. Must not be null
- * @param elContext
- * The document context pointing to elText in the source
- * document. Must not be null
- * @param file
- * The workspace resource that contains elText. Must not be null.
- * @return the value expression resolved from elText or null if it cannot be
- * resolved or elText doesn't resolve to value expression (i.e. is a
- * method expression)
- * @deprecated use JSFSymbolFactory.getValueTypeFromEL instead.
- */
- public final ValueType createValueExpression(final String elText,
- final IStructuredDocumentContext elContext, final IFile file)
- {
- return getSymbolFactory().getValueTypeFromEL(elText, elContext, file);
- }
-
- /**
- * @return the symbol factory used by this variable factory
- */
- public final JSFSymbolFactory getSymbolFactory()
- {
- return _symbolFactory;
- }
-
- /**
- * @param symbolName
- * The name of the symbol to be created. Must not be null
- * @param signature
- * The type signature of the array type. Must not be null
- * @param javaProject
- * must not be null
- * @return a symbol based approximating an implicit DataModel wrapper for an
- * array
- * @deprecated use JSFSymbolFactory.createArraySymbol instead
- */
- protected final ISymbol createArraySymbol(final String symbolName,
- final String signature, final IJavaProject javaProject)
- {
- return getSymbolFactory().createArraySymbol(symbolName, signature,
- ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, javaProject);
- }
-
- /**
- * Implements default rules for taking an non-array value expression and
- * resolving it to a ISymbol modelling a JSF DataModel
- *
- * @param symbolName
- * @param valueType
- * @param javaProject
- * @return a symbol where valueType is considered to be the base type upon
- * which a data model would be created. This combines the
- * possibility that the value expression is either an explicit
- * DataModel implementation or a non-DataModel type for which JSF be
- * default provides an implicit wrapper model.
- *
- * List is treated as a special case here, since their are two subcases: 1)
- * the list is a raw type, in which case it must be treated as implicit and
- * opaque (as to the type of the variable created) 2) the list has Java 5
- * type argument information that can be used to infer the type of the row
- * variable
- */
- public ISymbol createFromType(String symbolName, ValueType valueType,
- IJavaProject javaProject)
- {
- return internalCreateFromBaseType(symbolName, valueType, javaProject);
- }
-
- private ISymbol internalCreateFromBaseType(String symbolName,
- ValueType valueType, IJavaProject javaProject)
- {
- // based on JSF 1.1 spec section 4.2.1.4 the data model
- // value binding can be one of a number of object that will
- // get an implicit DataModel wrapper at runtime
-
- // could be an array
- if (Signature.getArrayCount(valueType.getSignature()) > 0)
- {
- return getSymbolFactory()
- .createArraySymbol(symbolName, valueType.getSignature(),
- ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL,
- javaProject);
- }
-
- // if is a list, then we have extra work to do if it
- // is generic and has info about its contents
- if (valueType.isInstanceOf(TypeConstants.TYPE_LIST))
- {
- return getSymbolFactory().createFromList(symbolName, valueType, ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, null, javaProject);
- }
- // if is JSTL ResultSet, java ResultSet or DataModel
- // return the default symbol -- in the absence of definite
- // template info, these row containers are opaque to us
- else if (valueType
- .isInstanceOf(TypeConstants.TYPE_JAVAX_SERVLET_JSP_JSTL_SQL_RESULT)
- || valueType.isInstanceOf(TypeConstants.TYPE_RESULT_SET)
- || valueType.isInstanceOf(TypeConstants.TYPE_DATA_MODEL))
- {
- return getSymbolFactory().createDefaultSymbol(symbolName, ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, Messages
- .getString("AbstractDataModelVariableFactory.DataModel.Symbol.RowVariable.DetailedDescription")); //$NON-NLS-1$
- }
-
- // in other cases, we assume that the value is an explicit single row
- // scalar object
- return getSymbolFactory().createScalarSymbol(symbolName, valueType.getSignature(),
- ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, javaProject);
- }
-
- /**
- * @param symbolName
- * The name of the symbol to create. Must not be null.
- * @param valueType
- * The value expression representing the implicit list. The
- * signature on the valueType must be a list. Must not be null.
- * @param javaProject
- * The JavaProject whose classpath will be used to resolve types.
- * Must not be null.
- *
- * @return a symbol that approximates as best as possible an implicit
- * DataModel for java.util.List value expressions. If the List has
- * resolvable Java 5 type arguments, then a scalar symbol will be
- * created using this type information. If it is a raw type, then
- * createDefaultSymbol() is called
- * @deprecated use JSFSymbolFactory.createFromList
- */
- protected final ISymbol createFromList(String symbolName,
- ValueType valueType, IJavaProject javaProject)
- {
- return getSymbolFactory().createFromList(symbolName, valueType,
- ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, null,
- javaProject);
- }
-
- /**
- * @param symbolName
- * The name of the symbol to create. Must not be null.
- * @param signature
- * The fully resolved type signature of the scalar. Must not be
- * null.
- * @param javaProject
- * The JavaProject whose classpath is to be used to resolve type
- * information for signture. Must not be null.
- * @return a symbol approximating a scalar object DataModel wrapper. The row
- * variable for the data model becomes of type signature
- * @deprecated use JSFSymbolFactory.createScalarSymbol instead.
- */
- protected final ISymbol createScalarSymbol(final String symbolName,
- final String signature, final IJavaProject javaProject)
- {
- return getSymbolFactory().createScalarSymbol(symbolName, signature,
- ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL, javaProject);
- }
-
- /**
- * @param symbolName
- * The name of the symbol to create. Must not be null
- * @return a default symbol that eliminates bogus warnings for this
- * dataTable's row variable in cases where something better is
- * resolvable. Note that this is not ideal, since will result in any
- * property being accepted on the variable with this name.
- * @deprecated use JSFSymbolFactory.createDefaultSymbol instead.
- */
- public final ISymbol createDefaultSymbol(final String symbolName)
- {
- return getSymbolFactory()
- .createDefaultSymbol(
- symbolName,
- ERuntimeSource.TAG_INSTANTIATED_SYMBOL_LITERAL,
- Messages
- .getString("AbstractDataModelVariableFactory.DataModel.Symbol.RowVariable.DetailedDescription")); //$NON-NLS-1$
- }
-
- /**
- * @param dataTableElement
- * the DOM element that has a "value" attribute. Must not be
- * null.
- * @return the el text from the 'value attribute of a dataTable element or
- * null if not found
- */
- protected static String getELText(final Element dataTableElement)
- {
- assert dataTableElement != null;
- String attrVal = dataTableElement
- .getAttribute(IJSFConstants.ATTR_VALUE);
-
- if (attrVal != null)
- {
- return AppConfigValidationUtil.extractELExpression(attrVal)
- .getElText();
- }
- return null;
- }
-
- /**
- * @return the variable source name. Protects against null in the abstract
- * method
- */
- protected final String internalGetVariableSourceName()
- {
- String variableSourceName = getVariableSourceName();
-
- if (variableSourceName == null)
- {
- JSFCorePlugin.log("Missing variableSourceName", new Throwable()); //$NON-NLS-1$
- return "**missing variable source name**"; //$NON-NLS-1$
- }
-
- return variableSourceName;
- }
-
- /**
- * @return a user displayable name for the source of variables created by
- * this factory Must not return null.
- */
- protected abstract String getVariableSourceName();
-}

Back to the top