private Schema getAnnotatedUnion(Union union, Map<String,Schema> names) { List<Schema> branches = new ArrayList<>(); for (Class branch : union.value()) branches.add(createSchema(branch, names)); return Schema.createUnion(branches); }
public static class R9_1 { @Union({Void.class, R7.class, R8.class}) public Object value; @Override public boolean equals(Object o) { if (!(o instanceof R9_1)) return false; if (this.value == null) return ((R9_1)o).value == null; return this.value.equals(((R9_1)o).value); } }
private Schema getAnnotatedUnion(Union union, Map<String,Schema> names) { List<Schema> branches = new ArrayList<Schema>(); for (Class branch : union.value()) branches.add(createSchema(branch, names)); return Schema.createUnion(branches); }
protected Class<?>[] _getUnionTypes(Annotated a) { Union ann = _findAnnotation(a, Union.class); if (ann != null) { // 14-Apr-2017, tatu: I think it makes sense to require non-empty List, as this allows // disabling annotation with overrides. But one could even consider requiring more than // one (where single type is not really polymorphism)... for now, however, just one // is acceptable, and maybe that has valid usages. Class<?>[] c = ann.value(); if (c.length > 0) { return c; } } return null; } }
@Union({R7.class, R8.class}) public static class R6 {}
private Schema getAnnotatedUnion(Union union, Map<String,Schema> names) { List<Schema> branches = new ArrayList<Schema>(); for (Class branch : union.value()) branches.add(createSchema(branch, names)); return Schema.createUnion(branches); }
@Union({SumFormat.class, MaxFormat.class, MinFormat.class, AvgFormat.class, ValueDistFormat.class, RangeDistFormat.class, UVBitmapFormat.class, HyperLogLogFormat.class, HyperLogLogPlusFormat.class}) public abstract class AnalysisFormat extends ObjectValue {
private Schema getAnnotatedUnion(Union union, Map<String,Schema> names) { List<Schema> branches = new ArrayList<Schema>(); for (Class branch : union.value()) branches.add(createSchema(branch, names)); return Schema.createUnion(branches); }
@Union({UnionCase1.class, UnionCase2.class}) private abstract static class DeterministicUnionBase {}
private Schema getAnnotatedUnion(Union union, Map<String,Schema> names) { List<Schema> branches = new ArrayList<Schema>(); for (Class branch : union.value()) branches.add(createSchema(branch, names)); return Schema.createUnion(branches); }
@Union({UnionCase1.class, UnionCase2.class, UnionCase3.class}) private abstract static class NonDeterministicUnionBase {}
private Schema getAnnotatedUnion(Union union, Map<String,Schema> names) { List<Schema> branches = new ArrayList<Schema>(); for (Class branch : union.value()) branches.add(createSchema(branch, names)); return Schema.createUnion(branches); }
private Schema getAnnotatedUnion(Union union, Map<String,Schema> names) { List<Schema> branches = new ArrayList<Schema>(); for (Class branch : union.value()) branches.add(createSchema(branch, names)); return Schema.createUnion(branches); }