diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index aa6b1e9..8c81b54 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1,129 +1,133 @@
Grazie per aver scelto BusTO, un\'app indipendente da GTT/5T, per spostarsi a Torino attraverso software libero:
Perché usare BusTO?
- Non sei monitorato
- Non ci sono pubblicità
- La tua privacy è al sicuro
- Inoltre l\'app è molto leggera!
Quest\'app ottiene i passaggi dei bus in tempo reale filtrando i dati forniti pubblicamente sul sito www.gtt.to.it o www.5t.torino.it "per uso personale".
Ingredienti:
- Fabio Mazza attuale rockstar developer anziano.
- Andrea Ugo attuale rockstar developer in formazione.
- Silviu Chiriac designer del logo 2021.
- Ludovico Pavesi ex rockstar developer anziano asd.
- Valerio Bozzolan attuale manutentore.
- Marco Gagino apprezzato ex collaboratore, ideatore icona e grafica.
- JSoup libreria per "web scaping".
- Google icone e libreria di supporto per il Material Design.
- Tutti i contributori!
L\'app e il relativo codice sorgente sono distribuiti sotto la licenza GNU General Public License v3+. Ciò significa che puoi usare, studiare, migliorare e ricondividere quest\'app con qualunque mezzo e per qualsiasi scopo: a patto di mantenere sempre questi diritti a tua volta e di dare credito a Valerio Bozzolan.
Quest\'applicazione è rilasciata nella speranza che sia utile a tutti ma senza NESSUNA garanzia.
Buon utilizzo! :)
]]>Thanks for using BusTO, a "politically" independent app useful to move around Torino using a Free/Libre software.
Why use this app?
- You\'ll never be tracked
- You\'ll never see boring ads
- We\'ll always respect your privacy
- Moreover, it\'s lightweight!
This app will show you bus timetables gathering data from www.gtt.to.it or www.5t.torino.it "for personal use".
Who worked on BusTO:
- Fabio Mazza current senior rockstar developer.
- Andrea Ugo current junior rockstar developer.
- Silviu Chiriac designer of the 2021 logo.
- Ludovico Pavesi previous senior rockstar developer asd.
- Valerio Bozzolan maintainer and infrastructure sponsor.
- Marco Gagino contributor and icon creator.
- JSoup web scraper library.
- makovkastar floating buttons.
- Google Material Design icons.
- All the contributors!
The app and the related source code are released by Valerio Bozzolan under the terms of the GNU General Public License v3+). So everyone is allowed to use, to study, to improve and to share this app by any kind of means and for any purpose: under the conditions of maintaining this rights and of attributing the original work to Valerio Bozzolan.
This app has been developed hoping to be useful to everyone but without ANY warranty.
This translation is kindly provided by Riccardo Caniato and Marco Gagino.
Get involved! :)
]]>+ * 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