7package org.wpilib.networktables;
9import java.nio.ByteBuffer;
16@SuppressWarnings(
"UnnecessaryParentheses")
40 public void close() {}
78 return m_topic.getInstance();
191 public byte[]
getRaw(
byte[] defaultValue) {
306 return getDouble(defaultValue.doubleValue());
341 return switch (data) {
342 case Number _, Boolean _, String _ ->
true;
343 case byte[] _, Byte[] _ ->
true;
344 case boolean[] _, Boolean[] _ ->
true;
345 case long[] _, Long[] _ ->
true;
346 case float[] _, Float[] _ ->
true;
347 case double[] _, Double[] _, Number[] _ ->
true;
348 case String[] _ ->
true;
349 case null,
default ->
false;
361 return switch (defaultValue) {
363 long time = ntValue.getTime();
364 Object otherValue = ntValue.getValue();
365 yield
switch (ntValue.getType()) {
366 case BOOLEAN ->
NetworkTablesJNI.setDefaultBoolean(m_handle, time, (Boolean) otherValue);
368 m_handle, time, ((Number) otherValue).longValue());
370 m_handle, time, ((Number) otherValue).floatValue());
372 m_handle, time, ((Number) otherValue).doubleValue());
373 case STRING ->
NetworkTablesJNI.setDefaultString(m_handle, time, (String) otherValue);
374 case RAW ->
NetworkTablesJNI.setDefaultRaw(m_handle, time, (
byte[]) otherValue);
376 m_handle, time, (
boolean[]) otherValue);
378 m_handle, time, (
long[]) otherValue);
380 m_handle, time, (
float[]) otherValue);
382 m_handle, time, (
double[]) otherValue);
384 m_handle, time, (String[]) otherValue);
403 default ->
throw new IllegalArgumentException(
404 "Value of type " + defaultValue.getClass().getName() +
" cannot be put into a table");
488 return NetworkTablesJNI.setDefaultRaw(m_handle, 0, defaultValue, start, len);
500 return NetworkTablesJNI.setDefaultRaw(m_handle, 0, defaultValue, start, len);
621 return switch (value) {
623 long time = ntValue.getTime();
624 Object otherValue = ntValue.getValue();
625 yield
switch (ntValue.getType()) {
626 case BOOLEAN ->
NetworkTablesJNI.setBoolean(m_handle, time, (Boolean) otherValue);
628 m_handle, time, ((Number) otherValue).longValue());
630 m_handle, time, ((Number) otherValue).floatValue());
632 m_handle, time, ((Number) otherValue).doubleValue());
633 case STRING ->
NetworkTablesJNI.setString(m_handle, time, (String) otherValue);
636 m_handle, time, (
boolean[]) otherValue);
638 m_handle, time, (
long[]) otherValue);
640 m_handle, time, (
float[]) otherValue);
642 m_handle, time, (
double[]) otherValue);
644 m_handle, time, (String[]) otherValue);
653 case byte[] v ->
setRaw(v);
663 default ->
throw new IllegalArgumentException(
664 "Value of type " + value.getClass().getName() +
" cannot be put into a table");
734 public boolean setRaw(ByteBuffer value) {
746 public boolean setRaw(
byte[] value,
int start,
int len) {
758 public boolean setRaw(ByteBuffer value,
int start,
int len) {
897 public boolean equals(Object other) {
898 return other ==
this || other instanceof
NetworkTableEntry entry && m_handle == entry.m_handle;
902 public int hashCode() {
906 private final Topic m_topic;
907 private final int m_handle;
boolean setNumberArray(Number[] value)
boolean setValue(Object value)
byte[] getRaw(byte[] defaultValue)
Number getNumber(Number defaultValue)
boolean setDefaultNumberArray(Number[] defaultValue)
boolean setDefaultFloat(float defaultValue)
String[] getStringArray(String[] defaultValue)
boolean setDefaultRaw(ByteBuffer defaultValue, int start, int len)
boolean setRaw(byte[] value)
long getInteger(long defaultValue)
boolean setDefaultDouble(double defaultValue)
boolean setString(String value)
boolean setFloatArray(float[] value)
NetworkTableValue[] readQueue()
boolean setBooleanArray(boolean[] value)
boolean[] getBooleanArray(boolean[] defaultValue)
boolean setDoubleArray(Double[] value)
boolean setDefaultBoolean(boolean defaultValue)
boolean setDefaultIntegerArray(long[] defaultValue)
NetworkTableValue getValue()
boolean setDefaultIntegerArray(Long[] defaultValue)
boolean setDefaultString(String defaultValue)
boolean setDefaultDoubleArray(Double[] defaultValue)
boolean setFloatArray(Float[] value)
boolean setDefaultRaw(byte[] defaultValue, int start, int len)
boolean setIntegerArray(Long[] value)
NetworkTableType getType()
boolean setDefaultBooleanArray(Boolean[] defaultValue)
boolean setDefaultFloatArray(Float[] defaultValue)
boolean setDoubleArray(double[] value)
Long[] getIntegerArray(Long[] defaultValue)
NetworkTableEntry(NetworkTableInstance inst, int handle)
boolean setStringArray(String[] value)
boolean setDefaultDoubleArray(double[] defaultValue)
long[] getIntegerArray(long[] defaultValue)
boolean setInteger(long value)
boolean setDefaultBooleanArray(boolean[] defaultValue)
boolean setDefaultRaw(ByteBuffer defaultValue)
boolean setRaw(byte[] value, int start, int len)
Number[] getNumberArray(Number[] defaultValue)
boolean setDefaultNumber(Number defaultValue)
String getString(String defaultValue)
boolean setRaw(ByteBuffer value, int start, int len)
NetworkTableEntry(Topic topic, int handle)
Float[] getFloatArray(Float[] defaultValue)
boolean setBooleanArray(Boolean[] value)
boolean setBoolean(boolean value)
boolean setIntegerArray(long[] value)
float[] getFloatArray(float[] defaultValue)
static boolean isValidDataType(Object data)
Boolean[] getBooleanArray(Boolean[] defaultValue)
NetworkTableInstance getInstance()
boolean setDouble(double value)
boolean setDefaultRaw(byte[] defaultValue)
boolean getBoolean(boolean defaultValue)
double[] getDoubleArray(double[] defaultValue)
double getDouble(double defaultValue)
Double[] getDoubleArray(Double[] defaultValue)
boolean setDefaultValue(Object defaultValue)
boolean setDefaultStringArray(String[] defaultValue)
boolean setFloat(float value)
boolean setNumber(Number value)
float getFloat(float defaultValue)
boolean setDefaultInteger(long defaultValue)
boolean setDefaultFloatArray(float[] defaultValue)
boolean setRaw(ByteBuffer value)
static NetworkTableType getFromInt(int value)