Template no eclipse (extender uma classe especifica)

1 resposta
Lavieri

Pessoal queria fazer o seguinte... eu criei uma classe abstrata para um Telefone persistente, que falta implementar a seguinte interface

public interface TelefoneInterface<T extends Telefone><T,O>,O extends TelefoneOwner<T,O>> {
	public O getOwner();
	public void setOwner(O owner);
}

esta interface especifica, eu tenho que escrever os métodos sempre que extender a classe Telefone
Obs.: quem quiser verificar a classe telefone pode ver esse link = http://www.simrentacar.com.br/home/tempCode/java/Telefone.java.html

o template seria como descrito abaixo... onde só trocaria o valor de $varTelefone e $varOwner
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@AttributeOverrides(
		value={
				@AttributeOverride(
						column=@Column(
								name = $varTelefone.FK_OWNER,
								insertable=false,
								updatable=false,
								nullable=false
						),
						name="ownerId"
				)
		})
public class $varTelefone extends Telefone<$varTelefone,$varOwner> {
	private static final long serialVersionUID = -2508915148132384528L;
	private static final String FK_OWNER = "$varOwner" + "_id";
	
	public $varOwner owner;
	
	public $varTelefone() {}
	
	@ManyToOne(fetch = FetchType.LAZY,optional=true)
	@JoinColumn(name=$varTelefone.FK_OWNER,nullable=false)
	@Override
	public $varOwner getOwner() {
		return owner;
	}
	@Override
	public void setOwner($varOwner owner) {
		this.owner = owner;
	}
}

Enfim... o problema é o sequinte... o código que tenho que gerar quando extendo a classe telfone é sempre o mesmo, por exemplo... caso quera extender para uma classe... "TelefoneLoja extends Telefone<TelefoneLoja,Loja>"

as minhas variáveis serão:
$varTelefone = "TelefoneLoja"
$varOwner = "Loja"

com isso o código montado para a classe TelefoneLoja que cujo o dono do telefone é a classe Loja é

import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@AttributeOverrides(
		value={
				@AttributeOverride(
						column=@Column(
								name = LojaTelefone.FK_OWNER,
								insertable=false,
								updatable=false,
								nullable=false
						),
						name="ownerId"
				)
		})
public class LojaTelefone extends Telefone<LojaTelefone,Loja> {
	private static final long serialVersionUID = -2508915148132384528L;
	private static final String FK_OWNER = "Loja" + "_id";
	
	public Loja owner;
	
	public LojaTelefone() {}
	
	@ManyToOne(fetch = FetchType.LAZY,optional=true)
	@JoinColumn(name=LojaTelefone.FK_OWNER,nullable=false)
	@Override
	public Loja getOwner() {
		return owner;
	}
	@Override
	public void setOwner(Loja owner) {
		this.owner = owner;
	}
}

queria montar um template ... para criar essas classe... pelo eclipse... deve ter uma forma para isso...

a única coisa que precisa fazer é... trocar $varTelefone pelo 1° parametro da classe telefone e $varOwner pelo 2° parametro...

1 Resposta

Lavieri

Ninguem tem uma luz de como criar templates no Eclipse ??

Criado 4 de fevereiro de 2009
Ultima resposta 5 de fev. de 2009
Respostas 1
Participantes 1