31 package com.google.protobuf;
35 class GeneratedMessageInfoFactory
implements MessageInfoFactory {
37 private static final GeneratedMessageInfoFactory instance =
new GeneratedMessageInfoFactory();
40 private GeneratedMessageInfoFactory() {}
42 public static GeneratedMessageInfoFactory getInstance() {
47 public boolean isSupported(Class<?> messageType) {
48 return GeneratedMessageLite.class.isAssignableFrom(messageType);
52 public MessageInfo messageInfoFor(Class<?> messageType) {
53 if (!GeneratedMessageLite.class.isAssignableFrom(messageType)) {
54 throw new IllegalArgumentException(
"Unsupported message type: " + messageType.getName());
58 return (MessageInfo) GeneratedMessageLite.getDefaultInstance(
59 messageType.asSubclass(GeneratedMessageLite.class))
61 }
catch (Exception e) {
62 throw new RuntimeException(
"Unable to get message info for " + messageType.getName(), e);