31 package com.google.protobuf;
35 import java.util.Collection;
36 import java.util.Collections;
37 import java.util.HashMap;
38 import java.util.HashSet;
99 return EMPTY_REGISTRY;
160 final Descriptor containingType,
final int fieldNumber) {
170 final Descriptor containingType,
final int fieldNumber) {
180 final Descriptor containingType,
final int fieldNumber) {
191 HashSet<ExtensionInfo> extensions =
new HashSet<ExtensionInfo>();
193 if (pair.descriptor.getFullName().equals(fullName)) {
208 HashSet<ExtensionInfo> extensions =
new HashSet<ExtensionInfo>();
210 if (pair.descriptor.getFullName().equals(fullName)) {
234 if (
extension.getMessageDefaultInstance() ==
null) {
235 throw new IllegalStateException(
236 "Registered message-type extension had null default instance: "
237 +
extension.getDescriptor().getFullName());
239 return new ExtensionInfo(
242 return new ExtensionInfo(
extension.getDescriptor(),
null);
249 throw new IllegalArgumentException(
250 "ExtensionRegistry.add() must be provided a default instance when "
251 +
"adding an embedded message extension.");
261 throw new IllegalArgumentException(
262 "ExtensionRegistry.add() provided a default instance for a non-message extension.");
292 super(EMPTY_REGISTRY_LITE);
293 this.immutableExtensionsByName = Collections.<String,
ExtensionInfo>emptyMap();
294 this.mutableExtensionsByName = Collections.<String,
ExtensionInfo>emptyMap();
302 if (!
extension.descriptor.isExtension()) {
303 throw new IllegalArgumentException(
304 "ExtensionRegistry.add() was given a FieldDescriptor for a regular "
305 +
"(non-extension) field.");
308 Map<String, ExtensionInfo> extensionsByName;
310 switch (extensionType) {
331 if (
field.getContainingType().getOptions().getMessageSetWireFormat()
333 &&
field.isOptional()
334 &&
field.getExtensionScope() ==
field.getMessageType()) {
338 extensionsByName.put(
field.getMessageType().getFullName(),
extension);