AbstractSelectionKey (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.nio.channels.spi, class: AbstractSelectionKey
Keywords: java.nio.channels.spi.AbstractSelectionKey class

# Class AbstractSelectionKey

java.lang.Object
java.nio.channels.SelectionKey
java.nio.channels.spi.AbstractSelectionKey

public abstract class AbstractSelectionKey extends SelectionKey
Base implementation class for selection keys.

This class tracks the validity of the key and implements cancellation.

Since:
  1.4

- ## Field Summary

  ### Fields declared in class SelectionKey

  `OP_ACCEPT, OP_CONNECT, OP_READ, OP_WRITE`
  Modifier and Type
  Field
  Description
  `static final int`
  `OP_ACCEPT`
  Operation-set bit for socket-accept operations.
  `static final int`
  `OP_CONNECT`
  Operation-set bit for socket-connect operations.
  `static final int`
  `OP_READ`
  Operation-set bit for read operations.
  `static final int`
  `OP_WRITE`
  Operation-set bit for write operations.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `AbstractSelectionKey()`
  Initializes a new instance of this class.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final void`
  `cancel()`
  Cancels this key.
  `final boolean`
  `isValid()`
  Tells whether or not this key is valid.

  ### Methods declared in class SelectionKey

  `attach, attachment, channel, interestOps, interestOps, interestOpsAnd, interestOpsOr, isAcceptable, isConnectable, isReadable, isWritable, readyOps, selector`
  Modifier and Type
  Method
  Description
  `final Object`
  `attach(Object ob)`
  Attaches the given object to this key.
  `final Object`
  `attachment()`
  Retrieves the current attachment.
  `abstract SelectableChannel`
  `channel()`
  Returns the channel for which this key was created.
  `abstract int`
  `interestOps()`
  Retrieves this key's interest set.
  `abstract SelectionKey`
  `interestOps(int ops)`
  Sets this key's interest set to the given value.
  `int`
  `interestOpsAnd(int ops)`
  Atomically sets this key's interest set to the bitwise intersection ("and") of the existing interest set and the given value.
  `int`
  `interestOpsOr(int ops)`
  Atomically sets this key's interest set to the bitwise union ("or") of the existing interest set and the given value.
  `final boolean`
  `isAcceptable()`
  Tests whether this key's channel is ready to accept a new socket connection.
  `final boolean`
  `isConnectable()`
  Tests whether this key's channel has either finished, or failed to finish, its socket-connection operation.
  `final boolean`
  `isReadable()`
  Tests whether this key's channel is ready for reading.
  `final boolean`
  `isWritable()`
  Tests whether this key's channel is ready for writing.
  `abstract int`
  `readyOps()`
  Retrieves this key's ready-operation set.
  `abstract Selector`
  `selector()`
  Returns the selector for which this key was created.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### AbstractSelectionKey

    protected AbstractSelectionKey()
    Initializes a new instance of this class.

- ## Method Details

  - ### isValid

    public final boolean isValid()
    Description copied from class: `SelectionKey`
    Tells whether or not this key is valid.

    A key is valid upon creation and remains so until it is cancelled, its channel is closed, or its selector is closed.

    Specified by:
      `isValid` in class `SelectionKey`
    Returns:
      `true` if, and only if, this key is valid

  - ### cancel

    public final void cancel()
    Cancels this key.

    If this key has not yet been cancelled then it is added to its selector's cancelled-key set while synchronized on that set.

    Specified by:
      `cancel` in class `SelectionKey`