Datensätze in den Output-Link schreiben (Java-Integrationsphase in DataStage)
Zum Schreiben von Datensätzen in Ausgabelinks muss Ihr Java™ -Code ein OutputRecord -Objekt mit der Methode getOutputRecord() der Schnittstelle OutputLink instanziieren.
Das folgende Beispiel zeigt die einfachen Implementierungen der Stage 'Transformer', die Zeichenfolgetexte im genutzten Datensatz in Großbuchstaben umwandeln und anschließend in einen Ausgabelink schreiben.
package samples;
import com.ibm.is.cc.javastage.api.*;
public class ToUpperTransformer extends Processor
{
private InputLink m_inputLink;
private OutputLink m_outputLink;
public Capabilities getCapabilities()
{
Capabilities capabilities = new Capabilities();
// Set minimum number of input links to 1
capabilities.setMinimumInputLinkCount(1);
// Set maximum number of input links to 1
capabilities.setMaximumInputLinkCount(1);
// Set minimum number of output stream links to 1
capabilities.setMinimumOutputStreamLinkCount(1);
// Set maximum number of output stream links to 1
capabilities.setMaximumOutputStreamLinkCount(1);
// Set maximum number of reject links to 1
capabilities.setMaximumRejectLinkCount(0);
return capabilities;
}
public boolean validateConfiguration(
Configuration configuration, boolean isRuntime)
throws Exception
{
// Specify current link configurations.
m_inputLink = configuration.getInputLink(0);
m_outputLink = configuration.getOutputLink(0);
return true;
}
public void process() throws Exception
{
OutputRecord outputRecord = m_outputLink.getOutputRecord();
do
{
InputRecord inputRecord = m_inputLink.readRecord();
if (inputRecord == null)
{
// No more input
break;
}
for (int i = 0; i < m_inputLink.getColumnCount(); i++)
{
Object value = inputRecord.getValue(columnIndex);
if (value instanceof String)
{
String str = (String)value;
value = str.toUpperCase();
}
outputRecord.setValue(i, value);
}
m_outputLink.writeRecord(outputRecord);
}
while (true);
}
}Um Datensätze in einen Ausgabelink zu schreiben, muss Ihr Java-Code ein
OutputRecord -Objekt mit der Methode getOutputRecord() der Schnittstelle OutputLink instanziieren.OutputRecord outputRecord = m_outputLink.getOutputRecord();Von der Schnittstelle 'OutputRecord' bereitgestellte Methoden
putObject()setValue(String columnName, Object value)setValue(int columnIndex, Object value)setValueAsString(String columnName, String value)setValueAsString(int columnIndex, String value)copyColumnsFromInputRecord(InputRecord inputRecord)getOfLink()
Nachdem Sie das Objekt OutputRecord instanziiert haben, können Sie den Wert für jede Spalte mit den Methoden setValue(String
columnName, Object value) oder setValue(int columnIndex,
Object value) der Schnittstelle OutputRecord festlegen.
Das folgende Beispiel zeigt, wie der Wert für die Spalte entsprechend einem bestimmten Spaltenindex "i" gesetzt wird.
outputRecord.setValue(i, value);Sie können den Wert auch festlegen, indem Sie den Spaltennamen wie folgt angeben:outputRecord.setValue(“name”, value);Schließlich schreibt Ihr Java-Code diesen Ausgabedatensatz durch Aufrufen der Methode writeRecord() der Schnittstelle OutputLink . Die Instanz von OutputLink ist in dem Objekt Configuration verfügbar, das als Argument der Methode validateConfiguration() bereitgestellt wird.m_outputLink.writeRecord(outputRecord);Von der 'OutputLink'-Schnittstelle bereitgestellte Methoden
getOutputRecord()getOutputRecord(InputRecord)getRejectRecord(InputRecord)writeRecord()writeRecord(RejectRecord)writeWaveMarker()isRcpEnabled()