Class NetworkTableEntry


  • public final class NetworkTableEntry
    extends Object
    NetworkTables Entry.
    • Constructor Detail

      • NetworkTableEntry

        public NetworkTableEntry​(NetworkTableInstance inst,
                                 int handle)
        Construct from native handle.
        Parameters:
        inst - Instance
        handle - 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 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
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object