org.apache.tools.ant.types.optional
Class ScriptSelector

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.types.DataType
          extended by org.apache.tools.ant.types.selectors.BaseSelector
              extended by org.apache.tools.ant.types.optional.ScriptSelector
All Implemented Interfaces:
java.lang.Cloneable, FileSelector

public class ScriptSelector
extends BaseSelector

Selector that lets you run a script with selection logic inline

Since:
Ant1.7

Field Summary
 
Fields inherited from class org.apache.tools.ant.types.DataType
checked, ref
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
ScriptSelector()
           
 
Method Summary
 void addText(java.lang.String text)
          The script text.
 Path createClasspath()
          Classpath to be used when searching for classes and resources.
 java.io.File getBasedir()
          get the base directory
 java.io.File getFile()
          get the file that is currently to be tested
 java.lang.String getFilename()
          get the filename of the file
 boolean isSelected()
          get state of selected flag
 boolean isSelected(java.io.File basedir, java.lang.String filename, java.io.File file)
          Method that each selector will implement to create their selection behaviour.
 void setClasspath(Path classpath)
          Set the classpath to be used when searching for classes and resources.
 void setClasspathRef(Reference r)
          Set the classpath by reference.
 void setLanguage(java.lang.String language)
          Defines the language (required).
 void setManager(java.lang.String manager)
          Defines the manager.
 void setProject(Project project)
          Set the project.
 void setSelected(boolean selected)
          set the selected state Intended for script use, not as an Ant attribute
 void setSetBeans(boolean setBeans)
          Set the setbeans attribute.
 void setSrc(java.io.File file)
          Load the script from an external file ; optional.
 
Methods inherited from class org.apache.tools.ant.types.selectors.BaseSelector
getError, setError, validate, verifySettings
 
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, setChecked, setRefid, tooManyAttributes, toString
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getDescription, getLocation, getProject, log, log, setDescription, setLocation
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ScriptSelector

public ScriptSelector()
Method Detail

setProject

public void setProject(Project project)
Set the project.

Overrides:
setProject in class ProjectComponent
Parameters:
project - the owner of this component.

setManager

public void setManager(java.lang.String manager)
Defines the manager.

Parameters:
manager - the scripting manager.

setLanguage

public void setLanguage(java.lang.String language)
Defines the language (required).

Parameters:
language - the scripting language name for the script.

setSrc

public void setSrc(java.io.File file)
Load the script from an external file ; optional.

Parameters:
file - the file containing the script source.

addText

public void addText(java.lang.String text)
The script text.

Parameters:
text - a component of the script text to be added.

setClasspath

public void setClasspath(Path classpath)
Set the classpath to be used when searching for classes and resources.

Parameters:
classpath - an Ant Path object containing the search path.

createClasspath

public Path createClasspath()
Classpath to be used when searching for classes and resources.

Returns:
an empty Path instance to be configured by Ant.

setClasspathRef

public void setClasspathRef(Reference r)
Set the classpath by reference.

Parameters:
r - a Reference to a Path instance to be used as the classpath value.

setSetBeans

public void setSetBeans(boolean setBeans)
Set the setbeans attribute. If this is true, <script> will create variables in the script instance for all properties, targets and references of the current project. It this is false, only the project and self variables will be set. The default is true.

Parameters:
setBeans - the value to set.

isSelected

public boolean isSelected(java.io.File basedir,
                          java.lang.String filename,
                          java.io.File file)
Method that each selector will implement to create their selection behaviour. If there is a problem with the setup of a selector, it can throw a BuildException to indicate the problem.

Specified by:
isSelected in interface FileSelector
Specified by:
isSelected in class BaseSelector
Parameters:
basedir - A java.io.File object for the base directory
filename - The name of the file to check
file - A File object for this filename
Returns:
whether the file should be selected or not

getBasedir

public java.io.File getBasedir()
get the base directory

Returns:
the base directory

getFilename

public java.lang.String getFilename()
get the filename of the file

Returns:
the filename of the file that is currently been tested

getFile

public java.io.File getFile()
get the file that is currently to be tested

Returns:
the file that is currently been tested

isSelected

public boolean isSelected()
get state of selected flag

Returns:
the selected flag

setSelected

public void setSelected(boolean selected)
set the selected state Intended for script use, not as an Ant attribute

Parameters:
selected - the selected state