/**
|
* This class file was automatically generated by jASN1 v1.9.0 (http://www.openmuc.org)
|
*/
|
|
package org.openmuc.openiec61850.internal.mms.asn1;
|
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.io.OutputStream;
|
import java.io.Serializable;
|
|
import org.openmuc.jasn1.ber.BerLength;
|
import org.openmuc.jasn1.ber.BerTag;
|
import org.openmuc.jasn1.ber.ReverseByteArrayOutputStream;
|
|
public class ConfirmedServiceRequest implements Serializable {
|
|
private static final long serialVersionUID = 1L;
|
|
public byte[] code = null;
|
private GetNameListRequest getNameList = null;
|
private ReadRequest read = null;
|
private WriteRequest write = null;
|
private GetVariableAccessAttributesRequest getVariableAccessAttributes = null;
|
private DefineNamedVariableListRequest defineNamedVariableList = null;
|
private GetNamedVariableListAttributesRequest getNamedVariableListAttributes = null;
|
private DeleteNamedVariableListRequest deleteNamedVariableList = null;
|
|
public ConfirmedServiceRequest() {
|
}
|
|
public ConfirmedServiceRequest(byte[] code) {
|
this.code = code;
|
}
|
|
public void setGetNameList(GetNameListRequest getNameList) {
|
this.getNameList = getNameList;
|
}
|
|
public GetNameListRequest getGetNameList() {
|
return getNameList;
|
}
|
|
public void setRead(ReadRequest read) {
|
this.read = read;
|
}
|
|
public ReadRequest getRead() {
|
return read;
|
}
|
|
public void setWrite(WriteRequest write) {
|
this.write = write;
|
}
|
|
public WriteRequest getWrite() {
|
return write;
|
}
|
|
public void setGetVariableAccessAttributes(GetVariableAccessAttributesRequest getVariableAccessAttributes) {
|
this.getVariableAccessAttributes = getVariableAccessAttributes;
|
}
|
|
public GetVariableAccessAttributesRequest getGetVariableAccessAttributes() {
|
return getVariableAccessAttributes;
|
}
|
|
public void setDefineNamedVariableList(DefineNamedVariableListRequest defineNamedVariableList) {
|
this.defineNamedVariableList = defineNamedVariableList;
|
}
|
|
public DefineNamedVariableListRequest getDefineNamedVariableList() {
|
return defineNamedVariableList;
|
}
|
|
public void setGetNamedVariableListAttributes(
|
GetNamedVariableListAttributesRequest getNamedVariableListAttributes) {
|
this.getNamedVariableListAttributes = getNamedVariableListAttributes;
|
}
|
|
public GetNamedVariableListAttributesRequest getGetNamedVariableListAttributes() {
|
return getNamedVariableListAttributes;
|
}
|
|
public void setDeleteNamedVariableList(DeleteNamedVariableListRequest deleteNamedVariableList) {
|
this.deleteNamedVariableList = deleteNamedVariableList;
|
}
|
|
public DeleteNamedVariableListRequest getDeleteNamedVariableList() {
|
return deleteNamedVariableList;
|
}
|
|
public int encode(OutputStream os) throws IOException {
|
|
if (code != null) {
|
for (int i = code.length - 1; i >= 0; i--) {
|
os.write(code[i]);
|
}
|
return code.length;
|
}
|
|
int codeLength = 0;
|
int sublength;
|
|
if (deleteNamedVariableList != null) {
|
codeLength += deleteNamedVariableList.encode(os, false);
|
// write tag: CONTEXT_CLASS, CONSTRUCTED, 13
|
os.write(0xAD);
|
codeLength += 1;
|
return codeLength;
|
}
|
|
if (getNamedVariableListAttributes != null) {
|
sublength = getNamedVariableListAttributes.encode(os);
|
codeLength += sublength;
|
codeLength += BerLength.encodeLength(os, sublength);
|
// write tag: CONTEXT_CLASS, CONSTRUCTED, 12
|
os.write(0xAC);
|
codeLength += 1;
|
return codeLength;
|
}
|
|
if (defineNamedVariableList != null) {
|
codeLength += defineNamedVariableList.encode(os, false);
|
// write tag: CONTEXT_CLASS, CONSTRUCTED, 11
|
os.write(0xAB);
|
codeLength += 1;
|
return codeLength;
|
}
|
|
if (getVariableAccessAttributes != null) {
|
sublength = getVariableAccessAttributes.encode(os);
|
codeLength += sublength;
|
codeLength += BerLength.encodeLength(os, sublength);
|
// write tag: CONTEXT_CLASS, CONSTRUCTED, 6
|
os.write(0xA6);
|
codeLength += 1;
|
return codeLength;
|
}
|
|
if (write != null) {
|
codeLength += write.encode(os, false);
|
// write tag: CONTEXT_CLASS, CONSTRUCTED, 5
|
os.write(0xA5);
|
codeLength += 1;
|
return codeLength;
|
}
|
|
if (read != null) {
|
codeLength += read.encode(os, false);
|
// write tag: CONTEXT_CLASS, CONSTRUCTED, 4
|
os.write(0xA4);
|
codeLength += 1;
|
return codeLength;
|
}
|
|
if (getNameList != null) {
|
codeLength += getNameList.encode(os, false);
|
// write tag: CONTEXT_CLASS, CONSTRUCTED, 1
|
os.write(0xA1);
|
codeLength += 1;
|
return codeLength;
|
}
|
|
throw new IOException("Error encoding CHOICE: No element of CHOICE was selected.");
|
}
|
|
public int decode(InputStream is) throws IOException {
|
return decode(is, null);
|
}
|
|
public int decode(InputStream is, BerTag berTag) throws IOException {
|
|
int codeLength = 0;
|
BerTag passedTag = berTag;
|
|
if (berTag == null) {
|
berTag = new BerTag();
|
codeLength += berTag.decode(is);
|
}
|
|
if (berTag.equals(BerTag.CONTEXT_CLASS, BerTag.CONSTRUCTED, 1)) {
|
getNameList = new GetNameListRequest();
|
codeLength += getNameList.decode(is, false);
|
return codeLength;
|
}
|
|
if (berTag.equals(BerTag.CONTEXT_CLASS, BerTag.CONSTRUCTED, 4)) {
|
read = new ReadRequest();
|
codeLength += read.decode(is, false);
|
return codeLength;
|
}
|
|
if (berTag.equals(BerTag.CONTEXT_CLASS, BerTag.CONSTRUCTED, 5)) {
|
write = new WriteRequest();
|
codeLength += write.decode(is, false);
|
return codeLength;
|
}
|
|
if (berTag.equals(BerTag.CONTEXT_CLASS, BerTag.CONSTRUCTED, 6)) {
|
codeLength += BerLength.skip(is);
|
getVariableAccessAttributes = new GetVariableAccessAttributesRequest();
|
codeLength += getVariableAccessAttributes.decode(is, null);
|
return codeLength;
|
}
|
|
if (berTag.equals(BerTag.CONTEXT_CLASS, BerTag.CONSTRUCTED, 11)) {
|
defineNamedVariableList = new DefineNamedVariableListRequest();
|
codeLength += defineNamedVariableList.decode(is, false);
|
return codeLength;
|
}
|
|
if (berTag.equals(BerTag.CONTEXT_CLASS, BerTag.CONSTRUCTED, 12)) {
|
codeLength += BerLength.skip(is);
|
getNamedVariableListAttributes = new GetNamedVariableListAttributesRequest();
|
codeLength += getNamedVariableListAttributes.decode(is, null);
|
return codeLength;
|
}
|
|
if (berTag.equals(BerTag.CONTEXT_CLASS, BerTag.CONSTRUCTED, 13)) {
|
deleteNamedVariableList = new DeleteNamedVariableListRequest();
|
codeLength += deleteNamedVariableList.decode(is, false);
|
return codeLength;
|
}
|
|
if (passedTag != null) {
|
return 0;
|
}
|
|
throw new IOException("Error decoding CHOICE: Tag " + berTag + " matched to no item.");
|
}
|
|
public void encodeAndSave(int encodingSizeGuess) throws IOException {
|
ReverseByteArrayOutputStream os = new ReverseByteArrayOutputStream(encodingSizeGuess);
|
encode(os);
|
code = os.getArray();
|
}
|
|
@Override
|
public String toString() {
|
StringBuilder sb = new StringBuilder();
|
appendAsString(sb, 0);
|
return sb.toString();
|
}
|
|
public void appendAsString(StringBuilder sb, int indentLevel) {
|
|
if (getNameList != null) {
|
sb.append("getNameList: ");
|
getNameList.appendAsString(sb, indentLevel + 1);
|
return;
|
}
|
|
if (read != null) {
|
sb.append("read: ");
|
read.appendAsString(sb, indentLevel + 1);
|
return;
|
}
|
|
if (write != null) {
|
sb.append("write: ");
|
write.appendAsString(sb, indentLevel + 1);
|
return;
|
}
|
|
if (getVariableAccessAttributes != null) {
|
sb.append("getVariableAccessAttributes: ");
|
getVariableAccessAttributes.appendAsString(sb, indentLevel + 1);
|
return;
|
}
|
|
if (defineNamedVariableList != null) {
|
sb.append("defineNamedVariableList: ");
|
defineNamedVariableList.appendAsString(sb, indentLevel + 1);
|
return;
|
}
|
|
if (getNamedVariableListAttributes != null) {
|
sb.append("getNamedVariableListAttributes: ");
|
getNamedVariableListAttributes.appendAsString(sb, indentLevel + 1);
|
return;
|
}
|
|
if (deleteNamedVariableList != null) {
|
sb.append("deleteNamedVariableList: ");
|
deleteNamedVariableList.appendAsString(sb, indentLevel + 1);
|
return;
|
}
|
|
sb.append("<none>");
|
}
|
|
}
|