Revision 31829 branches/v2_0_0_prep/libraries/libRaster/src/org/gvsig/raster/datastruct/TransparencyRange.java
TransparencyRange.java | ||
---|---|---|
20 | 20 |
|
21 | 21 |
import java.io.IOException; |
22 | 22 |
import java.util.Arrays; |
23 |
import java.util.List; |
|
23 | 24 |
|
24 | 25 |
import org.gvsig.raster.dataset.RasterDataset; |
26 |
import org.gvsig.tools.ToolsLocator; |
|
27 |
import org.gvsig.tools.dynobject.DynClass; |
|
28 |
import org.gvsig.tools.dynobject.DynObjectManager; |
|
29 |
import org.gvsig.tools.persistence.PersistenceException; |
|
30 |
import org.gvsig.tools.persistence.Persistent; |
|
31 |
import org.gvsig.tools.persistence.PersistentState; |
|
25 | 32 |
/** |
26 | 33 |
* Clase que representa a un conjunto de pixeles con transparencia. Incluye los |
27 | 34 |
* rangos de transparencia para cada banda, la cadena que va en la lista y la |
... | ... | |
32 | 39 |
* |
33 | 40 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
34 | 41 |
*/ |
35 |
public class TransparencyRange implements Cloneable {
|
|
42 |
public class TransparencyRange implements Cloneable, Persistent{
|
|
36 | 43 |
private String strEntry = null; |
37 | 44 |
private int[] red = null; |
38 | 45 |
private int[] green = null; |
... | ... | |
414 | 421 |
return false; |
415 | 422 |
return true; |
416 | 423 |
} |
424 |
|
|
425 |
public void loadFromState(PersistentState state) |
|
426 |
throws PersistenceException { |
|
427 |
strEntry = state.getString("strEntry"); |
|
428 |
alpha = state.getInt("alpha"); |
|
429 |
List redList = state.getList("red"); |
|
430 |
red = new int[redList.size()]; |
|
431 |
for (int i=0 ; i<redList.size() ; i++){ |
|
432 |
red[i] = (Integer)redList.get(i); |
|
433 |
} |
|
434 |
List blueList = state.getList("blue"); |
|
435 |
blue = new int[blueList.size()]; |
|
436 |
for (int i=0 ; i<blueList.size() ; i++){ |
|
437 |
blue[i] = (Integer)blueList.get(i); |
|
438 |
} |
|
439 |
List greenList = state.getList("green"); |
|
440 |
green = new int[greenList.size()]; |
|
441 |
for (int i=0 ; i<greenList.size() ; i++){ |
|
442 |
green[i] = (Integer)greenList.get(i); |
|
443 |
} |
|
444 |
and = state.getBoolean("and"); |
|
445 |
} |
|
446 |
|
|
447 |
public void saveToState(PersistentState state) throws PersistenceException { |
|
448 |
state.set("strEntry", strEntry); |
|
449 |
state.set("alpha", alpha); |
|
450 |
state.set("red", red); |
|
451 |
state.set("blue", blue); |
|
452 |
state.set("green", green); |
|
453 |
state.set("and", and); |
|
454 |
} |
|
455 |
|
|
456 |
public static void registerPersistent() { |
|
457 |
DynObjectManager dynMan = ToolsLocator.getDynObjectManager(); |
|
458 |
DynClass dynClass = dynMan.createDynClass( |
|
459 |
"TransparencyRange_Persistent", |
|
460 |
"TransparencyRange Persistent definition"); |
|
461 |
|
|
462 |
dynClass.addDynFieldString("strEntry").setMandatory(true); |
|
463 |
dynClass.addDynFieldInt("alpha").setMandatory(true); |
|
464 |
dynClass.addDynFieldList("red"); |
|
465 |
dynClass.addDynFieldList("blue"); |
|
466 |
dynClass.addDynFieldList("green"); |
|
467 |
dynClass.addDynFieldBoolean("and"); |
|
468 |
|
|
469 |
ToolsLocator.getPersistenceManager().registerClass( |
|
470 |
TransparencyRange.class, dynClass); |
|
471 |
} |
|
417 | 472 |
} |
Also available in: Unified diff