Add TypeDescriptor#getTypes
Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/d936ed89 Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/d936ed89 Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/d936ed89 Branch: refs/heads/apex-runner Commit: d936ed896be4951bfd8766906b214af98a000f34 Parents: 3419fef Author: Kenneth Knowles <k...@google.com> Authored: Tue Nov 1 15:38:01 2016 -0700 Committer: Kenneth Knowles <k...@google.com> Committed: Thu Nov 3 21:32:53 2016 -0700 ---------------------------------------------------------------------- .../org/apache/beam/sdk/values/TypeDescriptor.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/d936ed89/sdks/java/core/src/main/java/org/apache/beam/sdk/values/TypeDescriptor.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/values/TypeDescriptor.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/values/TypeDescriptor.java index 6eabf42..14f2cb8 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/values/TypeDescriptor.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/values/TypeDescriptor.java @@ -289,6 +289,19 @@ public abstract class TypeDescriptor<T> implements Serializable { } /** + * Returns a set of {@link TypeDescriptor TypeDescriptor}, one for each + * superclass as well as each interface implemented by this class. + */ + @SuppressWarnings("rawtypes") + public Iterable<TypeDescriptor> getTypes() { + List<TypeDescriptor> interfaces = Lists.newArrayList(); + for (TypeToken<?> interfaceToken : token.getTypes()) { + interfaces.add(new SimpleTypeDescriptor<>(interfaceToken)); + } + return interfaces; + } + + /** * Returns a set of {@link TypeDescriptor}s, one for each * interface implemented by this class. */