+++ /dev/null
-/*******************************************************************************
- * Copyright (c) 2000, orporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Sebastian Davids: sdavids@gmx.de - see bug 25376
- *******************************************************************************/
-package net.sourceforge.phpdt.internal.corext.template.php;
-
-import net.sourceforge.phpdt.core.ICompilationUnit;
-import net.sourceforge.phpdt.core.IJavaProject;
-import net.sourceforge.phpdt.internal.corext.codemanipulation.StubUtility;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.templates.GlobalTemplateVariables;
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateVariableResolver;
-
-/**
- * A context type for java code.
- */
-public class JavaContextType extends CompilationUnitContextType {
-
- public static final String NAME = "php"; //$NON-NLS-1$
-
- // protected static class Array extends TemplateVariableResolver {
- // public Array() {
- // super("array",
- // TemplateMessages.getString("JavaContextType.variable.description.array"));
- // //$NON-NLS-1$ //$NON-NLS-2$
- // }
- // protected String[] resolveAll(TemplateContext context) {
- // return ((JavaContext) context).guessArrays();
- // }
- // /*
- // * @see
- // org.eclipse.jface.text.templates.TemplateVariableResolver#resolve(org.eclipse.jface.text.templates.TemplateVariable,
- // org.eclipse.jface.text.templates.TemplateContext)
- // */
- // public void resolve(TemplateVariable variable, TemplateContext context) {
- // if (variable instanceof MultiVariable) {
- // JavaContext jc= (JavaContext) context;
- // MultiVariable mv= (MultiVariable) variable;
- // String[] bindings= resolveAll(context);
- // if (bindings.length > 0) {
- // mv.setValues(bindings);
- // MultiVariableGuess guess= jc.getMultiVariableGuess();
- // if (guess == null) {
- // guess= new MultiVariableGuess(mv);
- // jc.setMultiVariableGuess(guess);
- // }
- // }
- // if (bindings.length > 1)
- // variable.setUnambiguous(false);
- // else
- // variable.setUnambiguous(isUnambiguous(context));
- // } else
- // super.resolve(variable, context);
- // }
- // }
- //
- // protected static class ArrayType extends TemplateVariableResolver {
- // public ArrayType() {
- // super("array_type",
- // TemplateMessages.getString("JavaContextType.variable.description.array.type"));
- // //$NON-NLS-1$ //$NON-NLS-2$
- // }
- // protected String[] resolveAll(TemplateContext context) {
- //
- // String[] arrayTypes= ((JavaContext) context).guessArrayTypes();
- // if (arrayTypes != null)
- // return arrayTypes;
- // else
- // return super.resolveAll(context);
- // }
- //
- // /*
- // * @see
- // org.eclipse.jface.text.templates.TemplateVariableResolver#resolve(org.eclipse.jface.text.templates.TemplateVariable,
- // org.eclipse.jface.text.templates.TemplateContext)
- // */
- // public void resolve(TemplateVariable variable, TemplateContext context) {
- // if (variable instanceof MultiVariable) {
- // MultiVariable mv= (MultiVariable) variable;
- // String[] arrays= ((JavaContext) context).guessArrays();
- // String[][] types= ((JavaContext) context).guessGroupedArrayTypes();
- //
- // for (int i= 0; i < arrays.length; i++) {
- // mv.setValues(arrays[i], types[i]);
- // }
- //
- // if (arrays.length > 1 || types.length == 1 && types[0].length > 1)
- // variable.setUnambiguous(false);
- // else
- // variable.setUnambiguous(isUnambiguous(context));
- //
- // } else
- // super.resolve(variable, context);
- // }
- // }
- //
- // protected static class ArrayElement extends TemplateVariableResolver {
- // public ArrayElement() {
- // super("array_element",
- // TemplateMessages.getString("JavaContextType.variable.description.array.element"));
- // //$NON-NLS-1$ //$NON-NLS-2$
- // }
- // protected String[] resolveAll(TemplateContext context) {
- // return ((JavaContext) context).guessArrayElements();
- // }
- //
- // /*
- // * @see
- // org.eclipse.jface.text.templates.TemplateVariableResolver#resolve(org.eclipse.jface.text.templates.TemplateVariable,
- // org.eclipse.jface.text.templates.TemplateContext)
- // */
- // public void resolve(TemplateVariable variable, TemplateContext context) {
- // if (variable instanceof MultiVariable) {
- // MultiVariable mv= (MultiVariable) variable;
- // String[] arrays= ((JavaContext) context).guessArrays();
- // String[][] elems= ((JavaContext) context).guessGroupedArrayElements();
- //
- // for (int i= 0; i < arrays.length; i++) {
- // mv.setValues(arrays[i], elems[i]);
- // }
- //
- // if (arrays.length > 1 || elems.length == 1 && elems[0].length > 1)
- // variable.setUnambiguous(false);
- // else
- // variable.setUnambiguous(isUnambiguous(context));
- //
- // } else
- // super.resolve(variable, context);
- // }
- // }
- //
- // protected static class Index extends TemplateVariableResolver {
- // public Index() {
- // super("index",
- // TemplateMessages.getString("JavaContextType.variable.description.index"));
- // //$NON-NLS-1$ //$NON-NLS-2$
- // }
- // protected String resolve(TemplateContext context) {
- // return ((JavaContext) context).getIndex();
- // }
- // }
- //
- // protected static class Collection extends TemplateVariableResolver {
- // public Collection() {
- // super("collection",
- // TemplateMessages.getString("JavaContextType.variable.description.collection"));
- // //$NON-NLS-1$ //$NON-NLS-2$
- // }
- //
- // protected String[] resolveAll(TemplateContext context) {
- // String[] collections= ((JavaContext) context).guessCollections();
- // if (collections.length > 0)
- // return collections;
- // else
- // return super.resolveAll(context);
- // }
- // }
- //
- // protected static class Iterator extends TemplateVariableResolver {
- //
- // public Iterator() {
- // super("iterator",
- // TemplateMessages.getString("JavaContextType.variable.description.iterator"));
- // //$NON-NLS-1$ //$NON-NLS-2$
- // }
- // protected String resolve(TemplateContext context) {
- // JavaContext javaContext= (JavaContext) context;
- //
- // if (!context.isReadOnly())
- // javaContext.addIteratorImport();
- //
- // return javaContext.getIterator();
- // }
- // }
- //
- protected static class Todo extends TemplateVariableResolver {
-
- public Todo() {
- super(
- "todo", JavaTemplateMessages.getString("JavaContextType.variable.description.todo")); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- protected String resolve(TemplateContext context) {
- JavaContext javaContext = (JavaContext) context;
- ICompilationUnit compilationUnit = javaContext.getCompilationUnit();
- if (compilationUnit == null)
- return "XXX"; //$NON-NLS-1$
-
- IJavaProject javaProject = compilationUnit.getJavaProject();
- String todoTaskTag = StubUtility.getTodoTaskTag(javaProject);
- if (todoTaskTag == null)
- return "XXX"; //$NON-NLS-1$
-
- return todoTaskTag;
- }
- }
-
- /*
- * protected static class Arguments extends SimpleVariableResolver { public
- * Arguments() { super("arguments",
- * TemplateMessages.getString("JavaContextType.variable.description.arguments"),
- * ""); } }
- */
-
- /**
- * Creates a java context type.
- */
- public JavaContextType() {
- super(NAME);
-
- // global
- addResolver(new GlobalTemplateVariables.Cursor());
- addResolver(new GlobalTemplateVariables.WordSelection());
- addResolver(new GlobalTemplateVariables.LineSelection());
- addResolver(new GlobalTemplateVariables.Dollar());
- addResolver(new GlobalTemplateVariables.Date());
- addResolver(new GlobalTemplateVariables.Year());
- addResolver(new GlobalTemplateVariables.Time());
- addResolver(new GlobalTemplateVariables.User());
-
- // compilation unit
- addResolver(new File());
- addResolver(new PrimaryTypeName());
- addResolver(new ReturnType());
- addResolver(new Method());
- addResolver(new Type());
- addResolver(new Package());
- addResolver(new Project());
- addResolver(new Arguments());
-
- // java
- // addResolver(new Array());
- // addResolver(new ArrayType());
- // addResolver(new ArrayElement());
- // addResolver(new Index());
- // addResolver(new Iterator());
- // addResolver(new Collection());
- addResolver(new Todo());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see net.sourceforge.phpdt.internal.corext.template.java.CompilationUnitContextType#createContext(org.eclipse.jface.text.IDocument,
- * int, int, net.sourceforge.phpdt.core.ICompilationUnit)
- */
- public CompilationUnitContext createContext(IDocument document, int offset,
- int length, ICompilationUnit compilationUnit) {
- return new JavaContext(this, document, offset, length, compilationUnit);
- }
-
-}