diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/spi/Service.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/spi/Service.java | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/spi/Service.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/spi/Service.java deleted file mode 100644 index 96c8e4e5..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/spi/Service.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -package org.apache.tools.ant.types.spi; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStreamWriter; -import java.io.Writer; -import java.util.ArrayList; -import java.util.List; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.ProjectComponent; - -/** - * ANT Jar-Task SPI extension - * - * @see <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31520"> - * http://issues.apache.org/bugzilla/show_bug.cgi?id=31520</a> - */ -public class Service extends ProjectComponent { - private List<Provider> providerList = new ArrayList<Provider>(); - private String type; - - /** - * Set the provider classname. - * @param className the classname of a provider of this service. - */ - public void setProvider(String className) { - Provider provider = new Provider(); - provider.setClassName(className); - providerList.add(provider); - } - - /** - * Add a nested provider element. - * @param provider a provider element. - */ - public void addConfiguredProvider(Provider provider) { - provider.check(); - providerList.add(provider); - } - - /** - * @return the service type. - */ - public String getType() { - return type; - } - - /** - * Set the service type. - * @param type the service type, a classname of - * an interface or a class (normally - * abstract). - */ - public void setType(String type) { - this.type = type; - } - - /** - * Return the implementations of this - * services as an inputstream. - * @return an inputstream of the classname names - * encoded as UTF-8. - * @throws IOException if there is an error. - */ - public InputStream getAsStream() throws IOException { - ByteArrayOutputStream arrayOut = new ByteArrayOutputStream(); - Writer writer = new OutputStreamWriter(arrayOut, "UTF-8"); - for (Provider provider : providerList) { - writer.write(provider.getClassName()); - writer.write("\n"); - } - writer.close(); - return new ByteArrayInputStream(arrayOut.toByteArray()); - } - - /** - * Check if this object is configured correctly as a nested - * element. - */ - public void check() { - if (type == null) { - throw new BuildException( - "type attribute must be set for service element", - getLocation()); - } - if (type.length() == 0) { - throw new BuildException( - "Invalid empty type classname", getLocation()); - } - if (providerList.size() == 0) { - throw new BuildException( - "provider attribute or nested provider element must be set!", - getLocation()); - } - } -} |