You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by ke...@apache.org on 2016/11/10 22:18:23 UTC

[3/4] incubator-beam git commit: Remove DoFnSignatures.INSTANCE

Remove DoFnSignatures.INSTANCE


Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/efad9d47
Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/efad9d47
Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/efad9d47

Branch: refs/heads/master
Commit: efad9d47f34694dc730f2d9e663cb61cba307679
Parents: f7745dc
Author: Kenneth Knowles <kl...@google.com>
Authored: Mon Nov 7 22:36:09 2016 -0800
Committer: Kenneth Knowles <kl...@google.com>
Committed: Thu Nov 10 14:18:07 2016 -0800

----------------------------------------------------------------------
 .../beam/runners/core/SimpleDoFnRunner.java     |  2 +-
 .../beam/runners/core/SplittableParDo.java      |  2 +-
 .../runners/direct/ParDoOverrideFactory.java    |  2 +-
 .../beam/sdk/transforms/DoFnAdapters.java       |  2 +-
 .../org/apache/beam/sdk/transforms/ParDo.java   |  6 +-
 .../sdk/transforms/reflect/DoFnInvokers.java    |  2 +-
 .../sdk/transforms/reflect/DoFnSignatures.java  | 11 ++--
 .../sdk/transforms/reflect/OnTimerInvokers.java |  2 +-
 .../DoFnSignaturesProcessElementTest.java       | 12 ++--
 .../DoFnSignaturesSplittableDoFnTest.java       | 34 +++++-----
 .../transforms/reflect/DoFnSignaturesTest.java  | 66 ++++++++++----------
 11 files changed, 70 insertions(+), 71 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/efad9d47/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java
----------------------------------------------------------------------
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java
index 3abb06b..2c5a850 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java
@@ -96,7 +96,7 @@ public class SimpleDoFnRunner<InputT, OutputT> implements DoFnRunner<InputT, Out
       WindowingStrategy<?, ?> windowingStrategy) {
     this.fn = fn;
     this.observesWindow =
-        DoFnSignatures.INSTANCE.getSignature(fn.getClass()).processElement().observesWindow();
+        DoFnSignatures.getSignature(fn.getClass()).processElement().observesWindow();
     this.invoker = DoFnInvokers.INSTANCE.newByteBuddyInvoker(fn);
     this.outputManager = outputManager;
     this.mainOutputTag = mainOutputTag;

http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/efad9d47/runners/core-java/src/main/java/org/apache/beam/runners/core/SplittableParDo.java
----------------------------------------------------------------------
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/SplittableParDo.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/SplittableParDo.java
index cea75b3..7143ffe 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/SplittableParDo.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/SplittableParDo.java
@@ -94,7 +94,7 @@ public class SplittableParDo<
   public SplittableParDo(DoFn<InputT, OutputT> fn) {
     checkNotNull(fn, "fn must not be null");
     this.fn = fn;
-    this.signature = DoFnSignatures.INSTANCE.getSignature(fn.getClass());
+    this.signature = DoFnSignatures.getSignature(fn.getClass());
     checkArgument(signature.processElement().isSplittable(), "fn must be a splittable DoFn");
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/efad9d47/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoOverrideFactory.java
----------------------------------------------------------------------
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoOverrideFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoOverrideFactory.java
index 6052a41..27941f8 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoOverrideFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoOverrideFactory.java
@@ -44,7 +44,7 @@ class ParDoOverrideFactory<InputT, OutputT>
       // This is an OldDoFn, hence not splittable.
       return transform;
     }
-    DoFnSignature signature = DoFnSignatures.INSTANCE.getSignature(fn.getClass());
+    DoFnSignature signature = DoFnSignatures.getSignature(fn.getClass());
     if (!signature.processElement().isSplittable()) {
       return transform;
     }

http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/efad9d47/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFnAdapters.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFnAdapters.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFnAdapters.java
index 420304b..a5e1c21 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFnAdapters.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFnAdapters.java
@@ -63,7 +63,7 @@ public class DoFnAdapters {
   /** Creates an {@link OldDoFn} that delegates to the {@link DoFn}. */
   @SuppressWarnings({"unchecked", "rawtypes"})
   public static <InputT, OutputT> OldDoFn<InputT, OutputT> toOldDoFn(DoFn<InputT, OutputT> fn) {
-    DoFnSignature signature = DoFnSignatures.INSTANCE.getSignature((Class) fn.getClass());
+    DoFnSignature signature = DoFnSignatures.getSignature((Class) fn.getClass());
     if (signature.processElement().observesWindow()) {
       return new WindowDoFnAdapter<>(fn);
     } else {

http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/efad9d47/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ParDo.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ParDo.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ParDo.java
index 26799c0..ac1bccb 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ParDo.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ParDo.java
@@ -563,7 +563,7 @@ public class ParDo {
       return;
     }
 
-    DoFnSignature signature = DoFnSignatures.INSTANCE.getSignature((Class) fn.getClass());
+    DoFnSignature signature = DoFnSignatures.getSignature((Class) fn.getClass());
 
     TypeDescriptor<? extends BoundedWindow> actualWindowT =
         input.getWindowingStrategy().getWindowFn().getWindowTypeDescriptor();
@@ -592,7 +592,7 @@ public class ParDo {
    * correctly and that its features can be supported.
    */
   private static <InputT, OutputT> void validate(DoFn<InputT, OutputT> fn) {
-    DoFnSignature signature = DoFnSignatures.INSTANCE.getSignature((Class) fn.getClass());
+    DoFnSignature signature = DoFnSignatures.getSignature((Class) fn.getClass());
 
     // To be removed when the features are complete and runners have their own adequate
     // rejection logic
@@ -1169,7 +1169,7 @@ public class ParDo {
     if (fn == null) {
       return false;
     }
-    return DoFnSignatures.INSTANCE
+    return DoFnSignatures
         .getSignature(fn.getClass())
         .processElement()
         .isSplittable();

http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/efad9d47/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokers.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokers.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokers.java
index 086ae7f..455e49b 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokers.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokers.java
@@ -209,7 +209,7 @@ public class DoFnInvokers {
   public <InputT, OutputT> DoFnInvoker<InputT, OutputT> newByteBuddyInvoker(
       DoFn<InputT, OutputT> fn) {
     return newByteBuddyInvoker(
-        DoFnSignatures.INSTANCE.getSignature((Class) fn.getClass()), fn);
+        DoFnSignatures.getSignature((Class) fn.getClass()), fn);
   }
 
   /** @return the {@link DoFnInvoker} for the given {@link DoFn}. */

http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/efad9d47/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnSignatures.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnSignatures.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnSignatures.java
index e918182..1652911 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnSignatures.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnSignatures.java
@@ -65,22 +65,21 @@ import org.apache.beam.sdk.values.TypeDescriptor;
 import org.apache.beam.sdk.values.TypeParameter;
 
 /**
- * Parses a {@link DoFn} and computes its {@link DoFnSignature}. See {@link #getSignature}.
+ * Utilities for working with {@link DoFnSignature}. See {@link #getSignature}.
  */
 public class DoFnSignatures {
-  public static final DoFnSignatures INSTANCE = new DoFnSignatures();
 
-  private DoFnSignatures() {}
+  private DoFnSignatures() {};
 
-  private final Map<Class<?>, DoFnSignature> signatureCache = new LinkedHashMap<>();
+  private static final Map<Class<?>, DoFnSignature> signatureCache = new LinkedHashMap<>();
 
   /** @return the {@link DoFnSignature} for the given {@link DoFn} instance. */
-  public <FnT extends DoFn<?, ?>> DoFnSignature signatureForDoFn(FnT fn) {
+  public static <FnT extends DoFn<?, ?>> DoFnSignature signatureForDoFn(FnT fn) {
     return getSignature(fn.getClass());
   }
 
   /** @return the {@link DoFnSignature} for the given {@link DoFn} subclass. */
-  public synchronized <FnT extends DoFn<?, ?>> DoFnSignature getSignature(Class<FnT> fn) {
+  public static synchronized <FnT extends DoFn<?, ?>> DoFnSignature getSignature(Class<FnT> fn) {
     DoFnSignature signature = signatureCache.get(fn);
     if (signature == null) {
       signatureCache.put(fn, signature = parseSignature(fn));

http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/efad9d47/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvokers.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvokers.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvokers.java
index b2bace2..9517551 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvokers.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvokers.java
@@ -119,7 +119,7 @@ class OnTimerInvokers {
     private final DoFnSignature signature;
 
     public OnTimerConstructorLoader(Class<? extends DoFn<?, ?>> clazz) {
-      this.signature = DoFnSignatures.INSTANCE.getSignature(clazz);
+      this.signature = DoFnSignatures.getSignature(clazz);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/efad9d47/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesProcessElementTest.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesProcessElementTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesProcessElementTest.java
index 6cbc95e..b75bdf4 100644
--- a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesProcessElementTest.java
+++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesProcessElementTest.java
@@ -141,7 +141,7 @@ public class DoFnSignaturesProcessElementTest {
     thrown.expectMessage("should be");
     thrown.expectMessage("OutputReceiver<OutputT>");
 
-    DoFnSignatures.INSTANCE.getSignature(BadTypeVariables.class);
+    DoFnSignatures.getSignature(BadTypeVariables.class);
   }
 
   @Test
@@ -149,7 +149,7 @@ public class DoFnSignaturesProcessElementTest {
     thrown.expect(IllegalArgumentException.class);
     thrown.expectMessage("No method annotated with @ProcessElement found");
     thrown.expectMessage(getClass().getName() + "$");
-    DoFnSignatures.INSTANCE.getSignature(new DoFn<String, String>() {}.getClass());
+    DoFnSignatures.getSignature(new DoFn<String, String>() {}.getClass());
   }
 
   @Test
@@ -159,7 +159,7 @@ public class DoFnSignaturesProcessElementTest {
     thrown.expectMessage("foo()");
     thrown.expectMessage("bar()");
     thrown.expectMessage(getClass().getName() + "$");
-    DoFnSignatures.INSTANCE.getSignature(
+    DoFnSignatures.getSignature(
         new DoFn<String, String>() {
           @ProcessElement
           public void foo() {}
@@ -175,7 +175,7 @@ public class DoFnSignaturesProcessElementTest {
     thrown.expectMessage("process()");
     thrown.expectMessage("Must be public");
     thrown.expectMessage(getClass().getName() + "$");
-    DoFnSignatures.INSTANCE.getSignature(
+    DoFnSignatures.getSignature(
         new DoFn<String, String>() {
           @ProcessElement
           private void process() {}
@@ -193,7 +193,7 @@ public class DoFnSignaturesProcessElementTest {
 
   @Test
   public void testGoodTypeVariables() throws Exception {
-    DoFnSignatures.INSTANCE.getSignature(GoodTypeVariables.class);
+    DoFnSignatures.getSignature(GoodTypeVariables.class);
   }
 
   private static class IdentityFn<T> extends DoFn<T, T> {
@@ -208,6 +208,6 @@ public class DoFnSignaturesProcessElementTest {
 
   @Test
   public void testIdentityFnApplied() throws Exception {
-    DoFnSignatures.INSTANCE.getSignature(new IdentityFn<String>() {}.getClass());
+    DoFnSignatures.getSignature(new IdentityFn<String>() {}.getClass());
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/efad9d47/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesSplittableDoFnTest.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesSplittableDoFnTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesSplittableDoFnTest.java
index 7b93eb9..a5f37a8 100644
--- a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesSplittableDoFnTest.java
+++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesSplittableDoFnTest.java
@@ -127,17 +127,17 @@ public class DoFnSignaturesSplittableDoFnTest {
 
     assertEquals(
         PCollection.IsBounded.BOUNDED,
-        DoFnSignatures.INSTANCE
+        DoFnSignatures
             .getSignature(BaseSplittableFn.class)
             .isBoundedPerElement());
     assertEquals(
         PCollection.IsBounded.BOUNDED,
-        DoFnSignatures.INSTANCE
+        DoFnSignatures
             .getSignature(BoundedSplittableFn.class)
             .isBoundedPerElement());
     assertEquals(
         PCollection.IsBounded.UNBOUNDED,
-        DoFnSignatures.INSTANCE
+        DoFnSignatures
             .getSignature(UnboundedSplittableFn.class)
             .isBoundedPerElement());
   }
@@ -150,7 +150,7 @@ public class DoFnSignaturesSplittableDoFnTest {
     }
     assertEquals(
         PCollection.IsBounded.BOUNDED,
-        DoFnSignatures.INSTANCE
+        DoFnSignatures
             .getSignature(UnsplittableFn.class)
             .isBoundedPerElement());
   }
@@ -177,7 +177,7 @@ public class DoFnSignaturesSplittableDoFnTest {
   public void testSplittableIsBoundedByDefault() throws Exception {
     assertEquals(
         PCollection.IsBounded.UNBOUNDED,
-        DoFnSignatures.INSTANCE
+        DoFnSignatures
             .getSignature(BaseFnWithContinuation.class)
             .isBoundedPerElement());
   }
@@ -189,7 +189,7 @@ public class DoFnSignaturesSplittableDoFnTest {
 
     assertEquals(
         PCollection.IsBounded.BOUNDED,
-        DoFnSignatures.INSTANCE
+        DoFnSignatures
             .getSignature(BoundedFnWithContinuation.class)
             .isBoundedPerElement());
 
@@ -198,7 +198,7 @@ public class DoFnSignaturesSplittableDoFnTest {
 
     assertEquals(
         PCollection.IsBounded.UNBOUNDED,
-        DoFnSignatures.INSTANCE
+        DoFnSignatures
             .getSignature(UnboundedFnWithContinuation.class)
             .isBoundedPerElement());
   }
@@ -212,7 +212,7 @@ public class DoFnSignaturesSplittableDoFnTest {
     }
 
     thrown.expectMessage("Non-splittable, but annotated as @Bounded");
-    DoFnSignatures.INSTANCE.getSignature(SomeFn.class);
+    DoFnSignatures.getSignature(SomeFn.class);
   }
 
   @Test
@@ -224,7 +224,7 @@ public class DoFnSignaturesSplittableDoFnTest {
     }
 
     thrown.expectMessage("Non-splittable, but annotated as @Unbounded");
-    DoFnSignatures.INSTANCE.getSignature(SomeFn.class);
+    DoFnSignatures.getSignature(SomeFn.class);
   }
 
   /** Tests a splittable {@link DoFn} that defines all methods in their full form, correctly. */
@@ -257,7 +257,7 @@ public class DoFnSignaturesSplittableDoFnTest {
       }
     }
 
-    DoFnSignature signature = DoFnSignatures.INSTANCE.getSignature(GoodSplittableDoFn.class);
+    DoFnSignature signature = DoFnSignatures.getSignature(GoodSplittableDoFn.class);
     assertEquals(SomeRestrictionTracker.class, signature.processElement().trackerT().getRawType());
     assertTrue(signature.processElement().isSplittable());
     assertTrue(signature.processElement().hasReturnValue());
@@ -302,7 +302,7 @@ public class DoFnSignaturesSplittableDoFnTest {
     }
 
     DoFnSignature signature =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new GoodGenericSplittableDoFn<
                 SomeRestriction, SomeRestrictionTracker, SomeRestrictionCoder>() {}.getClass());
     assertEquals(SomeRestrictionTracker.class, signature.processElement().trackerT().getRawType());
@@ -326,7 +326,7 @@ public class DoFnSignaturesSplittableDoFnTest {
     thrown.expectMessage(
         "Splittable, but does not define the following required methods: "
             + "[@GetInitialRestriction, @NewTracker]");
-    DoFnSignatures.INSTANCE.getSignature(BadFn.class);
+    DoFnSignatures.getSignature(BadFn.class);
   }
 
   @Test
@@ -346,7 +346,7 @@ public class DoFnSignaturesSplittableDoFnTest {
 
     thrown.expectMessage(
         "Returns void, but must return a subtype of RestrictionTracker<SomeRestriction>");
-    DoFnSignatures.INSTANCE.getSignature(BadFn.class);
+    DoFnSignatures.getSignature(BadFn.class);
   }
 
   @Test
@@ -369,7 +369,7 @@ public class DoFnSignaturesSplittableDoFnTest {
     thrown.expectMessage(
         "getInitialRestriction(Integer): Uses restriction type String, but @NewTracker method");
     thrown.expectMessage("newTracker(SomeRestriction) uses restriction type SomeRestriction");
-    DoFnSignatures.INSTANCE.getSignature(BadFn.class);
+    DoFnSignatures.getSignature(BadFn.class);
   }
 
   @Test
@@ -396,7 +396,7 @@ public class DoFnSignaturesSplittableDoFnTest {
 
     thrown.expectMessage(
         "getRestrictionCoder() returns KvCoder which is not a subtype of Coder<SomeRestriction>");
-    DoFnSignatures.INSTANCE.getSignature(BadFn.class);
+    DoFnSignatures.getSignature(BadFn.class);
   }
 
   @Test
@@ -481,7 +481,7 @@ public class DoFnSignaturesSplittableDoFnTest {
     thrown.expectMessage(
         "splitRestriction(Integer, OtherRestriction, OutputReceiver) "
             + "uses restriction type OtherRestriction");
-    DoFnSignatures.INSTANCE.getSignature(BadFn.class);
+    DoFnSignatures.getSignature(BadFn.class);
   }
 
   @Test
@@ -513,7 +513,7 @@ public class DoFnSignaturesSplittableDoFnTest {
     thrown.expectMessage(
         "Non-splittable, but defines methods: "
             + "[@GetInitialRestriction, @SplitRestriction, @NewTracker, @GetRestrictionCoder]");
-    DoFnSignatures.INSTANCE.getSignature(BadFn.class);
+    DoFnSignatures.getSignature(BadFn.class);
   }
 
   @Test

http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/efad9d47/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesTest.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesTest.java
index fe78749..a03698a 100644
--- a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesTest.java
+++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnSignaturesTest.java
@@ -82,7 +82,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("bar()");
     thrown.expectMessage("baz()");
     thrown.expectMessage(getClass().getName() + "$");
-    DoFnSignatures.INSTANCE.getSignature(
+    DoFnSignatures.getSignature(
         new DoFn<String, String>() {
           @ProcessElement
           public void foo() {}
@@ -102,7 +102,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("bar(Context)");
     thrown.expectMessage("baz(Context)");
     thrown.expectMessage(getClass().getName() + "$");
-    DoFnSignatures.INSTANCE.getSignature(
+    DoFnSignatures.getSignature(
         new DoFn<String, String>() {
           @ProcessElement
           public void foo(ProcessContext context) {}
@@ -121,7 +121,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("startBundle()");
     thrown.expectMessage("Must be public");
     thrown.expectMessage(getClass().getName() + "$");
-    DoFnSignatures.INSTANCE.getSignature(
+    DoFnSignatures.getSignature(
         new DoFn<String, String>() {
           @ProcessElement
           public void processElement() {}
@@ -137,7 +137,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("finishBundle()");
     thrown.expectMessage("Must be public");
     thrown.expectMessage(getClass().getName() + "$");
-    DoFnSignatures.INSTANCE.getSignature(
+    DoFnSignatures.getSignature(
         new DoFn<String, String>() {
           @ProcessElement
           public void processElement() {}
@@ -154,7 +154,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("TimerSpec");
     thrown.expectMessage("bizzle");
     thrown.expectMessage(not(mentionsState()));
-    DoFnSignatures.INSTANCE.getSignature(
+    DoFnSignatures.getSignature(
         new DoFn<String, String>() {
           @TimerId("foo")
           private final String bizzle = "bazzle";
@@ -172,7 +172,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage(not(mentionsState()));
     thrown.expectMessage(mentionsTimers());
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @TimerId("my-id")
               private final TimerSpec myfield1 = TimerSpecs.timer(TimeDomain.EVENT_TIME);
@@ -192,7 +192,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage(not(mentionsState()));
     thrown.expectMessage(mentionsTimers());
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @OnTimer("my-id")
               public void onFoo() {}
@@ -227,7 +227,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage(fn.getClass().getSimpleName());
     thrown.expectMessage(not(mentionsState()));
     thrown.expectMessage(mentionsTimers());
-    DoFnSignature sig = DoFnSignatures.INSTANCE.getSignature(fn.getClass());
+    DoFnSignature sig = DoFnSignatures.getSignature(fn.getClass());
   }
 
   @Test
@@ -239,7 +239,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage(not(mentionsState()));
     thrown.expectMessage(mentionsTimers());
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFnDeclaringTimerAndCallback() {
               @ProcessElement
               public void process(
@@ -257,7 +257,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("index 2");
     thrown.expectMessage(not(mentionsState()));
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @TimerId("my-id")
               private final TimerSpec myfield = TimerSpecs.timer(TimeDomain.PROCESSING_TIME);
@@ -282,7 +282,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage(not(mentionsState()));
     thrown.expectMessage(mentionsTimers());
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFnWithOnlyCallback() {
               @TimerId(DoFnWithOnlyCallback.TIMER_ID)
               private final TimerSpec myfield1 = TimerSpecs.timer(TimeDomain.EVENT_TIME);
@@ -297,7 +297,7 @@ public class DoFnSignaturesTest {
     final String timerId = "some-timer-id";
 
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(new DoFn<String, String>() {
+        DoFnSignatures.getSignature(new DoFn<String, String>() {
           @TimerId(timerId)
           private final TimerSpec myfield1 = TimerSpecs.timer(TimeDomain.EVENT_TIME);
 
@@ -317,7 +317,7 @@ public class DoFnSignaturesTest {
   @Test
   public void testDeclAndUsageOfTimerInSuperclass() throws Exception {
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(new DoFnOverridingAbstractTimerUse().getClass());
+        DoFnSignatures.getSignature(new DoFnOverridingAbstractTimerUse().getClass());
 
     assertThat(sig.timerDeclarations().size(), equalTo(1));
     assertThat(sig.processElement().extraParameters().size(), equalTo(1));
@@ -342,7 +342,7 @@ public class DoFnSignaturesTest {
   @Test
   public void testOnTimerDeclaredAndUsedInSuperclass() throws Exception {
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(new DoFnOverridingAbstractCallback().getClass());
+        DoFnSignatures.getSignature(new DoFnOverridingAbstractCallback().getClass());
 
     assertThat(sig.timerDeclarations().size(), equalTo(1));
     assertThat(sig.onTimerMethods().size(), equalTo(1));
@@ -374,7 +374,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage(not(mentionsState()));
     thrown.expectMessage(mentionsTimers());
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @TimerId("my-id")
               private final TimerSpec myfield1 = TimerSpecs.timer(TimeDomain.EVENT_TIME);
@@ -396,7 +396,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage(not(mentionsState()));
     thrown.expectMessage(mentionsTimers());
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @TimerId("my-timer-id")
               private TimerSpec myfield = TimerSpecs.timer(TimeDomain.PROCESSING_TIME);
@@ -409,7 +409,7 @@ public class DoFnSignaturesTest {
   @Test
   public void testSimpleTimerIdAnonymousDoFn() throws Exception {
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @TimerId("foo")
               private final TimerSpec bizzle = TimerSpecs.timer(TimeDomain.EVENT_TIME);
@@ -443,7 +443,7 @@ public class DoFnSignaturesTest {
 
     // Test classes at the bottom of the file
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.signatureForDoFn(new DoFnForTestSimpleTimerIdNamedDoFn());
+        DoFnSignatures.signatureForDoFn(new DoFnForTestSimpleTimerIdNamedDoFn());
 
     assertThat(sig.timerDeclarations().size(), equalTo(1));
     DoFnSignature.TimerDeclaration decl = sig.timerDeclarations().get("foo");
@@ -459,7 +459,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("StateId");
     thrown.expectMessage("StateSpec");
     thrown.expectMessage(not(mentionsTimers()));
-    DoFnSignatures.INSTANCE.getSignature(
+    DoFnSignatures.getSignature(
         new DoFn<String, String>() {
           @StateId("foo")
           private final String bizzle = "bazzle";
@@ -479,7 +479,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("myfield2");
     thrown.expectMessage(not(mentionsTimers()));
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @StateId("my-id")
               private final StateSpec<Object, ValueState<Integer>> myfield1 =
@@ -502,7 +502,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("myfield");
     thrown.expectMessage(not(mentionsTimers()));
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @StateId("my-id")
               private StateSpec<Object, ValueState<Integer>> myfield =
@@ -521,7 +521,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("index 1");
     thrown.expectMessage(not(mentionsTimers()));
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @ProcessElement
               public void myProcessElement(
@@ -538,7 +538,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("index 1");
     thrown.expectMessage(not(mentionsTimers()));
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @ProcessElement
               public void myProcessElement(
@@ -555,7 +555,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("index 2");
     thrown.expectMessage(not(mentionsTimers()));
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @StateId("my-id")
               private final StateSpec<Object, ValueState<Integer>> myfield =
@@ -581,7 +581,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("index 1");
     thrown.expectMessage(not(mentionsTimers()));
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @StateId("my-id")
               private final StateSpec<Object, ValueState<Integer>> myfield =
@@ -605,7 +605,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("index 1");
     thrown.expectMessage(not(mentionsTimers()));
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @StateId("my-id")
               private final StateSpec<Object, ValueState<Integer>> myfield =
@@ -620,7 +620,7 @@ public class DoFnSignaturesTest {
   @Test
   public void testSimpleStateIdAnonymousDoFn() throws Exception {
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @StateId("foo")
               private final StateSpec<Object, ValueState<Integer>> bizzle =
@@ -655,7 +655,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("declared in a different class");
     thrown.expectMessage(DoFnDeclaringState.STATE_ID);
     thrown.expectMessage(fn.getClass().getSimpleName());
-    DoFnSignature sig = DoFnSignatures.INSTANCE.getSignature(fn.getClass());
+    DoFnSignature sig = DoFnSignatures.getSignature(fn.getClass());
   }
 
   @Test
@@ -665,7 +665,7 @@ public class DoFnSignaturesTest {
     thrown.expectMessage("declared in a different class");
     thrown.expectMessage(DoFnUsingState.STATE_ID);
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFnUsingState() {
               @StateId(DoFnUsingState.STATE_ID)
               private final StateSpec<Object, ValueState<Integer>> spec =
@@ -682,7 +682,7 @@ public class DoFnSignaturesTest {
     }
 
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(new DoFnOverridingAbstractStateUse().getClass());
+        DoFnSignatures.getSignature(new DoFnOverridingAbstractStateUse().getClass());
 
     assertThat(sig.stateDeclarations().size(), equalTo(1));
     assertThat(sig.processElement().extraParameters().size(), equalTo(1));
@@ -707,7 +707,7 @@ public class DoFnSignaturesTest {
   @Test
   public void testSimpleStateIdRefAnonymousDoFn() throws Exception {
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.getSignature(
+        DoFnSignatures.getSignature(
             new DoFn<KV<String, Integer>, Long>() {
               @StateId("foo")
               private final StateSpec<Object, ValueState<Integer>> bizzleDecl =
@@ -752,7 +752,7 @@ public class DoFnSignaturesTest {
 
     // Test classes at the bottom of the file
     DoFnSignature sig =
-        DoFnSignatures.INSTANCE.signatureForDoFn(new DoFnForTestSimpleStateIdNamedDoFn());
+        DoFnSignatures.signatureForDoFn(new DoFnForTestSimpleStateIdNamedDoFn());
 
     assertThat(sig.stateDeclarations().size(), equalTo(1));
     DoFnSignature.StateDeclaration decl = sig.stateDeclarations().get("foo");
@@ -780,7 +780,7 @@ public class DoFnSignaturesTest {
     // Test classes at the bottom of the file
     DoFn<KV<String, Integer>, Long> myDoFn = new DoFnForTestGenericStatefulDoFn<Integer>() {};
 
-    DoFnSignature sig = DoFnSignatures.INSTANCE.signatureForDoFn(myDoFn);
+    DoFnSignature sig = DoFnSignatures.signatureForDoFn(myDoFn);
 
     assertThat(sig.stateDeclarations().size(), equalTo(1));
     DoFnSignature.StateDeclaration decl = sig.stateDeclarations().get("foo");