| /******************************************************************************* |
| * Copyright (c) 2007 Chase Technology Ltd - http://www.chasetechnology.co.uk |
| * 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: |
| * Doug Satchwell (Chase Technology Ltd) - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.wst.xsl.core.model; |
| |
| import java.util.ArrayList; |
| import java.util.List; |
| |
| import org.eclipse.core.resources.IFile; |
| |
| /** |
| * The <code>xsl:stylesheet</code> model element. |
| * |
| * @author Doug Satchwell |
| */ |
| public class Stylesheet extends XSLElement |
| { |
| final IFile file; |
| final List<Include> includes = new ArrayList<Include>(); |
| final List<Import> imports = new ArrayList<Import>(); |
| final List<Template> templates = new ArrayList<Template>(); |
| final List<CallTemplate> calledTemplates = new ArrayList<CallTemplate>(); |
| final List<Variable> globalVariables = new ArrayList<Variable>(); |
| final List<XSLElement> elements = new ArrayList<XSLElement>(); |
| String version; |
| |
| /** |
| * Create an instance of this. |
| * |
| * @param file the file that this represents |
| */ |
| public Stylesheet(IFile file) |
| { |
| super(null); |
| this.file = file; |
| } |
| |
| @Override |
| public Stylesheet getStylesheet() |
| { |
| return this; |
| } |
| |
| /** |
| * Add an <code>Include</code> to this. |
| * |
| * @param include the include to add |
| */ |
| public void addInclude(Include include) |
| { |
| includes.add(include); |
| } |
| |
| /** |
| * Add an <code>Import</code> to this. |
| * |
| * @param include the import to add |
| */ |
| public void addImport(Import include) |
| { |
| imports.add(include); |
| } |
| |
| /** |
| * Add a <code>Template</code> to this. |
| * |
| * @param template the template to add |
| */ |
| public void addTemplate(Template template) |
| { |
| templates.add(template); |
| } |
| |
| /** |
| * Add a <code>CallTemplate</code> to this. |
| * |
| * @param template the template to add |
| */ |
| public void addCalledTemplate(CallTemplate template) |
| { |
| calledTemplates.add(template); |
| } |
| |
| /** |
| * Get the file that this represents. |
| * |
| * @return the file that this represents |
| */ |
| public IFile getFile() |
| { |
| return file; |
| } |
| |
| /** |
| * Get the list of includes for this. |
| * |
| * @return the list of includes |
| */ |
| public List<Include> getIncludes() |
| { |
| return includes; |
| } |
| |
| /** |
| * Get the list of imports for this. |
| * |
| * @return the list of imports |
| */ |
| public List<Import> getImports() |
| { |
| return imports; |
| } |
| |
| /** |
| * Get the list of templates for this. |
| * |
| * @return the list of templates |
| */ |
| public List<Template> getTemplates() |
| { |
| return templates; |
| } |
| |
| /** |
| * Get the list of called templates for this. |
| * |
| * @return the list of called templates |
| */ |
| public List<CallTemplate> getCalledTemplates() |
| { |
| return calledTemplates; |
| } |
| |
| /** |
| * Add a global variable to this. |
| * |
| * @param var the variable to add |
| */ |
| public void addGlobalVariable(Variable var) |
| { |
| globalVariables.add(var); |
| } |
| |
| public Type getModelType() |
| { |
| return Type.STYLESHEET; |
| } |
| |
| /** |
| * Set the stylesheet version. |
| * |
| * @param version the version to set |
| */ |
| public void setVersion(String version) |
| { |
| this.version = version; |
| } |
| |
| /** |
| * Get the stylesheet version. |
| */ |
| public String getVersion() |
| { |
| return version; |
| } |
| |
| public List<Variable> getGlobalVariables() |
| { |
| return globalVariables; |
| } |
| } |