Skip to content

Commit

Permalink
chore: Continued implementing the types of the protocol.
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisdutz committed Aug 25, 2023
1 parent ea1035e commit d7465ba
Show file tree
Hide file tree
Showing 97 changed files with 6,568 additions and 807 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,20 @@
public abstract class APDU implements Message {

// Abstract accessors for discriminator values.
public abstract Integer getCommand();

// Constant values.
public static final Short STARTBYTE = 0x86;
public static final Short STARTBYTE = 0x68;

public APDU() {
// Properties.
protected final int command;

public APDU(int command) {
super();
this.command = command;
}

public int getCommand() {
return command;
}

public short getStartByte() {
Expand Down Expand Up @@ -74,10 +81,10 @@ public void serialize(WriteBuffer writeBuffer) throws SerializationException {
writeUnsignedShort(writeBuffer, 8),
WithOption.WithByteOrder(ByteOrder.LITTLE_ENDIAN));

// Discriminator Field (command) (Used as input to a switch field)
writeDiscriminatorField(
// Simple Field (command)
writeSimpleField(
"command",
getCommand(),
command,
writeUnsignedInt(writeBuffer, 16),
WithOption.WithByteOrder(ByteOrder.LITTLE_ENDIAN));

Expand All @@ -104,7 +111,7 @@ public int getLengthInBits() {
// Implicit Field (apciLength)
lengthInBits += 8;

// Discriminator Field (command)
// Simple field (command)
lengthInBits += 16;

// Length of sub-type elements will be added by sub-type...
Expand Down Expand Up @@ -136,7 +143,7 @@ public static APDU staticParse(ReadBuffer readBuffer) throws ParseException {
WithOption.WithByteOrder(ByteOrder.LITTLE_ENDIAN));

int command =
readDiscriminatorField(
readSimpleField(
"command",
readUnsignedInt(readBuffer, 16),
WithOption.WithByteOrder(ByteOrder.LITTLE_ENDIAN));
Expand All @@ -157,7 +164,7 @@ public static APDU staticParse(ReadBuffer readBuffer) throws ParseException {
builder = APDUUFormatStartDataTransferConfirmation.staticParseAPDUBuilder(readBuffer);
} else if (EvaluationHelper.equals(command, (int) 0x01)) {
builder = APDUSFormat.staticParseAPDUBuilder(readBuffer);
} else {
} else if (true) {
builder = APDUIFormat.staticParseAPDUBuilder(readBuffer);
}
if (builder == null) {
Expand All @@ -167,12 +174,12 @@ public static APDU staticParse(ReadBuffer readBuffer) throws ParseException {

readBuffer.closeContext("APDU");
// Create the instance
APDU _aPDU = builder.build();
APDU _aPDU = builder.build(command);
return _aPDU;
}

public interface APDUBuilder {
APDU build();
APDU build(int command);
}

@Override
Expand All @@ -184,12 +191,12 @@ public boolean equals(Object o) {
return false;
}
APDU that = (APDU) o;
return true;
return (getCommand() == that.getCommand()) && true;
}

@Override
public int hashCode() {
return Objects.hash();
return Objects.hash(getCommand());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,13 @@
public class APDUIFormat extends APDU implements Message {

// Accessors for discriminator values.
public Integer getCommand() {
return 0;
}

// Properties.
protected final int receiveSequenceNo;
protected final ASDU asdu;

public APDUIFormat(int receiveSequenceNo, ASDU asdu) {
super();
public APDUIFormat(int command, int receiveSequenceNo, ASDU asdu) {
super(command);
this.receiveSequenceNo = receiveSequenceNo;
this.asdu = asdu;
}
Expand Down Expand Up @@ -134,8 +131,8 @@ public APDUIFormatBuilderImpl(int receiveSequenceNo, ASDU asdu) {
this.asdu = asdu;
}

public APDUIFormat build() {
APDUIFormat aPDUIFormat = new APDUIFormat(receiveSequenceNo, asdu);
public APDUIFormat build(int command) {
APDUIFormat aPDUIFormat = new APDUIFormat(command, receiveSequenceNo, asdu);
return aPDUIFormat;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,12 @@
public class APDUSFormat extends APDU implements Message {

// Accessors for discriminator values.
public Integer getCommand() {
return (int) 0x01;
}

// Properties.
protected final int receiveSequenceNo;

public APDUSFormat(int receiveSequenceNo) {
super();
public APDUSFormat(int command, int receiveSequenceNo) {
super(command);
this.receiveSequenceNo = receiveSequenceNo;
}

Expand Down Expand Up @@ -110,8 +107,8 @@ public APDUSFormatBuilderImpl(int receiveSequenceNo) {
this.receiveSequenceNo = receiveSequenceNo;
}

public APDUSFormat build() {
APDUSFormat aPDUSFormat = new APDUSFormat(receiveSequenceNo);
public APDUSFormat build(int command) {
APDUSFormat aPDUSFormat = new APDUSFormat(command, receiveSequenceNo);
return aPDUSFormat;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,9 @@
public class APDUUFormatStartDataTransferActivation extends APDU implements Message {

// Accessors for discriminator values.
public Integer getCommand() {
return (int) 0x07;
}

public APDUUFormatStartDataTransferActivation() {
super();
public APDUUFormatStartDataTransferActivation(int command) {
super(command);
}

@Override
Expand Down Expand Up @@ -103,9 +100,9 @@ public static class APDUUFormatStartDataTransferActivationBuilderImpl

public APDUUFormatStartDataTransferActivationBuilderImpl() {}

public APDUUFormatStartDataTransferActivation build() {
public APDUUFormatStartDataTransferActivation build(int command) {
APDUUFormatStartDataTransferActivation aPDUUFormatStartDataTransferActivation =
new APDUUFormatStartDataTransferActivation();
new APDUUFormatStartDataTransferActivation(command);
return aPDUUFormatStartDataTransferActivation;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,9 @@
public class APDUUFormatStartDataTransferConfirmation extends APDU implements Message {

// Accessors for discriminator values.
public Integer getCommand() {
return (int) 0x0B;
}

public APDUUFormatStartDataTransferConfirmation() {
super();
public APDUUFormatStartDataTransferConfirmation(int command) {
super(command);
}

@Override
Expand Down Expand Up @@ -103,9 +100,9 @@ public static class APDUUFormatStartDataTransferConfirmationBuilderImpl

public APDUUFormatStartDataTransferConfirmationBuilderImpl() {}

public APDUUFormatStartDataTransferConfirmation build() {
public APDUUFormatStartDataTransferConfirmation build(int command) {
APDUUFormatStartDataTransferConfirmation aPDUUFormatStartDataTransferConfirmation =
new APDUUFormatStartDataTransferConfirmation();
new APDUUFormatStartDataTransferConfirmation(command);
return aPDUUFormatStartDataTransferConfirmation;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,9 @@
public class APDUUFormatStopDataTransferActivation extends APDU implements Message {

// Accessors for discriminator values.
public Integer getCommand() {
return (int) 0x13;
}

public APDUUFormatStopDataTransferActivation() {
super();
public APDUUFormatStopDataTransferActivation(int command) {
super(command);
}

@Override
Expand Down Expand Up @@ -102,9 +99,9 @@ public static class APDUUFormatStopDataTransferActivationBuilderImpl implements

public APDUUFormatStopDataTransferActivationBuilderImpl() {}

public APDUUFormatStopDataTransferActivation build() {
public APDUUFormatStopDataTransferActivation build(int command) {
APDUUFormatStopDataTransferActivation aPDUUFormatStopDataTransferActivation =
new APDUUFormatStopDataTransferActivation();
new APDUUFormatStopDataTransferActivation(command);
return aPDUUFormatStopDataTransferActivation;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,9 @@
public class APDUUFormatStopDataTransferConfirmation extends APDU implements Message {

// Accessors for discriminator values.
public Integer getCommand() {
return (int) 0x23;
}

public APDUUFormatStopDataTransferConfirmation() {
super();
public APDUUFormatStopDataTransferConfirmation(int command) {
super(command);
}

@Override
Expand Down Expand Up @@ -103,9 +100,9 @@ public static class APDUUFormatStopDataTransferConfirmationBuilderImpl

public APDUUFormatStopDataTransferConfirmationBuilderImpl() {}

public APDUUFormatStopDataTransferConfirmation build() {
public APDUUFormatStopDataTransferConfirmation build(int command) {
APDUUFormatStopDataTransferConfirmation aPDUUFormatStopDataTransferConfirmation =
new APDUUFormatStopDataTransferConfirmation();
new APDUUFormatStopDataTransferConfirmation(command);
return aPDUUFormatStopDataTransferConfirmation;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,9 @@
public class APDUUFormatTestFrameActivation extends APDU implements Message {

// Accessors for discriminator values.
public Integer getCommand() {
return (int) 0x43;
}

public APDUUFormatTestFrameActivation() {
super();
public APDUUFormatTestFrameActivation(int command) {
super(command);
}

@Override
Expand Down Expand Up @@ -102,9 +99,9 @@ public static class APDUUFormatTestFrameActivationBuilderImpl implements APDU.AP

public APDUUFormatTestFrameActivationBuilderImpl() {}

public APDUUFormatTestFrameActivation build() {
public APDUUFormatTestFrameActivation build(int command) {
APDUUFormatTestFrameActivation aPDUUFormatTestFrameActivation =
new APDUUFormatTestFrameActivation();
new APDUUFormatTestFrameActivation(command);
return aPDUUFormatTestFrameActivation;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,9 @@
public class APDUUFormatTestFrameConfirmation extends APDU implements Message {

// Accessors for discriminator values.
public Integer getCommand() {
return (int) 0x83;
}

public APDUUFormatTestFrameConfirmation() {
super();
public APDUUFormatTestFrameConfirmation(int command) {
super(command);
}

@Override
Expand Down Expand Up @@ -102,9 +99,9 @@ public static class APDUUFormatTestFrameConfirmationBuilderImpl implements APDU.

public APDUUFormatTestFrameConfirmationBuilderImpl() {}

public APDUUFormatTestFrameConfirmation build() {
public APDUUFormatTestFrameConfirmation build(int command) {
APDUUFormatTestFrameConfirmation aPDUUFormatTestFrameConfirmation =
new APDUUFormatTestFrameConfirmation();
new APDUUFormatTestFrameConfirmation(command);
return aPDUUFormatTestFrameConfirmation;
}
}
Expand Down
Loading

0 comments on commit d7465ba

Please sign in to comment.