Revision 31829 branches/v2_0_0_prep/libraries/libRaster/src/org/gvsig/raster/datastruct/TransparencyRange.java

View differences:

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