org.apache.camel.component.file
Class GenericFileProducer<T>

java.lang.Object
  extended by org.apache.camel.support.ServiceSupport
      extended by org.apache.camel.impl.DefaultProducer
          extended by org.apache.camel.component.file.GenericFileProducer<T>
All Implemented Interfaces:
IsSingleton, Processor, Producer, Service, ShutdownableService, StatefulService, SuspendableService

public class GenericFileProducer<T>
extends DefaultProducer

Generic file producer


Field Summary
protected  GenericFileEndpoint<T> endpoint
           
protected  org.slf4j.Logger log
           
protected  GenericFileOperations<T> operations
           
 
Fields inherited from class org.apache.camel.support.ServiceSupport
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
 
Constructor Summary
protected GenericFileProducer(GenericFileEndpoint<T> endpoint, GenericFileOperations<T> operations)
           
 
Method Summary
 String createFileName(Exchange exchange)
           
 String createTempFileName(Exchange exchange, String fileName)
           
protected  void doStart()
          Implementations override this method to support customized start/stop.
protected  void doStop()
          Implementations override this method to support customized start/stop.
 String getFileSeparator()
           
 void handleFailedWrite(Exchange exchange, Exception exception)
          If we fail writing out a file, we will call this method.
 String normalizePath(String name)
           
 void postWriteCheck()
          Perform any actions that need to occur after we are done such as disconnecting.
 void preWriteCheck()
          Perform any actions that need to occur before we write such as connecting to an FTP server etc.
 void process(Exchange exchange)
          Processes the message exchange
protected  void processExchange(Exchange exchange, String target)
          Perform the work to process the fileExchange
 void setOperations(GenericFileOperations<T> operations)
          Sets the operations to be used.
 void writeFile(Exchange exchange, String fileName)
           
 
Methods inherited from class org.apache.camel.impl.DefaultProducer
createExchange, createExchange, createExchange, getEndpoint, isSingleton, toString
 
Methods inherited from class org.apache.camel.support.ServiceSupport
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, resume, shutdown, start, stop, suspend
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.camel.Service
start, stop
 

Field Detail

log

protected final transient org.slf4j.Logger log

endpoint

protected final GenericFileEndpoint<T> endpoint

operations

protected GenericFileOperations<T> operations
Constructor Detail

GenericFileProducer

protected GenericFileProducer(GenericFileEndpoint<T> endpoint,
                              GenericFileOperations<T> operations)
Method Detail

getFileSeparator

public String getFileSeparator()

normalizePath

public String normalizePath(String name)

process

public void process(Exchange exchange)
             throws Exception
Description copied from interface: Processor
Processes the message exchange

Parameters:
exchange - the message exchange
Throws:
Exception - if an internal processing error has occurred.

setOperations

public void setOperations(GenericFileOperations<T> operations)
Sets the operations to be used.

Can be used to set a fresh operations in case of recovery attempts

Parameters:
operations - the operations

processExchange

protected void processExchange(Exchange exchange,
                               String target)
                        throws Exception
Perform the work to process the fileExchange

Parameters:
exchange - fileExchange
target - the target filename
Throws:
Exception - is thrown if some error

handleFailedWrite

public void handleFailedWrite(Exchange exchange,
                              Exception exception)
                       throws Exception
If we fail writing out a file, we will call this method. This hook is provided to disconnect from servers or clean up files we created (if needed).

Throws:
Exception

preWriteCheck

public void preWriteCheck()
                   throws Exception
Perform any actions that need to occur before we write such as connecting to an FTP server etc.

Throws:
Exception

postWriteCheck

public void postWriteCheck()
Perform any actions that need to occur after we are done such as disconnecting.


writeFile

public void writeFile(Exchange exchange,
                      String fileName)
               throws GenericFileOperationFailedException
Throws:
GenericFileOperationFailedException

createFileName

public String createFileName(Exchange exchange)

createTempFileName

public String createTempFileName(Exchange exchange,
                                 String fileName)

doStart

protected void doStart()
                throws Exception
Description copied from class: ServiceSupport
Implementations override this method to support customized start/stop.

Important: See ServiceSupport.doStop() for more details.

Overrides:
doStart in class DefaultProducer
Throws:
Exception
See Also:
ServiceSupport.doStop()

doStop

protected void doStop()
               throws Exception
Description copied from class: ServiceSupport
Implementations override this method to support customized start/stop.

Important: Camel will invoke this ServiceSupport.doStop() method when the service is being stopped. This method will also be invoked if the service is still in uninitialized state (eg has not been started). The method is always called to allow the service to do custom logic when the service is being stopped, such as when CamelContext is shutting down.

Overrides:
doStop in class DefaultProducer
Throws:
Exception
See Also:
ServiceSupport.doStart()


Apache CAMEL