< prev index next >
src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
Print this page
@@ -276,10 +276,11 @@
} finally {
cbLock.unlock();
}
}
+ @Override
public void setInput(Object input,
boolean seekForwardOnly,
boolean ignoreMetadata)
{
setThreadLock();
@@ -382,10 +383,11 @@
iis.flushBefore(pos.longValue());
}
tablesOnlyChecked = true;
}
+ @Override
public int getNumImages(boolean allowSearch) throws IOException {
setThreadLock();
try { // locked thread
cbLock.check();
@@ -828,10 +830,11 @@
}
}
}
}
+ @Override
public int getWidth(int imageIndex) throws IOException {
setThreadLock();
try {
if (currentImage != imageIndex) {
cbLock.check();
@@ -841,10 +844,11 @@
} finally {
clearThreadLock();
}
}
+ @Override
public int getHeight(int imageIndex) throws IOException {
setThreadLock();
try {
if (currentImage != imageIndex) {
cbLock.check();
@@ -869,10 +873,11 @@
ret = ImageTypeProducer.getTypeProducer(code);
}
return ret;
}
+ @Override
public ImageTypeSpecifier getRawImageType(int imageIndex)
throws IOException {
setThreadLock();
try {
if (currentImage != imageIndex) {
@@ -886,10 +891,11 @@
} finally {
clearThreadLock();
}
}
+ @Override
public Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex)
throws IOException {
setThreadLock();
try {
return getImageTypesOnThread(imageIndex);
@@ -1056,14 +1062,16 @@
*/
private native void setOutColorSpace(long structPointer, int id);
/////// End of Color Conversion & Image Types
+ @Override
public ImageReadParam getDefaultReadParam() {
return new JPEGImageReadParam();
}
+ @Override
public IIOMetadata getStreamMetadata() throws IOException {
setThreadLock();
try {
if (!tablesOnlyChecked) {
cbLock.check();
@@ -1073,10 +1081,11 @@
} finally {
clearThreadLock();
}
}
+ @Override
public IIOMetadata getImageMetadata(int imageIndex)
throws IOException {
setThreadLock();
try {
// imageMetadataIndex will always be either a valid index or
@@ -1099,10 +1108,11 @@
} finally {
clearThreadLock();
}
}
+ @Override
public BufferedImage read(int imageIndex, ImageReadParam param)
throws IOException {
setThreadLock();
try {
cbLock.check();
@@ -1491,10 +1501,11 @@
* We should call clearNativeReadAbortFlag() before we start reading
* jpeg image as image processing happens at native side.
*/
private native void clearNativeReadAbortFlag(long structPointer);
+ @Override
public void abort() {
setThreadLock();
try {
/**
* NB: we do not check the call back lock here,
@@ -1512,14 +1523,16 @@
private native void abortRead(long structPointer);
/** Resets library state when an exception occurred during a read. */
private native void resetLibraryState(long structPointer);
+ @Override
public boolean canReadRaster() {
return true;
}
+ @Override
public Raster readRaster(int imageIndex, ImageReadParam param)
throws IOException {
setThreadLock();
Raster retval = null;
try {
@@ -1554,14 +1567,16 @@
clearThreadLock();
}
return retval;
}
+ @Override
public boolean readerSupportsThumbnails() {
return true;
}
+ @Override
public int getNumThumbnails(int imageIndex) throws IOException {
setThreadLock();
try {
cbLock.check();
@@ -1579,10 +1594,11 @@
} finally {
clearThreadLock();
}
}
+ @Override
public int getThumbnailWidth(int imageIndex, int thumbnailIndex)
throws IOException {
setThreadLock();
try {
cbLock.check();
@@ -1599,10 +1615,11 @@
} finally {
clearThreadLock();
}
}
+ @Override
public int getThumbnailHeight(int imageIndex, int thumbnailIndex)
throws IOException {
setThreadLock();
try {
cbLock.check();
@@ -1619,10 +1636,11 @@
} finally {
clearThreadLock();
}
}
+ @Override
public BufferedImage readThumbnail(int imageIndex,
int thumbnailIndex)
throws IOException {
setThreadLock();
try {
@@ -1663,10 +1681,11 @@
tablesOnlyChecked = false;
iccCS = null;
initProgressData();
}
+ @Override
public void reset() {
setThreadLock();
try {
cbLock.check();
super.reset();
@@ -1675,10 +1694,11 @@
}
}
private native void resetReader(long structPointer);
+ @Override
public void dispose() {
setThreadLock();
try {
cbLock.check();
@@ -1698,10 +1718,11 @@
public JPEGReaderDisposerRecord(long pData) {
this.pData = pData;
}
+ @Override
public synchronized void dispose() {
if (pData != 0) {
disposeReader(pData);
pData = 0;
}
< prev index next >