@ThriftUnion public static final class MultipleTypes { @ThriftUnionId public void setId(short id) { } @ThriftField(1) public int getFoo() { return 0; } @ThriftField public void setFoo(short value) { } }
@Override protected Map<String, String> extractStructIdlAnnotations() { ThriftUnion annotation = getStructClass().getAnnotation(ThriftUnion.class); if (annotation == null) { return ImmutableMap.of(); } else { ImmutableMap.Builder<String, String> builder = ImmutableMap.builder(); for (ThriftIdlAnnotation idlAnnotation : annotation.idlAnnotations()) { builder.put(idlAnnotation.key(), idlAnnotation.value()); } return builder.build(); } }
@Override protected String extractName() { ThriftUnion annotation = getStructClass().getAnnotation(ThriftUnion.class); if (annotation == null) { return getStructClass().getSimpleName(); } else if (!annotation.value().isEmpty()) { return annotation.value(); } else { return getStructClass().getSimpleName(); } }
@ThriftUnion public static final class MultipleNames { @ThriftUnionId public void setId(short id) { } @ThriftField(value = 1, name = "foo") public String getFoo() { return null; } @ThriftField(value = 1, name = "bar") public void setFoo(String value) { } }
@ThriftUnion public static final class MultipleTypes { @ThriftUnionId public void setId(short id) { } @ThriftField(1) public int getFoo() { return 0; } @ThriftField public void setFoo(short value) { } }
@ThriftUnion public static final class MultipleNames { @ThriftUnionId public void setId(short id) { } @ThriftField(value = 1, name = "foo") public String getFoo() { return null; } @ThriftField(value = 1, name = "bar") public void setFoo(String value) { } }
@ThriftUnion public static final class MultipleIds { @ThriftUnionId public void setId(short id) { } @ThriftField(name = "foo", value = 1) public void setField1(String value) { } @ThriftField(name = "foo", value = 2) public void setField2(String value) { } @ThriftField(name = "foo") public String getField1() { return null; } @ThriftField(name = "foo") public String getField2() { return null; } }
@ThriftUnion public static final class MultipleIds { @ThriftUnionId public void setId(short id) { } @ThriftField(name = "foo", value = 1) public void setField1(String value) { } @ThriftField(name = "foo", value = 2) public void setField2(String value) { } @ThriftField(name = "foo") public String getField1() { return null; } @ThriftField(name = "foo") public String getField2() { return null; } }
@ThriftUnion("UnionConstructorDuplicateTypes") public class UnionConstructorDuplicateTypes
@ThriftUnion("Union") public final class UnionConstructor
@ThriftUnion("UnionConstructorDuplicateTypes") public class UnionConstructorDuplicateTypes
@ThriftUnion("Union") public final class UnionBean
@ThriftUnion("Union") public final class UnionConstructor
@ThriftUnion("Union") public final class UnionBean
@ThriftUnion public static class NotFinalUnion { @ThriftUnionId public short id; } }
@ThriftUnion public static final class UnsupportedJavaType { @ThriftUnionId public void setId(short id) { } @ThriftField(1) public Lock unsupportedJavaType; }
@ThriftUnion public static class NotFinalUnion { @ThriftUnionId public short id; } }
@ThriftUnion public static final class UnsupportedJavaType { @ThriftUnionId public void setId(short id) { } @ThriftField(1) public Lock unsupportedJavaType; }
@ThriftUnion public static final class NoId { @ThriftUnionId public short id; @ThriftField public String getField1() { return null; } @ThriftField public void setField1(String value) { } }