Estou modelando uma classe chamada Link:
public class Link {
private String cod; //código (Link_x)
private String name; //nome do Elemento ("Link 1")
private String type; //tipo de link (associação ou generalização)
private String from; //de (códigos)
private String to; //para (códigos)
}
Só que eu não queria que o atributo type fosse uma string e sim um tipo que eu pudesse especificar que ele poderia apenas receber os valores “associação” ou “generalização”.
Como poderia fazer isto???
Ola,
Acho que entendi… só vc colocar o tipo do tipo… sem trocadilhos, tipo Class, assim vc pode atribuir algo assim:
tipo = String.class, ou tipo = Integer.class…
você pode usar um int ou byte, associando o valor 0 a ‘associação’ e 1 a ‘generalização’, por exemplo, ou o tipo [/i]boolean[i], associando false e true aos dois valores.
ainda tem outra opção, mais elaborada, que é o tipo enum, que enumera valores de string, dessa forma:
private enum tipos { GENERALIZACAO, ASSOCIACAO }
esse tipo enumera constantes, e possui métodos que associa a ordem em que eles são associados com o seu valor.
mas sinceramente, não tenho prática com enum, mas é bom você saber que existe para estudar, ou alguém pode te ajudar melhor aqui.[/i]
[code]public class Link {
private String cod; //código (Link_x)
private String name; //nome do Elemento (“Link 1”)
private Type type; //tipo de link (associação ou generalização)
private String from; //de (códigos)
private String to; //para (códigos)
}
enum Type{
ASSOCIACAO, GENERALIZACAO;
}
Link lnk = new Link();
lnk.setType(Type.ASSOCIACAO);[/code]
Era exatamente o que o Jair explicou no exemplo era o que eu queria.
Valew 