![JAR search and dependency download from the Maven repository](/logo.png)
com.codetaco.funnel.columns.HeaderOutHelper Maven / Gradle / Ivy
package com.codetaco.funnel.columns;
import java.io.IOException;
import com.codetaco.funnel.parameters.FunnelContext;
import com.codetaco.funnel.segment.SourceProxyRecord;
/**
*
* HeaderOutHelper class.
*
*
* @author Chris DeGreef [email protected]
*/
public class HeaderOutHelper extends OutputFormatHelper
{
boolean waitingToWrite = false;
/**
*
* Constructor for HeaderOutHelper.
*
*
* @param _headerHelper a {@link com.codetaco.funnel.columns.HeaderHelper}
* object.
*/
public HeaderOutHelper(final HeaderHelper _headerHelper)
{
super(null, _headerHelper);
}
/**
*
* format.
*
*
* @param funnelContext a
* {@link com.codetaco.funnel.parameters.FunnelContext} object.
* @param writer a {@link com.codetaco.funnel.columns.ColumnWriter} object.
* @throws java.io.IOException if any.
*/
public void format(final FunnelContext funnelContext, final ColumnWriter writer) throws IOException
{
if (formatter == null)
{
final int lengthToWrite = lengthToWrite(headerHelper.originalHeaderRow, 0,
headerHelper.originalHeaderRow.length, false);
writer.write(headerHelper.originalHeaderRow, 0, lengthToWrite);
return;
}
try
{
final SourceProxyRecord dummyProxy = SourceProxyRecord.getInstance(funnelContext);
dummyProxy.setOriginalRecordNumber(0);
byte[] data = headerHelper.originalHeaderRow;
if (data == null)
data = new byte[0];
dummyProxy.originalSize = data.length;
extract(funnelContext, data, dummyProxy);
} catch (final Exception e)
{
throw new IOException(e.getMessage(), e);
}
final int lengthToWrite = lengthToWrite(context.key, 0, context.keyLength, false);
writer.write(context.key, 0, lengthToWrite);
}
/**
*
* isWaitingToWrite.
*
*
* @return a boolean.
*/
public boolean isWaitingToWrite()
{
if (waitingToWrite)
{
waitingToWrite = false;
return true;
}
return false;
}
/**
*
* Setter for the field waitingToWrite
.
*
*
* @param needsToBeWritten a boolean.
*/
public void setWaitingToWrite(final boolean needsToBeWritten)
{
waitingToWrite = needsToBeWritten;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy