public class FileRemover extends TypedAtomicActor
Connects to a remote host using Ssh protocol (or does nothing for the local host) and deletes files/directories matching a given mask.
This actor uses the org.kepler.ssh package for longlasting connections. If the host is empty string or equals "local", the Java Runtime will be used for local execution instead of ssh.
The input should define:
A file mask can contain wildcards in the path expressions as well as in the file name part. E.g. /path/d*r/../sub??/./f*.txt is a valid expression. In case of remote operations, the command will be actually the 'rm -rf' command (without -r if 'recursive' is not set).
A relative path in the file mask is relative to the home directory in case of remote operations and relative to the current directory in case of local operations.
Note, that symbolic links will also be deleted, but if they are referring to a directory, they are not followed. This is how 'rm -rf' works and the local version implements the same behaviour.
This actor produces a Boolean token on 'succ' port. TRUE indicates successful operation, while false indicates an error. The actor also produces a String token on the 'error' port; an empty string on success, internal error messages on failure.
Entity.ContainedObjectsIterator| Modifier and Type | Field and Description |
|---|---|
Parameter |
allowMask
Specifying whether wildcards (* and ?)
|
TypedIOPort |
error
The string representation of all the errors that happened during the
execution of the actor, if there are any.
|
PortParameter |
mask
File mask as String.
|
Parameter |
recursive
Specifying whether directories can be removed recursively.
|
TypedIOPort |
succ
The flag of successful removal.
|
PortParameter |
target
Target in user@host:port format.
|
_typesValid_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKSCOMPLETED, NOT_READY, STOP_ITERATING| Constructor and Description |
|---|
FileRemover(CompositeEntity container,
java.lang.String name)
Construct an FileRemover actor with the given container and name.
|
| Modifier and Type | Method and Description |
|---|---|
void |
fire()
Perform copying.
|
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeChanged, attributeDeleted, attributeList, attributeList, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspaceequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcreateReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortListisFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminateaddInitializable, initialize, preinitialize, removeInitializable, wrapupdescription, getContainer, getDisplayName, getFullName, getName, getName, setNamegetDerivedLevel, getDerivedList, propagateValuepublic PortParameter target
public PortParameter mask
public TypedIOPort succ
public TypedIOPort error
public FileRemover(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
container - The container.name - The name of this actor.IllegalActionException - If the entity cannot be contained by the proposed
container.NameDuplicationException - If the container already has an actor with this name.public void fire() throws IllegalActionException
fire in interface Executablefire in class AtomicActor<TypedIOPort>IllegalActionException - If it is thrown by the send() method sending out the
token.