net.sf.antcontrib.cpptasks.compiler

Class AbstractProcessor

Implemented Interfaces:
Cloneable, Processor
Known Direct Subclasses:
AbstractCompiler, AbstractLinker

public abstract class AbstractProcessor
extends java.lang.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

AbstractProcessor(String[] sourceExtensions, String[] headerExtensions)

Method Summary

int
bid(String inputFile)
Returns the bid of the processor for the file.
Processor
changeEnvironment(boolean newEnvironment, Environment env)
protected Object
clone()
String[]
getHeaderExtensions()
abstract String
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.
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.
String
toString()

Field Details

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
Field Value:
1

DEFAULT_PROCESS_BID

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

Constructor Details

AbstractProcessor

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

Method Details

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,
                                   Environment env)
Specified by:
changeEnvironment in interface Processor

clone

protected Object clone()
            throws CloneNotSupportedException

getHeaderExtensions

public String[] getHeaderExtensions()

getIdentifier

public abstract String getIdentifier()
Specified by:
getIdentifier in interface Processor

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

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

toString

public final String toString()

Copyright B) 2001-2006 Ant-Contrib project. All Rights Reserved.