Ho due enumerazioni correlate.Due mappature relative alle enumerazioni?
Enum1:
public enum HttpMethodName
{
GET, POST, PUT, DELETE;
}
Enum2:
public enum ProtocolOperation {
CREATE(1), RETRIEVE(2), UPDATE(3), DELETE(4), NOTIFY(5);
private BigInteger operationId;
public BigInteger getOperationId() {
return operationId;
}
private ProtocolOperation(int operationId) {
this.operationId = BigInteger.valueOf(operationId);
}
}
I valori enums hanno mappatura come:
Create--> POST
Retrieve--> GET
Update--> PUT
Delete--> DELETE
Notify---> POST
Quindi c'è mappatura uno a uno tra i valori ad eccezione solo per POST
caso che può avere due valori Create
o Notify
in base a una condizione. ci
public enum HttpMethodName
{
POST(new List(ProtocolOperation.CREATE, ProtocolOperation.NOTIFY)) ,GET (new List(ProtocolOperation.RETRIEVE)) ,
PUT (new List(ProtocolOperation.UPDATE) ,DELETE(new List(ProtocolOperation.DELETE) ;
List<ProtocolOperation > ops;
HttpMethodName (List<ProtocolOperation> ops)
{
this.ops = ops;
}
}
è un approccio migliore ??:
Stavo pensando di mantenere la mappatura come List
EDIT:
vorrò mappatura entrambi i modi da HttpMethodName <----> ProtocolOperation
Era quello ultima modifica per rendere la parola "sia" bold, una reazione alla mia risposta? Perché la mia risposta ha una mappatura in entrambe le direzioni. – Andreas
uso può usare BiMap in Guava – yelliver
Ti aspetti due istanze 'Map', o le risposte esistenti raccomandano metodi abbastanza buoni? Forse puoi anche condividere in che modo questa relazione sarà utilizzata ulteriormente nella tua base di codice? –