1*f0340d8eSSorin Bascaclass AnonymousClassDeclarations { 2*f0340d8eSSorin Basca 3*f0340d8eSSorin Basca static class DoFn<I,O> { 4*f0340d8eSSorin Basca static class ProcessContext { 5*f0340d8eSSorin Basca public Long innerClassMethod() {} 6*f0340d8eSSorin Basca } 7*f0340d8eSSorin Basca 8*f0340d8eSSorin Basca enum MyEnum { 9*f0340d8eSSorin Basca E1, E2, E3 10*f0340d8eSSorin Basca } 11*f0340d8eSSorin Basca 12*f0340d8eSSorin Basca public void process(ProcessContext context) {} 13*f0340d8eSSorin Basca } 14*f0340d8eSSorin Basca 15*f0340d8eSSorin Basca static class Transform<I,O> {} 16*f0340d8eSSorin Basca 17*f0340d8eSSorin Basca static class ParDo { 18*f0340d8eSSorin Basca static <I,O> Transform<I,O> of(DoFn<I,O> doFn) { 19*f0340d8eSSorin Basca return null; 20*f0340d8eSSorin Basca } 21*f0340d8eSSorin Basca } 22*f0340d8eSSorin Basca 23*f0340d8eSSorin Basca void fooBar1() { 24*f0340d8eSSorin Basca ParDo.of(new DoFn<Integer,Long>() {}); 25*f0340d8eSSorin Basca } 26*f0340d8eSSorin Basca 27*f0340d8eSSorin Basca void fooBar2() { 28*f0340d8eSSorin Basca ParDo.of(new DoFn<Integer,Long>() { 29*f0340d8eSSorin Basca public void process(ProcessContext c){ 30*f0340d8eSSorin Basca return c.innerClassMethod(); 31*f0340d8eSSorin Basca } 32*f0340d8eSSorin Basca }); 33*f0340d8eSSorin Basca } 34*f0340d8eSSorin Basca 35*f0340d8eSSorin Basca void fooBar3() { 36*f0340d8eSSorin Basca ParDo.of(new DoFn<Integer,Long>() { 37*f0340d8eSSorin Basca 38*f0340d8eSSorin Basca void callAnnonClassInnerMethod() {} 39*f0340d8eSSorin Basca 40*f0340d8eSSorin Basca public void process(ProcessContext c) { 41*f0340d8eSSorin Basca callAnnonClassInnerMethod(); 42*f0340d8eSSorin Basca } 43*f0340d8eSSorin Basca }); 44*f0340d8eSSorin Basca } 45*f0340d8eSSorin Basca 46*f0340d8eSSorin Basca void fooBar4() { 47*f0340d8eSSorin Basca ParDo.of(new DoFn<Integer,Long>() { 48*f0340d8eSSorin Basca 49*f0340d8eSSorin Basca void callAnnonClassInnerMethod() {} 50*f0340d8eSSorin Basca 51*f0340d8eSSorin Basca public void process(ProcessContext c) { 52*f0340d8eSSorin Basca MyEnum.E3.toString(); 53*f0340d8eSSorin Basca } 54*f0340d8eSSorin Basca }); 55*f0340d8eSSorin Basca } 56*f0340d8eSSorin Basca 57*f0340d8eSSorin Basca void fooBar5() { 58*f0340d8eSSorin Basca ParDo.of(new DoFn<Integer,Long>() { 59*f0340d8eSSorin Basca 60*f0340d8eSSorin Basca void callAnnonClassInnerMethod() {} 61*f0340d8eSSorin Basca 62*f0340d8eSSorin Basca enum MyInnerEnum { 63*f0340d8eSSorin Basca E1, E2, E3 64*f0340d8eSSorin Basca } 65*f0340d8eSSorin Basca public void process(ProcessContext c) { 66*f0340d8eSSorin Basca MyInnerEnum.E3.toString(); 67*f0340d8eSSorin Basca } 68*f0340d8eSSorin Basca }); 69*f0340d8eSSorin Basca } 70*f0340d8eSSorin Basca 71*f0340d8eSSorin Basca void fooBar6() { 72*f0340d8eSSorin Basca new DoFn.ProcessContext() {}.innerClassMethod(); 73*f0340d8eSSorin Basca } 74*f0340d8eSSorin Basca 75*f0340d8eSSorin Basca} 76