diff --git a/AndroidManifest.xml b/AndroidManifest.xml
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -20,7 +20,7 @@
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:label="@string/app_name"
- android:theme="@style/AppTheme">
+ android:theme="@style/AppTheme.NoActionBar">
+ * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ * @return Whether the header field is set.
+ */
+ boolean hasHeader();
+ /**
+ * + * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ * @return The header.
+ */
+ com.google.transit.realtime.GtfsRealtime.FeedHeader getHeader();
+ /**
+ * + * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ */
+ com.google.transit.realtime.GtfsRealtime.FeedHeaderOrBuilder getHeaderOrBuilder();
+
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ java.util.List+ * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ com.google.transit.realtime.GtfsRealtime.FeedEntity getEntity(int index);
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ int getEntityCount();
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ java.util.List extends com.google.transit.realtime.GtfsRealtime.FeedEntityOrBuilder>
+ getEntityOrBuilderList();
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ com.google.transit.realtime.GtfsRealtime.FeedEntityOrBuilder getEntityOrBuilder(
+ int index);
+ }
+ /**
+ * + * The contents of a feed message. + * A feed is a continuous stream of feed messages. Each message in the stream is + * obtained as a response to an appropriate HTTP GET request. + * A realtime feed is always defined with relation to an existing GTFS feed. + * All the entity ids are resolved with respect to the GTFS feed. + * Note that "required" and "optional" as stated in this file refer to Protocol + * Buffer cardinality, not semantic cardinality. See reference.md at + * https://github.com/google/transit/tree/master/gtfs-realtime for field + * semantic cardinality. + *+ * + * Protobuf type {@code transit_realtime.FeedMessage} + */ + public static final class FeedMessage extends + com.google.protobuf.GeneratedMessageV3.ExtendableMessage< + FeedMessage> implements + // @@protoc_insertion_point(message_implements:transit_realtime.FeedMessage) + FeedMessageOrBuilder { + private static final long serialVersionUID = 0L; + // Use FeedMessage.newBuilder() to construct. + private FeedMessage(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
+ * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ * @return Whether the header field is set.
+ */
+ @java.lang.Override
+ public boolean hasHeader() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ * @return The header.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.FeedHeader getHeader() {
+ return header_ == null ? com.google.transit.realtime.GtfsRealtime.FeedHeader.getDefaultInstance() : header_;
+ }
+ /**
+ * + * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.FeedHeaderOrBuilder getHeaderOrBuilder() {
+ return header_ == null ? com.google.transit.realtime.GtfsRealtime.FeedHeader.getDefaultInstance() : header_;
+ }
+
+ public static final int ENTITY_FIELD_NUMBER = 2;
+ private java.util.List+ * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ @java.lang.Override
+ public java.util.List+ * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ @java.lang.Override
+ public java.util.List extends com.google.transit.realtime.GtfsRealtime.FeedEntityOrBuilder>
+ getEntityOrBuilderList() {
+ return entity_;
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ @java.lang.Override
+ public int getEntityCount() {
+ return entity_.size();
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.FeedEntity getEntity(int index) {
+ return entity_.get(index);
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.FeedEntityOrBuilder getEntityOrBuilder(
+ int index) {
+ return entity_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ if (!hasHeader()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!getHeader().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ for (int i = 0; i < getEntityCount(); i++) {
+ if (!getEntity(i).isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * The contents of a feed message. + * A feed is a continuous stream of feed messages. Each message in the stream is + * obtained as a response to an appropriate HTTP GET request. + * A realtime feed is always defined with relation to an existing GTFS feed. + * All the entity ids are resolved with respect to the GTFS feed. + * Note that "required" and "optional" as stated in this file refer to Protocol + * Buffer cardinality, not semantic cardinality. See reference.md at + * https://github.com/google/transit/tree/master/gtfs-realtime for field + * semantic cardinality. + *+ * + * Protobuf type {@code transit_realtime.FeedMessage} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.ExtendableBuilder< + com.google.transit.realtime.GtfsRealtime.FeedMessage, Builder> implements + // @@protoc_insertion_point(builder_implements:transit_realtime.FeedMessage) + com.google.transit.realtime.GtfsRealtime.FeedMessageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_FeedMessage_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_FeedMessage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.transit.realtime.GtfsRealtime.FeedMessage.class, com.google.transit.realtime.GtfsRealtime.FeedMessage.Builder.class); + } + + // Construct using com.google.transit.realtime.GtfsRealtime.FeedMessage.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getHeaderFieldBuilder(); + getEntityFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (headerBuilder_ == null) { + header_ = null; + } else { + headerBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + if (entityBuilder_ == null) { + entity_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + entityBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_FeedMessage_descriptor; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.FeedMessage getDefaultInstanceForType() { + return com.google.transit.realtime.GtfsRealtime.FeedMessage.getDefaultInstance(); + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.FeedMessage build() { + com.google.transit.realtime.GtfsRealtime.FeedMessage result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.FeedMessage buildPartial() { + com.google.transit.realtime.GtfsRealtime.FeedMessage result = new com.google.transit.realtime.GtfsRealtime.FeedMessage(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + if (headerBuilder_ == null) { + result.header_ = header_; + } else { + result.header_ = headerBuilder_.build(); + } + to_bitField0_ |= 0x00000001; + } + if (entityBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + entity_ = java.util.Collections.unmodifiableList(entity_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.entity_ = entity_; + } else { + result.entity_ = entityBuilder_.build(); + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public
+ * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ * @return Whether the header field is set.
+ */
+ public boolean hasHeader() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ * @return The header.
+ */
+ public com.google.transit.realtime.GtfsRealtime.FeedHeader getHeader() {
+ if (headerBuilder_ == null) {
+ return header_ == null ? com.google.transit.realtime.GtfsRealtime.FeedHeader.getDefaultInstance() : header_;
+ } else {
+ return headerBuilder_.getMessage();
+ }
+ }
+ /**
+ * + * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ */
+ public Builder setHeader(com.google.transit.realtime.GtfsRealtime.FeedHeader value) {
+ if (headerBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ header_ = value;
+ onChanged();
+ } else {
+ headerBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * + * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ */
+ public Builder setHeader(
+ com.google.transit.realtime.GtfsRealtime.FeedHeader.Builder builderForValue) {
+ if (headerBuilder_ == null) {
+ header_ = builderForValue.build();
+ onChanged();
+ } else {
+ headerBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * + * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ */
+ public Builder mergeHeader(com.google.transit.realtime.GtfsRealtime.FeedHeader value) {
+ if (headerBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) != 0) &&
+ header_ != null &&
+ header_ != com.google.transit.realtime.GtfsRealtime.FeedHeader.getDefaultInstance()) {
+ header_ =
+ com.google.transit.realtime.GtfsRealtime.FeedHeader.newBuilder(header_).mergeFrom(value).buildPartial();
+ } else {
+ header_ = value;
+ }
+ onChanged();
+ } else {
+ headerBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * + * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ */
+ public Builder clearHeader() {
+ if (headerBuilder_ == null) {
+ header_ = null;
+ onChanged();
+ } else {
+ headerBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000001);
+ return this;
+ }
+ /**
+ * + * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.FeedHeader.Builder getHeaderBuilder() {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return getHeaderFieldBuilder().getBuilder();
+ }
+ /**
+ * + * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.FeedHeaderOrBuilder getHeaderOrBuilder() {
+ if (headerBuilder_ != null) {
+ return headerBuilder_.getMessageOrBuilder();
+ } else {
+ return header_ == null ?
+ com.google.transit.realtime.GtfsRealtime.FeedHeader.getDefaultInstance() : header_;
+ }
+ }
+ /**
+ * + * Metadata about this feed and feed message. + *+ * + *
required .transit_realtime.FeedHeader header = 1;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.FeedHeader, com.google.transit.realtime.GtfsRealtime.FeedHeader.Builder, com.google.transit.realtime.GtfsRealtime.FeedHeaderOrBuilder>
+ getHeaderFieldBuilder() {
+ if (headerBuilder_ == null) {
+ headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.FeedHeader, com.google.transit.realtime.GtfsRealtime.FeedHeader.Builder, com.google.transit.realtime.GtfsRealtime.FeedHeaderOrBuilder>(
+ getHeader(),
+ getParentForChildren(),
+ isClean());
+ header_ = null;
+ }
+ return headerBuilder_;
+ }
+
+ private java.util.List+ * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public java.util.List+ * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public int getEntityCount() {
+ if (entityBuilder_ == null) {
+ return entity_.size();
+ } else {
+ return entityBuilder_.getCount();
+ }
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public com.google.transit.realtime.GtfsRealtime.FeedEntity getEntity(int index) {
+ if (entityBuilder_ == null) {
+ return entity_.get(index);
+ } else {
+ return entityBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public Builder setEntity(
+ int index, com.google.transit.realtime.GtfsRealtime.FeedEntity value) {
+ if (entityBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureEntityIsMutable();
+ entity_.set(index, value);
+ onChanged();
+ } else {
+ entityBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public Builder setEntity(
+ int index, com.google.transit.realtime.GtfsRealtime.FeedEntity.Builder builderForValue) {
+ if (entityBuilder_ == null) {
+ ensureEntityIsMutable();
+ entity_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ entityBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public Builder addEntity(com.google.transit.realtime.GtfsRealtime.FeedEntity value) {
+ if (entityBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureEntityIsMutable();
+ entity_.add(value);
+ onChanged();
+ } else {
+ entityBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public Builder addEntity(
+ int index, com.google.transit.realtime.GtfsRealtime.FeedEntity value) {
+ if (entityBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureEntityIsMutable();
+ entity_.add(index, value);
+ onChanged();
+ } else {
+ entityBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public Builder addEntity(
+ com.google.transit.realtime.GtfsRealtime.FeedEntity.Builder builderForValue) {
+ if (entityBuilder_ == null) {
+ ensureEntityIsMutable();
+ entity_.add(builderForValue.build());
+ onChanged();
+ } else {
+ entityBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public Builder addEntity(
+ int index, com.google.transit.realtime.GtfsRealtime.FeedEntity.Builder builderForValue) {
+ if (entityBuilder_ == null) {
+ ensureEntityIsMutable();
+ entity_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ entityBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public Builder addAllEntity(
+ java.lang.Iterable extends com.google.transit.realtime.GtfsRealtime.FeedEntity> values) {
+ if (entityBuilder_ == null) {
+ ensureEntityIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, entity_);
+ onChanged();
+ } else {
+ entityBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public Builder clearEntity() {
+ if (entityBuilder_ == null) {
+ entity_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ } else {
+ entityBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public Builder removeEntity(int index) {
+ if (entityBuilder_ == null) {
+ ensureEntityIsMutable();
+ entity_.remove(index);
+ onChanged();
+ } else {
+ entityBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public com.google.transit.realtime.GtfsRealtime.FeedEntity.Builder getEntityBuilder(
+ int index) {
+ return getEntityFieldBuilder().getBuilder(index);
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public com.google.transit.realtime.GtfsRealtime.FeedEntityOrBuilder getEntityOrBuilder(
+ int index) {
+ if (entityBuilder_ == null) {
+ return entity_.get(index); } else {
+ return entityBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public java.util.List extends com.google.transit.realtime.GtfsRealtime.FeedEntityOrBuilder>
+ getEntityOrBuilderList() {
+ if (entityBuilder_ != null) {
+ return entityBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(entity_);
+ }
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public com.google.transit.realtime.GtfsRealtime.FeedEntity.Builder addEntityBuilder() {
+ return getEntityFieldBuilder().addBuilder(
+ com.google.transit.realtime.GtfsRealtime.FeedEntity.getDefaultInstance());
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public com.google.transit.realtime.GtfsRealtime.FeedEntity.Builder addEntityBuilder(
+ int index) {
+ return getEntityFieldBuilder().addBuilder(
+ index, com.google.transit.realtime.GtfsRealtime.FeedEntity.getDefaultInstance());
+ }
+ /**
+ * + * Contents of the feed. + *+ * + *
repeated .transit_realtime.FeedEntity entity = 2;
+ */
+ public java.util.List+ * Version of the feed specification. + * The current version is 2.0. + *+ * + *
required string gtfs_realtime_version = 1;
+ * @return Whether the gtfsRealtimeVersion field is set.
+ */
+ boolean hasGtfsRealtimeVersion();
+ /**
+ * + * Version of the feed specification. + * The current version is 2.0. + *+ * + *
required string gtfs_realtime_version = 1;
+ * @return The gtfsRealtimeVersion.
+ */
+ java.lang.String getGtfsRealtimeVersion();
+ /**
+ * + * Version of the feed specification. + * The current version is 2.0. + *+ * + *
required string gtfs_realtime_version = 1;
+ * @return The bytes for gtfsRealtimeVersion.
+ */
+ com.google.protobuf.ByteString
+ getGtfsRealtimeVersionBytes();
+
+ /**
+ * optional .transit_realtime.FeedHeader.Incrementality incrementality = 2 [default = FULL_DATASET];
+ * @return Whether the incrementality field is set.
+ */
+ boolean hasIncrementality();
+ /**
+ * optional .transit_realtime.FeedHeader.Incrementality incrementality = 2 [default = FULL_DATASET];
+ * @return The incrementality.
+ */
+ com.google.transit.realtime.GtfsRealtime.FeedHeader.Incrementality getIncrementality();
+
+ /**
+ * + * This timestamp identifies the moment when the content of this feed has been + * created (in server time). In POSIX time (i.e., number of seconds since + * January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 3;
+ * @return Whether the timestamp field is set.
+ */
+ boolean hasTimestamp();
+ /**
+ * + * This timestamp identifies the moment when the content of this feed has been + * created (in server time). In POSIX time (i.e., number of seconds since + * January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 3;
+ * @return The timestamp.
+ */
+ long getTimestamp();
+ }
+ /**
+ * + * Metadata about a feed, included in feed messages. + *+ * + * Protobuf type {@code transit_realtime.FeedHeader} + */ + public static final class FeedHeader extends + com.google.protobuf.GeneratedMessageV3.ExtendableMessage< + FeedHeader> implements + // @@protoc_insertion_point(message_implements:transit_realtime.FeedHeader) + FeedHeaderOrBuilder { + private static final long serialVersionUID = 0L; + // Use FeedHeader.newBuilder() to construct. + private FeedHeader(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
+ * Determines whether the current fetch is incremental. Currently, + * DIFFERENTIAL mode is unsupported and behavior is unspecified for feeds + * that use this mode. There are discussions on the GTFS Realtime mailing + * list around fully specifying the behavior of DIFFERENTIAL mode and the + * documentation will be updated when those discussions are finalized. + *+ * + * Protobuf enum {@code transit_realtime.FeedHeader.Incrementality} + */ + public enum Incrementality + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
FULL_DATASET = 0;
+ */
+ FULL_DATASET(0),
+ /**
+ * DIFFERENTIAL = 1;
+ */
+ DIFFERENTIAL(1),
+ ;
+
+ /**
+ * FULL_DATASET = 0;
+ */
+ public static final int FULL_DATASET_VALUE = 0;
+ /**
+ * DIFFERENTIAL = 1;
+ */
+ public static final int DIFFERENTIAL_VALUE = 1;
+
+
+ public final int getNumber() {
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static Incrementality valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static Incrementality forNumber(int value) {
+ switch (value) {
+ case 0: return FULL_DATASET;
+ case 1: return DIFFERENTIAL;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap+ * Version of the feed specification. + * The current version is 2.0. + *+ * + *
required string gtfs_realtime_version = 1;
+ * @return Whether the gtfsRealtimeVersion field is set.
+ */
+ @java.lang.Override
+ public boolean hasGtfsRealtimeVersion() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * Version of the feed specification. + * The current version is 2.0. + *+ * + *
required string gtfs_realtime_version = 1;
+ * @return The gtfsRealtimeVersion.
+ */
+ @java.lang.Override
+ public java.lang.String getGtfsRealtimeVersion() {
+ java.lang.Object ref = gtfsRealtimeVersion_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ gtfsRealtimeVersion_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * + * Version of the feed specification. + * The current version is 2.0. + *+ * + *
required string gtfs_realtime_version = 1;
+ * @return The bytes for gtfsRealtimeVersion.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getGtfsRealtimeVersionBytes() {
+ java.lang.Object ref = gtfsRealtimeVersion_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ gtfsRealtimeVersion_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int INCREMENTALITY_FIELD_NUMBER = 2;
+ private int incrementality_;
+ /**
+ * optional .transit_realtime.FeedHeader.Incrementality incrementality = 2 [default = FULL_DATASET];
+ * @return Whether the incrementality field is set.
+ */
+ @java.lang.Override public boolean hasIncrementality() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * optional .transit_realtime.FeedHeader.Incrementality incrementality = 2 [default = FULL_DATASET];
+ * @return The incrementality.
+ */
+ @java.lang.Override public com.google.transit.realtime.GtfsRealtime.FeedHeader.Incrementality getIncrementality() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.FeedHeader.Incrementality result = com.google.transit.realtime.GtfsRealtime.FeedHeader.Incrementality.valueOf(incrementality_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.FeedHeader.Incrementality.FULL_DATASET : result;
+ }
+
+ public static final int TIMESTAMP_FIELD_NUMBER = 3;
+ private long timestamp_;
+ /**
+ * + * This timestamp identifies the moment when the content of this feed has been + * created (in server time). In POSIX time (i.e., number of seconds since + * January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 3;
+ * @return Whether the timestamp field is set.
+ */
+ @java.lang.Override
+ public boolean hasTimestamp() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * This timestamp identifies the moment when the content of this feed has been + * created (in server time). In POSIX time (i.e., number of seconds since + * January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 3;
+ * @return The timestamp.
+ */
+ @java.lang.Override
+ public long getTimestamp() {
+ return timestamp_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ if (!hasGtfsRealtimeVersion()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * Metadata about a feed, included in feed messages. + *+ * + * Protobuf type {@code transit_realtime.FeedHeader} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.ExtendableBuilder< + com.google.transit.realtime.GtfsRealtime.FeedHeader, Builder> implements + // @@protoc_insertion_point(builder_implements:transit_realtime.FeedHeader) + com.google.transit.realtime.GtfsRealtime.FeedHeaderOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_FeedHeader_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_FeedHeader_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.transit.realtime.GtfsRealtime.FeedHeader.class, com.google.transit.realtime.GtfsRealtime.FeedHeader.Builder.class); + } + + // Construct using com.google.transit.realtime.GtfsRealtime.FeedHeader.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + gtfsRealtimeVersion_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + incrementality_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + timestamp_ = 0L; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_FeedHeader_descriptor; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.FeedHeader getDefaultInstanceForType() { + return com.google.transit.realtime.GtfsRealtime.FeedHeader.getDefaultInstance(); + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.FeedHeader build() { + com.google.transit.realtime.GtfsRealtime.FeedHeader result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.FeedHeader buildPartial() { + com.google.transit.realtime.GtfsRealtime.FeedHeader result = new com.google.transit.realtime.GtfsRealtime.FeedHeader(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.gtfsRealtimeVersion_ = gtfsRealtimeVersion_; + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.incrementality_ = incrementality_; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.timestamp_ = timestamp_; + to_bitField0_ |= 0x00000004; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public
+ * Version of the feed specification. + * The current version is 2.0. + *+ * + *
required string gtfs_realtime_version = 1;
+ * @return Whether the gtfsRealtimeVersion field is set.
+ */
+ public boolean hasGtfsRealtimeVersion() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * Version of the feed specification. + * The current version is 2.0. + *+ * + *
required string gtfs_realtime_version = 1;
+ * @return The gtfsRealtimeVersion.
+ */
+ public java.lang.String getGtfsRealtimeVersion() {
+ java.lang.Object ref = gtfsRealtimeVersion_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ gtfsRealtimeVersion_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * + * Version of the feed specification. + * The current version is 2.0. + *+ * + *
required string gtfs_realtime_version = 1;
+ * @return The bytes for gtfsRealtimeVersion.
+ */
+ public com.google.protobuf.ByteString
+ getGtfsRealtimeVersionBytes() {
+ java.lang.Object ref = gtfsRealtimeVersion_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ gtfsRealtimeVersion_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * + * Version of the feed specification. + * The current version is 2.0. + *+ * + *
required string gtfs_realtime_version = 1;
+ * @param value The gtfsRealtimeVersion to set.
+ * @return This builder for chaining.
+ */
+ public Builder setGtfsRealtimeVersion(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ gtfsRealtimeVersion_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Version of the feed specification. + * The current version is 2.0. + *+ * + *
required string gtfs_realtime_version = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearGtfsRealtimeVersion() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ gtfsRealtimeVersion_ = getDefaultInstance().getGtfsRealtimeVersion();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Version of the feed specification. + * The current version is 2.0. + *+ * + *
required string gtfs_realtime_version = 1;
+ * @param value The bytes for gtfsRealtimeVersion to set.
+ * @return This builder for chaining.
+ */
+ public Builder setGtfsRealtimeVersionBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ gtfsRealtimeVersion_ = value;
+ onChanged();
+ return this;
+ }
+
+ private int incrementality_ = 0;
+ /**
+ * optional .transit_realtime.FeedHeader.Incrementality incrementality = 2 [default = FULL_DATASET];
+ * @return Whether the incrementality field is set.
+ */
+ @java.lang.Override public boolean hasIncrementality() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * optional .transit_realtime.FeedHeader.Incrementality incrementality = 2 [default = FULL_DATASET];
+ * @return The incrementality.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.FeedHeader.Incrementality getIncrementality() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.FeedHeader.Incrementality result = com.google.transit.realtime.GtfsRealtime.FeedHeader.Incrementality.valueOf(incrementality_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.FeedHeader.Incrementality.FULL_DATASET : result;
+ }
+ /**
+ * optional .transit_realtime.FeedHeader.Incrementality incrementality = 2 [default = FULL_DATASET];
+ * @param value The incrementality to set.
+ * @return This builder for chaining.
+ */
+ public Builder setIncrementality(com.google.transit.realtime.GtfsRealtime.FeedHeader.Incrementality value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ incrementality_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * optional .transit_realtime.FeedHeader.Incrementality incrementality = 2 [default = FULL_DATASET];
+ * @return This builder for chaining.
+ */
+ public Builder clearIncrementality() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ incrementality_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private long timestamp_ ;
+ /**
+ * + * This timestamp identifies the moment when the content of this feed has been + * created (in server time). In POSIX time (i.e., number of seconds since + * January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 3;
+ * @return Whether the timestamp field is set.
+ */
+ @java.lang.Override
+ public boolean hasTimestamp() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * This timestamp identifies the moment when the content of this feed has been + * created (in server time). In POSIX time (i.e., number of seconds since + * January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 3;
+ * @return The timestamp.
+ */
+ @java.lang.Override
+ public long getTimestamp() {
+ return timestamp_;
+ }
+ /**
+ * + * This timestamp identifies the moment when the content of this feed has been + * created (in server time). In POSIX time (i.e., number of seconds since + * January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 3;
+ * @param value The timestamp to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTimestamp(long value) {
+ bitField0_ |= 0x00000004;
+ timestamp_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * This timestamp identifies the moment when the content of this feed has been + * created (in server time). In POSIX time (i.e., number of seconds since + * January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 3;
+ * @return This builder for chaining.
+ */
+ public Builder clearTimestamp() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ timestamp_ = 0L;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:transit_realtime.FeedHeader)
+ }
+
+ // @@protoc_insertion_point(class_scope:transit_realtime.FeedHeader)
+ private static final com.google.transit.realtime.GtfsRealtime.FeedHeader DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.google.transit.realtime.GtfsRealtime.FeedHeader();
+ }
+
+ public static com.google.transit.realtime.GtfsRealtime.FeedHeader getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser+ * The ids are used only to provide incrementality support. The id should be + * unique within a FeedMessage. Consequent FeedMessages may contain + * FeedEntities with the same id. In case of a DIFFERENTIAL update the new + * FeedEntity with some id will replace the old FeedEntity with the same id + * (or delete it - see is_deleted below). + * The actual GTFS entities (e.g. stations, routes, trips) referenced by the + * feed must be specified by explicit selectors (see EntitySelector below for + * more info). + *+ * + *
required string id = 1;
+ * @return Whether the id field is set.
+ */
+ boolean hasId();
+ /**
+ * + * The ids are used only to provide incrementality support. The id should be + * unique within a FeedMessage. Consequent FeedMessages may contain + * FeedEntities with the same id. In case of a DIFFERENTIAL update the new + * FeedEntity with some id will replace the old FeedEntity with the same id + * (or delete it - see is_deleted below). + * The actual GTFS entities (e.g. stations, routes, trips) referenced by the + * feed must be specified by explicit selectors (see EntitySelector below for + * more info). + *+ * + *
required string id = 1;
+ * @return The id.
+ */
+ java.lang.String getId();
+ /**
+ * + * The ids are used only to provide incrementality support. The id should be + * unique within a FeedMessage. Consequent FeedMessages may contain + * FeedEntities with the same id. In case of a DIFFERENTIAL update the new + * FeedEntity with some id will replace the old FeedEntity with the same id + * (or delete it - see is_deleted below). + * The actual GTFS entities (e.g. stations, routes, trips) referenced by the + * feed must be specified by explicit selectors (see EntitySelector below for + * more info). + *+ * + *
required string id = 1;
+ * @return The bytes for id.
+ */
+ com.google.protobuf.ByteString
+ getIdBytes();
+
+ /**
+ * + * Whether this entity is to be deleted. Relevant only for incremental + * fetches. + *+ * + *
optional bool is_deleted = 2 [default = false];
+ * @return Whether the isDeleted field is set.
+ */
+ boolean hasIsDeleted();
+ /**
+ * + * Whether this entity is to be deleted. Relevant only for incremental + * fetches. + *+ * + *
optional bool is_deleted = 2 [default = false];
+ * @return The isDeleted.
+ */
+ boolean getIsDeleted();
+
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ * @return Whether the tripUpdate field is set.
+ */
+ boolean hasTripUpdate();
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ * @return The tripUpdate.
+ */
+ com.google.transit.realtime.GtfsRealtime.TripUpdate getTripUpdate();
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ */
+ com.google.transit.realtime.GtfsRealtime.TripUpdateOrBuilder getTripUpdateOrBuilder();
+
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ * @return Whether the vehicle field is set.
+ */
+ boolean hasVehicle();
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ * @return The vehicle.
+ */
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition getVehicle();
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ */
+ com.google.transit.realtime.GtfsRealtime.VehiclePositionOrBuilder getVehicleOrBuilder();
+
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ * @return Whether the alert field is set.
+ */
+ boolean hasAlert();
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ * @return The alert.
+ */
+ com.google.transit.realtime.GtfsRealtime.Alert getAlert();
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ */
+ com.google.transit.realtime.GtfsRealtime.AlertOrBuilder getAlertOrBuilder();
+ }
+ /**
+ * + * A definition (or update) of an entity in the transit feed. + *+ * + * Protobuf type {@code transit_realtime.FeedEntity} + */ + public static final class FeedEntity extends + com.google.protobuf.GeneratedMessageV3.ExtendableMessage< + FeedEntity> implements + // @@protoc_insertion_point(message_implements:transit_realtime.FeedEntity) + FeedEntityOrBuilder { + private static final long serialVersionUID = 0L; + // Use FeedEntity.newBuilder() to construct. + private FeedEntity(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
+ * The ids are used only to provide incrementality support. The id should be + * unique within a FeedMessage. Consequent FeedMessages may contain + * FeedEntities with the same id. In case of a DIFFERENTIAL update the new + * FeedEntity with some id will replace the old FeedEntity with the same id + * (or delete it - see is_deleted below). + * The actual GTFS entities (e.g. stations, routes, trips) referenced by the + * feed must be specified by explicit selectors (see EntitySelector below for + * more info). + *+ * + *
required string id = 1;
+ * @return Whether the id field is set.
+ */
+ @java.lang.Override
+ public boolean hasId() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * The ids are used only to provide incrementality support. The id should be + * unique within a FeedMessage. Consequent FeedMessages may contain + * FeedEntities with the same id. In case of a DIFFERENTIAL update the new + * FeedEntity with some id will replace the old FeedEntity with the same id + * (or delete it - see is_deleted below). + * The actual GTFS entities (e.g. stations, routes, trips) referenced by the + * feed must be specified by explicit selectors (see EntitySelector below for + * more info). + *+ * + *
required string id = 1;
+ * @return The id.
+ */
+ @java.lang.Override
+ public java.lang.String getId() {
+ java.lang.Object ref = id_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ id_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * + * The ids are used only to provide incrementality support. The id should be + * unique within a FeedMessage. Consequent FeedMessages may contain + * FeedEntities with the same id. In case of a DIFFERENTIAL update the new + * FeedEntity with some id will replace the old FeedEntity with the same id + * (or delete it - see is_deleted below). + * The actual GTFS entities (e.g. stations, routes, trips) referenced by the + * feed must be specified by explicit selectors (see EntitySelector below for + * more info). + *+ * + *
required string id = 1;
+ * @return The bytes for id.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getIdBytes() {
+ java.lang.Object ref = id_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ id_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int IS_DELETED_FIELD_NUMBER = 2;
+ private boolean isDeleted_;
+ /**
+ * + * Whether this entity is to be deleted. Relevant only for incremental + * fetches. + *+ * + *
optional bool is_deleted = 2 [default = false];
+ * @return Whether the isDeleted field is set.
+ */
+ @java.lang.Override
+ public boolean hasIsDeleted() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * Whether this entity is to be deleted. Relevant only for incremental + * fetches. + *+ * + *
optional bool is_deleted = 2 [default = false];
+ * @return The isDeleted.
+ */
+ @java.lang.Override
+ public boolean getIsDeleted() {
+ return isDeleted_;
+ }
+
+ public static final int TRIP_UPDATE_FIELD_NUMBER = 3;
+ private com.google.transit.realtime.GtfsRealtime.TripUpdate tripUpdate_;
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ * @return Whether the tripUpdate field is set.
+ */
+ @java.lang.Override
+ public boolean hasTripUpdate() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ * @return The tripUpdate.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate getTripUpdate() {
+ return tripUpdate_ == null ? com.google.transit.realtime.GtfsRealtime.TripUpdate.getDefaultInstance() : tripUpdate_;
+ }
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripUpdateOrBuilder getTripUpdateOrBuilder() {
+ return tripUpdate_ == null ? com.google.transit.realtime.GtfsRealtime.TripUpdate.getDefaultInstance() : tripUpdate_;
+ }
+
+ public static final int VEHICLE_FIELD_NUMBER = 4;
+ private com.google.transit.realtime.GtfsRealtime.VehiclePosition vehicle_;
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ * @return Whether the vehicle field is set.
+ */
+ @java.lang.Override
+ public boolean hasVehicle() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ * @return The vehicle.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.VehiclePosition getVehicle() {
+ return vehicle_ == null ? com.google.transit.realtime.GtfsRealtime.VehiclePosition.getDefaultInstance() : vehicle_;
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.VehiclePositionOrBuilder getVehicleOrBuilder() {
+ return vehicle_ == null ? com.google.transit.realtime.GtfsRealtime.VehiclePosition.getDefaultInstance() : vehicle_;
+ }
+
+ public static final int ALERT_FIELD_NUMBER = 5;
+ private com.google.transit.realtime.GtfsRealtime.Alert alert_;
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ * @return Whether the alert field is set.
+ */
+ @java.lang.Override
+ public boolean hasAlert() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ * @return The alert.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.Alert getAlert() {
+ return alert_ == null ? com.google.transit.realtime.GtfsRealtime.Alert.getDefaultInstance() : alert_;
+ }
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.AlertOrBuilder getAlertOrBuilder() {
+ return alert_ == null ? com.google.transit.realtime.GtfsRealtime.Alert.getDefaultInstance() : alert_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ if (!hasId()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (hasTripUpdate()) {
+ if (!getTripUpdate().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (hasVehicle()) {
+ if (!getVehicle().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (hasAlert()) {
+ if (!getAlert().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * A definition (or update) of an entity in the transit feed. + *+ * + * Protobuf type {@code transit_realtime.FeedEntity} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.ExtendableBuilder< + com.google.transit.realtime.GtfsRealtime.FeedEntity, Builder> implements + // @@protoc_insertion_point(builder_implements:transit_realtime.FeedEntity) + com.google.transit.realtime.GtfsRealtime.FeedEntityOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_FeedEntity_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_FeedEntity_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.transit.realtime.GtfsRealtime.FeedEntity.class, com.google.transit.realtime.GtfsRealtime.FeedEntity.Builder.class); + } + + // Construct using com.google.transit.realtime.GtfsRealtime.FeedEntity.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getTripUpdateFieldBuilder(); + getVehicleFieldBuilder(); + getAlertFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + id_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + isDeleted_ = false; + bitField0_ = (bitField0_ & ~0x00000002); + if (tripUpdateBuilder_ == null) { + tripUpdate_ = null; + } else { + tripUpdateBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + if (vehicleBuilder_ == null) { + vehicle_ = null; + } else { + vehicleBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + if (alertBuilder_ == null) { + alert_ = null; + } else { + alertBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_FeedEntity_descriptor; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.FeedEntity getDefaultInstanceForType() { + return com.google.transit.realtime.GtfsRealtime.FeedEntity.getDefaultInstance(); + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.FeedEntity build() { + com.google.transit.realtime.GtfsRealtime.FeedEntity result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.FeedEntity buildPartial() { + com.google.transit.realtime.GtfsRealtime.FeedEntity result = new com.google.transit.realtime.GtfsRealtime.FeedEntity(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.id_ = id_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.isDeleted_ = isDeleted_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + if (tripUpdateBuilder_ == null) { + result.tripUpdate_ = tripUpdate_; + } else { + result.tripUpdate_ = tripUpdateBuilder_.build(); + } + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + if (vehicleBuilder_ == null) { + result.vehicle_ = vehicle_; + } else { + result.vehicle_ = vehicleBuilder_.build(); + } + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + if (alertBuilder_ == null) { + result.alert_ = alert_; + } else { + result.alert_ = alertBuilder_.build(); + } + to_bitField0_ |= 0x00000010; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public
+ * The ids are used only to provide incrementality support. The id should be + * unique within a FeedMessage. Consequent FeedMessages may contain + * FeedEntities with the same id. In case of a DIFFERENTIAL update the new + * FeedEntity with some id will replace the old FeedEntity with the same id + * (or delete it - see is_deleted below). + * The actual GTFS entities (e.g. stations, routes, trips) referenced by the + * feed must be specified by explicit selectors (see EntitySelector below for + * more info). + *+ * + *
required string id = 1;
+ * @return Whether the id field is set.
+ */
+ public boolean hasId() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * The ids are used only to provide incrementality support. The id should be + * unique within a FeedMessage. Consequent FeedMessages may contain + * FeedEntities with the same id. In case of a DIFFERENTIAL update the new + * FeedEntity with some id will replace the old FeedEntity with the same id + * (or delete it - see is_deleted below). + * The actual GTFS entities (e.g. stations, routes, trips) referenced by the + * feed must be specified by explicit selectors (see EntitySelector below for + * more info). + *+ * + *
required string id = 1;
+ * @return The id.
+ */
+ public java.lang.String getId() {
+ java.lang.Object ref = id_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ id_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * + * The ids are used only to provide incrementality support. The id should be + * unique within a FeedMessage. Consequent FeedMessages may contain + * FeedEntities with the same id. In case of a DIFFERENTIAL update the new + * FeedEntity with some id will replace the old FeedEntity with the same id + * (or delete it - see is_deleted below). + * The actual GTFS entities (e.g. stations, routes, trips) referenced by the + * feed must be specified by explicit selectors (see EntitySelector below for + * more info). + *+ * + *
required string id = 1;
+ * @return The bytes for id.
+ */
+ public com.google.protobuf.ByteString
+ getIdBytes() {
+ java.lang.Object ref = id_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ id_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * + * The ids are used only to provide incrementality support. The id should be + * unique within a FeedMessage. Consequent FeedMessages may contain + * FeedEntities with the same id. In case of a DIFFERENTIAL update the new + * FeedEntity with some id will replace the old FeedEntity with the same id + * (or delete it - see is_deleted below). + * The actual GTFS entities (e.g. stations, routes, trips) referenced by the + * feed must be specified by explicit selectors (see EntitySelector below for + * more info). + *+ * + *
required string id = 1;
+ * @param value The id to set.
+ * @return This builder for chaining.
+ */
+ public Builder setId(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ id_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The ids are used only to provide incrementality support. The id should be + * unique within a FeedMessage. Consequent FeedMessages may contain + * FeedEntities with the same id. In case of a DIFFERENTIAL update the new + * FeedEntity with some id will replace the old FeedEntity with the same id + * (or delete it - see is_deleted below). + * The actual GTFS entities (e.g. stations, routes, trips) referenced by the + * feed must be specified by explicit selectors (see EntitySelector below for + * more info). + *+ * + *
required string id = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearId() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ id_ = getDefaultInstance().getId();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The ids are used only to provide incrementality support. The id should be + * unique within a FeedMessage. Consequent FeedMessages may contain + * FeedEntities with the same id. In case of a DIFFERENTIAL update the new + * FeedEntity with some id will replace the old FeedEntity with the same id + * (or delete it - see is_deleted below). + * The actual GTFS entities (e.g. stations, routes, trips) referenced by the + * feed must be specified by explicit selectors (see EntitySelector below for + * more info). + *+ * + *
required string id = 1;
+ * @param value The bytes for id to set.
+ * @return This builder for chaining.
+ */
+ public Builder setIdBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ id_ = value;
+ onChanged();
+ return this;
+ }
+
+ private boolean isDeleted_ ;
+ /**
+ * + * Whether this entity is to be deleted. Relevant only for incremental + * fetches. + *+ * + *
optional bool is_deleted = 2 [default = false];
+ * @return Whether the isDeleted field is set.
+ */
+ @java.lang.Override
+ public boolean hasIsDeleted() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * Whether this entity is to be deleted. Relevant only for incremental + * fetches. + *+ * + *
optional bool is_deleted = 2 [default = false];
+ * @return The isDeleted.
+ */
+ @java.lang.Override
+ public boolean getIsDeleted() {
+ return isDeleted_;
+ }
+ /**
+ * + * Whether this entity is to be deleted. Relevant only for incremental + * fetches. + *+ * + *
optional bool is_deleted = 2 [default = false];
+ * @param value The isDeleted to set.
+ * @return This builder for chaining.
+ */
+ public Builder setIsDeleted(boolean value) {
+ bitField0_ |= 0x00000002;
+ isDeleted_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Whether this entity is to be deleted. Relevant only for incremental + * fetches. + *+ * + *
optional bool is_deleted = 2 [default = false];
+ * @return This builder for chaining.
+ */
+ public Builder clearIsDeleted() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ isDeleted_ = false;
+ onChanged();
+ return this;
+ }
+
+ private com.google.transit.realtime.GtfsRealtime.TripUpdate tripUpdate_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripUpdate, com.google.transit.realtime.GtfsRealtime.TripUpdate.Builder, com.google.transit.realtime.GtfsRealtime.TripUpdateOrBuilder> tripUpdateBuilder_;
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ * @return Whether the tripUpdate field is set.
+ */
+ public boolean hasTripUpdate() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ * @return The tripUpdate.
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate getTripUpdate() {
+ if (tripUpdateBuilder_ == null) {
+ return tripUpdate_ == null ? com.google.transit.realtime.GtfsRealtime.TripUpdate.getDefaultInstance() : tripUpdate_;
+ } else {
+ return tripUpdateBuilder_.getMessage();
+ }
+ }
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ */
+ public Builder setTripUpdate(com.google.transit.realtime.GtfsRealtime.TripUpdate value) {
+ if (tripUpdateBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ tripUpdate_ = value;
+ onChanged();
+ } else {
+ tripUpdateBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ */
+ public Builder setTripUpdate(
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.Builder builderForValue) {
+ if (tripUpdateBuilder_ == null) {
+ tripUpdate_ = builderForValue.build();
+ onChanged();
+ } else {
+ tripUpdateBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ */
+ public Builder mergeTripUpdate(com.google.transit.realtime.GtfsRealtime.TripUpdate value) {
+ if (tripUpdateBuilder_ == null) {
+ if (((bitField0_ & 0x00000004) != 0) &&
+ tripUpdate_ != null &&
+ tripUpdate_ != com.google.transit.realtime.GtfsRealtime.TripUpdate.getDefaultInstance()) {
+ tripUpdate_ =
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.newBuilder(tripUpdate_).mergeFrom(value).buildPartial();
+ } else {
+ tripUpdate_ = value;
+ }
+ onChanged();
+ } else {
+ tripUpdateBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ */
+ public Builder clearTripUpdate() {
+ if (tripUpdateBuilder_ == null) {
+ tripUpdate_ = null;
+ onChanged();
+ } else {
+ tripUpdateBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.Builder getTripUpdateBuilder() {
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return getTripUpdateFieldBuilder().getBuilder();
+ }
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripUpdateOrBuilder getTripUpdateOrBuilder() {
+ if (tripUpdateBuilder_ != null) {
+ return tripUpdateBuilder_.getMessageOrBuilder();
+ } else {
+ return tripUpdate_ == null ?
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.getDefaultInstance() : tripUpdate_;
+ }
+ }
+ /**
+ * + * Data about the entity itself. Exactly one of the following fields must be + * present (unless the entity is being deleted). + *+ * + *
optional .transit_realtime.TripUpdate trip_update = 3;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripUpdate, com.google.transit.realtime.GtfsRealtime.TripUpdate.Builder, com.google.transit.realtime.GtfsRealtime.TripUpdateOrBuilder>
+ getTripUpdateFieldBuilder() {
+ if (tripUpdateBuilder_ == null) {
+ tripUpdateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripUpdate, com.google.transit.realtime.GtfsRealtime.TripUpdate.Builder, com.google.transit.realtime.GtfsRealtime.TripUpdateOrBuilder>(
+ getTripUpdate(),
+ getParentForChildren(),
+ isClean());
+ tripUpdate_ = null;
+ }
+ return tripUpdateBuilder_;
+ }
+
+ private com.google.transit.realtime.GtfsRealtime.VehiclePosition vehicle_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition, com.google.transit.realtime.GtfsRealtime.VehiclePosition.Builder, com.google.transit.realtime.GtfsRealtime.VehiclePositionOrBuilder> vehicleBuilder_;
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ * @return Whether the vehicle field is set.
+ */
+ public boolean hasVehicle() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ * @return The vehicle.
+ */
+ public com.google.transit.realtime.GtfsRealtime.VehiclePosition getVehicle() {
+ if (vehicleBuilder_ == null) {
+ return vehicle_ == null ? com.google.transit.realtime.GtfsRealtime.VehiclePosition.getDefaultInstance() : vehicle_;
+ } else {
+ return vehicleBuilder_.getMessage();
+ }
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ */
+ public Builder setVehicle(com.google.transit.realtime.GtfsRealtime.VehiclePosition value) {
+ if (vehicleBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ vehicle_ = value;
+ onChanged();
+ } else {
+ vehicleBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ */
+ public Builder setVehicle(
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition.Builder builderForValue) {
+ if (vehicleBuilder_ == null) {
+ vehicle_ = builderForValue.build();
+ onChanged();
+ } else {
+ vehicleBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ */
+ public Builder mergeVehicle(com.google.transit.realtime.GtfsRealtime.VehiclePosition value) {
+ if (vehicleBuilder_ == null) {
+ if (((bitField0_ & 0x00000008) != 0) &&
+ vehicle_ != null &&
+ vehicle_ != com.google.transit.realtime.GtfsRealtime.VehiclePosition.getDefaultInstance()) {
+ vehicle_ =
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition.newBuilder(vehicle_).mergeFrom(value).buildPartial();
+ } else {
+ vehicle_ = value;
+ }
+ onChanged();
+ } else {
+ vehicleBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ */
+ public Builder clearVehicle() {
+ if (vehicleBuilder_ == null) {
+ vehicle_ = null;
+ onChanged();
+ } else {
+ vehicleBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ */
+ public com.google.transit.realtime.GtfsRealtime.VehiclePosition.Builder getVehicleBuilder() {
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return getVehicleFieldBuilder().getBuilder();
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ */
+ public com.google.transit.realtime.GtfsRealtime.VehiclePositionOrBuilder getVehicleOrBuilder() {
+ if (vehicleBuilder_ != null) {
+ return vehicleBuilder_.getMessageOrBuilder();
+ } else {
+ return vehicle_ == null ?
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition.getDefaultInstance() : vehicle_;
+ }
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition vehicle = 4;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition, com.google.transit.realtime.GtfsRealtime.VehiclePosition.Builder, com.google.transit.realtime.GtfsRealtime.VehiclePositionOrBuilder>
+ getVehicleFieldBuilder() {
+ if (vehicleBuilder_ == null) {
+ vehicleBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition, com.google.transit.realtime.GtfsRealtime.VehiclePosition.Builder, com.google.transit.realtime.GtfsRealtime.VehiclePositionOrBuilder>(
+ getVehicle(),
+ getParentForChildren(),
+ isClean());
+ vehicle_ = null;
+ }
+ return vehicleBuilder_;
+ }
+
+ private com.google.transit.realtime.GtfsRealtime.Alert alert_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.Alert, com.google.transit.realtime.GtfsRealtime.Alert.Builder, com.google.transit.realtime.GtfsRealtime.AlertOrBuilder> alertBuilder_;
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ * @return Whether the alert field is set.
+ */
+ public boolean hasAlert() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ * @return The alert.
+ */
+ public com.google.transit.realtime.GtfsRealtime.Alert getAlert() {
+ if (alertBuilder_ == null) {
+ return alert_ == null ? com.google.transit.realtime.GtfsRealtime.Alert.getDefaultInstance() : alert_;
+ } else {
+ return alertBuilder_.getMessage();
+ }
+ }
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ */
+ public Builder setAlert(com.google.transit.realtime.GtfsRealtime.Alert value) {
+ if (alertBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ alert_ = value;
+ onChanged();
+ } else {
+ alertBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ */
+ public Builder setAlert(
+ com.google.transit.realtime.GtfsRealtime.Alert.Builder builderForValue) {
+ if (alertBuilder_ == null) {
+ alert_ = builderForValue.build();
+ onChanged();
+ } else {
+ alertBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ */
+ public Builder mergeAlert(com.google.transit.realtime.GtfsRealtime.Alert value) {
+ if (alertBuilder_ == null) {
+ if (((bitField0_ & 0x00000010) != 0) &&
+ alert_ != null &&
+ alert_ != com.google.transit.realtime.GtfsRealtime.Alert.getDefaultInstance()) {
+ alert_ =
+ com.google.transit.realtime.GtfsRealtime.Alert.newBuilder(alert_).mergeFrom(value).buildPartial();
+ } else {
+ alert_ = value;
+ }
+ onChanged();
+ } else {
+ alertBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ */
+ public Builder clearAlert() {
+ if (alertBuilder_ == null) {
+ alert_ = null;
+ onChanged();
+ } else {
+ alertBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000010);
+ return this;
+ }
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ */
+ public com.google.transit.realtime.GtfsRealtime.Alert.Builder getAlertBuilder() {
+ bitField0_ |= 0x00000010;
+ onChanged();
+ return getAlertFieldBuilder().getBuilder();
+ }
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ */
+ public com.google.transit.realtime.GtfsRealtime.AlertOrBuilder getAlertOrBuilder() {
+ if (alertBuilder_ != null) {
+ return alertBuilder_.getMessageOrBuilder();
+ } else {
+ return alert_ == null ?
+ com.google.transit.realtime.GtfsRealtime.Alert.getDefaultInstance() : alert_;
+ }
+ }
+ /**
+ * optional .transit_realtime.Alert alert = 5;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.Alert, com.google.transit.realtime.GtfsRealtime.Alert.Builder, com.google.transit.realtime.GtfsRealtime.AlertOrBuilder>
+ getAlertFieldBuilder() {
+ if (alertBuilder_ == null) {
+ alertBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.Alert, com.google.transit.realtime.GtfsRealtime.Alert.Builder, com.google.transit.realtime.GtfsRealtime.AlertOrBuilder>(
+ getAlert(),
+ getParentForChildren(),
+ isClean());
+ alert_ = null;
+ }
+ return alertBuilder_;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:transit_realtime.FeedEntity)
+ }
+
+ // @@protoc_insertion_point(class_scope:transit_realtime.FeedEntity)
+ private static final com.google.transit.realtime.GtfsRealtime.FeedEntity DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.google.transit.realtime.GtfsRealtime.FeedEntity();
+ }
+
+ public static com.google.transit.realtime.GtfsRealtime.FeedEntity getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser+ * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ * @return Whether the trip field is set.
+ */
+ boolean hasTrip();
+ /**
+ * + * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ * @return The trip.
+ */
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor getTrip();
+ /**
+ * + * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ */
+ com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder getTripOrBuilder();
+
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ * @return Whether the vehicle field is set.
+ */
+ boolean hasVehicle();
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ * @return The vehicle.
+ */
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptor getVehicle();
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ */
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptorOrBuilder getVehicleOrBuilder();
+
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ java.util.List+ * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate getStopTimeUpdate(int index);
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ int getStopTimeUpdateCount();
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ java.util.List extends com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdateOrBuilder>
+ getStopTimeUpdateOrBuilderList();
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdateOrBuilder getStopTimeUpdateOrBuilder(
+ int index);
+
+ /**
+ * + * Moment at which the vehicle's real-time progress was measured. In POSIX + * time (i.e., the number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 4;
+ * @return Whether the timestamp field is set.
+ */
+ boolean hasTimestamp();
+ /**
+ * + * Moment at which the vehicle's real-time progress was measured. In POSIX + * time (i.e., the number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 4;
+ * @return The timestamp.
+ */
+ long getTimestamp();
+
+ /**
+ * + * The current schedule deviation for the trip. Delay should only be + * specified when the prediction is given relative to some existing schedule + * in GTFS. + * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + * Delay information in StopTimeUpdates take precedent of trip-level delay + * information, such that trip-level delay is only propagated until the next + * stop along the trip with a StopTimeUpdate delay value specified. + * Feed providers are strongly encouraged to provide a TripUpdate.timestamp + * value indicating when the delay value was last updated, in order to + * evaluate the freshness of the data. + * NOTE: This field is still experimental, and subject to change. It may be + * formally adopted in the future. + *+ * + *
optional int32 delay = 5;
+ * @return Whether the delay field is set.
+ */
+ boolean hasDelay();
+ /**
+ * + * The current schedule deviation for the trip. Delay should only be + * specified when the prediction is given relative to some existing schedule + * in GTFS. + * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + * Delay information in StopTimeUpdates take precedent of trip-level delay + * information, such that trip-level delay is only propagated until the next + * stop along the trip with a StopTimeUpdate delay value specified. + * Feed providers are strongly encouraged to provide a TripUpdate.timestamp + * value indicating when the delay value was last updated, in order to + * evaluate the freshness of the data. + * NOTE: This field is still experimental, and subject to change. It may be + * formally adopted in the future. + *+ * + *
optional int32 delay = 5;
+ * @return The delay.
+ */
+ int getDelay();
+ }
+ /**
+ * + * Realtime update of the progress of a vehicle along a trip. + * Depending on the value of ScheduleRelationship, a TripUpdate can specify: + * - A trip that proceeds along the schedule. + * - A trip that proceeds along a route but has no fixed schedule. + * - A trip that have been added or removed with regard to schedule. + * The updates can be for future, predicted arrival/departure events, or for + * past events that already occurred. + * Normally, updates should get more precise and more certain (see + * uncertainty below) as the events gets closer to current time. + * Even if that is not possible, the information for past events should be + * precise and certain. In particular, if an update points to time in the past + * but its update's uncertainty is not 0, the client should conclude that the + * update is a (wrong) prediction and that the trip has not completed yet. + * Note that the update can describe a trip that is already completed. + * To this end, it is enough to provide an update for the last stop of the trip. + * If the time of that is in the past, the client will conclude from that that + * the whole trip is in the past (it is possible, although inconsequential, to + * also provide updates for preceding stops). + * This option is most relevant for a trip that has completed ahead of schedule, + * but according to the schedule, the trip is still proceeding at the current + * time. Removing the updates for this trip could make the client assume + * that the trip is still proceeding. + * Note that the feed provider is allowed, but not required, to purge past + * updates - this is one case where this would be practically useful. + *+ * + * Protobuf type {@code transit_realtime.TripUpdate} + */ + public static final class TripUpdate extends + com.google.protobuf.GeneratedMessageV3.ExtendableMessage< + TripUpdate> implements + // @@protoc_insertion_point(message_implements:transit_realtime.TripUpdate) + TripUpdateOrBuilder { + private static final long serialVersionUID = 0L; + // Use TripUpdate.newBuilder() to construct. + private TripUpdate(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
+ * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + *+ * + *
optional int32 delay = 1;
+ * @return Whether the delay field is set.
+ */
+ boolean hasDelay();
+ /**
+ * + * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + *+ * + *
optional int32 delay = 1;
+ * @return The delay.
+ */
+ int getDelay();
+
+ /**
+ * + * Event as absolute time. + * In Unix time (i.e., number of seconds since January 1st 1970 00:00:00 + * UTC). + *+ * + *
optional int64 time = 2;
+ * @return Whether the time field is set.
+ */
+ boolean hasTime();
+ /**
+ * + * Event as absolute time. + * In Unix time (i.e., number of seconds since January 1st 1970 00:00:00 + * UTC). + *+ * + *
optional int64 time = 2;
+ * @return The time.
+ */
+ long getTime();
+
+ /**
+ * + * If uncertainty is omitted, it is interpreted as unknown. + * If the prediction is unknown or too uncertain, the delay (or time) field + * should be empty. In such case, the uncertainty field is ignored. + * To specify a completely certain prediction, set its uncertainty to 0. + *+ * + *
optional int32 uncertainty = 3;
+ * @return Whether the uncertainty field is set.
+ */
+ boolean hasUncertainty();
+ /**
+ * + * If uncertainty is omitted, it is interpreted as unknown. + * If the prediction is unknown or too uncertain, the delay (or time) field + * should be empty. In such case, the uncertainty field is ignored. + * To specify a completely certain prediction, set its uncertainty to 0. + *+ * + *
optional int32 uncertainty = 3;
+ * @return The uncertainty.
+ */
+ int getUncertainty();
+ }
+ /**
+ * + * Timing information for a single predicted event (either arrival or + * departure). + * Timing consists of delay and/or estimated time, and uncertainty. + * - delay should be used when the prediction is given relative to some + * existing schedule in GTFS. + * - time should be given whether there is a predicted schedule or not. If + * both time and delay are specified, time will take precedence + * (although normally, time, if given for a scheduled trip, should be + * equal to scheduled time in GTFS + delay). + * Uncertainty applies equally to both time and delay. + * The uncertainty roughly specifies the expected error in true delay (but + * note, we don't yet define its precise statistical meaning). It's possible + * for the uncertainty to be 0, for example for trains that are driven under + * computer timing control. + *+ * + * Protobuf type {@code transit_realtime.TripUpdate.StopTimeEvent} + */ + public static final class StopTimeEvent extends + com.google.protobuf.GeneratedMessageV3.ExtendableMessage< + StopTimeEvent> implements + // @@protoc_insertion_point(message_implements:transit_realtime.TripUpdate.StopTimeEvent) + StopTimeEventOrBuilder { + private static final long serialVersionUID = 0L; + // Use StopTimeEvent.newBuilder() to construct. + private StopTimeEvent(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
+ * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + *+ * + *
optional int32 delay = 1;
+ * @return Whether the delay field is set.
+ */
+ @java.lang.Override
+ public boolean hasDelay() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + *+ * + *
optional int32 delay = 1;
+ * @return The delay.
+ */
+ @java.lang.Override
+ public int getDelay() {
+ return delay_;
+ }
+
+ public static final int TIME_FIELD_NUMBER = 2;
+ private long time_;
+ /**
+ * + * Event as absolute time. + * In Unix time (i.e., number of seconds since January 1st 1970 00:00:00 + * UTC). + *+ * + *
optional int64 time = 2;
+ * @return Whether the time field is set.
+ */
+ @java.lang.Override
+ public boolean hasTime() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * Event as absolute time. + * In Unix time (i.e., number of seconds since January 1st 1970 00:00:00 + * UTC). + *+ * + *
optional int64 time = 2;
+ * @return The time.
+ */
+ @java.lang.Override
+ public long getTime() {
+ return time_;
+ }
+
+ public static final int UNCERTAINTY_FIELD_NUMBER = 3;
+ private int uncertainty_;
+ /**
+ * + * If uncertainty is omitted, it is interpreted as unknown. + * If the prediction is unknown or too uncertain, the delay (or time) field + * should be empty. In such case, the uncertainty field is ignored. + * To specify a completely certain prediction, set its uncertainty to 0. + *+ * + *
optional int32 uncertainty = 3;
+ * @return Whether the uncertainty field is set.
+ */
+ @java.lang.Override
+ public boolean hasUncertainty() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * If uncertainty is omitted, it is interpreted as unknown. + * If the prediction is unknown or too uncertain, the delay (or time) field + * should be empty. In such case, the uncertainty field is ignored. + * To specify a completely certain prediction, set its uncertainty to 0. + *+ * + *
optional int32 uncertainty = 3;
+ * @return The uncertainty.
+ */
+ @java.lang.Override
+ public int getUncertainty() {
+ return uncertainty_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * Timing information for a single predicted event (either arrival or + * departure). + * Timing consists of delay and/or estimated time, and uncertainty. + * - delay should be used when the prediction is given relative to some + * existing schedule in GTFS. + * - time should be given whether there is a predicted schedule or not. If + * both time and delay are specified, time will take precedence + * (although normally, time, if given for a scheduled trip, should be + * equal to scheduled time in GTFS + delay). + * Uncertainty applies equally to both time and delay. + * The uncertainty roughly specifies the expected error in true delay (but + * note, we don't yet define its precise statistical meaning). It's possible + * for the uncertainty to be 0, for example for trains that are driven under + * computer timing control. + *+ * + * Protobuf type {@code transit_realtime.TripUpdate.StopTimeEvent} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.ExtendableBuilder< + com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent, Builder> implements + // @@protoc_insertion_point(builder_implements:transit_realtime.TripUpdate.StopTimeEvent) + com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEventOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TripUpdate_StopTimeEvent_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TripUpdate_StopTimeEvent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.class, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.Builder.class); + } + + // Construct using com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + delay_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + time_ = 0L; + bitField0_ = (bitField0_ & ~0x00000002); + uncertainty_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TripUpdate_StopTimeEvent_descriptor; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent getDefaultInstanceForType() { + return com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.getDefaultInstance(); + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent build() { + com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent buildPartial() { + com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent result = new com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.delay_ = delay_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.time_ = time_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.uncertainty_ = uncertainty_; + to_bitField0_ |= 0x00000004; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public
+ * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + *+ * + *
optional int32 delay = 1;
+ * @return Whether the delay field is set.
+ */
+ @java.lang.Override
+ public boolean hasDelay() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + *+ * + *
optional int32 delay = 1;
+ * @return The delay.
+ */
+ @java.lang.Override
+ public int getDelay() {
+ return delay_;
+ }
+ /**
+ * + * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + *+ * + *
optional int32 delay = 1;
+ * @param value The delay to set.
+ * @return This builder for chaining.
+ */
+ public Builder setDelay(int value) {
+ bitField0_ |= 0x00000001;
+ delay_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + *+ * + *
optional int32 delay = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearDelay() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ delay_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private long time_ ;
+ /**
+ * + * Event as absolute time. + * In Unix time (i.e., number of seconds since January 1st 1970 00:00:00 + * UTC). + *+ * + *
optional int64 time = 2;
+ * @return Whether the time field is set.
+ */
+ @java.lang.Override
+ public boolean hasTime() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * Event as absolute time. + * In Unix time (i.e., number of seconds since January 1st 1970 00:00:00 + * UTC). + *+ * + *
optional int64 time = 2;
+ * @return The time.
+ */
+ @java.lang.Override
+ public long getTime() {
+ return time_;
+ }
+ /**
+ * + * Event as absolute time. + * In Unix time (i.e., number of seconds since January 1st 1970 00:00:00 + * UTC). + *+ * + *
optional int64 time = 2;
+ * @param value The time to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTime(long value) {
+ bitField0_ |= 0x00000002;
+ time_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Event as absolute time. + * In Unix time (i.e., number of seconds since January 1st 1970 00:00:00 + * UTC). + *+ * + *
optional int64 time = 2;
+ * @return This builder for chaining.
+ */
+ public Builder clearTime() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ time_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private int uncertainty_ ;
+ /**
+ * + * If uncertainty is omitted, it is interpreted as unknown. + * If the prediction is unknown or too uncertain, the delay (or time) field + * should be empty. In such case, the uncertainty field is ignored. + * To specify a completely certain prediction, set its uncertainty to 0. + *+ * + *
optional int32 uncertainty = 3;
+ * @return Whether the uncertainty field is set.
+ */
+ @java.lang.Override
+ public boolean hasUncertainty() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * If uncertainty is omitted, it is interpreted as unknown. + * If the prediction is unknown or too uncertain, the delay (or time) field + * should be empty. In such case, the uncertainty field is ignored. + * To specify a completely certain prediction, set its uncertainty to 0. + *+ * + *
optional int32 uncertainty = 3;
+ * @return The uncertainty.
+ */
+ @java.lang.Override
+ public int getUncertainty() {
+ return uncertainty_;
+ }
+ /**
+ * + * If uncertainty is omitted, it is interpreted as unknown. + * If the prediction is unknown or too uncertain, the delay (or time) field + * should be empty. In such case, the uncertainty field is ignored. + * To specify a completely certain prediction, set its uncertainty to 0. + *+ * + *
optional int32 uncertainty = 3;
+ * @param value The uncertainty to set.
+ * @return This builder for chaining.
+ */
+ public Builder setUncertainty(int value) {
+ bitField0_ |= 0x00000004;
+ uncertainty_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * If uncertainty is omitted, it is interpreted as unknown. + * If the prediction is unknown or too uncertain, the delay (or time) field + * should be empty. In such case, the uncertainty field is ignored. + * To specify a completely certain prediction, set its uncertainty to 0. + *+ * + *
optional int32 uncertainty = 3;
+ * @return This builder for chaining.
+ */
+ public Builder clearUncertainty() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ uncertainty_ = 0;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:transit_realtime.TripUpdate.StopTimeEvent)
+ }
+
+ // @@protoc_insertion_point(class_scope:transit_realtime.TripUpdate.StopTimeEvent)
+ private static final com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent();
+ }
+
+ public static com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser+ * Must be the same as in stop_times.txt in the corresponding GTFS feed. + *+ * + *
optional uint32 stop_sequence = 1;
+ * @return Whether the stopSequence field is set.
+ */
+ boolean hasStopSequence();
+ /**
+ * + * Must be the same as in stop_times.txt in the corresponding GTFS feed. + *+ * + *
optional uint32 stop_sequence = 1;
+ * @return The stopSequence.
+ */
+ int getStopSequence();
+
+ /**
+ * + * Must be the same as in stops.txt in the corresponding GTFS feed. + *+ * + *
optional string stop_id = 4;
+ * @return Whether the stopId field is set.
+ */
+ boolean hasStopId();
+ /**
+ * + * Must be the same as in stops.txt in the corresponding GTFS feed. + *+ * + *
optional string stop_id = 4;
+ * @return The stopId.
+ */
+ java.lang.String getStopId();
+ /**
+ * + * Must be the same as in stops.txt in the corresponding GTFS feed. + *+ * + *
optional string stop_id = 4;
+ * @return The bytes for stopId.
+ */
+ com.google.protobuf.ByteString
+ getStopIdBytes();
+
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ * @return Whether the arrival field is set.
+ */
+ boolean hasArrival();
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ * @return The arrival.
+ */
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent getArrival();
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ */
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEventOrBuilder getArrivalOrBuilder();
+
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ * @return Whether the departure field is set.
+ */
+ boolean hasDeparture();
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ * @return The departure.
+ */
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent getDeparture();
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ */
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEventOrBuilder getDepartureOrBuilder();
+
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship schedule_relationship = 5 [default = SCHEDULED];
+ * @return Whether the scheduleRelationship field is set.
+ */
+ boolean hasScheduleRelationship();
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship schedule_relationship = 5 [default = SCHEDULED];
+ * @return The scheduleRelationship.
+ */
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.ScheduleRelationship getScheduleRelationship();
+ }
+ /**
+ * + * Realtime update for arrival and/or departure events for a given stop on a + * trip. Updates can be supplied for both past and future events. + * The producer is allowed, although not required, to drop past events. + *+ * + * Protobuf type {@code transit_realtime.TripUpdate.StopTimeUpdate} + */ + public static final class StopTimeUpdate extends + com.google.protobuf.GeneratedMessageV3.ExtendableMessage< + StopTimeUpdate> implements + // @@protoc_insertion_point(message_implements:transit_realtime.TripUpdate.StopTimeUpdate) + StopTimeUpdateOrBuilder { + private static final long serialVersionUID = 0L; + // Use StopTimeUpdate.newBuilder() to construct. + private StopTimeUpdate(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
+ * The relation between this StopTime and the static schedule. + *+ * + * Protobuf enum {@code transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship} + */ + public enum ScheduleRelationship + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
+ * The vehicle is proceeding in accordance with its static schedule of + * stops, although not necessarily according to the times of the schedule. + * At least one of arrival and departure must be provided. If the schedule + * for this stop contains both arrival and departure times then so must + * this update. + *+ * + *
SCHEDULED = 0;
+ */
+ SCHEDULED(0),
+ /**
+ * + * The stop is skipped, i.e., the vehicle will not stop at this stop. + * Arrival and departure are optional. + *+ * + *
SKIPPED = 1;
+ */
+ SKIPPED(1),
+ /**
+ * + * No data is given for this stop. The main intention for this value is to + * give the predictions only for part of a trip, i.e., if the last update + * for a trip has a NO_DATA specifier, then StopTimes for the rest of the + * stops in the trip are considered to be unspecified as well. + * Neither arrival nor departure should be supplied. + *+ * + *
NO_DATA = 2;
+ */
+ NO_DATA(2),
+ ;
+
+ /**
+ * + * The vehicle is proceeding in accordance with its static schedule of + * stops, although not necessarily according to the times of the schedule. + * At least one of arrival and departure must be provided. If the schedule + * for this stop contains both arrival and departure times then so must + * this update. + *+ * + *
SCHEDULED = 0;
+ */
+ public static final int SCHEDULED_VALUE = 0;
+ /**
+ * + * The stop is skipped, i.e., the vehicle will not stop at this stop. + * Arrival and departure are optional. + *+ * + *
SKIPPED = 1;
+ */
+ public static final int SKIPPED_VALUE = 1;
+ /**
+ * + * No data is given for this stop. The main intention for this value is to + * give the predictions only for part of a trip, i.e., if the last update + * for a trip has a NO_DATA specifier, then StopTimes for the rest of the + * stops in the trip are considered to be unspecified as well. + * Neither arrival nor departure should be supplied. + *+ * + *
NO_DATA = 2;
+ */
+ public static final int NO_DATA_VALUE = 2;
+
+
+ public final int getNumber() {
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static ScheduleRelationship valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static ScheduleRelationship forNumber(int value) {
+ switch (value) {
+ case 0: return SCHEDULED;
+ case 1: return SKIPPED;
+ case 2: return NO_DATA;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap+ * Must be the same as in stop_times.txt in the corresponding GTFS feed. + *+ * + *
optional uint32 stop_sequence = 1;
+ * @return Whether the stopSequence field is set.
+ */
+ @java.lang.Override
+ public boolean hasStopSequence() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * Must be the same as in stop_times.txt in the corresponding GTFS feed. + *+ * + *
optional uint32 stop_sequence = 1;
+ * @return The stopSequence.
+ */
+ @java.lang.Override
+ public int getStopSequence() {
+ return stopSequence_;
+ }
+
+ public static final int STOP_ID_FIELD_NUMBER = 4;
+ private volatile java.lang.Object stopId_;
+ /**
+ * + * Must be the same as in stops.txt in the corresponding GTFS feed. + *+ * + *
optional string stop_id = 4;
+ * @return Whether the stopId field is set.
+ */
+ @java.lang.Override
+ public boolean hasStopId() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * Must be the same as in stops.txt in the corresponding GTFS feed. + *+ * + *
optional string stop_id = 4;
+ * @return The stopId.
+ */
+ @java.lang.Override
+ public java.lang.String getStopId() {
+ java.lang.Object ref = stopId_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ stopId_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * + * Must be the same as in stops.txt in the corresponding GTFS feed. + *+ * + *
optional string stop_id = 4;
+ * @return The bytes for stopId.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getStopIdBytes() {
+ java.lang.Object ref = stopId_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ stopId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ARRIVAL_FIELD_NUMBER = 2;
+ private com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent arrival_;
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ * @return Whether the arrival field is set.
+ */
+ @java.lang.Override
+ public boolean hasArrival() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ * @return The arrival.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent getArrival() {
+ return arrival_ == null ? com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.getDefaultInstance() : arrival_;
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEventOrBuilder getArrivalOrBuilder() {
+ return arrival_ == null ? com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.getDefaultInstance() : arrival_;
+ }
+
+ public static final int DEPARTURE_FIELD_NUMBER = 3;
+ private com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent departure_;
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ * @return Whether the departure field is set.
+ */
+ @java.lang.Override
+ public boolean hasDeparture() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ * @return The departure.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent getDeparture() {
+ return departure_ == null ? com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.getDefaultInstance() : departure_;
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEventOrBuilder getDepartureOrBuilder() {
+ return departure_ == null ? com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.getDefaultInstance() : departure_;
+ }
+
+ public static final int SCHEDULE_RELATIONSHIP_FIELD_NUMBER = 5;
+ private int scheduleRelationship_;
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship schedule_relationship = 5 [default = SCHEDULED];
+ * @return Whether the scheduleRelationship field is set.
+ */
+ @java.lang.Override public boolean hasScheduleRelationship() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship schedule_relationship = 5 [default = SCHEDULED];
+ * @return The scheduleRelationship.
+ */
+ @java.lang.Override public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.ScheduleRelationship getScheduleRelationship() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.ScheduleRelationship result = com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.ScheduleRelationship.valueOf(scheduleRelationship_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.ScheduleRelationship.SCHEDULED : result;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ if (hasArrival()) {
+ if (!getArrival().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (hasDeparture()) {
+ if (!getDeparture().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * Realtime update for arrival and/or departure events for a given stop on a + * trip. Updates can be supplied for both past and future events. + * The producer is allowed, although not required, to drop past events. + *+ * + * Protobuf type {@code transit_realtime.TripUpdate.StopTimeUpdate} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.ExtendableBuilder< + com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate, Builder> implements + // @@protoc_insertion_point(builder_implements:transit_realtime.TripUpdate.StopTimeUpdate) + com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdateOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TripUpdate_StopTimeUpdate_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TripUpdate_StopTimeUpdate_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.class, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.Builder.class); + } + + // Construct using com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getArrivalFieldBuilder(); + getDepartureFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + stopSequence_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + stopId_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + if (arrivalBuilder_ == null) { + arrival_ = null; + } else { + arrivalBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + if (departureBuilder_ == null) { + departure_ = null; + } else { + departureBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + scheduleRelationship_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TripUpdate_StopTimeUpdate_descriptor; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate getDefaultInstanceForType() { + return com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.getDefaultInstance(); + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate build() { + com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate buildPartial() { + com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate result = new com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.stopSequence_ = stopSequence_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.stopId_ = stopId_; + if (((from_bitField0_ & 0x00000004) != 0)) { + if (arrivalBuilder_ == null) { + result.arrival_ = arrival_; + } else { + result.arrival_ = arrivalBuilder_.build(); + } + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + if (departureBuilder_ == null) { + result.departure_ = departure_; + } else { + result.departure_ = departureBuilder_.build(); + } + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + to_bitField0_ |= 0x00000010; + } + result.scheduleRelationship_ = scheduleRelationship_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public
+ * Must be the same as in stop_times.txt in the corresponding GTFS feed. + *+ * + *
optional uint32 stop_sequence = 1;
+ * @return Whether the stopSequence field is set.
+ */
+ @java.lang.Override
+ public boolean hasStopSequence() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * Must be the same as in stop_times.txt in the corresponding GTFS feed. + *+ * + *
optional uint32 stop_sequence = 1;
+ * @return The stopSequence.
+ */
+ @java.lang.Override
+ public int getStopSequence() {
+ return stopSequence_;
+ }
+ /**
+ * + * Must be the same as in stop_times.txt in the corresponding GTFS feed. + *+ * + *
optional uint32 stop_sequence = 1;
+ * @param value The stopSequence to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStopSequence(int value) {
+ bitField0_ |= 0x00000001;
+ stopSequence_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Must be the same as in stop_times.txt in the corresponding GTFS feed. + *+ * + *
optional uint32 stop_sequence = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearStopSequence() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ stopSequence_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object stopId_ = "";
+ /**
+ * + * Must be the same as in stops.txt in the corresponding GTFS feed. + *+ * + *
optional string stop_id = 4;
+ * @return Whether the stopId field is set.
+ */
+ public boolean hasStopId() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * Must be the same as in stops.txt in the corresponding GTFS feed. + *+ * + *
optional string stop_id = 4;
+ * @return The stopId.
+ */
+ public java.lang.String getStopId() {
+ java.lang.Object ref = stopId_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ stopId_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * + * Must be the same as in stops.txt in the corresponding GTFS feed. + *+ * + *
optional string stop_id = 4;
+ * @return The bytes for stopId.
+ */
+ public com.google.protobuf.ByteString
+ getStopIdBytes() {
+ java.lang.Object ref = stopId_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ stopId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * + * Must be the same as in stops.txt in the corresponding GTFS feed. + *+ * + *
optional string stop_id = 4;
+ * @param value The stopId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStopId(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ stopId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Must be the same as in stops.txt in the corresponding GTFS feed. + *+ * + *
optional string stop_id = 4;
+ * @return This builder for chaining.
+ */
+ public Builder clearStopId() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ stopId_ = getDefaultInstance().getStopId();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Must be the same as in stops.txt in the corresponding GTFS feed. + *+ * + *
optional string stop_id = 4;
+ * @param value The bytes for stopId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStopIdBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ stopId_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent arrival_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.Builder, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEventOrBuilder> arrivalBuilder_;
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ * @return Whether the arrival field is set.
+ */
+ public boolean hasArrival() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ * @return The arrival.
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent getArrival() {
+ if (arrivalBuilder_ == null) {
+ return arrival_ == null ? com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.getDefaultInstance() : arrival_;
+ } else {
+ return arrivalBuilder_.getMessage();
+ }
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ */
+ public Builder setArrival(com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent value) {
+ if (arrivalBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ arrival_ = value;
+ onChanged();
+ } else {
+ arrivalBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ */
+ public Builder setArrival(
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.Builder builderForValue) {
+ if (arrivalBuilder_ == null) {
+ arrival_ = builderForValue.build();
+ onChanged();
+ } else {
+ arrivalBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ */
+ public Builder mergeArrival(com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent value) {
+ if (arrivalBuilder_ == null) {
+ if (((bitField0_ & 0x00000004) != 0) &&
+ arrival_ != null &&
+ arrival_ != com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.getDefaultInstance()) {
+ arrival_ =
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.newBuilder(arrival_).mergeFrom(value).buildPartial();
+ } else {
+ arrival_ = value;
+ }
+ onChanged();
+ } else {
+ arrivalBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ */
+ public Builder clearArrival() {
+ if (arrivalBuilder_ == null) {
+ arrival_ = null;
+ onChanged();
+ } else {
+ arrivalBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.Builder getArrivalBuilder() {
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return getArrivalFieldBuilder().getBuilder();
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEventOrBuilder getArrivalOrBuilder() {
+ if (arrivalBuilder_ != null) {
+ return arrivalBuilder_.getMessageOrBuilder();
+ } else {
+ return arrival_ == null ?
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.getDefaultInstance() : arrival_;
+ }
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent arrival = 2;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.Builder, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEventOrBuilder>
+ getArrivalFieldBuilder() {
+ if (arrivalBuilder_ == null) {
+ arrivalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.Builder, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEventOrBuilder>(
+ getArrival(),
+ getParentForChildren(),
+ isClean());
+ arrival_ = null;
+ }
+ return arrivalBuilder_;
+ }
+
+ private com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent departure_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.Builder, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEventOrBuilder> departureBuilder_;
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ * @return Whether the departure field is set.
+ */
+ public boolean hasDeparture() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ * @return The departure.
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent getDeparture() {
+ if (departureBuilder_ == null) {
+ return departure_ == null ? com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.getDefaultInstance() : departure_;
+ } else {
+ return departureBuilder_.getMessage();
+ }
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ */
+ public Builder setDeparture(com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent value) {
+ if (departureBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ departure_ = value;
+ onChanged();
+ } else {
+ departureBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ */
+ public Builder setDeparture(
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.Builder builderForValue) {
+ if (departureBuilder_ == null) {
+ departure_ = builderForValue.build();
+ onChanged();
+ } else {
+ departureBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ */
+ public Builder mergeDeparture(com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent value) {
+ if (departureBuilder_ == null) {
+ if (((bitField0_ & 0x00000008) != 0) &&
+ departure_ != null &&
+ departure_ != com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.getDefaultInstance()) {
+ departure_ =
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.newBuilder(departure_).mergeFrom(value).buildPartial();
+ } else {
+ departure_ = value;
+ }
+ onChanged();
+ } else {
+ departureBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ */
+ public Builder clearDeparture() {
+ if (departureBuilder_ == null) {
+ departure_ = null;
+ onChanged();
+ } else {
+ departureBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.Builder getDepartureBuilder() {
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return getDepartureFieldBuilder().getBuilder();
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEventOrBuilder getDepartureOrBuilder() {
+ if (departureBuilder_ != null) {
+ return departureBuilder_.getMessageOrBuilder();
+ } else {
+ return departure_ == null ?
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.getDefaultInstance() : departure_;
+ }
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeEvent departure = 3;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.Builder, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEventOrBuilder>
+ getDepartureFieldBuilder() {
+ if (departureBuilder_ == null) {
+ departureBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEvent.Builder, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeEventOrBuilder>(
+ getDeparture(),
+ getParentForChildren(),
+ isClean());
+ departure_ = null;
+ }
+ return departureBuilder_;
+ }
+
+ private int scheduleRelationship_ = 0;
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship schedule_relationship = 5 [default = SCHEDULED];
+ * @return Whether the scheduleRelationship field is set.
+ */
+ @java.lang.Override public boolean hasScheduleRelationship() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship schedule_relationship = 5 [default = SCHEDULED];
+ * @return The scheduleRelationship.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.ScheduleRelationship getScheduleRelationship() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.ScheduleRelationship result = com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.ScheduleRelationship.valueOf(scheduleRelationship_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.ScheduleRelationship.SCHEDULED : result;
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship schedule_relationship = 5 [default = SCHEDULED];
+ * @param value The scheduleRelationship to set.
+ * @return This builder for chaining.
+ */
+ public Builder setScheduleRelationship(com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.ScheduleRelationship value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000010;
+ scheduleRelationship_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * optional .transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship schedule_relationship = 5 [default = SCHEDULED];
+ * @return This builder for chaining.
+ */
+ public Builder clearScheduleRelationship() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ scheduleRelationship_ = 0;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:transit_realtime.TripUpdate.StopTimeUpdate)
+ }
+
+ // @@protoc_insertion_point(class_scope:transit_realtime.TripUpdate.StopTimeUpdate)
+ private static final com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate();
+ }
+
+ public static com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser+ * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ * @return Whether the trip field is set.
+ */
+ @java.lang.Override
+ public boolean hasTrip() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ * @return The trip.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptor getTrip() {
+ return trip_ == null ? com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance() : trip_;
+ }
+ /**
+ * + * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder getTripOrBuilder() {
+ return trip_ == null ? com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance() : trip_;
+ }
+
+ public static final int VEHICLE_FIELD_NUMBER = 3;
+ private com.google.transit.realtime.GtfsRealtime.VehicleDescriptor vehicle_;
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ * @return Whether the vehicle field is set.
+ */
+ @java.lang.Override
+ public boolean hasVehicle() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ * @return The vehicle.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.VehicleDescriptor getVehicle() {
+ return vehicle_ == null ? com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.getDefaultInstance() : vehicle_;
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.VehicleDescriptorOrBuilder getVehicleOrBuilder() {
+ return vehicle_ == null ? com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.getDefaultInstance() : vehicle_;
+ }
+
+ public static final int STOP_TIME_UPDATE_FIELD_NUMBER = 2;
+ private java.util.List+ * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ @java.lang.Override
+ public java.util.List+ * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ @java.lang.Override
+ public java.util.List extends com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdateOrBuilder>
+ getStopTimeUpdateOrBuilderList() {
+ return stopTimeUpdate_;
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ @java.lang.Override
+ public int getStopTimeUpdateCount() {
+ return stopTimeUpdate_.size();
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate getStopTimeUpdate(int index) {
+ return stopTimeUpdate_.get(index);
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdateOrBuilder getStopTimeUpdateOrBuilder(
+ int index) {
+ return stopTimeUpdate_.get(index);
+ }
+
+ public static final int TIMESTAMP_FIELD_NUMBER = 4;
+ private long timestamp_;
+ /**
+ * + * Moment at which the vehicle's real-time progress was measured. In POSIX + * time (i.e., the number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 4;
+ * @return Whether the timestamp field is set.
+ */
+ @java.lang.Override
+ public boolean hasTimestamp() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * Moment at which the vehicle's real-time progress was measured. In POSIX + * time (i.e., the number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 4;
+ * @return The timestamp.
+ */
+ @java.lang.Override
+ public long getTimestamp() {
+ return timestamp_;
+ }
+
+ public static final int DELAY_FIELD_NUMBER = 5;
+ private int delay_;
+ /**
+ * + * The current schedule deviation for the trip. Delay should only be + * specified when the prediction is given relative to some existing schedule + * in GTFS. + * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + * Delay information in StopTimeUpdates take precedent of trip-level delay + * information, such that trip-level delay is only propagated until the next + * stop along the trip with a StopTimeUpdate delay value specified. + * Feed providers are strongly encouraged to provide a TripUpdate.timestamp + * value indicating when the delay value was last updated, in order to + * evaluate the freshness of the data. + * NOTE: This field is still experimental, and subject to change. It may be + * formally adopted in the future. + *+ * + *
optional int32 delay = 5;
+ * @return Whether the delay field is set.
+ */
+ @java.lang.Override
+ public boolean hasDelay() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * + * The current schedule deviation for the trip. Delay should only be + * specified when the prediction is given relative to some existing schedule + * in GTFS. + * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + * Delay information in StopTimeUpdates take precedent of trip-level delay + * information, such that trip-level delay is only propagated until the next + * stop along the trip with a StopTimeUpdate delay value specified. + * Feed providers are strongly encouraged to provide a TripUpdate.timestamp + * value indicating when the delay value was last updated, in order to + * evaluate the freshness of the data. + * NOTE: This field is still experimental, and subject to change. It may be + * formally adopted in the future. + *+ * + *
optional int32 delay = 5;
+ * @return The delay.
+ */
+ @java.lang.Override
+ public int getDelay() {
+ return delay_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ if (!hasTrip()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!getTrip().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (hasVehicle()) {
+ if (!getVehicle().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ for (int i = 0; i < getStopTimeUpdateCount(); i++) {
+ if (!getStopTimeUpdate(i).isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * Realtime update of the progress of a vehicle along a trip. + * Depending on the value of ScheduleRelationship, a TripUpdate can specify: + * - A trip that proceeds along the schedule. + * - A trip that proceeds along a route but has no fixed schedule. + * - A trip that have been added or removed with regard to schedule. + * The updates can be for future, predicted arrival/departure events, or for + * past events that already occurred. + * Normally, updates should get more precise and more certain (see + * uncertainty below) as the events gets closer to current time. + * Even if that is not possible, the information for past events should be + * precise and certain. In particular, if an update points to time in the past + * but its update's uncertainty is not 0, the client should conclude that the + * update is a (wrong) prediction and that the trip has not completed yet. + * Note that the update can describe a trip that is already completed. + * To this end, it is enough to provide an update for the last stop of the trip. + * If the time of that is in the past, the client will conclude from that that + * the whole trip is in the past (it is possible, although inconsequential, to + * also provide updates for preceding stops). + * This option is most relevant for a trip that has completed ahead of schedule, + * but according to the schedule, the trip is still proceeding at the current + * time. Removing the updates for this trip could make the client assume + * that the trip is still proceeding. + * Note that the feed provider is allowed, but not required, to purge past + * updates - this is one case where this would be practically useful. + *+ * + * Protobuf type {@code transit_realtime.TripUpdate} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.ExtendableBuilder< + com.google.transit.realtime.GtfsRealtime.TripUpdate, Builder> implements + // @@protoc_insertion_point(builder_implements:transit_realtime.TripUpdate) + com.google.transit.realtime.GtfsRealtime.TripUpdateOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TripUpdate_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TripUpdate_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.transit.realtime.GtfsRealtime.TripUpdate.class, com.google.transit.realtime.GtfsRealtime.TripUpdate.Builder.class); + } + + // Construct using com.google.transit.realtime.GtfsRealtime.TripUpdate.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getTripFieldBuilder(); + getVehicleFieldBuilder(); + getStopTimeUpdateFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (tripBuilder_ == null) { + trip_ = null; + } else { + tripBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + if (vehicleBuilder_ == null) { + vehicle_ = null; + } else { + vehicleBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + if (stopTimeUpdateBuilder_ == null) { + stopTimeUpdate_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + } else { + stopTimeUpdateBuilder_.clear(); + } + timestamp_ = 0L; + bitField0_ = (bitField0_ & ~0x00000008); + delay_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TripUpdate_descriptor; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TripUpdate getDefaultInstanceForType() { + return com.google.transit.realtime.GtfsRealtime.TripUpdate.getDefaultInstance(); + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TripUpdate build() { + com.google.transit.realtime.GtfsRealtime.TripUpdate result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TripUpdate buildPartial() { + com.google.transit.realtime.GtfsRealtime.TripUpdate result = new com.google.transit.realtime.GtfsRealtime.TripUpdate(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + if (tripBuilder_ == null) { + result.trip_ = trip_; + } else { + result.trip_ = tripBuilder_.build(); + } + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + if (vehicleBuilder_ == null) { + result.vehicle_ = vehicle_; + } else { + result.vehicle_ = vehicleBuilder_.build(); + } + to_bitField0_ |= 0x00000002; + } + if (stopTimeUpdateBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + stopTimeUpdate_ = java.util.Collections.unmodifiableList(stopTimeUpdate_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.stopTimeUpdate_ = stopTimeUpdate_; + } else { + result.stopTimeUpdate_ = stopTimeUpdateBuilder_.build(); + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.timestamp_ = timestamp_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.delay_ = delay_; + to_bitField0_ |= 0x00000008; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public
+ * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ * @return Whether the trip field is set.
+ */
+ public boolean hasTrip() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ * @return The trip.
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptor getTrip() {
+ if (tripBuilder_ == null) {
+ return trip_ == null ? com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance() : trip_;
+ } else {
+ return tripBuilder_.getMessage();
+ }
+ }
+ /**
+ * + * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ */
+ public Builder setTrip(com.google.transit.realtime.GtfsRealtime.TripDescriptor value) {
+ if (tripBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ trip_ = value;
+ onChanged();
+ } else {
+ tripBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * + * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ */
+ public Builder setTrip(
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor.Builder builderForValue) {
+ if (tripBuilder_ == null) {
+ trip_ = builderForValue.build();
+ onChanged();
+ } else {
+ tripBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * + * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ */
+ public Builder mergeTrip(com.google.transit.realtime.GtfsRealtime.TripDescriptor value) {
+ if (tripBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) != 0) &&
+ trip_ != null &&
+ trip_ != com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance()) {
+ trip_ =
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor.newBuilder(trip_).mergeFrom(value).buildPartial();
+ } else {
+ trip_ = value;
+ }
+ onChanged();
+ } else {
+ tripBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * + * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ */
+ public Builder clearTrip() {
+ if (tripBuilder_ == null) {
+ trip_ = null;
+ onChanged();
+ } else {
+ tripBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000001);
+ return this;
+ }
+ /**
+ * + * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptor.Builder getTripBuilder() {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return getTripFieldBuilder().getBuilder();
+ }
+ /**
+ * + * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder getTripOrBuilder() {
+ if (tripBuilder_ != null) {
+ return tripBuilder_.getMessageOrBuilder();
+ } else {
+ return trip_ == null ?
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance() : trip_;
+ }
+ }
+ /**
+ * + * The Trip that this message applies to. There can be at most one + * TripUpdate entity for each actual trip instance. + * If there is none, that means there is no prediction information available. + * It does *not* mean that the trip is progressing according to schedule. + *+ * + *
required .transit_realtime.TripDescriptor trip = 1;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor, com.google.transit.realtime.GtfsRealtime.TripDescriptor.Builder, com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder>
+ getTripFieldBuilder() {
+ if (tripBuilder_ == null) {
+ tripBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor, com.google.transit.realtime.GtfsRealtime.TripDescriptor.Builder, com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder>(
+ getTrip(),
+ getParentForChildren(),
+ isClean());
+ trip_ = null;
+ }
+ return tripBuilder_;
+ }
+
+ private com.google.transit.realtime.GtfsRealtime.VehicleDescriptor vehicle_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptor, com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.Builder, com.google.transit.realtime.GtfsRealtime.VehicleDescriptorOrBuilder> vehicleBuilder_;
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ * @return Whether the vehicle field is set.
+ */
+ public boolean hasVehicle() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ * @return The vehicle.
+ */
+ public com.google.transit.realtime.GtfsRealtime.VehicleDescriptor getVehicle() {
+ if (vehicleBuilder_ == null) {
+ return vehicle_ == null ? com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.getDefaultInstance() : vehicle_;
+ } else {
+ return vehicleBuilder_.getMessage();
+ }
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ */
+ public Builder setVehicle(com.google.transit.realtime.GtfsRealtime.VehicleDescriptor value) {
+ if (vehicleBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ vehicle_ = value;
+ onChanged();
+ } else {
+ vehicleBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ */
+ public Builder setVehicle(
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.Builder builderForValue) {
+ if (vehicleBuilder_ == null) {
+ vehicle_ = builderForValue.build();
+ onChanged();
+ } else {
+ vehicleBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ */
+ public Builder mergeVehicle(com.google.transit.realtime.GtfsRealtime.VehicleDescriptor value) {
+ if (vehicleBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) != 0) &&
+ vehicle_ != null &&
+ vehicle_ != com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.getDefaultInstance()) {
+ vehicle_ =
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.newBuilder(vehicle_).mergeFrom(value).buildPartial();
+ } else {
+ vehicle_ = value;
+ }
+ onChanged();
+ } else {
+ vehicleBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ */
+ public Builder clearVehicle() {
+ if (vehicleBuilder_ == null) {
+ vehicle_ = null;
+ onChanged();
+ } else {
+ vehicleBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ */
+ public com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.Builder getVehicleBuilder() {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return getVehicleFieldBuilder().getBuilder();
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ */
+ public com.google.transit.realtime.GtfsRealtime.VehicleDescriptorOrBuilder getVehicleOrBuilder() {
+ if (vehicleBuilder_ != null) {
+ return vehicleBuilder_.getMessageOrBuilder();
+ } else {
+ return vehicle_ == null ?
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.getDefaultInstance() : vehicle_;
+ }
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 3;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptor, com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.Builder, com.google.transit.realtime.GtfsRealtime.VehicleDescriptorOrBuilder>
+ getVehicleFieldBuilder() {
+ if (vehicleBuilder_ == null) {
+ vehicleBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptor, com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.Builder, com.google.transit.realtime.GtfsRealtime.VehicleDescriptorOrBuilder>(
+ getVehicle(),
+ getParentForChildren(),
+ isClean());
+ vehicle_ = null;
+ }
+ return vehicleBuilder_;
+ }
+
+ private java.util.List+ * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public java.util.List+ * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public int getStopTimeUpdateCount() {
+ if (stopTimeUpdateBuilder_ == null) {
+ return stopTimeUpdate_.size();
+ } else {
+ return stopTimeUpdateBuilder_.getCount();
+ }
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate getStopTimeUpdate(int index) {
+ if (stopTimeUpdateBuilder_ == null) {
+ return stopTimeUpdate_.get(index);
+ } else {
+ return stopTimeUpdateBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public Builder setStopTimeUpdate(
+ int index, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate value) {
+ if (stopTimeUpdateBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureStopTimeUpdateIsMutable();
+ stopTimeUpdate_.set(index, value);
+ onChanged();
+ } else {
+ stopTimeUpdateBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public Builder setStopTimeUpdate(
+ int index, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.Builder builderForValue) {
+ if (stopTimeUpdateBuilder_ == null) {
+ ensureStopTimeUpdateIsMutable();
+ stopTimeUpdate_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ stopTimeUpdateBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public Builder addStopTimeUpdate(com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate value) {
+ if (stopTimeUpdateBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureStopTimeUpdateIsMutable();
+ stopTimeUpdate_.add(value);
+ onChanged();
+ } else {
+ stopTimeUpdateBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public Builder addStopTimeUpdate(
+ int index, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate value) {
+ if (stopTimeUpdateBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureStopTimeUpdateIsMutable();
+ stopTimeUpdate_.add(index, value);
+ onChanged();
+ } else {
+ stopTimeUpdateBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public Builder addStopTimeUpdate(
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.Builder builderForValue) {
+ if (stopTimeUpdateBuilder_ == null) {
+ ensureStopTimeUpdateIsMutable();
+ stopTimeUpdate_.add(builderForValue.build());
+ onChanged();
+ } else {
+ stopTimeUpdateBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public Builder addStopTimeUpdate(
+ int index, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.Builder builderForValue) {
+ if (stopTimeUpdateBuilder_ == null) {
+ ensureStopTimeUpdateIsMutable();
+ stopTimeUpdate_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ stopTimeUpdateBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public Builder addAllStopTimeUpdate(
+ java.lang.Iterable extends com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate> values) {
+ if (stopTimeUpdateBuilder_ == null) {
+ ensureStopTimeUpdateIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, stopTimeUpdate_);
+ onChanged();
+ } else {
+ stopTimeUpdateBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public Builder clearStopTimeUpdate() {
+ if (stopTimeUpdateBuilder_ == null) {
+ stopTimeUpdate_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ } else {
+ stopTimeUpdateBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public Builder removeStopTimeUpdate(int index) {
+ if (stopTimeUpdateBuilder_ == null) {
+ ensureStopTimeUpdateIsMutable();
+ stopTimeUpdate_.remove(index);
+ onChanged();
+ } else {
+ stopTimeUpdateBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.Builder getStopTimeUpdateBuilder(
+ int index) {
+ return getStopTimeUpdateFieldBuilder().getBuilder(index);
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdateOrBuilder getStopTimeUpdateOrBuilder(
+ int index) {
+ if (stopTimeUpdateBuilder_ == null) {
+ return stopTimeUpdate_.get(index); } else {
+ return stopTimeUpdateBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public java.util.List extends com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdateOrBuilder>
+ getStopTimeUpdateOrBuilderList() {
+ if (stopTimeUpdateBuilder_ != null) {
+ return stopTimeUpdateBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(stopTimeUpdate_);
+ }
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.Builder addStopTimeUpdateBuilder() {
+ return getStopTimeUpdateFieldBuilder().addBuilder(
+ com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.getDefaultInstance());
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.Builder addStopTimeUpdateBuilder(
+ int index) {
+ return getStopTimeUpdateFieldBuilder().addBuilder(
+ index, com.google.transit.realtime.GtfsRealtime.TripUpdate.StopTimeUpdate.getDefaultInstance());
+ }
+ /**
+ * + * Updates to StopTimes for the trip (both future, i.e., predictions, and in + * some cases, past ones, i.e., those that already happened). + * The updates must be sorted by stop_sequence, and apply for all the + * following stops of the trip up to the next specified one. + * Example 1: + * For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure + * delay of 0 for stop_sequence of the current stop means that the trip is + * exactly on time. + * Example 2: + * For the same trip instance, 3 StopTimeUpdates are provided: + * - delay of 5 min for stop_sequence 3 + * - delay of 1 min for stop_sequence 8 + * - delay of unspecified duration for stop_sequence 10 + * This will be interpreted as: + * - stop_sequences 3,4,5,6,7 have delay of 5 min. + * - stop_sequences 8,9 have delay of 1 min. + * - stop_sequences 10,... have unknown delay. + *+ * + *
repeated .transit_realtime.TripUpdate.StopTimeUpdate stop_time_update = 2;
+ */
+ public java.util.List+ * Moment at which the vehicle's real-time progress was measured. In POSIX + * time (i.e., the number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 4;
+ * @return Whether the timestamp field is set.
+ */
+ @java.lang.Override
+ public boolean hasTimestamp() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * + * Moment at which the vehicle's real-time progress was measured. In POSIX + * time (i.e., the number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 4;
+ * @return The timestamp.
+ */
+ @java.lang.Override
+ public long getTimestamp() {
+ return timestamp_;
+ }
+ /**
+ * + * Moment at which the vehicle's real-time progress was measured. In POSIX + * time (i.e., the number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 4;
+ * @param value The timestamp to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTimestamp(long value) {
+ bitField0_ |= 0x00000008;
+ timestamp_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Moment at which the vehicle's real-time progress was measured. In POSIX + * time (i.e., the number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 4;
+ * @return This builder for chaining.
+ */
+ public Builder clearTimestamp() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ timestamp_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private int delay_ ;
+ /**
+ * + * The current schedule deviation for the trip. Delay should only be + * specified when the prediction is given relative to some existing schedule + * in GTFS. + * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + * Delay information in StopTimeUpdates take precedent of trip-level delay + * information, such that trip-level delay is only propagated until the next + * stop along the trip with a StopTimeUpdate delay value specified. + * Feed providers are strongly encouraged to provide a TripUpdate.timestamp + * value indicating when the delay value was last updated, in order to + * evaluate the freshness of the data. + * NOTE: This field is still experimental, and subject to change. It may be + * formally adopted in the future. + *+ * + *
optional int32 delay = 5;
+ * @return Whether the delay field is set.
+ */
+ @java.lang.Override
+ public boolean hasDelay() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * + * The current schedule deviation for the trip. Delay should only be + * specified when the prediction is given relative to some existing schedule + * in GTFS. + * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + * Delay information in StopTimeUpdates take precedent of trip-level delay + * information, such that trip-level delay is only propagated until the next + * stop along the trip with a StopTimeUpdate delay value specified. + * Feed providers are strongly encouraged to provide a TripUpdate.timestamp + * value indicating when the delay value was last updated, in order to + * evaluate the freshness of the data. + * NOTE: This field is still experimental, and subject to change. It may be + * formally adopted in the future. + *+ * + *
optional int32 delay = 5;
+ * @return The delay.
+ */
+ @java.lang.Override
+ public int getDelay() {
+ return delay_;
+ }
+ /**
+ * + * The current schedule deviation for the trip. Delay should only be + * specified when the prediction is given relative to some existing schedule + * in GTFS. + * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + * Delay information in StopTimeUpdates take precedent of trip-level delay + * information, such that trip-level delay is only propagated until the next + * stop along the trip with a StopTimeUpdate delay value specified. + * Feed providers are strongly encouraged to provide a TripUpdate.timestamp + * value indicating when the delay value was last updated, in order to + * evaluate the freshness of the data. + * NOTE: This field is still experimental, and subject to change. It may be + * formally adopted in the future. + *+ * + *
optional int32 delay = 5;
+ * @param value The delay to set.
+ * @return This builder for chaining.
+ */
+ public Builder setDelay(int value) {
+ bitField0_ |= 0x00000010;
+ delay_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The current schedule deviation for the trip. Delay should only be + * specified when the prediction is given relative to some existing schedule + * in GTFS. + * Delay (in seconds) can be positive (meaning that the vehicle is late) or + * negative (meaning that the vehicle is ahead of schedule). Delay of 0 + * means that the vehicle is exactly on time. + * Delay information in StopTimeUpdates take precedent of trip-level delay + * information, such that trip-level delay is only propagated until the next + * stop along the trip with a StopTimeUpdate delay value specified. + * Feed providers are strongly encouraged to provide a TripUpdate.timestamp + * value indicating when the delay value was last updated, in order to + * evaluate the freshness of the data. + * NOTE: This field is still experimental, and subject to change. It may be + * formally adopted in the future. + *+ * + *
optional int32 delay = 5;
+ * @return This builder for chaining.
+ */
+ public Builder clearDelay() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ delay_ = 0;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:transit_realtime.TripUpdate)
+ }
+
+ // @@protoc_insertion_point(class_scope:transit_realtime.TripUpdate)
+ private static final com.google.transit.realtime.GtfsRealtime.TripUpdate DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.google.transit.realtime.GtfsRealtime.TripUpdate();
+ }
+
+ public static com.google.transit.realtime.GtfsRealtime.TripUpdate getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser+ * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ * @return Whether the trip field is set.
+ */
+ boolean hasTrip();
+ /**
+ * + * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ * @return The trip.
+ */
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor getTrip();
+ /**
+ * + * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ */
+ com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder getTripOrBuilder();
+
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ * @return Whether the vehicle field is set.
+ */
+ boolean hasVehicle();
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ * @return The vehicle.
+ */
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptor getVehicle();
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ */
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptorOrBuilder getVehicleOrBuilder();
+
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ * @return Whether the position field is set.
+ */
+ boolean hasPosition();
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ * @return The position.
+ */
+ com.google.transit.realtime.GtfsRealtime.Position getPosition();
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ */
+ com.google.transit.realtime.GtfsRealtime.PositionOrBuilder getPositionOrBuilder();
+
+ /**
+ * + * The stop sequence index of the current stop. The meaning of + * current_stop_sequence (i.e., the stop that it refers to) is determined by + * current_status. + * If current_status is missing IN_TRANSIT_TO is assumed. + *+ * + *
optional uint32 current_stop_sequence = 3;
+ * @return Whether the currentStopSequence field is set.
+ */
+ boolean hasCurrentStopSequence();
+ /**
+ * + * The stop sequence index of the current stop. The meaning of + * current_stop_sequence (i.e., the stop that it refers to) is determined by + * current_status. + * If current_status is missing IN_TRANSIT_TO is assumed. + *+ * + *
optional uint32 current_stop_sequence = 3;
+ * @return The currentStopSequence.
+ */
+ int getCurrentStopSequence();
+
+ /**
+ * + * Identifies the current stop. The value must be the same as in stops.txt in + * the corresponding GTFS feed. + *+ * + *
optional string stop_id = 7;
+ * @return Whether the stopId field is set.
+ */
+ boolean hasStopId();
+ /**
+ * + * Identifies the current stop. The value must be the same as in stops.txt in + * the corresponding GTFS feed. + *+ * + *
optional string stop_id = 7;
+ * @return The stopId.
+ */
+ java.lang.String getStopId();
+ /**
+ * + * Identifies the current stop. The value must be the same as in stops.txt in + * the corresponding GTFS feed. + *+ * + *
optional string stop_id = 7;
+ * @return The bytes for stopId.
+ */
+ com.google.protobuf.ByteString
+ getStopIdBytes();
+
+ /**
+ * + * The exact status of the vehicle with respect to the current stop. + * Ignored if current_stop_sequence is missing. + *+ * + *
optional .transit_realtime.VehiclePosition.VehicleStopStatus current_status = 4 [default = IN_TRANSIT_TO];
+ * @return Whether the currentStatus field is set.
+ */
+ boolean hasCurrentStatus();
+ /**
+ * + * The exact status of the vehicle with respect to the current stop. + * Ignored if current_stop_sequence is missing. + *+ * + *
optional .transit_realtime.VehiclePosition.VehicleStopStatus current_status = 4 [default = IN_TRANSIT_TO];
+ * @return The currentStatus.
+ */
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition.VehicleStopStatus getCurrentStatus();
+
+ /**
+ * + * Moment at which the vehicle's position was measured. In POSIX time + * (i.e., number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 5;
+ * @return Whether the timestamp field is set.
+ */
+ boolean hasTimestamp();
+ /**
+ * + * Moment at which the vehicle's position was measured. In POSIX time + * (i.e., number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 5;
+ * @return The timestamp.
+ */
+ long getTimestamp();
+
+ /**
+ * optional .transit_realtime.VehiclePosition.CongestionLevel congestion_level = 6;
+ * @return Whether the congestionLevel field is set.
+ */
+ boolean hasCongestionLevel();
+ /**
+ * optional .transit_realtime.VehiclePosition.CongestionLevel congestion_level = 6;
+ * @return The congestionLevel.
+ */
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition.CongestionLevel getCongestionLevel();
+
+ /**
+ * optional .transit_realtime.VehiclePosition.OccupancyStatus occupancy_status = 9;
+ * @return Whether the occupancyStatus field is set.
+ */
+ boolean hasOccupancyStatus();
+ /**
+ * optional .transit_realtime.VehiclePosition.OccupancyStatus occupancy_status = 9;
+ * @return The occupancyStatus.
+ */
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition.OccupancyStatus getOccupancyStatus();
+ }
+ /**
+ * + * Realtime positioning information for a given vehicle. + *+ * + * Protobuf type {@code transit_realtime.VehiclePosition} + */ + public static final class VehiclePosition extends + com.google.protobuf.GeneratedMessageV3.ExtendableMessage< + VehiclePosition> implements + // @@protoc_insertion_point(message_implements:transit_realtime.VehiclePosition) + VehiclePositionOrBuilder { + private static final long serialVersionUID = 0L; + // Use VehiclePosition.newBuilder() to construct. + private VehiclePosition(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
+ * The vehicle is just about to arrive at the stop (on a stop + * display, the vehicle symbol typically flashes). + *+ * + *
INCOMING_AT = 0;
+ */
+ INCOMING_AT(0),
+ /**
+ * + * The vehicle is standing at the stop. + *+ * + *
STOPPED_AT = 1;
+ */
+ STOPPED_AT(1),
+ /**
+ * + * The vehicle has departed and is in transit to the next stop. + *+ * + *
IN_TRANSIT_TO = 2;
+ */
+ IN_TRANSIT_TO(2),
+ ;
+
+ /**
+ * + * The vehicle is just about to arrive at the stop (on a stop + * display, the vehicle symbol typically flashes). + *+ * + *
INCOMING_AT = 0;
+ */
+ public static final int INCOMING_AT_VALUE = 0;
+ /**
+ * + * The vehicle is standing at the stop. + *+ * + *
STOPPED_AT = 1;
+ */
+ public static final int STOPPED_AT_VALUE = 1;
+ /**
+ * + * The vehicle has departed and is in transit to the next stop. + *+ * + *
IN_TRANSIT_TO = 2;
+ */
+ public static final int IN_TRANSIT_TO_VALUE = 2;
+
+
+ public final int getNumber() {
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static VehicleStopStatus valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static VehicleStopStatus forNumber(int value) {
+ switch (value) {
+ case 0: return INCOMING_AT;
+ case 1: return STOPPED_AT;
+ case 2: return IN_TRANSIT_TO;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap+ * Congestion level that is affecting this vehicle. + *+ * + * Protobuf enum {@code transit_realtime.VehiclePosition.CongestionLevel} + */ + public enum CongestionLevel + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
UNKNOWN_CONGESTION_LEVEL = 0;
+ */
+ UNKNOWN_CONGESTION_LEVEL(0),
+ /**
+ * RUNNING_SMOOTHLY = 1;
+ */
+ RUNNING_SMOOTHLY(1),
+ /**
+ * STOP_AND_GO = 2;
+ */
+ STOP_AND_GO(2),
+ /**
+ * CONGESTION = 3;
+ */
+ CONGESTION(3),
+ /**
+ * + * People leaving their cars. + *+ * + *
SEVERE_CONGESTION = 4;
+ */
+ SEVERE_CONGESTION(4),
+ ;
+
+ /**
+ * UNKNOWN_CONGESTION_LEVEL = 0;
+ */
+ public static final int UNKNOWN_CONGESTION_LEVEL_VALUE = 0;
+ /**
+ * RUNNING_SMOOTHLY = 1;
+ */
+ public static final int RUNNING_SMOOTHLY_VALUE = 1;
+ /**
+ * STOP_AND_GO = 2;
+ */
+ public static final int STOP_AND_GO_VALUE = 2;
+ /**
+ * CONGESTION = 3;
+ */
+ public static final int CONGESTION_VALUE = 3;
+ /**
+ * + * People leaving their cars. + *+ * + *
SEVERE_CONGESTION = 4;
+ */
+ public static final int SEVERE_CONGESTION_VALUE = 4;
+
+
+ public final int getNumber() {
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static CongestionLevel valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static CongestionLevel forNumber(int value) {
+ switch (value) {
+ case 0: return UNKNOWN_CONGESTION_LEVEL;
+ case 1: return RUNNING_SMOOTHLY;
+ case 2: return STOP_AND_GO;
+ case 3: return CONGESTION;
+ case 4: return SEVERE_CONGESTION;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap+ * The degree of passenger occupancy of the vehicle. This field is still + * experimental, and subject to change. It may be formally adopted in the + * future. + *+ * + * Protobuf enum {@code transit_realtime.VehiclePosition.OccupancyStatus} + */ + public enum OccupancyStatus + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
+ * The vehicle is considered empty by most measures, and has few or no + * passengers onboard, but is still accepting passengers. + *+ * + *
EMPTY = 0;
+ */
+ EMPTY(0),
+ /**
+ * + * The vehicle has a relatively large percentage of seats available. + * What percentage of free seats out of the total seats available is to be + * considered large enough to fall into this category is determined at the + * discretion of the producer. + *+ * + *
MANY_SEATS_AVAILABLE = 1;
+ */
+ MANY_SEATS_AVAILABLE(1),
+ /**
+ * + * The vehicle has a relatively small percentage of seats available. + * What percentage of free seats out of the total seats available is to be + * considered small enough to fall into this category is determined at the + * discretion of the feed producer. + *+ * + *
FEW_SEATS_AVAILABLE = 2;
+ */
+ FEW_SEATS_AVAILABLE(2),
+ /**
+ * + * The vehicle can currently accommodate only standing passengers. + *+ * + *
STANDING_ROOM_ONLY = 3;
+ */
+ STANDING_ROOM_ONLY(3),
+ /**
+ * + * The vehicle can currently accommodate only standing passengers + * and has limited space for them. + *+ * + *
CRUSHED_STANDING_ROOM_ONLY = 4;
+ */
+ CRUSHED_STANDING_ROOM_ONLY(4),
+ /**
+ * + * The vehicle is considered full by most measures, but may still be + * allowing passengers to board. + *+ * + *
FULL = 5;
+ */
+ FULL(5),
+ /**
+ * + * The vehicle is not accepting additional passengers. + *+ * + *
NOT_ACCEPTING_PASSENGERS = 6;
+ */
+ NOT_ACCEPTING_PASSENGERS(6),
+ ;
+
+ /**
+ * + * The vehicle is considered empty by most measures, and has few or no + * passengers onboard, but is still accepting passengers. + *+ * + *
EMPTY = 0;
+ */
+ public static final int EMPTY_VALUE = 0;
+ /**
+ * + * The vehicle has a relatively large percentage of seats available. + * What percentage of free seats out of the total seats available is to be + * considered large enough to fall into this category is determined at the + * discretion of the producer. + *+ * + *
MANY_SEATS_AVAILABLE = 1;
+ */
+ public static final int MANY_SEATS_AVAILABLE_VALUE = 1;
+ /**
+ * + * The vehicle has a relatively small percentage of seats available. + * What percentage of free seats out of the total seats available is to be + * considered small enough to fall into this category is determined at the + * discretion of the feed producer. + *+ * + *
FEW_SEATS_AVAILABLE = 2;
+ */
+ public static final int FEW_SEATS_AVAILABLE_VALUE = 2;
+ /**
+ * + * The vehicle can currently accommodate only standing passengers. + *+ * + *
STANDING_ROOM_ONLY = 3;
+ */
+ public static final int STANDING_ROOM_ONLY_VALUE = 3;
+ /**
+ * + * The vehicle can currently accommodate only standing passengers + * and has limited space for them. + *+ * + *
CRUSHED_STANDING_ROOM_ONLY = 4;
+ */
+ public static final int CRUSHED_STANDING_ROOM_ONLY_VALUE = 4;
+ /**
+ * + * The vehicle is considered full by most measures, but may still be + * allowing passengers to board. + *+ * + *
FULL = 5;
+ */
+ public static final int FULL_VALUE = 5;
+ /**
+ * + * The vehicle is not accepting additional passengers. + *+ * + *
NOT_ACCEPTING_PASSENGERS = 6;
+ */
+ public static final int NOT_ACCEPTING_PASSENGERS_VALUE = 6;
+
+
+ public final int getNumber() {
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static OccupancyStatus valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static OccupancyStatus forNumber(int value) {
+ switch (value) {
+ case 0: return EMPTY;
+ case 1: return MANY_SEATS_AVAILABLE;
+ case 2: return FEW_SEATS_AVAILABLE;
+ case 3: return STANDING_ROOM_ONLY;
+ case 4: return CRUSHED_STANDING_ROOM_ONLY;
+ case 5: return FULL;
+ case 6: return NOT_ACCEPTING_PASSENGERS;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap+ * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ * @return Whether the trip field is set.
+ */
+ @java.lang.Override
+ public boolean hasTrip() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ * @return The trip.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptor getTrip() {
+ return trip_ == null ? com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance() : trip_;
+ }
+ /**
+ * + * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder getTripOrBuilder() {
+ return trip_ == null ? com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance() : trip_;
+ }
+
+ public static final int VEHICLE_FIELD_NUMBER = 8;
+ private com.google.transit.realtime.GtfsRealtime.VehicleDescriptor vehicle_;
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ * @return Whether the vehicle field is set.
+ */
+ @java.lang.Override
+ public boolean hasVehicle() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ * @return The vehicle.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.VehicleDescriptor getVehicle() {
+ return vehicle_ == null ? com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.getDefaultInstance() : vehicle_;
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.VehicleDescriptorOrBuilder getVehicleOrBuilder() {
+ return vehicle_ == null ? com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.getDefaultInstance() : vehicle_;
+ }
+
+ public static final int POSITION_FIELD_NUMBER = 2;
+ private com.google.transit.realtime.GtfsRealtime.Position position_;
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ * @return Whether the position field is set.
+ */
+ @java.lang.Override
+ public boolean hasPosition() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ * @return The position.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.Position getPosition() {
+ return position_ == null ? com.google.transit.realtime.GtfsRealtime.Position.getDefaultInstance() : position_;
+ }
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.PositionOrBuilder getPositionOrBuilder() {
+ return position_ == null ? com.google.transit.realtime.GtfsRealtime.Position.getDefaultInstance() : position_;
+ }
+
+ public static final int CURRENT_STOP_SEQUENCE_FIELD_NUMBER = 3;
+ private int currentStopSequence_;
+ /**
+ * + * The stop sequence index of the current stop. The meaning of + * current_stop_sequence (i.e., the stop that it refers to) is determined by + * current_status. + * If current_status is missing IN_TRANSIT_TO is assumed. + *+ * + *
optional uint32 current_stop_sequence = 3;
+ * @return Whether the currentStopSequence field is set.
+ */
+ @java.lang.Override
+ public boolean hasCurrentStopSequence() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * + * The stop sequence index of the current stop. The meaning of + * current_stop_sequence (i.e., the stop that it refers to) is determined by + * current_status. + * If current_status is missing IN_TRANSIT_TO is assumed. + *+ * + *
optional uint32 current_stop_sequence = 3;
+ * @return The currentStopSequence.
+ */
+ @java.lang.Override
+ public int getCurrentStopSequence() {
+ return currentStopSequence_;
+ }
+
+ public static final int STOP_ID_FIELD_NUMBER = 7;
+ private volatile java.lang.Object stopId_;
+ /**
+ * + * Identifies the current stop. The value must be the same as in stops.txt in + * the corresponding GTFS feed. + *+ * + *
optional string stop_id = 7;
+ * @return Whether the stopId field is set.
+ */
+ @java.lang.Override
+ public boolean hasStopId() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * + * Identifies the current stop. The value must be the same as in stops.txt in + * the corresponding GTFS feed. + *+ * + *
optional string stop_id = 7;
+ * @return The stopId.
+ */
+ @java.lang.Override
+ public java.lang.String getStopId() {
+ java.lang.Object ref = stopId_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ stopId_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * + * Identifies the current stop. The value must be the same as in stops.txt in + * the corresponding GTFS feed. + *+ * + *
optional string stop_id = 7;
+ * @return The bytes for stopId.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getStopIdBytes() {
+ java.lang.Object ref = stopId_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ stopId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int CURRENT_STATUS_FIELD_NUMBER = 4;
+ private int currentStatus_;
+ /**
+ * + * The exact status of the vehicle with respect to the current stop. + * Ignored if current_stop_sequence is missing. + *+ * + *
optional .transit_realtime.VehiclePosition.VehicleStopStatus current_status = 4 [default = IN_TRANSIT_TO];
+ * @return Whether the currentStatus field is set.
+ */
+ @java.lang.Override public boolean hasCurrentStatus() {
+ return ((bitField0_ & 0x00000020) != 0);
+ }
+ /**
+ * + * The exact status of the vehicle with respect to the current stop. + * Ignored if current_stop_sequence is missing. + *+ * + *
optional .transit_realtime.VehiclePosition.VehicleStopStatus current_status = 4 [default = IN_TRANSIT_TO];
+ * @return The currentStatus.
+ */
+ @java.lang.Override public com.google.transit.realtime.GtfsRealtime.VehiclePosition.VehicleStopStatus getCurrentStatus() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition.VehicleStopStatus result = com.google.transit.realtime.GtfsRealtime.VehiclePosition.VehicleStopStatus.valueOf(currentStatus_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.VehiclePosition.VehicleStopStatus.IN_TRANSIT_TO : result;
+ }
+
+ public static final int TIMESTAMP_FIELD_NUMBER = 5;
+ private long timestamp_;
+ /**
+ * + * Moment at which the vehicle's position was measured. In POSIX time + * (i.e., number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 5;
+ * @return Whether the timestamp field is set.
+ */
+ @java.lang.Override
+ public boolean hasTimestamp() {
+ return ((bitField0_ & 0x00000040) != 0);
+ }
+ /**
+ * + * Moment at which the vehicle's position was measured. In POSIX time + * (i.e., number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 5;
+ * @return The timestamp.
+ */
+ @java.lang.Override
+ public long getTimestamp() {
+ return timestamp_;
+ }
+
+ public static final int CONGESTION_LEVEL_FIELD_NUMBER = 6;
+ private int congestionLevel_;
+ /**
+ * optional .transit_realtime.VehiclePosition.CongestionLevel congestion_level = 6;
+ * @return Whether the congestionLevel field is set.
+ */
+ @java.lang.Override public boolean hasCongestionLevel() {
+ return ((bitField0_ & 0x00000080) != 0);
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition.CongestionLevel congestion_level = 6;
+ * @return The congestionLevel.
+ */
+ @java.lang.Override public com.google.transit.realtime.GtfsRealtime.VehiclePosition.CongestionLevel getCongestionLevel() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition.CongestionLevel result = com.google.transit.realtime.GtfsRealtime.VehiclePosition.CongestionLevel.valueOf(congestionLevel_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.VehiclePosition.CongestionLevel.UNKNOWN_CONGESTION_LEVEL : result;
+ }
+
+ public static final int OCCUPANCY_STATUS_FIELD_NUMBER = 9;
+ private int occupancyStatus_;
+ /**
+ * optional .transit_realtime.VehiclePosition.OccupancyStatus occupancy_status = 9;
+ * @return Whether the occupancyStatus field is set.
+ */
+ @java.lang.Override public boolean hasOccupancyStatus() {
+ return ((bitField0_ & 0x00000100) != 0);
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition.OccupancyStatus occupancy_status = 9;
+ * @return The occupancyStatus.
+ */
+ @java.lang.Override public com.google.transit.realtime.GtfsRealtime.VehiclePosition.OccupancyStatus getOccupancyStatus() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition.OccupancyStatus result = com.google.transit.realtime.GtfsRealtime.VehiclePosition.OccupancyStatus.valueOf(occupancyStatus_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.VehiclePosition.OccupancyStatus.EMPTY : result;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ if (hasTrip()) {
+ if (!getTrip().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (hasVehicle()) {
+ if (!getVehicle().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (hasPosition()) {
+ if (!getPosition().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * Realtime positioning information for a given vehicle. + *+ * + * Protobuf type {@code transit_realtime.VehiclePosition} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.ExtendableBuilder< + com.google.transit.realtime.GtfsRealtime.VehiclePosition, Builder> implements + // @@protoc_insertion_point(builder_implements:transit_realtime.VehiclePosition) + com.google.transit.realtime.GtfsRealtime.VehiclePositionOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_VehiclePosition_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_VehiclePosition_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.transit.realtime.GtfsRealtime.VehiclePosition.class, com.google.transit.realtime.GtfsRealtime.VehiclePosition.Builder.class); + } + + // Construct using com.google.transit.realtime.GtfsRealtime.VehiclePosition.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getTripFieldBuilder(); + getVehicleFieldBuilder(); + getPositionFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (tripBuilder_ == null) { + trip_ = null; + } else { + tripBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + if (vehicleBuilder_ == null) { + vehicle_ = null; + } else { + vehicleBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + if (positionBuilder_ == null) { + position_ = null; + } else { + positionBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + currentStopSequence_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + stopId_ = ""; + bitField0_ = (bitField0_ & ~0x00000010); + currentStatus_ = 2; + bitField0_ = (bitField0_ & ~0x00000020); + timestamp_ = 0L; + bitField0_ = (bitField0_ & ~0x00000040); + congestionLevel_ = 0; + bitField0_ = (bitField0_ & ~0x00000080); + occupancyStatus_ = 0; + bitField0_ = (bitField0_ & ~0x00000100); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_VehiclePosition_descriptor; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.VehiclePosition getDefaultInstanceForType() { + return com.google.transit.realtime.GtfsRealtime.VehiclePosition.getDefaultInstance(); + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.VehiclePosition build() { + com.google.transit.realtime.GtfsRealtime.VehiclePosition result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.VehiclePosition buildPartial() { + com.google.transit.realtime.GtfsRealtime.VehiclePosition result = new com.google.transit.realtime.GtfsRealtime.VehiclePosition(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + if (tripBuilder_ == null) { + result.trip_ = trip_; + } else { + result.trip_ = tripBuilder_.build(); + } + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + if (vehicleBuilder_ == null) { + result.vehicle_ = vehicle_; + } else { + result.vehicle_ = vehicleBuilder_.build(); + } + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + if (positionBuilder_ == null) { + result.position_ = position_; + } else { + result.position_ = positionBuilder_.build(); + } + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.currentStopSequence_ = currentStopSequence_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + to_bitField0_ |= 0x00000010; + } + result.stopId_ = stopId_; + if (((from_bitField0_ & 0x00000020) != 0)) { + to_bitField0_ |= 0x00000020; + } + result.currentStatus_ = currentStatus_; + if (((from_bitField0_ & 0x00000040) != 0)) { + result.timestamp_ = timestamp_; + to_bitField0_ |= 0x00000040; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + to_bitField0_ |= 0x00000080; + } + result.congestionLevel_ = congestionLevel_; + if (((from_bitField0_ & 0x00000100) != 0)) { + to_bitField0_ |= 0x00000100; + } + result.occupancyStatus_ = occupancyStatus_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public
+ * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ * @return Whether the trip field is set.
+ */
+ public boolean hasTrip() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ * @return The trip.
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptor getTrip() {
+ if (tripBuilder_ == null) {
+ return trip_ == null ? com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance() : trip_;
+ } else {
+ return tripBuilder_.getMessage();
+ }
+ }
+ /**
+ * + * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ */
+ public Builder setTrip(com.google.transit.realtime.GtfsRealtime.TripDescriptor value) {
+ if (tripBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ trip_ = value;
+ onChanged();
+ } else {
+ tripBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * + * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ */
+ public Builder setTrip(
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor.Builder builderForValue) {
+ if (tripBuilder_ == null) {
+ trip_ = builderForValue.build();
+ onChanged();
+ } else {
+ tripBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * + * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ */
+ public Builder mergeTrip(com.google.transit.realtime.GtfsRealtime.TripDescriptor value) {
+ if (tripBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) != 0) &&
+ trip_ != null &&
+ trip_ != com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance()) {
+ trip_ =
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor.newBuilder(trip_).mergeFrom(value).buildPartial();
+ } else {
+ trip_ = value;
+ }
+ onChanged();
+ } else {
+ tripBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000001;
+ return this;
+ }
+ /**
+ * + * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ */
+ public Builder clearTrip() {
+ if (tripBuilder_ == null) {
+ trip_ = null;
+ onChanged();
+ } else {
+ tripBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000001);
+ return this;
+ }
+ /**
+ * + * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptor.Builder getTripBuilder() {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return getTripFieldBuilder().getBuilder();
+ }
+ /**
+ * + * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder getTripOrBuilder() {
+ if (tripBuilder_ != null) {
+ return tripBuilder_.getMessageOrBuilder();
+ } else {
+ return trip_ == null ?
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance() : trip_;
+ }
+ }
+ /**
+ * + * The Trip that this vehicle is serving. + * Can be empty or partial if the vehicle can not be identified with a given + * trip instance. + *+ * + *
optional .transit_realtime.TripDescriptor trip = 1;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor, com.google.transit.realtime.GtfsRealtime.TripDescriptor.Builder, com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder>
+ getTripFieldBuilder() {
+ if (tripBuilder_ == null) {
+ tripBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor, com.google.transit.realtime.GtfsRealtime.TripDescriptor.Builder, com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder>(
+ getTrip(),
+ getParentForChildren(),
+ isClean());
+ trip_ = null;
+ }
+ return tripBuilder_;
+ }
+
+ private com.google.transit.realtime.GtfsRealtime.VehicleDescriptor vehicle_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptor, com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.Builder, com.google.transit.realtime.GtfsRealtime.VehicleDescriptorOrBuilder> vehicleBuilder_;
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ * @return Whether the vehicle field is set.
+ */
+ public boolean hasVehicle() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ * @return The vehicle.
+ */
+ public com.google.transit.realtime.GtfsRealtime.VehicleDescriptor getVehicle() {
+ if (vehicleBuilder_ == null) {
+ return vehicle_ == null ? com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.getDefaultInstance() : vehicle_;
+ } else {
+ return vehicleBuilder_.getMessage();
+ }
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ */
+ public Builder setVehicle(com.google.transit.realtime.GtfsRealtime.VehicleDescriptor value) {
+ if (vehicleBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ vehicle_ = value;
+ onChanged();
+ } else {
+ vehicleBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ */
+ public Builder setVehicle(
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.Builder builderForValue) {
+ if (vehicleBuilder_ == null) {
+ vehicle_ = builderForValue.build();
+ onChanged();
+ } else {
+ vehicleBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ */
+ public Builder mergeVehicle(com.google.transit.realtime.GtfsRealtime.VehicleDescriptor value) {
+ if (vehicleBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) != 0) &&
+ vehicle_ != null &&
+ vehicle_ != com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.getDefaultInstance()) {
+ vehicle_ =
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.newBuilder(vehicle_).mergeFrom(value).buildPartial();
+ } else {
+ vehicle_ = value;
+ }
+ onChanged();
+ } else {
+ vehicleBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ */
+ public Builder clearVehicle() {
+ if (vehicleBuilder_ == null) {
+ vehicle_ = null;
+ onChanged();
+ } else {
+ vehicleBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ */
+ public com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.Builder getVehicleBuilder() {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return getVehicleFieldBuilder().getBuilder();
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ */
+ public com.google.transit.realtime.GtfsRealtime.VehicleDescriptorOrBuilder getVehicleOrBuilder() {
+ if (vehicleBuilder_ != null) {
+ return vehicleBuilder_.getMessageOrBuilder();
+ } else {
+ return vehicle_ == null ?
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.getDefaultInstance() : vehicle_;
+ }
+ }
+ /**
+ * + * Additional information on the vehicle that is serving this trip. + *+ * + *
optional .transit_realtime.VehicleDescriptor vehicle = 8;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptor, com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.Builder, com.google.transit.realtime.GtfsRealtime.VehicleDescriptorOrBuilder>
+ getVehicleFieldBuilder() {
+ if (vehicleBuilder_ == null) {
+ vehicleBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.VehicleDescriptor, com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.Builder, com.google.transit.realtime.GtfsRealtime.VehicleDescriptorOrBuilder>(
+ getVehicle(),
+ getParentForChildren(),
+ isClean());
+ vehicle_ = null;
+ }
+ return vehicleBuilder_;
+ }
+
+ private com.google.transit.realtime.GtfsRealtime.Position position_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.Position, com.google.transit.realtime.GtfsRealtime.Position.Builder, com.google.transit.realtime.GtfsRealtime.PositionOrBuilder> positionBuilder_;
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ * @return Whether the position field is set.
+ */
+ public boolean hasPosition() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ * @return The position.
+ */
+ public com.google.transit.realtime.GtfsRealtime.Position getPosition() {
+ if (positionBuilder_ == null) {
+ return position_ == null ? com.google.transit.realtime.GtfsRealtime.Position.getDefaultInstance() : position_;
+ } else {
+ return positionBuilder_.getMessage();
+ }
+ }
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ */
+ public Builder setPosition(com.google.transit.realtime.GtfsRealtime.Position value) {
+ if (positionBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ position_ = value;
+ onChanged();
+ } else {
+ positionBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ */
+ public Builder setPosition(
+ com.google.transit.realtime.GtfsRealtime.Position.Builder builderForValue) {
+ if (positionBuilder_ == null) {
+ position_ = builderForValue.build();
+ onChanged();
+ } else {
+ positionBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ */
+ public Builder mergePosition(com.google.transit.realtime.GtfsRealtime.Position value) {
+ if (positionBuilder_ == null) {
+ if (((bitField0_ & 0x00000004) != 0) &&
+ position_ != null &&
+ position_ != com.google.transit.realtime.GtfsRealtime.Position.getDefaultInstance()) {
+ position_ =
+ com.google.transit.realtime.GtfsRealtime.Position.newBuilder(position_).mergeFrom(value).buildPartial();
+ } else {
+ position_ = value;
+ }
+ onChanged();
+ } else {
+ positionBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ */
+ public Builder clearPosition() {
+ if (positionBuilder_ == null) {
+ position_ = null;
+ onChanged();
+ } else {
+ positionBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ */
+ public com.google.transit.realtime.GtfsRealtime.Position.Builder getPositionBuilder() {
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return getPositionFieldBuilder().getBuilder();
+ }
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ */
+ public com.google.transit.realtime.GtfsRealtime.PositionOrBuilder getPositionOrBuilder() {
+ if (positionBuilder_ != null) {
+ return positionBuilder_.getMessageOrBuilder();
+ } else {
+ return position_ == null ?
+ com.google.transit.realtime.GtfsRealtime.Position.getDefaultInstance() : position_;
+ }
+ }
+ /**
+ * + * Current position of this vehicle. + *+ * + *
optional .transit_realtime.Position position = 2;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.Position, com.google.transit.realtime.GtfsRealtime.Position.Builder, com.google.transit.realtime.GtfsRealtime.PositionOrBuilder>
+ getPositionFieldBuilder() {
+ if (positionBuilder_ == null) {
+ positionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.Position, com.google.transit.realtime.GtfsRealtime.Position.Builder, com.google.transit.realtime.GtfsRealtime.PositionOrBuilder>(
+ getPosition(),
+ getParentForChildren(),
+ isClean());
+ position_ = null;
+ }
+ return positionBuilder_;
+ }
+
+ private int currentStopSequence_ ;
+ /**
+ * + * The stop sequence index of the current stop. The meaning of + * current_stop_sequence (i.e., the stop that it refers to) is determined by + * current_status. + * If current_status is missing IN_TRANSIT_TO is assumed. + *+ * + *
optional uint32 current_stop_sequence = 3;
+ * @return Whether the currentStopSequence field is set.
+ */
+ @java.lang.Override
+ public boolean hasCurrentStopSequence() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * + * The stop sequence index of the current stop. The meaning of + * current_stop_sequence (i.e., the stop that it refers to) is determined by + * current_status. + * If current_status is missing IN_TRANSIT_TO is assumed. + *+ * + *
optional uint32 current_stop_sequence = 3;
+ * @return The currentStopSequence.
+ */
+ @java.lang.Override
+ public int getCurrentStopSequence() {
+ return currentStopSequence_;
+ }
+ /**
+ * + * The stop sequence index of the current stop. The meaning of + * current_stop_sequence (i.e., the stop that it refers to) is determined by + * current_status. + * If current_status is missing IN_TRANSIT_TO is assumed. + *+ * + *
optional uint32 current_stop_sequence = 3;
+ * @param value The currentStopSequence to set.
+ * @return This builder for chaining.
+ */
+ public Builder setCurrentStopSequence(int value) {
+ bitField0_ |= 0x00000008;
+ currentStopSequence_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The stop sequence index of the current stop. The meaning of + * current_stop_sequence (i.e., the stop that it refers to) is determined by + * current_status. + * If current_status is missing IN_TRANSIT_TO is assumed. + *+ * + *
optional uint32 current_stop_sequence = 3;
+ * @return This builder for chaining.
+ */
+ public Builder clearCurrentStopSequence() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ currentStopSequence_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object stopId_ = "";
+ /**
+ * + * Identifies the current stop. The value must be the same as in stops.txt in + * the corresponding GTFS feed. + *+ * + *
optional string stop_id = 7;
+ * @return Whether the stopId field is set.
+ */
+ public boolean hasStopId() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * + * Identifies the current stop. The value must be the same as in stops.txt in + * the corresponding GTFS feed. + *+ * + *
optional string stop_id = 7;
+ * @return The stopId.
+ */
+ public java.lang.String getStopId() {
+ java.lang.Object ref = stopId_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ stopId_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * + * Identifies the current stop. The value must be the same as in stops.txt in + * the corresponding GTFS feed. + *+ * + *
optional string stop_id = 7;
+ * @return The bytes for stopId.
+ */
+ public com.google.protobuf.ByteString
+ getStopIdBytes() {
+ java.lang.Object ref = stopId_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ stopId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * + * Identifies the current stop. The value must be the same as in stops.txt in + * the corresponding GTFS feed. + *+ * + *
optional string stop_id = 7;
+ * @param value The stopId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStopId(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000010;
+ stopId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Identifies the current stop. The value must be the same as in stops.txt in + * the corresponding GTFS feed. + *+ * + *
optional string stop_id = 7;
+ * @return This builder for chaining.
+ */
+ public Builder clearStopId() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ stopId_ = getDefaultInstance().getStopId();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Identifies the current stop. The value must be the same as in stops.txt in + * the corresponding GTFS feed. + *+ * + *
optional string stop_id = 7;
+ * @param value The bytes for stopId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStopIdBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000010;
+ stopId_ = value;
+ onChanged();
+ return this;
+ }
+
+ private int currentStatus_ = 2;
+ /**
+ * + * The exact status of the vehicle with respect to the current stop. + * Ignored if current_stop_sequence is missing. + *+ * + *
optional .transit_realtime.VehiclePosition.VehicleStopStatus current_status = 4 [default = IN_TRANSIT_TO];
+ * @return Whether the currentStatus field is set.
+ */
+ @java.lang.Override public boolean hasCurrentStatus() {
+ return ((bitField0_ & 0x00000020) != 0);
+ }
+ /**
+ * + * The exact status of the vehicle with respect to the current stop. + * Ignored if current_stop_sequence is missing. + *+ * + *
optional .transit_realtime.VehiclePosition.VehicleStopStatus current_status = 4 [default = IN_TRANSIT_TO];
+ * @return The currentStatus.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.VehiclePosition.VehicleStopStatus getCurrentStatus() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition.VehicleStopStatus result = com.google.transit.realtime.GtfsRealtime.VehiclePosition.VehicleStopStatus.valueOf(currentStatus_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.VehiclePosition.VehicleStopStatus.IN_TRANSIT_TO : result;
+ }
+ /**
+ * + * The exact status of the vehicle with respect to the current stop. + * Ignored if current_stop_sequence is missing. + *+ * + *
optional .transit_realtime.VehiclePosition.VehicleStopStatus current_status = 4 [default = IN_TRANSIT_TO];
+ * @param value The currentStatus to set.
+ * @return This builder for chaining.
+ */
+ public Builder setCurrentStatus(com.google.transit.realtime.GtfsRealtime.VehiclePosition.VehicleStopStatus value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000020;
+ currentStatus_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The exact status of the vehicle with respect to the current stop. + * Ignored if current_stop_sequence is missing. + *+ * + *
optional .transit_realtime.VehiclePosition.VehicleStopStatus current_status = 4 [default = IN_TRANSIT_TO];
+ * @return This builder for chaining.
+ */
+ public Builder clearCurrentStatus() {
+ bitField0_ = (bitField0_ & ~0x00000020);
+ currentStatus_ = 2;
+ onChanged();
+ return this;
+ }
+
+ private long timestamp_ ;
+ /**
+ * + * Moment at which the vehicle's position was measured. In POSIX time + * (i.e., number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 5;
+ * @return Whether the timestamp field is set.
+ */
+ @java.lang.Override
+ public boolean hasTimestamp() {
+ return ((bitField0_ & 0x00000040) != 0);
+ }
+ /**
+ * + * Moment at which the vehicle's position was measured. In POSIX time + * (i.e., number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 5;
+ * @return The timestamp.
+ */
+ @java.lang.Override
+ public long getTimestamp() {
+ return timestamp_;
+ }
+ /**
+ * + * Moment at which the vehicle's position was measured. In POSIX time + * (i.e., number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 5;
+ * @param value The timestamp to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTimestamp(long value) {
+ bitField0_ |= 0x00000040;
+ timestamp_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Moment at which the vehicle's position was measured. In POSIX time + * (i.e., number of seconds since January 1st 1970 00:00:00 UTC). + *+ * + *
optional uint64 timestamp = 5;
+ * @return This builder for chaining.
+ */
+ public Builder clearTimestamp() {
+ bitField0_ = (bitField0_ & ~0x00000040);
+ timestamp_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private int congestionLevel_ = 0;
+ /**
+ * optional .transit_realtime.VehiclePosition.CongestionLevel congestion_level = 6;
+ * @return Whether the congestionLevel field is set.
+ */
+ @java.lang.Override public boolean hasCongestionLevel() {
+ return ((bitField0_ & 0x00000080) != 0);
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition.CongestionLevel congestion_level = 6;
+ * @return The congestionLevel.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.VehiclePosition.CongestionLevel getCongestionLevel() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition.CongestionLevel result = com.google.transit.realtime.GtfsRealtime.VehiclePosition.CongestionLevel.valueOf(congestionLevel_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.VehiclePosition.CongestionLevel.UNKNOWN_CONGESTION_LEVEL : result;
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition.CongestionLevel congestion_level = 6;
+ * @param value The congestionLevel to set.
+ * @return This builder for chaining.
+ */
+ public Builder setCongestionLevel(com.google.transit.realtime.GtfsRealtime.VehiclePosition.CongestionLevel value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000080;
+ congestionLevel_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition.CongestionLevel congestion_level = 6;
+ * @return This builder for chaining.
+ */
+ public Builder clearCongestionLevel() {
+ bitField0_ = (bitField0_ & ~0x00000080);
+ congestionLevel_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int occupancyStatus_ = 0;
+ /**
+ * optional .transit_realtime.VehiclePosition.OccupancyStatus occupancy_status = 9;
+ * @return Whether the occupancyStatus field is set.
+ */
+ @java.lang.Override public boolean hasOccupancyStatus() {
+ return ((bitField0_ & 0x00000100) != 0);
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition.OccupancyStatus occupancy_status = 9;
+ * @return The occupancyStatus.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.VehiclePosition.OccupancyStatus getOccupancyStatus() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.VehiclePosition.OccupancyStatus result = com.google.transit.realtime.GtfsRealtime.VehiclePosition.OccupancyStatus.valueOf(occupancyStatus_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.VehiclePosition.OccupancyStatus.EMPTY : result;
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition.OccupancyStatus occupancy_status = 9;
+ * @param value The occupancyStatus to set.
+ * @return This builder for chaining.
+ */
+ public Builder setOccupancyStatus(com.google.transit.realtime.GtfsRealtime.VehiclePosition.OccupancyStatus value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000100;
+ occupancyStatus_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * optional .transit_realtime.VehiclePosition.OccupancyStatus occupancy_status = 9;
+ * @return This builder for chaining.
+ */
+ public Builder clearOccupancyStatus() {
+ bitField0_ = (bitField0_ & ~0x00000100);
+ occupancyStatus_ = 0;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:transit_realtime.VehiclePosition)
+ }
+
+ // @@protoc_insertion_point(class_scope:transit_realtime.VehiclePosition)
+ private static final com.google.transit.realtime.GtfsRealtime.VehiclePosition DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.google.transit.realtime.GtfsRealtime.VehiclePosition();
+ }
+
+ public static com.google.transit.realtime.GtfsRealtime.VehiclePosition getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser+ * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ java.util.List+ * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ com.google.transit.realtime.GtfsRealtime.TimeRange getActivePeriod(int index);
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ int getActivePeriodCount();
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ java.util.List extends com.google.transit.realtime.GtfsRealtime.TimeRangeOrBuilder>
+ getActivePeriodOrBuilderList();
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ com.google.transit.realtime.GtfsRealtime.TimeRangeOrBuilder getActivePeriodOrBuilder(
+ int index);
+
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ java.util.List+ * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ com.google.transit.realtime.GtfsRealtime.EntitySelector getInformedEntity(int index);
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ int getInformedEntityCount();
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ java.util.List extends com.google.transit.realtime.GtfsRealtime.EntitySelectorOrBuilder>
+ getInformedEntityOrBuilderList();
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ com.google.transit.realtime.GtfsRealtime.EntitySelectorOrBuilder getInformedEntityOrBuilder(
+ int index);
+
+ /**
+ * optional .transit_realtime.Alert.Cause cause = 6 [default = UNKNOWN_CAUSE];
+ * @return Whether the cause field is set.
+ */
+ boolean hasCause();
+ /**
+ * optional .transit_realtime.Alert.Cause cause = 6 [default = UNKNOWN_CAUSE];
+ * @return The cause.
+ */
+ com.google.transit.realtime.GtfsRealtime.Alert.Cause getCause();
+
+ /**
+ * optional .transit_realtime.Alert.Effect effect = 7 [default = UNKNOWN_EFFECT];
+ * @return Whether the effect field is set.
+ */
+ boolean hasEffect();
+ /**
+ * optional .transit_realtime.Alert.Effect effect = 7 [default = UNKNOWN_EFFECT];
+ * @return The effect.
+ */
+ com.google.transit.realtime.GtfsRealtime.Alert.Effect getEffect();
+
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ * @return Whether the url field is set.
+ */
+ boolean hasUrl();
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ * @return The url.
+ */
+ com.google.transit.realtime.GtfsRealtime.TranslatedString getUrl();
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ */
+ com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder getUrlOrBuilder();
+
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ * @return Whether the headerText field is set.
+ */
+ boolean hasHeaderText();
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ * @return The headerText.
+ */
+ com.google.transit.realtime.GtfsRealtime.TranslatedString getHeaderText();
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ */
+ com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder getHeaderTextOrBuilder();
+
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ * @return Whether the descriptionText field is set.
+ */
+ boolean hasDescriptionText();
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ * @return The descriptionText.
+ */
+ com.google.transit.realtime.GtfsRealtime.TranslatedString getDescriptionText();
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ */
+ com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder getDescriptionTextOrBuilder();
+ }
+ /**
+ * + * An alert, indicating some sort of incident in the public transit network. + *+ * + * Protobuf type {@code transit_realtime.Alert} + */ + public static final class Alert extends + com.google.protobuf.GeneratedMessageV3.ExtendableMessage< + Alert> implements + // @@protoc_insertion_point(message_implements:transit_realtime.Alert) + AlertOrBuilder { + private static final long serialVersionUID = 0L; + // Use Alert.newBuilder() to construct. + private Alert(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
+ * Cause of this alert. + *+ * + * Protobuf enum {@code transit_realtime.Alert.Cause} + */ + public enum Cause + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
UNKNOWN_CAUSE = 1;
+ */
+ UNKNOWN_CAUSE(1),
+ /**
+ * + * Not machine-representable. + *+ * + *
OTHER_CAUSE = 2;
+ */
+ OTHER_CAUSE(2),
+ /**
+ * TECHNICAL_PROBLEM = 3;
+ */
+ TECHNICAL_PROBLEM(3),
+ /**
+ * + * Public transit agency employees stopped working. + *+ * + *
STRIKE = 4;
+ */
+ STRIKE(4),
+ /**
+ * + * People are blocking the streets. + *+ * + *
DEMONSTRATION = 5;
+ */
+ DEMONSTRATION(5),
+ /**
+ * ACCIDENT = 6;
+ */
+ ACCIDENT(6),
+ /**
+ * HOLIDAY = 7;
+ */
+ HOLIDAY(7),
+ /**
+ * WEATHER = 8;
+ */
+ WEATHER(8),
+ /**
+ * MAINTENANCE = 9;
+ */
+ MAINTENANCE(9),
+ /**
+ * CONSTRUCTION = 10;
+ */
+ CONSTRUCTION(10),
+ /**
+ * POLICE_ACTIVITY = 11;
+ */
+ POLICE_ACTIVITY(11),
+ /**
+ * MEDICAL_EMERGENCY = 12;
+ */
+ MEDICAL_EMERGENCY(12),
+ ;
+
+ /**
+ * UNKNOWN_CAUSE = 1;
+ */
+ public static final int UNKNOWN_CAUSE_VALUE = 1;
+ /**
+ * + * Not machine-representable. + *+ * + *
OTHER_CAUSE = 2;
+ */
+ public static final int OTHER_CAUSE_VALUE = 2;
+ /**
+ * TECHNICAL_PROBLEM = 3;
+ */
+ public static final int TECHNICAL_PROBLEM_VALUE = 3;
+ /**
+ * + * Public transit agency employees stopped working. + *+ * + *
STRIKE = 4;
+ */
+ public static final int STRIKE_VALUE = 4;
+ /**
+ * + * People are blocking the streets. + *+ * + *
DEMONSTRATION = 5;
+ */
+ public static final int DEMONSTRATION_VALUE = 5;
+ /**
+ * ACCIDENT = 6;
+ */
+ public static final int ACCIDENT_VALUE = 6;
+ /**
+ * HOLIDAY = 7;
+ */
+ public static final int HOLIDAY_VALUE = 7;
+ /**
+ * WEATHER = 8;
+ */
+ public static final int WEATHER_VALUE = 8;
+ /**
+ * MAINTENANCE = 9;
+ */
+ public static final int MAINTENANCE_VALUE = 9;
+ /**
+ * CONSTRUCTION = 10;
+ */
+ public static final int CONSTRUCTION_VALUE = 10;
+ /**
+ * POLICE_ACTIVITY = 11;
+ */
+ public static final int POLICE_ACTIVITY_VALUE = 11;
+ /**
+ * MEDICAL_EMERGENCY = 12;
+ */
+ public static final int MEDICAL_EMERGENCY_VALUE = 12;
+
+
+ public final int getNumber() {
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static Cause valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static Cause forNumber(int value) {
+ switch (value) {
+ case 1: return UNKNOWN_CAUSE;
+ case 2: return OTHER_CAUSE;
+ case 3: return TECHNICAL_PROBLEM;
+ case 4: return STRIKE;
+ case 5: return DEMONSTRATION;
+ case 6: return ACCIDENT;
+ case 7: return HOLIDAY;
+ case 8: return WEATHER;
+ case 9: return MAINTENANCE;
+ case 10: return CONSTRUCTION;
+ case 11: return POLICE_ACTIVITY;
+ case 12: return MEDICAL_EMERGENCY;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap+ * What is the effect of this problem on the affected entity. + *+ * + * Protobuf enum {@code transit_realtime.Alert.Effect} + */ + public enum Effect + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
NO_SERVICE = 1;
+ */
+ NO_SERVICE(1),
+ /**
+ * REDUCED_SERVICE = 2;
+ */
+ REDUCED_SERVICE(2),
+ /**
+ * + * We don't care about INsignificant delays: they are hard to detect, have + * little impact on the user, and would clutter the results as they are too + * frequent. + *+ * + *
SIGNIFICANT_DELAYS = 3;
+ */
+ SIGNIFICANT_DELAYS(3),
+ /**
+ * DETOUR = 4;
+ */
+ DETOUR(4),
+ /**
+ * ADDITIONAL_SERVICE = 5;
+ */
+ ADDITIONAL_SERVICE(5),
+ /**
+ * MODIFIED_SERVICE = 6;
+ */
+ MODIFIED_SERVICE(6),
+ /**
+ * OTHER_EFFECT = 7;
+ */
+ OTHER_EFFECT(7),
+ /**
+ * UNKNOWN_EFFECT = 8;
+ */
+ UNKNOWN_EFFECT(8),
+ /**
+ * STOP_MOVED = 9;
+ */
+ STOP_MOVED(9),
+ ;
+
+ /**
+ * NO_SERVICE = 1;
+ */
+ public static final int NO_SERVICE_VALUE = 1;
+ /**
+ * REDUCED_SERVICE = 2;
+ */
+ public static final int REDUCED_SERVICE_VALUE = 2;
+ /**
+ * + * We don't care about INsignificant delays: they are hard to detect, have + * little impact on the user, and would clutter the results as they are too + * frequent. + *+ * + *
SIGNIFICANT_DELAYS = 3;
+ */
+ public static final int SIGNIFICANT_DELAYS_VALUE = 3;
+ /**
+ * DETOUR = 4;
+ */
+ public static final int DETOUR_VALUE = 4;
+ /**
+ * ADDITIONAL_SERVICE = 5;
+ */
+ public static final int ADDITIONAL_SERVICE_VALUE = 5;
+ /**
+ * MODIFIED_SERVICE = 6;
+ */
+ public static final int MODIFIED_SERVICE_VALUE = 6;
+ /**
+ * OTHER_EFFECT = 7;
+ */
+ public static final int OTHER_EFFECT_VALUE = 7;
+ /**
+ * UNKNOWN_EFFECT = 8;
+ */
+ public static final int UNKNOWN_EFFECT_VALUE = 8;
+ /**
+ * STOP_MOVED = 9;
+ */
+ public static final int STOP_MOVED_VALUE = 9;
+
+
+ public final int getNumber() {
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static Effect valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static Effect forNumber(int value) {
+ switch (value) {
+ case 1: return NO_SERVICE;
+ case 2: return REDUCED_SERVICE;
+ case 3: return SIGNIFICANT_DELAYS;
+ case 4: return DETOUR;
+ case 5: return ADDITIONAL_SERVICE;
+ case 6: return MODIFIED_SERVICE;
+ case 7: return OTHER_EFFECT;
+ case 8: return UNKNOWN_EFFECT;
+ case 9: return STOP_MOVED;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap+ * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ @java.lang.Override
+ public java.util.List+ * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ @java.lang.Override
+ public java.util.List extends com.google.transit.realtime.GtfsRealtime.TimeRangeOrBuilder>
+ getActivePeriodOrBuilderList() {
+ return activePeriod_;
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ @java.lang.Override
+ public int getActivePeriodCount() {
+ return activePeriod_.size();
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TimeRange getActivePeriod(int index) {
+ return activePeriod_.get(index);
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TimeRangeOrBuilder getActivePeriodOrBuilder(
+ int index) {
+ return activePeriod_.get(index);
+ }
+
+ public static final int INFORMED_ENTITY_FIELD_NUMBER = 5;
+ private java.util.List+ * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ @java.lang.Override
+ public java.util.List+ * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ @java.lang.Override
+ public java.util.List extends com.google.transit.realtime.GtfsRealtime.EntitySelectorOrBuilder>
+ getInformedEntityOrBuilderList() {
+ return informedEntity_;
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ @java.lang.Override
+ public int getInformedEntityCount() {
+ return informedEntity_.size();
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.EntitySelector getInformedEntity(int index) {
+ return informedEntity_.get(index);
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.EntitySelectorOrBuilder getInformedEntityOrBuilder(
+ int index) {
+ return informedEntity_.get(index);
+ }
+
+ public static final int CAUSE_FIELD_NUMBER = 6;
+ private int cause_;
+ /**
+ * optional .transit_realtime.Alert.Cause cause = 6 [default = UNKNOWN_CAUSE];
+ * @return Whether the cause field is set.
+ */
+ @java.lang.Override public boolean hasCause() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * optional .transit_realtime.Alert.Cause cause = 6 [default = UNKNOWN_CAUSE];
+ * @return The cause.
+ */
+ @java.lang.Override public com.google.transit.realtime.GtfsRealtime.Alert.Cause getCause() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.Alert.Cause result = com.google.transit.realtime.GtfsRealtime.Alert.Cause.valueOf(cause_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.Alert.Cause.UNKNOWN_CAUSE : result;
+ }
+
+ public static final int EFFECT_FIELD_NUMBER = 7;
+ private int effect_;
+ /**
+ * optional .transit_realtime.Alert.Effect effect = 7 [default = UNKNOWN_EFFECT];
+ * @return Whether the effect field is set.
+ */
+ @java.lang.Override public boolean hasEffect() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * optional .transit_realtime.Alert.Effect effect = 7 [default = UNKNOWN_EFFECT];
+ * @return The effect.
+ */
+ @java.lang.Override public com.google.transit.realtime.GtfsRealtime.Alert.Effect getEffect() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.Alert.Effect result = com.google.transit.realtime.GtfsRealtime.Alert.Effect.valueOf(effect_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.Alert.Effect.UNKNOWN_EFFECT : result;
+ }
+
+ public static final int URL_FIELD_NUMBER = 8;
+ private com.google.transit.realtime.GtfsRealtime.TranslatedString url_;
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ * @return Whether the url field is set.
+ */
+ @java.lang.Override
+ public boolean hasUrl() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ * @return The url.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString getUrl() {
+ return url_ == null ? com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance() : url_;
+ }
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder getUrlOrBuilder() {
+ return url_ == null ? com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance() : url_;
+ }
+
+ public static final int HEADER_TEXT_FIELD_NUMBER = 10;
+ private com.google.transit.realtime.GtfsRealtime.TranslatedString headerText_;
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ * @return Whether the headerText field is set.
+ */
+ @java.lang.Override
+ public boolean hasHeaderText() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ * @return The headerText.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString getHeaderText() {
+ return headerText_ == null ? com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance() : headerText_;
+ }
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder getHeaderTextOrBuilder() {
+ return headerText_ == null ? com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance() : headerText_;
+ }
+
+ public static final int DESCRIPTION_TEXT_FIELD_NUMBER = 11;
+ private com.google.transit.realtime.GtfsRealtime.TranslatedString descriptionText_;
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ * @return Whether the descriptionText field is set.
+ */
+ @java.lang.Override
+ public boolean hasDescriptionText() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ * @return The descriptionText.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString getDescriptionText() {
+ return descriptionText_ == null ? com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance() : descriptionText_;
+ }
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder getDescriptionTextOrBuilder() {
+ return descriptionText_ == null ? com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance() : descriptionText_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ for (int i = 0; i < getActivePeriodCount(); i++) {
+ if (!getActivePeriod(i).isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ for (int i = 0; i < getInformedEntityCount(); i++) {
+ if (!getInformedEntity(i).isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (hasUrl()) {
+ if (!getUrl().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (hasHeaderText()) {
+ if (!getHeaderText().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (hasDescriptionText()) {
+ if (!getDescriptionText().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * An alert, indicating some sort of incident in the public transit network. + *+ * + * Protobuf type {@code transit_realtime.Alert} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.ExtendableBuilder< + com.google.transit.realtime.GtfsRealtime.Alert, Builder> implements + // @@protoc_insertion_point(builder_implements:transit_realtime.Alert) + com.google.transit.realtime.GtfsRealtime.AlertOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_Alert_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_Alert_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.transit.realtime.GtfsRealtime.Alert.class, com.google.transit.realtime.GtfsRealtime.Alert.Builder.class); + } + + // Construct using com.google.transit.realtime.GtfsRealtime.Alert.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getActivePeriodFieldBuilder(); + getInformedEntityFieldBuilder(); + getUrlFieldBuilder(); + getHeaderTextFieldBuilder(); + getDescriptionTextFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (activePeriodBuilder_ == null) { + activePeriod_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + activePeriodBuilder_.clear(); + } + if (informedEntityBuilder_ == null) { + informedEntity_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + informedEntityBuilder_.clear(); + } + cause_ = 1; + bitField0_ = (bitField0_ & ~0x00000004); + effect_ = 8; + bitField0_ = (bitField0_ & ~0x00000008); + if (urlBuilder_ == null) { + url_ = null; + } else { + urlBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + if (headerTextBuilder_ == null) { + headerText_ = null; + } else { + headerTextBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); + if (descriptionTextBuilder_ == null) { + descriptionText_ = null; + } else { + descriptionTextBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000040); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_Alert_descriptor; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.Alert getDefaultInstanceForType() { + return com.google.transit.realtime.GtfsRealtime.Alert.getDefaultInstance(); + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.Alert build() { + com.google.transit.realtime.GtfsRealtime.Alert result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.Alert buildPartial() { + com.google.transit.realtime.GtfsRealtime.Alert result = new com.google.transit.realtime.GtfsRealtime.Alert(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (activePeriodBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + activePeriod_ = java.util.Collections.unmodifiableList(activePeriod_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.activePeriod_ = activePeriod_; + } else { + result.activePeriod_ = activePeriodBuilder_.build(); + } + if (informedEntityBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + informedEntity_ = java.util.Collections.unmodifiableList(informedEntity_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.informedEntity_ = informedEntity_; + } else { + result.informedEntity_ = informedEntityBuilder_.build(); + } + if (((from_bitField0_ & 0x00000004) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.cause_ = cause_; + if (((from_bitField0_ & 0x00000008) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.effect_ = effect_; + if (((from_bitField0_ & 0x00000010) != 0)) { + if (urlBuilder_ == null) { + result.url_ = url_; + } else { + result.url_ = urlBuilder_.build(); + } + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + if (headerTextBuilder_ == null) { + result.headerText_ = headerText_; + } else { + result.headerText_ = headerTextBuilder_.build(); + } + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + if (descriptionTextBuilder_ == null) { + result.descriptionText_ = descriptionText_; + } else { + result.descriptionText_ = descriptionTextBuilder_.build(); + } + to_bitField0_ |= 0x00000010; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public
+ * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public java.util.List+ * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public int getActivePeriodCount() {
+ if (activePeriodBuilder_ == null) {
+ return activePeriod_.size();
+ } else {
+ return activePeriodBuilder_.getCount();
+ }
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TimeRange getActivePeriod(int index) {
+ if (activePeriodBuilder_ == null) {
+ return activePeriod_.get(index);
+ } else {
+ return activePeriodBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public Builder setActivePeriod(
+ int index, com.google.transit.realtime.GtfsRealtime.TimeRange value) {
+ if (activePeriodBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureActivePeriodIsMutable();
+ activePeriod_.set(index, value);
+ onChanged();
+ } else {
+ activePeriodBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public Builder setActivePeriod(
+ int index, com.google.transit.realtime.GtfsRealtime.TimeRange.Builder builderForValue) {
+ if (activePeriodBuilder_ == null) {
+ ensureActivePeriodIsMutable();
+ activePeriod_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ activePeriodBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public Builder addActivePeriod(com.google.transit.realtime.GtfsRealtime.TimeRange value) {
+ if (activePeriodBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureActivePeriodIsMutable();
+ activePeriod_.add(value);
+ onChanged();
+ } else {
+ activePeriodBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public Builder addActivePeriod(
+ int index, com.google.transit.realtime.GtfsRealtime.TimeRange value) {
+ if (activePeriodBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureActivePeriodIsMutable();
+ activePeriod_.add(index, value);
+ onChanged();
+ } else {
+ activePeriodBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public Builder addActivePeriod(
+ com.google.transit.realtime.GtfsRealtime.TimeRange.Builder builderForValue) {
+ if (activePeriodBuilder_ == null) {
+ ensureActivePeriodIsMutable();
+ activePeriod_.add(builderForValue.build());
+ onChanged();
+ } else {
+ activePeriodBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public Builder addActivePeriod(
+ int index, com.google.transit.realtime.GtfsRealtime.TimeRange.Builder builderForValue) {
+ if (activePeriodBuilder_ == null) {
+ ensureActivePeriodIsMutable();
+ activePeriod_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ activePeriodBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public Builder addAllActivePeriod(
+ java.lang.Iterable extends com.google.transit.realtime.GtfsRealtime.TimeRange> values) {
+ if (activePeriodBuilder_ == null) {
+ ensureActivePeriodIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, activePeriod_);
+ onChanged();
+ } else {
+ activePeriodBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public Builder clearActivePeriod() {
+ if (activePeriodBuilder_ == null) {
+ activePeriod_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ } else {
+ activePeriodBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public Builder removeActivePeriod(int index) {
+ if (activePeriodBuilder_ == null) {
+ ensureActivePeriodIsMutable();
+ activePeriod_.remove(index);
+ onChanged();
+ } else {
+ activePeriodBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TimeRange.Builder getActivePeriodBuilder(
+ int index) {
+ return getActivePeriodFieldBuilder().getBuilder(index);
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TimeRangeOrBuilder getActivePeriodOrBuilder(
+ int index) {
+ if (activePeriodBuilder_ == null) {
+ return activePeriod_.get(index); } else {
+ return activePeriodBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public java.util.List extends com.google.transit.realtime.GtfsRealtime.TimeRangeOrBuilder>
+ getActivePeriodOrBuilderList() {
+ if (activePeriodBuilder_ != null) {
+ return activePeriodBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(activePeriod_);
+ }
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TimeRange.Builder addActivePeriodBuilder() {
+ return getActivePeriodFieldBuilder().addBuilder(
+ com.google.transit.realtime.GtfsRealtime.TimeRange.getDefaultInstance());
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TimeRange.Builder addActivePeriodBuilder(
+ int index) {
+ return getActivePeriodFieldBuilder().addBuilder(
+ index, com.google.transit.realtime.GtfsRealtime.TimeRange.getDefaultInstance());
+ }
+ /**
+ * + * Time when the alert should be shown to the user. If missing, the + * alert will be shown as long as it appears in the feed. + * If multiple ranges are given, the alert will be shown during all of them. + *+ * + *
repeated .transit_realtime.TimeRange active_period = 1;
+ */
+ public java.util.List+ * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public java.util.List+ * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public int getInformedEntityCount() {
+ if (informedEntityBuilder_ == null) {
+ return informedEntity_.size();
+ } else {
+ return informedEntityBuilder_.getCount();
+ }
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public com.google.transit.realtime.GtfsRealtime.EntitySelector getInformedEntity(int index) {
+ if (informedEntityBuilder_ == null) {
+ return informedEntity_.get(index);
+ } else {
+ return informedEntityBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public Builder setInformedEntity(
+ int index, com.google.transit.realtime.GtfsRealtime.EntitySelector value) {
+ if (informedEntityBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInformedEntityIsMutable();
+ informedEntity_.set(index, value);
+ onChanged();
+ } else {
+ informedEntityBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public Builder setInformedEntity(
+ int index, com.google.transit.realtime.GtfsRealtime.EntitySelector.Builder builderForValue) {
+ if (informedEntityBuilder_ == null) {
+ ensureInformedEntityIsMutable();
+ informedEntity_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ informedEntityBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public Builder addInformedEntity(com.google.transit.realtime.GtfsRealtime.EntitySelector value) {
+ if (informedEntityBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInformedEntityIsMutable();
+ informedEntity_.add(value);
+ onChanged();
+ } else {
+ informedEntityBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public Builder addInformedEntity(
+ int index, com.google.transit.realtime.GtfsRealtime.EntitySelector value) {
+ if (informedEntityBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInformedEntityIsMutable();
+ informedEntity_.add(index, value);
+ onChanged();
+ } else {
+ informedEntityBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public Builder addInformedEntity(
+ com.google.transit.realtime.GtfsRealtime.EntitySelector.Builder builderForValue) {
+ if (informedEntityBuilder_ == null) {
+ ensureInformedEntityIsMutable();
+ informedEntity_.add(builderForValue.build());
+ onChanged();
+ } else {
+ informedEntityBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public Builder addInformedEntity(
+ int index, com.google.transit.realtime.GtfsRealtime.EntitySelector.Builder builderForValue) {
+ if (informedEntityBuilder_ == null) {
+ ensureInformedEntityIsMutable();
+ informedEntity_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ informedEntityBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public Builder addAllInformedEntity(
+ java.lang.Iterable extends com.google.transit.realtime.GtfsRealtime.EntitySelector> values) {
+ if (informedEntityBuilder_ == null) {
+ ensureInformedEntityIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, informedEntity_);
+ onChanged();
+ } else {
+ informedEntityBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public Builder clearInformedEntity() {
+ if (informedEntityBuilder_ == null) {
+ informedEntity_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ } else {
+ informedEntityBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public Builder removeInformedEntity(int index) {
+ if (informedEntityBuilder_ == null) {
+ ensureInformedEntityIsMutable();
+ informedEntity_.remove(index);
+ onChanged();
+ } else {
+ informedEntityBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public com.google.transit.realtime.GtfsRealtime.EntitySelector.Builder getInformedEntityBuilder(
+ int index) {
+ return getInformedEntityFieldBuilder().getBuilder(index);
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public com.google.transit.realtime.GtfsRealtime.EntitySelectorOrBuilder getInformedEntityOrBuilder(
+ int index) {
+ if (informedEntityBuilder_ == null) {
+ return informedEntity_.get(index); } else {
+ return informedEntityBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public java.util.List extends com.google.transit.realtime.GtfsRealtime.EntitySelectorOrBuilder>
+ getInformedEntityOrBuilderList() {
+ if (informedEntityBuilder_ != null) {
+ return informedEntityBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(informedEntity_);
+ }
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public com.google.transit.realtime.GtfsRealtime.EntitySelector.Builder addInformedEntityBuilder() {
+ return getInformedEntityFieldBuilder().addBuilder(
+ com.google.transit.realtime.GtfsRealtime.EntitySelector.getDefaultInstance());
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public com.google.transit.realtime.GtfsRealtime.EntitySelector.Builder addInformedEntityBuilder(
+ int index) {
+ return getInformedEntityFieldBuilder().addBuilder(
+ index, com.google.transit.realtime.GtfsRealtime.EntitySelector.getDefaultInstance());
+ }
+ /**
+ * + * Entities whose users we should notify of this alert. + *+ * + *
repeated .transit_realtime.EntitySelector informed_entity = 5;
+ */
+ public java.util.Listoptional .transit_realtime.Alert.Cause cause = 6 [default = UNKNOWN_CAUSE];
+ * @return Whether the cause field is set.
+ */
+ @java.lang.Override public boolean hasCause() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * optional .transit_realtime.Alert.Cause cause = 6 [default = UNKNOWN_CAUSE];
+ * @return The cause.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.Alert.Cause getCause() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.Alert.Cause result = com.google.transit.realtime.GtfsRealtime.Alert.Cause.valueOf(cause_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.Alert.Cause.UNKNOWN_CAUSE : result;
+ }
+ /**
+ * optional .transit_realtime.Alert.Cause cause = 6 [default = UNKNOWN_CAUSE];
+ * @param value The cause to set.
+ * @return This builder for chaining.
+ */
+ public Builder setCause(com.google.transit.realtime.GtfsRealtime.Alert.Cause value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000004;
+ cause_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * optional .transit_realtime.Alert.Cause cause = 6 [default = UNKNOWN_CAUSE];
+ * @return This builder for chaining.
+ */
+ public Builder clearCause() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ cause_ = 1;
+ onChanged();
+ return this;
+ }
+
+ private int effect_ = 8;
+ /**
+ * optional .transit_realtime.Alert.Effect effect = 7 [default = UNKNOWN_EFFECT];
+ * @return Whether the effect field is set.
+ */
+ @java.lang.Override public boolean hasEffect() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * optional .transit_realtime.Alert.Effect effect = 7 [default = UNKNOWN_EFFECT];
+ * @return The effect.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.Alert.Effect getEffect() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.Alert.Effect result = com.google.transit.realtime.GtfsRealtime.Alert.Effect.valueOf(effect_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.Alert.Effect.UNKNOWN_EFFECT : result;
+ }
+ /**
+ * optional .transit_realtime.Alert.Effect effect = 7 [default = UNKNOWN_EFFECT];
+ * @param value The effect to set.
+ * @return This builder for chaining.
+ */
+ public Builder setEffect(com.google.transit.realtime.GtfsRealtime.Alert.Effect value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000008;
+ effect_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * optional .transit_realtime.Alert.Effect effect = 7 [default = UNKNOWN_EFFECT];
+ * @return This builder for chaining.
+ */
+ public Builder clearEffect() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ effect_ = 8;
+ onChanged();
+ return this;
+ }
+
+ private com.google.transit.realtime.GtfsRealtime.TranslatedString url_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TranslatedString, com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder, com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder> urlBuilder_;
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ * @return Whether the url field is set.
+ */
+ public boolean hasUrl() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ * @return The url.
+ */
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString getUrl() {
+ if (urlBuilder_ == null) {
+ return url_ == null ? com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance() : url_;
+ } else {
+ return urlBuilder_.getMessage();
+ }
+ }
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ */
+ public Builder setUrl(com.google.transit.realtime.GtfsRealtime.TranslatedString value) {
+ if (urlBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ url_ = value;
+ onChanged();
+ } else {
+ urlBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ */
+ public Builder setUrl(
+ com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder builderForValue) {
+ if (urlBuilder_ == null) {
+ url_ = builderForValue.build();
+ onChanged();
+ } else {
+ urlBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ */
+ public Builder mergeUrl(com.google.transit.realtime.GtfsRealtime.TranslatedString value) {
+ if (urlBuilder_ == null) {
+ if (((bitField0_ & 0x00000010) != 0) &&
+ url_ != null &&
+ url_ != com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance()) {
+ url_ =
+ com.google.transit.realtime.GtfsRealtime.TranslatedString.newBuilder(url_).mergeFrom(value).buildPartial();
+ } else {
+ url_ = value;
+ }
+ onChanged();
+ } else {
+ urlBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ */
+ public Builder clearUrl() {
+ if (urlBuilder_ == null) {
+ url_ = null;
+ onChanged();
+ } else {
+ urlBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000010);
+ return this;
+ }
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder getUrlBuilder() {
+ bitField0_ |= 0x00000010;
+ onChanged();
+ return getUrlFieldBuilder().getBuilder();
+ }
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder getUrlOrBuilder() {
+ if (urlBuilder_ != null) {
+ return urlBuilder_.getMessageOrBuilder();
+ } else {
+ return url_ == null ?
+ com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance() : url_;
+ }
+ }
+ /**
+ * + * The URL which provides additional information about the alert. + *+ * + *
optional .transit_realtime.TranslatedString url = 8;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TranslatedString, com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder, com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder>
+ getUrlFieldBuilder() {
+ if (urlBuilder_ == null) {
+ urlBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TranslatedString, com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder, com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder>(
+ getUrl(),
+ getParentForChildren(),
+ isClean());
+ url_ = null;
+ }
+ return urlBuilder_;
+ }
+
+ private com.google.transit.realtime.GtfsRealtime.TranslatedString headerText_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TranslatedString, com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder, com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder> headerTextBuilder_;
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ * @return Whether the headerText field is set.
+ */
+ public boolean hasHeaderText() {
+ return ((bitField0_ & 0x00000020) != 0);
+ }
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ * @return The headerText.
+ */
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString getHeaderText() {
+ if (headerTextBuilder_ == null) {
+ return headerText_ == null ? com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance() : headerText_;
+ } else {
+ return headerTextBuilder_.getMessage();
+ }
+ }
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ */
+ public Builder setHeaderText(com.google.transit.realtime.GtfsRealtime.TranslatedString value) {
+ if (headerTextBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ headerText_ = value;
+ onChanged();
+ } else {
+ headerTextBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000020;
+ return this;
+ }
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ */
+ public Builder setHeaderText(
+ com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder builderForValue) {
+ if (headerTextBuilder_ == null) {
+ headerText_ = builderForValue.build();
+ onChanged();
+ } else {
+ headerTextBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000020;
+ return this;
+ }
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ */
+ public Builder mergeHeaderText(com.google.transit.realtime.GtfsRealtime.TranslatedString value) {
+ if (headerTextBuilder_ == null) {
+ if (((bitField0_ & 0x00000020) != 0) &&
+ headerText_ != null &&
+ headerText_ != com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance()) {
+ headerText_ =
+ com.google.transit.realtime.GtfsRealtime.TranslatedString.newBuilder(headerText_).mergeFrom(value).buildPartial();
+ } else {
+ headerText_ = value;
+ }
+ onChanged();
+ } else {
+ headerTextBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000020;
+ return this;
+ }
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ */
+ public Builder clearHeaderText() {
+ if (headerTextBuilder_ == null) {
+ headerText_ = null;
+ onChanged();
+ } else {
+ headerTextBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000020);
+ return this;
+ }
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder getHeaderTextBuilder() {
+ bitField0_ |= 0x00000020;
+ onChanged();
+ return getHeaderTextFieldBuilder().getBuilder();
+ }
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder getHeaderTextOrBuilder() {
+ if (headerTextBuilder_ != null) {
+ return headerTextBuilder_.getMessageOrBuilder();
+ } else {
+ return headerText_ == null ?
+ com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance() : headerText_;
+ }
+ }
+ /**
+ * + * Alert header. Contains a short summary of the alert text as plain-text. + *+ * + *
optional .transit_realtime.TranslatedString header_text = 10;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TranslatedString, com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder, com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder>
+ getHeaderTextFieldBuilder() {
+ if (headerTextBuilder_ == null) {
+ headerTextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TranslatedString, com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder, com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder>(
+ getHeaderText(),
+ getParentForChildren(),
+ isClean());
+ headerText_ = null;
+ }
+ return headerTextBuilder_;
+ }
+
+ private com.google.transit.realtime.GtfsRealtime.TranslatedString descriptionText_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TranslatedString, com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder, com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder> descriptionTextBuilder_;
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ * @return Whether the descriptionText field is set.
+ */
+ public boolean hasDescriptionText() {
+ return ((bitField0_ & 0x00000040) != 0);
+ }
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ * @return The descriptionText.
+ */
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString getDescriptionText() {
+ if (descriptionTextBuilder_ == null) {
+ return descriptionText_ == null ? com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance() : descriptionText_;
+ } else {
+ return descriptionTextBuilder_.getMessage();
+ }
+ }
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ */
+ public Builder setDescriptionText(com.google.transit.realtime.GtfsRealtime.TranslatedString value) {
+ if (descriptionTextBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ descriptionText_ = value;
+ onChanged();
+ } else {
+ descriptionTextBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000040;
+ return this;
+ }
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ */
+ public Builder setDescriptionText(
+ com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder builderForValue) {
+ if (descriptionTextBuilder_ == null) {
+ descriptionText_ = builderForValue.build();
+ onChanged();
+ } else {
+ descriptionTextBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000040;
+ return this;
+ }
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ */
+ public Builder mergeDescriptionText(com.google.transit.realtime.GtfsRealtime.TranslatedString value) {
+ if (descriptionTextBuilder_ == null) {
+ if (((bitField0_ & 0x00000040) != 0) &&
+ descriptionText_ != null &&
+ descriptionText_ != com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance()) {
+ descriptionText_ =
+ com.google.transit.realtime.GtfsRealtime.TranslatedString.newBuilder(descriptionText_).mergeFrom(value).buildPartial();
+ } else {
+ descriptionText_ = value;
+ }
+ onChanged();
+ } else {
+ descriptionTextBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000040;
+ return this;
+ }
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ */
+ public Builder clearDescriptionText() {
+ if (descriptionTextBuilder_ == null) {
+ descriptionText_ = null;
+ onChanged();
+ } else {
+ descriptionTextBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder getDescriptionTextBuilder() {
+ bitField0_ |= 0x00000040;
+ onChanged();
+ return getDescriptionTextFieldBuilder().getBuilder();
+ }
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder getDescriptionTextOrBuilder() {
+ if (descriptionTextBuilder_ != null) {
+ return descriptionTextBuilder_.getMessageOrBuilder();
+ } else {
+ return descriptionText_ == null ?
+ com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance() : descriptionText_;
+ }
+ }
+ /**
+ * + * Full description for the alert as plain-text. The information in the + * description should add to the information of the header. + *+ * + *
optional .transit_realtime.TranslatedString description_text = 11;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TranslatedString, com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder, com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder>
+ getDescriptionTextFieldBuilder() {
+ if (descriptionTextBuilder_ == null) {
+ descriptionTextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TranslatedString, com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder, com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder>(
+ getDescriptionText(),
+ getParentForChildren(),
+ isClean());
+ descriptionText_ = null;
+ }
+ return descriptionTextBuilder_;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:transit_realtime.Alert)
+ }
+
+ // @@protoc_insertion_point(class_scope:transit_realtime.Alert)
+ private static final com.google.transit.realtime.GtfsRealtime.Alert DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.google.transit.realtime.GtfsRealtime.Alert();
+ }
+
+ public static com.google.transit.realtime.GtfsRealtime.Alert getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser+ * Start time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval starts at minus infinity. + *+ * + *
optional uint64 start = 1;
+ * @return Whether the start field is set.
+ */
+ boolean hasStart();
+ /**
+ * + * Start time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval starts at minus infinity. + *+ * + *
optional uint64 start = 1;
+ * @return The start.
+ */
+ long getStart();
+
+ /**
+ * + * End time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval ends at plus infinity. + *+ * + *
optional uint64 end = 2;
+ * @return Whether the end field is set.
+ */
+ boolean hasEnd();
+ /**
+ * + * End time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval ends at plus infinity. + *+ * + *
optional uint64 end = 2;
+ * @return The end.
+ */
+ long getEnd();
+ }
+ /**
+ * + * A time interval. The interval is considered active at time 't' if 't' is + * greater than or equal to the start time and less than the end time. + *+ * + * Protobuf type {@code transit_realtime.TimeRange} + */ + public static final class TimeRange extends + com.google.protobuf.GeneratedMessageV3.ExtendableMessage< + TimeRange> implements + // @@protoc_insertion_point(message_implements:transit_realtime.TimeRange) + TimeRangeOrBuilder { + private static final long serialVersionUID = 0L; + // Use TimeRange.newBuilder() to construct. + private TimeRange(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
+ * Start time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval starts at minus infinity. + *+ * + *
optional uint64 start = 1;
+ * @return Whether the start field is set.
+ */
+ @java.lang.Override
+ public boolean hasStart() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * Start time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval starts at minus infinity. + *+ * + *
optional uint64 start = 1;
+ * @return The start.
+ */
+ @java.lang.Override
+ public long getStart() {
+ return start_;
+ }
+
+ public static final int END_FIELD_NUMBER = 2;
+ private long end_;
+ /**
+ * + * End time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval ends at plus infinity. + *+ * + *
optional uint64 end = 2;
+ * @return Whether the end field is set.
+ */
+ @java.lang.Override
+ public boolean hasEnd() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * End time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval ends at plus infinity. + *+ * + *
optional uint64 end = 2;
+ * @return The end.
+ */
+ @java.lang.Override
+ public long getEnd() {
+ return end_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * A time interval. The interval is considered active at time 't' if 't' is + * greater than or equal to the start time and less than the end time. + *+ * + * Protobuf type {@code transit_realtime.TimeRange} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.ExtendableBuilder< + com.google.transit.realtime.GtfsRealtime.TimeRange, Builder> implements + // @@protoc_insertion_point(builder_implements:transit_realtime.TimeRange) + com.google.transit.realtime.GtfsRealtime.TimeRangeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TimeRange_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TimeRange_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.transit.realtime.GtfsRealtime.TimeRange.class, com.google.transit.realtime.GtfsRealtime.TimeRange.Builder.class); + } + + // Construct using com.google.transit.realtime.GtfsRealtime.TimeRange.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + start_ = 0L; + bitField0_ = (bitField0_ & ~0x00000001); + end_ = 0L; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TimeRange_descriptor; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TimeRange getDefaultInstanceForType() { + return com.google.transit.realtime.GtfsRealtime.TimeRange.getDefaultInstance(); + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TimeRange build() { + com.google.transit.realtime.GtfsRealtime.TimeRange result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TimeRange buildPartial() { + com.google.transit.realtime.GtfsRealtime.TimeRange result = new com.google.transit.realtime.GtfsRealtime.TimeRange(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.start_ = start_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.end_ = end_; + to_bitField0_ |= 0x00000002; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public
+ * Start time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval starts at minus infinity. + *+ * + *
optional uint64 start = 1;
+ * @return Whether the start field is set.
+ */
+ @java.lang.Override
+ public boolean hasStart() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * Start time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval starts at minus infinity. + *+ * + *
optional uint64 start = 1;
+ * @return The start.
+ */
+ @java.lang.Override
+ public long getStart() {
+ return start_;
+ }
+ /**
+ * + * Start time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval starts at minus infinity. + *+ * + *
optional uint64 start = 1;
+ * @param value The start to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStart(long value) {
+ bitField0_ |= 0x00000001;
+ start_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Start time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval starts at minus infinity. + *+ * + *
optional uint64 start = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearStart() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ start_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long end_ ;
+ /**
+ * + * End time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval ends at plus infinity. + *+ * + *
optional uint64 end = 2;
+ * @return Whether the end field is set.
+ */
+ @java.lang.Override
+ public boolean hasEnd() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * End time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval ends at plus infinity. + *+ * + *
optional uint64 end = 2;
+ * @return The end.
+ */
+ @java.lang.Override
+ public long getEnd() {
+ return end_;
+ }
+ /**
+ * + * End time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval ends at plus infinity. + *+ * + *
optional uint64 end = 2;
+ * @param value The end to set.
+ * @return This builder for chaining.
+ */
+ public Builder setEnd(long value) {
+ bitField0_ |= 0x00000002;
+ end_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * End time, in POSIX time (i.e., number of seconds since January 1st 1970 + * 00:00:00 UTC). + * If missing, the interval ends at plus infinity. + *+ * + *
optional uint64 end = 2;
+ * @return This builder for chaining.
+ */
+ public Builder clearEnd() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ end_ = 0L;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:transit_realtime.TimeRange)
+ }
+
+ // @@protoc_insertion_point(class_scope:transit_realtime.TimeRange)
+ private static final com.google.transit.realtime.GtfsRealtime.TimeRange DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.google.transit.realtime.GtfsRealtime.TimeRange();
+ }
+
+ public static com.google.transit.realtime.GtfsRealtime.TimeRange getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser+ * Degrees North, in the WGS-84 coordinate system. + *+ * + *
required float latitude = 1;
+ * @return Whether the latitude field is set.
+ */
+ boolean hasLatitude();
+ /**
+ * + * Degrees North, in the WGS-84 coordinate system. + *+ * + *
required float latitude = 1;
+ * @return The latitude.
+ */
+ float getLatitude();
+
+ /**
+ * + * Degrees East, in the WGS-84 coordinate system. + *+ * + *
required float longitude = 2;
+ * @return Whether the longitude field is set.
+ */
+ boolean hasLongitude();
+ /**
+ * + * Degrees East, in the WGS-84 coordinate system. + *+ * + *
required float longitude = 2;
+ * @return The longitude.
+ */
+ float getLongitude();
+
+ /**
+ * + * Bearing, in degrees, clockwise from North, i.e., 0 is North and 90 is East. + * This can be the compass bearing, or the direction towards the next stop + * or intermediate location. + * This should not be direction deduced from the sequence of previous + * positions, which can be computed from previous data. + *+ * + *
optional float bearing = 3;
+ * @return Whether the bearing field is set.
+ */
+ boolean hasBearing();
+ /**
+ * + * Bearing, in degrees, clockwise from North, i.e., 0 is North and 90 is East. + * This can be the compass bearing, or the direction towards the next stop + * or intermediate location. + * This should not be direction deduced from the sequence of previous + * positions, which can be computed from previous data. + *+ * + *
optional float bearing = 3;
+ * @return The bearing.
+ */
+ float getBearing();
+
+ /**
+ * + * Odometer value, in meters. + *+ * + *
optional double odometer = 4;
+ * @return Whether the odometer field is set.
+ */
+ boolean hasOdometer();
+ /**
+ * + * Odometer value, in meters. + *+ * + *
optional double odometer = 4;
+ * @return The odometer.
+ */
+ double getOdometer();
+
+ /**
+ * + * Momentary speed measured by the vehicle, in meters per second. + *+ * + *
optional float speed = 5;
+ * @return Whether the speed field is set.
+ */
+ boolean hasSpeed();
+ /**
+ * + * Momentary speed measured by the vehicle, in meters per second. + *+ * + *
optional float speed = 5;
+ * @return The speed.
+ */
+ float getSpeed();
+ }
+ /**
+ * + * A position. + *+ * + * Protobuf type {@code transit_realtime.Position} + */ + public static final class Position extends + com.google.protobuf.GeneratedMessageV3.ExtendableMessage< + Position> implements + // @@protoc_insertion_point(message_implements:transit_realtime.Position) + PositionOrBuilder { + private static final long serialVersionUID = 0L; + // Use Position.newBuilder() to construct. + private Position(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
+ * Degrees North, in the WGS-84 coordinate system. + *+ * + *
required float latitude = 1;
+ * @return Whether the latitude field is set.
+ */
+ @java.lang.Override
+ public boolean hasLatitude() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * Degrees North, in the WGS-84 coordinate system. + *+ * + *
required float latitude = 1;
+ * @return The latitude.
+ */
+ @java.lang.Override
+ public float getLatitude() {
+ return latitude_;
+ }
+
+ public static final int LONGITUDE_FIELD_NUMBER = 2;
+ private float longitude_;
+ /**
+ * + * Degrees East, in the WGS-84 coordinate system. + *+ * + *
required float longitude = 2;
+ * @return Whether the longitude field is set.
+ */
+ @java.lang.Override
+ public boolean hasLongitude() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * Degrees East, in the WGS-84 coordinate system. + *+ * + *
required float longitude = 2;
+ * @return The longitude.
+ */
+ @java.lang.Override
+ public float getLongitude() {
+ return longitude_;
+ }
+
+ public static final int BEARING_FIELD_NUMBER = 3;
+ private float bearing_;
+ /**
+ * + * Bearing, in degrees, clockwise from North, i.e., 0 is North and 90 is East. + * This can be the compass bearing, or the direction towards the next stop + * or intermediate location. + * This should not be direction deduced from the sequence of previous + * positions, which can be computed from previous data. + *+ * + *
optional float bearing = 3;
+ * @return Whether the bearing field is set.
+ */
+ @java.lang.Override
+ public boolean hasBearing() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * Bearing, in degrees, clockwise from North, i.e., 0 is North and 90 is East. + * This can be the compass bearing, or the direction towards the next stop + * or intermediate location. + * This should not be direction deduced from the sequence of previous + * positions, which can be computed from previous data. + *+ * + *
optional float bearing = 3;
+ * @return The bearing.
+ */
+ @java.lang.Override
+ public float getBearing() {
+ return bearing_;
+ }
+
+ public static final int ODOMETER_FIELD_NUMBER = 4;
+ private double odometer_;
+ /**
+ * + * Odometer value, in meters. + *+ * + *
optional double odometer = 4;
+ * @return Whether the odometer field is set.
+ */
+ @java.lang.Override
+ public boolean hasOdometer() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * + * Odometer value, in meters. + *+ * + *
optional double odometer = 4;
+ * @return The odometer.
+ */
+ @java.lang.Override
+ public double getOdometer() {
+ return odometer_;
+ }
+
+ public static final int SPEED_FIELD_NUMBER = 5;
+ private float speed_;
+ /**
+ * + * Momentary speed measured by the vehicle, in meters per second. + *+ * + *
optional float speed = 5;
+ * @return Whether the speed field is set.
+ */
+ @java.lang.Override
+ public boolean hasSpeed() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * + * Momentary speed measured by the vehicle, in meters per second. + *+ * + *
optional float speed = 5;
+ * @return The speed.
+ */
+ @java.lang.Override
+ public float getSpeed() {
+ return speed_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ if (!hasLatitude()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!hasLongitude()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * A position. + *+ * + * Protobuf type {@code transit_realtime.Position} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.ExtendableBuilder< + com.google.transit.realtime.GtfsRealtime.Position, Builder> implements + // @@protoc_insertion_point(builder_implements:transit_realtime.Position) + com.google.transit.realtime.GtfsRealtime.PositionOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_Position_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_Position_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.transit.realtime.GtfsRealtime.Position.class, com.google.transit.realtime.GtfsRealtime.Position.Builder.class); + } + + // Construct using com.google.transit.realtime.GtfsRealtime.Position.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + latitude_ = 0F; + bitField0_ = (bitField0_ & ~0x00000001); + longitude_ = 0F; + bitField0_ = (bitField0_ & ~0x00000002); + bearing_ = 0F; + bitField0_ = (bitField0_ & ~0x00000004); + odometer_ = 0D; + bitField0_ = (bitField0_ & ~0x00000008); + speed_ = 0F; + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_Position_descriptor; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.Position getDefaultInstanceForType() { + return com.google.transit.realtime.GtfsRealtime.Position.getDefaultInstance(); + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.Position build() { + com.google.transit.realtime.GtfsRealtime.Position result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.Position buildPartial() { + com.google.transit.realtime.GtfsRealtime.Position result = new com.google.transit.realtime.GtfsRealtime.Position(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.latitude_ = latitude_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.longitude_ = longitude_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.bearing_ = bearing_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.odometer_ = odometer_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.speed_ = speed_; + to_bitField0_ |= 0x00000010; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public
+ * Degrees North, in the WGS-84 coordinate system. + *+ * + *
required float latitude = 1;
+ * @return Whether the latitude field is set.
+ */
+ @java.lang.Override
+ public boolean hasLatitude() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * Degrees North, in the WGS-84 coordinate system. + *+ * + *
required float latitude = 1;
+ * @return The latitude.
+ */
+ @java.lang.Override
+ public float getLatitude() {
+ return latitude_;
+ }
+ /**
+ * + * Degrees North, in the WGS-84 coordinate system. + *+ * + *
required float latitude = 1;
+ * @param value The latitude to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLatitude(float value) {
+ bitField0_ |= 0x00000001;
+ latitude_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Degrees North, in the WGS-84 coordinate system. + *+ * + *
required float latitude = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearLatitude() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ latitude_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private float longitude_ ;
+ /**
+ * + * Degrees East, in the WGS-84 coordinate system. + *+ * + *
required float longitude = 2;
+ * @return Whether the longitude field is set.
+ */
+ @java.lang.Override
+ public boolean hasLongitude() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * Degrees East, in the WGS-84 coordinate system. + *+ * + *
required float longitude = 2;
+ * @return The longitude.
+ */
+ @java.lang.Override
+ public float getLongitude() {
+ return longitude_;
+ }
+ /**
+ * + * Degrees East, in the WGS-84 coordinate system. + *+ * + *
required float longitude = 2;
+ * @param value The longitude to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLongitude(float value) {
+ bitField0_ |= 0x00000002;
+ longitude_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Degrees East, in the WGS-84 coordinate system. + *+ * + *
required float longitude = 2;
+ * @return This builder for chaining.
+ */
+ public Builder clearLongitude() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ longitude_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private float bearing_ ;
+ /**
+ * + * Bearing, in degrees, clockwise from North, i.e., 0 is North and 90 is East. + * This can be the compass bearing, or the direction towards the next stop + * or intermediate location. + * This should not be direction deduced from the sequence of previous + * positions, which can be computed from previous data. + *+ * + *
optional float bearing = 3;
+ * @return Whether the bearing field is set.
+ */
+ @java.lang.Override
+ public boolean hasBearing() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * Bearing, in degrees, clockwise from North, i.e., 0 is North and 90 is East. + * This can be the compass bearing, or the direction towards the next stop + * or intermediate location. + * This should not be direction deduced from the sequence of previous + * positions, which can be computed from previous data. + *+ * + *
optional float bearing = 3;
+ * @return The bearing.
+ */
+ @java.lang.Override
+ public float getBearing() {
+ return bearing_;
+ }
+ /**
+ * + * Bearing, in degrees, clockwise from North, i.e., 0 is North and 90 is East. + * This can be the compass bearing, or the direction towards the next stop + * or intermediate location. + * This should not be direction deduced from the sequence of previous + * positions, which can be computed from previous data. + *+ * + *
optional float bearing = 3;
+ * @param value The bearing to set.
+ * @return This builder for chaining.
+ */
+ public Builder setBearing(float value) {
+ bitField0_ |= 0x00000004;
+ bearing_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Bearing, in degrees, clockwise from North, i.e., 0 is North and 90 is East. + * This can be the compass bearing, or the direction towards the next stop + * or intermediate location. + * This should not be direction deduced from the sequence of previous + * positions, which can be computed from previous data. + *+ * + *
optional float bearing = 3;
+ * @return This builder for chaining.
+ */
+ public Builder clearBearing() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ bearing_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private double odometer_ ;
+ /**
+ * + * Odometer value, in meters. + *+ * + *
optional double odometer = 4;
+ * @return Whether the odometer field is set.
+ */
+ @java.lang.Override
+ public boolean hasOdometer() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * + * Odometer value, in meters. + *+ * + *
optional double odometer = 4;
+ * @return The odometer.
+ */
+ @java.lang.Override
+ public double getOdometer() {
+ return odometer_;
+ }
+ /**
+ * + * Odometer value, in meters. + *+ * + *
optional double odometer = 4;
+ * @param value The odometer to set.
+ * @return This builder for chaining.
+ */
+ public Builder setOdometer(double value) {
+ bitField0_ |= 0x00000008;
+ odometer_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Odometer value, in meters. + *+ * + *
optional double odometer = 4;
+ * @return This builder for chaining.
+ */
+ public Builder clearOdometer() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ odometer_ = 0D;
+ onChanged();
+ return this;
+ }
+
+ private float speed_ ;
+ /**
+ * + * Momentary speed measured by the vehicle, in meters per second. + *+ * + *
optional float speed = 5;
+ * @return Whether the speed field is set.
+ */
+ @java.lang.Override
+ public boolean hasSpeed() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * + * Momentary speed measured by the vehicle, in meters per second. + *+ * + *
optional float speed = 5;
+ * @return The speed.
+ */
+ @java.lang.Override
+ public float getSpeed() {
+ return speed_;
+ }
+ /**
+ * + * Momentary speed measured by the vehicle, in meters per second. + *+ * + *
optional float speed = 5;
+ * @param value The speed to set.
+ * @return This builder for chaining.
+ */
+ public Builder setSpeed(float value) {
+ bitField0_ |= 0x00000010;
+ speed_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Momentary speed measured by the vehicle, in meters per second. + *+ * + *
optional float speed = 5;
+ * @return This builder for chaining.
+ */
+ public Builder clearSpeed() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ speed_ = 0F;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:transit_realtime.Position)
+ }
+
+ // @@protoc_insertion_point(class_scope:transit_realtime.Position)
+ private static final com.google.transit.realtime.GtfsRealtime.Position DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.google.transit.realtime.GtfsRealtime.Position();
+ }
+
+ public static com.google.transit.realtime.GtfsRealtime.Position getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser+ * The trip_id from the GTFS feed that this selector refers to. + * For non frequency-based trips, this field is enough to uniquely identify + * the trip. For frequency-based trip, start_time and start_date might also be + * necessary. + *+ * + *
optional string trip_id = 1;
+ * @return Whether the tripId field is set.
+ */
+ boolean hasTripId();
+ /**
+ * + * The trip_id from the GTFS feed that this selector refers to. + * For non frequency-based trips, this field is enough to uniquely identify + * the trip. For frequency-based trip, start_time and start_date might also be + * necessary. + *+ * + *
optional string trip_id = 1;
+ * @return The tripId.
+ */
+ java.lang.String getTripId();
+ /**
+ * + * The trip_id from the GTFS feed that this selector refers to. + * For non frequency-based trips, this field is enough to uniquely identify + * the trip. For frequency-based trip, start_time and start_date might also be + * necessary. + *+ * + *
optional string trip_id = 1;
+ * @return The bytes for tripId.
+ */
+ com.google.protobuf.ByteString
+ getTripIdBytes();
+
+ /**
+ * + * The route_id from the GTFS that this selector refers to. + *+ * + *
optional string route_id = 5;
+ * @return Whether the routeId field is set.
+ */
+ boolean hasRouteId();
+ /**
+ * + * The route_id from the GTFS that this selector refers to. + *+ * + *
optional string route_id = 5;
+ * @return The routeId.
+ */
+ java.lang.String getRouteId();
+ /**
+ * + * The route_id from the GTFS that this selector refers to. + *+ * + *
optional string route_id = 5;
+ * @return The bytes for routeId.
+ */
+ com.google.protobuf.ByteString
+ getRouteIdBytes();
+
+ /**
+ * + * The direction_id from the GTFS feed trips.txt file, indicating the + * direction of travel for trips this selector refers to. This field is + * still experimental, and subject to change. It may be formally adopted in + * the future. + *+ * + *
optional uint32 direction_id = 6;
+ * @return Whether the directionId field is set.
+ */
+ boolean hasDirectionId();
+ /**
+ * + * The direction_id from the GTFS feed trips.txt file, indicating the + * direction of travel for trips this selector refers to. This field is + * still experimental, and subject to change. It may be formally adopted in + * the future. + *+ * + *
optional uint32 direction_id = 6;
+ * @return The directionId.
+ */
+ int getDirectionId();
+
+ /**
+ * + * The initially scheduled start time of this trip instance. + * When the trip_id corresponds to a non-frequency-based trip, this field + * should either be omitted or be equal to the value in the GTFS feed. When + * the trip_id corresponds to a frequency-based trip, the start_time must be + * specified for trip updates and vehicle positions. If the trip corresponds + * to exact_times=1 GTFS record, then start_time must be some multiple + * (including zero) of headway_secs later than frequencies.txt start_time for + * the corresponding time period. If the trip corresponds to exact_times=0, + * then its start_time may be arbitrary, and is initially expected to be the + * first departure of the trip. Once established, the start_time of this + * frequency-based trip should be considered immutable, even if the first + * departure time changes -- that time change may instead be reflected in a + * StopTimeUpdate. + * Format and semantics of the field is same as that of + * GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35. + *+ * + *
optional string start_time = 2;
+ * @return Whether the startTime field is set.
+ */
+ boolean hasStartTime();
+ /**
+ * + * The initially scheduled start time of this trip instance. + * When the trip_id corresponds to a non-frequency-based trip, this field + * should either be omitted or be equal to the value in the GTFS feed. When + * the trip_id corresponds to a frequency-based trip, the start_time must be + * specified for trip updates and vehicle positions. If the trip corresponds + * to exact_times=1 GTFS record, then start_time must be some multiple + * (including zero) of headway_secs later than frequencies.txt start_time for + * the corresponding time period. If the trip corresponds to exact_times=0, + * then its start_time may be arbitrary, and is initially expected to be the + * first departure of the trip. Once established, the start_time of this + * frequency-based trip should be considered immutable, even if the first + * departure time changes -- that time change may instead be reflected in a + * StopTimeUpdate. + * Format and semantics of the field is same as that of + * GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35. + *+ * + *
optional string start_time = 2;
+ * @return The startTime.
+ */
+ java.lang.String getStartTime();
+ /**
+ * + * The initially scheduled start time of this trip instance. + * When the trip_id corresponds to a non-frequency-based trip, this field + * should either be omitted or be equal to the value in the GTFS feed. When + * the trip_id corresponds to a frequency-based trip, the start_time must be + * specified for trip updates and vehicle positions. If the trip corresponds + * to exact_times=1 GTFS record, then start_time must be some multiple + * (including zero) of headway_secs later than frequencies.txt start_time for + * the corresponding time period. If the trip corresponds to exact_times=0, + * then its start_time may be arbitrary, and is initially expected to be the + * first departure of the trip. Once established, the start_time of this + * frequency-based trip should be considered immutable, even if the first + * departure time changes -- that time change may instead be reflected in a + * StopTimeUpdate. + * Format and semantics of the field is same as that of + * GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35. + *+ * + *
optional string start_time = 2;
+ * @return The bytes for startTime.
+ */
+ com.google.protobuf.ByteString
+ getStartTimeBytes();
+
+ /**
+ * + * The scheduled start date of this trip instance. + * Must be provided to disambiguate trips that are so late as to collide with + * a scheduled trip on a next day. For example, for a train that departs 8:00 + * and 20:00 every day, and is 12 hours late, there would be two distinct + * trips on the same time. + * This field can be provided but is not mandatory for schedules in which such + * collisions are impossible - for example, a service running on hourly + * schedule where a vehicle that is one hour late is not considered to be + * related to schedule anymore. + * In YYYYMMDD format. + *+ * + *
optional string start_date = 3;
+ * @return Whether the startDate field is set.
+ */
+ boolean hasStartDate();
+ /**
+ * + * The scheduled start date of this trip instance. + * Must be provided to disambiguate trips that are so late as to collide with + * a scheduled trip on a next day. For example, for a train that departs 8:00 + * and 20:00 every day, and is 12 hours late, there would be two distinct + * trips on the same time. + * This field can be provided but is not mandatory for schedules in which such + * collisions are impossible - for example, a service running on hourly + * schedule where a vehicle that is one hour late is not considered to be + * related to schedule anymore. + * In YYYYMMDD format. + *+ * + *
optional string start_date = 3;
+ * @return The startDate.
+ */
+ java.lang.String getStartDate();
+ /**
+ * + * The scheduled start date of this trip instance. + * Must be provided to disambiguate trips that are so late as to collide with + * a scheduled trip on a next day. For example, for a train that departs 8:00 + * and 20:00 every day, and is 12 hours late, there would be two distinct + * trips on the same time. + * This field can be provided but is not mandatory for schedules in which such + * collisions are impossible - for example, a service running on hourly + * schedule where a vehicle that is one hour late is not considered to be + * related to schedule anymore. + * In YYYYMMDD format. + *+ * + *
optional string start_date = 3;
+ * @return The bytes for startDate.
+ */
+ com.google.protobuf.ByteString
+ getStartDateBytes();
+
+ /**
+ * optional .transit_realtime.TripDescriptor.ScheduleRelationship schedule_relationship = 4;
+ * @return Whether the scheduleRelationship field is set.
+ */
+ boolean hasScheduleRelationship();
+ /**
+ * optional .transit_realtime.TripDescriptor.ScheduleRelationship schedule_relationship = 4;
+ * @return The scheduleRelationship.
+ */
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor.ScheduleRelationship getScheduleRelationship();
+ }
+ /**
+ * + * A descriptor that identifies an instance of a GTFS trip, or all instances of + * a trip along a route. + * - To specify a single trip instance, the trip_id (and if necessary, + * start_time) is set. If route_id is also set, then it should be same as one + * that the given trip corresponds to. + * - To specify all the trips along a given route, only the route_id should be + * set. Note that if the trip_id is not known, then stop sequence ids in + * TripUpdate are not sufficient, and stop_ids must be provided as well. In + * addition, absolute arrival/departure times must be provided. + *+ * + * Protobuf type {@code transit_realtime.TripDescriptor} + */ + public static final class TripDescriptor extends + com.google.protobuf.GeneratedMessageV3.ExtendableMessage< + TripDescriptor> implements + // @@protoc_insertion_point(message_implements:transit_realtime.TripDescriptor) + TripDescriptorOrBuilder { + private static final long serialVersionUID = 0L; + // Use TripDescriptor.newBuilder() to construct. + private TripDescriptor(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
+ * The relation between this trip and the static schedule. If a trip is done + * in accordance with temporary schedule, not reflected in GTFS, then it + * shouldn't be marked as SCHEDULED, but likely as ADDED. + *+ * + * Protobuf enum {@code transit_realtime.TripDescriptor.ScheduleRelationship} + */ + public enum ScheduleRelationship + implements com.google.protobuf.ProtocolMessageEnum { + /** + *
+ * Trip that is running in accordance with its GTFS schedule, or is close + * enough to the scheduled trip to be associated with it. + *+ * + *
SCHEDULED = 0;
+ */
+ SCHEDULED(0),
+ /**
+ * + * An extra trip that was added in addition to a running schedule, for + * example, to replace a broken vehicle or to respond to sudden passenger + * load. + *+ * + *
ADDED = 1;
+ */
+ ADDED(1),
+ /**
+ * + * A trip that is running with no schedule associated to it, for example, if + * there is no schedule at all. + *+ * + *
UNSCHEDULED = 2;
+ */
+ UNSCHEDULED(2),
+ /**
+ * + * A trip that existed in the schedule but was removed. + *+ * + *
CANCELED = 3;
+ */
+ CANCELED(3),
+ ;
+
+ /**
+ * + * Trip that is running in accordance with its GTFS schedule, or is close + * enough to the scheduled trip to be associated with it. + *+ * + *
SCHEDULED = 0;
+ */
+ public static final int SCHEDULED_VALUE = 0;
+ /**
+ * + * An extra trip that was added in addition to a running schedule, for + * example, to replace a broken vehicle or to respond to sudden passenger + * load. + *+ * + *
ADDED = 1;
+ */
+ public static final int ADDED_VALUE = 1;
+ /**
+ * + * A trip that is running with no schedule associated to it, for example, if + * there is no schedule at all. + *+ * + *
UNSCHEDULED = 2;
+ */
+ public static final int UNSCHEDULED_VALUE = 2;
+ /**
+ * + * A trip that existed in the schedule but was removed. + *+ * + *
CANCELED = 3;
+ */
+ public static final int CANCELED_VALUE = 3;
+
+
+ public final int getNumber() {
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static ScheduleRelationship valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static ScheduleRelationship forNumber(int value) {
+ switch (value) {
+ case 0: return SCHEDULED;
+ case 1: return ADDED;
+ case 2: return UNSCHEDULED;
+ case 3: return CANCELED;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap+ * The trip_id from the GTFS feed that this selector refers to. + * For non frequency-based trips, this field is enough to uniquely identify + * the trip. For frequency-based trip, start_time and start_date might also be + * necessary. + *+ * + *
optional string trip_id = 1;
+ * @return Whether the tripId field is set.
+ */
+ @java.lang.Override
+ public boolean hasTripId() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * The trip_id from the GTFS feed that this selector refers to. + * For non frequency-based trips, this field is enough to uniquely identify + * the trip. For frequency-based trip, start_time and start_date might also be + * necessary. + *+ * + *
optional string trip_id = 1;
+ * @return The tripId.
+ */
+ @java.lang.Override
+ public java.lang.String getTripId() {
+ java.lang.Object ref = tripId_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ tripId_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * + * The trip_id from the GTFS feed that this selector refers to. + * For non frequency-based trips, this field is enough to uniquely identify + * the trip. For frequency-based trip, start_time and start_date might also be + * necessary. + *+ * + *
optional string trip_id = 1;
+ * @return The bytes for tripId.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getTripIdBytes() {
+ java.lang.Object ref = tripId_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ tripId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ROUTE_ID_FIELD_NUMBER = 5;
+ private volatile java.lang.Object routeId_;
+ /**
+ * + * The route_id from the GTFS that this selector refers to. + *+ * + *
optional string route_id = 5;
+ * @return Whether the routeId field is set.
+ */
+ @java.lang.Override
+ public boolean hasRouteId() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * The route_id from the GTFS that this selector refers to. + *+ * + *
optional string route_id = 5;
+ * @return The routeId.
+ */
+ @java.lang.Override
+ public java.lang.String getRouteId() {
+ java.lang.Object ref = routeId_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ routeId_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * + * The route_id from the GTFS that this selector refers to. + *+ * + *
optional string route_id = 5;
+ * @return The bytes for routeId.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getRouteIdBytes() {
+ java.lang.Object ref = routeId_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ routeId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int DIRECTION_ID_FIELD_NUMBER = 6;
+ private int directionId_;
+ /**
+ * + * The direction_id from the GTFS feed trips.txt file, indicating the + * direction of travel for trips this selector refers to. This field is + * still experimental, and subject to change. It may be formally adopted in + * the future. + *+ * + *
optional uint32 direction_id = 6;
+ * @return Whether the directionId field is set.
+ */
+ @java.lang.Override
+ public boolean hasDirectionId() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * The direction_id from the GTFS feed trips.txt file, indicating the + * direction of travel for trips this selector refers to. This field is + * still experimental, and subject to change. It may be formally adopted in + * the future. + *+ * + *
optional uint32 direction_id = 6;
+ * @return The directionId.
+ */
+ @java.lang.Override
+ public int getDirectionId() {
+ return directionId_;
+ }
+
+ public static final int START_TIME_FIELD_NUMBER = 2;
+ private volatile java.lang.Object startTime_;
+ /**
+ * + * The initially scheduled start time of this trip instance. + * When the trip_id corresponds to a non-frequency-based trip, this field + * should either be omitted or be equal to the value in the GTFS feed. When + * the trip_id corresponds to a frequency-based trip, the start_time must be + * specified for trip updates and vehicle positions. If the trip corresponds + * to exact_times=1 GTFS record, then start_time must be some multiple + * (including zero) of headway_secs later than frequencies.txt start_time for + * the corresponding time period. If the trip corresponds to exact_times=0, + * then its start_time may be arbitrary, and is initially expected to be the + * first departure of the trip. Once established, the start_time of this + * frequency-based trip should be considered immutable, even if the first + * departure time changes -- that time change may instead be reflected in a + * StopTimeUpdate. + * Format and semantics of the field is same as that of + * GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35. + *+ * + *
optional string start_time = 2;
+ * @return Whether the startTime field is set.
+ */
+ @java.lang.Override
+ public boolean hasStartTime() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * + * The initially scheduled start time of this trip instance. + * When the trip_id corresponds to a non-frequency-based trip, this field + * should either be omitted or be equal to the value in the GTFS feed. When + * the trip_id corresponds to a frequency-based trip, the start_time must be + * specified for trip updates and vehicle positions. If the trip corresponds + * to exact_times=1 GTFS record, then start_time must be some multiple + * (including zero) of headway_secs later than frequencies.txt start_time for + * the corresponding time period. If the trip corresponds to exact_times=0, + * then its start_time may be arbitrary, and is initially expected to be the + * first departure of the trip. Once established, the start_time of this + * frequency-based trip should be considered immutable, even if the first + * departure time changes -- that time change may instead be reflected in a + * StopTimeUpdate. + * Format and semantics of the field is same as that of + * GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35. + *+ * + *
optional string start_time = 2;
+ * @return The startTime.
+ */
+ @java.lang.Override
+ public java.lang.String getStartTime() {
+ java.lang.Object ref = startTime_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ startTime_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * + * The initially scheduled start time of this trip instance. + * When the trip_id corresponds to a non-frequency-based trip, this field + * should either be omitted or be equal to the value in the GTFS feed. When + * the trip_id corresponds to a frequency-based trip, the start_time must be + * specified for trip updates and vehicle positions. If the trip corresponds + * to exact_times=1 GTFS record, then start_time must be some multiple + * (including zero) of headway_secs later than frequencies.txt start_time for + * the corresponding time period. If the trip corresponds to exact_times=0, + * then its start_time may be arbitrary, and is initially expected to be the + * first departure of the trip. Once established, the start_time of this + * frequency-based trip should be considered immutable, even if the first + * departure time changes -- that time change may instead be reflected in a + * StopTimeUpdate. + * Format and semantics of the field is same as that of + * GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35. + *+ * + *
optional string start_time = 2;
+ * @return The bytes for startTime.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getStartTimeBytes() {
+ java.lang.Object ref = startTime_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ startTime_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int START_DATE_FIELD_NUMBER = 3;
+ private volatile java.lang.Object startDate_;
+ /**
+ * + * The scheduled start date of this trip instance. + * Must be provided to disambiguate trips that are so late as to collide with + * a scheduled trip on a next day. For example, for a train that departs 8:00 + * and 20:00 every day, and is 12 hours late, there would be two distinct + * trips on the same time. + * This field can be provided but is not mandatory for schedules in which such + * collisions are impossible - for example, a service running on hourly + * schedule where a vehicle that is one hour late is not considered to be + * related to schedule anymore. + * In YYYYMMDD format. + *+ * + *
optional string start_date = 3;
+ * @return Whether the startDate field is set.
+ */
+ @java.lang.Override
+ public boolean hasStartDate() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * + * The scheduled start date of this trip instance. + * Must be provided to disambiguate trips that are so late as to collide with + * a scheduled trip on a next day. For example, for a train that departs 8:00 + * and 20:00 every day, and is 12 hours late, there would be two distinct + * trips on the same time. + * This field can be provided but is not mandatory for schedules in which such + * collisions are impossible - for example, a service running on hourly + * schedule where a vehicle that is one hour late is not considered to be + * related to schedule anymore. + * In YYYYMMDD format. + *+ * + *
optional string start_date = 3;
+ * @return The startDate.
+ */
+ @java.lang.Override
+ public java.lang.String getStartDate() {
+ java.lang.Object ref = startDate_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ startDate_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * + * The scheduled start date of this trip instance. + * Must be provided to disambiguate trips that are so late as to collide with + * a scheduled trip on a next day. For example, for a train that departs 8:00 + * and 20:00 every day, and is 12 hours late, there would be two distinct + * trips on the same time. + * This field can be provided but is not mandatory for schedules in which such + * collisions are impossible - for example, a service running on hourly + * schedule where a vehicle that is one hour late is not considered to be + * related to schedule anymore. + * In YYYYMMDD format. + *+ * + *
optional string start_date = 3;
+ * @return The bytes for startDate.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getStartDateBytes() {
+ java.lang.Object ref = startDate_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ startDate_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int SCHEDULE_RELATIONSHIP_FIELD_NUMBER = 4;
+ private int scheduleRelationship_;
+ /**
+ * optional .transit_realtime.TripDescriptor.ScheduleRelationship schedule_relationship = 4;
+ * @return Whether the scheduleRelationship field is set.
+ */
+ @java.lang.Override public boolean hasScheduleRelationship() {
+ return ((bitField0_ & 0x00000020) != 0);
+ }
+ /**
+ * optional .transit_realtime.TripDescriptor.ScheduleRelationship schedule_relationship = 4;
+ * @return The scheduleRelationship.
+ */
+ @java.lang.Override public com.google.transit.realtime.GtfsRealtime.TripDescriptor.ScheduleRelationship getScheduleRelationship() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor.ScheduleRelationship result = com.google.transit.realtime.GtfsRealtime.TripDescriptor.ScheduleRelationship.valueOf(scheduleRelationship_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.TripDescriptor.ScheduleRelationship.SCHEDULED : result;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * A descriptor that identifies an instance of a GTFS trip, or all instances of + * a trip along a route. + * - To specify a single trip instance, the trip_id (and if necessary, + * start_time) is set. If route_id is also set, then it should be same as one + * that the given trip corresponds to. + * - To specify all the trips along a given route, only the route_id should be + * set. Note that if the trip_id is not known, then stop sequence ids in + * TripUpdate are not sufficient, and stop_ids must be provided as well. In + * addition, absolute arrival/departure times must be provided. + *+ * + * Protobuf type {@code transit_realtime.TripDescriptor} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.ExtendableBuilder< + com.google.transit.realtime.GtfsRealtime.TripDescriptor, Builder> implements + // @@protoc_insertion_point(builder_implements:transit_realtime.TripDescriptor) + com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TripDescriptor_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TripDescriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.transit.realtime.GtfsRealtime.TripDescriptor.class, com.google.transit.realtime.GtfsRealtime.TripDescriptor.Builder.class); + } + + // Construct using com.google.transit.realtime.GtfsRealtime.TripDescriptor.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + tripId_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + routeId_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + directionId_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + startTime_ = ""; + bitField0_ = (bitField0_ & ~0x00000008); + startDate_ = ""; + bitField0_ = (bitField0_ & ~0x00000010); + scheduleRelationship_ = 0; + bitField0_ = (bitField0_ & ~0x00000020); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TripDescriptor_descriptor; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TripDescriptor getDefaultInstanceForType() { + return com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance(); + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TripDescriptor build() { + com.google.transit.realtime.GtfsRealtime.TripDescriptor result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TripDescriptor buildPartial() { + com.google.transit.realtime.GtfsRealtime.TripDescriptor result = new com.google.transit.realtime.GtfsRealtime.TripDescriptor(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.tripId_ = tripId_; + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.routeId_ = routeId_; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.directionId_ = directionId_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + to_bitField0_ |= 0x00000008; + } + result.startTime_ = startTime_; + if (((from_bitField0_ & 0x00000010) != 0)) { + to_bitField0_ |= 0x00000010; + } + result.startDate_ = startDate_; + if (((from_bitField0_ & 0x00000020) != 0)) { + to_bitField0_ |= 0x00000020; + } + result.scheduleRelationship_ = scheduleRelationship_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public
+ * The trip_id from the GTFS feed that this selector refers to. + * For non frequency-based trips, this field is enough to uniquely identify + * the trip. For frequency-based trip, start_time and start_date might also be + * necessary. + *+ * + *
optional string trip_id = 1;
+ * @return Whether the tripId field is set.
+ */
+ public boolean hasTripId() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * The trip_id from the GTFS feed that this selector refers to. + * For non frequency-based trips, this field is enough to uniquely identify + * the trip. For frequency-based trip, start_time and start_date might also be + * necessary. + *+ * + *
optional string trip_id = 1;
+ * @return The tripId.
+ */
+ public java.lang.String getTripId() {
+ java.lang.Object ref = tripId_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ tripId_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * + * The trip_id from the GTFS feed that this selector refers to. + * For non frequency-based trips, this field is enough to uniquely identify + * the trip. For frequency-based trip, start_time and start_date might also be + * necessary. + *+ * + *
optional string trip_id = 1;
+ * @return The bytes for tripId.
+ */
+ public com.google.protobuf.ByteString
+ getTripIdBytes() {
+ java.lang.Object ref = tripId_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ tripId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * + * The trip_id from the GTFS feed that this selector refers to. + * For non frequency-based trips, this field is enough to uniquely identify + * the trip. For frequency-based trip, start_time and start_date might also be + * necessary. + *+ * + *
optional string trip_id = 1;
+ * @param value The tripId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTripId(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ tripId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The trip_id from the GTFS feed that this selector refers to. + * For non frequency-based trips, this field is enough to uniquely identify + * the trip. For frequency-based trip, start_time and start_date might also be + * necessary. + *+ * + *
optional string trip_id = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearTripId() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ tripId_ = getDefaultInstance().getTripId();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The trip_id from the GTFS feed that this selector refers to. + * For non frequency-based trips, this field is enough to uniquely identify + * the trip. For frequency-based trip, start_time and start_date might also be + * necessary. + *+ * + *
optional string trip_id = 1;
+ * @param value The bytes for tripId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTripIdBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ tripId_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object routeId_ = "";
+ /**
+ * + * The route_id from the GTFS that this selector refers to. + *+ * + *
optional string route_id = 5;
+ * @return Whether the routeId field is set.
+ */
+ public boolean hasRouteId() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * The route_id from the GTFS that this selector refers to. + *+ * + *
optional string route_id = 5;
+ * @return The routeId.
+ */
+ public java.lang.String getRouteId() {
+ java.lang.Object ref = routeId_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ routeId_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * + * The route_id from the GTFS that this selector refers to. + *+ * + *
optional string route_id = 5;
+ * @return The bytes for routeId.
+ */
+ public com.google.protobuf.ByteString
+ getRouteIdBytes() {
+ java.lang.Object ref = routeId_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ routeId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * + * The route_id from the GTFS that this selector refers to. + *+ * + *
optional string route_id = 5;
+ * @param value The routeId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRouteId(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ routeId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The route_id from the GTFS that this selector refers to. + *+ * + *
optional string route_id = 5;
+ * @return This builder for chaining.
+ */
+ public Builder clearRouteId() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ routeId_ = getDefaultInstance().getRouteId();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The route_id from the GTFS that this selector refers to. + *+ * + *
optional string route_id = 5;
+ * @param value The bytes for routeId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRouteIdBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ routeId_ = value;
+ onChanged();
+ return this;
+ }
+
+ private int directionId_ ;
+ /**
+ * + * The direction_id from the GTFS feed trips.txt file, indicating the + * direction of travel for trips this selector refers to. This field is + * still experimental, and subject to change. It may be formally adopted in + * the future. + *+ * + *
optional uint32 direction_id = 6;
+ * @return Whether the directionId field is set.
+ */
+ @java.lang.Override
+ public boolean hasDirectionId() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * The direction_id from the GTFS feed trips.txt file, indicating the + * direction of travel for trips this selector refers to. This field is + * still experimental, and subject to change. It may be formally adopted in + * the future. + *+ * + *
optional uint32 direction_id = 6;
+ * @return The directionId.
+ */
+ @java.lang.Override
+ public int getDirectionId() {
+ return directionId_;
+ }
+ /**
+ * + * The direction_id from the GTFS feed trips.txt file, indicating the + * direction of travel for trips this selector refers to. This field is + * still experimental, and subject to change. It may be formally adopted in + * the future. + *+ * + *
optional uint32 direction_id = 6;
+ * @param value The directionId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setDirectionId(int value) {
+ bitField0_ |= 0x00000004;
+ directionId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The direction_id from the GTFS feed trips.txt file, indicating the + * direction of travel for trips this selector refers to. This field is + * still experimental, and subject to change. It may be formally adopted in + * the future. + *+ * + *
optional uint32 direction_id = 6;
+ * @return This builder for chaining.
+ */
+ public Builder clearDirectionId() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ directionId_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object startTime_ = "";
+ /**
+ * + * The initially scheduled start time of this trip instance. + * When the trip_id corresponds to a non-frequency-based trip, this field + * should either be omitted or be equal to the value in the GTFS feed. When + * the trip_id corresponds to a frequency-based trip, the start_time must be + * specified for trip updates and vehicle positions. If the trip corresponds + * to exact_times=1 GTFS record, then start_time must be some multiple + * (including zero) of headway_secs later than frequencies.txt start_time for + * the corresponding time period. If the trip corresponds to exact_times=0, + * then its start_time may be arbitrary, and is initially expected to be the + * first departure of the trip. Once established, the start_time of this + * frequency-based trip should be considered immutable, even if the first + * departure time changes -- that time change may instead be reflected in a + * StopTimeUpdate. + * Format and semantics of the field is same as that of + * GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35. + *+ * + *
optional string start_time = 2;
+ * @return Whether the startTime field is set.
+ */
+ public boolean hasStartTime() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * + * The initially scheduled start time of this trip instance. + * When the trip_id corresponds to a non-frequency-based trip, this field + * should either be omitted or be equal to the value in the GTFS feed. When + * the trip_id corresponds to a frequency-based trip, the start_time must be + * specified for trip updates and vehicle positions. If the trip corresponds + * to exact_times=1 GTFS record, then start_time must be some multiple + * (including zero) of headway_secs later than frequencies.txt start_time for + * the corresponding time period. If the trip corresponds to exact_times=0, + * then its start_time may be arbitrary, and is initially expected to be the + * first departure of the trip. Once established, the start_time of this + * frequency-based trip should be considered immutable, even if the first + * departure time changes -- that time change may instead be reflected in a + * StopTimeUpdate. + * Format and semantics of the field is same as that of + * GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35. + *+ * + *
optional string start_time = 2;
+ * @return The startTime.
+ */
+ public java.lang.String getStartTime() {
+ java.lang.Object ref = startTime_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ startTime_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * + * The initially scheduled start time of this trip instance. + * When the trip_id corresponds to a non-frequency-based trip, this field + * should either be omitted or be equal to the value in the GTFS feed. When + * the trip_id corresponds to a frequency-based trip, the start_time must be + * specified for trip updates and vehicle positions. If the trip corresponds + * to exact_times=1 GTFS record, then start_time must be some multiple + * (including zero) of headway_secs later than frequencies.txt start_time for + * the corresponding time period. If the trip corresponds to exact_times=0, + * then its start_time may be arbitrary, and is initially expected to be the + * first departure of the trip. Once established, the start_time of this + * frequency-based trip should be considered immutable, even if the first + * departure time changes -- that time change may instead be reflected in a + * StopTimeUpdate. + * Format and semantics of the field is same as that of + * GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35. + *+ * + *
optional string start_time = 2;
+ * @return The bytes for startTime.
+ */
+ public com.google.protobuf.ByteString
+ getStartTimeBytes() {
+ java.lang.Object ref = startTime_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ startTime_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * + * The initially scheduled start time of this trip instance. + * When the trip_id corresponds to a non-frequency-based trip, this field + * should either be omitted or be equal to the value in the GTFS feed. When + * the trip_id corresponds to a frequency-based trip, the start_time must be + * specified for trip updates and vehicle positions. If the trip corresponds + * to exact_times=1 GTFS record, then start_time must be some multiple + * (including zero) of headway_secs later than frequencies.txt start_time for + * the corresponding time period. If the trip corresponds to exact_times=0, + * then its start_time may be arbitrary, and is initially expected to be the + * first departure of the trip. Once established, the start_time of this + * frequency-based trip should be considered immutable, even if the first + * departure time changes -- that time change may instead be reflected in a + * StopTimeUpdate. + * Format and semantics of the field is same as that of + * GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35. + *+ * + *
optional string start_time = 2;
+ * @param value The startTime to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStartTime(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000008;
+ startTime_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The initially scheduled start time of this trip instance. + * When the trip_id corresponds to a non-frequency-based trip, this field + * should either be omitted or be equal to the value in the GTFS feed. When + * the trip_id corresponds to a frequency-based trip, the start_time must be + * specified for trip updates and vehicle positions. If the trip corresponds + * to exact_times=1 GTFS record, then start_time must be some multiple + * (including zero) of headway_secs later than frequencies.txt start_time for + * the corresponding time period. If the trip corresponds to exact_times=0, + * then its start_time may be arbitrary, and is initially expected to be the + * first departure of the trip. Once established, the start_time of this + * frequency-based trip should be considered immutable, even if the first + * departure time changes -- that time change may instead be reflected in a + * StopTimeUpdate. + * Format and semantics of the field is same as that of + * GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35. + *+ * + *
optional string start_time = 2;
+ * @return This builder for chaining.
+ */
+ public Builder clearStartTime() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ startTime_ = getDefaultInstance().getStartTime();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The initially scheduled start time of this trip instance. + * When the trip_id corresponds to a non-frequency-based trip, this field + * should either be omitted or be equal to the value in the GTFS feed. When + * the trip_id corresponds to a frequency-based trip, the start_time must be + * specified for trip updates and vehicle positions. If the trip corresponds + * to exact_times=1 GTFS record, then start_time must be some multiple + * (including zero) of headway_secs later than frequencies.txt start_time for + * the corresponding time period. If the trip corresponds to exact_times=0, + * then its start_time may be arbitrary, and is initially expected to be the + * first departure of the trip. Once established, the start_time of this + * frequency-based trip should be considered immutable, even if the first + * departure time changes -- that time change may instead be reflected in a + * StopTimeUpdate. + * Format and semantics of the field is same as that of + * GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35. + *+ * + *
optional string start_time = 2;
+ * @param value The bytes for startTime to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStartTimeBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000008;
+ startTime_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object startDate_ = "";
+ /**
+ * + * The scheduled start date of this trip instance. + * Must be provided to disambiguate trips that are so late as to collide with + * a scheduled trip on a next day. For example, for a train that departs 8:00 + * and 20:00 every day, and is 12 hours late, there would be two distinct + * trips on the same time. + * This field can be provided but is not mandatory for schedules in which such + * collisions are impossible - for example, a service running on hourly + * schedule where a vehicle that is one hour late is not considered to be + * related to schedule anymore. + * In YYYYMMDD format. + *+ * + *
optional string start_date = 3;
+ * @return Whether the startDate field is set.
+ */
+ public boolean hasStartDate() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * + * The scheduled start date of this trip instance. + * Must be provided to disambiguate trips that are so late as to collide with + * a scheduled trip on a next day. For example, for a train that departs 8:00 + * and 20:00 every day, and is 12 hours late, there would be two distinct + * trips on the same time. + * This field can be provided but is not mandatory for schedules in which such + * collisions are impossible - for example, a service running on hourly + * schedule where a vehicle that is one hour late is not considered to be + * related to schedule anymore. + * In YYYYMMDD format. + *+ * + *
optional string start_date = 3;
+ * @return The startDate.
+ */
+ public java.lang.String getStartDate() {
+ java.lang.Object ref = startDate_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ startDate_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * + * The scheduled start date of this trip instance. + * Must be provided to disambiguate trips that are so late as to collide with + * a scheduled trip on a next day. For example, for a train that departs 8:00 + * and 20:00 every day, and is 12 hours late, there would be two distinct + * trips on the same time. + * This field can be provided but is not mandatory for schedules in which such + * collisions are impossible - for example, a service running on hourly + * schedule where a vehicle that is one hour late is not considered to be + * related to schedule anymore. + * In YYYYMMDD format. + *+ * + *
optional string start_date = 3;
+ * @return The bytes for startDate.
+ */
+ public com.google.protobuf.ByteString
+ getStartDateBytes() {
+ java.lang.Object ref = startDate_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ startDate_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * + * The scheduled start date of this trip instance. + * Must be provided to disambiguate trips that are so late as to collide with + * a scheduled trip on a next day. For example, for a train that departs 8:00 + * and 20:00 every day, and is 12 hours late, there would be two distinct + * trips on the same time. + * This field can be provided but is not mandatory for schedules in which such + * collisions are impossible - for example, a service running on hourly + * schedule where a vehicle that is one hour late is not considered to be + * related to schedule anymore. + * In YYYYMMDD format. + *+ * + *
optional string start_date = 3;
+ * @param value The startDate to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStartDate(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000010;
+ startDate_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The scheduled start date of this trip instance. + * Must be provided to disambiguate trips that are so late as to collide with + * a scheduled trip on a next day. For example, for a train that departs 8:00 + * and 20:00 every day, and is 12 hours late, there would be two distinct + * trips on the same time. + * This field can be provided but is not mandatory for schedules in which such + * collisions are impossible - for example, a service running on hourly + * schedule where a vehicle that is one hour late is not considered to be + * related to schedule anymore. + * In YYYYMMDD format. + *+ * + *
optional string start_date = 3;
+ * @return This builder for chaining.
+ */
+ public Builder clearStartDate() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ startDate_ = getDefaultInstance().getStartDate();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The scheduled start date of this trip instance. + * Must be provided to disambiguate trips that are so late as to collide with + * a scheduled trip on a next day. For example, for a train that departs 8:00 + * and 20:00 every day, and is 12 hours late, there would be two distinct + * trips on the same time. + * This field can be provided but is not mandatory for schedules in which such + * collisions are impossible - for example, a service running on hourly + * schedule where a vehicle that is one hour late is not considered to be + * related to schedule anymore. + * In YYYYMMDD format. + *+ * + *
optional string start_date = 3;
+ * @param value The bytes for startDate to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStartDateBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000010;
+ startDate_ = value;
+ onChanged();
+ return this;
+ }
+
+ private int scheduleRelationship_ = 0;
+ /**
+ * optional .transit_realtime.TripDescriptor.ScheduleRelationship schedule_relationship = 4;
+ * @return Whether the scheduleRelationship field is set.
+ */
+ @java.lang.Override public boolean hasScheduleRelationship() {
+ return ((bitField0_ & 0x00000020) != 0);
+ }
+ /**
+ * optional .transit_realtime.TripDescriptor.ScheduleRelationship schedule_relationship = 4;
+ * @return The scheduleRelationship.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptor.ScheduleRelationship getScheduleRelationship() {
+ @SuppressWarnings("deprecation")
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor.ScheduleRelationship result = com.google.transit.realtime.GtfsRealtime.TripDescriptor.ScheduleRelationship.valueOf(scheduleRelationship_);
+ return result == null ? com.google.transit.realtime.GtfsRealtime.TripDescriptor.ScheduleRelationship.SCHEDULED : result;
+ }
+ /**
+ * optional .transit_realtime.TripDescriptor.ScheduleRelationship schedule_relationship = 4;
+ * @param value The scheduleRelationship to set.
+ * @return This builder for chaining.
+ */
+ public Builder setScheduleRelationship(com.google.transit.realtime.GtfsRealtime.TripDescriptor.ScheduleRelationship value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000020;
+ scheduleRelationship_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * optional .transit_realtime.TripDescriptor.ScheduleRelationship schedule_relationship = 4;
+ * @return This builder for chaining.
+ */
+ public Builder clearScheduleRelationship() {
+ bitField0_ = (bitField0_ & ~0x00000020);
+ scheduleRelationship_ = 0;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:transit_realtime.TripDescriptor)
+ }
+
+ // @@protoc_insertion_point(class_scope:transit_realtime.TripDescriptor)
+ private static final com.google.transit.realtime.GtfsRealtime.TripDescriptor DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.google.transit.realtime.GtfsRealtime.TripDescriptor();
+ }
+
+ public static com.google.transit.realtime.GtfsRealtime.TripDescriptor getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser+ * Internal system identification of the vehicle. Should be unique per + * vehicle, and can be used for tracking the vehicle as it proceeds through + * the system. + *+ * + *
optional string id = 1;
+ * @return Whether the id field is set.
+ */
+ boolean hasId();
+ /**
+ * + * Internal system identification of the vehicle. Should be unique per + * vehicle, and can be used for tracking the vehicle as it proceeds through + * the system. + *+ * + *
optional string id = 1;
+ * @return The id.
+ */
+ java.lang.String getId();
+ /**
+ * + * Internal system identification of the vehicle. Should be unique per + * vehicle, and can be used for tracking the vehicle as it proceeds through + * the system. + *+ * + *
optional string id = 1;
+ * @return The bytes for id.
+ */
+ com.google.protobuf.ByteString
+ getIdBytes();
+
+ /**
+ * + * User visible label, i.e., something that must be shown to the passenger to + * help identify the correct vehicle. + *+ * + *
optional string label = 2;
+ * @return Whether the label field is set.
+ */
+ boolean hasLabel();
+ /**
+ * + * User visible label, i.e., something that must be shown to the passenger to + * help identify the correct vehicle. + *+ * + *
optional string label = 2;
+ * @return The label.
+ */
+ java.lang.String getLabel();
+ /**
+ * + * User visible label, i.e., something that must be shown to the passenger to + * help identify the correct vehicle. + *+ * + *
optional string label = 2;
+ * @return The bytes for label.
+ */
+ com.google.protobuf.ByteString
+ getLabelBytes();
+
+ /**
+ * + * The license plate of the vehicle. + *+ * + *
optional string license_plate = 3;
+ * @return Whether the licensePlate field is set.
+ */
+ boolean hasLicensePlate();
+ /**
+ * + * The license plate of the vehicle. + *+ * + *
optional string license_plate = 3;
+ * @return The licensePlate.
+ */
+ java.lang.String getLicensePlate();
+ /**
+ * + * The license plate of the vehicle. + *+ * + *
optional string license_plate = 3;
+ * @return The bytes for licensePlate.
+ */
+ com.google.protobuf.ByteString
+ getLicensePlateBytes();
+ }
+ /**
+ * + * Identification information for the vehicle performing the trip. + *+ * + * Protobuf type {@code transit_realtime.VehicleDescriptor} + */ + public static final class VehicleDescriptor extends + com.google.protobuf.GeneratedMessageV3.ExtendableMessage< + VehicleDescriptor> implements + // @@protoc_insertion_point(message_implements:transit_realtime.VehicleDescriptor) + VehicleDescriptorOrBuilder { + private static final long serialVersionUID = 0L; + // Use VehicleDescriptor.newBuilder() to construct. + private VehicleDescriptor(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
+ * Internal system identification of the vehicle. Should be unique per + * vehicle, and can be used for tracking the vehicle as it proceeds through + * the system. + *+ * + *
optional string id = 1;
+ * @return Whether the id field is set.
+ */
+ @java.lang.Override
+ public boolean hasId() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * Internal system identification of the vehicle. Should be unique per + * vehicle, and can be used for tracking the vehicle as it proceeds through + * the system. + *+ * + *
optional string id = 1;
+ * @return The id.
+ */
+ @java.lang.Override
+ public java.lang.String getId() {
+ java.lang.Object ref = id_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ id_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * + * Internal system identification of the vehicle. Should be unique per + * vehicle, and can be used for tracking the vehicle as it proceeds through + * the system. + *+ * + *
optional string id = 1;
+ * @return The bytes for id.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getIdBytes() {
+ java.lang.Object ref = id_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ id_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int LABEL_FIELD_NUMBER = 2;
+ private volatile java.lang.Object label_;
+ /**
+ * + * User visible label, i.e., something that must be shown to the passenger to + * help identify the correct vehicle. + *+ * + *
optional string label = 2;
+ * @return Whether the label field is set.
+ */
+ @java.lang.Override
+ public boolean hasLabel() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * User visible label, i.e., something that must be shown to the passenger to + * help identify the correct vehicle. + *+ * + *
optional string label = 2;
+ * @return The label.
+ */
+ @java.lang.Override
+ public java.lang.String getLabel() {
+ java.lang.Object ref = label_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ label_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * + * User visible label, i.e., something that must be shown to the passenger to + * help identify the correct vehicle. + *+ * + *
optional string label = 2;
+ * @return The bytes for label.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getLabelBytes() {
+ java.lang.Object ref = label_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ label_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int LICENSE_PLATE_FIELD_NUMBER = 3;
+ private volatile java.lang.Object licensePlate_;
+ /**
+ * + * The license plate of the vehicle. + *+ * + *
optional string license_plate = 3;
+ * @return Whether the licensePlate field is set.
+ */
+ @java.lang.Override
+ public boolean hasLicensePlate() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * The license plate of the vehicle. + *+ * + *
optional string license_plate = 3;
+ * @return The licensePlate.
+ */
+ @java.lang.Override
+ public java.lang.String getLicensePlate() {
+ java.lang.Object ref = licensePlate_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ licensePlate_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * + * The license plate of the vehicle. + *+ * + *
optional string license_plate = 3;
+ * @return The bytes for licensePlate.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getLicensePlateBytes() {
+ java.lang.Object ref = licensePlate_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ licensePlate_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * Identification information for the vehicle performing the trip. + *+ * + * Protobuf type {@code transit_realtime.VehicleDescriptor} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.ExtendableBuilder< + com.google.transit.realtime.GtfsRealtime.VehicleDescriptor, Builder> implements + // @@protoc_insertion_point(builder_implements:transit_realtime.VehicleDescriptor) + com.google.transit.realtime.GtfsRealtime.VehicleDescriptorOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_VehicleDescriptor_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_VehicleDescriptor_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.class, com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.Builder.class); + } + + // Construct using com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + id_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + label_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + licensePlate_ = ""; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_VehicleDescriptor_descriptor; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.VehicleDescriptor getDefaultInstanceForType() { + return com.google.transit.realtime.GtfsRealtime.VehicleDescriptor.getDefaultInstance(); + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.VehicleDescriptor build() { + com.google.transit.realtime.GtfsRealtime.VehicleDescriptor result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.VehicleDescriptor buildPartial() { + com.google.transit.realtime.GtfsRealtime.VehicleDescriptor result = new com.google.transit.realtime.GtfsRealtime.VehicleDescriptor(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.id_ = id_; + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.label_ = label_; + if (((from_bitField0_ & 0x00000004) != 0)) { + to_bitField0_ |= 0x00000004; + } + result.licensePlate_ = licensePlate_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public
+ * Internal system identification of the vehicle. Should be unique per + * vehicle, and can be used for tracking the vehicle as it proceeds through + * the system. + *+ * + *
optional string id = 1;
+ * @return Whether the id field is set.
+ */
+ public boolean hasId() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * Internal system identification of the vehicle. Should be unique per + * vehicle, and can be used for tracking the vehicle as it proceeds through + * the system. + *+ * + *
optional string id = 1;
+ * @return The id.
+ */
+ public java.lang.String getId() {
+ java.lang.Object ref = id_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ id_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * + * Internal system identification of the vehicle. Should be unique per + * vehicle, and can be used for tracking the vehicle as it proceeds through + * the system. + *+ * + *
optional string id = 1;
+ * @return The bytes for id.
+ */
+ public com.google.protobuf.ByteString
+ getIdBytes() {
+ java.lang.Object ref = id_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ id_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * + * Internal system identification of the vehicle. Should be unique per + * vehicle, and can be used for tracking the vehicle as it proceeds through + * the system. + *+ * + *
optional string id = 1;
+ * @param value The id to set.
+ * @return This builder for chaining.
+ */
+ public Builder setId(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ id_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Internal system identification of the vehicle. Should be unique per + * vehicle, and can be used for tracking the vehicle as it proceeds through + * the system. + *+ * + *
optional string id = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearId() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ id_ = getDefaultInstance().getId();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * Internal system identification of the vehicle. Should be unique per + * vehicle, and can be used for tracking the vehicle as it proceeds through + * the system. + *+ * + *
optional string id = 1;
+ * @param value The bytes for id to set.
+ * @return This builder for chaining.
+ */
+ public Builder setIdBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ id_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object label_ = "";
+ /**
+ * + * User visible label, i.e., something that must be shown to the passenger to + * help identify the correct vehicle. + *+ * + *
optional string label = 2;
+ * @return Whether the label field is set.
+ */
+ public boolean hasLabel() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * User visible label, i.e., something that must be shown to the passenger to + * help identify the correct vehicle. + *+ * + *
optional string label = 2;
+ * @return The label.
+ */
+ public java.lang.String getLabel() {
+ java.lang.Object ref = label_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ label_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * + * User visible label, i.e., something that must be shown to the passenger to + * help identify the correct vehicle. + *+ * + *
optional string label = 2;
+ * @return The bytes for label.
+ */
+ public com.google.protobuf.ByteString
+ getLabelBytes() {
+ java.lang.Object ref = label_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ label_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * + * User visible label, i.e., something that must be shown to the passenger to + * help identify the correct vehicle. + *+ * + *
optional string label = 2;
+ * @param value The label to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLabel(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ label_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * User visible label, i.e., something that must be shown to the passenger to + * help identify the correct vehicle. + *+ * + *
optional string label = 2;
+ * @return This builder for chaining.
+ */
+ public Builder clearLabel() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ label_ = getDefaultInstance().getLabel();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * User visible label, i.e., something that must be shown to the passenger to + * help identify the correct vehicle. + *+ * + *
optional string label = 2;
+ * @param value The bytes for label to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLabelBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ label_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object licensePlate_ = "";
+ /**
+ * + * The license plate of the vehicle. + *+ * + *
optional string license_plate = 3;
+ * @return Whether the licensePlate field is set.
+ */
+ public boolean hasLicensePlate() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * The license plate of the vehicle. + *+ * + *
optional string license_plate = 3;
+ * @return The licensePlate.
+ */
+ public java.lang.String getLicensePlate() {
+ java.lang.Object ref = licensePlate_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ licensePlate_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * + * The license plate of the vehicle. + *+ * + *
optional string license_plate = 3;
+ * @return The bytes for licensePlate.
+ */
+ public com.google.protobuf.ByteString
+ getLicensePlateBytes() {
+ java.lang.Object ref = licensePlate_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ licensePlate_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * + * The license plate of the vehicle. + *+ * + *
optional string license_plate = 3;
+ * @param value The licensePlate to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLicensePlate(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000004;
+ licensePlate_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The license plate of the vehicle. + *+ * + *
optional string license_plate = 3;
+ * @return This builder for chaining.
+ */
+ public Builder clearLicensePlate() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ licensePlate_ = getDefaultInstance().getLicensePlate();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The license plate of the vehicle. + *+ * + *
optional string license_plate = 3;
+ * @param value The bytes for licensePlate to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLicensePlateBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000004;
+ licensePlate_ = value;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:transit_realtime.VehicleDescriptor)
+ }
+
+ // @@protoc_insertion_point(class_scope:transit_realtime.VehicleDescriptor)
+ private static final com.google.transit.realtime.GtfsRealtime.VehicleDescriptor DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.google.transit.realtime.GtfsRealtime.VehicleDescriptor();
+ }
+
+ public static com.google.transit.realtime.GtfsRealtime.VehicleDescriptor getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser+ * The values of the fields should correspond to the appropriate fields in the + * GTFS feed. + * At least one specifier must be given. If several are given, then the + * matching has to apply to all the given specifiers. + *+ * + *
optional string agency_id = 1;
+ * @return Whether the agencyId field is set.
+ */
+ boolean hasAgencyId();
+ /**
+ * + * The values of the fields should correspond to the appropriate fields in the + * GTFS feed. + * At least one specifier must be given. If several are given, then the + * matching has to apply to all the given specifiers. + *+ * + *
optional string agency_id = 1;
+ * @return The agencyId.
+ */
+ java.lang.String getAgencyId();
+ /**
+ * + * The values of the fields should correspond to the appropriate fields in the + * GTFS feed. + * At least one specifier must be given. If several are given, then the + * matching has to apply to all the given specifiers. + *+ * + *
optional string agency_id = 1;
+ * @return The bytes for agencyId.
+ */
+ com.google.protobuf.ByteString
+ getAgencyIdBytes();
+
+ /**
+ * optional string route_id = 2;
+ * @return Whether the routeId field is set.
+ */
+ boolean hasRouteId();
+ /**
+ * optional string route_id = 2;
+ * @return The routeId.
+ */
+ java.lang.String getRouteId();
+ /**
+ * optional string route_id = 2;
+ * @return The bytes for routeId.
+ */
+ com.google.protobuf.ByteString
+ getRouteIdBytes();
+
+ /**
+ * + * corresponds to route_type in GTFS. + *+ * + *
optional int32 route_type = 3;
+ * @return Whether the routeType field is set.
+ */
+ boolean hasRouteType();
+ /**
+ * + * corresponds to route_type in GTFS. + *+ * + *
optional int32 route_type = 3;
+ * @return The routeType.
+ */
+ int getRouteType();
+
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ * @return Whether the trip field is set.
+ */
+ boolean hasTrip();
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ * @return The trip.
+ */
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor getTrip();
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ */
+ com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder getTripOrBuilder();
+
+ /**
+ * optional string stop_id = 5;
+ * @return Whether the stopId field is set.
+ */
+ boolean hasStopId();
+ /**
+ * optional string stop_id = 5;
+ * @return The stopId.
+ */
+ java.lang.String getStopId();
+ /**
+ * optional string stop_id = 5;
+ * @return The bytes for stopId.
+ */
+ com.google.protobuf.ByteString
+ getStopIdBytes();
+ }
+ /**
+ * + * A selector for an entity in a GTFS feed. + *+ * + * Protobuf type {@code transit_realtime.EntitySelector} + */ + public static final class EntitySelector extends + com.google.protobuf.GeneratedMessageV3.ExtendableMessage< + EntitySelector> implements + // @@protoc_insertion_point(message_implements:transit_realtime.EntitySelector) + EntitySelectorOrBuilder { + private static final long serialVersionUID = 0L; + // Use EntitySelector.newBuilder() to construct. + private EntitySelector(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
+ * The values of the fields should correspond to the appropriate fields in the + * GTFS feed. + * At least one specifier must be given. If several are given, then the + * matching has to apply to all the given specifiers. + *+ * + *
optional string agency_id = 1;
+ * @return Whether the agencyId field is set.
+ */
+ @java.lang.Override
+ public boolean hasAgencyId() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * The values of the fields should correspond to the appropriate fields in the + * GTFS feed. + * At least one specifier must be given. If several are given, then the + * matching has to apply to all the given specifiers. + *+ * + *
optional string agency_id = 1;
+ * @return The agencyId.
+ */
+ @java.lang.Override
+ public java.lang.String getAgencyId() {
+ java.lang.Object ref = agencyId_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ agencyId_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * + * The values of the fields should correspond to the appropriate fields in the + * GTFS feed. + * At least one specifier must be given. If several are given, then the + * matching has to apply to all the given specifiers. + *+ * + *
optional string agency_id = 1;
+ * @return The bytes for agencyId.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getAgencyIdBytes() {
+ java.lang.Object ref = agencyId_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ agencyId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ROUTE_ID_FIELD_NUMBER = 2;
+ private volatile java.lang.Object routeId_;
+ /**
+ * optional string route_id = 2;
+ * @return Whether the routeId field is set.
+ */
+ @java.lang.Override
+ public boolean hasRouteId() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * optional string route_id = 2;
+ * @return The routeId.
+ */
+ @java.lang.Override
+ public java.lang.String getRouteId() {
+ java.lang.Object ref = routeId_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ routeId_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * optional string route_id = 2;
+ * @return The bytes for routeId.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getRouteIdBytes() {
+ java.lang.Object ref = routeId_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ routeId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ROUTE_TYPE_FIELD_NUMBER = 3;
+ private int routeType_;
+ /**
+ * + * corresponds to route_type in GTFS. + *+ * + *
optional int32 route_type = 3;
+ * @return Whether the routeType field is set.
+ */
+ @java.lang.Override
+ public boolean hasRouteType() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * corresponds to route_type in GTFS. + *+ * + *
optional int32 route_type = 3;
+ * @return The routeType.
+ */
+ @java.lang.Override
+ public int getRouteType() {
+ return routeType_;
+ }
+
+ public static final int TRIP_FIELD_NUMBER = 4;
+ private com.google.transit.realtime.GtfsRealtime.TripDescriptor trip_;
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ * @return Whether the trip field is set.
+ */
+ @java.lang.Override
+ public boolean hasTrip() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ * @return The trip.
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptor getTrip() {
+ return trip_ == null ? com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance() : trip_;
+ }
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder getTripOrBuilder() {
+ return trip_ == null ? com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance() : trip_;
+ }
+
+ public static final int STOP_ID_FIELD_NUMBER = 5;
+ private volatile java.lang.Object stopId_;
+ /**
+ * optional string stop_id = 5;
+ * @return Whether the stopId field is set.
+ */
+ @java.lang.Override
+ public boolean hasStopId() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * optional string stop_id = 5;
+ * @return The stopId.
+ */
+ @java.lang.Override
+ public java.lang.String getStopId() {
+ java.lang.Object ref = stopId_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ stopId_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * optional string stop_id = 5;
+ * @return The bytes for stopId.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getStopIdBytes() {
+ java.lang.Object ref = stopId_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ stopId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ if (hasTrip()) {
+ if (!getTrip().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * A selector for an entity in a GTFS feed. + *+ * + * Protobuf type {@code transit_realtime.EntitySelector} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.ExtendableBuilder< + com.google.transit.realtime.GtfsRealtime.EntitySelector, Builder> implements + // @@protoc_insertion_point(builder_implements:transit_realtime.EntitySelector) + com.google.transit.realtime.GtfsRealtime.EntitySelectorOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_EntitySelector_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_EntitySelector_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.transit.realtime.GtfsRealtime.EntitySelector.class, com.google.transit.realtime.GtfsRealtime.EntitySelector.Builder.class); + } + + // Construct using com.google.transit.realtime.GtfsRealtime.EntitySelector.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getTripFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + agencyId_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + routeId_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + routeType_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + if (tripBuilder_ == null) { + trip_ = null; + } else { + tripBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + stopId_ = ""; + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_EntitySelector_descriptor; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.EntitySelector getDefaultInstanceForType() { + return com.google.transit.realtime.GtfsRealtime.EntitySelector.getDefaultInstance(); + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.EntitySelector build() { + com.google.transit.realtime.GtfsRealtime.EntitySelector result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.EntitySelector buildPartial() { + com.google.transit.realtime.GtfsRealtime.EntitySelector result = new com.google.transit.realtime.GtfsRealtime.EntitySelector(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.agencyId_ = agencyId_; + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.routeId_ = routeId_; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.routeType_ = routeType_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + if (tripBuilder_ == null) { + result.trip_ = trip_; + } else { + result.trip_ = tripBuilder_.build(); + } + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + to_bitField0_ |= 0x00000010; + } + result.stopId_ = stopId_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public
+ * The values of the fields should correspond to the appropriate fields in the + * GTFS feed. + * At least one specifier must be given. If several are given, then the + * matching has to apply to all the given specifiers. + *+ * + *
optional string agency_id = 1;
+ * @return Whether the agencyId field is set.
+ */
+ public boolean hasAgencyId() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * The values of the fields should correspond to the appropriate fields in the + * GTFS feed. + * At least one specifier must be given. If several are given, then the + * matching has to apply to all the given specifiers. + *+ * + *
optional string agency_id = 1;
+ * @return The agencyId.
+ */
+ public java.lang.String getAgencyId() {
+ java.lang.Object ref = agencyId_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ agencyId_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * + * The values of the fields should correspond to the appropriate fields in the + * GTFS feed. + * At least one specifier must be given. If several are given, then the + * matching has to apply to all the given specifiers. + *+ * + *
optional string agency_id = 1;
+ * @return The bytes for agencyId.
+ */
+ public com.google.protobuf.ByteString
+ getAgencyIdBytes() {
+ java.lang.Object ref = agencyId_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ agencyId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * + * The values of the fields should correspond to the appropriate fields in the + * GTFS feed. + * At least one specifier must be given. If several are given, then the + * matching has to apply to all the given specifiers. + *+ * + *
optional string agency_id = 1;
+ * @param value The agencyId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setAgencyId(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ agencyId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The values of the fields should correspond to the appropriate fields in the + * GTFS feed. + * At least one specifier must be given. If several are given, then the + * matching has to apply to all the given specifiers. + *+ * + *
optional string agency_id = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearAgencyId() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ agencyId_ = getDefaultInstance().getAgencyId();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * The values of the fields should correspond to the appropriate fields in the + * GTFS feed. + * At least one specifier must be given. If several are given, then the + * matching has to apply to all the given specifiers. + *+ * + *
optional string agency_id = 1;
+ * @param value The bytes for agencyId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setAgencyIdBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ agencyId_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object routeId_ = "";
+ /**
+ * optional string route_id = 2;
+ * @return Whether the routeId field is set.
+ */
+ public boolean hasRouteId() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * optional string route_id = 2;
+ * @return The routeId.
+ */
+ public java.lang.String getRouteId() {
+ java.lang.Object ref = routeId_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ routeId_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * optional string route_id = 2;
+ * @return The bytes for routeId.
+ */
+ public com.google.protobuf.ByteString
+ getRouteIdBytes() {
+ java.lang.Object ref = routeId_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ routeId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * optional string route_id = 2;
+ * @param value The routeId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRouteId(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ routeId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * optional string route_id = 2;
+ * @return This builder for chaining.
+ */
+ public Builder clearRouteId() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ routeId_ = getDefaultInstance().getRouteId();
+ onChanged();
+ return this;
+ }
+ /**
+ * optional string route_id = 2;
+ * @param value The bytes for routeId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRouteIdBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ routeId_ = value;
+ onChanged();
+ return this;
+ }
+
+ private int routeType_ ;
+ /**
+ * + * corresponds to route_type in GTFS. + *+ * + *
optional int32 route_type = 3;
+ * @return Whether the routeType field is set.
+ */
+ @java.lang.Override
+ public boolean hasRouteType() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * + * corresponds to route_type in GTFS. + *+ * + *
optional int32 route_type = 3;
+ * @return The routeType.
+ */
+ @java.lang.Override
+ public int getRouteType() {
+ return routeType_;
+ }
+ /**
+ * + * corresponds to route_type in GTFS. + *+ * + *
optional int32 route_type = 3;
+ * @param value The routeType to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRouteType(int value) {
+ bitField0_ |= 0x00000004;
+ routeType_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * corresponds to route_type in GTFS. + *+ * + *
optional int32 route_type = 3;
+ * @return This builder for chaining.
+ */
+ public Builder clearRouteType() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ routeType_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private com.google.transit.realtime.GtfsRealtime.TripDescriptor trip_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor, com.google.transit.realtime.GtfsRealtime.TripDescriptor.Builder, com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder> tripBuilder_;
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ * @return Whether the trip field is set.
+ */
+ public boolean hasTrip() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ * @return The trip.
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptor getTrip() {
+ if (tripBuilder_ == null) {
+ return trip_ == null ? com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance() : trip_;
+ } else {
+ return tripBuilder_.getMessage();
+ }
+ }
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ */
+ public Builder setTrip(com.google.transit.realtime.GtfsRealtime.TripDescriptor value) {
+ if (tripBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ trip_ = value;
+ onChanged();
+ } else {
+ tripBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ */
+ public Builder setTrip(
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor.Builder builderForValue) {
+ if (tripBuilder_ == null) {
+ trip_ = builderForValue.build();
+ onChanged();
+ } else {
+ tripBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ */
+ public Builder mergeTrip(com.google.transit.realtime.GtfsRealtime.TripDescriptor value) {
+ if (tripBuilder_ == null) {
+ if (((bitField0_ & 0x00000008) != 0) &&
+ trip_ != null &&
+ trip_ != com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance()) {
+ trip_ =
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor.newBuilder(trip_).mergeFrom(value).buildPartial();
+ } else {
+ trip_ = value;
+ }
+ onChanged();
+ } else {
+ tripBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ */
+ public Builder clearTrip() {
+ if (tripBuilder_ == null) {
+ trip_ = null;
+ onChanged();
+ } else {
+ tripBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptor.Builder getTripBuilder() {
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return getTripFieldBuilder().getBuilder();
+ }
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder getTripOrBuilder() {
+ if (tripBuilder_ != null) {
+ return tripBuilder_.getMessageOrBuilder();
+ } else {
+ return trip_ == null ?
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor.getDefaultInstance() : trip_;
+ }
+ }
+ /**
+ * optional .transit_realtime.TripDescriptor trip = 4;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor, com.google.transit.realtime.GtfsRealtime.TripDescriptor.Builder, com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder>
+ getTripFieldBuilder() {
+ if (tripBuilder_ == null) {
+ tripBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.transit.realtime.GtfsRealtime.TripDescriptor, com.google.transit.realtime.GtfsRealtime.TripDescriptor.Builder, com.google.transit.realtime.GtfsRealtime.TripDescriptorOrBuilder>(
+ getTrip(),
+ getParentForChildren(),
+ isClean());
+ trip_ = null;
+ }
+ return tripBuilder_;
+ }
+
+ private java.lang.Object stopId_ = "";
+ /**
+ * optional string stop_id = 5;
+ * @return Whether the stopId field is set.
+ */
+ public boolean hasStopId() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ * optional string stop_id = 5;
+ * @return The stopId.
+ */
+ public java.lang.String getStopId() {
+ java.lang.Object ref = stopId_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ stopId_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * optional string stop_id = 5;
+ * @return The bytes for stopId.
+ */
+ public com.google.protobuf.ByteString
+ getStopIdBytes() {
+ java.lang.Object ref = stopId_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ stopId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * optional string stop_id = 5;
+ * @param value The stopId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStopId(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000010;
+ stopId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * optional string stop_id = 5;
+ * @return This builder for chaining.
+ */
+ public Builder clearStopId() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ stopId_ = getDefaultInstance().getStopId();
+ onChanged();
+ return this;
+ }
+ /**
+ * optional string stop_id = 5;
+ * @param value The bytes for stopId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStopIdBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000010;
+ stopId_ = value;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:transit_realtime.EntitySelector)
+ }
+
+ // @@protoc_insertion_point(class_scope:transit_realtime.EntitySelector)
+ private static final com.google.transit.realtime.GtfsRealtime.EntitySelector DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.google.transit.realtime.GtfsRealtime.EntitySelector();
+ }
+
+ public static com.google.transit.realtime.GtfsRealtime.EntitySelector getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser+ * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ java.util.List+ * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation getTranslation(int index);
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ int getTranslationCount();
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ java.util.List extends com.google.transit.realtime.GtfsRealtime.TranslatedString.TranslationOrBuilder>
+ getTranslationOrBuilderList();
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ com.google.transit.realtime.GtfsRealtime.TranslatedString.TranslationOrBuilder getTranslationOrBuilder(
+ int index);
+ }
+ /**
+ * + * An internationalized message containing per-language versions of a snippet of + * text or a URL. + * One of the strings from a message will be picked up. The resolution proceeds + * as follows: + * 1. If the UI language matches the language code of a translation, + * the first matching translation is picked. + * 2. If a default UI language (e.g., English) matches the language code of a + * translation, the first matching translation is picked. + * 3. If some translation has an unspecified language code, that translation is + * picked. + *+ * + * Protobuf type {@code transit_realtime.TranslatedString} + */ + public static final class TranslatedString extends + com.google.protobuf.GeneratedMessageV3.ExtendableMessage< + TranslatedString> implements + // @@protoc_insertion_point(message_implements:transit_realtime.TranslatedString) + TranslatedStringOrBuilder { + private static final long serialVersionUID = 0L; + // Use TranslatedString.newBuilder() to construct. + private TranslatedString(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder
+ * A UTF-8 string containing the message. + *+ * + *
required string text = 1;
+ * @return Whether the text field is set.
+ */
+ boolean hasText();
+ /**
+ * + * A UTF-8 string containing the message. + *+ * + *
required string text = 1;
+ * @return The text.
+ */
+ java.lang.String getText();
+ /**
+ * + * A UTF-8 string containing the message. + *+ * + *
required string text = 1;
+ * @return The bytes for text.
+ */
+ com.google.protobuf.ByteString
+ getTextBytes();
+
+ /**
+ * + * BCP-47 language code. Can be omitted if the language is unknown or if + * no i18n is done at all for the feed. At most one translation is + * allowed to have an unspecified language tag. + *+ * + *
optional string language = 2;
+ * @return Whether the language field is set.
+ */
+ boolean hasLanguage();
+ /**
+ * + * BCP-47 language code. Can be omitted if the language is unknown or if + * no i18n is done at all for the feed. At most one translation is + * allowed to have an unspecified language tag. + *+ * + *
optional string language = 2;
+ * @return The language.
+ */
+ java.lang.String getLanguage();
+ /**
+ * + * BCP-47 language code. Can be omitted if the language is unknown or if + * no i18n is done at all for the feed. At most one translation is + * allowed to have an unspecified language tag. + *+ * + *
optional string language = 2;
+ * @return The bytes for language.
+ */
+ com.google.protobuf.ByteString
+ getLanguageBytes();
+ }
+ /**
+ * Protobuf type {@code transit_realtime.TranslatedString.Translation}
+ */
+ public static final class Translation extends
+ com.google.protobuf.GeneratedMessageV3.ExtendableMessage<
+ Translation> implements
+ // @@protoc_insertion_point(message_implements:transit_realtime.TranslatedString.Translation)
+ TranslationOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use Translation.newBuilder() to construct.
+ private Translation(com.google.protobuf.GeneratedMessageV3.ExtendableBuilder+ * A UTF-8 string containing the message. + *+ * + *
required string text = 1;
+ * @return Whether the text field is set.
+ */
+ @java.lang.Override
+ public boolean hasText() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * A UTF-8 string containing the message. + *+ * + *
required string text = 1;
+ * @return The text.
+ */
+ @java.lang.Override
+ public java.lang.String getText() {
+ java.lang.Object ref = text_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ text_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * + * A UTF-8 string containing the message. + *+ * + *
required string text = 1;
+ * @return The bytes for text.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getTextBytes() {
+ java.lang.Object ref = text_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ text_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int LANGUAGE_FIELD_NUMBER = 2;
+ private volatile java.lang.Object language_;
+ /**
+ * + * BCP-47 language code. Can be omitted if the language is unknown or if + * no i18n is done at all for the feed. At most one translation is + * allowed to have an unspecified language tag. + *+ * + *
optional string language = 2;
+ * @return Whether the language field is set.
+ */
+ @java.lang.Override
+ public boolean hasLanguage() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * BCP-47 language code. Can be omitted if the language is unknown or if + * no i18n is done at all for the feed. At most one translation is + * allowed to have an unspecified language tag. + *+ * + *
optional string language = 2;
+ * @return The language.
+ */
+ @java.lang.Override
+ public java.lang.String getLanguage() {
+ java.lang.Object ref = language_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ language_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * + * BCP-47 language code. Can be omitted if the language is unknown or if + * no i18n is done at all for the feed. At most one translation is + * allowed to have an unspecified language tag. + *+ * + *
optional string language = 2;
+ * @return The bytes for language.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getLanguageBytes() {
+ java.lang.Object ref = language_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ language_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ if (!hasText()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * A UTF-8 string containing the message. + *+ * + *
required string text = 1;
+ * @return Whether the text field is set.
+ */
+ public boolean hasText() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * + * A UTF-8 string containing the message. + *+ * + *
required string text = 1;
+ * @return The text.
+ */
+ public java.lang.String getText() {
+ java.lang.Object ref = text_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ text_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * + * A UTF-8 string containing the message. + *+ * + *
required string text = 1;
+ * @return The bytes for text.
+ */
+ public com.google.protobuf.ByteString
+ getTextBytes() {
+ java.lang.Object ref = text_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ text_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * + * A UTF-8 string containing the message. + *+ * + *
required string text = 1;
+ * @param value The text to set.
+ * @return This builder for chaining.
+ */
+ public Builder setText(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ text_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * A UTF-8 string containing the message. + *+ * + *
required string text = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearText() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ text_ = getDefaultInstance().getText();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * A UTF-8 string containing the message. + *+ * + *
required string text = 1;
+ * @param value The bytes for text to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTextBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ text_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object language_ = "";
+ /**
+ * + * BCP-47 language code. Can be omitted if the language is unknown or if + * no i18n is done at all for the feed. At most one translation is + * allowed to have an unspecified language tag. + *+ * + *
optional string language = 2;
+ * @return Whether the language field is set.
+ */
+ public boolean hasLanguage() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * + * BCP-47 language code. Can be omitted if the language is unknown or if + * no i18n is done at all for the feed. At most one translation is + * allowed to have an unspecified language tag. + *+ * + *
optional string language = 2;
+ * @return The language.
+ */
+ public java.lang.String getLanguage() {
+ java.lang.Object ref = language_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ language_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * + * BCP-47 language code. Can be omitted if the language is unknown or if + * no i18n is done at all for the feed. At most one translation is + * allowed to have an unspecified language tag. + *+ * + *
optional string language = 2;
+ * @return The bytes for language.
+ */
+ public com.google.protobuf.ByteString
+ getLanguageBytes() {
+ java.lang.Object ref = language_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ language_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * + * BCP-47 language code. Can be omitted if the language is unknown or if + * no i18n is done at all for the feed. At most one translation is + * allowed to have an unspecified language tag. + *+ * + *
optional string language = 2;
+ * @param value The language to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLanguage(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ language_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * + * BCP-47 language code. Can be omitted if the language is unknown or if + * no i18n is done at all for the feed. At most one translation is + * allowed to have an unspecified language tag. + *+ * + *
optional string language = 2;
+ * @return This builder for chaining.
+ */
+ public Builder clearLanguage() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ language_ = getDefaultInstance().getLanguage();
+ onChanged();
+ return this;
+ }
+ /**
+ * + * BCP-47 language code. Can be omitted if the language is unknown or if + * no i18n is done at all for the feed. At most one translation is + * allowed to have an unspecified language tag. + *+ * + *
optional string language = 2;
+ * @param value The bytes for language to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLanguageBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ language_ = value;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:transit_realtime.TranslatedString.Translation)
+ }
+
+ // @@protoc_insertion_point(class_scope:transit_realtime.TranslatedString.Translation)
+ private static final com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation();
+ }
+
+ public static com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser+ * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ @java.lang.Override
+ public java.util.List+ * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ @java.lang.Override
+ public java.util.List extends com.google.transit.realtime.GtfsRealtime.TranslatedString.TranslationOrBuilder>
+ getTranslationOrBuilderList() {
+ return translation_;
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ @java.lang.Override
+ public int getTranslationCount() {
+ return translation_.size();
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation getTranslation(int index) {
+ return translation_.get(index);
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ @java.lang.Override
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString.TranslationOrBuilder getTranslationOrBuilder(
+ int index) {
+ return translation_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ for (int i = 0; i < getTranslationCount(); i++) {
+ if (!getTranslation(i).isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
+ if (!extensionsAreInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .ExtendableMessage+ * An internationalized message containing per-language versions of a snippet of + * text or a URL. + * One of the strings from a message will be picked up. The resolution proceeds + * as follows: + * 1. If the UI language matches the language code of a translation, + * the first matching translation is picked. + * 2. If a default UI language (e.g., English) matches the language code of a + * translation, the first matching translation is picked. + * 3. If some translation has an unspecified language code, that translation is + * picked. + *+ * + * Protobuf type {@code transit_realtime.TranslatedString} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.ExtendableBuilder< + com.google.transit.realtime.GtfsRealtime.TranslatedString, Builder> implements + // @@protoc_insertion_point(builder_implements:transit_realtime.TranslatedString) + com.google.transit.realtime.GtfsRealtime.TranslatedStringOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TranslatedString_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TranslatedString_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.transit.realtime.GtfsRealtime.TranslatedString.class, com.google.transit.realtime.GtfsRealtime.TranslatedString.Builder.class); + } + + // Construct using com.google.transit.realtime.GtfsRealtime.TranslatedString.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getTranslationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (translationBuilder_ == null) { + translation_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + translationBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.google.transit.realtime.GtfsRealtime.internal_static_transit_realtime_TranslatedString_descriptor; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TranslatedString getDefaultInstanceForType() { + return com.google.transit.realtime.GtfsRealtime.TranslatedString.getDefaultInstance(); + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TranslatedString build() { + com.google.transit.realtime.GtfsRealtime.TranslatedString result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.transit.realtime.GtfsRealtime.TranslatedString buildPartial() { + com.google.transit.realtime.GtfsRealtime.TranslatedString result = new com.google.transit.realtime.GtfsRealtime.TranslatedString(this); + int from_bitField0_ = bitField0_; + if (translationBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + translation_ = java.util.Collections.unmodifiableList(translation_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.translation_ = translation_; + } else { + result.translation_ = translationBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public
+ * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public java.util.List+ * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public int getTranslationCount() {
+ if (translationBuilder_ == null) {
+ return translation_.size();
+ } else {
+ return translationBuilder_.getCount();
+ }
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation getTranslation(int index) {
+ if (translationBuilder_ == null) {
+ return translation_.get(index);
+ } else {
+ return translationBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public Builder setTranslation(
+ int index, com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation value) {
+ if (translationBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTranslationIsMutable();
+ translation_.set(index, value);
+ onChanged();
+ } else {
+ translationBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public Builder setTranslation(
+ int index, com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation.Builder builderForValue) {
+ if (translationBuilder_ == null) {
+ ensureTranslationIsMutable();
+ translation_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ translationBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public Builder addTranslation(com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation value) {
+ if (translationBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTranslationIsMutable();
+ translation_.add(value);
+ onChanged();
+ } else {
+ translationBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public Builder addTranslation(
+ int index, com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation value) {
+ if (translationBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTranslationIsMutable();
+ translation_.add(index, value);
+ onChanged();
+ } else {
+ translationBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public Builder addTranslation(
+ com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation.Builder builderForValue) {
+ if (translationBuilder_ == null) {
+ ensureTranslationIsMutable();
+ translation_.add(builderForValue.build());
+ onChanged();
+ } else {
+ translationBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public Builder addTranslation(
+ int index, com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation.Builder builderForValue) {
+ if (translationBuilder_ == null) {
+ ensureTranslationIsMutable();
+ translation_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ translationBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public Builder addAllTranslation(
+ java.lang.Iterable extends com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation> values) {
+ if (translationBuilder_ == null) {
+ ensureTranslationIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, translation_);
+ onChanged();
+ } else {
+ translationBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public Builder clearTranslation() {
+ if (translationBuilder_ == null) {
+ translation_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ } else {
+ translationBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public Builder removeTranslation(int index) {
+ if (translationBuilder_ == null) {
+ ensureTranslationIsMutable();
+ translation_.remove(index);
+ onChanged();
+ } else {
+ translationBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation.Builder getTranslationBuilder(
+ int index) {
+ return getTranslationFieldBuilder().getBuilder(index);
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString.TranslationOrBuilder getTranslationOrBuilder(
+ int index) {
+ if (translationBuilder_ == null) {
+ return translation_.get(index); } else {
+ return translationBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public java.util.List extends com.google.transit.realtime.GtfsRealtime.TranslatedString.TranslationOrBuilder>
+ getTranslationOrBuilderList() {
+ if (translationBuilder_ != null) {
+ return translationBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(translation_);
+ }
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation.Builder addTranslationBuilder() {
+ return getTranslationFieldBuilder().addBuilder(
+ com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation.getDefaultInstance());
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation.Builder addTranslationBuilder(
+ int index) {
+ return getTranslationFieldBuilder().addBuilder(
+ index, com.google.transit.realtime.GtfsRealtime.TranslatedString.Translation.getDefaultInstance());
+ }
+ /**
+ * + * At least one translation must be provided. + *+ * + *
repeated .transit_realtime.TranslatedString.Translation translation = 1;
+ */
+ public java.util.List