org.apache.servicemix.components.util
Class SimpleFlatFileMarshaler

java.lang.Object
  extended by org.apache.servicemix.components.util.MarshalerSupport
      extended by org.apache.servicemix.components.util.DefaultFileMarshaler
          extended by org.apache.servicemix.components.util.SimpleFlatFileMarshaler
All Implemented Interfaces:
FileMarshaler

public class SimpleFlatFileMarshaler
extends DefaultFileMarshaler

A simple flat file marshaler that can read fixed-length and csv text files and converts them to XML

Since:
3.2
Author:
Juergen Mayrbaeurl, Andrew Skiba

Field Summary
static int LINEFORMAT_CSV
           
static int LINEFORMAT_DEFAULT
           
static int LINEFORMAT_FIXLENGTH
           
static int LINEFORMAT_VARIABLE
           
protected  org.apache.commons.logging.Log log
           
static ContentConverter NO_CONVERSION
           
static ContentConverter TEXT_STRIPPER
           
static ContentConverter XML_CONVERTER
           
static java.lang.String XMLDECLARATION_LINE
           
 
Fields inherited from class org.apache.servicemix.components.util.DefaultFileMarshaler
FILE_CONTENT, FILE_CONTENT_EXPRESSION, FILE_NAME_EXPRESSION, FILE_NAME_PROPERTY, FILE_PATH_PROPERTY, TEMP_FILE_NAME_EXPRESSION, TEMP_FILE_NAME_PROPERTY
 
Constructor Summary
SimpleFlatFileMarshaler()
           
 
Method Summary
protected static void closeQuietly(java.io.Reader input)
          Unconditionally close an Reader.
protected  java.lang.String convertColumnContents(int index, java.lang.String contents)
           
protected  void convertHeaderline(java.lang.StringBuffer buffer, java.lang.String headerLine)
           
protected  java.io.InputStream convertLines(javax.jbi.messaging.NormalizedMessage message, java.io.InputStream in, java.lang.String path)
           
protected  java.io.InputStream convertLinesToStream(javax.jbi.messaging.NormalizedMessage message, java.io.InputStream in, java.lang.String path)
           
protected  java.lang.String convertLinesToString(javax.jbi.messaging.NormalizedMessage message, java.io.InputStream in, java.lang.String path)
          Deprecated. 
protected  java.lang.String[] extractColumnContents(java.lang.String lineText, java.util.Iterator lines)
           
protected  void extractColumns(java.lang.StringBuffer buffer, java.lang.String lineText, java.util.Iterator lines)
           
protected  java.lang.String findColumnname(int index)
           
 java.lang.String getColumnElementname()
           
 int getColumnNamesInLineNumber()
           
 java.lang.String getColumnSeparator()
           
 java.lang.String getDocElementname()
           
 java.lang.String getDocElementNamespace()
           
 java.lang.String getEncoding()
           
 int getHeaderlinesCount()
           
 java.lang.String getLineElementname()
           
 int getLineFormat()
           
 java.lang.String getLineSeparator()
           
 boolean isAlwaysEscapeColContents()
           
 boolean isAlwaysStripColContents()
           
 boolean isInsertColContentInAttribut()
           
 boolean isInsertColNumbers()
           
 boolean isSkipAnyEmptyCols()
           
 boolean isSkipKnownEmptyCols()
           
 boolean isXmlDeclaration()
           
protected  void processHeaderLines(java.lang.StringBuffer buffer, java.util.Iterator lines)
          Deprecated. 
 void readMessage(javax.jbi.messaging.MessageExchange exchange, javax.jbi.messaging.NormalizedMessage message, java.io.InputStream in, java.lang.String path)
          Converts the file stream to a normalized message.
 void setAlwaysEscapeColContents(boolean alwaysEscapeColContents)
           
 void setAlwaysStripColContents(boolean alwaysStripColContents)
           
 void setColumnConverters(java.util.List columnConverters)
           
 void setColumnElementname(java.lang.String columnElementname)
           
 void setColumnExtractor(ColumnExtractor columnExtractor)
           
 void setColumnLengths(java.lang.String[] columnLengths)
           
 void setColumnNames(java.lang.String[] columnNames)
           
 void setColumnNamesInLineNumber(int columnNamesInLineNumber)
           
 void setColumnSeparator(java.lang.String columnSeparator)
           
 void setColumnSeparatorCode(int columnSeparatorCode)
           
 void setDocElementname(java.lang.String docElementname)
           
 void setDocElementNamespace(java.lang.String docElementNamespace)
           
 void setEncoding(java.lang.String encoding)
           
 void setHeaderlinesCount(int headerlinesCount)
           
 void setInsertColContentInAttribut(boolean insertColContentInAttribut)
           
 void setInsertColNumbers(boolean insertColNumbers)
           
 void setInsertLineNumbers(boolean insertLineNumbers)
           
 void setInsertRawData(boolean insertRawData)
           
 void setLineElementname(java.lang.String lineElementname)
           
 void setLineFormat(int lineFormat)
           
 void setLineSeparator(java.lang.String lineSeparator)
           
 void setLineSeparatorCode(int lineSeparatorCode)
           
 void setSkipAnyEmptyCols(boolean skipAnyEmptyCols)
           
 void setSkipKnownEmptyCols(boolean skipKnownEmptyCols)
           
 void setXmlDeclaration(boolean xmlDeclaration)
           
 
Methods inherited from class org.apache.servicemix.components.util.DefaultFileMarshaler
getContent, getFileName, getOutputName, getTempOutputName, setContent, setFileName, writeMessage, writeMessageContent, writeValue
 
Methods inherited from class org.apache.servicemix.components.util.MarshalerSupport
asString, getTransformer, setTransformer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

XMLDECLARATION_LINE

public static final java.lang.String XMLDECLARATION_LINE
See Also:
Constant Field Values

NO_CONVERSION

public static final ContentConverter NO_CONVERSION

TEXT_STRIPPER

public static final ContentConverter TEXT_STRIPPER

XML_CONVERTER

public static final ContentConverter XML_CONVERTER

LINEFORMAT_FIXLENGTH

public static final int LINEFORMAT_FIXLENGTH
See Also:
Constant Field Values

LINEFORMAT_CSV

public static final int LINEFORMAT_CSV
See Also:
Constant Field Values

LINEFORMAT_VARIABLE

public static final int LINEFORMAT_VARIABLE
See Also:
Constant Field Values

LINEFORMAT_DEFAULT

public static final int LINEFORMAT_DEFAULT
See Also:
Constant Field Values

log

protected final org.apache.commons.logging.Log log
Constructor Detail

SimpleFlatFileMarshaler

public SimpleFlatFileMarshaler()
Method Detail

isSkipAnyEmptyCols

public boolean isSkipAnyEmptyCols()

setSkipAnyEmptyCols

public void setSkipAnyEmptyCols(boolean skipAnyEmptyCols)

readMessage

public void readMessage(javax.jbi.messaging.MessageExchange exchange,
                        javax.jbi.messaging.NormalizedMessage message,
                        java.io.InputStream in,
                        java.lang.String path)
                 throws java.io.IOException,
                        javax.jbi.JBIException
Description copied from interface: FileMarshaler
Converts the file stream to a normalized message.

Specified by:
readMessage in interface FileMarshaler
Overrides:
readMessage in class DefaultFileMarshaler
Parameters:
exchange - the message exchange
message - the message to populate
in - the input stream
path - the name of the file, URI or URL
Throws:
java.io.IOException
javax.jbi.JBIException

convertLinesToStream

protected java.io.InputStream convertLinesToStream(javax.jbi.messaging.NormalizedMessage message,
                                                   java.io.InputStream in,
                                                   java.lang.String path)
                                            throws java.io.IOException
Throws:
java.io.IOException

convertLines

protected java.io.InputStream convertLines(javax.jbi.messaging.NormalizedMessage message,
                                           java.io.InputStream in,
                                           java.lang.String path)
                                    throws java.io.IOException
Throws:
java.io.IOException

convertLinesToString

@Deprecated
protected java.lang.String convertLinesToString(javax.jbi.messaging.NormalizedMessage message,
                                                           java.io.InputStream in,
                                                           java.lang.String path)
                                         throws java.io.IOException
Deprecated. 

Throws:
java.io.IOException

processHeaderLines

@Deprecated
protected void processHeaderLines(java.lang.StringBuffer buffer,
                                             java.util.Iterator lines)
Deprecated. 


convertHeaderline

protected void convertHeaderline(java.lang.StringBuffer buffer,
                                 java.lang.String headerLine)

extractColumns

protected void extractColumns(java.lang.StringBuffer buffer,
                              java.lang.String lineText,
                              java.util.Iterator lines)

extractColumnContents

protected java.lang.String[] extractColumnContents(java.lang.String lineText,
                                                   java.util.Iterator lines)

findColumnname

protected java.lang.String findColumnname(int index)

convertColumnContents

protected java.lang.String convertColumnContents(int index,
                                                 java.lang.String contents)

getEncoding

public final java.lang.String getEncoding()
Overrides:
getEncoding in class DefaultFileMarshaler

setEncoding

public final void setEncoding(java.lang.String encoding)
Overrides:
setEncoding in class DefaultFileMarshaler

getColumnElementname

public final java.lang.String getColumnElementname()

setColumnElementname

public final void setColumnElementname(java.lang.String columnElementname)

getDocElementname

public final java.lang.String getDocElementname()

setDocElementname

public final void setDocElementname(java.lang.String docElementname)

getLineElementname

public final java.lang.String getLineElementname()

setLineElementname

public final void setLineElementname(java.lang.String lineElementname)

setColumnLengths

public final void setColumnLengths(java.lang.String[] columnLengths)

isXmlDeclaration

public final boolean isXmlDeclaration()

setXmlDeclaration

public final void setXmlDeclaration(boolean xmlDeclaration)

setInsertLineNumbers

public final void setInsertLineNumbers(boolean insertLineNumbers)

setColumnConverters

public final void setColumnConverters(java.util.List columnConverters)

setColumnNames

public final void setColumnNames(java.lang.String[] columnNames)

isSkipKnownEmptyCols

public final boolean isSkipKnownEmptyCols()

setSkipKnownEmptyCols

public final void setSkipKnownEmptyCols(boolean skipKnownEmptyCols)

setInsertRawData

public final void setInsertRawData(boolean insertRawData)

isAlwaysStripColContents

public final boolean isAlwaysStripColContents()

setAlwaysStripColContents

public final void setAlwaysStripColContents(boolean alwaysStripColContents)

isAlwaysEscapeColContents

public final boolean isAlwaysEscapeColContents()

setAlwaysEscapeColContents

public final void setAlwaysEscapeColContents(boolean alwaysEscapeColContents)

getLineFormat

public final int getLineFormat()

setLineFormat

public final void setLineFormat(int lineFormat)

getColumnSeparator

public final java.lang.String getColumnSeparator()

setColumnSeparator

public final void setColumnSeparator(java.lang.String columnSeparator)

setColumnSeparatorCode

public final void setColumnSeparatorCode(int columnSeparatorCode)

getLineSeparator

public final java.lang.String getLineSeparator()

setLineSeparator

public final void setLineSeparator(java.lang.String lineSeparator)

setLineSeparatorCode

public final void setLineSeparatorCode(int lineSeparatorCode)

getDocElementNamespace

public final java.lang.String getDocElementNamespace()

setDocElementNamespace

public final void setDocElementNamespace(java.lang.String docElementNamespace)

getHeaderlinesCount

public final int getHeaderlinesCount()

setHeaderlinesCount

public final void setHeaderlinesCount(int headerlinesCount)

getColumnNamesInLineNumber

public final int getColumnNamesInLineNumber()

setColumnNamesInLineNumber

public void setColumnNamesInLineNumber(int columnNamesInLineNumber)
Parameters:
columnNamesInLineNumber - line number containing

isInsertColContentInAttribut

public final boolean isInsertColContentInAttribut()

setInsertColContentInAttribut

public final void setInsertColContentInAttribut(boolean insertColContentInAttribut)

isInsertColNumbers

public final boolean isInsertColNumbers()

setInsertColNumbers

public final void setInsertColNumbers(boolean insertColNumbers)

setColumnExtractor

public final void setColumnExtractor(ColumnExtractor columnExtractor)

closeQuietly

protected static void closeQuietly(java.io.Reader input)
Unconditionally close an Reader.

Equivalent to Reader.close(), except any exceptions will be ignored. This is typically used in finally blocks.

Parameters:
input - the Reader to close, may be null or already closed


Copyright © 2005-2011 Apache Software Foundation. All Rights Reserved.