• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/vision/v1p4beta1/text_annotation.proto
18 
19 package com.google.cloud.vision.v1p4beta1;
20 
21 /**
22  *
23  *
24  * <pre>
25  * A word representation.
26  * </pre>
27  *
28  * Protobuf type {@code google.cloud.vision.v1p4beta1.Word}
29  */
30 public final class Word extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.cloud.vision.v1p4beta1.Word)
33     WordOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use Word.newBuilder() to construct.
Word(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private Word(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
Word()40   private Word() {
41     symbols_ = java.util.Collections.emptyList();
42   }
43 
44   @java.lang.Override
45   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)46   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
47     return new Word();
48   }
49 
50   @java.lang.Override
getUnknownFields()51   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
52     return this.unknownFields;
53   }
54 
getDescriptor()55   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
56     return com.google.cloud.vision.v1p4beta1.TextAnnotationProto
57         .internal_static_google_cloud_vision_v1p4beta1_Word_descriptor;
58   }
59 
60   @java.lang.Override
61   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()62       internalGetFieldAccessorTable() {
63     return com.google.cloud.vision.v1p4beta1.TextAnnotationProto
64         .internal_static_google_cloud_vision_v1p4beta1_Word_fieldAccessorTable
65         .ensureFieldAccessorsInitialized(
66             com.google.cloud.vision.v1p4beta1.Word.class,
67             com.google.cloud.vision.v1p4beta1.Word.Builder.class);
68   }
69 
70   public static final int PROPERTY_FIELD_NUMBER = 1;
71   private com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty property_;
72   /**
73    *
74    *
75    * <pre>
76    * Additional information detected for the word.
77    * </pre>
78    *
79    * <code>.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty property = 1;</code>
80    *
81    * @return Whether the property field is set.
82    */
83   @java.lang.Override
hasProperty()84   public boolean hasProperty() {
85     return property_ != null;
86   }
87   /**
88    *
89    *
90    * <pre>
91    * Additional information detected for the word.
92    * </pre>
93    *
94    * <code>.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty property = 1;</code>
95    *
96    * @return The property.
97    */
98   @java.lang.Override
getProperty()99   public com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty getProperty() {
100     return property_ == null
101         ? com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.getDefaultInstance()
102         : property_;
103   }
104   /**
105    *
106    *
107    * <pre>
108    * Additional information detected for the word.
109    * </pre>
110    *
111    * <code>.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty property = 1;</code>
112    */
113   @java.lang.Override
114   public com.google.cloud.vision.v1p4beta1.TextAnnotation.TextPropertyOrBuilder
getPropertyOrBuilder()115       getPropertyOrBuilder() {
116     return property_ == null
117         ? com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.getDefaultInstance()
118         : property_;
119   }
120 
121   public static final int BOUNDING_BOX_FIELD_NUMBER = 2;
122   private com.google.cloud.vision.v1p4beta1.BoundingPoly boundingBox_;
123   /**
124    *
125    *
126    * <pre>
127    * The bounding box for the word.
128    * The vertices are in the order of top-left, top-right, bottom-right,
129    * bottom-left. When a rotation of the bounding box is detected the rotation
130    * is represented as around the top-left corner as defined when the text is
131    * read in the 'natural' orientation.
132    * For example:
133    *   * when the text is horizontal it might look like:
134    *      0----1
135    *      |    |
136    *      3----2
137    *   * when it's rotated 180 degrees around the top-left corner it becomes:
138    *      2----3
139    *      |    |
140    *      1----0
141    *   and the vertex order will still be (0, 1, 2, 3).
142    * </pre>
143    *
144    * <code>.google.cloud.vision.v1p4beta1.BoundingPoly bounding_box = 2;</code>
145    *
146    * @return Whether the boundingBox field is set.
147    */
148   @java.lang.Override
hasBoundingBox()149   public boolean hasBoundingBox() {
150     return boundingBox_ != null;
151   }
152   /**
153    *
154    *
155    * <pre>
156    * The bounding box for the word.
157    * The vertices are in the order of top-left, top-right, bottom-right,
158    * bottom-left. When a rotation of the bounding box is detected the rotation
159    * is represented as around the top-left corner as defined when the text is
160    * read in the 'natural' orientation.
161    * For example:
162    *   * when the text is horizontal it might look like:
163    *      0----1
164    *      |    |
165    *      3----2
166    *   * when it's rotated 180 degrees around the top-left corner it becomes:
167    *      2----3
168    *      |    |
169    *      1----0
170    *   and the vertex order will still be (0, 1, 2, 3).
171    * </pre>
172    *
173    * <code>.google.cloud.vision.v1p4beta1.BoundingPoly bounding_box = 2;</code>
174    *
175    * @return The boundingBox.
176    */
177   @java.lang.Override
getBoundingBox()178   public com.google.cloud.vision.v1p4beta1.BoundingPoly getBoundingBox() {
179     return boundingBox_ == null
180         ? com.google.cloud.vision.v1p4beta1.BoundingPoly.getDefaultInstance()
181         : boundingBox_;
182   }
183   /**
184    *
185    *
186    * <pre>
187    * The bounding box for the word.
188    * The vertices are in the order of top-left, top-right, bottom-right,
189    * bottom-left. When a rotation of the bounding box is detected the rotation
190    * is represented as around the top-left corner as defined when the text is
191    * read in the 'natural' orientation.
192    * For example:
193    *   * when the text is horizontal it might look like:
194    *      0----1
195    *      |    |
196    *      3----2
197    *   * when it's rotated 180 degrees around the top-left corner it becomes:
198    *      2----3
199    *      |    |
200    *      1----0
201    *   and the vertex order will still be (0, 1, 2, 3).
202    * </pre>
203    *
204    * <code>.google.cloud.vision.v1p4beta1.BoundingPoly bounding_box = 2;</code>
205    */
206   @java.lang.Override
getBoundingBoxOrBuilder()207   public com.google.cloud.vision.v1p4beta1.BoundingPolyOrBuilder getBoundingBoxOrBuilder() {
208     return boundingBox_ == null
209         ? com.google.cloud.vision.v1p4beta1.BoundingPoly.getDefaultInstance()
210         : boundingBox_;
211   }
212 
213   public static final int SYMBOLS_FIELD_NUMBER = 3;
214 
215   @SuppressWarnings("serial")
216   private java.util.List<com.google.cloud.vision.v1p4beta1.Symbol> symbols_;
217   /**
218    *
219    *
220    * <pre>
221    * List of symbols in the word.
222    * The order of the symbols follows the natural reading order.
223    * </pre>
224    *
225    * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
226    */
227   @java.lang.Override
getSymbolsList()228   public java.util.List<com.google.cloud.vision.v1p4beta1.Symbol> getSymbolsList() {
229     return symbols_;
230   }
231   /**
232    *
233    *
234    * <pre>
235    * List of symbols in the word.
236    * The order of the symbols follows the natural reading order.
237    * </pre>
238    *
239    * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
240    */
241   @java.lang.Override
242   public java.util.List<? extends com.google.cloud.vision.v1p4beta1.SymbolOrBuilder>
getSymbolsOrBuilderList()243       getSymbolsOrBuilderList() {
244     return symbols_;
245   }
246   /**
247    *
248    *
249    * <pre>
250    * List of symbols in the word.
251    * The order of the symbols follows the natural reading order.
252    * </pre>
253    *
254    * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
255    */
256   @java.lang.Override
getSymbolsCount()257   public int getSymbolsCount() {
258     return symbols_.size();
259   }
260   /**
261    *
262    *
263    * <pre>
264    * List of symbols in the word.
265    * The order of the symbols follows the natural reading order.
266    * </pre>
267    *
268    * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
269    */
270   @java.lang.Override
getSymbols(int index)271   public com.google.cloud.vision.v1p4beta1.Symbol getSymbols(int index) {
272     return symbols_.get(index);
273   }
274   /**
275    *
276    *
277    * <pre>
278    * List of symbols in the word.
279    * The order of the symbols follows the natural reading order.
280    * </pre>
281    *
282    * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
283    */
284   @java.lang.Override
getSymbolsOrBuilder(int index)285   public com.google.cloud.vision.v1p4beta1.SymbolOrBuilder getSymbolsOrBuilder(int index) {
286     return symbols_.get(index);
287   }
288 
289   public static final int CONFIDENCE_FIELD_NUMBER = 4;
290   private float confidence_ = 0F;
291   /**
292    *
293    *
294    * <pre>
295    * Confidence of the OCR results for the word. Range [0, 1].
296    * </pre>
297    *
298    * <code>float confidence = 4;</code>
299    *
300    * @return The confidence.
301    */
302   @java.lang.Override
getConfidence()303   public float getConfidence() {
304     return confidence_;
305   }
306 
307   private byte memoizedIsInitialized = -1;
308 
309   @java.lang.Override
isInitialized()310   public final boolean isInitialized() {
311     byte isInitialized = memoizedIsInitialized;
312     if (isInitialized == 1) return true;
313     if (isInitialized == 0) return false;
314 
315     memoizedIsInitialized = 1;
316     return true;
317   }
318 
319   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)320   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
321     if (property_ != null) {
322       output.writeMessage(1, getProperty());
323     }
324     if (boundingBox_ != null) {
325       output.writeMessage(2, getBoundingBox());
326     }
327     for (int i = 0; i < symbols_.size(); i++) {
328       output.writeMessage(3, symbols_.get(i));
329     }
330     if (java.lang.Float.floatToRawIntBits(confidence_) != 0) {
331       output.writeFloat(4, confidence_);
332     }
333     getUnknownFields().writeTo(output);
334   }
335 
336   @java.lang.Override
getSerializedSize()337   public int getSerializedSize() {
338     int size = memoizedSize;
339     if (size != -1) return size;
340 
341     size = 0;
342     if (property_ != null) {
343       size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getProperty());
344     }
345     if (boundingBox_ != null) {
346       size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getBoundingBox());
347     }
348     for (int i = 0; i < symbols_.size(); i++) {
349       size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, symbols_.get(i));
350     }
351     if (java.lang.Float.floatToRawIntBits(confidence_) != 0) {
352       size += com.google.protobuf.CodedOutputStream.computeFloatSize(4, confidence_);
353     }
354     size += getUnknownFields().getSerializedSize();
355     memoizedSize = size;
356     return size;
357   }
358 
359   @java.lang.Override
equals(final java.lang.Object obj)360   public boolean equals(final java.lang.Object obj) {
361     if (obj == this) {
362       return true;
363     }
364     if (!(obj instanceof com.google.cloud.vision.v1p4beta1.Word)) {
365       return super.equals(obj);
366     }
367     com.google.cloud.vision.v1p4beta1.Word other = (com.google.cloud.vision.v1p4beta1.Word) obj;
368 
369     if (hasProperty() != other.hasProperty()) return false;
370     if (hasProperty()) {
371       if (!getProperty().equals(other.getProperty())) return false;
372     }
373     if (hasBoundingBox() != other.hasBoundingBox()) return false;
374     if (hasBoundingBox()) {
375       if (!getBoundingBox().equals(other.getBoundingBox())) return false;
376     }
377     if (!getSymbolsList().equals(other.getSymbolsList())) return false;
378     if (java.lang.Float.floatToIntBits(getConfidence())
379         != java.lang.Float.floatToIntBits(other.getConfidence())) return false;
380     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
381     return true;
382   }
383 
384   @java.lang.Override
hashCode()385   public int hashCode() {
386     if (memoizedHashCode != 0) {
387       return memoizedHashCode;
388     }
389     int hash = 41;
390     hash = (19 * hash) + getDescriptor().hashCode();
391     if (hasProperty()) {
392       hash = (37 * hash) + PROPERTY_FIELD_NUMBER;
393       hash = (53 * hash) + getProperty().hashCode();
394     }
395     if (hasBoundingBox()) {
396       hash = (37 * hash) + BOUNDING_BOX_FIELD_NUMBER;
397       hash = (53 * hash) + getBoundingBox().hashCode();
398     }
399     if (getSymbolsCount() > 0) {
400       hash = (37 * hash) + SYMBOLS_FIELD_NUMBER;
401       hash = (53 * hash) + getSymbolsList().hashCode();
402     }
403     hash = (37 * hash) + CONFIDENCE_FIELD_NUMBER;
404     hash = (53 * hash) + java.lang.Float.floatToIntBits(getConfidence());
405     hash = (29 * hash) + getUnknownFields().hashCode();
406     memoizedHashCode = hash;
407     return hash;
408   }
409 
parseFrom(java.nio.ByteBuffer data)410   public static com.google.cloud.vision.v1p4beta1.Word parseFrom(java.nio.ByteBuffer data)
411       throws com.google.protobuf.InvalidProtocolBufferException {
412     return PARSER.parseFrom(data);
413   }
414 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)415   public static com.google.cloud.vision.v1p4beta1.Word parseFrom(
416       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
417       throws com.google.protobuf.InvalidProtocolBufferException {
418     return PARSER.parseFrom(data, extensionRegistry);
419   }
420 
parseFrom( com.google.protobuf.ByteString data)421   public static com.google.cloud.vision.v1p4beta1.Word parseFrom(
422       com.google.protobuf.ByteString data)
423       throws com.google.protobuf.InvalidProtocolBufferException {
424     return PARSER.parseFrom(data);
425   }
426 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)427   public static com.google.cloud.vision.v1p4beta1.Word parseFrom(
428       com.google.protobuf.ByteString data,
429       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
430       throws com.google.protobuf.InvalidProtocolBufferException {
431     return PARSER.parseFrom(data, extensionRegistry);
432   }
433 
parseFrom(byte[] data)434   public static com.google.cloud.vision.v1p4beta1.Word parseFrom(byte[] data)
435       throws com.google.protobuf.InvalidProtocolBufferException {
436     return PARSER.parseFrom(data);
437   }
438 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)439   public static com.google.cloud.vision.v1p4beta1.Word parseFrom(
440       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
441       throws com.google.protobuf.InvalidProtocolBufferException {
442     return PARSER.parseFrom(data, extensionRegistry);
443   }
444 
parseFrom(java.io.InputStream input)445   public static com.google.cloud.vision.v1p4beta1.Word parseFrom(java.io.InputStream input)
446       throws java.io.IOException {
447     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
448   }
449 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)450   public static com.google.cloud.vision.v1p4beta1.Word parseFrom(
451       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
452       throws java.io.IOException {
453     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
454         PARSER, input, extensionRegistry);
455   }
456 
parseDelimitedFrom(java.io.InputStream input)457   public static com.google.cloud.vision.v1p4beta1.Word parseDelimitedFrom(java.io.InputStream input)
458       throws java.io.IOException {
459     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
460   }
461 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)462   public static com.google.cloud.vision.v1p4beta1.Word parseDelimitedFrom(
463       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
464       throws java.io.IOException {
465     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
466         PARSER, input, extensionRegistry);
467   }
468 
parseFrom( com.google.protobuf.CodedInputStream input)469   public static com.google.cloud.vision.v1p4beta1.Word parseFrom(
470       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
471     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
472   }
473 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)474   public static com.google.cloud.vision.v1p4beta1.Word parseFrom(
475       com.google.protobuf.CodedInputStream input,
476       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
477       throws java.io.IOException {
478     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
479         PARSER, input, extensionRegistry);
480   }
481 
482   @java.lang.Override
newBuilderForType()483   public Builder newBuilderForType() {
484     return newBuilder();
485   }
486 
newBuilder()487   public static Builder newBuilder() {
488     return DEFAULT_INSTANCE.toBuilder();
489   }
490 
newBuilder(com.google.cloud.vision.v1p4beta1.Word prototype)491   public static Builder newBuilder(com.google.cloud.vision.v1p4beta1.Word prototype) {
492     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
493   }
494 
495   @java.lang.Override
toBuilder()496   public Builder toBuilder() {
497     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
498   }
499 
500   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)501   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
502     Builder builder = new Builder(parent);
503     return builder;
504   }
505   /**
506    *
507    *
508    * <pre>
509    * A word representation.
510    * </pre>
511    *
512    * Protobuf type {@code google.cloud.vision.v1p4beta1.Word}
513    */
514   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
515       implements
516       // @@protoc_insertion_point(builder_implements:google.cloud.vision.v1p4beta1.Word)
517       com.google.cloud.vision.v1p4beta1.WordOrBuilder {
getDescriptor()518     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
519       return com.google.cloud.vision.v1p4beta1.TextAnnotationProto
520           .internal_static_google_cloud_vision_v1p4beta1_Word_descriptor;
521     }
522 
523     @java.lang.Override
524     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()525         internalGetFieldAccessorTable() {
526       return com.google.cloud.vision.v1p4beta1.TextAnnotationProto
527           .internal_static_google_cloud_vision_v1p4beta1_Word_fieldAccessorTable
528           .ensureFieldAccessorsInitialized(
529               com.google.cloud.vision.v1p4beta1.Word.class,
530               com.google.cloud.vision.v1p4beta1.Word.Builder.class);
531     }
532 
533     // Construct using com.google.cloud.vision.v1p4beta1.Word.newBuilder()
Builder()534     private Builder() {}
535 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)536     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
537       super(parent);
538     }
539 
540     @java.lang.Override
clear()541     public Builder clear() {
542       super.clear();
543       bitField0_ = 0;
544       property_ = null;
545       if (propertyBuilder_ != null) {
546         propertyBuilder_.dispose();
547         propertyBuilder_ = null;
548       }
549       boundingBox_ = null;
550       if (boundingBoxBuilder_ != null) {
551         boundingBoxBuilder_.dispose();
552         boundingBoxBuilder_ = null;
553       }
554       if (symbolsBuilder_ == null) {
555         symbols_ = java.util.Collections.emptyList();
556       } else {
557         symbols_ = null;
558         symbolsBuilder_.clear();
559       }
560       bitField0_ = (bitField0_ & ~0x00000004);
561       confidence_ = 0F;
562       return this;
563     }
564 
565     @java.lang.Override
getDescriptorForType()566     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
567       return com.google.cloud.vision.v1p4beta1.TextAnnotationProto
568           .internal_static_google_cloud_vision_v1p4beta1_Word_descriptor;
569     }
570 
571     @java.lang.Override
getDefaultInstanceForType()572     public com.google.cloud.vision.v1p4beta1.Word getDefaultInstanceForType() {
573       return com.google.cloud.vision.v1p4beta1.Word.getDefaultInstance();
574     }
575 
576     @java.lang.Override
build()577     public com.google.cloud.vision.v1p4beta1.Word build() {
578       com.google.cloud.vision.v1p4beta1.Word result = buildPartial();
579       if (!result.isInitialized()) {
580         throw newUninitializedMessageException(result);
581       }
582       return result;
583     }
584 
585     @java.lang.Override
buildPartial()586     public com.google.cloud.vision.v1p4beta1.Word buildPartial() {
587       com.google.cloud.vision.v1p4beta1.Word result =
588           new com.google.cloud.vision.v1p4beta1.Word(this);
589       buildPartialRepeatedFields(result);
590       if (bitField0_ != 0) {
591         buildPartial0(result);
592       }
593       onBuilt();
594       return result;
595     }
596 
buildPartialRepeatedFields(com.google.cloud.vision.v1p4beta1.Word result)597     private void buildPartialRepeatedFields(com.google.cloud.vision.v1p4beta1.Word result) {
598       if (symbolsBuilder_ == null) {
599         if (((bitField0_ & 0x00000004) != 0)) {
600           symbols_ = java.util.Collections.unmodifiableList(symbols_);
601           bitField0_ = (bitField0_ & ~0x00000004);
602         }
603         result.symbols_ = symbols_;
604       } else {
605         result.symbols_ = symbolsBuilder_.build();
606       }
607     }
608 
buildPartial0(com.google.cloud.vision.v1p4beta1.Word result)609     private void buildPartial0(com.google.cloud.vision.v1p4beta1.Word result) {
610       int from_bitField0_ = bitField0_;
611       if (((from_bitField0_ & 0x00000001) != 0)) {
612         result.property_ = propertyBuilder_ == null ? property_ : propertyBuilder_.build();
613       }
614       if (((from_bitField0_ & 0x00000002) != 0)) {
615         result.boundingBox_ =
616             boundingBoxBuilder_ == null ? boundingBox_ : boundingBoxBuilder_.build();
617       }
618       if (((from_bitField0_ & 0x00000008) != 0)) {
619         result.confidence_ = confidence_;
620       }
621     }
622 
623     @java.lang.Override
clone()624     public Builder clone() {
625       return super.clone();
626     }
627 
628     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)629     public Builder setField(
630         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
631       return super.setField(field, value);
632     }
633 
634     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)635     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
636       return super.clearField(field);
637     }
638 
639     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)640     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
641       return super.clearOneof(oneof);
642     }
643 
644     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)645     public Builder setRepeatedField(
646         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
647       return super.setRepeatedField(field, index, value);
648     }
649 
650     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)651     public Builder addRepeatedField(
652         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
653       return super.addRepeatedField(field, value);
654     }
655 
656     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)657     public Builder mergeFrom(com.google.protobuf.Message other) {
658       if (other instanceof com.google.cloud.vision.v1p4beta1.Word) {
659         return mergeFrom((com.google.cloud.vision.v1p4beta1.Word) other);
660       } else {
661         super.mergeFrom(other);
662         return this;
663       }
664     }
665 
mergeFrom(com.google.cloud.vision.v1p4beta1.Word other)666     public Builder mergeFrom(com.google.cloud.vision.v1p4beta1.Word other) {
667       if (other == com.google.cloud.vision.v1p4beta1.Word.getDefaultInstance()) return this;
668       if (other.hasProperty()) {
669         mergeProperty(other.getProperty());
670       }
671       if (other.hasBoundingBox()) {
672         mergeBoundingBox(other.getBoundingBox());
673       }
674       if (symbolsBuilder_ == null) {
675         if (!other.symbols_.isEmpty()) {
676           if (symbols_.isEmpty()) {
677             symbols_ = other.symbols_;
678             bitField0_ = (bitField0_ & ~0x00000004);
679           } else {
680             ensureSymbolsIsMutable();
681             symbols_.addAll(other.symbols_);
682           }
683           onChanged();
684         }
685       } else {
686         if (!other.symbols_.isEmpty()) {
687           if (symbolsBuilder_.isEmpty()) {
688             symbolsBuilder_.dispose();
689             symbolsBuilder_ = null;
690             symbols_ = other.symbols_;
691             bitField0_ = (bitField0_ & ~0x00000004);
692             symbolsBuilder_ =
693                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
694                     ? getSymbolsFieldBuilder()
695                     : null;
696           } else {
697             symbolsBuilder_.addAllMessages(other.symbols_);
698           }
699         }
700       }
701       if (other.getConfidence() != 0F) {
702         setConfidence(other.getConfidence());
703       }
704       this.mergeUnknownFields(other.getUnknownFields());
705       onChanged();
706       return this;
707     }
708 
709     @java.lang.Override
isInitialized()710     public final boolean isInitialized() {
711       return true;
712     }
713 
714     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)715     public Builder mergeFrom(
716         com.google.protobuf.CodedInputStream input,
717         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
718         throws java.io.IOException {
719       if (extensionRegistry == null) {
720         throw new java.lang.NullPointerException();
721       }
722       try {
723         boolean done = false;
724         while (!done) {
725           int tag = input.readTag();
726           switch (tag) {
727             case 0:
728               done = true;
729               break;
730             case 10:
731               {
732                 input.readMessage(getPropertyFieldBuilder().getBuilder(), extensionRegistry);
733                 bitField0_ |= 0x00000001;
734                 break;
735               } // case 10
736             case 18:
737               {
738                 input.readMessage(getBoundingBoxFieldBuilder().getBuilder(), extensionRegistry);
739                 bitField0_ |= 0x00000002;
740                 break;
741               } // case 18
742             case 26:
743               {
744                 com.google.cloud.vision.v1p4beta1.Symbol m =
745                     input.readMessage(
746                         com.google.cloud.vision.v1p4beta1.Symbol.parser(), extensionRegistry);
747                 if (symbolsBuilder_ == null) {
748                   ensureSymbolsIsMutable();
749                   symbols_.add(m);
750                 } else {
751                   symbolsBuilder_.addMessage(m);
752                 }
753                 break;
754               } // case 26
755             case 37:
756               {
757                 confidence_ = input.readFloat();
758                 bitField0_ |= 0x00000008;
759                 break;
760               } // case 37
761             default:
762               {
763                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
764                   done = true; // was an endgroup tag
765                 }
766                 break;
767               } // default:
768           } // switch (tag)
769         } // while (!done)
770       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
771         throw e.unwrapIOException();
772       } finally {
773         onChanged();
774       } // finally
775       return this;
776     }
777 
778     private int bitField0_;
779 
780     private com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty property_;
781     private com.google.protobuf.SingleFieldBuilderV3<
782             com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty,
783             com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.Builder,
784             com.google.cloud.vision.v1p4beta1.TextAnnotation.TextPropertyOrBuilder>
785         propertyBuilder_;
786     /**
787      *
788      *
789      * <pre>
790      * Additional information detected for the word.
791      * </pre>
792      *
793      * <code>.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty property = 1;</code>
794      *
795      * @return Whether the property field is set.
796      */
hasProperty()797     public boolean hasProperty() {
798       return ((bitField0_ & 0x00000001) != 0);
799     }
800     /**
801      *
802      *
803      * <pre>
804      * Additional information detected for the word.
805      * </pre>
806      *
807      * <code>.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty property = 1;</code>
808      *
809      * @return The property.
810      */
getProperty()811     public com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty getProperty() {
812       if (propertyBuilder_ == null) {
813         return property_ == null
814             ? com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.getDefaultInstance()
815             : property_;
816       } else {
817         return propertyBuilder_.getMessage();
818       }
819     }
820     /**
821      *
822      *
823      * <pre>
824      * Additional information detected for the word.
825      * </pre>
826      *
827      * <code>.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty property = 1;</code>
828      */
setProperty( com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty value)829     public Builder setProperty(
830         com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty value) {
831       if (propertyBuilder_ == null) {
832         if (value == null) {
833           throw new NullPointerException();
834         }
835         property_ = value;
836       } else {
837         propertyBuilder_.setMessage(value);
838       }
839       bitField0_ |= 0x00000001;
840       onChanged();
841       return this;
842     }
843     /**
844      *
845      *
846      * <pre>
847      * Additional information detected for the word.
848      * </pre>
849      *
850      * <code>.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty property = 1;</code>
851      */
setProperty( com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.Builder builderForValue)852     public Builder setProperty(
853         com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.Builder builderForValue) {
854       if (propertyBuilder_ == null) {
855         property_ = builderForValue.build();
856       } else {
857         propertyBuilder_.setMessage(builderForValue.build());
858       }
859       bitField0_ |= 0x00000001;
860       onChanged();
861       return this;
862     }
863     /**
864      *
865      *
866      * <pre>
867      * Additional information detected for the word.
868      * </pre>
869      *
870      * <code>.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty property = 1;</code>
871      */
mergeProperty( com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty value)872     public Builder mergeProperty(
873         com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty value) {
874       if (propertyBuilder_ == null) {
875         if (((bitField0_ & 0x00000001) != 0)
876             && property_ != null
877             && property_
878                 != com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty
879                     .getDefaultInstance()) {
880           getPropertyBuilder().mergeFrom(value);
881         } else {
882           property_ = value;
883         }
884       } else {
885         propertyBuilder_.mergeFrom(value);
886       }
887       bitField0_ |= 0x00000001;
888       onChanged();
889       return this;
890     }
891     /**
892      *
893      *
894      * <pre>
895      * Additional information detected for the word.
896      * </pre>
897      *
898      * <code>.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty property = 1;</code>
899      */
clearProperty()900     public Builder clearProperty() {
901       bitField0_ = (bitField0_ & ~0x00000001);
902       property_ = null;
903       if (propertyBuilder_ != null) {
904         propertyBuilder_.dispose();
905         propertyBuilder_ = null;
906       }
907       onChanged();
908       return this;
909     }
910     /**
911      *
912      *
913      * <pre>
914      * Additional information detected for the word.
915      * </pre>
916      *
917      * <code>.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty property = 1;</code>
918      */
919     public com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.Builder
getPropertyBuilder()920         getPropertyBuilder() {
921       bitField0_ |= 0x00000001;
922       onChanged();
923       return getPropertyFieldBuilder().getBuilder();
924     }
925     /**
926      *
927      *
928      * <pre>
929      * Additional information detected for the word.
930      * </pre>
931      *
932      * <code>.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty property = 1;</code>
933      */
934     public com.google.cloud.vision.v1p4beta1.TextAnnotation.TextPropertyOrBuilder
getPropertyOrBuilder()935         getPropertyOrBuilder() {
936       if (propertyBuilder_ != null) {
937         return propertyBuilder_.getMessageOrBuilder();
938       } else {
939         return property_ == null
940             ? com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.getDefaultInstance()
941             : property_;
942       }
943     }
944     /**
945      *
946      *
947      * <pre>
948      * Additional information detected for the word.
949      * </pre>
950      *
951      * <code>.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty property = 1;</code>
952      */
953     private com.google.protobuf.SingleFieldBuilderV3<
954             com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty,
955             com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.Builder,
956             com.google.cloud.vision.v1p4beta1.TextAnnotation.TextPropertyOrBuilder>
getPropertyFieldBuilder()957         getPropertyFieldBuilder() {
958       if (propertyBuilder_ == null) {
959         propertyBuilder_ =
960             new com.google.protobuf.SingleFieldBuilderV3<
961                 com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty,
962                 com.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.Builder,
963                 com.google.cloud.vision.v1p4beta1.TextAnnotation.TextPropertyOrBuilder>(
964                 getProperty(), getParentForChildren(), isClean());
965         property_ = null;
966       }
967       return propertyBuilder_;
968     }
969 
970     private com.google.cloud.vision.v1p4beta1.BoundingPoly boundingBox_;
971     private com.google.protobuf.SingleFieldBuilderV3<
972             com.google.cloud.vision.v1p4beta1.BoundingPoly,
973             com.google.cloud.vision.v1p4beta1.BoundingPoly.Builder,
974             com.google.cloud.vision.v1p4beta1.BoundingPolyOrBuilder>
975         boundingBoxBuilder_;
976     /**
977      *
978      *
979      * <pre>
980      * The bounding box for the word.
981      * The vertices are in the order of top-left, top-right, bottom-right,
982      * bottom-left. When a rotation of the bounding box is detected the rotation
983      * is represented as around the top-left corner as defined when the text is
984      * read in the 'natural' orientation.
985      * For example:
986      *   * when the text is horizontal it might look like:
987      *      0----1
988      *      |    |
989      *      3----2
990      *   * when it's rotated 180 degrees around the top-left corner it becomes:
991      *      2----3
992      *      |    |
993      *      1----0
994      *   and the vertex order will still be (0, 1, 2, 3).
995      * </pre>
996      *
997      * <code>.google.cloud.vision.v1p4beta1.BoundingPoly bounding_box = 2;</code>
998      *
999      * @return Whether the boundingBox field is set.
1000      */
hasBoundingBox()1001     public boolean hasBoundingBox() {
1002       return ((bitField0_ & 0x00000002) != 0);
1003     }
1004     /**
1005      *
1006      *
1007      * <pre>
1008      * The bounding box for the word.
1009      * The vertices are in the order of top-left, top-right, bottom-right,
1010      * bottom-left. When a rotation of the bounding box is detected the rotation
1011      * is represented as around the top-left corner as defined when the text is
1012      * read in the 'natural' orientation.
1013      * For example:
1014      *   * when the text is horizontal it might look like:
1015      *      0----1
1016      *      |    |
1017      *      3----2
1018      *   * when it's rotated 180 degrees around the top-left corner it becomes:
1019      *      2----3
1020      *      |    |
1021      *      1----0
1022      *   and the vertex order will still be (0, 1, 2, 3).
1023      * </pre>
1024      *
1025      * <code>.google.cloud.vision.v1p4beta1.BoundingPoly bounding_box = 2;</code>
1026      *
1027      * @return The boundingBox.
1028      */
getBoundingBox()1029     public com.google.cloud.vision.v1p4beta1.BoundingPoly getBoundingBox() {
1030       if (boundingBoxBuilder_ == null) {
1031         return boundingBox_ == null
1032             ? com.google.cloud.vision.v1p4beta1.BoundingPoly.getDefaultInstance()
1033             : boundingBox_;
1034       } else {
1035         return boundingBoxBuilder_.getMessage();
1036       }
1037     }
1038     /**
1039      *
1040      *
1041      * <pre>
1042      * The bounding box for the word.
1043      * The vertices are in the order of top-left, top-right, bottom-right,
1044      * bottom-left. When a rotation of the bounding box is detected the rotation
1045      * is represented as around the top-left corner as defined when the text is
1046      * read in the 'natural' orientation.
1047      * For example:
1048      *   * when the text is horizontal it might look like:
1049      *      0----1
1050      *      |    |
1051      *      3----2
1052      *   * when it's rotated 180 degrees around the top-left corner it becomes:
1053      *      2----3
1054      *      |    |
1055      *      1----0
1056      *   and the vertex order will still be (0, 1, 2, 3).
1057      * </pre>
1058      *
1059      * <code>.google.cloud.vision.v1p4beta1.BoundingPoly bounding_box = 2;</code>
1060      */
setBoundingBox(com.google.cloud.vision.v1p4beta1.BoundingPoly value)1061     public Builder setBoundingBox(com.google.cloud.vision.v1p4beta1.BoundingPoly value) {
1062       if (boundingBoxBuilder_ == null) {
1063         if (value == null) {
1064           throw new NullPointerException();
1065         }
1066         boundingBox_ = value;
1067       } else {
1068         boundingBoxBuilder_.setMessage(value);
1069       }
1070       bitField0_ |= 0x00000002;
1071       onChanged();
1072       return this;
1073     }
1074     /**
1075      *
1076      *
1077      * <pre>
1078      * The bounding box for the word.
1079      * The vertices are in the order of top-left, top-right, bottom-right,
1080      * bottom-left. When a rotation of the bounding box is detected the rotation
1081      * is represented as around the top-left corner as defined when the text is
1082      * read in the 'natural' orientation.
1083      * For example:
1084      *   * when the text is horizontal it might look like:
1085      *      0----1
1086      *      |    |
1087      *      3----2
1088      *   * when it's rotated 180 degrees around the top-left corner it becomes:
1089      *      2----3
1090      *      |    |
1091      *      1----0
1092      *   and the vertex order will still be (0, 1, 2, 3).
1093      * </pre>
1094      *
1095      * <code>.google.cloud.vision.v1p4beta1.BoundingPoly bounding_box = 2;</code>
1096      */
setBoundingBox( com.google.cloud.vision.v1p4beta1.BoundingPoly.Builder builderForValue)1097     public Builder setBoundingBox(
1098         com.google.cloud.vision.v1p4beta1.BoundingPoly.Builder builderForValue) {
1099       if (boundingBoxBuilder_ == null) {
1100         boundingBox_ = builderForValue.build();
1101       } else {
1102         boundingBoxBuilder_.setMessage(builderForValue.build());
1103       }
1104       bitField0_ |= 0x00000002;
1105       onChanged();
1106       return this;
1107     }
1108     /**
1109      *
1110      *
1111      * <pre>
1112      * The bounding box for the word.
1113      * The vertices are in the order of top-left, top-right, bottom-right,
1114      * bottom-left. When a rotation of the bounding box is detected the rotation
1115      * is represented as around the top-left corner as defined when the text is
1116      * read in the 'natural' orientation.
1117      * For example:
1118      *   * when the text is horizontal it might look like:
1119      *      0----1
1120      *      |    |
1121      *      3----2
1122      *   * when it's rotated 180 degrees around the top-left corner it becomes:
1123      *      2----3
1124      *      |    |
1125      *      1----0
1126      *   and the vertex order will still be (0, 1, 2, 3).
1127      * </pre>
1128      *
1129      * <code>.google.cloud.vision.v1p4beta1.BoundingPoly bounding_box = 2;</code>
1130      */
mergeBoundingBox(com.google.cloud.vision.v1p4beta1.BoundingPoly value)1131     public Builder mergeBoundingBox(com.google.cloud.vision.v1p4beta1.BoundingPoly value) {
1132       if (boundingBoxBuilder_ == null) {
1133         if (((bitField0_ & 0x00000002) != 0)
1134             && boundingBox_ != null
1135             && boundingBox_
1136                 != com.google.cloud.vision.v1p4beta1.BoundingPoly.getDefaultInstance()) {
1137           getBoundingBoxBuilder().mergeFrom(value);
1138         } else {
1139           boundingBox_ = value;
1140         }
1141       } else {
1142         boundingBoxBuilder_.mergeFrom(value);
1143       }
1144       bitField0_ |= 0x00000002;
1145       onChanged();
1146       return this;
1147     }
1148     /**
1149      *
1150      *
1151      * <pre>
1152      * The bounding box for the word.
1153      * The vertices are in the order of top-left, top-right, bottom-right,
1154      * bottom-left. When a rotation of the bounding box is detected the rotation
1155      * is represented as around the top-left corner as defined when the text is
1156      * read in the 'natural' orientation.
1157      * For example:
1158      *   * when the text is horizontal it might look like:
1159      *      0----1
1160      *      |    |
1161      *      3----2
1162      *   * when it's rotated 180 degrees around the top-left corner it becomes:
1163      *      2----3
1164      *      |    |
1165      *      1----0
1166      *   and the vertex order will still be (0, 1, 2, 3).
1167      * </pre>
1168      *
1169      * <code>.google.cloud.vision.v1p4beta1.BoundingPoly bounding_box = 2;</code>
1170      */
clearBoundingBox()1171     public Builder clearBoundingBox() {
1172       bitField0_ = (bitField0_ & ~0x00000002);
1173       boundingBox_ = null;
1174       if (boundingBoxBuilder_ != null) {
1175         boundingBoxBuilder_.dispose();
1176         boundingBoxBuilder_ = null;
1177       }
1178       onChanged();
1179       return this;
1180     }
1181     /**
1182      *
1183      *
1184      * <pre>
1185      * The bounding box for the word.
1186      * The vertices are in the order of top-left, top-right, bottom-right,
1187      * bottom-left. When a rotation of the bounding box is detected the rotation
1188      * is represented as around the top-left corner as defined when the text is
1189      * read in the 'natural' orientation.
1190      * For example:
1191      *   * when the text is horizontal it might look like:
1192      *      0----1
1193      *      |    |
1194      *      3----2
1195      *   * when it's rotated 180 degrees around the top-left corner it becomes:
1196      *      2----3
1197      *      |    |
1198      *      1----0
1199      *   and the vertex order will still be (0, 1, 2, 3).
1200      * </pre>
1201      *
1202      * <code>.google.cloud.vision.v1p4beta1.BoundingPoly bounding_box = 2;</code>
1203      */
getBoundingBoxBuilder()1204     public com.google.cloud.vision.v1p4beta1.BoundingPoly.Builder getBoundingBoxBuilder() {
1205       bitField0_ |= 0x00000002;
1206       onChanged();
1207       return getBoundingBoxFieldBuilder().getBuilder();
1208     }
1209     /**
1210      *
1211      *
1212      * <pre>
1213      * The bounding box for the word.
1214      * The vertices are in the order of top-left, top-right, bottom-right,
1215      * bottom-left. When a rotation of the bounding box is detected the rotation
1216      * is represented as around the top-left corner as defined when the text is
1217      * read in the 'natural' orientation.
1218      * For example:
1219      *   * when the text is horizontal it might look like:
1220      *      0----1
1221      *      |    |
1222      *      3----2
1223      *   * when it's rotated 180 degrees around the top-left corner it becomes:
1224      *      2----3
1225      *      |    |
1226      *      1----0
1227      *   and the vertex order will still be (0, 1, 2, 3).
1228      * </pre>
1229      *
1230      * <code>.google.cloud.vision.v1p4beta1.BoundingPoly bounding_box = 2;</code>
1231      */
getBoundingBoxOrBuilder()1232     public com.google.cloud.vision.v1p4beta1.BoundingPolyOrBuilder getBoundingBoxOrBuilder() {
1233       if (boundingBoxBuilder_ != null) {
1234         return boundingBoxBuilder_.getMessageOrBuilder();
1235       } else {
1236         return boundingBox_ == null
1237             ? com.google.cloud.vision.v1p4beta1.BoundingPoly.getDefaultInstance()
1238             : boundingBox_;
1239       }
1240     }
1241     /**
1242      *
1243      *
1244      * <pre>
1245      * The bounding box for the word.
1246      * The vertices are in the order of top-left, top-right, bottom-right,
1247      * bottom-left. When a rotation of the bounding box is detected the rotation
1248      * is represented as around the top-left corner as defined when the text is
1249      * read in the 'natural' orientation.
1250      * For example:
1251      *   * when the text is horizontal it might look like:
1252      *      0----1
1253      *      |    |
1254      *      3----2
1255      *   * when it's rotated 180 degrees around the top-left corner it becomes:
1256      *      2----3
1257      *      |    |
1258      *      1----0
1259      *   and the vertex order will still be (0, 1, 2, 3).
1260      * </pre>
1261      *
1262      * <code>.google.cloud.vision.v1p4beta1.BoundingPoly bounding_box = 2;</code>
1263      */
1264     private com.google.protobuf.SingleFieldBuilderV3<
1265             com.google.cloud.vision.v1p4beta1.BoundingPoly,
1266             com.google.cloud.vision.v1p4beta1.BoundingPoly.Builder,
1267             com.google.cloud.vision.v1p4beta1.BoundingPolyOrBuilder>
getBoundingBoxFieldBuilder()1268         getBoundingBoxFieldBuilder() {
1269       if (boundingBoxBuilder_ == null) {
1270         boundingBoxBuilder_ =
1271             new com.google.protobuf.SingleFieldBuilderV3<
1272                 com.google.cloud.vision.v1p4beta1.BoundingPoly,
1273                 com.google.cloud.vision.v1p4beta1.BoundingPoly.Builder,
1274                 com.google.cloud.vision.v1p4beta1.BoundingPolyOrBuilder>(
1275                 getBoundingBox(), getParentForChildren(), isClean());
1276         boundingBox_ = null;
1277       }
1278       return boundingBoxBuilder_;
1279     }
1280 
1281     private java.util.List<com.google.cloud.vision.v1p4beta1.Symbol> symbols_ =
1282         java.util.Collections.emptyList();
1283 
ensureSymbolsIsMutable()1284     private void ensureSymbolsIsMutable() {
1285       if (!((bitField0_ & 0x00000004) != 0)) {
1286         symbols_ = new java.util.ArrayList<com.google.cloud.vision.v1p4beta1.Symbol>(symbols_);
1287         bitField0_ |= 0x00000004;
1288       }
1289     }
1290 
1291     private com.google.protobuf.RepeatedFieldBuilderV3<
1292             com.google.cloud.vision.v1p4beta1.Symbol,
1293             com.google.cloud.vision.v1p4beta1.Symbol.Builder,
1294             com.google.cloud.vision.v1p4beta1.SymbolOrBuilder>
1295         symbolsBuilder_;
1296 
1297     /**
1298      *
1299      *
1300      * <pre>
1301      * List of symbols in the word.
1302      * The order of the symbols follows the natural reading order.
1303      * </pre>
1304      *
1305      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1306      */
getSymbolsList()1307     public java.util.List<com.google.cloud.vision.v1p4beta1.Symbol> getSymbolsList() {
1308       if (symbolsBuilder_ == null) {
1309         return java.util.Collections.unmodifiableList(symbols_);
1310       } else {
1311         return symbolsBuilder_.getMessageList();
1312       }
1313     }
1314     /**
1315      *
1316      *
1317      * <pre>
1318      * List of symbols in the word.
1319      * The order of the symbols follows the natural reading order.
1320      * </pre>
1321      *
1322      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1323      */
getSymbolsCount()1324     public int getSymbolsCount() {
1325       if (symbolsBuilder_ == null) {
1326         return symbols_.size();
1327       } else {
1328         return symbolsBuilder_.getCount();
1329       }
1330     }
1331     /**
1332      *
1333      *
1334      * <pre>
1335      * List of symbols in the word.
1336      * The order of the symbols follows the natural reading order.
1337      * </pre>
1338      *
1339      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1340      */
getSymbols(int index)1341     public com.google.cloud.vision.v1p4beta1.Symbol getSymbols(int index) {
1342       if (symbolsBuilder_ == null) {
1343         return symbols_.get(index);
1344       } else {
1345         return symbolsBuilder_.getMessage(index);
1346       }
1347     }
1348     /**
1349      *
1350      *
1351      * <pre>
1352      * List of symbols in the word.
1353      * The order of the symbols follows the natural reading order.
1354      * </pre>
1355      *
1356      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1357      */
setSymbols(int index, com.google.cloud.vision.v1p4beta1.Symbol value)1358     public Builder setSymbols(int index, com.google.cloud.vision.v1p4beta1.Symbol value) {
1359       if (symbolsBuilder_ == null) {
1360         if (value == null) {
1361           throw new NullPointerException();
1362         }
1363         ensureSymbolsIsMutable();
1364         symbols_.set(index, value);
1365         onChanged();
1366       } else {
1367         symbolsBuilder_.setMessage(index, value);
1368       }
1369       return this;
1370     }
1371     /**
1372      *
1373      *
1374      * <pre>
1375      * List of symbols in the word.
1376      * The order of the symbols follows the natural reading order.
1377      * </pre>
1378      *
1379      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1380      */
setSymbols( int index, com.google.cloud.vision.v1p4beta1.Symbol.Builder builderForValue)1381     public Builder setSymbols(
1382         int index, com.google.cloud.vision.v1p4beta1.Symbol.Builder builderForValue) {
1383       if (symbolsBuilder_ == null) {
1384         ensureSymbolsIsMutable();
1385         symbols_.set(index, builderForValue.build());
1386         onChanged();
1387       } else {
1388         symbolsBuilder_.setMessage(index, builderForValue.build());
1389       }
1390       return this;
1391     }
1392     /**
1393      *
1394      *
1395      * <pre>
1396      * List of symbols in the word.
1397      * The order of the symbols follows the natural reading order.
1398      * </pre>
1399      *
1400      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1401      */
addSymbols(com.google.cloud.vision.v1p4beta1.Symbol value)1402     public Builder addSymbols(com.google.cloud.vision.v1p4beta1.Symbol value) {
1403       if (symbolsBuilder_ == null) {
1404         if (value == null) {
1405           throw new NullPointerException();
1406         }
1407         ensureSymbolsIsMutable();
1408         symbols_.add(value);
1409         onChanged();
1410       } else {
1411         symbolsBuilder_.addMessage(value);
1412       }
1413       return this;
1414     }
1415     /**
1416      *
1417      *
1418      * <pre>
1419      * List of symbols in the word.
1420      * The order of the symbols follows the natural reading order.
1421      * </pre>
1422      *
1423      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1424      */
addSymbols(int index, com.google.cloud.vision.v1p4beta1.Symbol value)1425     public Builder addSymbols(int index, com.google.cloud.vision.v1p4beta1.Symbol value) {
1426       if (symbolsBuilder_ == null) {
1427         if (value == null) {
1428           throw new NullPointerException();
1429         }
1430         ensureSymbolsIsMutable();
1431         symbols_.add(index, value);
1432         onChanged();
1433       } else {
1434         symbolsBuilder_.addMessage(index, value);
1435       }
1436       return this;
1437     }
1438     /**
1439      *
1440      *
1441      * <pre>
1442      * List of symbols in the word.
1443      * The order of the symbols follows the natural reading order.
1444      * </pre>
1445      *
1446      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1447      */
addSymbols(com.google.cloud.vision.v1p4beta1.Symbol.Builder builderForValue)1448     public Builder addSymbols(com.google.cloud.vision.v1p4beta1.Symbol.Builder builderForValue) {
1449       if (symbolsBuilder_ == null) {
1450         ensureSymbolsIsMutable();
1451         symbols_.add(builderForValue.build());
1452         onChanged();
1453       } else {
1454         symbolsBuilder_.addMessage(builderForValue.build());
1455       }
1456       return this;
1457     }
1458     /**
1459      *
1460      *
1461      * <pre>
1462      * List of symbols in the word.
1463      * The order of the symbols follows the natural reading order.
1464      * </pre>
1465      *
1466      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1467      */
addSymbols( int index, com.google.cloud.vision.v1p4beta1.Symbol.Builder builderForValue)1468     public Builder addSymbols(
1469         int index, com.google.cloud.vision.v1p4beta1.Symbol.Builder builderForValue) {
1470       if (symbolsBuilder_ == null) {
1471         ensureSymbolsIsMutable();
1472         symbols_.add(index, builderForValue.build());
1473         onChanged();
1474       } else {
1475         symbolsBuilder_.addMessage(index, builderForValue.build());
1476       }
1477       return this;
1478     }
1479     /**
1480      *
1481      *
1482      * <pre>
1483      * List of symbols in the word.
1484      * The order of the symbols follows the natural reading order.
1485      * </pre>
1486      *
1487      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1488      */
addAllSymbols( java.lang.Iterable<? extends com.google.cloud.vision.v1p4beta1.Symbol> values)1489     public Builder addAllSymbols(
1490         java.lang.Iterable<? extends com.google.cloud.vision.v1p4beta1.Symbol> values) {
1491       if (symbolsBuilder_ == null) {
1492         ensureSymbolsIsMutable();
1493         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, symbols_);
1494         onChanged();
1495       } else {
1496         symbolsBuilder_.addAllMessages(values);
1497       }
1498       return this;
1499     }
1500     /**
1501      *
1502      *
1503      * <pre>
1504      * List of symbols in the word.
1505      * The order of the symbols follows the natural reading order.
1506      * </pre>
1507      *
1508      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1509      */
clearSymbols()1510     public Builder clearSymbols() {
1511       if (symbolsBuilder_ == null) {
1512         symbols_ = java.util.Collections.emptyList();
1513         bitField0_ = (bitField0_ & ~0x00000004);
1514         onChanged();
1515       } else {
1516         symbolsBuilder_.clear();
1517       }
1518       return this;
1519     }
1520     /**
1521      *
1522      *
1523      * <pre>
1524      * List of symbols in the word.
1525      * The order of the symbols follows the natural reading order.
1526      * </pre>
1527      *
1528      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1529      */
removeSymbols(int index)1530     public Builder removeSymbols(int index) {
1531       if (symbolsBuilder_ == null) {
1532         ensureSymbolsIsMutable();
1533         symbols_.remove(index);
1534         onChanged();
1535       } else {
1536         symbolsBuilder_.remove(index);
1537       }
1538       return this;
1539     }
1540     /**
1541      *
1542      *
1543      * <pre>
1544      * List of symbols in the word.
1545      * The order of the symbols follows the natural reading order.
1546      * </pre>
1547      *
1548      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1549      */
getSymbolsBuilder(int index)1550     public com.google.cloud.vision.v1p4beta1.Symbol.Builder getSymbolsBuilder(int index) {
1551       return getSymbolsFieldBuilder().getBuilder(index);
1552     }
1553     /**
1554      *
1555      *
1556      * <pre>
1557      * List of symbols in the word.
1558      * The order of the symbols follows the natural reading order.
1559      * </pre>
1560      *
1561      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1562      */
getSymbolsOrBuilder(int index)1563     public com.google.cloud.vision.v1p4beta1.SymbolOrBuilder getSymbolsOrBuilder(int index) {
1564       if (symbolsBuilder_ == null) {
1565         return symbols_.get(index);
1566       } else {
1567         return symbolsBuilder_.getMessageOrBuilder(index);
1568       }
1569     }
1570     /**
1571      *
1572      *
1573      * <pre>
1574      * List of symbols in the word.
1575      * The order of the symbols follows the natural reading order.
1576      * </pre>
1577      *
1578      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1579      */
1580     public java.util.List<? extends com.google.cloud.vision.v1p4beta1.SymbolOrBuilder>
getSymbolsOrBuilderList()1581         getSymbolsOrBuilderList() {
1582       if (symbolsBuilder_ != null) {
1583         return symbolsBuilder_.getMessageOrBuilderList();
1584       } else {
1585         return java.util.Collections.unmodifiableList(symbols_);
1586       }
1587     }
1588     /**
1589      *
1590      *
1591      * <pre>
1592      * List of symbols in the word.
1593      * The order of the symbols follows the natural reading order.
1594      * </pre>
1595      *
1596      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1597      */
addSymbolsBuilder()1598     public com.google.cloud.vision.v1p4beta1.Symbol.Builder addSymbolsBuilder() {
1599       return getSymbolsFieldBuilder()
1600           .addBuilder(com.google.cloud.vision.v1p4beta1.Symbol.getDefaultInstance());
1601     }
1602     /**
1603      *
1604      *
1605      * <pre>
1606      * List of symbols in the word.
1607      * The order of the symbols follows the natural reading order.
1608      * </pre>
1609      *
1610      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1611      */
addSymbolsBuilder(int index)1612     public com.google.cloud.vision.v1p4beta1.Symbol.Builder addSymbolsBuilder(int index) {
1613       return getSymbolsFieldBuilder()
1614           .addBuilder(index, com.google.cloud.vision.v1p4beta1.Symbol.getDefaultInstance());
1615     }
1616     /**
1617      *
1618      *
1619      * <pre>
1620      * List of symbols in the word.
1621      * The order of the symbols follows the natural reading order.
1622      * </pre>
1623      *
1624      * <code>repeated .google.cloud.vision.v1p4beta1.Symbol symbols = 3;</code>
1625      */
1626     public java.util.List<com.google.cloud.vision.v1p4beta1.Symbol.Builder>
getSymbolsBuilderList()1627         getSymbolsBuilderList() {
1628       return getSymbolsFieldBuilder().getBuilderList();
1629     }
1630 
1631     private com.google.protobuf.RepeatedFieldBuilderV3<
1632             com.google.cloud.vision.v1p4beta1.Symbol,
1633             com.google.cloud.vision.v1p4beta1.Symbol.Builder,
1634             com.google.cloud.vision.v1p4beta1.SymbolOrBuilder>
getSymbolsFieldBuilder()1635         getSymbolsFieldBuilder() {
1636       if (symbolsBuilder_ == null) {
1637         symbolsBuilder_ =
1638             new com.google.protobuf.RepeatedFieldBuilderV3<
1639                 com.google.cloud.vision.v1p4beta1.Symbol,
1640                 com.google.cloud.vision.v1p4beta1.Symbol.Builder,
1641                 com.google.cloud.vision.v1p4beta1.SymbolOrBuilder>(
1642                 symbols_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
1643         symbols_ = null;
1644       }
1645       return symbolsBuilder_;
1646     }
1647 
1648     private float confidence_;
1649     /**
1650      *
1651      *
1652      * <pre>
1653      * Confidence of the OCR results for the word. Range [0, 1].
1654      * </pre>
1655      *
1656      * <code>float confidence = 4;</code>
1657      *
1658      * @return The confidence.
1659      */
1660     @java.lang.Override
getConfidence()1661     public float getConfidence() {
1662       return confidence_;
1663     }
1664     /**
1665      *
1666      *
1667      * <pre>
1668      * Confidence of the OCR results for the word. Range [0, 1].
1669      * </pre>
1670      *
1671      * <code>float confidence = 4;</code>
1672      *
1673      * @param value The confidence to set.
1674      * @return This builder for chaining.
1675      */
setConfidence(float value)1676     public Builder setConfidence(float value) {
1677 
1678       confidence_ = value;
1679       bitField0_ |= 0x00000008;
1680       onChanged();
1681       return this;
1682     }
1683     /**
1684      *
1685      *
1686      * <pre>
1687      * Confidence of the OCR results for the word. Range [0, 1].
1688      * </pre>
1689      *
1690      * <code>float confidence = 4;</code>
1691      *
1692      * @return This builder for chaining.
1693      */
clearConfidence()1694     public Builder clearConfidence() {
1695       bitField0_ = (bitField0_ & ~0x00000008);
1696       confidence_ = 0F;
1697       onChanged();
1698       return this;
1699     }
1700 
1701     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)1702     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
1703       return super.setUnknownFields(unknownFields);
1704     }
1705 
1706     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1707     public final Builder mergeUnknownFields(
1708         final com.google.protobuf.UnknownFieldSet unknownFields) {
1709       return super.mergeUnknownFields(unknownFields);
1710     }
1711 
1712     // @@protoc_insertion_point(builder_scope:google.cloud.vision.v1p4beta1.Word)
1713   }
1714 
1715   // @@protoc_insertion_point(class_scope:google.cloud.vision.v1p4beta1.Word)
1716   private static final com.google.cloud.vision.v1p4beta1.Word DEFAULT_INSTANCE;
1717 
1718   static {
1719     DEFAULT_INSTANCE = new com.google.cloud.vision.v1p4beta1.Word();
1720   }
1721 
getDefaultInstance()1722   public static com.google.cloud.vision.v1p4beta1.Word getDefaultInstance() {
1723     return DEFAULT_INSTANCE;
1724   }
1725 
1726   private static final com.google.protobuf.Parser<Word> PARSER =
1727       new com.google.protobuf.AbstractParser<Word>() {
1728         @java.lang.Override
1729         public Word parsePartialFrom(
1730             com.google.protobuf.CodedInputStream input,
1731             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1732             throws com.google.protobuf.InvalidProtocolBufferException {
1733           Builder builder = newBuilder();
1734           try {
1735             builder.mergeFrom(input, extensionRegistry);
1736           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1737             throw e.setUnfinishedMessage(builder.buildPartial());
1738           } catch (com.google.protobuf.UninitializedMessageException e) {
1739             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
1740           } catch (java.io.IOException e) {
1741             throw new com.google.protobuf.InvalidProtocolBufferException(e)
1742                 .setUnfinishedMessage(builder.buildPartial());
1743           }
1744           return builder.buildPartial();
1745         }
1746       };
1747 
parser()1748   public static com.google.protobuf.Parser<Word> parser() {
1749     return PARSER;
1750   }
1751 
1752   @java.lang.Override
getParserForType()1753   public com.google.protobuf.Parser<Word> getParserForType() {
1754     return PARSER;
1755   }
1756 
1757   @java.lang.Override
getDefaultInstanceForType()1758   public com.google.cloud.vision.v1p4beta1.Word getDefaultInstanceForType() {
1759     return DEFAULT_INSTANCE;
1760   }
1761 }
1762