first version of external tools
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / externaltools / internal / registry / PathLocationVariableRegistry.java
1 package net.sourceforge.phpdt.externaltools.internal.registry;
2
3 /**********************************************************************
4 Copyright (c) 2002 IBM Corp. and others. All rights reserved.
5 This file is made available under the terms of the Common Public License v1.0
6 which accompanies this distribution, and is available at
7 http://www.eclipse.org/legal/cpl-v10.html
8  
9 Contributors:
10 **********************************************************************/
11
12 import org.eclipse.core.runtime.IConfigurationElement;
13
14 /**
15  * Registry of all available path location variables.
16  */
17 public class PathLocationVariableRegistry extends ExternalToolVariableRegistry {
18
19         /**
20          * Creates the registry and loads the variables.
21          */
22         public PathLocationVariableRegistry(String extensionPointId) {
23                 super(extensionPointId);
24         }
25
26         /**
27          * Returns the path location variable for the given tag
28          * or <code>null</code> if none.
29          */
30         public PathLocationVariable getPathLocationVariable(String tag) {
31                 return (PathLocationVariable) findVariable(tag);
32         }
33         
34         /**
35          * Returns the list of path location variables in the registry.
36          */
37         public PathLocationVariable[] getPathLocationVariables() {
38                 PathLocationVariable[] results = new PathLocationVariable[getVariableCount()];
39                 copyVariables(results);
40                 return results;
41         }
42         
43         /* (non-Javadoc)
44          * Method declared on ExternalToolVariableRegistry.
45          */
46         protected ExternalToolVariable newVariable(String tag, String description, IConfigurationElement element) {
47                 return new PathLocationVariable(tag, description, element);
48         }
49 }