All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.codetaco.funnel.columns.HeaderOutHelper Maven / Gradle / Ivy

There is a newer version: 3.0.5
Show newest version
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 - 2024 Weber Informatics LLC | Privacy Policy