package com.querydsl.apt.domain;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Enumerated;
import org.junit.Test;
public class Enum3Test {
public interface BaseInterface extends Serializable {
String getFoo();
String getBar();
}
public enum EnumImplementation implements SpecificInterface {
FOO,
BAR;
public EnumImplementation getValue() {
return this;
}
public String getFoo() {
return null;
}
public String getBar() {
return name();
}
}
public interface SpecificInterface extends BaseInterface {
EnumImplementation getValue();
}
@Entity
public static class Entity1 {
@Enumerated(javax.persistence.EnumType.STRING)
private EnumImplementation value;
public SpecificInterface getValue() {
return value;
}
}
@Entity
public static class Entity2 {
private EnumImplementation value;
@Enumerated(javax.persistence.EnumType.STRING)
public SpecificInterface getValue() {
return value;
}
}
@Entity
public static class Entity3 {
private EnumImplementation value;
public SpecificInterface getValue() {
return value;
}
}
@Test
public void test() {
}
}