Use Java 17 features (#6691)

Uses enhanced instanceof (and simplify equals methods)
Uses switch expressions and arrow labels
Seal and finalize some Shuffleboard classes

Co-authored-by: Sam Carlberg <sam@slfc.dev>
This commit is contained in:
Gold856
2024-06-05 00:09:10 -04:00
committed by GitHub
parent d6b66bfa55
commit b99d9c1710
95 changed files with 957 additions and 1594 deletions

View File

@@ -162,24 +162,16 @@ public class DriverStationJNI extends JNIWrapper {
* @see "HAL_GetAllianceStation"
*/
public static AllianceStationID getAllianceStation() {
switch (nativeGetAllianceStation()) {
case kUnknownAllianceStation:
return AllianceStationID.Unknown;
case kRed1AllianceStation:
return AllianceStationID.Red1;
case kRed2AllianceStation:
return AllianceStationID.Red2;
case kRed3AllianceStation:
return AllianceStationID.Red3;
case kBlue1AllianceStation:
return AllianceStationID.Blue1;
case kBlue2AllianceStation:
return AllianceStationID.Blue2;
case kBlue3AllianceStation:
return AllianceStationID.Blue3;
default:
return null;
}
return switch (nativeGetAllianceStation()) {
case kUnknownAllianceStation -> AllianceStationID.Unknown;
case kRed1AllianceStation -> AllianceStationID.Red1;
case kRed2AllianceStation -> AllianceStationID.Red2;
case kRed3AllianceStation -> AllianceStationID.Red3;
case kBlue1AllianceStation -> AllianceStationID.Blue1;
case kBlue2AllianceStation -> AllianceStationID.Blue2;
case kBlue3AllianceStation -> AllianceStationID.Blue3;
default -> null;
};
}
public static final int kMaxJoystickAxes = 12;

View File

@@ -145,19 +145,13 @@ public final class HALValue {
* @return HAL value
*/
public static HALValue fromNative(int type, long value1, double value2) {
switch (type) {
case kBoolean:
return makeBoolean(value1 != 0);
case kDouble:
return makeDouble(value2);
case kEnum:
return makeEnum((int) value1);
case kInt:
return makeInt((int) value1);
case kLong:
return makeLong(value1);
default:
return makeUnassigned();
}
return switch (type) {
case kBoolean -> makeBoolean(value1 != 0);
case kDouble -> makeDouble(value2);
case kEnum -> makeEnum((int) value1);
case kInt -> makeInt((int) value1);
case kLong -> makeLong(value1);
default -> makeUnassigned();
};
}
}

View File

@@ -69,58 +69,34 @@ public class PowerDistributionFaults {
* the hardware.
*/
public final boolean getBreakerFault(int channel) {
switch (channel) {
case 0:
return Channel0BreakerFault;
case 1:
return Channel1BreakerFault;
case 2:
return Channel2BreakerFault;
case 3:
return Channel3BreakerFault;
case 4:
return Channel4BreakerFault;
case 5:
return Channel5BreakerFault;
case 6:
return Channel6BreakerFault;
case 7:
return Channel7BreakerFault;
case 8:
return Channel8BreakerFault;
case 9:
return Channel9BreakerFault;
case 10:
return Channel10BreakerFault;
case 11:
return Channel11BreakerFault;
case 12:
return Channel12BreakerFault;
case 13:
return Channel13BreakerFault;
case 14:
return Channel14BreakerFault;
case 15:
return Channel15BreakerFault;
case 16:
return Channel16BreakerFault;
case 17:
return Channel17BreakerFault;
case 18:
return Channel18BreakerFault;
case 19:
return Channel19BreakerFault;
case 20:
return Channel20BreakerFault;
case 21:
return Channel21BreakerFault;
case 22:
return Channel22BreakerFault;
case 23:
return Channel23BreakerFault;
default:
throw new IndexOutOfBoundsException("Power distribution fault channel out of bounds!");
}
return switch (channel) {
case 0 -> Channel0BreakerFault;
case 1 -> Channel1BreakerFault;
case 2 -> Channel2BreakerFault;
case 3 -> Channel3BreakerFault;
case 4 -> Channel4BreakerFault;
case 5 -> Channel5BreakerFault;
case 6 -> Channel6BreakerFault;
case 7 -> Channel7BreakerFault;
case 8 -> Channel8BreakerFault;
case 9 -> Channel9BreakerFault;
case 10 -> Channel10BreakerFault;
case 11 -> Channel11BreakerFault;
case 12 -> Channel12BreakerFault;
case 13 -> Channel13BreakerFault;
case 14 -> Channel14BreakerFault;
case 15 -> Channel15BreakerFault;
case 16 -> Channel16BreakerFault;
case 17 -> Channel17BreakerFault;
case 18 -> Channel18BreakerFault;
case 19 -> Channel19BreakerFault;
case 20 -> Channel20BreakerFault;
case 21 -> Channel21BreakerFault;
case 22 -> Channel22BreakerFault;
case 23 -> Channel23BreakerFault;
default -> throw new IndexOutOfBoundsException(
"Power distribution fault channel out of bounds!");
};
}
/**

View File

@@ -71,58 +71,34 @@ public class PowerDistributionStickyFaults {
* the hardware.
*/
public final boolean getBreakerFault(int channel) {
switch (channel) {
case 0:
return Channel0BreakerFault;
case 1:
return Channel1BreakerFault;
case 2:
return Channel2BreakerFault;
case 3:
return Channel3BreakerFault;
case 4:
return Channel4BreakerFault;
case 5:
return Channel5BreakerFault;
case 6:
return Channel6BreakerFault;
case 7:
return Channel7BreakerFault;
case 8:
return Channel8BreakerFault;
case 9:
return Channel9BreakerFault;
case 10:
return Channel10BreakerFault;
case 11:
return Channel11BreakerFault;
case 12:
return Channel12BreakerFault;
case 13:
return Channel13BreakerFault;
case 14:
return Channel14BreakerFault;
case 15:
return Channel15BreakerFault;
case 16:
return Channel16BreakerFault;
case 17:
return Channel17BreakerFault;
case 18:
return Channel18BreakerFault;
case 19:
return Channel19BreakerFault;
case 20:
return Channel20BreakerFault;
case 21:
return Channel21BreakerFault;
case 22:
return Channel22BreakerFault;
case 23:
return Channel23BreakerFault;
default:
throw new IndexOutOfBoundsException("Power distribution fault channel out of bounds!");
}
return switch (channel) {
case 0 -> Channel0BreakerFault;
case 1 -> Channel1BreakerFault;
case 2 -> Channel2BreakerFault;
case 3 -> Channel3BreakerFault;
case 4 -> Channel4BreakerFault;
case 5 -> Channel5BreakerFault;
case 6 -> Channel6BreakerFault;
case 7 -> Channel7BreakerFault;
case 8 -> Channel8BreakerFault;
case 9 -> Channel9BreakerFault;
case 10 -> Channel10BreakerFault;
case 11 -> Channel11BreakerFault;
case 12 -> Channel12BreakerFault;
case 13 -> Channel13BreakerFault;
case 14 -> Channel14BreakerFault;
case 15 -> Channel15BreakerFault;
case 16 -> Channel16BreakerFault;
case 17 -> Channel17BreakerFault;
case 18 -> Channel18BreakerFault;
case 19 -> Channel19BreakerFault;
case 20 -> Channel20BreakerFault;
case 21 -> Channel21BreakerFault;
case 22 -> Channel22BreakerFault;
case 23 -> Channel23BreakerFault;
default -> throw new IndexOutOfBoundsException(
"Power distribution fault channel out of bounds!");
};
}
/**

View File

@@ -59,42 +59,25 @@ public class REVPHFaults {
* the hardware.
*/
public final boolean getChannelFault(int channel) {
switch (channel) {
case 0:
return Channel0Fault;
case 1:
return Channel1Fault;
case 2:
return Channel2Fault;
case 3:
return Channel3Fault;
case 4:
return Channel4Fault;
case 5:
return Channel5Fault;
case 6:
return Channel6Fault;
case 7:
return Channel7Fault;
case 8:
return Channel8Fault;
case 9:
return Channel9Fault;
case 10:
return Channel10Fault;
case 11:
return Channel11Fault;
case 12:
return Channel12Fault;
case 13:
return Channel13Fault;
case 14:
return Channel14Fault;
case 15:
return Channel15Fault;
default:
throw new IndexOutOfBoundsException("Pneumatics fault channel out of bounds!");
}
return switch (channel) {
case 0 -> Channel0Fault;
case 1 -> Channel1Fault;
case 2 -> Channel2Fault;
case 3 -> Channel3Fault;
case 4 -> Channel4Fault;
case 5 -> Channel5Fault;
case 6 -> Channel6Fault;
case 7 -> Channel7Fault;
case 8 -> Channel8Fault;
case 9 -> Channel9Fault;
case 10 -> Channel10Fault;
case 11 -> Channel11Fault;
case 12 -> Channel12Fault;
case 13 -> Channel13Fault;
case 14 -> Channel14Fault;
case 15 -> Channel15Fault;
default -> throw new IndexOutOfBoundsException("Pneumatics fault channel out of bounds!");
};
}
/**

View File

@@ -29,23 +29,19 @@ public final class CANExceptionFactory {
*/
public static void checkStatus(int status, int messageID) {
switch (status) {
case NIRioStatus.kRioStatusSuccess:
case NIRioStatus.kRioStatusSuccess -> {
// Everything is ok... don't throw.
return;
case ERR_CANSessionMux_InvalidBuffer:
case NIRioStatus.kRIOStatusBufferInvalidSize:
throw new CANInvalidBufferException();
case ERR_CANSessionMux_MessageNotFound:
case NIRioStatus.kRIOStatusOperationTimedOut:
throw new CANMessageNotFoundException();
case ERR_CANSessionMux_NotAllowed:
case NIRioStatus.kRIOStatusFeatureNotSupported:
throw new CANMessageNotAllowedException("MessageID = " + messageID);
case ERR_CANSessionMux_NotInitialized:
case NIRioStatus.kRIOStatusResourceNotInitialized:
throw new CANNotInitializedException();
default:
throw new UncleanStatusException("Fatal status code detected: " + status);
}
case ERR_CANSessionMux_InvalidBuffer,
NIRioStatus.kRIOStatusBufferInvalidSize -> throw new CANInvalidBufferException();
case ERR_CANSessionMux_MessageNotFound,
NIRioStatus.kRIOStatusOperationTimedOut -> throw new CANMessageNotFoundException();
case ERR_CANSessionMux_NotAllowed,
NIRioStatus.kRIOStatusFeatureNotSupported -> throw new CANMessageNotAllowedException(
"MessageID = " + messageID);
case ERR_CANSessionMux_NotInitialized,
NIRioStatus.kRIOStatusResourceNotInitialized -> throw new CANNotInitializedException();
default -> throw new UncleanStatusException("Fatal status code detected: " + status);
}
}