RobotCore 1.0
WPILib port to raspberry Pi
Loading...
Searching...
No Matches
NetworkTableEntry.java
1// Copyright (c) FIRST and other WPILib contributors.
2// Open Source Software; you can modify and/or share it under the terms of
3// the WPILib BSD license file in the root directory of this project.
4
5// THIS FILE WAS AUTO-GENERATED BY ./ntcore/generate_topics.py. DO NOT MODIFY
6
7package org.wpilib.networktables;
8
9import java.nio.ByteBuffer;
10
16@SuppressWarnings("UnnecessaryParentheses")
17public final class NetworkTableEntry implements Publisher, Subscriber {
24 public NetworkTableEntry(NetworkTableInstance inst, int handle) {
25 this(new Topic(inst, NetworkTablesJNI.getTopicFromHandle(handle)), handle);
26 }
27
34 public NetworkTableEntry(Topic topic, int handle) {
35 m_topic = topic;
36 m_handle = handle;
37 }
38
39 @Override
40 public void close() {}
41
47 @Override
48 public boolean isValid() {
49 return m_handle != 0;
50 }
51
57 @Override
58 public int getHandle() {
59 return m_handle;
60 }
61
67 @Override
68 public Topic getTopic() {
69 return m_topic;
70 }
71
78 return m_topic.getInstance();
79 }
80
86 @Override
87 public boolean exists() {
88 return NetworkTablesJNI.getType(m_handle) != 0;
89 }
90
96 public String getName() {
97 return NetworkTablesJNI.getEntryName(m_handle);
98 }
99
106 return NetworkTableType.getFromInt(NetworkTablesJNI.getType(m_handle));
107 }
108
114 @Override
115 public long getLastChange() {
116 return NetworkTablesJNI.getEntryLastChange(m_handle);
117 }
118
126 return NetworkTablesJNI.getValue(m_handle);
127 }
128
136 public boolean getBoolean(boolean defaultValue) {
137 return NetworkTablesJNI.getBoolean(m_handle, defaultValue);
138 }
139
147 public long getInteger(long defaultValue) {
148 return NetworkTablesJNI.getInteger(m_handle, defaultValue);
149 }
150
158 public float getFloat(float defaultValue) {
159 return NetworkTablesJNI.getFloat(m_handle, defaultValue);
160 }
161
169 public double getDouble(double defaultValue) {
170 return NetworkTablesJNI.getDouble(m_handle, defaultValue);
171 }
172
180 public String getString(String defaultValue) {
181 return NetworkTablesJNI.getString(m_handle, defaultValue);
182 }
183
191 public byte[] getRaw(byte[] defaultValue) {
192 return NetworkTablesJNI.getRaw(m_handle, defaultValue);
193 }
194
202 public boolean[] getBooleanArray(boolean[] defaultValue) {
203 return NetworkTablesJNI.getBooleanArray(m_handle, defaultValue);
204 }
205
213 public Boolean[] getBooleanArray(Boolean[] defaultValue) {
214 return NetworkTableValue.fromNativeBooleanArray(
215 getBooleanArray(NetworkTableValue.toNativeBooleanArray(defaultValue)));
216 }
217
225 public long[] getIntegerArray(long[] defaultValue) {
226 return NetworkTablesJNI.getIntegerArray(m_handle, defaultValue);
227 }
228
236 public Long[] getIntegerArray(Long[] defaultValue) {
237 return NetworkTableValue.fromNativeIntegerArray(
238 getIntegerArray(NetworkTableValue.toNativeIntegerArray(defaultValue)));
239 }
240
248 public float[] getFloatArray(float[] defaultValue) {
249 return NetworkTablesJNI.getFloatArray(m_handle, defaultValue);
250 }
251
259 public Float[] getFloatArray(Float[] defaultValue) {
260 return NetworkTableValue.fromNativeFloatArray(
261 getFloatArray(NetworkTableValue.toNativeFloatArray(defaultValue)));
262 }
263
271 public double[] getDoubleArray(double[] defaultValue) {
272 return NetworkTablesJNI.getDoubleArray(m_handle, defaultValue);
273 }
274
282 public Double[] getDoubleArray(Double[] defaultValue) {
283 return NetworkTableValue.fromNativeDoubleArray(
284 getDoubleArray(NetworkTableValue.toNativeDoubleArray(defaultValue)));
285 }
286
294 public String[] getStringArray(String[] defaultValue) {
295 return NetworkTablesJNI.getStringArray(m_handle, defaultValue);
296 }
297
305 public Number getNumber(Number defaultValue) {
306 return getDouble(defaultValue.doubleValue());
307 }
308
316 public Number[] getNumberArray(Number[] defaultValue) {
317 return NetworkTableValue.fromNativeDoubleArray(
318 getDoubleArray(NetworkTableValue.toNativeDoubleArray(defaultValue)));
319 }
320
331 return NetworkTablesJNI.readQueueValue(m_handle);
332 }
333
340 public static boolean isValidDataType(Object data) {
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;
350 };
351 }
352
360 public boolean setDefaultValue(Object defaultValue) {
361 return switch (defaultValue) {
362 case NetworkTableValue ntValue -> {
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);
367 case INTEGER -> NetworkTablesJNI.setDefaultInteger(
368 m_handle, time, ((Number) otherValue).longValue());
369 case FLOAT -> NetworkTablesJNI.setDefaultFloat(
370 m_handle, time, ((Number) otherValue).floatValue());
371 case DOUBLE -> NetworkTablesJNI.setDefaultDouble(
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);
375 case BOOLEAN_ARRAY -> NetworkTablesJNI.setDefaultBooleanArray(
376 m_handle, time, (boolean[]) otherValue);
377 case INTEGER_ARRAY -> NetworkTablesJNI.setDefaultIntegerArray(
378 m_handle, time, (long[]) otherValue);
379 case FLOAT_ARRAY -> NetworkTablesJNI.setDefaultFloatArray(
380 m_handle, time, (float[]) otherValue);
381 case DOUBLE_ARRAY -> NetworkTablesJNI.setDefaultDoubleArray(
382 m_handle, time, (double[]) otherValue);
383 case STRING_ARRAY -> NetworkTablesJNI.setDefaultStringArray(
384 m_handle, time, (String[]) otherValue);
385 default -> true;
386 };
387 }
388 case Boolean value -> setDefaultBoolean(value);
389 case Integer value -> setDefaultInteger(value);
390 case Float value -> setDefaultFloat(value);
391 case Number value -> setDefaultNumber(value);
392 case String value -> setDefaultString(value);
393 case byte[] value -> setDefaultRaw(value);
394 case boolean[] value -> setDefaultBooleanArray(value);
395 case long[] value -> setDefaultIntegerArray(value);
396 case float[] value -> setDefaultFloatArray(value);
397 case double[] value -> setDefaultDoubleArray(value);
398 case Boolean[] value -> setDefaultBooleanArray(value);
399 case Long[] value -> setDefaultIntegerArray(value);
400 case Float[] value -> setDefaultFloatArray(value);
401 case Number[] value -> setDefaultNumberArray(value);
402 case String[] value -> setDefaultStringArray(value);
403 default -> throw new IllegalArgumentException(
404 "Value of type " + defaultValue.getClass().getName() + " cannot be put into a table");
405 };
406 }
407
414 public boolean setDefaultBoolean(boolean defaultValue) {
415 return NetworkTablesJNI.setDefaultBoolean(m_handle, 0, defaultValue);
416 }
417
424 public boolean setDefaultInteger(long defaultValue) {
425 return NetworkTablesJNI.setDefaultInteger(m_handle, 0, defaultValue);
426 }
427
434 public boolean setDefaultFloat(float defaultValue) {
435 return NetworkTablesJNI.setDefaultFloat(m_handle, 0, defaultValue);
436 }
437
444 public boolean setDefaultDouble(double defaultValue) {
445 return NetworkTablesJNI.setDefaultDouble(m_handle, 0, defaultValue);
446 }
447
454 public boolean setDefaultString(String defaultValue) {
455 return NetworkTablesJNI.setDefaultString(m_handle, 0, defaultValue);
456 }
457
464 public boolean setDefaultRaw(byte[] defaultValue) {
465 return NetworkTablesJNI.setDefaultRaw(m_handle, 0, defaultValue);
466 }
467
475 public boolean setDefaultRaw(ByteBuffer defaultValue) {
476 return NetworkTablesJNI.setDefaultRaw(m_handle, 0, defaultValue);
477 }
478
487 public boolean setDefaultRaw(byte[] defaultValue, int start, int len) {
488 return NetworkTablesJNI.setDefaultRaw(m_handle, 0, defaultValue, start, len);
489 }
490
499 public boolean setDefaultRaw(ByteBuffer defaultValue, int start, int len) {
500 return NetworkTablesJNI.setDefaultRaw(m_handle, 0, defaultValue, start, len);
501 }
502
509 public boolean setDefaultBooleanArray(boolean[] defaultValue) {
510 return NetworkTablesJNI.setDefaultBooleanArray(m_handle, 0, defaultValue);
511 }
512
519 public boolean setDefaultBooleanArray(Boolean[] defaultValue) {
520 return setDefaultBooleanArray(NetworkTableValue.toNativeBooleanArray(defaultValue));
521 }
522
529 public boolean setDefaultIntegerArray(long[] defaultValue) {
530 return NetworkTablesJNI.setDefaultIntegerArray(m_handle, 0, defaultValue);
531 }
532
539 public boolean setDefaultIntegerArray(Long[] defaultValue) {
540 return setDefaultIntegerArray(NetworkTableValue.toNativeIntegerArray(defaultValue));
541 }
542
549 public boolean setDefaultFloatArray(float[] defaultValue) {
550 return NetworkTablesJNI.setDefaultFloatArray(m_handle, 0, defaultValue);
551 }
552
559 public boolean setDefaultFloatArray(Float[] defaultValue) {
560 return setDefaultFloatArray(NetworkTableValue.toNativeFloatArray(defaultValue));
561 }
562
569 public boolean setDefaultDoubleArray(double[] defaultValue) {
570 return NetworkTablesJNI.setDefaultDoubleArray(m_handle, 0, defaultValue);
571 }
572
579 public boolean setDefaultDoubleArray(Double[] defaultValue) {
580 return setDefaultDoubleArray(NetworkTableValue.toNativeDoubleArray(defaultValue));
581 }
582
589 public boolean setDefaultStringArray(String[] defaultValue) {
590 return NetworkTablesJNI.setDefaultStringArray(m_handle, 0, defaultValue);
591 }
592
599 public boolean setDefaultNumber(Number defaultValue) {
600 return setDefaultDouble(defaultValue.doubleValue());
601 }
602
609 public boolean setDefaultNumberArray(Number[] defaultValue) {
610 return setDefaultDoubleArray(NetworkTableValue.toNativeDoubleArray(defaultValue));
611 }
612
620 public boolean setValue(Object value) {
621 return switch (value) {
622 case NetworkTableValue ntValue -> {
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);
627 case INTEGER -> NetworkTablesJNI.setInteger(
628 m_handle, time, ((Number) otherValue).longValue());
629 case FLOAT -> NetworkTablesJNI.setFloat(
630 m_handle, time, ((Number) otherValue).floatValue());
631 case DOUBLE -> NetworkTablesJNI.setDouble(
632 m_handle, time, ((Number) otherValue).doubleValue());
633 case STRING -> NetworkTablesJNI.setString(m_handle, time, (String) otherValue);
634 case RAW -> NetworkTablesJNI.setRaw(m_handle, time, (byte[]) otherValue);
635 case BOOLEAN_ARRAY -> NetworkTablesJNI.setBooleanArray(
636 m_handle, time, (boolean[]) otherValue);
637 case INTEGER_ARRAY -> NetworkTablesJNI.setIntegerArray(
638 m_handle, time, (long[]) otherValue);
639 case FLOAT_ARRAY -> NetworkTablesJNI.setFloatArray(
640 m_handle, time, (float[]) otherValue);
641 case DOUBLE_ARRAY -> NetworkTablesJNI.setDoubleArray(
642 m_handle, time, (double[]) otherValue);
643 case STRING_ARRAY -> NetworkTablesJNI.setStringArray(
644 m_handle, time, (String[]) otherValue);
645 default -> true;
646 };
647 }
648 case Boolean v -> setBoolean(v);
649 case Long v -> setInteger(v);
650 case Float v -> setFloat(v);
651 case Number v -> setNumber(v);
652 case String v -> setString(v);
653 case byte[] v -> setRaw(v);
654 case boolean[] v -> setBooleanArray(v);
655 case long[] v -> setIntegerArray(v);
656 case float[] v -> setFloatArray(v);
657 case double[] v -> setDoubleArray(v);
658 case Boolean[] v -> setBooleanArray(v);
659 case Long[] v -> setIntegerArray(v);
660 case Float[] v -> setFloatArray(v);
661 case Number[] v -> setNumberArray(v);
662 case String[] v -> setStringArray(v);
663 default -> throw new IllegalArgumentException(
664 "Value of type " + value.getClass().getName() + " cannot be put into a table");
665 };
666 }
667
674 public boolean setBoolean(boolean value) {
675 return NetworkTablesJNI.setBoolean(m_handle, 0, value);
676 }
677
684 public boolean setInteger(long value) {
685 return NetworkTablesJNI.setInteger(m_handle, 0, value);
686 }
687
694 public boolean setFloat(float value) {
695 return NetworkTablesJNI.setFloat(m_handle, 0, value);
696 }
697
704 public boolean setDouble(double value) {
705 return NetworkTablesJNI.setDouble(m_handle, 0, value);
706 }
707
714 public boolean setString(String value) {
715 return NetworkTablesJNI.setString(m_handle, 0, value);
716 }
717
724 public boolean setRaw(byte[] value) {
725 return NetworkTablesJNI.setRaw(m_handle, 0, value);
726 }
727
734 public boolean setRaw(ByteBuffer value) {
735 return NetworkTablesJNI.setRaw(m_handle, 0, value);
736 }
737
746 public boolean setRaw(byte[] value, int start, int len) {
747 return NetworkTablesJNI.setRaw(m_handle, 0, value, start, len);
748 }
749
758 public boolean setRaw(ByteBuffer value, int start, int len) {
759 return NetworkTablesJNI.setRaw(m_handle, 0, value, start, len);
760 }
761
768 public boolean setBooleanArray(boolean[] value) {
769 return NetworkTablesJNI.setBooleanArray(m_handle, 0, value);
770 }
771
778 public boolean setBooleanArray(Boolean[] value) {
779 return setBooleanArray(NetworkTableValue.toNativeBooleanArray(value));
780 }
781
788 public boolean setIntegerArray(long[] value) {
789 return NetworkTablesJNI.setIntegerArray(m_handle, 0, value);
790 }
791
798 public boolean setIntegerArray(Long[] value) {
799 return setIntegerArray(NetworkTableValue.toNativeIntegerArray(value));
800 }
801
808 public boolean setFloatArray(float[] value) {
809 return NetworkTablesJNI.setFloatArray(m_handle, 0, value);
810 }
811
818 public boolean setFloatArray(Float[] value) {
819 return setFloatArray(NetworkTableValue.toNativeFloatArray(value));
820 }
821
828 public boolean setDoubleArray(double[] value) {
829 return NetworkTablesJNI.setDoubleArray(m_handle, 0, value);
830 }
831
838 public boolean setDoubleArray(Double[] value) {
839 return setDoubleArray(NetworkTableValue.toNativeDoubleArray(value));
840 }
841
848 public boolean setStringArray(String[] value) {
849 return NetworkTablesJNI.setStringArray(m_handle, 0, value);
850 }
851
858 public boolean setNumber(Number value) {
859 return setDouble(value.doubleValue());
860 }
861
868 public boolean setNumberArray(Number[] value) {
869 return setDoubleArray(NetworkTableValue.toNativeDoubleArray(value));
870 }
871
873 public void setPersistent() {
874 NetworkTablesJNI.setTopicPersistent(m_topic.getHandle(), true);
875 }
876
878 public void clearPersistent() {
879 NetworkTablesJNI.setTopicPersistent(m_topic.getHandle(), false);
880 }
881
887 public boolean isPersistent() {
888 return NetworkTablesJNI.getTopicPersistent(m_topic.getHandle());
889 }
890
892 public void unpublish() {
893 NetworkTablesJNI.unpublish(m_handle);
894 }
895
896 @Override
897 public boolean equals(Object other) {
898 return other == this || other instanceof NetworkTableEntry entry && m_handle == entry.m_handle;
899 }
900
901 @Override
902 public int hashCode() {
903 return m_handle;
904 }
905
906 private final Topic m_topic;
907 private final int m_handle;
908}
boolean setNumberArray(Number[] value)
boolean setValue(Object value)
byte[] getRaw(byte[] defaultValue)
String getName()
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)
void clearPersistent()
boolean[] getBooleanArray(boolean[] defaultValue)
boolean setDoubleArray(Double[] value)
boolean setDefaultBoolean(boolean defaultValue)
boolean setDefaultIntegerArray(long[] defaultValue)
int getHandle()
NetworkTableValue getValue()
boolean setDefaultIntegerArray(Long[] defaultValue)
void setPersistent()
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)
boolean isValid()
Topic getTopic()
NetworkTableEntry(Topic topic, int handle)
Float[] getFloatArray(Float[] defaultValue)
boolean setBooleanArray(Boolean[] value)
boolean setBoolean(boolean value)
boolean exists()
boolean setIntegerArray(long[] value)
float[] getFloatArray(float[] defaultValue)
static boolean isValidDataType(Object data)
boolean isPersistent()
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)
void unpublish()
boolean setDefaultStringArray(String[] defaultValue)
boolean setFloat(float value)
boolean setNumber(Number value)
float getFloat(float defaultValue)
boolean setDefaultInteger(long defaultValue)
long getLastChange()
boolean setDefaultFloatArray(float[] defaultValue)
boolean setRaw(ByteBuffer value)
static NetworkTableType getFromInt(int value)