Qual Tipo/Classe?

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 :grin: