net.sf.antcontrib.cpptasks.compiler
Class AbstractProcessor

java.lang.Object
  extended by net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
All Implemented Interfaces:
Cloneable, Processor
Direct Known Subclasses:
AbstractCompiler, AbstractLinker

public abstract class AbstractProcessor
extends Object
implements Processor, Cloneable

An abstract processor (compiler/linker) implementation.

Author:
Curt Arnold

Field Summary
static int DEFAULT_DISCARD_BID
          default bid for a file name that the processor recognizes but does not process and does not want to fall through to the linker
static int DEFAULT_PROCESS_BID
          default bid for a file name that the processor desires to process
 
Constructor Summary
protected AbstractProcessor(String[] sourceExtensions, String[] headerExtensions)
           
 
Method Summary
 int bid(String inputFile)
          Returns the bid of the processor for the file.
 Processor changeEnvironment(boolean newEnvironment, org.apache.tools.ant.types.Environment env)
           
protected  Object clone()
           
 String[] getHeaderExtensions()
           
abstract  String getIdentifier()
          Retrieve an identifier that identifies the specific version of the compiler.
protected static String getIdentifier(String[] command, String fallback)
          Determines the identification of a command line processor by capture the first line of its output for a specific command.
protected  String getOSArch()
          Gets the target operating system architecture
protected  String getOSName()
          Gets the target operating system name
 String[] getSourceExtensions()
           
protected  boolean isDarwin()
          Returns true if the target operating system is Mac OS X or Darwin.
protected  boolean isWindows()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface net.sf.antcontrib.cpptasks.compiler.Processor
createConfiguration, getLinker, getOutputFileNames
 

Field Detail

DEFAULT_DISCARD_BID

public static final int DEFAULT_DISCARD_BID
default bid for a file name that the processor recognizes but does not process and does not want to fall through to the linker

See Also:
Constant Field Values

DEFAULT_PROCESS_BID

public static final int DEFAULT_PROCESS_BID
default bid for a file name that the processor desires to process

See Also:
Constant Field Values
Constructor Detail

AbstractProcessor

protected AbstractProcessor(String[] sourceExtensions,
                            String[] headerExtensions)
Method Detail

getIdentifier

protected static String getIdentifier(String[] command,
                                      String fallback)
Determines the identification of a command line processor by capture the first line of its output for a specific command.

Parameters:
command - array of command line arguments starting with executable name. For example, { "cl" }
fallback - start of identifier if there is an error in executing the command
Returns:
identifier for the processor

bid

public int bid(String inputFile)
Returns the bid of the processor for the file.

Specified by:
bid in interface Processor
Parameters:
inputFile - filename of input file
Returns:
bid for the file, 0 indicates no interest, 1 indicates that the processor recognizes the file but doesn't process it (header files, for example), 100 indicates strong interest

changeEnvironment

public Processor changeEnvironment(boolean newEnvironment,
                                   org.apache.tools.ant.types.Environment env)
Specified by:
changeEnvironment in interface Processor

clone

protected Object clone()
                throws CloneNotSupportedException
Overrides:
clone in class Object
Throws:
CloneNotSupportedException

getHeaderExtensions

public String[] getHeaderExtensions()

getIdentifier

public abstract String getIdentifier()
Description copied from interface: Processor
Retrieve an identifier that identifies the specific version of the compiler. Compilers with the same identifier should produce the same output files for the same input files and command line switches.

Specified by:
getIdentifier in interface Processor

getOSArch

protected String getOSArch()
Gets the target operating system architecture

Returns:
String target operating system architecture

getOSName

protected String getOSName()
Gets the target operating system name

Returns:
String target operating system name

getSourceExtensions

public String[] getSourceExtensions()

isDarwin

protected boolean isDarwin()
Returns true if the target operating system is Mac OS X or Darwin.

Returns:
boolean

isWindows

protected boolean isWindows()

toString

public final String toString()
Overrides:
toString in class Object


Copyright © 2001-2011. All Rights Reserved.