package org.infinispan.client.hotrod.query.testdomain.protobuf.marshallers;
import org.infinispan.protostream.EnumMarshaller;
import org.infinispan.query.dsl.embedded.testdomain.User;
/**
* @author anistor@redhat.com
* @since 7.0
*/
public class GenderMarshaller implements EnumMarshaller<User.Gender> {
@Override
public Class<User.Gender> getJavaClass() {
return User.Gender.class;
}
@Override
public String getTypeName() {
return "sample_bank_account.User.Gender";
}
@Override
public User.Gender decode(int enumValue) {
switch (enumValue) {
case 0:
return User.Gender.MALE;
case 1:
return User.Gender.FEMALE;
}
return null; // unknown value
}
@Override
public int encode(User.Gender gender) {
switch (gender) {
case MALE:
return 0;
case FEMALE:
return 1;
default:
throw new IllegalArgumentException("Unexpected User.Gender value : " + gender);
}
}
}