/******************************************************************************* * Copyright (c) 2000, 2004 IBM Corporation 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 *******************************************************************************/ package net.sourceforge.phpdt.internal.corext.template.php; import java.io.File; import java.io.InputStream; import java.util.ResourceBundle; import net.sourceforge.phpeclipse.PHPeclipsePlugin; import net.sourceforge.phpeclipse.ui.WebUI; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; //import org.eclipse.jface.text.templates.Template; /** * CodeTemplates gives access to the available code templates. * * @since 3.0 * @deprecated use * {@link net.sourceforge.phpdt.internal.ui.JavaPlugin#getCodeTemplateStore()} * instead */ public class CodeTemplates extends net.sourceforge.phpdt.internal.corext.template.php.TemplateSet { private static final String DEFAULT_FILE = "default-codetemplates.xml"; //$NON-NLS-1$ private static final String TEMPLATE_FILE = "codetemplates.xml"; //$NON-NLS-1$ private static final ResourceBundle fgResourceBundle = ResourceBundle .getBundle(JavaTemplateMessages.class.getName()); /** Singleton. */ private static CodeTemplates fgTemplates; // public static Template getCodeTemplate(String name) { // return getInstance().getFirstTemplate(name); // } /** * Returns an instance of templates. */ public static CodeTemplates getInstance() { if (fgTemplates == null) fgTemplates = new CodeTemplates(); return fgTemplates; } private CodeTemplates() { super( "codetemplate", WebUI.getDefault().getCodeTemplateContextRegistry()); //$NON-NLS-1$ create(); } private void create() { try { addFromStream(getDefaultsAsStream(), false, true, fgResourceBundle); File templateFile = getTemplateFile(); if (templateFile.exists()) { addFromFile(templateFile, false, fgResourceBundle); } saveToFile(templateFile); } catch (CoreException e) { PHPeclipsePlugin.log(e); clear(); } } /** * Resets the template set. */ public void reset() throws CoreException { clear(); addFromFile(getTemplateFile(), false, fgResourceBundle); } /** * Resets the template set with the default templates. */ // public void restoreDefaults() throws CoreException { // clear(); // addFromStream(getDefaultsAsStream(), false, true, fgResourceBundle); // } /** * Saves the template set. */ // public void save() throws CoreException { // saveToFile(getTemplateFile()); // } private static InputStream getDefaultsAsStream() { return CodeTemplates.class.getResourceAsStream(DEFAULT_FILE); } private static File getTemplateFile() { IPath path = PHPeclipsePlugin.getDefault().getStateLocation(); path = path.append(TEMPLATE_FILE); return path.toFile(); } }