Coverage Report - tempcontroller.base.ProgramacaoAmostragemSimples
 
Classes in this File Line Coverage Branch Coverage Complexity
ProgramacaoAmostragemSimples
78% 
100% 
0
 
 1  
 /*
 2  
  * ProgramacaoAmostragemSimples.java
 3  
  *
 4  
  * Created on 28 de Março de 2007, 15:41
 5  
  *
 6  
  * To change this template, choose Tools | Template Manager
 7  
  * and open the template in the editor.
 8  
  */
 9  
 
 10  
 package tempcontroller.base;
 11  
 
 12  
 import java.io.File;
 13  
 import java.util.ArrayList;
 14  
 import java.util.List;
 15  
 import org.apache.commons.lang.builder.HashCodeBuilder;
 16  
 
 17  
 /**
 18  
  * Implementação simples da interface IProgramacaoAmostragem.
 19  
  */
 20  4
 public class ProgramacaoAmostragemSimples implements IProgramacaoAmostragem {
 21  
     
 22  
     /**
 23  
      * Lista de amostragens desta programação.
 24  
      */
 25  
     private List<IAmostragem> listaAmostragens;
 26  
     
 27  
     /**
 28  
      * Diretório de gravação dos espectros desta programação.
 29  
      */
 30  
     private File diretorioGravacao;
 31  
     
 32  
     /**
 33  
      * Adiciona nova amostragem à programação.
 34  
      * @param amostragem Nova amostragem à programação.
 35  
      */
 36  
     public void addAmostragem(final IAmostragem amostragem) {
 37  12
         getAmostragens().add(amostragem);
 38  12
     }
 39  
     
 40  
     /**
 41  
      * Obtém a lista de amostragens desta programação.
 42  
      * @return Lista de amostragens desta programção.
 43  
      */
 44  
     public List<IAmostragem> getAmostragens() {
 45  22
         if (listaAmostragens == null) {
 46  4
             listaAmostragens = (List<IAmostragem>) new ArrayList<IAmostragem>();
 47  
         }
 48  
         
 49  22
         return listaAmostragens;
 50  
     }
 51  
     
 52  
     /**
 53  
      * Define a lista de amostragens desta programação.
 54  
      * @param amostragens Lista de amostragens desta programação.
 55  
      */
 56  
     public void setAmostragens(final List<IAmostragem> amostragens) {
 57  0
         listaAmostragens = amostragens;
 58  0
     }
 59  
     
 60  
     /**
 61  
      * Obtém o diretório de gravação dos espectros desta programação.
 62  
      * @return O diretório de gravação dos espectros desta programação.
 63  
      */
 64  
     public File getDiretorioGravacao() {
 65  2
         return diretorioGravacao;
 66  
     }
 67  
     
 68  
     /**
 69  
      * Define o diretório de gravação dos espectros desta programação.
 70  
      * @param diretorio Diretório de gravação de espectros desta 
 71  
      * programação.
 72  
      */
 73  
     public void setDiretorioGravacao(final File diretorio) {
 74  4
         diretorioGravacao = diretorio;
 75  4
     }
 76  
     
 77  
     /**
 78  
      * Compara esta programação com o objeto do parâmetro.
 79  
      * @param obj Objeto que será comparado.
 80  
      * @return <code>true</code> apenas se o objeto passado implementa
 81  
      * a interface IProgramcaoAmostragem, e este tem as mesmas amostragens
 82  
      * e o mesmo diretório de gravação.
 83  
      */
 84  
     public boolean equals(final Object obj) {
 85  1
         boolean toReturn = false;
 86  
         
 87  1
         if (obj instanceof IProgramacaoAmostragem) {
 88  1
             IProgramacaoAmostragem prog = (IProgramacaoAmostragem) obj;
 89  1
             toReturn = (this.getDiretorioGravacao()
 90  
             .equals(prog.getDiretorioGravacao())) 
 91  
             && (this.getAmostragens().equals(prog.getAmostragens()));
 92  
         }
 93  
         
 94  1
         return toReturn;
 95  
     }
 96  
     
 97  
     /**
 98  
      * Calcula o código Hash para esta programação, de acordo
 99  
      * com a lista de amostragens e diretório de gravação.
 100  
      * @return Código hash calculado.
 101  
      */
 102  
     public int hashCode() {
 103  0
         HashCodeBuilder builder = new HashCodeBuilder();
 104  0
         return builder.append(listaAmostragens)
 105  
         .append(diretorioGravacao).toHashCode();
 106  
     }
 107  
 }