DefaultBuildDriver Class

com.bea.ide.workspace.project
DefaultBuildDriver Class

public abstract class DefaultBuildDriver

    extends Object
    implements IBuildDriver

Default implementation of a project build driver.


Hierarchy
Object
  DefaultBuildDriver
All Implemented Interfaces

IBuildDriver, IProjectDriver

Field Summary

protected static final String
_beahomeString
String
protected static final URI
_beahomeUri
URI
protected static final String
_platformhomeString
String
protected static final URI
_platformhomeUri
URI
protected IProject
_project
IProject
protected static final String
_tempDirString
String
protected static final URI
_tempDirUri
URI
protected static final String
_userHomeString
String
protected static final URI
_userHomeUri
URI
public static String
APP_LD_STRING
String
public static Pattern
APP_LOCALDIR
Pattern
public static String
BEAHOME_LD_STRING
String
public static Pattern
BEAHOME_LOCALDIR
Pattern
public static Pattern
CLASS_PATH
Pattern
public static Pattern
DEST_PATH
Pattern
public static Pattern
DIR
Pattern
protected static final String
EMPTY_STRING_ARRAY
String
public static String
FILESET_STRING
String
public static Pattern
IDEPROJECT
Pattern
public static Pattern
JAR_PATH
Pattern
public static Pattern
OUTPUT_DIRECTORY
Pattern
public static Pattern
OUTPUT_FILENAME
Pattern
public static String
PLATFORMHOME_LD_STRING
String
public static Pattern
PLATFORMHOME_LOCALDIR
Pattern
public static Pattern
PROJECT
Pattern
public static String
PROJECT_LD_STRING
String
public static Pattern
PROJECT_LOCALDIR
Pattern
public static Pattern
SRC_FILESETS
Pattern
public static Pattern
SRC_PATH
Pattern
public static String
TEMPDIR_STRING
String
public static String
USER_HOME_STRING
String
 

Constructor Summary

DefaultBuildDriver(IProject project)

 

Method Summary

public void
activate()
Called when the IProject this driver was added to has been activated.
public void
deactivate()
Called when the IProject this driver was added to has been deactivated.
public String
expandClassPath(String source)
Substitutes a project classpath string which uses the local app/project/platform directory properties.
public String
expandLocalDirs(String source)
Substitues local directory settings for standard ant build properties.
public String[]
getAntClassPath()
Returns the list of jars that should be put on the system classpath of the ant thread executing this driver's ant script.
public String[]
getApplicationClassPath(String[] cpApplication)
Returns the application-level build classpath.
public IProjectPropertyPanel
getBuildPropertyPanel()
Returns a panel for editing build properties managed by this driver.
public IProjectPropertyPanel
getPathsPropertyPanel()
Returns a panel for editing paths used by this driver, typically classpath and source path.
public String[]
getProjectClassPath()
Returns a list of any project level libraries or directories that should be included in the build classpath.
public String[]
getServerClassPath(String[] cpServer)
Returns the server-level build classpath for the project.
protected String[]
getSourcePath()
Returns the source path array for this project type.
public String
prepareForReplace(StringBuffer buffer)
Escapes strings before use in regex.replace() and appendReplacement() calls.
public String
prepareForReplace(String path)
Escapes strings before use in regex.replace() and appendReplacement() calls.
public String
relativizeAntPath(URI uri)
Relative paths are relative to either project, application, beahome, temp or user dir.
protected void
setSourcePath(String[] sourcepathNew)
Sets IProject.PROP_SourcePath after first checking that there is in fact a change in the path list.
 
Methods from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
   
Methods from interface com.bea.ide.workspace.project.IBuildDriver
getAntClassPath, getAntScript, getApplicationClassPath, getBuildPropertyPanel, getPathsPropertyPanel, getProjectClassPath, getServerClassPath
 
Methods from interface com.bea.ide.workspace.project.IProjectDriver
activate, deactivate
 

Field Detail

_beahomeString

protected static final String _beahomeString


_beahomeUri

protected static final URI _beahomeUri


_platformhomeString

protected static final String _platformhomeString


_platformhomeUri

protected static final URI _platformhomeUri


_project

protected IProject _project


_tempDirString

protected static final String _tempDirString


_tempDirUri

protected static final URI _tempDirUri


_userHomeString

protected static final String _userHomeString


_userHomeUri

protected static final URI _userHomeUri


APP_LD_STRING

public static String APP_LD_STRING


APP_LOCALDIR

public static Pattern APP_LOCALDIR


BEAHOME_LD_STRING

public static String BEAHOME_LD_STRING


BEAHOME_LOCALDIR

public static Pattern BEAHOME_LOCALDIR


CLASS_PATH

public static Pattern CLASS_PATH


DEST_PATH

public static Pattern DEST_PATH


DIR

public static Pattern DIR


EMPTY_STRING_ARRAY

protected static final String EMPTY_STRING_ARRAY


FILESET_STRING

public static String FILESET_STRING


IDEPROJECT

public static Pattern IDEPROJECT


JAR_PATH

public static Pattern JAR_PATH


OUTPUT_DIRECTORY

public static Pattern OUTPUT_DIRECTORY


OUTPUT_FILENAME

public static Pattern OUTPUT_FILENAME


PLATFORMHOME_LD_STRING

public static String PLATFORMHOME_LD_STRING


PLATFORMHOME_LOCALDIR

public static Pattern PLATFORMHOME_LOCALDIR


PROJECT

public static Pattern PROJECT


PROJECT_LD_STRING

public static String PROJECT_LD_STRING


PROJECT_LOCALDIR

public static Pattern PROJECT_LOCALDIR


SRC_FILESETS

public static Pattern SRC_FILESETS


SRC_PATH

public static Pattern SRC_PATH


TEMPDIR_STRING

public static String TEMPDIR_STRING


USER_HOME_STRING

public static String USER_HOME_STRING

 

Constructor Detail

DefaultBuildDriver

public DefaultBuildDriver(IProject project)
 

Method Detail

activate() Method

public void activate()
Description copied from IProjectDriver.activate()
Called when the IProject this driver was added to has been activated. Project drivers should not assume the project is open in the IDE until this method is called. File system and application listeners used by the driver should be added in this method.


deactivate() Method

public void deactivate()
Description copied from IProjectDriver.deactivate()
Called when the IProject this driver was added to has been deactivated. File system and application listeners used by the driver should be removed in this method.


expandClassPath(String) Method

public String expandClassPath(String source)
Substitutes a project classpath string which uses the local app/project/platform directory properties.

Parameters

source
ant script containing class path to be expanded.

Returns

ant script with class path expanded.

expandLocalDirs(String) Method

public String expandLocalDirs(String source)
Substitues local directory settings for standard ant build properties.

Parameters

source
ant script with local directory values to be expanded.

Returns

ant script with local directory property values expanded.

getAntClassPath() Method

public String[] getAntClassPath()
Description copied from IBuildDriver.getAntClassPath()
Returns the list of jars that should be put on the system classpath of the ant thread executing this driver's ant script. Jar's containing custom ant task implementations should be included in this list.

Returns

Array of jar paths

getApplicationClassPath(String[]) Method

public String[] getApplicationClassPath(String[] cpApplication)
Description copied from IBuildDriver.getApplicationClassPath(String[])
Returns the application-level build classpath. A build driver that puts its build output in the application libraries or modules folder should remove those jars from the application classpath.

Parameters

cpApplication
The current application-level classpath array. Includes all application Library and Module jars, and APP-INF/classes if it exists.

Returns

application classpath, potentially modifed

getBuildPropertyPanel() Method

public IProjectPropertyPanel getBuildPropertyPanel()
Description copied from IBuildDriver.getBuildPropertyPanel()
Returns a panel for editing build properties managed by this driver. The panel will get and set properties on the IProject referenced by the driver. Components in the panel will be disabled if the user has chosen to use an external ant script.

If this driver does not need to display build properties, this method will return null.

Returns

IPropertyPanel, null if this driver does not display build properties.

getPathsPropertyPanel() Method

public IProjectPropertyPanel getPathsPropertyPanel()
Description copied from IBuildDriver.getPathsPropertyPanel()
Returns a panel for editing paths used by this driver, typically classpath and source path. If this driver does not support configurable path settings, this method will return null.

Returns

IProjectPropertyPanel, null if this driver does not support paths properties.

getProjectClassPath() Method

public String[] getProjectClassPath()
Description copied from IBuildDriver.getProjectClassPath()
Returns a list of any project level libraries or directories that should be included in the build classpath.

Returns

project-level classpath array.

getServerClassPath(String[]) Method

public String[] getServerClassPath(String[] cpServer)
Description copied from IBuildDriver.getServerClassPath(String[])
Returns the server-level build classpath for the project. Typically, the driver will not modify the current default server classpath.

Parameters

cpServer
Server classpath array.

Returns

server classpath array to use for the project.

getSourcePath() Method

protected String[] getSourcePath()
Returns the source path array for this project type.

Returns

array of source path strings

prepareForReplace(StringBuffer) Method

public String prepareForReplace(StringBuffer buffer)
Escapes strings before use in regex.replace() and appendReplacement() calls.

Parameters

buffer
StringBuffer to check for characters that need escaping.

Returns

String with escaped characters.

prepareForReplace(String) Method

public String prepareForReplace(String path)
Escapes strings before use in regex.replace() and appendReplacement() calls.

Parameters

path
String to check for characters that need escaping.

Returns

String with escaped characters.

relativizeAntPath(URI) Method

public String relativizeAntPath(URI uri)
Relative paths are relative to either project, application, beahome, temp or user dir. If none can be found, then the full path is returned. The file separator is always forward-slash.

Parameters

uri
URI to relativize.

Returns

String which uses project/app/platform/etc. directory properties.

setSourcePath(String[]) Method

protected void setSourcePath(String[] sourcepathNew)
Sets IProject.PROP_SourcePath after first checking that there is in fact a change in the path list.

Parameters

sourcepathNew
Array of source path strings.