java.nio.channels

Class SelectionKey

Known Direct Subclasses:
AbstractSelectionKey

public abstract class SelectionKey
extends Object

Since:
1.4

Field Summary

static int
OP_ACCEPT
static int
OP_CONNECT
static int
OP_READ
static int
OP_WRITE

Constructor Summary

SelectionKey()
Initializes the selection key.

Method Summary

Object
attach(Object obj)
Attaches obj to the key and returns the old attached object.
Object
attachment()
Returns the object attached to the key.
abstract void
cancel()
Requests that the registration of this key's channel with its selector be cancelled.
abstract SelectableChannel
channel()
return the channel attached to the key.
abstract int
interestOps()
Returns the key's interest set.
abstract SelectionKey
interestOps(int ops)
Sets this key's interest set to the given value.
boolean
isAcceptable()
Tests if the channel attached to this key is ready to accept a new socket connection.
boolean
isConnectable()
Tests whether this key's channel has either finished, or failed to finish, its socket-connection operation.
boolean
isReadable()
Tests if the channel attached to the key is readable.
abstract boolean
isValid()
Tells whether or not this key is valid.
boolean
isWritable()
Tests if the channel attached to the key is writable.
abstract int
readyOps()
Retrieves this key's ready-operation set.
abstract Selector
selector()
Returns the selector for which this key was created.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

OP_ACCEPT

public static final int OP_ACCEPT
Field Value:
16

OP_CONNECT

public static final int OP_CONNECT
Field Value:
8

OP_READ

public static final int OP_READ
Field Value:
1

OP_WRITE

public static final int OP_WRITE
Field Value:
4

Constructor Details

SelectionKey

protected SelectionKey()
Initializes the selection key.

Method Details

attach

public final Object attach(Object obj)
Attaches obj to the key and returns the old attached object.

attachment

public final Object attachment()
Returns the object attached to the key.

cancel

public abstract void cancel()
Requests that the registration of this key's channel with its selector be cancelled.

channel

public abstract SelectableChannel channel()
return the channel attached to the key.

interestOps

public abstract int interestOps()
Returns the key's interest set.
Throws:
CancelledKeyException - If this key has been cancelled

interestOps

public abstract SelectionKey interestOps(int ops)
Sets this key's interest set to the given value.
Throws:
CancelledKeyException - If this key has been cancelled
IllegalArgumentException - If a bit in the set does not correspond to an operation that is supported by this key's channel, that is, if set & ~(channel().validOps()) != 0

isAcceptable

public final boolean isAcceptable()
Tests if the channel attached to this key is ready to accept a new socket connection.
Throws:
CancelledKeyException - If this key has been cancelled

isConnectable

public final boolean isConnectable()
Tests whether this key's channel has either finished, or failed to finish, its socket-connection operation.
Throws:
CancelledKeyException - If this key has been cancelled

isReadable

public final boolean isReadable()
Tests if the channel attached to the key is readable.
Throws:
CancelledKeyException - If this key has been cancelled

isValid

public abstract boolean isValid()
Tells whether or not this key is valid.

isWritable

public final boolean isWritable()
Tests if the channel attached to the key is writable.
Throws:
CancelledKeyException - If this key has been cancelled

readyOps

public abstract int readyOps()
Retrieves this key's ready-operation set.
Throws:
CancelledKeyException - If this key has been cancelled

selector

public abstract Selector selector()
Returns the selector for which this key was created.

SelectionKey.java -- Copyright (C) 2002, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.