Package Modules

Source Code of Modules.CjtElements

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Modules;


import Controllers.CjtElementsController;
import java.util.ArrayList;
import java.util.SortedMap;
import java.util.TreeMap;
import main.Sequence;


/**
*
* @author 11.2
*/
public class CjtElements {   
   
    private SortedMap<Integer, Element> cjtElements;  
    private Sequence sequence; 
    private ArrayList<Pack> pack;
    private CjtElementsController cjtElementsController;
   
    /**
     * Crea un conjunto de elementos.    
     */
    public CjtElements(){       
        this.cjtElements = new TreeMap();
        this.sequence = new Sequence(3, 0, 1, false);  
        pack = new ArrayList();
    }
   
    /**
     * Modificadora del enlace al controlador del conjunto de elementos.
     * @param newCjtElementsController Enlace al controlador.
     */
    public void setCjtElementsController(CjtElementsController newCjtElementsController){
        this.cjtElementsController = newCjtElementsController;
    }
   
    /**
     * Consultora de la existencia de un elemento en el conjunto.
     * @param id Representa el Id del elemento.
     * @return 'true' si existe, 'false' en caso contrario.
     */
    public boolean existsKey(int id){
        Integer idObj = new Integer(id);
        boolean exist = false;
        if(this.cjtElements.containsKey(idObj)){
            exist = true;
        }
        return exist;
    }
   
    /**
     * Añade un pack al conjunto de packs.
     * @param x Representa el Id del mueble.
     * @param y Representa el Id del item.
     * @param id Representa el Id del pack.
     * @return 'true' si existe, 'false' en caso contrario.
     */
    public void setPack(int x, int y, int id){
        Pack aux = new Pack(x,y, id);
        pack.add(aux);
    }
   
    /**
     * Consultora del 'size' del conjunto de packs.    
     * @return Size del pack.
     */
    public int getPackSize(){
        return pack.size();
    }
   
    /**
     * Consultora de un pack del conjunto de packs.
     * @param id Representa el Id del pack.
     * @return Pack solicitado.
     */
    public Pack getPack(int id){
        return pack.get(id);
    }
   
    /**
     * Modificadora de un elemento del conjunto.
     * @param id Representa el Id del elemento.
     * @param elem Representa el elemento sustituto..
     * @return Pack solicitado.
     */
    public void update(int id, Element elem){
        this.cjtElements.put(id, elem);
    }
   
    /**
     * Consultora del siguiente Id disponible del conjunto.
     * @return El siguiente id disponible del conjunto.
     */
    public int getCount(){
        return this.sequence.getValue();
    }
   
    /**
     * Consultora de un elemento del conjunto de elementos.
     * @param id Representa el Id del elemento.
     * @return Elemento solicitado.
     */
    public Element getElement(int id){       
        Integer idObj = new Integer(id);
        return this.cjtElements.get(idObj);       
    }
   
    /**
     * Consultora del 'size' del conjunto de elementos.    
     * @return Size del conjunto de elementos.
     */
    public int size(){
        return this.cjtElements.size();
    }   
   
    /**
     * Elimina un elemento del pack.    
     * @param elem Elimina el elemento con id 'idTarget' y los posibles packs que ha formado.
     */
    public void remove(int idTarget){
        Integer key = new Integer(idTarget);      
      
        if(!cjtElements.get(key).getType().equals("Pack")){           
            for(int i = 0; i < pack.size(); ++i){               
                if(pack.get(i).getIdM() == key || pack.get(i).getIdIt() == key){
                    this.cjtElementsController.delete(pack.get(i).getId());                   
                }
            }
        }
        this.cjtElements.remove(key);       
    }  
   
    /**
     * Incorpora un nuevo elemento al conjunto.   
     * @param idTarget Representa el nuevo elemento.
     */
    public void set(Element elem){
        Integer key = this.sequence.getValue();  
        this.sequence.increase();
        this.cjtElements.put(key, elem);
    }
   
    /**
     * Incorpora un nuevo elemento al conjunto en una posicion exacta.
     * @param Key Representa la posicion del elemento.
     * @param elem Representa el nuevo elemento.
     */
    public void setExact(Integer key, Element elem){
        this.cjtElements.put(key, elem);
    }
   
    /**
     * Actualiza el ultimo Id disponible.   
     * @param key Representa el Id valido.
     */
    public void setCounter(Integer key){                    
        this.sequence.setCounter(key);
    }
}
TOP

Related Classes of Modules.CjtElements

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.