DefaultNative2Ascii (Apache Ant API)
Date: 2018-09-12

Package 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 different Native2AsciiAdapter implementations.
  Since:
    Ant 1.6.3

- - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | 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.