/*
 * Component.java
 *
 */

package com.uvigo.tMaestro.SCOCreator.tool;

/**
 * Esta clase se utiliza para guardar los valores de posicion, tamano de los
 * beans de una plantilla. Guarda ademas los valores para las distintas opciones
 * de todas las propiedades del bean. Esta clase se utiliza
 * para permitir guardar el estado de configuracion de una plantilla entre ejecuciones
 * distintas de la aplicacion.
 * @author raul
 * @version 0.1
 */
public class Component implements java.io.Serializable{
    
    
    /**
     *
     * Los valores de las opciones para todas las propiedades del bean.
     * La Key es el nombre de la propiedad. El Value es un array con los
     * con tres elementos:
     *  0 --> un ArrayList con los valores de la propiedad para cada una de las opciones
     *  1 --> un ArrayList con los ficheros referidos a la propiedad si es una
     *        propiedad que denota fichero.
     */
    public java.util.HashMap<String,java.util.ArrayList> oPropertyParameters;
    
    
    /**
     * los valores de las X del bean en cada una de las opciones
     *
     */
    public java.util.ArrayList<Integer> oXs;
    
    /**
     * los valores de las Y del bean en cada una de las opciones
     *
     */
    public java.util.ArrayList<Integer> oYs;
    
    
    /**
     * los valores de las Y del bean en cada una de las opciones
     *
     */
    public java.util.ArrayList<Integer> oZs;
    
    
    /**
     * los valores de las anchuras del bean en cada una de las opciones
     */
    public java.util.ArrayList<Integer> oWidths;
    
    /**
     * los valores de las alturas del bean en cada una de las opciones
     */
    public java.util.ArrayList<Integer> oHeights;
    
    
    /**
     * los valores de la visibilidad del bean en cada una de las opciones
     */
    public java.util.ArrayList<Boolean> oVisible;
    
    
    
    
    
    /**
     * Constructor
     */
    public Component(java.util.HashMap<String,java.util.ArrayList> oPropertyParameters,
            java.util.ArrayList oXs, java.util.ArrayList oYs, java.util.ArrayList oZs, java.util.ArrayList oWidths,
            java.util.ArrayList oHeights, java.util.ArrayList oVisible) {
        
        this.oPropertyParameters = oPropertyParameters;
        this.oXs=oXs;
        this.oYs=oYs;
        this.oZs=oZs;
        this.oWidths=oWidths;
        this.oHeights=oHeights;
        this.oVisible=oVisible;
        
    }
}
