Package org.apache.tools.ant.types.spi

## Class Service

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.types.spi.Service

- All Implemented Interfaces:
    `java.lang.Cloneable`

      public class Service
      extends ProjectComponent

  ANT Jar-Task SPI extension
  See Also:
    https://issues.apache.org/bugzilla/show_bug.cgi?id=31520

- - ### Field Summary

    - ### Fields inherited from class org.apache.tools.ant.ProjectComponent

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Service()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addConfiguredProvider​(Provider provider)` | Add a nested provider element.
    `void` | `check()` | Check if this object is configured correctly as a nested element.
    `java.io.InputStream` | `getAsStream()` | Return the implementations of this services as an inputstream.
    `java.lang.String` | `getType()` |
    `void` | `setProvider​(java.lang.String className)` | Set the provider classname.
    `void` | `setType​(java.lang.String type)` | Set the service type.

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `clone, getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Service

          public Service()

  - ### Method Detail

    - #### setProvider

          public void setProvider​(java.lang.String className)

      Set the provider classname.
      Parameters:
        `className` - the classname of a provider of this service.

    - #### addConfiguredProvider

          public void addConfiguredProvider​(Provider provider)

      Add a nested provider element.
      Parameters:
        `provider` - a provider element.

    - #### getType

          public java.lang.String getType()

      Returns:
        the service type.

    - #### setType

          public void setType​(java.lang.String type)

      Set the service type.
      Parameters:
        `type` - the service type, a classname of an interface or a class (normally abstract).

    - #### getAsStream

          public java.io.InputStream getAsStream()
                                          throws java.io.IOException

      Return the implementations of this services as an inputstream.
      Returns:
        an inputstream of the classname names encoded as UTF-8.
      Throws:
        `java.io.IOException` - if there is an error.

    - #### check

          public void check()

      Check if this object is configured correctly as a nested element.