Revision 6493
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.api/src/main/java/org/gvsig/raster/lib/buffer/api/Band.java | ||
---|---|---|
23 | 23 |
package org.gvsig.raster.lib.buffer.api; |
24 | 24 |
|
25 | 25 |
import org.gvsig.raster.lib.buffer.api.exceptions.BandException; |
26 |
import org.gvsig.tools.dispose.Disposable; |
|
26 | 27 |
import org.gvsig.tools.lang.Cloneable; |
27 | 28 |
import org.gvsig.tools.observer.ComplexWeakReferencingObservable; |
28 | 29 |
|
... | ... | |
30 | 31 |
* @author fdiaz |
31 | 32 |
* |
32 | 33 |
*/ |
33 |
public interface Band extends Cloneable, ComplexWeakReferencingObservable { |
|
34 |
public interface Band extends Cloneable, ComplexWeakReferencingObservable { //, Disposable {
|
|
34 | 35 |
|
35 | 36 |
/** |
36 | 37 |
* Gets the number of columns of the band |
... | ... | |
135 | 136 |
* @return If supports writing or not |
136 | 137 |
*/ |
137 | 138 |
public boolean isReadOnly(); |
138 |
|
|
139 |
|
|
139 | 140 |
/** |
140 | 141 |
* Gets information about the specified band. If band does not have |
141 | 142 |
* information, it will return <code>null</code> |
142 |
*
|
|
143 |
* |
|
143 | 144 |
* @param band |
144 | 145 |
* The specified band |
145 | 146 |
* @return Returns information about specified band. |
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.api/src/main/java/org/gvsig/raster/lib/buffer/api/Buffer.java | ||
---|---|---|
36 | 36 |
import org.gvsig.raster.lib.buffer.api.exceptions.BandException; |
37 | 37 |
import org.gvsig.raster.lib.buffer.api.exceptions.BufferException; |
38 | 38 |
import org.gvsig.raster.lib.buffer.api.statistics.StatisticsCapable; |
39 |
import org.gvsig.tools.dispose.Disposable; |
|
39 | 40 |
import org.gvsig.tools.locator.LocatorException; |
40 | 41 |
import org.gvsig.tools.observer.Observer; |
41 | 42 |
import org.gvsig.tools.task.SimpleTaskStatus; |
... | ... | |
44 | 45 |
* @author fdiaz |
45 | 46 |
* |
46 | 47 |
*/ |
47 |
public interface Buffer extends StatisticsCapable, Iterable<Band>, Observer { |
|
48 |
public interface Buffer extends StatisticsCapable, Iterable<Band>, Observer { //, Disposable {
|
|
48 | 49 |
|
49 | 50 |
public final static int INTERPOLATION_Undefined = 0; |
50 | 51 |
public final static int INTERPOLATION_NearestNeighbour = 1; |
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.impl/src/main/java/org/gvsig/raster/lib/buffer/impl/AbstractBuffer.java | ||
---|---|---|
35 | 35 |
import org.gvsig.raster.lib.buffer.api.statistics.Statistics; |
36 | 36 |
import org.gvsig.raster.lib.buffer.impl.statistics.DefaultStatistics; |
37 | 37 |
import org.gvsig.tools.ToolsLocator; |
38 |
import org.gvsig.tools.exception.BaseException; |
|
38 | 39 |
import org.gvsig.tools.locator.LocatorException; |
39 | 40 |
import org.gvsig.tools.observer.Notification; |
40 | 41 |
import org.gvsig.tools.observer.Observable; |
... | ... | |
63 | 64 |
private Double pixelSizeX = null; |
64 | 65 |
private Double pixelSizeY = null; |
65 | 66 |
|
67 |
// // to make disposable |
|
68 |
// private final Object lock = new Object(); |
|
69 |
// private boolean disposed = false; |
|
66 | 70 |
|
71 |
// public AbstractBuffer() { |
|
72 |
// if(ToolsLocator.getDisposableManager() != null) { |
|
73 |
// ToolsLocator.getDisposableManager().bind(this); |
|
74 |
// } else { |
|
75 |
// logger.warn("Can't retrieve the disposable manager,"); |
|
76 |
// } |
|
77 |
// } |
|
78 |
|
|
67 | 79 |
@Override |
68 | 80 |
public Statistics getStatistics(SimpleTaskStatus status) { |
69 | 81 |
if (statistics == null) { |
... | ... | |
508 | 520 |
return pixelSizeY.doubleValue(); |
509 | 521 |
} |
510 | 522 |
|
523 |
// public final void dispose() { |
|
524 |
// synchronized (lock) { |
|
525 |
// // Check if we have already been disposed, and don't do it again |
|
526 |
// if (!disposed) { |
|
527 |
// if ( ToolsLocator.getDisposableManager().release(this) ) { |
|
528 |
// try { |
|
529 |
// doDispose(); |
|
530 |
// } catch (BaseException ex) { |
|
531 |
// LOG.error("Error performing dispose", ex); |
|
532 |
// } |
|
533 |
// disposed = true; |
|
534 |
// } |
|
535 |
// } |
|
536 |
// } |
|
537 |
// } |
|
538 |
// |
|
539 |
// @Override |
|
540 |
// public void doDispose() { |
|
541 |
// for (Iterator iterator = bands.iterator(); iterator.hasNext();) { |
|
542 |
// Band band = (Band) iterator.next(); |
|
543 |
// band.dispose(); |
|
544 |
// } |
|
545 |
// envelope = null; |
|
546 |
// projection = null; |
|
547 |
// //TODO: ?FilterList Disposable? |
|
548 |
// filters = null; |
|
549 |
// //TODO: ?Statistics Disposable? |
|
550 |
// statistics = null; |
|
551 |
// |
|
552 |
// pixelSizeX = null; |
|
553 |
// pixelSizeY = null; |
|
554 |
// } |
|
555 |
|
|
556 |
@Override |
|
557 |
protected void finalize() throws Throwable { |
|
558 |
super.finalize(); |
|
559 |
logger.info("AbstractBuffer with rows = "+rows+" columns = "+columns+" CLEANED"); |
|
560 |
|
|
561 |
} |
|
511 | 562 |
} |
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.impl/src/main/java/org/gvsig/raster/lib/buffer/impl/AbstractBand.java | ||
---|---|---|
1 | 1 |
package org.gvsig.raster.lib.buffer.impl; |
2 | 2 |
|
3 |
import org.slf4j.Logger; |
|
4 |
import org.slf4j.LoggerFactory; |
|
5 |
|
|
3 | 6 |
import org.gvsig.raster.lib.buffer.api.Band; |
4 | 7 |
import org.gvsig.raster.lib.buffer.api.BandInfo; |
5 | 8 |
import org.gvsig.raster.lib.buffer.api.BandNotification; |
... | ... | |
14 | 17 |
*/ |
15 | 18 |
public abstract class AbstractBand extends BaseWeakReferencingObservable implements Band { |
16 | 19 |
|
20 |
protected static final Logger logger = LoggerFactory.getLogger(AbstractBand.class); |
|
21 |
|
|
17 | 22 |
int rows; |
18 | 23 |
int columns; |
19 | 24 |
NoData noData; |
... | ... | |
107 | 112 |
} |
108 | 113 |
|
109 | 114 |
protected abstract void doPutRow(int row, Object rowBuffer); |
115 |
|
|
116 |
@Override |
|
117 |
protected void finalize() throws Throwable { |
|
118 |
super.finalize(); |
|
119 |
logger.info("AbstractBand with rows = "+rows+" columns = "+columns+" CLEANED"); |
|
120 |
|
|
121 |
} |
|
122 |
|
|
110 | 123 |
} |
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.impl/src/main/java/org/gvsig/raster/lib/buffer/impl/AbstractPaginatedBand.java | ||
---|---|---|
149 | 149 |
return rowsPerPage * columns; |
150 | 150 |
} |
151 | 151 |
|
152 |
// @Override |
|
153 |
// public void dispose() { |
|
154 |
// super.dispose(); |
|
155 |
// data = null; |
|
156 |
// pageManager = null; |
|
157 |
// } |
|
158 |
|
|
152 | 159 |
} |
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.impl/src/main/java/org/gvsig/raster/lib/buffer/impl/AbstractTiledBand.java | ||
---|---|---|
175 | 175 |
return allocateRows*allocateColumns; |
176 | 176 |
} |
177 | 177 |
|
178 |
// @Override |
|
179 |
// public void dispose() { |
|
180 |
// super.dispose(); |
|
181 |
// data = null; |
|
182 |
// tileManager = null; |
|
183 |
// } |
|
184 |
|
|
178 | 185 |
} |
Also available in: Unified diff