X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/corext/template/php/CodeTemplateContext.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/corext/template/php/CodeTemplateContext.java index e9e4621..07b4032 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/corext/template/php/CodeTemplateContext.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/corext/template/php/CodeTemplateContext.java @@ -1,10 +1,10 @@ /******************************************************************************* * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials + * 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 *******************************************************************************/ @@ -14,7 +14,6 @@ import java.util.Iterator; import net.sourceforge.phpdt.core.ICompilationUnit; import net.sourceforge.phpdt.core.IJavaProject; -import net.sourceforge.phpdt.internal.corext.Assert; import net.sourceforge.phpeclipse.PHPeclipsePlugin; import org.eclipse.jface.text.BadLocationException; @@ -29,14 +28,17 @@ import org.eclipse.jface.text.templates.TemplateTranslator; import org.eclipse.jface.text.templates.TemplateVariableResolver; public class CodeTemplateContext extends TemplateContext { - + private String fLineDelimiter; + private IJavaProject fProject; - public CodeTemplateContext(String contextTypeName, IJavaProject project, String lineDelim) { - super(PHPeclipsePlugin.getDefault().getCodeTemplateContextRegistry().getContextType(contextTypeName)); - fLineDelimiter= lineDelim; - fProject= project; + public CodeTemplateContext(String contextTypeName, IJavaProject project, + String lineDelim) { + super(PHPeclipsePlugin.getDefault().getCodeTemplateContextRegistry() + .getContextType(contextTypeName)); + fLineDelimiter = lineDelim; + fProject = project; } public IJavaProject getJavaProject() { @@ -46,44 +48,50 @@ public class CodeTemplateContext extends TemplateContext { /* * @see net.sourceforge.phpdt.internal.corext.template.TemplateContext#evaluate(net.sourceforge.phpdt.internal.corext.template.Template) */ - public TemplateBuffer evaluate(Template template) throws BadLocationException, TemplateException { + public TemplateBuffer evaluate(Template template) + throws BadLocationException, TemplateException { // test that all variables are defined - Iterator iterator= getContextType().resolvers(); + Iterator iterator = getContextType().resolvers(); while (iterator.hasNext()) { - TemplateVariableResolver var= (TemplateVariableResolver) iterator.next(); + TemplateVariableResolver var = (TemplateVariableResolver) iterator + .next(); if (var instanceof CodeTemplateContextType.CodeTemplateVariableResolver) { - // Assert.isNotNull(getVariable(var.getType()), "Variable " + var.getType() + "not defined"); //$NON-NLS-1$ //$NON-NLS-2$ + // Assert.isNotNull(getVariable(var.getType()), "Variable " + + // var.getType() + "not defined"); //$NON-NLS-1$ //$NON-NLS-2$ } } if (!canEvaluate(template)) return null; - - String pattern= changeLineDelimiter(template.getPattern(), fLineDelimiter); - - TemplateTranslator translator= new TemplateTranslator(); - TemplateBuffer buffer= translator.translate(pattern); + + String pattern = changeLineDelimiter(template.getPattern(), + fLineDelimiter); + + TemplateTranslator translator = new TemplateTranslator(); + TemplateBuffer buffer = translator.translate(pattern); getContextType().resolve(buffer, this); return buffer; } - + private static String changeLineDelimiter(String code, String lineDelim) { try { - ILineTracker tracker= new DefaultLineTracker(); + ILineTracker tracker = new DefaultLineTracker(); tracker.set(code); - int nLines= tracker.getNumberOfLines(); + int nLines = tracker.getNumberOfLines(); if (nLines == 1) { return code; } - - StringBuffer buf= new StringBuffer(); - for (int i= 0; i < nLines; i++) { + + StringBuffer buf = new StringBuffer(); + for (int i = 0; i < nLines; i++) { if (i != 0) { buf.append(lineDelim); } IRegion region = tracker.getLineInformation(i); - String line= code.substring(region.getOffset(), region.getOffset() + region.getLength()); + String line = code.substring(region.getOffset(), region + .getOffset() + + region.getLength()); buf.append(line); } return buf.toString(); @@ -91,22 +99,27 @@ public class CodeTemplateContext extends TemplateContext { // can not happen return code; } - } + } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see net.sourceforge.phpdt.internal.corext.template.TemplateContext#canEvaluate(net.sourceforge.phpdt.internal.corext.template.Template) */ public boolean canEvaluate(Template template) { return true; } - + public void setCompilationUnitVariables(ICompilationUnit cu) { setVariable(CodeTemplateContextType.FILENAME, cu.getElementName()); - setVariable(CodeTemplateContextType.PACKAGENAME, cu.getParent().getElementName()); - setVariable(CodeTemplateContextType.PROJECTNAME, cu.getJavaProject().getElementName()); + setVariable(CodeTemplateContextType.PACKAGENAME, cu.getParent() + .getElementName()); + setVariable(CodeTemplateContextType.PROJECTNAME, cu.getJavaProject() + .getElementName()); } - public void setFileNameVariable(String filename) { + public void setFileNameVariable(String filename, String projectname) { setVariable(CodeTemplateContextType.FILENAME, filename); + setVariable(CodeTemplateContextType.PROJECTNAME, projectname); } }