java enum getter setter

Je suis à la consommation des données à partir du service web, sera le stockage de données dans les données de titulaire de la classe et puis obtenir que des données à un autre endroit.

Pour un champ particulier, le plus approprié pour le type de données enum et donc j'ai créé à la suite d'enum:

public enum EventStatus {
    PENDING(1), OPEN(2), DISPATCHED(3), APPENDED(4), CLOSED(5), REQUESTED_TO_CLOSE(
            6), ACTION_REQUESTED_FROM_POLICE_STATION(7), ACTION_REQUESTED_FROMD_ISPATCHER(
            8), ACTION_REQUESTED_FROM_SUPERVISOR(9);
    private int value;

    private EventStatus(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }
    //Just for testing from some SO answers, but no use
    public void setValue(int value) {
        this.value = value;
    }
}

Cette enum est utilisé dans une autre classe comme suit:

public EventStatus getEventStatus() {
    return eventStatus;
}

public void setEventStatus(EventStatus eventStatus) {
    this.eventStatus = eventStatus;
}

Maintenant, quand j'essaie de définir la valeur comme suit:

event.setEventStatus(getAttributeValueInt(linkedEventElement, "status"));

qui équivalents à

event.setEventStatus(1);

Je suis d'erreur de compilation que méthode n'est pas applicable pour les arguments(int)

D'une manière que je peux faire c'est de quelque chose comme ceci:

switch(getAttributeValueInt(linkedEventElement, "status")){
   case 1:eventLinkedEvent.setEventStatus(EventStatus.PENDING); 
      //and so on...
}

Mais cette ruine le seul but d'enum.

Également comment obtenir le statut d'événement valeur en entier le formulaire?

Quelqu'un peut-il svp me guider comment aller de l'avant?

C'est une mauvaise idée d'ajouter des organismes de normalisation pour les énumérations, parce que les énumérations sont censés être immuable

OriginalL'auteur GAMA | 2015-04-03