Class NetworkTableEntry

java.lang.Object
edu.wpi.first.networktables.NetworkTableEntry

public final class NetworkTableEntry
extends Object
NetworkTables Entry.
  • Field Details

  • Constructor Details

  • Method Details

    • 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

      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

      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

      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 set
      len - 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. Either RpcCall.getResult() or RpcCall.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 add
      flags - 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
    • equals

      public boolean equals​(Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object