Class DefaultFileNameGenerator

java.lang.Object
org.springframework.integration.util.AbstractExpressionEvaluator
org.springframework.integration.file.DefaultFileNameGenerator
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean, FileNameGenerator

public class DefaultFileNameGenerator
extends org.springframework.integration.util.AbstractExpressionEvaluator
implements FileNameGenerator
Default implementation of the filename generator strategy. It evaluates an expression against the Message in order to generate the file name. Either the 'expression' property can be set directly, or for a simple header name to be used as the filename, there is also a setHeaderName(String) method for convenience. If neither a header name nor custom expression is set, the default header name is defined by the constant FileHeaders.FILENAME. If no String-typed value is returned from the expression evaluation (or associated with the header if no expression has been provided), it checks if the Message payload is a File instance, and if so, it uses the same name. Finally, it falls back to the Message ID and adds the suffix '.msg'.
  • Field Summary

    Fields inherited from class org.springframework.integration.util.AbstractExpressionEvaluator

    EXPRESSION_PARSER, logger
  • Constructor Summary

    Constructors 
    Constructor Description
    DefaultFileNameGenerator()  
  • Method Summary

    Modifier and Type Method Description
    java.lang.String generateFileName​(org.springframework.messaging.Message<?> message)  
    void setExpression​(java.lang.String expression)
    Specify an expression to be evaluated against the Message in order to generate a file name.
    void setHeaderName​(java.lang.String headerName)
    Specify a custom header name to check for the file name.

    Methods inherited from class org.springframework.integration.util.AbstractExpressionEvaluator

    afterPropertiesSet, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, getBeanFactory, getEvaluationContext, getEvaluationContext, getMessageBuilderFactory, onInit, setBeanFactory, setConversionService

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • setExpression

      public void setExpression​(java.lang.String expression)
      Specify an expression to be evaluated against the Message in order to generate a file name.
      Parameters:
      expression - The expression.
    • setHeaderName

      public void setHeaderName​(java.lang.String headerName)
      Specify a custom header name to check for the file name. The default is defined by FileHeaders.FILENAME.
      Parameters:
      headerName - The header name.
    • generateFileName

      public java.lang.String generateFileName​(org.springframework.messaging.Message<?> message)
      Specified by:
      generateFileName in interface FileNameGenerator