org.mule.transport.file
Class FileConnector

java.lang.Object
  extended by org.mule.transport.AbstractConnector
      extended by org.mule.transport.file.FileConnector
All Implemented Interfaces:
ExceptionListener, EventListener, javax.resource.spi.work.WorkListener, MuleContextAware, Disposable, Initialisable, Lifecycle, Startable, Stoppable, NamedObject, Connectable, Connector

public class FileConnector
extends AbstractConnector

FileConnector is used for setting up listeners on a directory and for writing files to a directory. The connecotry provides support for defining file output patterns and filters for receiving files.


Field Summary
static long DEFAULT_POLLING_FREQUENCY
           
static String FILE
           
 FilenameParser filenameParser
           
static String PROPERTY_DIRECTORY
           
static String PROPERTY_FILE_AGE
           
static String PROPERTY_FILE_SIZE
           
static String PROPERTY_FILENAME
           
static String PROPERTY_MOVE_TO_DIRECTORY
           
static String PROPERTY_MOVE_TO_PATTERN
           
static String PROPERTY_ORIGINAL_FILENAME
           
static String PROPERTY_OUTPUT_PATTERN
           
static String PROPERTY_POLLING_FREQUENCY
           
static String PROPERTY_READ_FROM_DIRECTORY
           
static String PROPERTY_WRITE_TO_DIRECTORY
           
 
Fields inherited from class org.mule.transport.AbstractConnector
connected, createMultipleTransactedReceivers, DEFAULT_NUM_CONCURRENT_TX_RECEIVERS, dispatcherFactory, dispatchers, disposed, exceptionListener, initialised, muleContext, name, numberOfConcurrentTransactedReceivers, receivers, requesterFactory, requesters, serviceDescriptor, serviceOverrides, sessionHandler, started, startOnConnect
 
Fields inherited from interface org.mule.api.transport.Connector
INT_VALUE_NOT_SET
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Startable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Stoppable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
FileConnector()
           
 
Method Summary
 MessageReceiver createReceiver(Service service, InboundEndpoint endpoint)
          Registers a listener for a particular directory The following properties can be overriden in the endpoint declaration moveToDirectory filterPatterns filterClass pollingFrequency
protected  void doConnect()
          Template method where any connections should be made for the connector
protected  void doDisconnect()
          Template method where any connected resources used by the connector should be disconnected
protected  void doDispose()
          Template method to perform any work when destroying the connectoe
protected  void doInitialise()
           
protected  void doStart()
          Template method to perform any work when starting the connectoe
protected  void doStop()
          Template method to perform any work when stopping the connectoe
 boolean getCheckFileAge()
           
 long getFileAge()
           
 FilenameParser getFilenameParser()
           
 MessageAdapter getMessageAdapter(Object message)
          Gets a MessageAdapter for the endpoint for the given message (data)
 String getMoveToDirectory()
           
 String getMoveToPattern()
           
 String getOutputPattern()
           
 FileOutputStream getOutputStream()
           
 OutputStream getOutputStream(ImmutableEndpoint endpoint, MuleMessage message)
          Well get the output stream (if any) for this type of transport.
 long getPollingFrequency()
           
 String getProtocol()
           
 String getReadFromDirectory()
           
protected  Object getReceiverKey(Service service, InboundEndpoint endpoint)
          The method determines the key used to store the receiver against.
 String getWriteToDirectory()
           
 boolean isAutoDelete()
           
 boolean isOutputAppend()
           
 boolean isSerialiseObjects()
           
 boolean isStreaming()
           
 void setAutoDelete(boolean autoDelete)
           
 void setFileAge(long fileAge)
           
 void setFilenameParser(FilenameParser filenameParser)
           
 void setMaxDispatchersActive(int value)
          Configures the maximum number of dispatchers that can be concurrently active per endpoint
 void setMoveToDirectory(String dir)
           
 void setMoveToPattern(String moveToPattern)
           
 void setOutputAppend(boolean outputAppend)
           
 void setOutputPattern(String outputPattern)
           
 void setOutputStream(FileOutputStream outputStream)
           
 void setPollingFrequency(long pollingFrequency)
           
 void setReadFromDirectory(String dir)
           
 void setSerialiseObjects(boolean serialiseObjects)
           
 void setStreaming(boolean streaming)
           
 void setWriteToDirectory(String dir)
           
 
Methods inherited from class org.mule.transport.AbstractConnector
checkDisposed, connect, destroyReceiver, disconnect, dispatch, dispose, disposeDispatchers, disposeReceivers, disposeRequesters, disposeWorkManagers, exceptionThrown, fireNotification, getConnectEventId, getConnectionDescription, getDefaultInboundTransformers, getDefaultOutboundTransformers, getDefaultResponseTransformers, getDispatcherFactory, getDispatcherThreadingProfile, getDispatcherWorkManager, getExceptionListener, getMaxDispatchersActive, getMaxRequestersActive, getMuleContext, getName, getNumberOfConcurrentTransactedReceivers, getOutputStream, getReceiver, getReceivers, getReceivers, getReceiverThreadingProfile, getReceiverWorkManager, getReplyToHandler, getRequesterFactory, getRequesterThreadingProfile, getRequesterWorkManager, getRetryPolicyTemplate, getScheduler, getServiceDescriptor, getServiceOverrides, getSessionHandler, getSupportedProtocols, handleException, handleException, handleWorkException, initFromServiceDescriptor, initialise, initialiseFromUrl, initWorkManagers, isConnected, isCreateMultipleTransactedReceivers, isDisposed, isEnableMessageEvents, isResponseEnabled, isStarted, isSyncEnabled, isValidateConnections, lookupReceiver, registerListener, registerSupportedProtocol, registerSupportedProtocolWithoutPrefix, request, request, send, setConnected, setCreateMultipleTransactedReceivers, setDispatcherFactory, setDispatcherThreadingProfile, setDynamicNotification, setExceptionListener, setMaxRequestersActive, setMuleContext, setName, setNumberOfConcurrentTransactedReceivers, setReceiverThreadingProfile, setRequesterFactory, setRequesterThreadingProfile, setRetryPolicyTemplate, setServiceOverrides, setSessionHandler, setSupportedProtocols, setupDispatchReturn, setupRequestReturn, setValidateConnections, start, stop, supportsProtocol, toString, unregisterListener, unregisterSupportedProtocol, updateCachedNotificationHandler, validateConnection, workAccepted, workCompleted, workRejected, workStarted
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FILE

public static final String FILE
See Also:
Constant Field Values

PROPERTY_POLLING_FREQUENCY

public static final String PROPERTY_POLLING_FREQUENCY
See Also:
Constant Field Values

PROPERTY_FILE_AGE

public static final String PROPERTY_FILE_AGE
See Also:
Constant Field Values

PROPERTY_MOVE_TO_PATTERN

public static final String PROPERTY_MOVE_TO_PATTERN
See Also:
Constant Field Values

PROPERTY_MOVE_TO_DIRECTORY

public static final String PROPERTY_MOVE_TO_DIRECTORY
See Also:
Constant Field Values

PROPERTY_READ_FROM_DIRECTORY

public static final String PROPERTY_READ_FROM_DIRECTORY
See Also:
Constant Field Values

PROPERTY_OUTPUT_PATTERN

public static final String PROPERTY_OUTPUT_PATTERN
See Also:
Constant Field Values

PROPERTY_FILENAME

public static final String PROPERTY_FILENAME
See Also:
Constant Field Values

PROPERTY_ORIGINAL_FILENAME

public static final String PROPERTY_ORIGINAL_FILENAME
See Also:
Constant Field Values

PROPERTY_DIRECTORY

public static final String PROPERTY_DIRECTORY
See Also:
Constant Field Values

PROPERTY_WRITE_TO_DIRECTORY

public static final String PROPERTY_WRITE_TO_DIRECTORY
See Also:
Constant Field Values

PROPERTY_FILE_SIZE

public static final String PROPERTY_FILE_SIZE
See Also:
Constant Field Values

DEFAULT_POLLING_FREQUENCY

public static final long DEFAULT_POLLING_FREQUENCY
See Also:
Constant Field Values

filenameParser

public FilenameParser filenameParser
Constructor Detail

FileConnector

public FileConnector()
Method Detail

setMaxDispatchersActive

public void setMaxDispatchersActive(int value)
Description copied from class: AbstractConnector
Configures the maximum number of dispatchers that can be concurrently active per endpoint

Overrides:
setMaxDispatchersActive in class AbstractConnector
Parameters:
value - max. number of active dispatchers

getReceiverKey

protected Object getReceiverKey(Service service,
                                InboundEndpoint endpoint)
Description copied from class: AbstractConnector
The method determines the key used to store the receiver against.

Overrides:
getReceiverKey in class AbstractConnector
Parameters:
service - the service for which the endpoint is being registered
endpoint - the endpoint being registered for the service
Returns:
the key to store the newly created receiver against

createReceiver

public MessageReceiver createReceiver(Service service,
                                      InboundEndpoint endpoint)
                               throws Exception
Registers a listener for a particular directory The following properties can be overriden in the endpoint declaration

Overrides:
createReceiver in class AbstractConnector
Parameters:
service - the service that will receive events from this receiver, the listener
endpoint - the endpoint that defies this inbound communication
Returns:
an instance of the message receiver defined in this connectors' TransportServiceDescriptor initialised using the service and endpoint.
Throws:
Exception - if there is a problem creating the receiver. This exception really depends on the underlying transport, thus any exception could be thrown

getProtocol

public String getProtocol()
Returns:
the primary protocol name for endpoints of this connector

getFilenameParser

public FilenameParser getFilenameParser()

setFilenameParser

public void setFilenameParser(FilenameParser filenameParser)

doDispose

protected void doDispose()
Description copied from class: AbstractConnector
Template method to perform any work when destroying the connectoe

Specified by:
doDispose in class AbstractConnector

doInitialise

protected void doInitialise()
                     throws InitialisationException
Specified by:
doInitialise in class AbstractConnector
Throws:
InitialisationException

doConnect

protected void doConnect()
                  throws Exception
Description copied from class: AbstractConnector
Template method where any connections should be made for the connector

Specified by:
doConnect in class AbstractConnector
Throws:
Exception

doDisconnect

protected void doDisconnect()
                     throws Exception
Description copied from class: AbstractConnector
Template method where any connected resources used by the connector should be disconnected

Specified by:
doDisconnect in class AbstractConnector
Throws:
Exception

doStart

protected void doStart()
                throws MuleException
Description copied from class: AbstractConnector
Template method to perform any work when starting the connectoe

Specified by:
doStart in class AbstractConnector
Throws:
MuleException - if the method fails

doStop

protected void doStop()
               throws MuleException
Description copied from class: AbstractConnector
Template method to perform any work when stopping the connectoe

Specified by:
doStop in class AbstractConnector
Throws:
MuleException - if the method fails

getMoveToDirectory

public String getMoveToDirectory()
Returns:
Returns the moveToDirectoryName.

setMoveToDirectory

public void setMoveToDirectory(String dir)
Parameters:
dir - The moveToDirectoryName to set.

isOutputAppend

public boolean isOutputAppend()
Returns:
Returns the outputAppend.

setOutputAppend

public void setOutputAppend(boolean outputAppend)
Parameters:
outputAppend - The outputAppend to set.

getOutputPattern

public String getOutputPattern()
Returns:
Returns the outputPattern.

setOutputPattern

public void setOutputPattern(String outputPattern)
Parameters:
outputPattern - The outputPattern to set.

getOutputStream

public FileOutputStream getOutputStream()
Returns:
Returns the outputStream.

setOutputStream

public void setOutputStream(FileOutputStream outputStream)
Parameters:
outputStream - The outputStream to set.

getPollingFrequency

public long getPollingFrequency()
Returns:
Returns the pollingFrequency.

setPollingFrequency

public void setPollingFrequency(long pollingFrequency)
Parameters:
pollingFrequency - The pollingFrequency to set.

getFileAge

public long getFileAge()
Returns:
Returns the fileAge.

getCheckFileAge

public boolean getCheckFileAge()

setFileAge

public void setFileAge(long fileAge)
Parameters:
fileAge - The fileAge in milliseconds to set.

getWriteToDirectory

public String getWriteToDirectory()
Returns:
Returns the writeToDirectory.

setWriteToDirectory

public void setWriteToDirectory(String dir)
                         throws IOException
Parameters:
dir - The writeToDirectory to set.
Throws:
IOException

getReadFromDirectory

public String getReadFromDirectory()
Returns:
Returns the readFromDirectory.

setReadFromDirectory

public void setReadFromDirectory(String dir)
                          throws IOException
Parameters:
dir - The readFromDirectory to set.
Throws:
IOException

isSerialiseObjects

public boolean isSerialiseObjects()

setSerialiseObjects

public void setSerialiseObjects(boolean serialiseObjects)

isAutoDelete

public boolean isAutoDelete()

setAutoDelete

public void setAutoDelete(boolean autoDelete)

getMoveToPattern

public String getMoveToPattern()

setMoveToPattern

public void setMoveToPattern(String moveToPattern)

getOutputStream

public OutputStream getOutputStream(ImmutableEndpoint endpoint,
                                    MuleMessage message)
                             throws MuleException
Well get the output stream (if any) for this type of transport. Typically this will be called only when Streaming is being used on an outbound endpoint

Parameters:
endpoint - the endpoint that releates to this Dispatcher
message - the current message being processed
Returns:
the output stream to use for this request or null if the transport does not support streaming
Throws:
MuleException

isStreaming

public boolean isStreaming()

setStreaming

public void setStreaming(boolean streaming)

getMessageAdapter

public MessageAdapter getMessageAdapter(Object message)
                                 throws MessagingException
Description copied from class: AbstractConnector
Gets a MessageAdapter for the endpoint for the given message (data)

Specified by:
getMessageAdapter in interface Connector
Overrides:
getMessageAdapter in class AbstractConnector
Parameters:
message - the data with which to initialise the MessageAdapter
Returns:
the MessageAdapter for the endpoint
Throws:
MessagingException - if the message parameter is not supported
See Also:
MessageAdapter


Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.