source: other-projects/trunk/gs3-release-maker/apache-ant-1.6.5/src/main/org/apache/tools/ant/taskdefs/AntlibDefinition.java@ 14627

Last change on this file since 14627 was 14627, checked in by oranfry, 17 years ago

initial import of the gs3-release-maker

File size: 2.4 KB
Line 
1/*
2 * Copyright 2003-2004 The Apache Software Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 */
17
18package org.apache.tools.ant.taskdefs;
19
20import org.apache.tools.ant.BuildException;
21import org.apache.tools.ant.ProjectHelper;
22import org.apache.tools.ant.Task;
23
24/**
25 * Base class for tasks that that can be used in antlibs.
26 * For handling uri and class loading.
27 *
28 *
29 * @since Ant 1.6
30 */
31public class AntlibDefinition extends Task {
32
33 private String uri = "";
34 private ClassLoader 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 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 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 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 getAntlibClassLoader() {
79 return antlibClassLoader;
80 }
81}
Note: See TracBrowser for help on using the repository browser.