@Override public Set<ExtensionInfo> apply(Descriptor descriptor) { Set<ExtensionInfo> cached = extensionCache.get(descriptor); if (cached != null) { return cached; } Set<ExtensionInfo> extensions = extensionRegistry.getAllImmutableExtensionsByExtendedType(descriptor.getFullName()); extensionCache.put(descriptor, extensions); return extensions; } };
private TypeRegistry.Builder addPlatformExtensions(TypeRegistry.Builder registryBuilder) { ExtensionRegistry extensions = ToolProtoUtil.getStandardPlatformExtensions(); for (String extendedType : EXTENDED_ELEMENTS) { for (ExtensionRegistry.ExtensionInfo info : extensions.getAllImmutableExtensionsByExtendedType(extendedType)) { if (null != info.defaultInstance) { registryBuilder.add(info.defaultInstance.getDescriptorForType()); } } } return registryBuilder; }
private TypeRegistry.Builder addPlatformExtensions(TypeRegistry.Builder registryBuilder) { ExtensionRegistry extensions = ToolProtoUtil.getStandardPlatformExtensions(); for (String extendedType : EXTENDED_ELEMENTS) { for (ExtensionRegistry.ExtensionInfo info : extensions.getAllImmutableExtensionsByExtendedType(extendedType)) { if (null != info.defaultInstance) { registryBuilder.add(info.defaultInstance.getDescriptorForType()); } } } return registryBuilder; }
private static void recursivelyAddDescriptors( Descriptor message, Set<Descriptor> descriptors, ExtensionRegistry registry) { if (descriptors.contains(message)) { return; } descriptors.add(message); for (FieldDescriptor f : message.getFields()) { recursivelyAddDescriptors(f, descriptors, registry); } for (FieldDescriptor f : message.getExtensions()) { recursivelyAddDescriptors(f, descriptors, registry); } for (ExtensionInfo info : registry.getAllImmutableExtensionsByExtendedType(message.getFullName())) { recursivelyAddDescriptors(info.descriptor, descriptors, registry); } for (ExtensionInfo info : registry.getAllMutableExtensionsByExtendedType(message.getFullName())) { recursivelyAddDescriptors(info.descriptor, descriptors, registry); } }