Package edu.wpi.first.networktables
Class NetworkTableEntry
- java.lang.Object
-
- edu.wpi.first.networktables.NetworkTableEntry
-
public final class NetworkTableEntry extends Object
NetworkTables Entry.
-
-
Field Summary
Fields Modifier and Type Field Description static int
kPersistent
Flag values (as returned bygetFlags()
).
-
Constructor Summary
Constructors Constructor Description NetworkTableEntry(NetworkTableInstance inst, int handle)
Construct from native handle.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
addListener(Consumer<EntryNotification> listener, int flags)
Add a listener for changes to the entry.RpcCall
callRpc(byte[] params)
Call a RPC function.void
clearFlags(int flags)
Clears flags.void
clearPersistent()
Stop making value persistent through program restarts.void
createRpc(Consumer<RpcAnswer> callback)
Create a callback-based RPC entry point.void
delete()
Deletes the entry.boolean
equals(Object other)
boolean
exists()
Determines if the entry currently exists.void
forceSetBoolean(boolean value)
Sets the entry's value.void
forceSetBooleanArray(boolean[] value)
Sets the entry's value.void
forceSetBooleanArray(Boolean[] value)
Sets the entry's value.void
forceSetDouble(double value)
Sets the entry's value.void
forceSetDoubleArray(double[] value)
Sets the entry's value.void
forceSetNumber(Number value)
Sets the entry's value.void
forceSetNumberArray(Number[] value)
Sets the entry's value.void
forceSetRaw(byte[] value)
Sets the entry's value.void
forceSetString(String value)
Sets the entry's value.void
forceSetStringArray(String[] value)
Sets the entry's value.void
forceSetValue(Object value)
Sets the entry's value.boolean
getBoolean(boolean defaultValue)
Gets the entry's value as a boolean.boolean[]
getBooleanArray(boolean[] defaultValue)
Gets the entry's value as a boolean array.Boolean[]
getBooleanArray(Boolean[] defaultValue)
Gets the entry's value as a boolean array.double
getDouble(double defaultValue)
Gets the entry's value as a double.double[]
getDoubleArray(double[] defaultValue)
Gets the entry's value as a double array.Double[]
getDoubleArray(Double[] defaultValue)
Gets the entry's value as a double array.int
getFlags()
Returns the flags.int
getHandle()
Gets the native handle for the entry.EntryInfo
getInfo()
Gets combined information about the entry.NetworkTableInstance
getInstance()
Gets the instance for the entry.long
getLastChange()
Gets the last time the entry's value was changed.String
getName()
Gets the name of the entry (the key).Number
getNumber(Number defaultValue)
Gets the entry's value as a double.Number[]
getNumberArray(Number[] defaultValue)
Gets the entry's value as a double array.byte[]
getRaw(byte[] defaultValue)
Gets the entry's value as a raw value (byte array).String
getString(String defaultValue)
Gets the entry's value as a string.String[]
getStringArray(String[] defaultValue)
Gets the entry's value as a string array.NetworkTableType
getType()
Gets the type of the entry.NetworkTableValue
getValue()
Gets the entry's value.int
hashCode()
boolean
isPersistent()
Returns whether the value is persistent through program restarts.boolean
isValid()
Determines if the native handle is valid.static boolean
isValidDataType(Object data)
Checks if a data value is of a type that can be placed in a NetworkTable entry.void
removeListener(int listener)
Remove a listener from receiving entry events.boolean
setBoolean(boolean value)
Sets the entry's value.boolean
setBooleanArray(boolean[] value)
Sets the entry's value.boolean
setBooleanArray(Boolean[] value)
Sets the entry's value.boolean
setDefaultBoolean(boolean defaultValue)
Sets the entry's value if it does not exist.boolean
setDefaultBooleanArray(boolean[] defaultValue)
Sets the entry's value if it does not exist.boolean
setDefaultBooleanArray(Boolean[] defaultValue)
Sets the entry's value if it does not exist.boolean
setDefaultDouble(double defaultValue)
Sets the entry's value if it does not exist.boolean
setDefaultDoubleArray(double[] defaultValue)
Sets the entry's value if it does not exist.boolean
setDefaultNumber(Number defaultValue)
Sets the entry's value if it does not exist.boolean
setDefaultNumberArray(Number[] defaultValue)
Sets the entry's value if it does not exist.boolean
setDefaultRaw(byte[] defaultValue)
Sets the entry's value if it does not exist.boolean
setDefaultString(String defaultValue)
Sets the entry's value if it does not exist.boolean
setDefaultStringArray(String[] defaultValue)
Sets the entry's value if it does not exist.boolean
setDefaultValue(Object defaultValue)
Sets the entry's value if it does not exist.boolean
setDouble(double value)
Sets the entry's value.boolean
setDoubleArray(double[] value)
Sets the entry's value.void
setFlags(int flags)
Sets flags.boolean
setNumber(Number value)
Sets the entry's value.boolean
setNumberArray(Number[] value)
Sets the entry's value.void
setPersistent()
Make value persistent through program restarts.boolean
setRaw(byte[] value)
Sets the entry's value.boolean
setRaw(ByteBuffer value, int len)
Sets the entry's value.boolean
setString(String value)
Sets the entry's value.boolean
setStringArray(String[] value)
Sets the entry's value.boolean
setValue(Object value)
Sets the entry's value.
-
-
-
Field Detail
-
kPersistent
public static final int kPersistent
Flag values (as returned bygetFlags()
).- See Also:
- Constant Field Values
-
-
Constructor Detail
-
NetworkTableEntry
public NetworkTableEntry(NetworkTableInstance inst, int handle)
Construct from native handle.- Parameters:
inst
- Instancehandle
- Native handle
-
-
Method Detail
-
isValid
public boolean isValid()
Determines if the native handle is valid.- Returns:
- True if the native handle is valid, false otherwise.
-
getHandle
public int getHandle()
Gets the native handle for the entry.- Returns:
- Native handle
-
getInstance
public NetworkTableInstance getInstance()
Gets the instance for the entry.- Returns:
- Instance
-
exists
public boolean exists()
Determines if the entry currently exists.- Returns:
- True if the entry exists, false otherwise.
-
getType
public NetworkTableType getType()
Gets the type of the entry.- Returns:
- the entry's type
-
getFlags
public int getFlags()
Returns the flags.- Returns:
- the flags (bitmask)
-
getLastChange
public long getLastChange()
Gets the last time the entry's value was changed.- Returns:
- Entry last change time
-
getInfo
public EntryInfo getInfo()
Gets combined information about the entry.- Returns:
- Entry information
-
getValue
public NetworkTableValue getValue()
Gets the entry's value. Returns a value with type NetworkTableType.kUnassigned if the value does not exist.- Returns:
- the entry's value
-
getBoolean
public boolean getBoolean(boolean defaultValue)
Gets the entry's value as a boolean. If the entry does not exist or is of different type, it will return the default value.- Parameters:
defaultValue
- the value to be returned if no value is found- Returns:
- the entry's value or the given default value
-
getDouble
public double getDouble(double defaultValue)
Gets the entry's value as a double. If the entry does not exist or is of different type, it will return the default value.- Parameters:
defaultValue
- the value to be returned if no value is found- Returns:
- the entry's value or the given default value
-
getNumber
public Number getNumber(Number defaultValue)
Gets the entry's value as a double. If the entry does not exist or is of different type, it will return the default value.- Parameters:
defaultValue
- the value to be returned if no value is found- Returns:
- the entry's value or the given default value
-
getString
public String getString(String defaultValue)
Gets the entry's value as a string. If the entry does not exist or is of different type, it will return the default value.- Parameters:
defaultValue
- the value to be returned if no value is found- Returns:
- the entry's value or the given default value
-
getRaw
public byte[] getRaw(byte[] defaultValue)
Gets the entry's value as a raw value (byte array). If the entry does not exist or is of different type, it will return the default value.- Parameters:
defaultValue
- the value to be returned if no value is found- Returns:
- the entry's value or the given default value
-
getBooleanArray
public boolean[] getBooleanArray(boolean[] defaultValue)
Gets the entry's value as a boolean array. If the entry does not exist or is of different type, it will return the default value.- Parameters:
defaultValue
- the value to be returned if no value is found- Returns:
- the entry's value or the given default value
-
getBooleanArray
public Boolean[] getBooleanArray(Boolean[] defaultValue)
Gets the entry's value as a boolean array. If the entry does not exist or is of different type, it will return the default value.- Parameters:
defaultValue
- the value to be returned if no value is found- Returns:
- the entry's value or the given default value
-
getDoubleArray
public double[] getDoubleArray(double[] defaultValue)
Gets the entry's value as a double array. If the entry does not exist or is of different type, it will return the default value.- Parameters:
defaultValue
- the value to be returned if no value is found- Returns:
- the entry's value or the given default value
-
getDoubleArray
public Double[] getDoubleArray(Double[] defaultValue)
Gets the entry's value as a double array. If the entry does not exist or is of different type, it will return the default value.- Parameters:
defaultValue
- the value to be returned if no value is found- Returns:
- the entry's value or the given default value
-
getNumberArray
public Number[] getNumberArray(Number[] defaultValue)
Gets the entry's value as a double array. If the entry does not exist or is of different type, it will return the default value.- Parameters:
defaultValue
- the value to be returned if no value is found- Returns:
- the entry's value or the given default value
-
getStringArray
public String[] getStringArray(String[] defaultValue)
Gets the entry's value as a string array. If the entry does not exist or is of different type, it will return the default value.- Parameters:
defaultValue
- the value to be returned if no value is found- Returns:
- the entry's value or the given default value
-
isValidDataType
public static boolean isValidDataType(Object data)
Checks if a data value is of a type that can be placed in a NetworkTable entry.- Parameters:
data
- the data to check- Returns:
- true if the data can be placed in an entry, false if it cannot
-
setDefaultValue
public boolean setDefaultValue(Object defaultValue)
Sets the entry's value if it does not exist.- Parameters:
defaultValue
- the default value to set- Returns:
- False if the entry exists with a different type
- Throws:
IllegalArgumentException
- if the value is not a known type
-
setDefaultBoolean
public boolean setDefaultBoolean(boolean defaultValue)
Sets the entry's value if it does not exist.- Parameters:
defaultValue
- the default value to set- Returns:
- False if the entry exists with a different type
-
setDefaultDouble
public boolean setDefaultDouble(double defaultValue)
Sets the entry's value if it does not exist.- Parameters:
defaultValue
- the default value to set- Returns:
- False if the entry exists with a different type
-
setDefaultNumber
public boolean setDefaultNumber(Number defaultValue)
Sets the entry's value if it does not exist.- Parameters:
defaultValue
- the default value to set- Returns:
- False if the entry exists with a different type
-
setDefaultString
public boolean setDefaultString(String defaultValue)
Sets the entry's value if it does not exist.- Parameters:
defaultValue
- the default value to set- Returns:
- False if the entry exists with a different type
-
setDefaultRaw
public boolean setDefaultRaw(byte[] defaultValue)
Sets the entry's value if it does not exist.- Parameters:
defaultValue
- the default value to set- Returns:
- False if the entry exists with a different type
-
setDefaultBooleanArray
public boolean setDefaultBooleanArray(boolean[] defaultValue)
Sets the entry's value if it does not exist.- Parameters:
defaultValue
- the default value to set- Returns:
- False if the entry exists with a different type
-
setDefaultBooleanArray
public boolean setDefaultBooleanArray(Boolean[] defaultValue)
Sets the entry's value if it does not exist.- Parameters:
defaultValue
- the default value to set- Returns:
- False if the entry exists with a different type
-
setDefaultDoubleArray
public boolean setDefaultDoubleArray(double[] defaultValue)
Sets the entry's value if it does not exist.- Parameters:
defaultValue
- the default value to set- Returns:
- False if the entry exists with a different type
-
setDefaultNumberArray
public boolean setDefaultNumberArray(Number[] defaultValue)
Sets the entry's value if it does not exist.- Parameters:
defaultValue
- the default value to set- Returns:
- False if the entry exists with a different type
-
setDefaultStringArray
public boolean setDefaultStringArray(String[] defaultValue)
Sets the entry's value if it does not exist.- Parameters:
defaultValue
- the default value to set- Returns:
- False if the entry exists with a different type
-
setValue
public boolean setValue(Object value)
Sets the entry's value.- Parameters:
value
- the value that will be assigned- Returns:
- False if the table key already exists with a different type
- Throws:
IllegalArgumentException
- if the value is not a known type
-
setBoolean
public boolean setBoolean(boolean value)
Sets the entry's value.- Parameters:
value
- the value to set- Returns:
- False if the entry exists with a different type
-
setDouble
public boolean setDouble(double value)
Sets the entry's value.- Parameters:
value
- the value to set- Returns:
- False if the entry exists with a different type
-
setNumber
public boolean setNumber(Number value)
Sets the entry's value.- Parameters:
value
- the value to set- Returns:
- False if the entry exists with a different type
-
setString
public boolean setString(String value)
Sets the entry's value.- Parameters:
value
- the value to set- Returns:
- False if the entry exists with a different type
-
setRaw
public boolean setRaw(byte[] value)
Sets the entry's value.- Parameters:
value
- the value to set- Returns:
- False if the entry exists with a different type
-
setRaw
public boolean setRaw(ByteBuffer value, int len)
Sets the entry's value.- Parameters:
value
- the value to setlen
- the length of the value- Returns:
- False if the entry exists with a different type
-
setBooleanArray
public boolean setBooleanArray(boolean[] value)
Sets the entry's value.- Parameters:
value
- the value to set- Returns:
- False if the entry exists with a different type
-
setBooleanArray
public boolean setBooleanArray(Boolean[] value)
Sets the entry's value.- Parameters:
value
- the value to set- Returns:
- False if the entry exists with a different type
-
setDoubleArray
public boolean setDoubleArray(double[] value)
Sets the entry's value.- Parameters:
value
- the value to set- Returns:
- False if the entry exists with a different type
-
setNumberArray
public boolean setNumberArray(Number[] value)
Sets the entry's value.- Parameters:
value
- the value to set- Returns:
- False if the entry exists with a different type
-
setStringArray
public boolean setStringArray(String[] value)
Sets the entry's value.- Parameters:
value
- the value to set- Returns:
- False if the entry exists with a different type
-
forceSetValue
public void forceSetValue(Object value)
Sets the entry's value. If the value is of different type, the type is changed to match the new value.- Parameters:
value
- the value to set- Throws:
IllegalArgumentException
- if the value is not a known type
-
forceSetBoolean
public void forceSetBoolean(boolean value)
Sets the entry's value. If the value is of different type, the type is changed to match the new value.- Parameters:
value
- the value to set
-
forceSetDouble
public void forceSetDouble(double value)
Sets the entry's value. If the value is of different type, the type is changed to match the new value.- Parameters:
value
- the value to set
-
forceSetNumber
public void forceSetNumber(Number value)
Sets the entry's value. If the value is of different type, the type is changed to match the new value.- Parameters:
value
- the value to set
-
forceSetString
public void forceSetString(String value)
Sets the entry's value. If the value is of different type, the type is changed to match the new value.- Parameters:
value
- the value to set
-
forceSetRaw
public void forceSetRaw(byte[] value)
Sets the entry's value. If the value is of different type, the type is changed to match the new value.- Parameters:
value
- the value to set
-
forceSetBooleanArray
public void forceSetBooleanArray(boolean[] value)
Sets the entry's value. If the value is of different type, the type is changed to match the new value.- Parameters:
value
- the value to set
-
forceSetBooleanArray
public void forceSetBooleanArray(Boolean[] value)
Sets the entry's value. If the value is of different type, the type is changed to match the new value.- Parameters:
value
- the value to set
-
forceSetDoubleArray
public void forceSetDoubleArray(double[] value)
Sets the entry's value. If the value is of different type, the type is changed to match the new value.- Parameters:
value
- the value to set
-
forceSetNumberArray
public void forceSetNumberArray(Number[] value)
Sets the entry's value. If the value is of different type, the type is changed to match the new value.- Parameters:
value
- the value to set
-
forceSetStringArray
public void forceSetStringArray(String[] value)
Sets the entry's value. If the value is of different type, the type is changed to match the new value.- Parameters:
value
- the value to set
-
setFlags
public void setFlags(int flags)
Sets flags.- Parameters:
flags
- the flags to set (bitmask)
-
clearFlags
public void clearFlags(int flags)
Clears flags.- Parameters:
flags
- the flags to clear (bitmask)
-
setPersistent
public void setPersistent()
Make value persistent through program restarts.
-
clearPersistent
public void clearPersistent()
Stop making value persistent through program restarts.
-
isPersistent
public boolean isPersistent()
Returns whether the value is persistent through program restarts.- Returns:
- True if the value is persistent.
-
delete
public void delete()
Deletes the entry.
-
createRpc
public void createRpc(Consumer<RpcAnswer> callback)
Create a callback-based RPC entry point. Only valid to use on the server. The callback function will be called when the RPC is called. This function creates RPC version 0 definitions (raw data in and out).- Parameters:
callback
- callback function
-
callRpc
public RpcCall callRpc(byte[] params)
Call a RPC function. May be used on either the client or server. This function is non-blocking. EitherRpcCall.getResult()
orRpcCall.cancelResult()
must be called on the return value to either get or ignore the result of the call.- Parameters:
params
- parameter- Returns:
- RPC call object.
-
addListener
public int addListener(Consumer<EntryNotification> listener, int flags)
Add a listener for changes to the entry.- Parameters:
listener
- the listener to addflags
- bitmask specifying desired notifications- Returns:
- listener handle
-
removeListener
public void removeListener(int listener)
Remove a listener from receiving entry events.- Parameters:
listener
- the listener to be removed
-
-