P
- the device type the descriptor is defined for.public interface Device<P extends Device<? super P>>
extends java.nio.channels.Channel
Device
interface represents devices in the system. This interface
provides generic methods for handling devices. Device
interface.
When a device is open in shared mode then access synchronization may be performed by
invoking tryLock
and unlock
. Device locks are held on a per
Device
instance basis. When the same device is open twice in shared access
mode by the same application, locking one of the Device
instances will prevent the
other form being accessed/used.Modifier and Type | Field and Description |
---|---|
static int |
BIG_ENDIAN
Big-endian byte or bit ordering.
|
static int |
LITTLE_ENDIAN
Little-endian byte or bit ordering.
|
static int |
MIXED_ENDIAN
Mixed-endian (non-standard) byte ordering.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes this device, relinquishing the underlying device resource and
making it available to other applications.
|
<U extends P> |
getDescriptor()
Retrieves the identifying and descriptive information of this device.
|
boolean |
isOpen()
Indicates whether or not this device is open/available to the calling application.
|
void |
tryLock(int timeout)
Attempts to lock for (platform-wide) exclusive access the underlying device
resource.
|
void |
unlock()
Releases from (platform-wide) exclusive access the underlying device resource.
|
static final int BIG_ENDIAN
static final int LITTLE_ENDIAN
static final int MIXED_ENDIAN
void tryLock(int timeout) throws UnavailableDeviceException, ClosedDeviceException, java.io.IOException
Device
instance or the specified amount of
real time has elapsed. A timeout
of 0
means to wait forever.
This method returns silently if the underlying device resource is open in
exclusive access mode or is already acquired for exclusive access (locked).timeout
- the timeout in milliseconds.java.lang.IllegalArgumentException
- if timeout
is negative.UnavailableDeviceException
- if this device is not currently available.ClosedDeviceException
- if this device has been closed.java.io.IOException
- if any other I/O error occurred.void close() throws java.io.IOException
Device
instance will result
in a ClosedDeviceException
being thrown.
This method has no effects if the device has already been closed.close
in interface java.lang.AutoCloseable
close
in interface java.nio.channels.Channel
close
in interface java.io.Closeable
java.io.IOException
- if an I/O error occurs.boolean isOpen()
isOpen
in interface java.nio.channels.Channel
true
if, and only if, this device is open; false
otherwise.void unlock() throws java.io.IOException
java.io.IOException
- if any other I/O error occurred.<U extends P> DeviceDescriptor<U> getDescriptor()
Copyright © 2012, 2014, Oracle and/or its affiliates. All rights reserved.
Legal Notices