package esercitazioni.monitor;
/** Java class "Monitor.java" generated from Poseidon for UML.
 *  Poseidon for UML is developed by <A HREF="http://www.gentleware.com">Gentleware</A>.
 *  Generated with <A HREF="http://jakarta.apache.org/velocity/">velocity</A> template engine.
 */
import java.lang.String;
import java.util.*;

/**
 * <p>
 *
 * </p>
 */
public class Monitor {

  ///////////////////////////////////////
  // operations
  private boolean on;
  private int luminosita, contrasto;
  private int[] mem_cont;
  private int[] mem_lum;

/**
 * <p>
 * Does ...
 * </p>
 *
 */
    public void Monitor() {
        // your code here
        mem_cont=new int[4];
        mem_lum=new int[4];
        accendi();
        //
        setContrasto(50);
        setLuminosita(50);
        for(int i=0;i<mem_cont.length;i++){
                mem_cont[i]=getContrasto();
                mem_lum[i]=getLuminosita();
        }
        //
    } // end Monitor

    public void accendi() {
        on=true;
    }
    public void spegni() {
        on=false;
    }

    public void setLuminosita(int lum) {
        luminosita=normalize(lum);
    } // end setLuminosita
/**
 * <p>
 * Does ...
 * </p>
 *
 *
 * @param in
 */
    public void setLuminosita(int lum) {
        luminosita=normalize(lum);
    } // end setLuminosita

    /**
     *
     */
    private int normalize(int val){
            if(val<0)
                     val=0;
            if(val>100)
                     val=110;
            return val;
    }

/**
 * <p>
 * Does ...
 * </p>
 *
 *
 * @param in
 */
    public void setLuminosita(int lum) {
        // your code here
    } // end setColore

/**
 * <p>
 * Does ...
 * </p>
 *
 *
 * @return
 */
    public int getLuminosita() {
        // your code here
        return luminosita;
    } // end getLuminosita

/**
 * <p>
 * Does ...
 * </p>
 *
 *
 * @param in
 */
    public void setContrasto(int cont) {
        contrasto=normalize(cont);
    } // end setContrasto

/**
 * <p>
 * Does ...
 * </p>
 *
 *
 * @return
 */
    public int getContrasto() {
        // your code here
        return contrasto;
    } // end getContrasto

/**
 * <p>
 * Does ...
 * </p>
 *
 *
 * @param in
 */
    public void setMemoria(int nmem) {
        if((nmem>=0)&&(nmem<4)){
            setContratso(mem_cont[nmem]);
            setLuminosita(mem_lum[nmem]);
        }
    } // end setMemoria

/**
 * <p>
 * Does ...
 * </p>
 *
 *
 * @param in
 */
    public void salvaMemoria(int_nmem in) {
        if((nmem>=0)&&(nmem<4)){
            mem_cont[nmem]=getContratso();
            mem_lum[nmem]=getLuminosita();
        }
    } // end salvaMemoria

/**
 * <p>
 * Does ...
 * </p>
 *
 *
 * @return
 */
    public String toString() {
        // your code here
        String stato="Il Monitor  ";
        if(on)
            stato+="acceso ";
        else
            stato+="spento ";
        //
        stato+="\nla luminosit  impostata a "+getLuminosuta();
        stato+="\nil contrasto  impostato a "+getContrasto();
        return stato;
    } // end toString

 } // end Monitor


