org.schmant.task.tp
Class AbstractLinkInsertionTask<T extends AbstractLinkInsertionTask<T>>

java.lang.Object
  extended by org.schmant.support.AbstractArgumentChecker
      extended by org.schmant.task.stub.AbstractTask<T>
          extended by org.schmant.task.stub.AbstractActionTask<T>
              extended by org.schmant.task.stub.AbstractProcessTask<T>
                  extended by org.schmant.task.template.text.AbstractTextInsertionTask<T>
                      extended by org.schmant.task.tp.AbstractLinkInsertionTask<T>
All Implemented Interfaces:
Producer<WritableFile>, TaskDependency, ActionTaskConfigurable<T>, ActionTaskSpec<T>, LoggingConfigurable<T>, OverwriteConfigurable<T>, SourceConfigurable<T>, SourceConfigured, TargetConfigurable<T>, TargetConfigured, GeneratorTaskConfigurable<T>, GeneratorTaskSpec<T>, ProcessTaskConfigurable<T>, ProcessTaskSpec<T>, Task, TaskRunnable, TaskSpecification<T>
Direct Known Subclasses:
ArgumentInterpreterLinksTask, TaskFactoryLinksTask

public abstract class AbstractLinkInsertionTask<T extends AbstractLinkInsertionTask<T>>
extends AbstractTextInsertionTask<T>

Abstract base class for tasks that insert hypertext links in text.

Since:
0.8
Author:
Karl Gustafsson
Task_package:
org.schmant.task.taskfactory

Field Summary
 
Fields inherited from class org.schmant.task.template.text.AbstractTextInsertionTask
DEFAULT_BUFFER_SIZE
 
Fields inherited from interface org.schmant.task.confable.OverwriteConfigurable
DEFAULT_OVERWRITE_STRATEGY
 
Constructor Summary
AbstractLinkInsertionTask()
           
 
Method Summary
 void copyProperties(T spec)
          Override the implementation from AbstractTask to copy the source properties.
protected  List<PatternAndStrategy> createReplaces(ReadableFile source)
          Subclasses implement this method to create the replaces that it uses.
protected abstract  List<PatternAndStrategy> createReplacesFromBaseUrl(String effectiveBaseUrl)
           
protected  Object getBaseDirectory()
           
protected abstract  String getDefaultDocBaseUrl()
           
protected  String getDocBaseUrl()
           
protected  String getLinkClass()
          This method may be overridden by subclasses that want to return a default link class if none is set.
protected  String getLinkTarget()
           
 
Methods inherited from class org.schmant.task.template.text.AbstractTextInsertionTask
get, getBufferSize, getInputEncoding, getOutputEncoding, getTempDirectory, isErrorIfReplaceNotFound, runInternal
 
Methods inherited from class org.schmant.task.stub.AbstractProcessTask
getOverwriteStrategy, getTarget, isTargetMandatory, setOverwrite, setOverwriteStrategy, setTarget, toString, validate
 
Methods inherited from class org.schmant.task.stub.AbstractActionTask
addSource, addSources, clearSources, getRelativeToBase, getSource, getSources, isMoreThanOneSourceAllowed, isSourcesMandatory, setRelativeToBase, setSource, setSources
 
Methods inherited from class org.schmant.task.stub.AbstractTask
cancel, createTask, getDefaultLogFooter, getDefaultLogHeader, getDependencyForTasksScheduledByThisTask, getDependencyObservable, getFailureCause, getLogFooter, getLogHeader, getSatisfiedStateLock, getThis, isCancelled, isDone, isInterrupted, isRunning, isSatisfied, isSuccessful, run, setLogFooter, setLogHeader, setReportLevel, setTraceLogging
 
Methods inherited from class org.schmant.support.AbstractArgumentChecker
check, check, check, check
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.schmant.task.confable.SourceConfigurable
addSource, addSources, clearSources, setRelativeToBase, setSource, setSources
 
Methods inherited from interface org.schmant.task.confable.SourceConfigured
getSource, getSources
 
Methods inherited from interface org.schmant.task.TaskSpecification
createTask
 
Methods inherited from interface org.schmant.task.confable.LoggingConfigurable
setLogFooter, setLogHeader, setReportLevel, setTraceLogging
 

Constructor Detail

AbstractLinkInsertionTask

public AbstractLinkInsertionTask()
Method Detail

getDefaultDocBaseUrl

protected abstract String getDefaultDocBaseUrl()

getDocBaseUrl

protected final String getDocBaseUrl()

getLinkClass

protected String getLinkClass()
This method may be overridden by subclasses that want to return a default link class if none is set.

Returns:
The set link class, if any.

getBaseDirectory

protected final Object getBaseDirectory()

getLinkTarget

protected final String getLinkTarget()

createReplacesFromBaseUrl

protected abstract List<PatternAndStrategy> createReplacesFromBaseUrl(String effectiveBaseUrl)

createReplaces

protected final List<PatternAndStrategy> createReplaces(ReadableFile source)
Description copied from class: AbstractTextInsertionTask
Subclasses implement this method to create the replaces that it uses.

Specified by:
createReplaces in class AbstractTextInsertionTask<T extends AbstractLinkInsertionTask<T>>

copyProperties

public void copyProperties(T spec)
Description copied from class: AbstractActionTask
Override the implementation from AbstractTask to copy the source properties. Subclasses must override this to copy their own properties.

Specified by:
copyProperties in interface TaskSpecification<T extends AbstractLinkInsertionTask<T>>
Overrides:
copyProperties in class AbstractTextInsertionTask<T extends AbstractLinkInsertionTask<T>>
Parameters:
spec - The specification to copy properties to.