Cannot find symb ol symbol : method getPreco()[RESOLVIDO]

Pessoal estou rodando minha aplicacao e esta dando o erro abaixo
[INFO] Compilation failure
C:\Users\evandro.abreu\workspace\cqa\cqalims\lims\trunk\ejbs\orcamento-ejb\src\m
ain\java\br\com\cqa\lims\orcamento\PrecoPorMetodo.java:[257,69] cannot find symb
ol
symbol : method getPreco()
location: interface java.util.List<br.com.cqa.lims.analise.Metodo>

segue minhas classes.

public class PrecoPorMetodo extends Entidade{

	private static final long serialVersionUID = -4715774435380827257L;

	private int grupo;
	@ManyToOne
	@JoinColumn(name="metodo_id", nullable=false)
	private Metodo metodo;

					OrcamentoServiceBean osb = new OrcamentoServiceBean();
					List<Metodo> TotalDosMetodosPorGrupoDeEspec = osb.precoTotalDosMetodosPorGrupoDeEspec(elementoListaTodosMetodos2.getKey().toString());

					 for (Metodo met:TotalDosMetodosPorGrupoDeEspec) {
					/////////// ERRO ESTA AQUI 
                                         	 total = total.soma(new Dinheiro(TotalDosMetodosPorGrupoDeEspec.getPreco()));					 
						 			 
					 } 
}

public class OrcamentoServiceBean implements OrcamentoServiceLocal {


  public List<Metodo> precoTotalDosMetodosPorGrupoDeEspec(String vid) {
    	
		StringBuffer sbQuery = new StringBuffer();
		sbQuery.append(" select m from Metodo ");
		sbQuery.append(" where m.id=:id");		

		Query query = em.createQuery(sbQuery.toString());
		
		query.setParameter("id", new Long (vid));
	
		return query.getResultList();   	
    }
}


public interface OrcamentoServiceLocal {
    public List<Metodo> precoTotalDosMetodosPorGrupoDeEspec(String vid);	

}


public class Metodo extends Entidade {

	private static final long serialVersionUID = 3941247380375046338L;

	private String nome;

	@ManyToOne
	private Metodologia metodologia;

	@Embedded
	private Dinheiro preco;

	public Metodo() {
	}

	public Metodo(String nome) {
		this.nome = nome;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Metodologia getMetodologia() {
		return metodologia;
	}

	public void setMetodologia(Metodologia metodologia) {
		this.metodologia = metodologia;
	}

	public Dinheiro getPreco() {
	    return preco;
    }

	public void setPreco(Dinheiro preco) {
		this.preco = preco;
	}

	public boolean isPrecificavel() {
	    return preco != null && preco.doubleValue() > 0;
    }

}



A variável na qual você está invocando getPreco não possui esse método.

Desculpe a minha falta de conhecimento, mas não esta na seguinte classe :

public class Metodo extends Entidade {  
   public Dinheiro getPreco() {  
        return preco;  
    }  
  
    public void setPreco(Dinheiro preco) {  
        this.preco = preco;  
    }  
  

}
  
 

a sua variável TotalDosMetodosPorGrupoDeEspec é um List, e List não possui esse método.

entao tenho que usar o seguinte :

metodo.getPreco();

é isso ??

Sim, você só pode invocar o método getPreco em uma instância de Metodo

tentei colocar o que eu mencionei , e deu o erro :

C:\Users\evandro.abreu\workspace\cqa\cqalims\lims\trunk\ejbs\orcamento-ejb\src\m
ain\java\br\com\cqa\lims\orcamento\PrecoPorMetodo.java:[259,26] cannot find symb
ol
symbol : constructor Dinheiro(br.com.cqa.lims.financeiro.Dinheiro)
location: class br.com.cqa.lims.financeiro.Dinheiro

o o começo da minha classe esta assim :

import br.com.cqa.lims.analise.Metodo;
import br.com.cqa.lims.financeiro.Dinheiro;

@Entity(name = "br.com.cqa.lims.orcamento.PrecoPorMetodo") 
@Table(name="preco_por_metodo")
public class PrecoPorMetodo extends Entidade{

Você está mandando um Dinheiro para o construtor da classe Dinheiro, é isso mesmo que você quer fazer?

Você não usa nenhuma IDE? facilitaria muito pra pegar esses erros.

Você está mandando um Dinheiro para o construtor da classe Dinheiro, é isso mesmo que você quer fazer?
Sim

Você não usa nenhuma IDE? facilitaria muito pra pegar esses erros.

Entao eu uso o eclipse Indigo, estou com problema pq o projeto foi gerado Maven para agrupar as dependencias do projeto , entao importamos o projeto só que toda as vezes eu salvo a classe e vou no prompt do msn dos e digito mvn install ai ele ve os erros de sintaxe do meu projeto, gostaria de fazer isso dentro do eclipse , mas nao sei como faz . rs

Se você quer instanciar um Dinheiro enviando outro Dinheiro como argumento, o que você que precisa fazer?

Resolvi dessa forma .

total = total.soma((met.getPreco()));