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

dev.galasa.zos3270.internal.datastream.StructuredField3270DS Maven / Gradle / Ivy

The newest version!
/*
 * Copyright contributors to the Galasa project
 *
 * SPDX-License-Identifier: EPL-2.0
 */
package dev.galasa.zos3270.internal.datastream;

import java.nio.ByteBuffer;
import java.nio.charset.Charset;

import dev.galasa.zos3270.internal.comms.Inbound3270Message;
import dev.galasa.zos3270.internal.comms.NetworkThread;
import dev.galasa.zos3270.spi.DatastreamException;
import dev.galasa.zos3270.spi.NetworkException;

public class StructuredField3270DS extends StructuredField {

    private Inbound3270Message inbound3270Message;

    public StructuredField3270DS(byte[] structuredFieldData, Charset codePage) throws NetworkException {
        if (structuredFieldData.length < 3) {
            throw new DatastreamException("Structured Field 3270 DS length < 3 bytes");
        }

        AbstractCommandCode commandCode = AbstractCommandCode.getCommandCode(structuredFieldData[2]);

        ByteBuffer buffer = ByteBuffer.wrap(structuredFieldData, 3, structuredFieldData.length - 3);

        inbound3270Message = NetworkThread.process3270Datastream(commandCode, buffer, codePage);
    }

    public Inbound3270Message getInboundMessage() {
        return this.inbound3270Message;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy