Class Clean
- java.lang.Object
-
- ca.cgjennings.apps.arkham.project.TaskAction
-
- ca.cgjennings.apps.arkham.project.Clean
-
- All Implemented Interfaces:
IconProvider
public class Clean extends TaskAction
Task action that deletes build products. This task action can be used with custom task types. It is applicable to any task folder that defines the key with the nameKEY_CLEAN_EXTENSIONS
("clean-ext"). The value of this key should be set to a comma-separated list of the file extensions of all file types that should be deleted by the action. For example, the value "class,jar" would delete all compiled Java class files and JAR archives.- Since:
- 2.1
- Author:
- Chris Jennings
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
KEY_CLEAN_EXTENSIONS
Set the key with this name on a task's settings to a comma-separated list of file extensions and the clean command will automatically apply to that task and delete the files with those extensions.
-
Constructor Summary
Constructors Constructor Description Clean()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
appliesTo(Project project, Task task, Member member)
Returnstrue
if this action can be performed on the specified member of a project, project or a task.java.lang.String
getDescription()
Returns a longer description of the action, suitable for use as a tool tip.java.lang.String
getLabel()
Returns the human-readable name of this action.boolean
perform(Project project, Task task, Member member)
Perform this action on a member of a project, a project or a task.protected boolean
willDelete(Member m, java.lang.String[] extensions)
Returnstrue
if the clean command should delete a particular file or folder.-
Methods inherited from class ca.cgjennings.apps.arkham.project.TaskAction
appliesToSelection, applyToChildren, getActionName, getIcon, performOnSelection, resolveTarget, toString
-
-
-
-
Field Detail
-
KEY_CLEAN_EXTENSIONS
public static final java.lang.String KEY_CLEAN_EXTENSIONS
Set the key with this name on a task's settings to a comma-separated list of file extensions and the clean command will automatically apply to that task and delete the files with those extensions.- See Also:
Task.getSettings()
, Constant Field Values
-
-
Method Detail
-
getLabel
public java.lang.String getLabel()
Description copied from class:TaskAction
Returns the human-readable name of this action.- Specified by:
getLabel
in classTaskAction
- Returns:
- the name used to create menu items for this action, localized if possible
-
getDescription
public java.lang.String getDescription()
Description copied from class:TaskAction
Returns a longer description of the action, suitable for use as a tool tip.- Overrides:
getDescription
in classTaskAction
- Returns:
- a long description of the action, or
null
-
perform
public boolean perform(Project project, Task task, Member member)
Description copied from class:TaskAction
Perform this action on a member of a project, a project or a task. If the project itself is the target,task
andmember
will benull
. If a task is the target, thenmember
will be null. If an error occurs while executing the task, then it is the action's responsibility to inform the user. This method can returnfalse
to indicate that if the action is being applied to multiple members, it should stop immediately rather than continue to the next member.- Specified by:
perform
in classTaskAction
- Parameters:
project
- the project that is being acted upontask
- the task within the project that is being acted upon;null
if acting on a projectmember
- the specific member within the task to act upon;null
if this is a project or task
-
appliesTo
public boolean appliesTo(Project project, Task task, Member member)
Description copied from class:TaskAction
Returnstrue
if this action can be performed on the specified member of a project, project or a task. If the project itself is the target,task
andmember
will benull
. If a task is the target, thenmember
will be null. If an error occurs while executing the task, then it is the action's responsibility to inform the user. This method can returnfalse
to indicate that if the action is being applied to multiple members, it should stop immediately rather than continue to the next member.- Specified by:
appliesTo
in classTaskAction
- Parameters:
project
- the project that is being acted upontask
- the task within the project that is being acted upon;null
if acting on a projectmember
- the specific member within the task to act upon;null
if this is a project or task
-
willDelete
protected boolean willDelete(Member m, java.lang.String[] extensions)
Returnstrue
if the clean command should delete a particular file or folder. The base class implementation returnstrue
when the member is not a folder and its extension matches one of those that is passed in. Subclasses can override this to create customized clean actions for a specific task. (If the new action usesKEY_CLEAN_EXTENSIONS
, then you should extend the original command as aSpecializedAction
to avoid having both clean commands match a task.)- Parameters:
m
- the candidate for deletionextensions
- an array of file extensions that may be used to assist in decision-making- Returns:
true
ifm
should be deleted by a clean operation
-
-