
/* Java class "Video.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.
 */
package locadora.core;

import java.lang.*;
import java.util.*;

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

  ///////////////////////////////////////
  // attributes


/**
 * <p>
 * Represents ...
 * </p>
 */
    private boolean alugado; 

/**
 * <p>
 * Represents ...
 * </p>
 */
    private int tipo; 

/**
 * <p>
 * Represents ...
 * </p>
 */
    private double valorDiaria; 

/**
 * <p>
 * Represents ...
 * </p>
 */
    public static final int VHS = 0; 

/**
 * <p>
 * Represents ...
 * </p>
 */
    public static final int DVD = 1; 

   ///////////////////////////////////////
   // associations

/**
 * <p>
 * 
 * </p>
 */
    public Collection emprestimos = new TreeSet(); // of type Emprestimo
/**
 * <p>
 * 
 * </p>
 */
    public Filme filme; 


   ///////////////////////////////////////
   // access methods for associations

    /** @poseidon-generated */
    public Collection getEmprestimoss() {
        return emprestimos;
    }
     /** @poseidon-generated */
    public void addEmprestimos(Emprestimo emprestimo) {
        if (! this.emprestimos.contains(emprestimo)) {
            this.emprestimos.add(emprestimo);
            emprestimo.addVideos(this);
        }
    }
    /** @poseidon-generated */
    public void removeEmprestimos(Emprestimo emprestimo) {
        boolean removed = this.emprestimos.remove(emprestimo);
        if (removed) emprestimo.removeVideos(this);
    }
    /** @poseidon-generated */
    public Filme getFilme() {
        return filme;
    }
    /** @poseidon-generated */
    public void setFilme(Filme filme) {
        if (this.filme != filme) {
            if (this.filme != null) this.filme.removeVideo(this);
            this.filme = filme;
            if (filme != null) filme.addVideo(this);
        }
    }


  ///////////////////////////////////////
  // operations


/**
 * <p>
 * Does ...
 * </p>
 * 
 * 
 * @return 
 */
    public boolean isAlugado() {        
        return alugado;
    } // end isAlugado        

/**
 * <p>
 * Does ...
 * </p>
 * 
 * 
 * @param _alugado 
 */
    public void setAlugado(boolean _alugado) {        
        alugado = _alugado;
    } // end setAlugado        

/**
 * <p>
 * Does ...
 * </p>
 * 
 * 
 * @return 
 */
    public int getTipo() {        
        return tipo;
    } // end getTipo        

/**
 * <p>
 * Does ...
 * </p>
 * 
 * 
 * @param _tipo 
 */
    public void setTipo(int _tipo) {        
        tipo = _tipo;
    } // end setTipo        

/**
 * <p>
 * Does ...
 * </p>
 * 
 * 
 * @return 
 */
    public String toString() {        
        // your code here
        return filme.toString()+" - "+ getTipoString(tipo);
    } // end toString        

/**
 * <p>
 * Does ...
 * </p>
 * 
 * 
 * @return 
 */
    
    public static String getTipoString(int i) 
    {  String res="";
        switch(i)
        {
            case DVD: res = "DVD";
            break;
            case VHS: res= "VHS";
        }
        
        return res;
    }
    
    public double getValorDiaria() {        
        return valorDiaria;
    } // end getValorDiaria        

/**
 * <p>
 * Does ...
 * </p>
 * 
 * 
 * @param _valorDiaria 
 */
    public void setValorDiaria(double _valorDiaria) {        
        valorDiaria = _valorDiaria;
    } // end setValorDiaria        

 } // end Video




