net.sf.antcontrib.cpptasks.compiler
Class AbstractLinker

java.lang.Object
  extended bynet.sf.antcontrib.cpptasks.compiler.AbstractProcessor
      extended bynet.sf.antcontrib.cpptasks.compiler.AbstractLinker
All Implemented Interfaces:
java.lang.Cloneable, Linker, Processor
Direct Known Subclasses:
CommandLineLinker

public abstract class AbstractLinker
extends AbstractProcessor
implements Linker

An abstract Linker implementation.

Author:
Adam Murdoch

Field Summary
 
Fields inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID
 
Constructor Summary
AbstractLinker(java.lang.String[] objExtensions, java.lang.String[] ignoredExtensions)
           
 
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 abstract  LinkerConfiguration createConfiguration(CCTask task, LinkType linkType, ProcessorDef[] baseConfigs, LinkerDef specificConfig, TargetDef targetPlatform)
           
 ProcessorConfiguration createConfiguration(CCTask task, LinkType linkType, ProcessorDef[] baseConfigs, ProcessorDef specificConfig, TargetDef targetPlatform)
          Returns the compiler configuration for or element.
 java.lang.String getLibraryKey(java.io.File libfile)
          Extracts the significant part of a library name to ensure there aren't collisions
abstract  java.lang.String getOutputFileName(java.lang.String fileName)
          Output file name (no path components) corresponding to source file
 
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
clone, getHeaderExtensions, getIdentifier, getIdentifier, getOSArch, getOSName, getSourceExtensions, isDarwin, 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.Linker
getLibraryPath, getLibraryPatterns, getLinker, isCaseSensitive
 
Methods inherited from interface net.sf.antcontrib.cpptasks.compiler.Processor
getIdentifier
 

Constructor Detail

AbstractLinker

public AbstractLinker(java.lang.String[] objExtensions,
                      java.lang.String[] ignoredExtensions)
Method Detail

bid

public int bid(java.lang.String inputFile)
Returns the bid of the processor for the file. A linker will bid 1 on any unrecognized file type.

Specified by:
bid in interface Processor
Overrides:
bid in class AbstractProcessor
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
Overrides:
changeEnvironment in class AbstractProcessor

createConfiguration

protected abstract LinkerConfiguration createConfiguration(CCTask task,
                                                           LinkType linkType,
                                                           ProcessorDef[] baseConfigs,
                                                           LinkerDef specificConfig,
                                                           TargetDef targetPlatform)

createConfiguration

public ProcessorConfiguration createConfiguration(CCTask task,
                                                  LinkType linkType,
                                                  ProcessorDef[] baseConfigs,
                                                  ProcessorDef specificConfig,
                                                  TargetDef targetPlatform)
Description copied from interface: Processor
Returns the compiler configuration for or element.

Specified by:
createConfiguration in interface Processor
Parameters:
baseConfigs - When specificConfig corresponds to a or linker element, defaultProvider will be a zero to two element array. If there is an extends attribute, the first element will be the referenced ProcessorDef, unless inherit = false, the last element will be the containing element
specificConfig - A or element.
Returns:
resulting configuration

getLibraryKey

public java.lang.String getLibraryKey(java.io.File libfile)
Description copied from interface: Linker
Extracts the significant part of a library name to ensure there aren't collisions

Specified by:
getLibraryKey in interface Linker

getOutputFileName

public abstract java.lang.String getOutputFileName(java.lang.String fileName)
Description copied from interface: Processor
Output file name (no path components) corresponding to source file

Specified by:
getOutputFileName in interface Processor
Parameters:
fileName - input file
Returns:
output file name or null if no output file or name not determined by input file


Copyright © 2001-2004 Ant-Contrib project. All Rights Reserved.