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 intkPersistentFlag 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 intaddListener(Consumer<EntryNotification> listener, int flags)Add a listener for changes to the entry.RpcCallcallRpc(byte[] params)Call a RPC function.voidclearFlags(int flags)Clears flags.voidclearPersistent()Stop making value persistent through program restarts.voidcreateRpc(Consumer<RpcAnswer> callback)Create a callback-based RPC entry point.voiddelete()Deletes the entry.booleanequals(Object other)booleanexists()Determines if the entry currently exists.voidforceSetBoolean(boolean value)Sets the entry's value.voidforceSetBooleanArray(boolean[] value)Sets the entry's value.voidforceSetBooleanArray(Boolean[] value)Sets the entry's value.voidforceSetDouble(double value)Sets the entry's value.voidforceSetDoubleArray(double[] value)Sets the entry's value.voidforceSetNumber(Number value)Sets the entry's value.voidforceSetNumberArray(Number[] value)Sets the entry's value.voidforceSetRaw(byte[] value)Sets the entry's value.voidforceSetString(String value)Sets the entry's value.voidforceSetStringArray(String[] value)Sets the entry's value.voidforceSetValue(Object value)Sets the entry's value.booleangetBoolean(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.doublegetDouble(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.intgetFlags()Returns the flags.intgetHandle()Gets the native handle for the entry.EntryInfogetInfo()Gets combined information about the entry.NetworkTableInstancegetInstance()Gets the instance for the entry.longgetLastChange()Gets the last time the entry's value was changed.StringgetName()Gets the name of the entry (the key).NumbergetNumber(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).StringgetString(String defaultValue)Gets the entry's value as a string.String[]getStringArray(String[] defaultValue)Gets the entry's value as a string array.NetworkTableTypegetType()Gets the type of the entry.NetworkTableValuegetValue()Gets the entry's value.inthashCode()booleanisPersistent()Returns whether the value is persistent through program restarts.booleanisValid()Determines if the native handle is valid.static booleanisValidDataType(Object data)Checks if a data value is of a type that can be placed in a NetworkTable entry.voidremoveListener(int listener)Remove a listener from receiving entry events.booleansetBoolean(boolean value)Sets the entry's value.booleansetBooleanArray(boolean[] value)Sets the entry's value.booleansetBooleanArray(Boolean[] value)Sets the entry's value.booleansetDefaultBoolean(boolean defaultValue)Sets the entry's value if it does not exist.booleansetDefaultBooleanArray(boolean[] defaultValue)Sets the entry's value if it does not exist.booleansetDefaultBooleanArray(Boolean[] defaultValue)Sets the entry's value if it does not exist.booleansetDefaultDouble(double defaultValue)Sets the entry's value if it does not exist.booleansetDefaultDoubleArray(double[] defaultValue)Sets the entry's value if it does not exist.booleansetDefaultNumber(Number defaultValue)Sets the entry's value if it does not exist.booleansetDefaultNumberArray(Number[] defaultValue)Sets the entry's value if it does not exist.booleansetDefaultRaw(byte[] defaultValue)Sets the entry's value if it does not exist.booleansetDefaultString(String defaultValue)Sets the entry's value if it does not exist.booleansetDefaultStringArray(String[] defaultValue)Sets the entry's value if it does not exist.booleansetDefaultValue(Object defaultValue)Sets the entry's value if it does not exist.booleansetDouble(double value)Sets the entry's value.booleansetDoubleArray(double[] value)Sets the entry's value.voidsetFlags(int flags)Sets flags.booleansetNumber(Number value)Sets the entry's value.booleansetNumberArray(Number[] value)Sets the entry's value.voidsetPersistent()Make value persistent through program restarts.booleansetRaw(byte[] value)Sets the entry's value.booleansetRaw(ByteBuffer value, int len)Sets the entry's value.booleansetString(String value)Sets the entry's value.booleansetStringArray(String[] value)Sets the entry's value.booleansetValue(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.
-
getName
public String getName()
Gets the name of the entry (the key).- Returns:
- the entry's name
-
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
-
-