DefaultNative2Ascii (Apache Ant API)
Date: 2016-04-09

org.apache.tools.ant.taskdefs.optional.native2ascii

## Class DefaultNative2Ascii

- java.lang.Object
- - org.apache.tools.ant.taskdefs.optional.native2ascii.DefaultNative2Ascii

- All Implemented Interfaces:
    Native2AsciiAdapter
  Direct Known Subclasses:
    KaffeNative2Ascii, SunNative2Ascii

      public abstract class DefaultNative2Ascii
      extends java.lang.Object
      implements Native2AsciiAdapter

  encapsulates the handling common to diffent Native2Asciiadapter implementations.
  Since:
    Ant 1.6.3

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultNative2Ascii()` No-arg constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addFiles(Commandline cmd, ProjectComponent log, java.io.File src, java.io.File dest)` Adds source and dest files to the command line.
    `boolean` | `convert(Native2Ascii args, java.io.File srcFile, java.io.File destFile)` Splits the task into setting up the command line switches
    `protected abstract boolean` | `run(Commandline cmd, ProjectComponent log)` Executes the command.
    `protected void` | `setup(Commandline cmd, Native2Ascii args)` Sets up the initial command line.

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

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

- - ### Constructor Detail

    - #### DefaultNative2Ascii

          public DefaultNative2Ascii()

      No-arg constructor.

  - ### Method Detail

    - #### convert

          public final boolean convert(Native2Ascii args,
                        java.io.File srcFile,
                        java.io.File destFile)
                                throws BuildException

      Splits the task into setting up the command line switches
      Specified by:
        `convert` in interface `Native2AsciiAdapter`
      Parameters:
        `args` - the native 2 ascii arguments.
        `srcFile` - the source file.
        `destFile` - the destination file.
      Returns:
        run if the conversion was successful.
      Throws:
        `BuildException` - if there is a problem. (delegated to `setup`), adding the file names (delegated to `addFiles`) and running the tool (delegated to `run`).

    - #### setup

          protected void setup(Commandline cmd,
                   Native2Ascii args)
                        throws BuildException

      Sets up the initial command line.

      only the -encoding argument and nested arg elements get handled here.

      Parameters:
        `cmd` - Command line to add to
        `args` - provides the user-setting and access to Ant's logging system.
      Throws:
        `BuildException` - if there was a problem.

    - #### addFiles

          protected void addFiles(Commandline cmd,
                      ProjectComponent log,
                      java.io.File src,
                      java.io.File dest)
                           throws BuildException

      Adds source and dest files to the command line.

      This implementation adds them without any leading qualifiers, source first.

      Parameters:
        `cmd` - Command line to add to
        `log` - provides access to Ant's logging system.
        `src` - the source file
        `dest` - the destination file
      Throws:
        `BuildException` - if there was a problem.

    - #### run

          protected abstract boolean run(Commandline cmd,
                    ProjectComponent log)
                                  throws BuildException

      Executes the command.
      Parameters:
        `cmd` - Command line to execute
        `log` - provides access to Ant's logging system.
      Returns:
        whether execution was successful
      Throws:
        `BuildException` - if there was a problem.