KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tools > ant > taskdefs > AntlibDefinition


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */

18
19 package org.apache.tools.ant.taskdefs;
20
21 import org.apache.tools.ant.BuildException;
22 import org.apache.tools.ant.ProjectHelper;
23 import org.apache.tools.ant.Task;
24
25 /**
26  * Base class for tasks that that can be used in antlibs.
27  * For handling uri and class loading.
28  *
29  * @since Ant 1.6
30  */

31 public class AntlibDefinition extends Task {
32
33     private String JavaDoc uri = "";
34     private ClassLoader JavaDoc antlibClassLoader;
35
36     /**
37      * The URI for this definition.
38      * If the URI is "antlib:org.apache.tools.ant",
39      * (this is the default uri)
40      * the uri will be set to "".
41      * URIs that start with "ant:" are reserved
42      * and are not allowed in this context.
43      * @param uri the namespace URI
44      * @throws BuildException if a reserved URI is used
45      */

46     public void setURI(String JavaDoc uri) throws BuildException {
47         if (uri.equals(ProjectHelper.ANT_CORE_URI)) {
48             uri = "";
49         }
50         if (uri.startsWith("ant:")) {
51             throw new BuildException("Attempt to use a reserved URI " + uri);
52         }
53         this.uri = uri;
54     }
55
56     /**
57      * The URI for this definition.
58      * @return The URI for this defintion.
59      */

60     public String JavaDoc getURI() {
61         return uri;
62     }
63
64     /**
65      * Set the class loader of the loading object
66      *
67      * @param classLoader a <code>ClassLoader</code> value
68      */

69     public void setAntlibClassLoader(ClassLoader JavaDoc classLoader) {
70         this.antlibClassLoader = classLoader;
71     }
72
73     /**
74      * The current antlib classloader
75      * @return the antlib classloader for the definition, this
76      * is null if the definition is not used in an antlib.
77      */

78     public ClassLoader JavaDoc getAntlibClassLoader() {
79         return antlibClassLoader;
80     }
81 }
82
Popular Tags