net.sf.antcontrib.cpptasks
Class ProcessorDef

java.lang.Object
  |
  +--org.apache.tools.ant.ProjectComponent
        |
        +--org.apache.tools.ant.types.DataType
              |
              +--net.sf.antcontrib.cpptasks.ProcessorDef
Direct Known Subclasses:
CompilerDef, LinkerDef

public abstract class ProcessorDef
extends org.apache.tools.ant.types.DataType

An abstract compiler/linker definition.

Author:
Curt Arnold

Fields inherited from class org.apache.tools.ant.types.DataType
checked, description, ref
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
project
 
Constructor Summary
protected ProcessorDef()
          Constructor
 
Method Summary
protected  void addConfiguredProcessorArg(CommandLineArgument arg)
          Adds a or
 void addFileset(ConditionalFileSet srcSet)
          Adds a source file set.
protected static java.lang.Boolean booleanValueOf(boolean val)
          Returns the equivalent Boolean object for the specified value Equivalent to Boolean.valueOf in JDK 1.4
 ProcessorConfiguration createConfiguration(CCTask task, LinkType linkType, ProcessorDef baseDef)
          Creates a configuration
 CommandLineArgument[] getActiveProcessorArgs()
          Prepares list of processor arguments (, ) that are active for the current project settings.
 boolean getDebug(ProcessorDef[] defaultProviders, int index)
          Gets boolean indicating debug build
protected  ProcessorDef[] getDefaultProviders(ProcessorDef baseDef)
          Creates an chain of objects which provide default values in descending order of significance.
 ProcessorDef getExtends()
          Gets the ProcessorDef specified by the extends attribute
 boolean getInherit()
          Gets the inherit attribute.
 boolean getLibtool()
           
protected  Processor getProcessor()
          Obtains the appropriate processor (compiler, linker)
 boolean getRebuild(ProcessorDef[] defaultProviders, int index)
          Gets a boolean value indicating whether all targets must be rebuilt regardless of dependency analysis.
 boolean hasFileSets()
          Returns true if the processor definition contains embedded file set definitions
 boolean isActive()
          Determine if this def should be used.
 void setClassname(java.lang.String className)
          Sets the class name for the adapter.
 void setDebug(boolean debug)
          If set true, all targets will be built for debugging.
 void setDescription(java.lang.String desc)
          Sets a description of the current data type.
 void setExtends(org.apache.tools.ant.types.Reference extendsRef)
          Specifies that this element extends the element with id attribute with a matching value.
 void setId(java.lang.String id)
          Sets an id that can be used to reference this element.
 void setIf(java.lang.String propName)
          Sets the property name for the 'if' condition.
 void setInherit(boolean inherit)
          If inherit has the default value of true, defines, includes and other settings from the containing element will be inherited.
 void setLibtool(boolean libtool)
          Set use of libtool.
protected  void setProcessor(Processor processor)
          Sets the processor
 void setRebuild(boolean rebuild)
          If set true, all targets will be unconditionally rebuilt.
 void setRefid(org.apache.tools.ant.types.Reference ref)
          Specifies that this element should behave as if the content of the element with the matching id attribute was inserted at this location.
 void setUnless(java.lang.String propName)
          Set the property name for the 'unless' condition.
 void visitFiles(FileVisitor visitor)
          This method calls the FileVistor's visit function for every file in the processors definition
 
Methods inherited from class org.apache.tools.ant.types.DataType
circularReference, dieOnCircularReference, getCheckedRef, getDescription, isReference, noChildrenAllowed, tooManyAttributes
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getProject, log, log, setProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProcessorDef

protected ProcessorDef()
                throws java.lang.NullPointerException
Constructor
Method Detail

addConfiguredProcessorArg

protected void addConfiguredProcessorArg(CommandLineArgument arg)
                                  throws java.lang.NullPointerException,
                                         org.apache.tools.ant.BuildException
Adds a or
Parameters:
arg - command line argument, must not be null
Throws:
java.lang.NullPointerException - if arg is null
org.apache.tools.ant.BuildException - if this definition is a reference

isActive

public boolean isActive()
                 throws org.apache.tools.ant.BuildException,
                        java.lang.IllegalStateException
Determine if this def should be used. Definition will be active if the "if" variable (if specified) is set and the "unless" variable (if specified) is not set and that all reference or extended definitions are active
Returns:
true if processor is active
Throws:
java.lang.IllegalStateException - if not properly initialized
org.apache.tools.ant.BuildException - if "if" or "unless" variable contains suspicious values "false" or "no" which indicates possible confusion

addFileset

public void addFileset(ConditionalFileSet srcSet)
                throws org.apache.tools.ant.BuildException
Adds a source file set. Files in these set will be processed by this configuration and will not participate in the auction.
Parameters:
srcSet - Fileset identifying files that should be processed by this processor
Throws:
org.apache.tools.ant.BuildException - if processor definition is a reference

hasFileSets

public boolean hasFileSets()
Returns true if the processor definition contains embedded file set definitions
Returns:
true if processor definition contains embedded filesets

setIf

public void setIf(java.lang.String propName)
Sets the property name for the 'if' condition. The configuration will be ignored unless the property is defined. The value of the property is insignificant, but values that would imply misinterpretation ("false", "no") will throw an exception when evaluated.
Parameters:
propName - name of property

setUnless

public void setUnless(java.lang.String propName)
Set the property name for the 'unless' condition. If named property is set, the configuration will be ignored. The value of the property is insignificant, but values that would imply misinterpretation ("false", "no") of the behavior will throw an exception when evaluated.
Parameters:
propName - name of property

setDebug

public void setDebug(boolean debug)
              throws org.apache.tools.ant.BuildException
If set true, all targets will be built for debugging.
Parameters:
debug - true if targets should be built for debugging
Throws:
org.apache.tools.ant.BuildException - if processor definition is a reference

setRebuild

public void setRebuild(boolean rebuild)
                throws org.apache.tools.ant.BuildException
If set true, all targets will be unconditionally rebuilt.
Parameters:
rebuild - if true, rebuild all targets.
Throws:
org.apache.tools.ant.BuildException - if processor definition is a reference

getDebug

public boolean getDebug(ProcessorDef[] defaultProviders,
                        int index)
Gets boolean indicating debug build
Parameters:
defaultProviders - array of ProcessorDef's in descending priority
index - index to first element in array that should be considered
Returns:
if true, built targets for debugging

getRebuild

public boolean getRebuild(ProcessorDef[] defaultProviders,
                          int index)
Gets a boolean value indicating whether all targets must be rebuilt regardless of dependency analysis.
Parameters:
defaultProviders - array of ProcessorDef's in descending priority
index - index to first element in array that should be considered
Returns:
true if all targets should be rebuilt.

setInherit

public void setInherit(boolean inherit)
                throws org.apache.tools.ant.BuildException
If inherit has the default value of true, defines, includes and other settings from the containing element will be inherited.
Parameters:
inherit - new value
Throws:
org.apache.tools.ant.BuildException - if processor definition is a reference

getInherit

public final boolean getInherit()
Gets the inherit attribute. If the inherit value is true, this processor definition will inherit default values from the containing element.
Returns:
if true then properties from the containing element are used.

setExtends

public void setExtends(org.apache.tools.ant.types.Reference extendsRef)
                throws org.apache.tools.ant.BuildException
Specifies that this element extends the element with id attribute with a matching value. The configuration will be constructed from the settings of this element, element referenced by extends, and the containing cc element.
Parameters:
extendsRef - Reference to the extended processor definition.
Throws:
org.apache.tools.ant.BuildException - if this processor definition is a reference

getExtends

public ProcessorDef getExtends()
                        throws org.apache.tools.ant.BuildException
Gets the ProcessorDef specified by the extends attribute
Returns:
Base ProcessorDef, null if extends is not specified
Throws:
org.apache.tools.ant.BuildException - if reference is not same type object

setLibtool

public void setLibtool(boolean libtool)
Set use of libtool. If set to true, the "libtool " will be prepended to the command line
Parameters:
libtool - If true, use libtool.

getLibtool

public boolean getLibtool()

setProcessor

protected void setProcessor(Processor processor)
                     throws org.apache.tools.ant.BuildException,
                            java.lang.NullPointerException
Sets the processor
Parameters:
processor - processor, may not be null.
Throws:
org.apache.tools.ant.BuildException - if ProcessorDef is a reference
java.lang.NullPointerException - if processor is null

getProcessor

protected Processor getProcessor()
Obtains the appropriate processor (compiler, linker)
Returns:
processor

getDefaultProviders

protected final ProcessorDef[] getDefaultProviders(ProcessorDef baseDef)
Creates an chain of objects which provide default values in descending order of significance.
Parameters:
baseDef - corresponding ProcessorDef from CCTask, will be last element in array unless inherit = false
Returns:
default provider array

createConfiguration

public ProcessorConfiguration createConfiguration(CCTask task,
                                                  LinkType linkType,
                                                  ProcessorDef baseDef)
Creates a configuration
Parameters:
baseDef - reference to def from containing element, may be null
Returns:
configuration

getActiveProcessorArgs

public CommandLineArgument[] getActiveProcessorArgs()
Prepares list of processor arguments (, ) that are active for the current project settings.
Returns:
active compiler arguments

visitFiles

public void visitFiles(FileVisitor visitor)
This method calls the FileVistor's visit function for every file in the processors definition
Parameters:
visitor - object whose visit method is called for every file

setClassname

public void setClassname(java.lang.String className)
                  throws org.apache.tools.ant.BuildException
Sets the class name for the adapter. Use the "name" attribute when the tool is supported.
Parameters:
className - full class name

booleanValueOf

protected static java.lang.Boolean booleanValueOf(boolean val)
Returns the equivalent Boolean object for the specified value Equivalent to Boolean.valueOf in JDK 1.4
Parameters:
val - boolean value
Returns:
Boolean.TRUE or Boolean.FALSE

setRefid

public void setRefid(org.apache.tools.ant.types.Reference ref)
Specifies that this element should behave as if the content of the element with the matching id attribute was inserted at this location. If specified, no other attributes or child content should be specified, other than "if", "unless" and "description".
Overrides:
setRefid in class org.apache.tools.ant.types.DataType
Parameters:
ref - Reference to other element

setId

public void setId(java.lang.String id)
Sets an id that can be used to reference this element.
Parameters:
id - id

setDescription

public void setDescription(java.lang.String desc)
Sets a description of the current data type.
Overrides:
setDescription in class org.apache.tools.ant.types.DataType


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