2 * Copyright 2011 Google Inc.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 // GENERATED CODE. DO NOT EDIT. (But isn't it pretty?)
17 package com.google.ipc.invalidation.common;
19 import com.google.common.base.Preconditions;
20 import com.google.ipc.invalidation.common.ProtoValidator.Accessor;
22 import com.google.ipc.invalidation.common.ProtoValidator.Descriptor;
24 import com.google.protobuf.MessageLite;
26 import com.google.protos.ipc.invalidation.ClientProtocol.ApplicationClientIdP;
27 import com.google.protos.ipc.invalidation.ClientProtocol.ClientConfigP;
28 import com.google.protos.ipc.invalidation.ClientProtocol.ClientHeader;
29 import com.google.protos.ipc.invalidation.ClientProtocol.ClientToServerMessage;
30 import com.google.protos.ipc.invalidation.ClientProtocol.ClientVersion;
31 import com.google.protos.ipc.invalidation.ClientProtocol.ConfigChangeMessage;
32 import com.google.protos.ipc.invalidation.ClientProtocol.ErrorMessage;
33 import com.google.protos.ipc.invalidation.ClientProtocol.InfoMessage;
34 import com.google.protos.ipc.invalidation.ClientProtocol.InfoRequestMessage;
35 import com.google.protos.ipc.invalidation.ClientProtocol.InitializeMessage;
36 import com.google.protos.ipc.invalidation.ClientProtocol.InvalidationMessage;
37 import com.google.protos.ipc.invalidation.ClientProtocol.InvalidationP;
38 import com.google.protos.ipc.invalidation.ClientProtocol.ObjectIdP;
39 import com.google.protos.ipc.invalidation.ClientProtocol.PropertyRecord;
40 import com.google.protos.ipc.invalidation.ClientProtocol.ProtocolHandlerConfigP;
41 import com.google.protos.ipc.invalidation.ClientProtocol.ProtocolVersion;
42 import com.google.protos.ipc.invalidation.ClientProtocol.RateLimitP;
43 import com.google.protos.ipc.invalidation.ClientProtocol.RegistrationMessage;
44 import com.google.protos.ipc.invalidation.ClientProtocol.RegistrationP;
45 import com.google.protos.ipc.invalidation.ClientProtocol.RegistrationStatus;
46 import com.google.protos.ipc.invalidation.ClientProtocol.RegistrationStatusMessage;
47 import com.google.protos.ipc.invalidation.ClientProtocol.RegistrationSubtree;
48 import com.google.protos.ipc.invalidation.ClientProtocol.RegistrationSummary;
49 import com.google.protos.ipc.invalidation.ClientProtocol.RegistrationSyncMessage;
50 import com.google.protos.ipc.invalidation.ClientProtocol.RegistrationSyncRequestMessage;
51 import com.google.protos.ipc.invalidation.ClientProtocol.ServerHeader;
52 import com.google.protos.ipc.invalidation.ClientProtocol.ServerToClientMessage;
53 import com.google.protos.ipc.invalidation.ClientProtocol.StatusP;
54 import com.google.protos.ipc.invalidation.ClientProtocol.TokenControlMessage;
55 import com.google.protos.ipc.invalidation.ClientProtocol.Version;
57 import java.util.Arrays;
58 import java.util.Collection;
59 import java.util.HashSet;
62 /** Class providing access to fields of protocol buffers in a generic way without using Java reflection. */
63 public class ClientProtocolAccessor {
64 /** Class to access fields in {@link ApplicationClientIdP} protos. */
65 public static class ApplicationClientIdPAccessor implements Accessor {
66 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
67 Arrays.<String>asList(
72 public static final Descriptor CLIENT_TYPE = new Descriptor("client_type");
73 public static final Descriptor CLIENT_NAME = new Descriptor("client_name");
75 /** Returns whether {@code field} is present in {@code message}. */
77 @SuppressWarnings("unchecked")
78 public boolean hasField(MessageLite rawMessage, Descriptor field) {
79 Preconditions.checkNotNull(rawMessage);
80 Preconditions.checkNotNull(field);
81 ApplicationClientIdP message = (ApplicationClientIdP) rawMessage;
82 if (field == CLIENT_TYPE) {
83 return message.hasClientType();
85 if (field == CLIENT_NAME) {
86 return message.hasClientName();
88 throw new IllegalArgumentException("Bad descriptor: " + field);
91 /** Returns the {@code field} from {@code message}. */
93 @SuppressWarnings("unchecked")
94 public Object getField(MessageLite rawMessage, Descriptor field) {
95 Preconditions.checkNotNull(rawMessage);
96 Preconditions.checkNotNull(field);
97 ApplicationClientIdP message = (ApplicationClientIdP) rawMessage;
98 if (field == CLIENT_TYPE) {
99 return message.getClientType();
101 if (field == CLIENT_NAME) {
102 return message.getClientName();
104 throw new IllegalArgumentException("Bad descriptor: " + field);
108 public Set<String> getAllFieldNames() {
109 return ALL_FIELD_NAMES;
112 public static final ApplicationClientIdPAccessor APPLICATION_CLIENT_ID_P_ACCESSOR = new ApplicationClientIdPAccessor();
114 /** Class to access fields in {@link ClientConfigP} protos. */
115 public static class ClientConfigPAccessor implements Accessor {
116 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
117 Arrays.<String>asList(
119 "network_timeout_delay_ms",
120 "write_retry_delay_ms",
121 "heartbeat_interval_ms",
122 "perf_counter_delay_ms",
123 "max_exponential_backoff_factor",
126 "initial_persistent_heartbeat_delay_ms",
127 "protocol_handler_config",
128 "channel_supports_offline_delivery",
129 "offline_heartbeat_threshold_ms",
133 public static final Descriptor VERSION = new Descriptor("version");
134 public static final Descriptor NETWORK_TIMEOUT_DELAY_MS = new Descriptor("network_timeout_delay_ms");
135 public static final Descriptor WRITE_RETRY_DELAY_MS = new Descriptor("write_retry_delay_ms");
136 public static final Descriptor HEARTBEAT_INTERVAL_MS = new Descriptor("heartbeat_interval_ms");
137 public static final Descriptor PERF_COUNTER_DELAY_MS = new Descriptor("perf_counter_delay_ms");
138 public static final Descriptor MAX_EXPONENTIAL_BACKOFF_FACTOR = new Descriptor("max_exponential_backoff_factor");
139 public static final Descriptor SMEAR_PERCENT = new Descriptor("smear_percent");
140 public static final Descriptor IS_TRANSIENT = new Descriptor("is_transient");
141 public static final Descriptor INITIAL_PERSISTENT_HEARTBEAT_DELAY_MS = new Descriptor("initial_persistent_heartbeat_delay_ms");
142 public static final Descriptor PROTOCOL_HANDLER_CONFIG = new Descriptor("protocol_handler_config");
143 public static final Descriptor CHANNEL_SUPPORTS_OFFLINE_DELIVERY = new Descriptor("channel_supports_offline_delivery");
144 public static final Descriptor OFFLINE_HEARTBEAT_THRESHOLD_MS = new Descriptor("offline_heartbeat_threshold_ms");
145 public static final Descriptor ALLOW_SUPPRESSION = new Descriptor("allow_suppression");
147 /** Returns whether {@code field} is present in {@code message}. */
149 @SuppressWarnings("unchecked")
150 public boolean hasField(MessageLite rawMessage, Descriptor field) {
151 Preconditions.checkNotNull(rawMessage);
152 Preconditions.checkNotNull(field);
153 ClientConfigP message = (ClientConfigP) rawMessage;
154 if (field == VERSION) {
155 return message.hasVersion();
157 if (field == NETWORK_TIMEOUT_DELAY_MS) {
158 return message.hasNetworkTimeoutDelayMs();
160 if (field == WRITE_RETRY_DELAY_MS) {
161 return message.hasWriteRetryDelayMs();
163 if (field == HEARTBEAT_INTERVAL_MS) {
164 return message.hasHeartbeatIntervalMs();
166 if (field == PERF_COUNTER_DELAY_MS) {
167 return message.hasPerfCounterDelayMs();
169 if (field == MAX_EXPONENTIAL_BACKOFF_FACTOR) {
170 return message.hasMaxExponentialBackoffFactor();
172 if (field == SMEAR_PERCENT) {
173 return message.hasSmearPercent();
175 if (field == IS_TRANSIENT) {
176 return message.hasIsTransient();
178 if (field == INITIAL_PERSISTENT_HEARTBEAT_DELAY_MS) {
179 return message.hasInitialPersistentHeartbeatDelayMs();
181 if (field == PROTOCOL_HANDLER_CONFIG) {
182 return message.hasProtocolHandlerConfig();
184 if (field == CHANNEL_SUPPORTS_OFFLINE_DELIVERY) {
185 return message.hasChannelSupportsOfflineDelivery();
187 if (field == OFFLINE_HEARTBEAT_THRESHOLD_MS) {
188 return message.hasOfflineHeartbeatThresholdMs();
190 if (field == ALLOW_SUPPRESSION) {
191 return message.hasAllowSuppression();
193 throw new IllegalArgumentException("Bad descriptor: " + field);
196 /** Returns the {@code field} from {@code message}. */
198 @SuppressWarnings("unchecked")
199 public Object getField(MessageLite rawMessage, Descriptor field) {
200 Preconditions.checkNotNull(rawMessage);
201 Preconditions.checkNotNull(field);
202 ClientConfigP message = (ClientConfigP) rawMessage;
203 if (field == VERSION) {
204 return message.getVersion();
206 if (field == NETWORK_TIMEOUT_DELAY_MS) {
207 return message.getNetworkTimeoutDelayMs();
209 if (field == WRITE_RETRY_DELAY_MS) {
210 return message.getWriteRetryDelayMs();
212 if (field == HEARTBEAT_INTERVAL_MS) {
213 return message.getHeartbeatIntervalMs();
215 if (field == PERF_COUNTER_DELAY_MS) {
216 return message.getPerfCounterDelayMs();
218 if (field == MAX_EXPONENTIAL_BACKOFF_FACTOR) {
219 return message.getMaxExponentialBackoffFactor();
221 if (field == SMEAR_PERCENT) {
222 return message.getSmearPercent();
224 if (field == IS_TRANSIENT) {
225 return message.getIsTransient();
227 if (field == INITIAL_PERSISTENT_HEARTBEAT_DELAY_MS) {
228 return message.getInitialPersistentHeartbeatDelayMs();
230 if (field == PROTOCOL_HANDLER_CONFIG) {
231 return message.getProtocolHandlerConfig();
233 if (field == CHANNEL_SUPPORTS_OFFLINE_DELIVERY) {
234 return message.getChannelSupportsOfflineDelivery();
236 if (field == OFFLINE_HEARTBEAT_THRESHOLD_MS) {
237 return message.getOfflineHeartbeatThresholdMs();
239 if (field == ALLOW_SUPPRESSION) {
240 return message.getAllowSuppression();
242 throw new IllegalArgumentException("Bad descriptor: " + field);
246 public Set<String> getAllFieldNames() {
247 return ALL_FIELD_NAMES;
250 public static final ClientConfigPAccessor CLIENT_CONFIG_P_ACCESSOR = new ClientConfigPAccessor();
252 /** Class to access fields in {@link ClientHeader} protos. */
253 public static class ClientHeaderAccessor implements Accessor {
254 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
255 Arrays.<String>asList(
258 "registration_summary",
260 "max_known_server_time_ms",
265 public static final Descriptor PROTOCOL_VERSION = new Descriptor("protocol_version");
266 public static final Descriptor CLIENT_TOKEN = new Descriptor("client_token");
267 public static final Descriptor REGISTRATION_SUMMARY = new Descriptor("registration_summary");
268 public static final Descriptor CLIENT_TIME_MS = new Descriptor("client_time_ms");
269 public static final Descriptor MAX_KNOWN_SERVER_TIME_MS = new Descriptor("max_known_server_time_ms");
270 public static final Descriptor MESSAGE_ID = new Descriptor("message_id");
271 public static final Descriptor CLIENT_TYPE = new Descriptor("client_type");
273 /** Returns whether {@code field} is present in {@code message}. */
275 @SuppressWarnings("unchecked")
276 public boolean hasField(MessageLite rawMessage, Descriptor field) {
277 Preconditions.checkNotNull(rawMessage);
278 Preconditions.checkNotNull(field);
279 ClientHeader message = (ClientHeader) rawMessage;
280 if (field == PROTOCOL_VERSION) {
281 return message.hasProtocolVersion();
283 if (field == CLIENT_TOKEN) {
284 return message.hasClientToken();
286 if (field == REGISTRATION_SUMMARY) {
287 return message.hasRegistrationSummary();
289 if (field == CLIENT_TIME_MS) {
290 return message.hasClientTimeMs();
292 if (field == MAX_KNOWN_SERVER_TIME_MS) {
293 return message.hasMaxKnownServerTimeMs();
295 if (field == MESSAGE_ID) {
296 return message.hasMessageId();
298 if (field == CLIENT_TYPE) {
299 return message.hasClientType();
301 throw new IllegalArgumentException("Bad descriptor: " + field);
304 /** Returns the {@code field} from {@code message}. */
306 @SuppressWarnings("unchecked")
307 public Object getField(MessageLite rawMessage, Descriptor field) {
308 Preconditions.checkNotNull(rawMessage);
309 Preconditions.checkNotNull(field);
310 ClientHeader message = (ClientHeader) rawMessage;
311 if (field == PROTOCOL_VERSION) {
312 return message.getProtocolVersion();
314 if (field == CLIENT_TOKEN) {
315 return message.getClientToken();
317 if (field == REGISTRATION_SUMMARY) {
318 return message.getRegistrationSummary();
320 if (field == CLIENT_TIME_MS) {
321 return message.getClientTimeMs();
323 if (field == MAX_KNOWN_SERVER_TIME_MS) {
324 return message.getMaxKnownServerTimeMs();
326 if (field == MESSAGE_ID) {
327 return message.getMessageId();
329 if (field == CLIENT_TYPE) {
330 return message.getClientType();
332 throw new IllegalArgumentException("Bad descriptor: " + field);
336 public Set<String> getAllFieldNames() {
337 return ALL_FIELD_NAMES;
340 public static final ClientHeaderAccessor CLIENT_HEADER_ACCESSOR = new ClientHeaderAccessor();
342 /** Class to access fields in {@link ClientToServerMessage} protos. */
343 public static class ClientToServerMessageAccessor implements Accessor {
344 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
345 Arrays.<String>asList(
347 "initialize_message",
348 "registration_message",
349 "registration_sync_message",
350 "invalidation_ack_message",
354 public static final Descriptor HEADER = new Descriptor("header");
355 public static final Descriptor INITIALIZE_MESSAGE = new Descriptor("initialize_message");
356 public static final Descriptor REGISTRATION_MESSAGE = new Descriptor("registration_message");
357 public static final Descriptor REGISTRATION_SYNC_MESSAGE = new Descriptor("registration_sync_message");
358 public static final Descriptor INVALIDATION_ACK_MESSAGE = new Descriptor("invalidation_ack_message");
359 public static final Descriptor INFO_MESSAGE = new Descriptor("info_message");
361 /** Returns whether {@code field} is present in {@code message}. */
363 @SuppressWarnings("unchecked")
364 public boolean hasField(MessageLite rawMessage, Descriptor field) {
365 Preconditions.checkNotNull(rawMessage);
366 Preconditions.checkNotNull(field);
367 ClientToServerMessage message = (ClientToServerMessage) rawMessage;
368 if (field == HEADER) {
369 return message.hasHeader();
371 if (field == INITIALIZE_MESSAGE) {
372 return message.hasInitializeMessage();
374 if (field == REGISTRATION_MESSAGE) {
375 return message.hasRegistrationMessage();
377 if (field == REGISTRATION_SYNC_MESSAGE) {
378 return message.hasRegistrationSyncMessage();
380 if (field == INVALIDATION_ACK_MESSAGE) {
381 return message.hasInvalidationAckMessage();
383 if (field == INFO_MESSAGE) {
384 return message.hasInfoMessage();
386 throw new IllegalArgumentException("Bad descriptor: " + field);
389 /** Returns the {@code field} from {@code message}. */
391 @SuppressWarnings("unchecked")
392 public Object getField(MessageLite rawMessage, Descriptor field) {
393 Preconditions.checkNotNull(rawMessage);
394 Preconditions.checkNotNull(field);
395 ClientToServerMessage message = (ClientToServerMessage) rawMessage;
396 if (field == HEADER) {
397 return message.getHeader();
399 if (field == INITIALIZE_MESSAGE) {
400 return message.getInitializeMessage();
402 if (field == REGISTRATION_MESSAGE) {
403 return message.getRegistrationMessage();
405 if (field == REGISTRATION_SYNC_MESSAGE) {
406 return message.getRegistrationSyncMessage();
408 if (field == INVALIDATION_ACK_MESSAGE) {
409 return message.getInvalidationAckMessage();
411 if (field == INFO_MESSAGE) {
412 return message.getInfoMessage();
414 throw new IllegalArgumentException("Bad descriptor: " + field);
418 public Set<String> getAllFieldNames() {
419 return ALL_FIELD_NAMES;
422 public static final ClientToServerMessageAccessor CLIENT_TO_SERVER_MESSAGE_ACCESSOR = new ClientToServerMessageAccessor();
424 /** Class to access fields in {@link ClientVersion} protos. */
425 public static class ClientVersionAccessor implements Accessor {
426 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
427 Arrays.<String>asList(
434 public static final Descriptor VERSION = new Descriptor("version");
435 public static final Descriptor PLATFORM = new Descriptor("platform");
436 public static final Descriptor LANGUAGE = new Descriptor("language");
437 public static final Descriptor APPLICATION_INFO = new Descriptor("application_info");
439 /** Returns whether {@code field} is present in {@code message}. */
441 @SuppressWarnings("unchecked")
442 public boolean hasField(MessageLite rawMessage, Descriptor field) {
443 Preconditions.checkNotNull(rawMessage);
444 Preconditions.checkNotNull(field);
445 ClientVersion message = (ClientVersion) rawMessage;
446 if (field == VERSION) {
447 return message.hasVersion();
449 if (field == PLATFORM) {
450 return message.hasPlatform();
452 if (field == LANGUAGE) {
453 return message.hasLanguage();
455 if (field == APPLICATION_INFO) {
456 return message.hasApplicationInfo();
458 throw new IllegalArgumentException("Bad descriptor: " + field);
461 /** Returns the {@code field} from {@code message}. */
463 @SuppressWarnings("unchecked")
464 public Object getField(MessageLite rawMessage, Descriptor field) {
465 Preconditions.checkNotNull(rawMessage);
466 Preconditions.checkNotNull(field);
467 ClientVersion message = (ClientVersion) rawMessage;
468 if (field == VERSION) {
469 return message.getVersion();
471 if (field == PLATFORM) {
472 return message.getPlatform();
474 if (field == LANGUAGE) {
475 return message.getLanguage();
477 if (field == APPLICATION_INFO) {
478 return message.getApplicationInfo();
480 throw new IllegalArgumentException("Bad descriptor: " + field);
484 public Set<String> getAllFieldNames() {
485 return ALL_FIELD_NAMES;
488 public static final ClientVersionAccessor CLIENT_VERSION_ACCESSOR = new ClientVersionAccessor();
490 /** Class to access fields in {@link ConfigChangeMessage} protos. */
491 public static class ConfigChangeMessageAccessor implements Accessor {
492 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
493 Arrays.<String>asList(
494 "next_message_delay_ms"
497 public static final Descriptor NEXT_MESSAGE_DELAY_MS = new Descriptor("next_message_delay_ms");
499 /** Returns whether {@code field} is present in {@code message}. */
501 @SuppressWarnings("unchecked")
502 public boolean hasField(MessageLite rawMessage, Descriptor field) {
503 Preconditions.checkNotNull(rawMessage);
504 Preconditions.checkNotNull(field);
505 ConfigChangeMessage message = (ConfigChangeMessage) rawMessage;
506 if (field == NEXT_MESSAGE_DELAY_MS) {
507 return message.hasNextMessageDelayMs();
509 throw new IllegalArgumentException("Bad descriptor: " + field);
512 /** Returns the {@code field} from {@code message}. */
514 @SuppressWarnings("unchecked")
515 public Object getField(MessageLite rawMessage, Descriptor field) {
516 Preconditions.checkNotNull(rawMessage);
517 Preconditions.checkNotNull(field);
518 ConfigChangeMessage message = (ConfigChangeMessage) rawMessage;
519 if (field == NEXT_MESSAGE_DELAY_MS) {
520 return message.getNextMessageDelayMs();
522 throw new IllegalArgumentException("Bad descriptor: " + field);
526 public Set<String> getAllFieldNames() {
527 return ALL_FIELD_NAMES;
530 public static final ConfigChangeMessageAccessor CONFIG_CHANGE_MESSAGE_ACCESSOR = new ConfigChangeMessageAccessor();
532 /** Class to access fields in {@link ErrorMessage} protos. */
533 public static class ErrorMessageAccessor implements Accessor {
534 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
535 Arrays.<String>asList(
540 public static final Descriptor CODE = new Descriptor("code");
541 public static final Descriptor DESCRIPTION = new Descriptor("description");
543 /** Returns whether {@code field} is present in {@code message}. */
545 @SuppressWarnings("unchecked")
546 public boolean hasField(MessageLite rawMessage, Descriptor field) {
547 Preconditions.checkNotNull(rawMessage);
548 Preconditions.checkNotNull(field);
549 ErrorMessage message = (ErrorMessage) rawMessage;
551 return message.hasCode();
553 if (field == DESCRIPTION) {
554 return message.hasDescription();
556 throw new IllegalArgumentException("Bad descriptor: " + field);
559 /** Returns the {@code field} from {@code message}. */
561 @SuppressWarnings("unchecked")
562 public Object getField(MessageLite rawMessage, Descriptor field) {
563 Preconditions.checkNotNull(rawMessage);
564 Preconditions.checkNotNull(field);
565 ErrorMessage message = (ErrorMessage) rawMessage;
567 return message.getCode();
569 if (field == DESCRIPTION) {
570 return message.getDescription();
572 throw new IllegalArgumentException("Bad descriptor: " + field);
576 public Set<String> getAllFieldNames() {
577 return ALL_FIELD_NAMES;
580 public static final ErrorMessageAccessor ERROR_MESSAGE_ACCESSOR = new ErrorMessageAccessor();
582 /** Class to access fields in {@link InfoMessage} protos. */
583 public static class InfoMessageAccessor implements Accessor {
584 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
585 Arrays.<String>asList(
588 "performance_counter",
589 "server_registration_summary_requested",
593 public static final Descriptor CLIENT_VERSION = new Descriptor("client_version");
594 public static final Descriptor CONFIG_PARAMETER = new Descriptor("config_parameter");
595 public static final Descriptor PERFORMANCE_COUNTER = new Descriptor("performance_counter");
596 public static final Descriptor SERVER_REGISTRATION_SUMMARY_REQUESTED = new Descriptor("server_registration_summary_requested");
597 public static final Descriptor CLIENT_CONFIG = new Descriptor("client_config");
599 /** Returns whether {@code field} is present in {@code message}. */
601 @SuppressWarnings("unchecked")
602 public boolean hasField(MessageLite rawMessage, Descriptor field) {
603 Preconditions.checkNotNull(rawMessage);
604 Preconditions.checkNotNull(field);
605 InfoMessage message = (InfoMessage) rawMessage;
606 if (field == CLIENT_VERSION) {
607 return message.hasClientVersion();
609 if (field == CONFIG_PARAMETER) {
610 return message.getConfigParameterCount() > 0;
612 if (field == PERFORMANCE_COUNTER) {
613 return message.getPerformanceCounterCount() > 0;
615 if (field == SERVER_REGISTRATION_SUMMARY_REQUESTED) {
616 return message.hasServerRegistrationSummaryRequested();
618 if (field == CLIENT_CONFIG) {
619 return message.hasClientConfig();
621 throw new IllegalArgumentException("Bad descriptor: " + field);
624 /** Returns the {@code field} from {@code message}. */
626 @SuppressWarnings("unchecked")
627 public Object getField(MessageLite rawMessage, Descriptor field) {
628 Preconditions.checkNotNull(rawMessage);
629 Preconditions.checkNotNull(field);
630 InfoMessage message = (InfoMessage) rawMessage;
631 if (field == CLIENT_VERSION) {
632 return message.getClientVersion();
634 if (field == CONFIG_PARAMETER) {
635 return message.getConfigParameterList();
637 if (field == PERFORMANCE_COUNTER) {
638 return message.getPerformanceCounterList();
640 if (field == SERVER_REGISTRATION_SUMMARY_REQUESTED) {
641 return message.getServerRegistrationSummaryRequested();
643 if (field == CLIENT_CONFIG) {
644 return message.getClientConfig();
646 throw new IllegalArgumentException("Bad descriptor: " + field);
650 public Set<String> getAllFieldNames() {
651 return ALL_FIELD_NAMES;
654 public static final InfoMessageAccessor INFO_MESSAGE_ACCESSOR = new InfoMessageAccessor();
656 /** Class to access fields in {@link InfoRequestMessage} protos. */
657 public static class InfoRequestMessageAccessor implements Accessor {
658 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
659 Arrays.<String>asList(
663 public static final Descriptor INFO_TYPE = new Descriptor("info_type");
665 /** Returns whether {@code field} is present in {@code message}. */
667 @SuppressWarnings("unchecked")
668 public boolean hasField(MessageLite rawMessage, Descriptor field) {
669 Preconditions.checkNotNull(rawMessage);
670 Preconditions.checkNotNull(field);
671 InfoRequestMessage message = (InfoRequestMessage) rawMessage;
672 if (field == INFO_TYPE) {
673 return message.getInfoTypeCount() > 0;
675 throw new IllegalArgumentException("Bad descriptor: " + field);
678 /** Returns the {@code field} from {@code message}. */
680 @SuppressWarnings("unchecked")
681 public Object getField(MessageLite rawMessage, Descriptor field) {
682 Preconditions.checkNotNull(rawMessage);
683 Preconditions.checkNotNull(field);
684 InfoRequestMessage message = (InfoRequestMessage) rawMessage;
685 if (field == INFO_TYPE) {
686 return message.getInfoTypeList();
688 throw new IllegalArgumentException("Bad descriptor: " + field);
692 public Set<String> getAllFieldNames() {
693 return ALL_FIELD_NAMES;
696 public static final InfoRequestMessageAccessor INFO_REQUEST_MESSAGE_ACCESSOR = new InfoRequestMessageAccessor();
698 /** Class to access fields in {@link InitializeMessage} protos. */
699 public static class InitializeMessageAccessor implements Accessor {
700 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
701 Arrays.<String>asList(
704 "application_client_id",
705 "digest_serialization_type"
708 public static final Descriptor CLIENT_TYPE = new Descriptor("client_type");
709 public static final Descriptor NONCE = new Descriptor("nonce");
710 public static final Descriptor APPLICATION_CLIENT_ID = new Descriptor("application_client_id");
711 public static final Descriptor DIGEST_SERIALIZATION_TYPE = new Descriptor("digest_serialization_type");
713 /** Returns whether {@code field} is present in {@code message}. */
715 @SuppressWarnings("unchecked")
716 public boolean hasField(MessageLite rawMessage, Descriptor field) {
717 Preconditions.checkNotNull(rawMessage);
718 Preconditions.checkNotNull(field);
719 InitializeMessage message = (InitializeMessage) rawMessage;
720 if (field == CLIENT_TYPE) {
721 return message.hasClientType();
723 if (field == NONCE) {
724 return message.hasNonce();
726 if (field == APPLICATION_CLIENT_ID) {
727 return message.hasApplicationClientId();
729 if (field == DIGEST_SERIALIZATION_TYPE) {
730 return message.hasDigestSerializationType();
732 throw new IllegalArgumentException("Bad descriptor: " + field);
735 /** Returns the {@code field} from {@code message}. */
737 @SuppressWarnings("unchecked")
738 public Object getField(MessageLite rawMessage, Descriptor field) {
739 Preconditions.checkNotNull(rawMessage);
740 Preconditions.checkNotNull(field);
741 InitializeMessage message = (InitializeMessage) rawMessage;
742 if (field == CLIENT_TYPE) {
743 return message.getClientType();
745 if (field == NONCE) {
746 return message.getNonce();
748 if (field == APPLICATION_CLIENT_ID) {
749 return message.getApplicationClientId();
751 if (field == DIGEST_SERIALIZATION_TYPE) {
752 return message.getDigestSerializationType();
754 throw new IllegalArgumentException("Bad descriptor: " + field);
758 public Set<String> getAllFieldNames() {
759 return ALL_FIELD_NAMES;
762 public static final InitializeMessageAccessor INITIALIZE_MESSAGE_ACCESSOR = new InitializeMessageAccessor();
764 /** Class to access fields in {@link InvalidationMessage} protos. */
765 public static class InvalidationMessageAccessor implements Accessor {
766 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
767 Arrays.<String>asList(
771 public static final Descriptor INVALIDATION = new Descriptor("invalidation");
773 /** Returns whether {@code field} is present in {@code message}. */
775 @SuppressWarnings("unchecked")
776 public boolean hasField(MessageLite rawMessage, Descriptor field) {
777 Preconditions.checkNotNull(rawMessage);
778 Preconditions.checkNotNull(field);
779 InvalidationMessage message = (InvalidationMessage) rawMessage;
780 if (field == INVALIDATION) {
781 return message.getInvalidationCount() > 0;
783 throw new IllegalArgumentException("Bad descriptor: " + field);
786 /** Returns the {@code field} from {@code message}. */
788 @SuppressWarnings("unchecked")
789 public Object getField(MessageLite rawMessage, Descriptor field) {
790 Preconditions.checkNotNull(rawMessage);
791 Preconditions.checkNotNull(field);
792 InvalidationMessage message = (InvalidationMessage) rawMessage;
793 if (field == INVALIDATION) {
794 return message.getInvalidationList();
796 throw new IllegalArgumentException("Bad descriptor: " + field);
800 public Set<String> getAllFieldNames() {
801 return ALL_FIELD_NAMES;
804 public static final InvalidationMessageAccessor INVALIDATION_MESSAGE_ACCESSOR = new InvalidationMessageAccessor();
806 /** Class to access fields in {@link InvalidationP} protos. */
807 public static class InvalidationPAccessor implements Accessor {
808 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
809 Arrays.<String>asList(
813 "is_trickle_restart",
815 "bridge_arrival_time_ms_deprecated"
818 public static final Descriptor OBJECT_ID = new Descriptor("object_id");
819 public static final Descriptor IS_KNOWN_VERSION = new Descriptor("is_known_version");
820 public static final Descriptor VERSION = new Descriptor("version");
821 public static final Descriptor IS_TRICKLE_RESTART = new Descriptor("is_trickle_restart");
822 public static final Descriptor PAYLOAD = new Descriptor("payload");
823 public static final Descriptor BRIDGE_ARRIVAL_TIME_MS_DEPRECATED = new Descriptor("bridge_arrival_time_ms_deprecated");
825 /** Returns whether {@code field} is present in {@code message}. */
827 @SuppressWarnings({ "deprecation", "unchecked" })
828 public boolean hasField(MessageLite rawMessage, Descriptor field) {
829 Preconditions.checkNotNull(rawMessage);
830 Preconditions.checkNotNull(field);
831 InvalidationP message = (InvalidationP) rawMessage;
832 if (field == OBJECT_ID) {
833 return message.hasObjectId();
835 if (field == IS_KNOWN_VERSION) {
836 return message.hasIsKnownVersion();
838 if (field == VERSION) {
839 return message.hasVersion();
841 if (field == IS_TRICKLE_RESTART) {
842 return message.hasIsTrickleRestart();
844 if (field == PAYLOAD) {
845 return message.hasPayload();
847 if (field == BRIDGE_ARRIVAL_TIME_MS_DEPRECATED) {
848 return message.hasBridgeArrivalTimeMsDeprecated();
850 throw new IllegalArgumentException("Bad descriptor: " + field);
853 /** Returns the {@code field} from {@code message}. */
855 @SuppressWarnings({ "deprecation", "unchecked" })
856 public Object getField(MessageLite rawMessage, Descriptor field) {
857 Preconditions.checkNotNull(rawMessage);
858 Preconditions.checkNotNull(field);
859 InvalidationP message = (InvalidationP) rawMessage;
860 if (field == OBJECT_ID) {
861 return message.getObjectId();
863 if (field == IS_KNOWN_VERSION) {
864 return message.getIsKnownVersion();
866 if (field == VERSION) {
867 return message.getVersion();
869 if (field == IS_TRICKLE_RESTART) {
870 return message.getIsTrickleRestart();
872 if (field == PAYLOAD) {
873 return message.getPayload();
875 if (field == BRIDGE_ARRIVAL_TIME_MS_DEPRECATED) {
876 return message.getBridgeArrivalTimeMsDeprecated();
878 throw new IllegalArgumentException("Bad descriptor: " + field);
882 public Set<String> getAllFieldNames() {
883 return ALL_FIELD_NAMES;
886 public static final InvalidationPAccessor INVALIDATION_P_ACCESSOR = new InvalidationPAccessor();
888 /** Class to access fields in {@link ObjectIdP} protos. */
889 public static class ObjectIdPAccessor implements Accessor {
890 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
891 Arrays.<String>asList(
896 public static final Descriptor SOURCE = new Descriptor("source");
897 public static final Descriptor NAME = new Descriptor("name");
899 /** Returns whether {@code field} is present in {@code message}. */
901 @SuppressWarnings("unchecked")
902 public boolean hasField(MessageLite rawMessage, Descriptor field) {
903 Preconditions.checkNotNull(rawMessage);
904 Preconditions.checkNotNull(field);
905 ObjectIdP message = (ObjectIdP) rawMessage;
906 if (field == SOURCE) {
907 return message.hasSource();
910 return message.hasName();
912 throw new IllegalArgumentException("Bad descriptor: " + field);
915 /** Returns the {@code field} from {@code message}. */
917 @SuppressWarnings("unchecked")
918 public Object getField(MessageLite rawMessage, Descriptor field) {
919 Preconditions.checkNotNull(rawMessage);
920 Preconditions.checkNotNull(field);
921 ObjectIdP message = (ObjectIdP) rawMessage;
922 if (field == SOURCE) {
923 return message.getSource();
926 return message.getName();
928 throw new IllegalArgumentException("Bad descriptor: " + field);
932 public Set<String> getAllFieldNames() {
933 return ALL_FIELD_NAMES;
936 public static final ObjectIdPAccessor OBJECT_ID_P_ACCESSOR = new ObjectIdPAccessor();
938 /** Class to access fields in {@link PropertyRecord} protos. */
939 public static class PropertyRecordAccessor implements Accessor {
940 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
941 Arrays.<String>asList(
946 public static final Descriptor NAME = new Descriptor("name");
947 public static final Descriptor VALUE = new Descriptor("value");
949 /** Returns whether {@code field} is present in {@code message}. */
951 @SuppressWarnings("unchecked")
952 public boolean hasField(MessageLite rawMessage, Descriptor field) {
953 Preconditions.checkNotNull(rawMessage);
954 Preconditions.checkNotNull(field);
955 PropertyRecord message = (PropertyRecord) rawMessage;
957 return message.hasName();
959 if (field == VALUE) {
960 return message.hasValue();
962 throw new IllegalArgumentException("Bad descriptor: " + field);
965 /** Returns the {@code field} from {@code message}. */
967 @SuppressWarnings("unchecked")
968 public Object getField(MessageLite rawMessage, Descriptor field) {
969 Preconditions.checkNotNull(rawMessage);
970 Preconditions.checkNotNull(field);
971 PropertyRecord message = (PropertyRecord) rawMessage;
973 return message.getName();
975 if (field == VALUE) {
976 return message.getValue();
978 throw new IllegalArgumentException("Bad descriptor: " + field);
982 public Set<String> getAllFieldNames() {
983 return ALL_FIELD_NAMES;
986 public static final PropertyRecordAccessor PROPERTY_RECORD_ACCESSOR = new PropertyRecordAccessor();
988 /** Class to access fields in {@link ProtocolHandlerConfigP} protos. */
989 public static class ProtocolHandlerConfigPAccessor implements Accessor {
990 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
991 Arrays.<String>asList(
996 public static final Descriptor BATCHING_DELAY_MS = new Descriptor("batching_delay_ms");
997 public static final Descriptor RATE_LIMIT = new Descriptor("rate_limit");
999 /** Returns whether {@code field} is present in {@code message}. */
1001 @SuppressWarnings("unchecked")
1002 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1003 Preconditions.checkNotNull(rawMessage);
1004 Preconditions.checkNotNull(field);
1005 ProtocolHandlerConfigP message = (ProtocolHandlerConfigP) rawMessage;
1006 if (field == BATCHING_DELAY_MS) {
1007 return message.hasBatchingDelayMs();
1009 if (field == RATE_LIMIT) {
1010 return message.getRateLimitCount() > 0;
1012 throw new IllegalArgumentException("Bad descriptor: " + field);
1015 /** Returns the {@code field} from {@code message}. */
1017 @SuppressWarnings("unchecked")
1018 public Object getField(MessageLite rawMessage, Descriptor field) {
1019 Preconditions.checkNotNull(rawMessage);
1020 Preconditions.checkNotNull(field);
1021 ProtocolHandlerConfigP message = (ProtocolHandlerConfigP) rawMessage;
1022 if (field == BATCHING_DELAY_MS) {
1023 return message.getBatchingDelayMs();
1025 if (field == RATE_LIMIT) {
1026 return message.getRateLimitList();
1028 throw new IllegalArgumentException("Bad descriptor: " + field);
1032 public Set<String> getAllFieldNames() {
1033 return ALL_FIELD_NAMES;
1036 public static final ProtocolHandlerConfigPAccessor PROTOCOL_HANDLER_CONFIG_P_ACCESSOR = new ProtocolHandlerConfigPAccessor();
1038 /** Class to access fields in {@link ProtocolVersion} protos. */
1039 public static class ProtocolVersionAccessor implements Accessor {
1040 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1041 Arrays.<String>asList(
1045 public static final Descriptor VERSION = new Descriptor("version");
1047 /** Returns whether {@code field} is present in {@code message}. */
1049 @SuppressWarnings("unchecked")
1050 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1051 Preconditions.checkNotNull(rawMessage);
1052 Preconditions.checkNotNull(field);
1053 ProtocolVersion message = (ProtocolVersion) rawMessage;
1054 if (field == VERSION) {
1055 return message.hasVersion();
1057 throw new IllegalArgumentException("Bad descriptor: " + field);
1060 /** Returns the {@code field} from {@code message}. */
1062 @SuppressWarnings("unchecked")
1063 public Object getField(MessageLite rawMessage, Descriptor field) {
1064 Preconditions.checkNotNull(rawMessage);
1065 Preconditions.checkNotNull(field);
1066 ProtocolVersion message = (ProtocolVersion) rawMessage;
1067 if (field == VERSION) {
1068 return message.getVersion();
1070 throw new IllegalArgumentException("Bad descriptor: " + field);
1074 public Set<String> getAllFieldNames() {
1075 return ALL_FIELD_NAMES;
1078 public static final ProtocolVersionAccessor PROTOCOL_VERSION_ACCESSOR = new ProtocolVersionAccessor();
1080 /** Class to access fields in {@link RateLimitP} protos. */
1081 public static class RateLimitPAccessor implements Accessor {
1082 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1083 Arrays.<String>asList(
1088 public static final Descriptor WINDOW_MS = new Descriptor("window_ms");
1089 public static final Descriptor COUNT = new Descriptor("count");
1091 /** Returns whether {@code field} is present in {@code message}. */
1093 @SuppressWarnings("unchecked")
1094 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1095 Preconditions.checkNotNull(rawMessage);
1096 Preconditions.checkNotNull(field);
1097 RateLimitP message = (RateLimitP) rawMessage;
1098 if (field == WINDOW_MS) {
1099 return message.hasWindowMs();
1101 if (field == COUNT) {
1102 return message.hasCount();
1104 throw new IllegalArgumentException("Bad descriptor: " + field);
1107 /** Returns the {@code field} from {@code message}. */
1109 @SuppressWarnings("unchecked")
1110 public Object getField(MessageLite rawMessage, Descriptor field) {
1111 Preconditions.checkNotNull(rawMessage);
1112 Preconditions.checkNotNull(field);
1113 RateLimitP message = (RateLimitP) rawMessage;
1114 if (field == WINDOW_MS) {
1115 return message.getWindowMs();
1117 if (field == COUNT) {
1118 return message.getCount();
1120 throw new IllegalArgumentException("Bad descriptor: " + field);
1124 public Set<String> getAllFieldNames() {
1125 return ALL_FIELD_NAMES;
1128 public static final RateLimitPAccessor RATE_LIMIT_P_ACCESSOR = new RateLimitPAccessor();
1130 /** Class to access fields in {@link RegistrationMessage} protos. */
1131 public static class RegistrationMessageAccessor implements Accessor {
1132 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1133 Arrays.<String>asList(
1137 public static final Descriptor REGISTRATION = new Descriptor("registration");
1139 /** Returns whether {@code field} is present in {@code message}. */
1141 @SuppressWarnings("unchecked")
1142 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1143 Preconditions.checkNotNull(rawMessage);
1144 Preconditions.checkNotNull(field);
1145 RegistrationMessage message = (RegistrationMessage) rawMessage;
1146 if (field == REGISTRATION) {
1147 return message.getRegistrationCount() > 0;
1149 throw new IllegalArgumentException("Bad descriptor: " + field);
1152 /** Returns the {@code field} from {@code message}. */
1154 @SuppressWarnings("unchecked")
1155 public Object getField(MessageLite rawMessage, Descriptor field) {
1156 Preconditions.checkNotNull(rawMessage);
1157 Preconditions.checkNotNull(field);
1158 RegistrationMessage message = (RegistrationMessage) rawMessage;
1159 if (field == REGISTRATION) {
1160 return message.getRegistrationList();
1162 throw new IllegalArgumentException("Bad descriptor: " + field);
1166 public Set<String> getAllFieldNames() {
1167 return ALL_FIELD_NAMES;
1170 public static final RegistrationMessageAccessor REGISTRATION_MESSAGE_ACCESSOR = new RegistrationMessageAccessor();
1172 /** Class to access fields in {@link RegistrationP} protos. */
1173 public static class RegistrationPAccessor implements Accessor {
1174 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1175 Arrays.<String>asList(
1180 public static final Descriptor OBJECT_ID = new Descriptor("object_id");
1181 public static final Descriptor OP_TYPE = new Descriptor("op_type");
1183 /** Returns whether {@code field} is present in {@code message}. */
1185 @SuppressWarnings("unchecked")
1186 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1187 Preconditions.checkNotNull(rawMessage);
1188 Preconditions.checkNotNull(field);
1189 RegistrationP message = (RegistrationP) rawMessage;
1190 if (field == OBJECT_ID) {
1191 return message.hasObjectId();
1193 if (field == OP_TYPE) {
1194 return message.hasOpType();
1196 throw new IllegalArgumentException("Bad descriptor: " + field);
1199 /** Returns the {@code field} from {@code message}. */
1201 @SuppressWarnings("unchecked")
1202 public Object getField(MessageLite rawMessage, Descriptor field) {
1203 Preconditions.checkNotNull(rawMessage);
1204 Preconditions.checkNotNull(field);
1205 RegistrationP message = (RegistrationP) rawMessage;
1206 if (field == OBJECT_ID) {
1207 return message.getObjectId();
1209 if (field == OP_TYPE) {
1210 return message.getOpType();
1212 throw new IllegalArgumentException("Bad descriptor: " + field);
1216 public Set<String> getAllFieldNames() {
1217 return ALL_FIELD_NAMES;
1220 public static final RegistrationPAccessor REGISTRATION_P_ACCESSOR = new RegistrationPAccessor();
1222 /** Class to access fields in {@link RegistrationStatus} protos. */
1223 public static class RegistrationStatusAccessor implements Accessor {
1224 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1225 Arrays.<String>asList(
1230 public static final Descriptor REGISTRATION = new Descriptor("registration");
1231 public static final Descriptor STATUS = new Descriptor("status");
1233 /** Returns whether {@code field} is present in {@code message}. */
1235 @SuppressWarnings("unchecked")
1236 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1237 Preconditions.checkNotNull(rawMessage);
1238 Preconditions.checkNotNull(field);
1239 RegistrationStatus message = (RegistrationStatus) rawMessage;
1240 if (field == REGISTRATION) {
1241 return message.hasRegistration();
1243 if (field == STATUS) {
1244 return message.hasStatus();
1246 throw new IllegalArgumentException("Bad descriptor: " + field);
1249 /** Returns the {@code field} from {@code message}. */
1251 @SuppressWarnings("unchecked")
1252 public Object getField(MessageLite rawMessage, Descriptor field) {
1253 Preconditions.checkNotNull(rawMessage);
1254 Preconditions.checkNotNull(field);
1255 RegistrationStatus message = (RegistrationStatus) rawMessage;
1256 if (field == REGISTRATION) {
1257 return message.getRegistration();
1259 if (field == STATUS) {
1260 return message.getStatus();
1262 throw new IllegalArgumentException("Bad descriptor: " + field);
1266 public Set<String> getAllFieldNames() {
1267 return ALL_FIELD_NAMES;
1270 public static final RegistrationStatusAccessor REGISTRATION_STATUS_ACCESSOR = new RegistrationStatusAccessor();
1272 /** Class to access fields in {@link RegistrationStatusMessage} protos. */
1273 public static class RegistrationStatusMessageAccessor implements Accessor {
1274 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1275 Arrays.<String>asList(
1276 "registration_status"
1279 public static final Descriptor REGISTRATION_STATUS = new Descriptor("registration_status");
1281 /** Returns whether {@code field} is present in {@code message}. */
1283 @SuppressWarnings("unchecked")
1284 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1285 Preconditions.checkNotNull(rawMessage);
1286 Preconditions.checkNotNull(field);
1287 RegistrationStatusMessage message = (RegistrationStatusMessage) rawMessage;
1288 if (field == REGISTRATION_STATUS) {
1289 return message.getRegistrationStatusCount() > 0;
1291 throw new IllegalArgumentException("Bad descriptor: " + field);
1294 /** Returns the {@code field} from {@code message}. */
1296 @SuppressWarnings("unchecked")
1297 public Object getField(MessageLite rawMessage, Descriptor field) {
1298 Preconditions.checkNotNull(rawMessage);
1299 Preconditions.checkNotNull(field);
1300 RegistrationStatusMessage message = (RegistrationStatusMessage) rawMessage;
1301 if (field == REGISTRATION_STATUS) {
1302 return message.getRegistrationStatusList();
1304 throw new IllegalArgumentException("Bad descriptor: " + field);
1308 public Set<String> getAllFieldNames() {
1309 return ALL_FIELD_NAMES;
1312 public static final RegistrationStatusMessageAccessor REGISTRATION_STATUS_MESSAGE_ACCESSOR = new RegistrationStatusMessageAccessor();
1314 /** Class to access fields in {@link RegistrationSubtree} protos. */
1315 public static class RegistrationSubtreeAccessor implements Accessor {
1316 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1317 Arrays.<String>asList(
1321 public static final Descriptor REGISTERED_OBJECT = new Descriptor("registered_object");
1323 /** Returns whether {@code field} is present in {@code message}. */
1325 @SuppressWarnings("unchecked")
1326 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1327 Preconditions.checkNotNull(rawMessage);
1328 Preconditions.checkNotNull(field);
1329 RegistrationSubtree message = (RegistrationSubtree) rawMessage;
1330 if (field == REGISTERED_OBJECT) {
1331 return message.getRegisteredObjectCount() > 0;
1333 throw new IllegalArgumentException("Bad descriptor: " + field);
1336 /** Returns the {@code field} from {@code message}. */
1338 @SuppressWarnings("unchecked")
1339 public Object getField(MessageLite rawMessage, Descriptor field) {
1340 Preconditions.checkNotNull(rawMessage);
1341 Preconditions.checkNotNull(field);
1342 RegistrationSubtree message = (RegistrationSubtree) rawMessage;
1343 if (field == REGISTERED_OBJECT) {
1344 return message.getRegisteredObjectList();
1346 throw new IllegalArgumentException("Bad descriptor: " + field);
1350 public Set<String> getAllFieldNames() {
1351 return ALL_FIELD_NAMES;
1354 public static final RegistrationSubtreeAccessor REGISTRATION_SUBTREE_ACCESSOR = new RegistrationSubtreeAccessor();
1356 /** Class to access fields in {@link RegistrationSummary} protos. */
1357 public static class RegistrationSummaryAccessor implements Accessor {
1358 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1359 Arrays.<String>asList(
1360 "num_registrations",
1361 "registration_digest"
1364 public static final Descriptor NUM_REGISTRATIONS = new Descriptor("num_registrations");
1365 public static final Descriptor REGISTRATION_DIGEST = new Descriptor("registration_digest");
1367 /** Returns whether {@code field} is present in {@code message}. */
1369 @SuppressWarnings("unchecked")
1370 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1371 Preconditions.checkNotNull(rawMessage);
1372 Preconditions.checkNotNull(field);
1373 RegistrationSummary message = (RegistrationSummary) rawMessage;
1374 if (field == NUM_REGISTRATIONS) {
1375 return message.hasNumRegistrations();
1377 if (field == REGISTRATION_DIGEST) {
1378 return message.hasRegistrationDigest();
1380 throw new IllegalArgumentException("Bad descriptor: " + field);
1383 /** Returns the {@code field} from {@code message}. */
1385 @SuppressWarnings("unchecked")
1386 public Object getField(MessageLite rawMessage, Descriptor field) {
1387 Preconditions.checkNotNull(rawMessage);
1388 Preconditions.checkNotNull(field);
1389 RegistrationSummary message = (RegistrationSummary) rawMessage;
1390 if (field == NUM_REGISTRATIONS) {
1391 return message.getNumRegistrations();
1393 if (field == REGISTRATION_DIGEST) {
1394 return message.getRegistrationDigest();
1396 throw new IllegalArgumentException("Bad descriptor: " + field);
1400 public Set<String> getAllFieldNames() {
1401 return ALL_FIELD_NAMES;
1404 public static final RegistrationSummaryAccessor REGISTRATION_SUMMARY_ACCESSOR = new RegistrationSummaryAccessor();
1406 /** Class to access fields in {@link RegistrationSyncMessage} protos. */
1407 public static class RegistrationSyncMessageAccessor implements Accessor {
1408 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1409 Arrays.<String>asList(
1413 public static final Descriptor SUBTREE = new Descriptor("subtree");
1415 /** Returns whether {@code field} is present in {@code message}. */
1417 @SuppressWarnings("unchecked")
1418 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1419 Preconditions.checkNotNull(rawMessage);
1420 Preconditions.checkNotNull(field);
1421 RegistrationSyncMessage message = (RegistrationSyncMessage) rawMessage;
1422 if (field == SUBTREE) {
1423 return message.getSubtreeCount() > 0;
1425 throw new IllegalArgumentException("Bad descriptor: " + field);
1428 /** Returns the {@code field} from {@code message}. */
1430 @SuppressWarnings("unchecked")
1431 public Object getField(MessageLite rawMessage, Descriptor field) {
1432 Preconditions.checkNotNull(rawMessage);
1433 Preconditions.checkNotNull(field);
1434 RegistrationSyncMessage message = (RegistrationSyncMessage) rawMessage;
1435 if (field == SUBTREE) {
1436 return message.getSubtreeList();
1438 throw new IllegalArgumentException("Bad descriptor: " + field);
1442 public Set<String> getAllFieldNames() {
1443 return ALL_FIELD_NAMES;
1446 public static final RegistrationSyncMessageAccessor REGISTRATION_SYNC_MESSAGE_ACCESSOR = new RegistrationSyncMessageAccessor();
1448 /** Class to access fields in {@link RegistrationSyncRequestMessage} protos. */
1449 public static class RegistrationSyncRequestMessageAccessor implements Accessor {
1450 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1451 Arrays.<String>asList(
1455 /** Returns whether {@code field} is present in {@code message}. */
1457 @SuppressWarnings("unchecked")
1458 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1459 Preconditions.checkNotNull(rawMessage);
1460 Preconditions.checkNotNull(field);
1461 RegistrationSyncRequestMessage message = (RegistrationSyncRequestMessage) rawMessage;
1462 throw new IllegalArgumentException("Bad descriptor: " + field);
1465 /** Returns the {@code field} from {@code message}. */
1467 @SuppressWarnings("unchecked")
1468 public Object getField(MessageLite rawMessage, Descriptor field) {
1469 Preconditions.checkNotNull(rawMessage);
1470 Preconditions.checkNotNull(field);
1471 RegistrationSyncRequestMessage message = (RegistrationSyncRequestMessage) rawMessage;
1472 throw new IllegalArgumentException("Bad descriptor: " + field);
1476 public Set<String> getAllFieldNames() {
1477 return ALL_FIELD_NAMES;
1480 public static final RegistrationSyncRequestMessageAccessor REGISTRATION_SYNC_REQUEST_MESSAGE_ACCESSOR = new RegistrationSyncRequestMessageAccessor();
1482 /** Class to access fields in {@link ServerHeader} protos. */
1483 public static class ServerHeaderAccessor implements Accessor {
1484 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1485 Arrays.<String>asList(
1488 "registration_summary",
1493 public static final Descriptor PROTOCOL_VERSION = new Descriptor("protocol_version");
1494 public static final Descriptor CLIENT_TOKEN = new Descriptor("client_token");
1495 public static final Descriptor REGISTRATION_SUMMARY = new Descriptor("registration_summary");
1496 public static final Descriptor SERVER_TIME_MS = new Descriptor("server_time_ms");
1497 public static final Descriptor MESSAGE_ID = new Descriptor("message_id");
1499 /** Returns whether {@code field} is present in {@code message}. */
1501 @SuppressWarnings("unchecked")
1502 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1503 Preconditions.checkNotNull(rawMessage);
1504 Preconditions.checkNotNull(field);
1505 ServerHeader message = (ServerHeader) rawMessage;
1506 if (field == PROTOCOL_VERSION) {
1507 return message.hasProtocolVersion();
1509 if (field == CLIENT_TOKEN) {
1510 return message.hasClientToken();
1512 if (field == REGISTRATION_SUMMARY) {
1513 return message.hasRegistrationSummary();
1515 if (field == SERVER_TIME_MS) {
1516 return message.hasServerTimeMs();
1518 if (field == MESSAGE_ID) {
1519 return message.hasMessageId();
1521 throw new IllegalArgumentException("Bad descriptor: " + field);
1524 /** Returns the {@code field} from {@code message}. */
1526 @SuppressWarnings("unchecked")
1527 public Object getField(MessageLite rawMessage, Descriptor field) {
1528 Preconditions.checkNotNull(rawMessage);
1529 Preconditions.checkNotNull(field);
1530 ServerHeader message = (ServerHeader) rawMessage;
1531 if (field == PROTOCOL_VERSION) {
1532 return message.getProtocolVersion();
1534 if (field == CLIENT_TOKEN) {
1535 return message.getClientToken();
1537 if (field == REGISTRATION_SUMMARY) {
1538 return message.getRegistrationSummary();
1540 if (field == SERVER_TIME_MS) {
1541 return message.getServerTimeMs();
1543 if (field == MESSAGE_ID) {
1544 return message.getMessageId();
1546 throw new IllegalArgumentException("Bad descriptor: " + field);
1550 public Set<String> getAllFieldNames() {
1551 return ALL_FIELD_NAMES;
1554 public static final ServerHeaderAccessor SERVER_HEADER_ACCESSOR = new ServerHeaderAccessor();
1556 /** Class to access fields in {@link ServerToClientMessage} protos. */
1557 public static class ServerToClientMessageAccessor implements Accessor {
1558 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1559 Arrays.<String>asList(
1561 "token_control_message",
1562 "invalidation_message",
1563 "registration_status_message",
1564 "registration_sync_request_message",
1565 "config_change_message",
1566 "info_request_message",
1570 public static final Descriptor HEADER = new Descriptor("header");
1571 public static final Descriptor TOKEN_CONTROL_MESSAGE = new Descriptor("token_control_message");
1572 public static final Descriptor INVALIDATION_MESSAGE = new Descriptor("invalidation_message");
1573 public static final Descriptor REGISTRATION_STATUS_MESSAGE = new Descriptor("registration_status_message");
1574 public static final Descriptor REGISTRATION_SYNC_REQUEST_MESSAGE = new Descriptor("registration_sync_request_message");
1575 public static final Descriptor CONFIG_CHANGE_MESSAGE = new Descriptor("config_change_message");
1576 public static final Descriptor INFO_REQUEST_MESSAGE = new Descriptor("info_request_message");
1577 public static final Descriptor ERROR_MESSAGE = new Descriptor("error_message");
1579 /** Returns whether {@code field} is present in {@code message}. */
1581 @SuppressWarnings("unchecked")
1582 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1583 Preconditions.checkNotNull(rawMessage);
1584 Preconditions.checkNotNull(field);
1585 ServerToClientMessage message = (ServerToClientMessage) rawMessage;
1586 if (field == HEADER) {
1587 return message.hasHeader();
1589 if (field == TOKEN_CONTROL_MESSAGE) {
1590 return message.hasTokenControlMessage();
1592 if (field == INVALIDATION_MESSAGE) {
1593 return message.hasInvalidationMessage();
1595 if (field == REGISTRATION_STATUS_MESSAGE) {
1596 return message.hasRegistrationStatusMessage();
1598 if (field == REGISTRATION_SYNC_REQUEST_MESSAGE) {
1599 return message.hasRegistrationSyncRequestMessage();
1601 if (field == CONFIG_CHANGE_MESSAGE) {
1602 return message.hasConfigChangeMessage();
1604 if (field == INFO_REQUEST_MESSAGE) {
1605 return message.hasInfoRequestMessage();
1607 if (field == ERROR_MESSAGE) {
1608 return message.hasErrorMessage();
1610 throw new IllegalArgumentException("Bad descriptor: " + field);
1613 /** Returns the {@code field} from {@code message}. */
1615 @SuppressWarnings("unchecked")
1616 public Object getField(MessageLite rawMessage, Descriptor field) {
1617 Preconditions.checkNotNull(rawMessage);
1618 Preconditions.checkNotNull(field);
1619 ServerToClientMessage message = (ServerToClientMessage) rawMessage;
1620 if (field == HEADER) {
1621 return message.getHeader();
1623 if (field == TOKEN_CONTROL_MESSAGE) {
1624 return message.getTokenControlMessage();
1626 if (field == INVALIDATION_MESSAGE) {
1627 return message.getInvalidationMessage();
1629 if (field == REGISTRATION_STATUS_MESSAGE) {
1630 return message.getRegistrationStatusMessage();
1632 if (field == REGISTRATION_SYNC_REQUEST_MESSAGE) {
1633 return message.getRegistrationSyncRequestMessage();
1635 if (field == CONFIG_CHANGE_MESSAGE) {
1636 return message.getConfigChangeMessage();
1638 if (field == INFO_REQUEST_MESSAGE) {
1639 return message.getInfoRequestMessage();
1641 if (field == ERROR_MESSAGE) {
1642 return message.getErrorMessage();
1644 throw new IllegalArgumentException("Bad descriptor: " + field);
1648 public Set<String> getAllFieldNames() {
1649 return ALL_FIELD_NAMES;
1652 public static final ServerToClientMessageAccessor SERVER_TO_CLIENT_MESSAGE_ACCESSOR = new ServerToClientMessageAccessor();
1654 /** Class to access fields in {@link StatusP} protos. */
1655 public static class StatusPAccessor implements Accessor {
1656 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1657 Arrays.<String>asList(
1662 public static final Descriptor CODE = new Descriptor("code");
1663 public static final Descriptor DESCRIPTION = new Descriptor("description");
1665 /** Returns whether {@code field} is present in {@code message}. */
1667 @SuppressWarnings("unchecked")
1668 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1669 Preconditions.checkNotNull(rawMessage);
1670 Preconditions.checkNotNull(field);
1671 StatusP message = (StatusP) rawMessage;
1672 if (field == CODE) {
1673 return message.hasCode();
1675 if (field == DESCRIPTION) {
1676 return message.hasDescription();
1678 throw new IllegalArgumentException("Bad descriptor: " + field);
1681 /** Returns the {@code field} from {@code message}. */
1683 @SuppressWarnings("unchecked")
1684 public Object getField(MessageLite rawMessage, Descriptor field) {
1685 Preconditions.checkNotNull(rawMessage);
1686 Preconditions.checkNotNull(field);
1687 StatusP message = (StatusP) rawMessage;
1688 if (field == CODE) {
1689 return message.getCode();
1691 if (field == DESCRIPTION) {
1692 return message.getDescription();
1694 throw new IllegalArgumentException("Bad descriptor: " + field);
1698 public Set<String> getAllFieldNames() {
1699 return ALL_FIELD_NAMES;
1702 public static final StatusPAccessor STATUS_P_ACCESSOR = new StatusPAccessor();
1704 /** Class to access fields in {@link TokenControlMessage} protos. */
1705 public static class TokenControlMessageAccessor implements Accessor {
1706 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1707 Arrays.<String>asList(
1711 public static final Descriptor NEW_TOKEN = new Descriptor("new_token");
1713 /** Returns whether {@code field} is present in {@code message}. */
1715 @SuppressWarnings("unchecked")
1716 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1717 Preconditions.checkNotNull(rawMessage);
1718 Preconditions.checkNotNull(field);
1719 TokenControlMessage message = (TokenControlMessage) rawMessage;
1720 if (field == NEW_TOKEN) {
1721 return message.hasNewToken();
1723 throw new IllegalArgumentException("Bad descriptor: " + field);
1726 /** Returns the {@code field} from {@code message}. */
1728 @SuppressWarnings("unchecked")
1729 public Object getField(MessageLite rawMessage, Descriptor field) {
1730 Preconditions.checkNotNull(rawMessage);
1731 Preconditions.checkNotNull(field);
1732 TokenControlMessage message = (TokenControlMessage) rawMessage;
1733 if (field == NEW_TOKEN) {
1734 return message.getNewToken();
1736 throw new IllegalArgumentException("Bad descriptor: " + field);
1740 public Set<String> getAllFieldNames() {
1741 return ALL_FIELD_NAMES;
1744 public static final TokenControlMessageAccessor TOKEN_CONTROL_MESSAGE_ACCESSOR = new TokenControlMessageAccessor();
1746 /** Class to access fields in {@link Version} protos. */
1747 public static class VersionAccessor implements Accessor {
1748 private static final Set<String> ALL_FIELD_NAMES = new HashSet<String>(
1749 Arrays.<String>asList(
1754 public static final Descriptor MAJOR_VERSION = new Descriptor("major_version");
1755 public static final Descriptor MINOR_VERSION = new Descriptor("minor_version");
1757 /** Returns whether {@code field} is present in {@code message}. */
1759 @SuppressWarnings("unchecked")
1760 public boolean hasField(MessageLite rawMessage, Descriptor field) {
1761 Preconditions.checkNotNull(rawMessage);
1762 Preconditions.checkNotNull(field);
1763 Version message = (Version) rawMessage;
1764 if (field == MAJOR_VERSION) {
1765 return message.hasMajorVersion();
1767 if (field == MINOR_VERSION) {
1768 return message.hasMinorVersion();
1770 throw new IllegalArgumentException("Bad descriptor: " + field);
1773 /** Returns the {@code field} from {@code message}. */
1775 @SuppressWarnings("unchecked")
1776 public Object getField(MessageLite rawMessage, Descriptor field) {
1777 Preconditions.checkNotNull(rawMessage);
1778 Preconditions.checkNotNull(field);
1779 Version message = (Version) rawMessage;
1780 if (field == MAJOR_VERSION) {
1781 return message.getMajorVersion();
1783 if (field == MINOR_VERSION) {
1784 return message.getMinorVersion();
1786 throw new IllegalArgumentException("Bad descriptor: " + field);
1790 public Set<String> getAllFieldNames() {
1791 return ALL_FIELD_NAMES;
1794 public static final VersionAccessor VERSION_ACCESSOR = new VersionAccessor();