mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-26 01:51:41 +00:00
[epilogue,ntcore,wpiunits] Use pattern matching switch expressions where possible (#8925)
Use [pattern matching switch expressions](https://docs.oracle.com/en/java/javase/17/language/pattern-matching-switch.html) where possible. This is a JVM 21+ feature which wasn't available until recently. If you look at the Java bytecode, this improves performance from an O(n) runtime check of literally each of the `if (x instanceof y)` checks to instead be an O(1) tableswitch. --------- Signed-off-by: Jonah Snider <jonah@jonahsnider.com>
This commit is contained in:
@@ -264,42 +264,26 @@ final class GenericEntryImpl extends EntryBase implements GenericEntry {
|
||||
*/
|
||||
@Override
|
||||
public boolean setValue(Object value, long time) {
|
||||
if (value instanceof NetworkTableValue) {
|
||||
return set((NetworkTableValue) value);
|
||||
} else if (value instanceof Boolean) {
|
||||
return setBoolean((Boolean) value, time);
|
||||
} else if (value instanceof Long) {
|
||||
return setInteger((Long) value, time);
|
||||
} else if (value instanceof Float) {
|
||||
return setFloat((Float) value, time);
|
||||
} else if (value instanceof Number) {
|
||||
return setNumber((Number) value, time);
|
||||
} else if (value instanceof String) {
|
||||
return setString((String) value, time);
|
||||
} else if (value instanceof byte[]) {
|
||||
return setRaw((byte[]) value, time);
|
||||
} else if (value instanceof boolean[]) {
|
||||
return setBooleanArray((boolean[]) value, time);
|
||||
} else if (value instanceof long[]) {
|
||||
return setIntegerArray((long[]) value, time);
|
||||
} else if (value instanceof float[]) {
|
||||
return setFloatArray((float[]) value, time);
|
||||
} else if (value instanceof double[]) {
|
||||
return setDoubleArray((double[]) value, time);
|
||||
} else if (value instanceof Boolean[]) {
|
||||
return setBooleanArray((Boolean[]) value, time);
|
||||
} else if (value instanceof Long[]) {
|
||||
return setIntegerArray((Long[]) value, time);
|
||||
} else if (value instanceof Float[]) {
|
||||
return setFloatArray((Float[]) value, time);
|
||||
} else if (value instanceof Number[]) {
|
||||
return setNumberArray((Number[]) value, time);
|
||||
} else if (value instanceof String[]) {
|
||||
return setStringArray((String[]) value, time);
|
||||
} else {
|
||||
throw new IllegalArgumentException(
|
||||
return switch (value) {
|
||||
case NetworkTableValue ntValue -> set(ntValue);
|
||||
case Boolean v -> setBoolean(v, time);
|
||||
case Long v -> setInteger(v, time);
|
||||
case Float v -> setFloat(v, time);
|
||||
case Number v -> setNumber(v, time);
|
||||
case String v -> setString(v, time);
|
||||
case byte[] v -> setRaw(v, time);
|
||||
case boolean[] v -> setBooleanArray(v, time);
|
||||
case long[] v -> setIntegerArray(v, time);
|
||||
case float[] v -> setFloatArray(v, time);
|
||||
case double[] v -> setDoubleArray(v, time);
|
||||
case Boolean[] v -> setBooleanArray(v, time);
|
||||
case Long[] v -> setIntegerArray(v, time);
|
||||
case Float[] v -> setFloatArray(v, time);
|
||||
case Number[] v -> setNumberArray(v, time);
|
||||
case String[] v -> setStringArray(v, time);
|
||||
default -> throw new IllegalArgumentException(
|
||||
"Value of type " + value.getClass().getName() + " cannot be put into a table");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -517,35 +501,28 @@ final class GenericEntryImpl extends EntryBase implements GenericEntry {
|
||||
public boolean setDefault(NetworkTableValue defaultValue) {
|
||||
long time = defaultValue.getTime();
|
||||
Object otherValue = defaultValue.getValue();
|
||||
switch (defaultValue.getType()) {
|
||||
case BOOLEAN:
|
||||
return NetworkTablesJNI.setDefaultBoolean(m_handle, time, (Boolean) otherValue);
|
||||
case INTEGER:
|
||||
return NetworkTablesJNI.setDefaultInteger(
|
||||
return switch (defaultValue.getType()) {
|
||||
case BOOLEAN -> NetworkTablesJNI.setDefaultBoolean(m_handle, time, (Boolean) otherValue);
|
||||
case INTEGER -> NetworkTablesJNI.setDefaultInteger(
|
||||
m_handle, time, ((Number) otherValue).longValue());
|
||||
case FLOAT:
|
||||
return NetworkTablesJNI.setDefaultFloat(
|
||||
case FLOAT -> NetworkTablesJNI.setDefaultFloat(
|
||||
m_handle, time, ((Number) otherValue).floatValue());
|
||||
case DOUBLE:
|
||||
return NetworkTablesJNI.setDefaultDouble(
|
||||
case DOUBLE -> NetworkTablesJNI.setDefaultDouble(
|
||||
m_handle, time, ((Number) otherValue).doubleValue());
|
||||
case STRING:
|
||||
return NetworkTablesJNI.setDefaultString(m_handle, time, (String) otherValue);
|
||||
case RAW:
|
||||
return NetworkTablesJNI.setDefaultRaw(m_handle, time, (byte[]) otherValue);
|
||||
case BOOLEAN_ARRAY:
|
||||
return NetworkTablesJNI.setDefaultBooleanArray(m_handle, time, (boolean[]) otherValue);
|
||||
case INTEGER_ARRAY:
|
||||
return NetworkTablesJNI.setDefaultIntegerArray(m_handle, time, (long[]) otherValue);
|
||||
case FLOAT_ARRAY:
|
||||
return NetworkTablesJNI.setDefaultFloatArray(m_handle, time, (float[]) otherValue);
|
||||
case DOUBLE_ARRAY:
|
||||
return NetworkTablesJNI.setDefaultDoubleArray(m_handle, time, (double[]) otherValue);
|
||||
case STRING_ARRAY:
|
||||
return NetworkTablesJNI.setDefaultStringArray(m_handle, time, (String[]) otherValue);
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
case STRING -> NetworkTablesJNI.setDefaultString(m_handle, time, (String) otherValue);
|
||||
case RAW -> NetworkTablesJNI.setDefaultRaw(m_handle, time, (byte[]) otherValue);
|
||||
case BOOLEAN_ARRAY -> NetworkTablesJNI.setDefaultBooleanArray(
|
||||
m_handle, time, (boolean[]) otherValue);
|
||||
case INTEGER_ARRAY -> NetworkTablesJNI.setDefaultIntegerArray(
|
||||
m_handle, time, (long[]) otherValue);
|
||||
case FLOAT_ARRAY -> NetworkTablesJNI.setDefaultFloatArray(
|
||||
m_handle, time, (float[]) otherValue);
|
||||
case DOUBLE_ARRAY -> NetworkTablesJNI.setDefaultDoubleArray(
|
||||
m_handle, time, (double[]) otherValue);
|
||||
case STRING_ARRAY -> NetworkTablesJNI.setDefaultStringArray(
|
||||
m_handle, time, (String[]) otherValue);
|
||||
default -> true;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -557,42 +534,26 @@ final class GenericEntryImpl extends EntryBase implements GenericEntry {
|
||||
*/
|
||||
@Override
|
||||
public boolean setDefaultValue(Object defaultValue) {
|
||||
if (defaultValue instanceof NetworkTableValue) {
|
||||
return setDefault((NetworkTableValue) defaultValue);
|
||||
} else if (defaultValue instanceof Boolean) {
|
||||
return setDefaultBoolean((Boolean) defaultValue);
|
||||
} else if (defaultValue instanceof Integer) {
|
||||
return setDefaultInteger((Integer) defaultValue);
|
||||
} else if (defaultValue instanceof Float) {
|
||||
return setDefaultFloat((Float) defaultValue);
|
||||
} else if (defaultValue instanceof Number) {
|
||||
return setDefaultNumber((Number) defaultValue);
|
||||
} else if (defaultValue instanceof String) {
|
||||
return setDefaultString((String) defaultValue);
|
||||
} else if (defaultValue instanceof byte[]) {
|
||||
return setDefaultRaw((byte[]) defaultValue);
|
||||
} else if (defaultValue instanceof boolean[]) {
|
||||
return setDefaultBooleanArray((boolean[]) defaultValue);
|
||||
} else if (defaultValue instanceof long[]) {
|
||||
return setDefaultIntegerArray((long[]) defaultValue);
|
||||
} else if (defaultValue instanceof float[]) {
|
||||
return setDefaultFloatArray((float[]) defaultValue);
|
||||
} else if (defaultValue instanceof double[]) {
|
||||
return setDefaultDoubleArray((double[]) defaultValue);
|
||||
} else if (defaultValue instanceof Boolean[]) {
|
||||
return setDefaultBooleanArray((Boolean[]) defaultValue);
|
||||
} else if (defaultValue instanceof Long[]) {
|
||||
return setDefaultIntegerArray((Long[]) defaultValue);
|
||||
} else if (defaultValue instanceof Float[]) {
|
||||
return setDefaultFloatArray((Float[]) defaultValue);
|
||||
} else if (defaultValue instanceof Number[]) {
|
||||
return setDefaultNumberArray((Number[]) defaultValue);
|
||||
} else if (defaultValue instanceof String[]) {
|
||||
return setDefaultStringArray((String[]) defaultValue);
|
||||
} else {
|
||||
throw new IllegalArgumentException(
|
||||
return switch (defaultValue) {
|
||||
case NetworkTableValue ntValue -> setDefault(ntValue);
|
||||
case Boolean value -> setDefaultBoolean(value);
|
||||
case Integer value -> setDefaultInteger(value);
|
||||
case Float value -> setDefaultFloat(value);
|
||||
case Number value -> setDefaultNumber(value);
|
||||
case String value -> setDefaultString(value);
|
||||
case byte[] value -> setDefaultRaw(value);
|
||||
case boolean[] value -> setDefaultBooleanArray(value);
|
||||
case long[] value -> setDefaultIntegerArray(value);
|
||||
case float[] value -> setDefaultFloatArray(value);
|
||||
case double[] value -> setDefaultDoubleArray(value);
|
||||
case Boolean[] value -> setDefaultBooleanArray(value);
|
||||
case Long[] value -> setDefaultIntegerArray(value);
|
||||
case Float[] value -> setDefaultFloatArray(value);
|
||||
case Number[] value -> setDefaultNumberArray(value);
|
||||
case String[] value -> setDefaultStringArray(value);
|
||||
default -> throw new IllegalArgumentException(
|
||||
"Value of type " + defaultValue.getClass().getName() + " cannot be put into a table");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -338,21 +338,16 @@ public final class NetworkTableEntry implements Publisher, Subscriber {
|
||||
* @return true if the data can be placed in an entry, false if it cannot
|
||||
*/
|
||||
public static boolean isValidDataType(Object data) {
|
||||
return data instanceof Number
|
||||
|| data instanceof Boolean
|
||||
|| data instanceof String
|
||||
|| data instanceof long[]
|
||||
|| data instanceof Long[]
|
||||
|| data instanceof float[]
|
||||
|| data instanceof Float[]
|
||||
|| data instanceof double[]
|
||||
|| data instanceof Double[]
|
||||
|| data instanceof Number[]
|
||||
|| data instanceof boolean[]
|
||||
|| data instanceof Boolean[]
|
||||
|| data instanceof String[]
|
||||
|| data instanceof byte[]
|
||||
|| data instanceof Byte[];
|
||||
return switch (data) {
|
||||
case Number _, Boolean _, String _ -> true;
|
||||
case byte[] _, Byte[] _ -> true;
|
||||
case boolean[] _, Boolean[] _ -> true;
|
||||
case long[] _, Long[] _ -> true;
|
||||
case float[] _, Float[] _ -> true;
|
||||
case double[] _, Double[] _, Number[] _ -> true;
|
||||
case String[] _ -> true;
|
||||
case null, default -> false;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -363,72 +358,51 @@ public final class NetworkTableEntry implements Publisher, Subscriber {
|
||||
* @throws IllegalArgumentException if the value is not a known type
|
||||
*/
|
||||
public boolean setDefaultValue(Object defaultValue) {
|
||||
if (defaultValue instanceof NetworkTableValue) {
|
||||
long time = ((NetworkTableValue) defaultValue).getTime();
|
||||
Object otherValue = ((NetworkTableValue) defaultValue).getValue();
|
||||
switch (((NetworkTableValue) defaultValue).getType()) {
|
||||
case BOOLEAN:
|
||||
return NetworkTablesJNI.setDefaultBoolean(m_handle, time, (Boolean) otherValue);
|
||||
case INTEGER:
|
||||
return NetworkTablesJNI.setDefaultInteger(
|
||||
return switch (defaultValue) {
|
||||
case NetworkTableValue ntValue -> {
|
||||
long time = ntValue.getTime();
|
||||
Object otherValue = ntValue.getValue();
|
||||
yield switch (ntValue.getType()) {
|
||||
case BOOLEAN -> NetworkTablesJNI.setDefaultBoolean(m_handle, time, (Boolean) otherValue);
|
||||
case INTEGER -> NetworkTablesJNI.setDefaultInteger(
|
||||
m_handle, time, ((Number) otherValue).longValue());
|
||||
case FLOAT:
|
||||
return NetworkTablesJNI.setDefaultFloat(
|
||||
case FLOAT -> NetworkTablesJNI.setDefaultFloat(
|
||||
m_handle, time, ((Number) otherValue).floatValue());
|
||||
case DOUBLE:
|
||||
return NetworkTablesJNI.setDefaultDouble(
|
||||
case DOUBLE -> NetworkTablesJNI.setDefaultDouble(
|
||||
m_handle, time, ((Number) otherValue).doubleValue());
|
||||
case STRING:
|
||||
return NetworkTablesJNI.setDefaultString(m_handle, time, (String) otherValue);
|
||||
case RAW:
|
||||
return NetworkTablesJNI.setDefaultRaw(m_handle, time, (byte[]) otherValue);
|
||||
case BOOLEAN_ARRAY:
|
||||
return NetworkTablesJNI.setDefaultBooleanArray(m_handle, time, (boolean[]) otherValue);
|
||||
case INTEGER_ARRAY:
|
||||
return NetworkTablesJNI.setDefaultIntegerArray(m_handle, time, (long[]) otherValue);
|
||||
case FLOAT_ARRAY:
|
||||
return NetworkTablesJNI.setDefaultFloatArray(m_handle, time, (float[]) otherValue);
|
||||
case DOUBLE_ARRAY:
|
||||
return NetworkTablesJNI.setDefaultDoubleArray(m_handle, time, (double[]) otherValue);
|
||||
case STRING_ARRAY:
|
||||
return NetworkTablesJNI.setDefaultStringArray(m_handle, time, (String[]) otherValue);
|
||||
default:
|
||||
return true;
|
||||
case STRING -> NetworkTablesJNI.setDefaultString(m_handle, time, (String) otherValue);
|
||||
case RAW -> NetworkTablesJNI.setDefaultRaw(m_handle, time, (byte[]) otherValue);
|
||||
case BOOLEAN_ARRAY -> NetworkTablesJNI.setDefaultBooleanArray(
|
||||
m_handle, time, (boolean[]) otherValue);
|
||||
case INTEGER_ARRAY -> NetworkTablesJNI.setDefaultIntegerArray(
|
||||
m_handle, time, (long[]) otherValue);
|
||||
case FLOAT_ARRAY -> NetworkTablesJNI.setDefaultFloatArray(
|
||||
m_handle, time, (float[]) otherValue);
|
||||
case DOUBLE_ARRAY -> NetworkTablesJNI.setDefaultDoubleArray(
|
||||
m_handle, time, (double[]) otherValue);
|
||||
case STRING_ARRAY -> NetworkTablesJNI.setDefaultStringArray(
|
||||
m_handle, time, (String[]) otherValue);
|
||||
default -> true;
|
||||
};
|
||||
}
|
||||
} else if (defaultValue instanceof Boolean) {
|
||||
return setDefaultBoolean((Boolean) defaultValue);
|
||||
} else if (defaultValue instanceof Integer) {
|
||||
return setDefaultInteger((Integer) defaultValue);
|
||||
} else if (defaultValue instanceof Float) {
|
||||
return setDefaultFloat((Float) defaultValue);
|
||||
} else if (defaultValue instanceof Number) {
|
||||
return setDefaultNumber((Number) defaultValue);
|
||||
} else if (defaultValue instanceof String) {
|
||||
return setDefaultString((String) defaultValue);
|
||||
} else if (defaultValue instanceof byte[]) {
|
||||
return setDefaultRaw((byte[]) defaultValue);
|
||||
} else if (defaultValue instanceof boolean[]) {
|
||||
return setDefaultBooleanArray((boolean[]) defaultValue);
|
||||
} else if (defaultValue instanceof long[]) {
|
||||
return setDefaultIntegerArray((long[]) defaultValue);
|
||||
} else if (defaultValue instanceof float[]) {
|
||||
return setDefaultFloatArray((float[]) defaultValue);
|
||||
} else if (defaultValue instanceof double[]) {
|
||||
return setDefaultDoubleArray((double[]) defaultValue);
|
||||
} else if (defaultValue instanceof Boolean[]) {
|
||||
return setDefaultBooleanArray((Boolean[]) defaultValue);
|
||||
} else if (defaultValue instanceof Long[]) {
|
||||
return setDefaultIntegerArray((Long[]) defaultValue);
|
||||
} else if (defaultValue instanceof Float[]) {
|
||||
return setDefaultFloatArray((Float[]) defaultValue);
|
||||
} else if (defaultValue instanceof Number[]) {
|
||||
return setDefaultNumberArray((Number[]) defaultValue);
|
||||
} else if (defaultValue instanceof String[]) {
|
||||
return setDefaultStringArray((String[]) defaultValue);
|
||||
} else {
|
||||
throw new IllegalArgumentException(
|
||||
case Boolean value -> setDefaultBoolean(value);
|
||||
case Integer value -> setDefaultInteger(value);
|
||||
case Float value -> setDefaultFloat(value);
|
||||
case Number value -> setDefaultNumber(value);
|
||||
case String value -> setDefaultString(value);
|
||||
case byte[] value -> setDefaultRaw(value);
|
||||
case boolean[] value -> setDefaultBooleanArray(value);
|
||||
case long[] value -> setDefaultIntegerArray(value);
|
||||
case float[] value -> setDefaultFloatArray(value);
|
||||
case double[] value -> setDefaultDoubleArray(value);
|
||||
case Boolean[] value -> setDefaultBooleanArray(value);
|
||||
case Long[] value -> setDefaultIntegerArray(value);
|
||||
case Float[] value -> setDefaultFloatArray(value);
|
||||
case Number[] value -> setDefaultNumberArray(value);
|
||||
case String[] value -> setDefaultStringArray(value);
|
||||
default -> throw new IllegalArgumentException(
|
||||
"Value of type " + defaultValue.getClass().getName() + " cannot be put into a table");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -644,72 +618,51 @@ public final class NetworkTableEntry implements Publisher, Subscriber {
|
||||
* @throws IllegalArgumentException if the value is not a known type
|
||||
*/
|
||||
public boolean setValue(Object value) {
|
||||
if (value instanceof NetworkTableValue) {
|
||||
long time = ((NetworkTableValue) value).getTime();
|
||||
Object otherValue = ((NetworkTableValue) value).getValue();
|
||||
switch (((NetworkTableValue) value).getType()) {
|
||||
case BOOLEAN:
|
||||
return NetworkTablesJNI.setBoolean(m_handle, time, (Boolean) otherValue);
|
||||
case INTEGER:
|
||||
return NetworkTablesJNI.setInteger(
|
||||
return switch (value) {
|
||||
case NetworkTableValue ntValue -> {
|
||||
long time = ntValue.getTime();
|
||||
Object otherValue = ntValue.getValue();
|
||||
yield switch (ntValue.getType()) {
|
||||
case BOOLEAN -> NetworkTablesJNI.setBoolean(m_handle, time, (Boolean) otherValue);
|
||||
case INTEGER -> NetworkTablesJNI.setInteger(
|
||||
m_handle, time, ((Number) otherValue).longValue());
|
||||
case FLOAT:
|
||||
return NetworkTablesJNI.setFloat(
|
||||
case FLOAT -> NetworkTablesJNI.setFloat(
|
||||
m_handle, time, ((Number) otherValue).floatValue());
|
||||
case DOUBLE:
|
||||
return NetworkTablesJNI.setDouble(
|
||||
case DOUBLE -> NetworkTablesJNI.setDouble(
|
||||
m_handle, time, ((Number) otherValue).doubleValue());
|
||||
case STRING:
|
||||
return NetworkTablesJNI.setString(m_handle, time, (String) otherValue);
|
||||
case RAW:
|
||||
return NetworkTablesJNI.setRaw(m_handle, time, (byte[]) otherValue);
|
||||
case BOOLEAN_ARRAY:
|
||||
return NetworkTablesJNI.setBooleanArray(m_handle, time, (boolean[]) otherValue);
|
||||
case INTEGER_ARRAY:
|
||||
return NetworkTablesJNI.setIntegerArray(m_handle, time, (long[]) otherValue);
|
||||
case FLOAT_ARRAY:
|
||||
return NetworkTablesJNI.setFloatArray(m_handle, time, (float[]) otherValue);
|
||||
case DOUBLE_ARRAY:
|
||||
return NetworkTablesJNI.setDoubleArray(m_handle, time, (double[]) otherValue);
|
||||
case STRING_ARRAY:
|
||||
return NetworkTablesJNI.setStringArray(m_handle, time, (String[]) otherValue);
|
||||
default:
|
||||
return true;
|
||||
case STRING -> NetworkTablesJNI.setString(m_handle, time, (String) otherValue);
|
||||
case RAW -> NetworkTablesJNI.setRaw(m_handle, time, (byte[]) otherValue);
|
||||
case BOOLEAN_ARRAY -> NetworkTablesJNI.setBooleanArray(
|
||||
m_handle, time, (boolean[]) otherValue);
|
||||
case INTEGER_ARRAY -> NetworkTablesJNI.setIntegerArray(
|
||||
m_handle, time, (long[]) otherValue);
|
||||
case FLOAT_ARRAY -> NetworkTablesJNI.setFloatArray(
|
||||
m_handle, time, (float[]) otherValue);
|
||||
case DOUBLE_ARRAY -> NetworkTablesJNI.setDoubleArray(
|
||||
m_handle, time, (double[]) otherValue);
|
||||
case STRING_ARRAY -> NetworkTablesJNI.setStringArray(
|
||||
m_handle, time, (String[]) otherValue);
|
||||
default -> true;
|
||||
};
|
||||
}
|
||||
} else if (value instanceof Boolean) {
|
||||
return setBoolean((Boolean) value);
|
||||
} else if (value instanceof Long) {
|
||||
return setInteger((Long) value);
|
||||
} else if (value instanceof Float) {
|
||||
return setFloat((Float) value);
|
||||
} else if (value instanceof Number) {
|
||||
return setNumber((Number) value);
|
||||
} else if (value instanceof String) {
|
||||
return setString((String) value);
|
||||
} else if (value instanceof byte[]) {
|
||||
return setRaw((byte[]) value);
|
||||
} else if (value instanceof boolean[]) {
|
||||
return setBooleanArray((boolean[]) value);
|
||||
} else if (value instanceof long[]) {
|
||||
return setIntegerArray((long[]) value);
|
||||
} else if (value instanceof float[]) {
|
||||
return setFloatArray((float[]) value);
|
||||
} else if (value instanceof double[]) {
|
||||
return setDoubleArray((double[]) value);
|
||||
} else if (value instanceof Boolean[]) {
|
||||
return setBooleanArray((Boolean[]) value);
|
||||
} else if (value instanceof Long[]) {
|
||||
return setIntegerArray((Long[]) value);
|
||||
} else if (value instanceof Float[]) {
|
||||
return setFloatArray((Float[]) value);
|
||||
} else if (value instanceof Number[]) {
|
||||
return setNumberArray((Number[]) value);
|
||||
} else if (value instanceof String[]) {
|
||||
return setStringArray((String[]) value);
|
||||
} else {
|
||||
throw new IllegalArgumentException(
|
||||
case Boolean v -> setBoolean(v);
|
||||
case Long v -> setInteger(v);
|
||||
case Float v -> setFloat(v);
|
||||
case Number v -> setNumber(v);
|
||||
case String v -> setString(v);
|
||||
case byte[] v -> setRaw(v);
|
||||
case boolean[] v -> setBooleanArray(v);
|
||||
case long[] v -> setIntegerArray(v);
|
||||
case float[] v -> setFloatArray(v);
|
||||
case double[] v -> setDoubleArray(v);
|
||||
case Boolean[] v -> setBooleanArray(v);
|
||||
case Long[] v -> setIntegerArray(v);
|
||||
case Float[] v -> setFloatArray(v);
|
||||
case Number[] v -> setNumberArray(v);
|
||||
case String[] v -> setStringArray(v);
|
||||
default -> throw new IllegalArgumentException(
|
||||
"Value of type " + value.getClass().getName() + " cannot be put into a table");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user