net.sf.antcontrib.cpptasks.compiler
Class AbstractProcessor

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

public abstract class AbstractProcessor
extends java.lang.Object
implements Processor, java.lang.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(java.lang.String[] sourceExtensions, java.lang.String[] headerExtensions)
           
 
Method Summary
 int bid(java.lang.String inputFile)
          Returns the bid of the processor for the file.
 Processor changeEnvironment(boolean newEnvironment, org.apache.tools.ant.types.Environment env)
           
protected  java.lang.Object clone()
           
 java.lang.String[] getHeaderExtensions()
           
abstract  java.lang.String getIdentifier()
          Retrieve an identifier that identifies the specific version of the compiler.
protected static java.lang.String getIdentifier(java.lang.String[] command, java.lang.String fallback)
          Determines the identification of a command line processor by capture the first line of its output for a specific command.
protected  java.lang.String getOSArch()
          Gets the target operating system architecture
protected  java.lang.String getOSName()
          Gets the target operating system name
 java.lang.String[] getSourceExtensions()
           
protected  boolean isDarwin()
          Returns true if the target operating system is Mac OS X or Darwin.
 java.lang.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(java.lang.String[] sourceExtensions,
                            java.lang.String[] headerExtensions)
Method Detail

getIdentifier

protected static java.lang.String getIdentifier(java.lang.String[] command,
                                                java.lang.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(java.lang.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 java.lang.Object clone()
                          throws java.lang.CloneNotSupportedException
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException

getHeaderExtensions

public java.lang.String[] getHeaderExtensions()

getIdentifier

public abstract java.lang.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 java.lang.String getOSArch()
Gets the target operating system architecture

Returns:
String target operating system architecture

getOSName

protected java.lang.String getOSName()
Gets the target operating system name

Returns:
String target operating system name

getSourceExtensions

public java.lang.String[] getSourceExtensions()

isDarwin

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

Returns:
boolean

toString

public final java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright 2001-2008 Ant-Contrib Project. All Rights Reserved.