• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2019 The Grafeas Authors. All rights reserved.
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 
17 // Generated by the protocol buffer compiler.  DO NOT EDIT!
18 // source: grafeas/v1/vulnerability.proto
19 
20 package io.grafeas.v1;
21 
22 /**
23  *
24  *
25  * <pre>
26  * A security vulnerability that can be found in resources.
27  * </pre>
28  *
29  * Protobuf type {@code grafeas.v1.VulnerabilityNote}
30  */
31 public final class VulnerabilityNote extends com.google.protobuf.GeneratedMessageV3
32     implements
33     // @@protoc_insertion_point(message_implements:grafeas.v1.VulnerabilityNote)
34     VulnerabilityNoteOrBuilder {
35   private static final long serialVersionUID = 0L;
36   // Use VulnerabilityNote.newBuilder() to construct.
VulnerabilityNote(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)37   private VulnerabilityNote(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
38     super(builder);
39   }
40 
VulnerabilityNote()41   private VulnerabilityNote() {
42     severity_ = 0;
43     details_ = java.util.Collections.emptyList();
44     windowsDetails_ = java.util.Collections.emptyList();
45     cvssVersion_ = 0;
46   }
47 
48   @java.lang.Override
49   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)50   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
51     return new VulnerabilityNote();
52   }
53 
54   @java.lang.Override
getUnknownFields()55   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
56     return this.unknownFields;
57   }
58 
getDescriptor()59   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
60     return io.grafeas.v1.Vulnerability.internal_static_grafeas_v1_VulnerabilityNote_descriptor;
61   }
62 
63   @java.lang.Override
64   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()65       internalGetFieldAccessorTable() {
66     return io.grafeas.v1.Vulnerability
67         .internal_static_grafeas_v1_VulnerabilityNote_fieldAccessorTable
68         .ensureFieldAccessorsInitialized(
69             io.grafeas.v1.VulnerabilityNote.class, io.grafeas.v1.VulnerabilityNote.Builder.class);
70   }
71 
72   public interface DetailOrBuilder
73       extends
74       // @@protoc_insertion_point(interface_extends:grafeas.v1.VulnerabilityNote.Detail)
75       com.google.protobuf.MessageOrBuilder {
76 
77     /**
78      *
79      *
80      * <pre>
81      * The distro assigned severity of this vulnerability.
82      * </pre>
83      *
84      * <code>string severity_name = 1;</code>
85      *
86      * @return The severityName.
87      */
getSeverityName()88     java.lang.String getSeverityName();
89     /**
90      *
91      *
92      * <pre>
93      * The distro assigned severity of this vulnerability.
94      * </pre>
95      *
96      * <code>string severity_name = 1;</code>
97      *
98      * @return The bytes for severityName.
99      */
getSeverityNameBytes()100     com.google.protobuf.ByteString getSeverityNameBytes();
101 
102     /**
103      *
104      *
105      * <pre>
106      * A vendor-specific description of this vulnerability.
107      * </pre>
108      *
109      * <code>string description = 2;</code>
110      *
111      * @return The description.
112      */
getDescription()113     java.lang.String getDescription();
114     /**
115      *
116      *
117      * <pre>
118      * A vendor-specific description of this vulnerability.
119      * </pre>
120      *
121      * <code>string description = 2;</code>
122      *
123      * @return The bytes for description.
124      */
getDescriptionBytes()125     com.google.protobuf.ByteString getDescriptionBytes();
126 
127     /**
128      *
129      *
130      * <pre>
131      * The type of package; whether native or non native (e.g., ruby gems,
132      * node.js packages, etc.).
133      * </pre>
134      *
135      * <code>string package_type = 3;</code>
136      *
137      * @return The packageType.
138      */
getPackageType()139     java.lang.String getPackageType();
140     /**
141      *
142      *
143      * <pre>
144      * The type of package; whether native or non native (e.g., ruby gems,
145      * node.js packages, etc.).
146      * </pre>
147      *
148      * <code>string package_type = 3;</code>
149      *
150      * @return The bytes for packageType.
151      */
getPackageTypeBytes()152     com.google.protobuf.ByteString getPackageTypeBytes();
153 
154     /**
155      *
156      *
157      * <pre>
158      * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
159      * vulnerability affects.
160      * </pre>
161      *
162      * <code>string affected_cpe_uri = 4;</code>
163      *
164      * @return The affectedCpeUri.
165      */
getAffectedCpeUri()166     java.lang.String getAffectedCpeUri();
167     /**
168      *
169      *
170      * <pre>
171      * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
172      * vulnerability affects.
173      * </pre>
174      *
175      * <code>string affected_cpe_uri = 4;</code>
176      *
177      * @return The bytes for affectedCpeUri.
178      */
getAffectedCpeUriBytes()179     com.google.protobuf.ByteString getAffectedCpeUriBytes();
180 
181     /**
182      *
183      *
184      * <pre>
185      * Required. The package this vulnerability affects.
186      * </pre>
187      *
188      * <code>string affected_package = 5;</code>
189      *
190      * @return The affectedPackage.
191      */
getAffectedPackage()192     java.lang.String getAffectedPackage();
193     /**
194      *
195      *
196      * <pre>
197      * Required. The package this vulnerability affects.
198      * </pre>
199      *
200      * <code>string affected_package = 5;</code>
201      *
202      * @return The bytes for affectedPackage.
203      */
getAffectedPackageBytes()204     com.google.protobuf.ByteString getAffectedPackageBytes();
205 
206     /**
207      *
208      *
209      * <pre>
210      * The version number at the start of an interval in which this
211      * vulnerability exists. A vulnerability can affect a package between
212      * version numbers that are disjoint sets of intervals (example:
213      * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
214      * represented in its own Detail. If a specific affected version is provided
215      * by a vulnerability database, affected_version_start and
216      * affected_version_end will be the same in that Detail.
217      * </pre>
218      *
219      * <code>.grafeas.v1.Version affected_version_start = 6;</code>
220      *
221      * @return Whether the affectedVersionStart field is set.
222      */
hasAffectedVersionStart()223     boolean hasAffectedVersionStart();
224     /**
225      *
226      *
227      * <pre>
228      * The version number at the start of an interval in which this
229      * vulnerability exists. A vulnerability can affect a package between
230      * version numbers that are disjoint sets of intervals (example:
231      * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
232      * represented in its own Detail. If a specific affected version is provided
233      * by a vulnerability database, affected_version_start and
234      * affected_version_end will be the same in that Detail.
235      * </pre>
236      *
237      * <code>.grafeas.v1.Version affected_version_start = 6;</code>
238      *
239      * @return The affectedVersionStart.
240      */
getAffectedVersionStart()241     io.grafeas.v1.Version getAffectedVersionStart();
242     /**
243      *
244      *
245      * <pre>
246      * The version number at the start of an interval in which this
247      * vulnerability exists. A vulnerability can affect a package between
248      * version numbers that are disjoint sets of intervals (example:
249      * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
250      * represented in its own Detail. If a specific affected version is provided
251      * by a vulnerability database, affected_version_start and
252      * affected_version_end will be the same in that Detail.
253      * </pre>
254      *
255      * <code>.grafeas.v1.Version affected_version_start = 6;</code>
256      */
getAffectedVersionStartOrBuilder()257     io.grafeas.v1.VersionOrBuilder getAffectedVersionStartOrBuilder();
258 
259     /**
260      *
261      *
262      * <pre>
263      * The version number at the end of an interval in which this vulnerability
264      * exists. A vulnerability can affect a package between version numbers
265      * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
266      * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
267      * own Detail. If a specific affected version is provided by a vulnerability
268      * database, affected_version_start and affected_version_end will be the
269      * same in that Detail.
270      * </pre>
271      *
272      * <code>.grafeas.v1.Version affected_version_end = 7;</code>
273      *
274      * @return Whether the affectedVersionEnd field is set.
275      */
hasAffectedVersionEnd()276     boolean hasAffectedVersionEnd();
277     /**
278      *
279      *
280      * <pre>
281      * The version number at the end of an interval in which this vulnerability
282      * exists. A vulnerability can affect a package between version numbers
283      * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
284      * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
285      * own Detail. If a specific affected version is provided by a vulnerability
286      * database, affected_version_start and affected_version_end will be the
287      * same in that Detail.
288      * </pre>
289      *
290      * <code>.grafeas.v1.Version affected_version_end = 7;</code>
291      *
292      * @return The affectedVersionEnd.
293      */
getAffectedVersionEnd()294     io.grafeas.v1.Version getAffectedVersionEnd();
295     /**
296      *
297      *
298      * <pre>
299      * The version number at the end of an interval in which this vulnerability
300      * exists. A vulnerability can affect a package between version numbers
301      * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
302      * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
303      * own Detail. If a specific affected version is provided by a vulnerability
304      * database, affected_version_start and affected_version_end will be the
305      * same in that Detail.
306      * </pre>
307      *
308      * <code>.grafeas.v1.Version affected_version_end = 7;</code>
309      */
getAffectedVersionEndOrBuilder()310     io.grafeas.v1.VersionOrBuilder getAffectedVersionEndOrBuilder();
311 
312     /**
313      *
314      *
315      * <pre>
316      * The distro recommended [CPE URI](https://cpe.mitre.org/specification/)
317      * to update to that contains a fix for this vulnerability. It is possible
318      * for this to be different from the affected_cpe_uri.
319      * </pre>
320      *
321      * <code>string fixed_cpe_uri = 8;</code>
322      *
323      * @return The fixedCpeUri.
324      */
getFixedCpeUri()325     java.lang.String getFixedCpeUri();
326     /**
327      *
328      *
329      * <pre>
330      * The distro recommended [CPE URI](https://cpe.mitre.org/specification/)
331      * to update to that contains a fix for this vulnerability. It is possible
332      * for this to be different from the affected_cpe_uri.
333      * </pre>
334      *
335      * <code>string fixed_cpe_uri = 8;</code>
336      *
337      * @return The bytes for fixedCpeUri.
338      */
getFixedCpeUriBytes()339     com.google.protobuf.ByteString getFixedCpeUriBytes();
340 
341     /**
342      *
343      *
344      * <pre>
345      * The distro recommended package to update to that contains a fix for this
346      * vulnerability. It is possible for this to be different from the
347      * affected_package.
348      * </pre>
349      *
350      * <code>string fixed_package = 9;</code>
351      *
352      * @return The fixedPackage.
353      */
getFixedPackage()354     java.lang.String getFixedPackage();
355     /**
356      *
357      *
358      * <pre>
359      * The distro recommended package to update to that contains a fix for this
360      * vulnerability. It is possible for this to be different from the
361      * affected_package.
362      * </pre>
363      *
364      * <code>string fixed_package = 9;</code>
365      *
366      * @return The bytes for fixedPackage.
367      */
getFixedPackageBytes()368     com.google.protobuf.ByteString getFixedPackageBytes();
369 
370     /**
371      *
372      *
373      * <pre>
374      * The distro recommended version to update to that contains a
375      * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
376      * such version is yet available.
377      * </pre>
378      *
379      * <code>.grafeas.v1.Version fixed_version = 10;</code>
380      *
381      * @return Whether the fixedVersion field is set.
382      */
hasFixedVersion()383     boolean hasFixedVersion();
384     /**
385      *
386      *
387      * <pre>
388      * The distro recommended version to update to that contains a
389      * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
390      * such version is yet available.
391      * </pre>
392      *
393      * <code>.grafeas.v1.Version fixed_version = 10;</code>
394      *
395      * @return The fixedVersion.
396      */
getFixedVersion()397     io.grafeas.v1.Version getFixedVersion();
398     /**
399      *
400      *
401      * <pre>
402      * The distro recommended version to update to that contains a
403      * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
404      * such version is yet available.
405      * </pre>
406      *
407      * <code>.grafeas.v1.Version fixed_version = 10;</code>
408      */
getFixedVersionOrBuilder()409     io.grafeas.v1.VersionOrBuilder getFixedVersionOrBuilder();
410 
411     /**
412      *
413      *
414      * <pre>
415      * Whether this detail is obsolete. Occurrences are expected not to point to
416      * obsolete details.
417      * </pre>
418      *
419      * <code>bool is_obsolete = 11;</code>
420      *
421      * @return The isObsolete.
422      */
getIsObsolete()423     boolean getIsObsolete();
424 
425     /**
426      *
427      *
428      * <pre>
429      * The time this information was last changed at the source. This is an
430      * upstream timestamp from the underlying information source - e.g. Ubuntu
431      * security tracker.
432      * </pre>
433      *
434      * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
435      *
436      * @return Whether the sourceUpdateTime field is set.
437      */
hasSourceUpdateTime()438     boolean hasSourceUpdateTime();
439     /**
440      *
441      *
442      * <pre>
443      * The time this information was last changed at the source. This is an
444      * upstream timestamp from the underlying information source - e.g. Ubuntu
445      * security tracker.
446      * </pre>
447      *
448      * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
449      *
450      * @return The sourceUpdateTime.
451      */
getSourceUpdateTime()452     com.google.protobuf.Timestamp getSourceUpdateTime();
453     /**
454      *
455      *
456      * <pre>
457      * The time this information was last changed at the source. This is an
458      * upstream timestamp from the underlying information source - e.g. Ubuntu
459      * security tracker.
460      * </pre>
461      *
462      * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
463      */
getSourceUpdateTimeOrBuilder()464     com.google.protobuf.TimestampOrBuilder getSourceUpdateTimeOrBuilder();
465 
466     /**
467      *
468      *
469      * <pre>
470      * The source from which the information in this Detail was obtained.
471      * </pre>
472      *
473      * <code>string source = 13;</code>
474      *
475      * @return The source.
476      */
getSource()477     java.lang.String getSource();
478     /**
479      *
480      *
481      * <pre>
482      * The source from which the information in this Detail was obtained.
483      * </pre>
484      *
485      * <code>string source = 13;</code>
486      *
487      * @return The bytes for source.
488      */
getSourceBytes()489     com.google.protobuf.ByteString getSourceBytes();
490 
491     /**
492      *
493      *
494      * <pre>
495      * The name of the vendor of the product.
496      * </pre>
497      *
498      * <code>string vendor = 14;</code>
499      *
500      * @return The vendor.
501      */
getVendor()502     java.lang.String getVendor();
503     /**
504      *
505      *
506      * <pre>
507      * The name of the vendor of the product.
508      * </pre>
509      *
510      * <code>string vendor = 14;</code>
511      *
512      * @return The bytes for vendor.
513      */
getVendorBytes()514     com.google.protobuf.ByteString getVendorBytes();
515   }
516   /**
517    *
518    *
519    * <pre>
520    * A detail for a distro and package affected by this vulnerability and its
521    * associated fix (if one is available).
522    * </pre>
523    *
524    * Protobuf type {@code grafeas.v1.VulnerabilityNote.Detail}
525    */
526   public static final class Detail extends com.google.protobuf.GeneratedMessageV3
527       implements
528       // @@protoc_insertion_point(message_implements:grafeas.v1.VulnerabilityNote.Detail)
529       DetailOrBuilder {
530     private static final long serialVersionUID = 0L;
531     // Use Detail.newBuilder() to construct.
Detail(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)532     private Detail(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
533       super(builder);
534     }
535 
Detail()536     private Detail() {
537       severityName_ = "";
538       description_ = "";
539       packageType_ = "";
540       affectedCpeUri_ = "";
541       affectedPackage_ = "";
542       fixedCpeUri_ = "";
543       fixedPackage_ = "";
544       source_ = "";
545       vendor_ = "";
546     }
547 
548     @java.lang.Override
549     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)550     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
551       return new Detail();
552     }
553 
554     @java.lang.Override
getUnknownFields()555     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
556       return this.unknownFields;
557     }
558 
getDescriptor()559     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
560       return io.grafeas.v1.Vulnerability
561           .internal_static_grafeas_v1_VulnerabilityNote_Detail_descriptor;
562     }
563 
564     @java.lang.Override
565     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()566         internalGetFieldAccessorTable() {
567       return io.grafeas.v1.Vulnerability
568           .internal_static_grafeas_v1_VulnerabilityNote_Detail_fieldAccessorTable
569           .ensureFieldAccessorsInitialized(
570               io.grafeas.v1.VulnerabilityNote.Detail.class,
571               io.grafeas.v1.VulnerabilityNote.Detail.Builder.class);
572     }
573 
574     public static final int SEVERITY_NAME_FIELD_NUMBER = 1;
575 
576     @SuppressWarnings("serial")
577     private volatile java.lang.Object severityName_ = "";
578     /**
579      *
580      *
581      * <pre>
582      * The distro assigned severity of this vulnerability.
583      * </pre>
584      *
585      * <code>string severity_name = 1;</code>
586      *
587      * @return The severityName.
588      */
589     @java.lang.Override
getSeverityName()590     public java.lang.String getSeverityName() {
591       java.lang.Object ref = severityName_;
592       if (ref instanceof java.lang.String) {
593         return (java.lang.String) ref;
594       } else {
595         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
596         java.lang.String s = bs.toStringUtf8();
597         severityName_ = s;
598         return s;
599       }
600     }
601     /**
602      *
603      *
604      * <pre>
605      * The distro assigned severity of this vulnerability.
606      * </pre>
607      *
608      * <code>string severity_name = 1;</code>
609      *
610      * @return The bytes for severityName.
611      */
612     @java.lang.Override
getSeverityNameBytes()613     public com.google.protobuf.ByteString getSeverityNameBytes() {
614       java.lang.Object ref = severityName_;
615       if (ref instanceof java.lang.String) {
616         com.google.protobuf.ByteString b =
617             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
618         severityName_ = b;
619         return b;
620       } else {
621         return (com.google.protobuf.ByteString) ref;
622       }
623     }
624 
625     public static final int DESCRIPTION_FIELD_NUMBER = 2;
626 
627     @SuppressWarnings("serial")
628     private volatile java.lang.Object description_ = "";
629     /**
630      *
631      *
632      * <pre>
633      * A vendor-specific description of this vulnerability.
634      * </pre>
635      *
636      * <code>string description = 2;</code>
637      *
638      * @return The description.
639      */
640     @java.lang.Override
getDescription()641     public java.lang.String getDescription() {
642       java.lang.Object ref = description_;
643       if (ref instanceof java.lang.String) {
644         return (java.lang.String) ref;
645       } else {
646         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
647         java.lang.String s = bs.toStringUtf8();
648         description_ = s;
649         return s;
650       }
651     }
652     /**
653      *
654      *
655      * <pre>
656      * A vendor-specific description of this vulnerability.
657      * </pre>
658      *
659      * <code>string description = 2;</code>
660      *
661      * @return The bytes for description.
662      */
663     @java.lang.Override
getDescriptionBytes()664     public com.google.protobuf.ByteString getDescriptionBytes() {
665       java.lang.Object ref = description_;
666       if (ref instanceof java.lang.String) {
667         com.google.protobuf.ByteString b =
668             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
669         description_ = b;
670         return b;
671       } else {
672         return (com.google.protobuf.ByteString) ref;
673       }
674     }
675 
676     public static final int PACKAGE_TYPE_FIELD_NUMBER = 3;
677 
678     @SuppressWarnings("serial")
679     private volatile java.lang.Object packageType_ = "";
680     /**
681      *
682      *
683      * <pre>
684      * The type of package; whether native or non native (e.g., ruby gems,
685      * node.js packages, etc.).
686      * </pre>
687      *
688      * <code>string package_type = 3;</code>
689      *
690      * @return The packageType.
691      */
692     @java.lang.Override
getPackageType()693     public java.lang.String getPackageType() {
694       java.lang.Object ref = packageType_;
695       if (ref instanceof java.lang.String) {
696         return (java.lang.String) ref;
697       } else {
698         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
699         java.lang.String s = bs.toStringUtf8();
700         packageType_ = s;
701         return s;
702       }
703     }
704     /**
705      *
706      *
707      * <pre>
708      * The type of package; whether native or non native (e.g., ruby gems,
709      * node.js packages, etc.).
710      * </pre>
711      *
712      * <code>string package_type = 3;</code>
713      *
714      * @return The bytes for packageType.
715      */
716     @java.lang.Override
getPackageTypeBytes()717     public com.google.protobuf.ByteString getPackageTypeBytes() {
718       java.lang.Object ref = packageType_;
719       if (ref instanceof java.lang.String) {
720         com.google.protobuf.ByteString b =
721             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
722         packageType_ = b;
723         return b;
724       } else {
725         return (com.google.protobuf.ByteString) ref;
726       }
727     }
728 
729     public static final int AFFECTED_CPE_URI_FIELD_NUMBER = 4;
730 
731     @SuppressWarnings("serial")
732     private volatile java.lang.Object affectedCpeUri_ = "";
733     /**
734      *
735      *
736      * <pre>
737      * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
738      * vulnerability affects.
739      * </pre>
740      *
741      * <code>string affected_cpe_uri = 4;</code>
742      *
743      * @return The affectedCpeUri.
744      */
745     @java.lang.Override
getAffectedCpeUri()746     public java.lang.String getAffectedCpeUri() {
747       java.lang.Object ref = affectedCpeUri_;
748       if (ref instanceof java.lang.String) {
749         return (java.lang.String) ref;
750       } else {
751         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
752         java.lang.String s = bs.toStringUtf8();
753         affectedCpeUri_ = s;
754         return s;
755       }
756     }
757     /**
758      *
759      *
760      * <pre>
761      * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
762      * vulnerability affects.
763      * </pre>
764      *
765      * <code>string affected_cpe_uri = 4;</code>
766      *
767      * @return The bytes for affectedCpeUri.
768      */
769     @java.lang.Override
getAffectedCpeUriBytes()770     public com.google.protobuf.ByteString getAffectedCpeUriBytes() {
771       java.lang.Object ref = affectedCpeUri_;
772       if (ref instanceof java.lang.String) {
773         com.google.protobuf.ByteString b =
774             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
775         affectedCpeUri_ = b;
776         return b;
777       } else {
778         return (com.google.protobuf.ByteString) ref;
779       }
780     }
781 
782     public static final int AFFECTED_PACKAGE_FIELD_NUMBER = 5;
783 
784     @SuppressWarnings("serial")
785     private volatile java.lang.Object affectedPackage_ = "";
786     /**
787      *
788      *
789      * <pre>
790      * Required. The package this vulnerability affects.
791      * </pre>
792      *
793      * <code>string affected_package = 5;</code>
794      *
795      * @return The affectedPackage.
796      */
797     @java.lang.Override
getAffectedPackage()798     public java.lang.String getAffectedPackage() {
799       java.lang.Object ref = affectedPackage_;
800       if (ref instanceof java.lang.String) {
801         return (java.lang.String) ref;
802       } else {
803         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
804         java.lang.String s = bs.toStringUtf8();
805         affectedPackage_ = s;
806         return s;
807       }
808     }
809     /**
810      *
811      *
812      * <pre>
813      * Required. The package this vulnerability affects.
814      * </pre>
815      *
816      * <code>string affected_package = 5;</code>
817      *
818      * @return The bytes for affectedPackage.
819      */
820     @java.lang.Override
getAffectedPackageBytes()821     public com.google.protobuf.ByteString getAffectedPackageBytes() {
822       java.lang.Object ref = affectedPackage_;
823       if (ref instanceof java.lang.String) {
824         com.google.protobuf.ByteString b =
825             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
826         affectedPackage_ = b;
827         return b;
828       } else {
829         return (com.google.protobuf.ByteString) ref;
830       }
831     }
832 
833     public static final int AFFECTED_VERSION_START_FIELD_NUMBER = 6;
834     private io.grafeas.v1.Version affectedVersionStart_;
835     /**
836      *
837      *
838      * <pre>
839      * The version number at the start of an interval in which this
840      * vulnerability exists. A vulnerability can affect a package between
841      * version numbers that are disjoint sets of intervals (example:
842      * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
843      * represented in its own Detail. If a specific affected version is provided
844      * by a vulnerability database, affected_version_start and
845      * affected_version_end will be the same in that Detail.
846      * </pre>
847      *
848      * <code>.grafeas.v1.Version affected_version_start = 6;</code>
849      *
850      * @return Whether the affectedVersionStart field is set.
851      */
852     @java.lang.Override
hasAffectedVersionStart()853     public boolean hasAffectedVersionStart() {
854       return affectedVersionStart_ != null;
855     }
856     /**
857      *
858      *
859      * <pre>
860      * The version number at the start of an interval in which this
861      * vulnerability exists. A vulnerability can affect a package between
862      * version numbers that are disjoint sets of intervals (example:
863      * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
864      * represented in its own Detail. If a specific affected version is provided
865      * by a vulnerability database, affected_version_start and
866      * affected_version_end will be the same in that Detail.
867      * </pre>
868      *
869      * <code>.grafeas.v1.Version affected_version_start = 6;</code>
870      *
871      * @return The affectedVersionStart.
872      */
873     @java.lang.Override
getAffectedVersionStart()874     public io.grafeas.v1.Version getAffectedVersionStart() {
875       return affectedVersionStart_ == null
876           ? io.grafeas.v1.Version.getDefaultInstance()
877           : affectedVersionStart_;
878     }
879     /**
880      *
881      *
882      * <pre>
883      * The version number at the start of an interval in which this
884      * vulnerability exists. A vulnerability can affect a package between
885      * version numbers that are disjoint sets of intervals (example:
886      * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
887      * represented in its own Detail. If a specific affected version is provided
888      * by a vulnerability database, affected_version_start and
889      * affected_version_end will be the same in that Detail.
890      * </pre>
891      *
892      * <code>.grafeas.v1.Version affected_version_start = 6;</code>
893      */
894     @java.lang.Override
getAffectedVersionStartOrBuilder()895     public io.grafeas.v1.VersionOrBuilder getAffectedVersionStartOrBuilder() {
896       return affectedVersionStart_ == null
897           ? io.grafeas.v1.Version.getDefaultInstance()
898           : affectedVersionStart_;
899     }
900 
901     public static final int AFFECTED_VERSION_END_FIELD_NUMBER = 7;
902     private io.grafeas.v1.Version affectedVersionEnd_;
903     /**
904      *
905      *
906      * <pre>
907      * The version number at the end of an interval in which this vulnerability
908      * exists. A vulnerability can affect a package between version numbers
909      * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
910      * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
911      * own Detail. If a specific affected version is provided by a vulnerability
912      * database, affected_version_start and affected_version_end will be the
913      * same in that Detail.
914      * </pre>
915      *
916      * <code>.grafeas.v1.Version affected_version_end = 7;</code>
917      *
918      * @return Whether the affectedVersionEnd field is set.
919      */
920     @java.lang.Override
hasAffectedVersionEnd()921     public boolean hasAffectedVersionEnd() {
922       return affectedVersionEnd_ != null;
923     }
924     /**
925      *
926      *
927      * <pre>
928      * The version number at the end of an interval in which this vulnerability
929      * exists. A vulnerability can affect a package between version numbers
930      * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
931      * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
932      * own Detail. If a specific affected version is provided by a vulnerability
933      * database, affected_version_start and affected_version_end will be the
934      * same in that Detail.
935      * </pre>
936      *
937      * <code>.grafeas.v1.Version affected_version_end = 7;</code>
938      *
939      * @return The affectedVersionEnd.
940      */
941     @java.lang.Override
getAffectedVersionEnd()942     public io.grafeas.v1.Version getAffectedVersionEnd() {
943       return affectedVersionEnd_ == null
944           ? io.grafeas.v1.Version.getDefaultInstance()
945           : affectedVersionEnd_;
946     }
947     /**
948      *
949      *
950      * <pre>
951      * The version number at the end of an interval in which this vulnerability
952      * exists. A vulnerability can affect a package between version numbers
953      * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
954      * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
955      * own Detail. If a specific affected version is provided by a vulnerability
956      * database, affected_version_start and affected_version_end will be the
957      * same in that Detail.
958      * </pre>
959      *
960      * <code>.grafeas.v1.Version affected_version_end = 7;</code>
961      */
962     @java.lang.Override
getAffectedVersionEndOrBuilder()963     public io.grafeas.v1.VersionOrBuilder getAffectedVersionEndOrBuilder() {
964       return affectedVersionEnd_ == null
965           ? io.grafeas.v1.Version.getDefaultInstance()
966           : affectedVersionEnd_;
967     }
968 
969     public static final int FIXED_CPE_URI_FIELD_NUMBER = 8;
970 
971     @SuppressWarnings("serial")
972     private volatile java.lang.Object fixedCpeUri_ = "";
973     /**
974      *
975      *
976      * <pre>
977      * The distro recommended [CPE URI](https://cpe.mitre.org/specification/)
978      * to update to that contains a fix for this vulnerability. It is possible
979      * for this to be different from the affected_cpe_uri.
980      * </pre>
981      *
982      * <code>string fixed_cpe_uri = 8;</code>
983      *
984      * @return The fixedCpeUri.
985      */
986     @java.lang.Override
getFixedCpeUri()987     public java.lang.String getFixedCpeUri() {
988       java.lang.Object ref = fixedCpeUri_;
989       if (ref instanceof java.lang.String) {
990         return (java.lang.String) ref;
991       } else {
992         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
993         java.lang.String s = bs.toStringUtf8();
994         fixedCpeUri_ = s;
995         return s;
996       }
997     }
998     /**
999      *
1000      *
1001      * <pre>
1002      * The distro recommended [CPE URI](https://cpe.mitre.org/specification/)
1003      * to update to that contains a fix for this vulnerability. It is possible
1004      * for this to be different from the affected_cpe_uri.
1005      * </pre>
1006      *
1007      * <code>string fixed_cpe_uri = 8;</code>
1008      *
1009      * @return The bytes for fixedCpeUri.
1010      */
1011     @java.lang.Override
getFixedCpeUriBytes()1012     public com.google.protobuf.ByteString getFixedCpeUriBytes() {
1013       java.lang.Object ref = fixedCpeUri_;
1014       if (ref instanceof java.lang.String) {
1015         com.google.protobuf.ByteString b =
1016             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1017         fixedCpeUri_ = b;
1018         return b;
1019       } else {
1020         return (com.google.protobuf.ByteString) ref;
1021       }
1022     }
1023 
1024     public static final int FIXED_PACKAGE_FIELD_NUMBER = 9;
1025 
1026     @SuppressWarnings("serial")
1027     private volatile java.lang.Object fixedPackage_ = "";
1028     /**
1029      *
1030      *
1031      * <pre>
1032      * The distro recommended package to update to that contains a fix for this
1033      * vulnerability. It is possible for this to be different from the
1034      * affected_package.
1035      * </pre>
1036      *
1037      * <code>string fixed_package = 9;</code>
1038      *
1039      * @return The fixedPackage.
1040      */
1041     @java.lang.Override
getFixedPackage()1042     public java.lang.String getFixedPackage() {
1043       java.lang.Object ref = fixedPackage_;
1044       if (ref instanceof java.lang.String) {
1045         return (java.lang.String) ref;
1046       } else {
1047         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1048         java.lang.String s = bs.toStringUtf8();
1049         fixedPackage_ = s;
1050         return s;
1051       }
1052     }
1053     /**
1054      *
1055      *
1056      * <pre>
1057      * The distro recommended package to update to that contains a fix for this
1058      * vulnerability. It is possible for this to be different from the
1059      * affected_package.
1060      * </pre>
1061      *
1062      * <code>string fixed_package = 9;</code>
1063      *
1064      * @return The bytes for fixedPackage.
1065      */
1066     @java.lang.Override
getFixedPackageBytes()1067     public com.google.protobuf.ByteString getFixedPackageBytes() {
1068       java.lang.Object ref = fixedPackage_;
1069       if (ref instanceof java.lang.String) {
1070         com.google.protobuf.ByteString b =
1071             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1072         fixedPackage_ = b;
1073         return b;
1074       } else {
1075         return (com.google.protobuf.ByteString) ref;
1076       }
1077     }
1078 
1079     public static final int FIXED_VERSION_FIELD_NUMBER = 10;
1080     private io.grafeas.v1.Version fixedVersion_;
1081     /**
1082      *
1083      *
1084      * <pre>
1085      * The distro recommended version to update to that contains a
1086      * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
1087      * such version is yet available.
1088      * </pre>
1089      *
1090      * <code>.grafeas.v1.Version fixed_version = 10;</code>
1091      *
1092      * @return Whether the fixedVersion field is set.
1093      */
1094     @java.lang.Override
hasFixedVersion()1095     public boolean hasFixedVersion() {
1096       return fixedVersion_ != null;
1097     }
1098     /**
1099      *
1100      *
1101      * <pre>
1102      * The distro recommended version to update to that contains a
1103      * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
1104      * such version is yet available.
1105      * </pre>
1106      *
1107      * <code>.grafeas.v1.Version fixed_version = 10;</code>
1108      *
1109      * @return The fixedVersion.
1110      */
1111     @java.lang.Override
getFixedVersion()1112     public io.grafeas.v1.Version getFixedVersion() {
1113       return fixedVersion_ == null ? io.grafeas.v1.Version.getDefaultInstance() : fixedVersion_;
1114     }
1115     /**
1116      *
1117      *
1118      * <pre>
1119      * The distro recommended version to update to that contains a
1120      * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
1121      * such version is yet available.
1122      * </pre>
1123      *
1124      * <code>.grafeas.v1.Version fixed_version = 10;</code>
1125      */
1126     @java.lang.Override
getFixedVersionOrBuilder()1127     public io.grafeas.v1.VersionOrBuilder getFixedVersionOrBuilder() {
1128       return fixedVersion_ == null ? io.grafeas.v1.Version.getDefaultInstance() : fixedVersion_;
1129     }
1130 
1131     public static final int IS_OBSOLETE_FIELD_NUMBER = 11;
1132     private boolean isObsolete_ = false;
1133     /**
1134      *
1135      *
1136      * <pre>
1137      * Whether this detail is obsolete. Occurrences are expected not to point to
1138      * obsolete details.
1139      * </pre>
1140      *
1141      * <code>bool is_obsolete = 11;</code>
1142      *
1143      * @return The isObsolete.
1144      */
1145     @java.lang.Override
getIsObsolete()1146     public boolean getIsObsolete() {
1147       return isObsolete_;
1148     }
1149 
1150     public static final int SOURCE_UPDATE_TIME_FIELD_NUMBER = 12;
1151     private com.google.protobuf.Timestamp sourceUpdateTime_;
1152     /**
1153      *
1154      *
1155      * <pre>
1156      * The time this information was last changed at the source. This is an
1157      * upstream timestamp from the underlying information source - e.g. Ubuntu
1158      * security tracker.
1159      * </pre>
1160      *
1161      * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
1162      *
1163      * @return Whether the sourceUpdateTime field is set.
1164      */
1165     @java.lang.Override
hasSourceUpdateTime()1166     public boolean hasSourceUpdateTime() {
1167       return sourceUpdateTime_ != null;
1168     }
1169     /**
1170      *
1171      *
1172      * <pre>
1173      * The time this information was last changed at the source. This is an
1174      * upstream timestamp from the underlying information source - e.g. Ubuntu
1175      * security tracker.
1176      * </pre>
1177      *
1178      * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
1179      *
1180      * @return The sourceUpdateTime.
1181      */
1182     @java.lang.Override
getSourceUpdateTime()1183     public com.google.protobuf.Timestamp getSourceUpdateTime() {
1184       return sourceUpdateTime_ == null
1185           ? com.google.protobuf.Timestamp.getDefaultInstance()
1186           : sourceUpdateTime_;
1187     }
1188     /**
1189      *
1190      *
1191      * <pre>
1192      * The time this information was last changed at the source. This is an
1193      * upstream timestamp from the underlying information source - e.g. Ubuntu
1194      * security tracker.
1195      * </pre>
1196      *
1197      * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
1198      */
1199     @java.lang.Override
getSourceUpdateTimeOrBuilder()1200     public com.google.protobuf.TimestampOrBuilder getSourceUpdateTimeOrBuilder() {
1201       return sourceUpdateTime_ == null
1202           ? com.google.protobuf.Timestamp.getDefaultInstance()
1203           : sourceUpdateTime_;
1204     }
1205 
1206     public static final int SOURCE_FIELD_NUMBER = 13;
1207 
1208     @SuppressWarnings("serial")
1209     private volatile java.lang.Object source_ = "";
1210     /**
1211      *
1212      *
1213      * <pre>
1214      * The source from which the information in this Detail was obtained.
1215      * </pre>
1216      *
1217      * <code>string source = 13;</code>
1218      *
1219      * @return The source.
1220      */
1221     @java.lang.Override
getSource()1222     public java.lang.String getSource() {
1223       java.lang.Object ref = source_;
1224       if (ref instanceof java.lang.String) {
1225         return (java.lang.String) ref;
1226       } else {
1227         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1228         java.lang.String s = bs.toStringUtf8();
1229         source_ = s;
1230         return s;
1231       }
1232     }
1233     /**
1234      *
1235      *
1236      * <pre>
1237      * The source from which the information in this Detail was obtained.
1238      * </pre>
1239      *
1240      * <code>string source = 13;</code>
1241      *
1242      * @return The bytes for source.
1243      */
1244     @java.lang.Override
getSourceBytes()1245     public com.google.protobuf.ByteString getSourceBytes() {
1246       java.lang.Object ref = source_;
1247       if (ref instanceof java.lang.String) {
1248         com.google.protobuf.ByteString b =
1249             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1250         source_ = b;
1251         return b;
1252       } else {
1253         return (com.google.protobuf.ByteString) ref;
1254       }
1255     }
1256 
1257     public static final int VENDOR_FIELD_NUMBER = 14;
1258 
1259     @SuppressWarnings("serial")
1260     private volatile java.lang.Object vendor_ = "";
1261     /**
1262      *
1263      *
1264      * <pre>
1265      * The name of the vendor of the product.
1266      * </pre>
1267      *
1268      * <code>string vendor = 14;</code>
1269      *
1270      * @return The vendor.
1271      */
1272     @java.lang.Override
getVendor()1273     public java.lang.String getVendor() {
1274       java.lang.Object ref = vendor_;
1275       if (ref instanceof java.lang.String) {
1276         return (java.lang.String) ref;
1277       } else {
1278         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1279         java.lang.String s = bs.toStringUtf8();
1280         vendor_ = s;
1281         return s;
1282       }
1283     }
1284     /**
1285      *
1286      *
1287      * <pre>
1288      * The name of the vendor of the product.
1289      * </pre>
1290      *
1291      * <code>string vendor = 14;</code>
1292      *
1293      * @return The bytes for vendor.
1294      */
1295     @java.lang.Override
getVendorBytes()1296     public com.google.protobuf.ByteString getVendorBytes() {
1297       java.lang.Object ref = vendor_;
1298       if (ref instanceof java.lang.String) {
1299         com.google.protobuf.ByteString b =
1300             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1301         vendor_ = b;
1302         return b;
1303       } else {
1304         return (com.google.protobuf.ByteString) ref;
1305       }
1306     }
1307 
1308     private byte memoizedIsInitialized = -1;
1309 
1310     @java.lang.Override
isInitialized()1311     public final boolean isInitialized() {
1312       byte isInitialized = memoizedIsInitialized;
1313       if (isInitialized == 1) return true;
1314       if (isInitialized == 0) return false;
1315 
1316       memoizedIsInitialized = 1;
1317       return true;
1318     }
1319 
1320     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)1321     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
1322       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(severityName_)) {
1323         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, severityName_);
1324       }
1325       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
1326         com.google.protobuf.GeneratedMessageV3.writeString(output, 2, description_);
1327       }
1328       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(packageType_)) {
1329         com.google.protobuf.GeneratedMessageV3.writeString(output, 3, packageType_);
1330       }
1331       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(affectedCpeUri_)) {
1332         com.google.protobuf.GeneratedMessageV3.writeString(output, 4, affectedCpeUri_);
1333       }
1334       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(affectedPackage_)) {
1335         com.google.protobuf.GeneratedMessageV3.writeString(output, 5, affectedPackage_);
1336       }
1337       if (affectedVersionStart_ != null) {
1338         output.writeMessage(6, getAffectedVersionStart());
1339       }
1340       if (affectedVersionEnd_ != null) {
1341         output.writeMessage(7, getAffectedVersionEnd());
1342       }
1343       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(fixedCpeUri_)) {
1344         com.google.protobuf.GeneratedMessageV3.writeString(output, 8, fixedCpeUri_);
1345       }
1346       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(fixedPackage_)) {
1347         com.google.protobuf.GeneratedMessageV3.writeString(output, 9, fixedPackage_);
1348       }
1349       if (fixedVersion_ != null) {
1350         output.writeMessage(10, getFixedVersion());
1351       }
1352       if (isObsolete_ != false) {
1353         output.writeBool(11, isObsolete_);
1354       }
1355       if (sourceUpdateTime_ != null) {
1356         output.writeMessage(12, getSourceUpdateTime());
1357       }
1358       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(source_)) {
1359         com.google.protobuf.GeneratedMessageV3.writeString(output, 13, source_);
1360       }
1361       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(vendor_)) {
1362         com.google.protobuf.GeneratedMessageV3.writeString(output, 14, vendor_);
1363       }
1364       getUnknownFields().writeTo(output);
1365     }
1366 
1367     @java.lang.Override
getSerializedSize()1368     public int getSerializedSize() {
1369       int size = memoizedSize;
1370       if (size != -1) return size;
1371 
1372       size = 0;
1373       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(severityName_)) {
1374         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, severityName_);
1375       }
1376       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
1377         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, description_);
1378       }
1379       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(packageType_)) {
1380         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, packageType_);
1381       }
1382       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(affectedCpeUri_)) {
1383         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, affectedCpeUri_);
1384       }
1385       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(affectedPackage_)) {
1386         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, affectedPackage_);
1387       }
1388       if (affectedVersionStart_ != null) {
1389         size +=
1390             com.google.protobuf.CodedOutputStream.computeMessageSize(6, getAffectedVersionStart());
1391       }
1392       if (affectedVersionEnd_ != null) {
1393         size +=
1394             com.google.protobuf.CodedOutputStream.computeMessageSize(7, getAffectedVersionEnd());
1395       }
1396       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(fixedCpeUri_)) {
1397         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, fixedCpeUri_);
1398       }
1399       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(fixedPackage_)) {
1400         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, fixedPackage_);
1401       }
1402       if (fixedVersion_ != null) {
1403         size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, getFixedVersion());
1404       }
1405       if (isObsolete_ != false) {
1406         size += com.google.protobuf.CodedOutputStream.computeBoolSize(11, isObsolete_);
1407       }
1408       if (sourceUpdateTime_ != null) {
1409         size += com.google.protobuf.CodedOutputStream.computeMessageSize(12, getSourceUpdateTime());
1410       }
1411       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(source_)) {
1412         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, source_);
1413       }
1414       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(vendor_)) {
1415         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, vendor_);
1416       }
1417       size += getUnknownFields().getSerializedSize();
1418       memoizedSize = size;
1419       return size;
1420     }
1421 
1422     @java.lang.Override
equals(final java.lang.Object obj)1423     public boolean equals(final java.lang.Object obj) {
1424       if (obj == this) {
1425         return true;
1426       }
1427       if (!(obj instanceof io.grafeas.v1.VulnerabilityNote.Detail)) {
1428         return super.equals(obj);
1429       }
1430       io.grafeas.v1.VulnerabilityNote.Detail other = (io.grafeas.v1.VulnerabilityNote.Detail) obj;
1431 
1432       if (!getSeverityName().equals(other.getSeverityName())) return false;
1433       if (!getDescription().equals(other.getDescription())) return false;
1434       if (!getPackageType().equals(other.getPackageType())) return false;
1435       if (!getAffectedCpeUri().equals(other.getAffectedCpeUri())) return false;
1436       if (!getAffectedPackage().equals(other.getAffectedPackage())) return false;
1437       if (hasAffectedVersionStart() != other.hasAffectedVersionStart()) return false;
1438       if (hasAffectedVersionStart()) {
1439         if (!getAffectedVersionStart().equals(other.getAffectedVersionStart())) return false;
1440       }
1441       if (hasAffectedVersionEnd() != other.hasAffectedVersionEnd()) return false;
1442       if (hasAffectedVersionEnd()) {
1443         if (!getAffectedVersionEnd().equals(other.getAffectedVersionEnd())) return false;
1444       }
1445       if (!getFixedCpeUri().equals(other.getFixedCpeUri())) return false;
1446       if (!getFixedPackage().equals(other.getFixedPackage())) return false;
1447       if (hasFixedVersion() != other.hasFixedVersion()) return false;
1448       if (hasFixedVersion()) {
1449         if (!getFixedVersion().equals(other.getFixedVersion())) return false;
1450       }
1451       if (getIsObsolete() != other.getIsObsolete()) return false;
1452       if (hasSourceUpdateTime() != other.hasSourceUpdateTime()) return false;
1453       if (hasSourceUpdateTime()) {
1454         if (!getSourceUpdateTime().equals(other.getSourceUpdateTime())) return false;
1455       }
1456       if (!getSource().equals(other.getSource())) return false;
1457       if (!getVendor().equals(other.getVendor())) return false;
1458       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1459       return true;
1460     }
1461 
1462     @java.lang.Override
hashCode()1463     public int hashCode() {
1464       if (memoizedHashCode != 0) {
1465         return memoizedHashCode;
1466       }
1467       int hash = 41;
1468       hash = (19 * hash) + getDescriptor().hashCode();
1469       hash = (37 * hash) + SEVERITY_NAME_FIELD_NUMBER;
1470       hash = (53 * hash) + getSeverityName().hashCode();
1471       hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
1472       hash = (53 * hash) + getDescription().hashCode();
1473       hash = (37 * hash) + PACKAGE_TYPE_FIELD_NUMBER;
1474       hash = (53 * hash) + getPackageType().hashCode();
1475       hash = (37 * hash) + AFFECTED_CPE_URI_FIELD_NUMBER;
1476       hash = (53 * hash) + getAffectedCpeUri().hashCode();
1477       hash = (37 * hash) + AFFECTED_PACKAGE_FIELD_NUMBER;
1478       hash = (53 * hash) + getAffectedPackage().hashCode();
1479       if (hasAffectedVersionStart()) {
1480         hash = (37 * hash) + AFFECTED_VERSION_START_FIELD_NUMBER;
1481         hash = (53 * hash) + getAffectedVersionStart().hashCode();
1482       }
1483       if (hasAffectedVersionEnd()) {
1484         hash = (37 * hash) + AFFECTED_VERSION_END_FIELD_NUMBER;
1485         hash = (53 * hash) + getAffectedVersionEnd().hashCode();
1486       }
1487       hash = (37 * hash) + FIXED_CPE_URI_FIELD_NUMBER;
1488       hash = (53 * hash) + getFixedCpeUri().hashCode();
1489       hash = (37 * hash) + FIXED_PACKAGE_FIELD_NUMBER;
1490       hash = (53 * hash) + getFixedPackage().hashCode();
1491       if (hasFixedVersion()) {
1492         hash = (37 * hash) + FIXED_VERSION_FIELD_NUMBER;
1493         hash = (53 * hash) + getFixedVersion().hashCode();
1494       }
1495       hash = (37 * hash) + IS_OBSOLETE_FIELD_NUMBER;
1496       hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIsObsolete());
1497       if (hasSourceUpdateTime()) {
1498         hash = (37 * hash) + SOURCE_UPDATE_TIME_FIELD_NUMBER;
1499         hash = (53 * hash) + getSourceUpdateTime().hashCode();
1500       }
1501       hash = (37 * hash) + SOURCE_FIELD_NUMBER;
1502       hash = (53 * hash) + getSource().hashCode();
1503       hash = (37 * hash) + VENDOR_FIELD_NUMBER;
1504       hash = (53 * hash) + getVendor().hashCode();
1505       hash = (29 * hash) + getUnknownFields().hashCode();
1506       memoizedHashCode = hash;
1507       return hash;
1508     }
1509 
parseFrom(java.nio.ByteBuffer data)1510     public static io.grafeas.v1.VulnerabilityNote.Detail parseFrom(java.nio.ByteBuffer data)
1511         throws com.google.protobuf.InvalidProtocolBufferException {
1512       return PARSER.parseFrom(data);
1513     }
1514 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1515     public static io.grafeas.v1.VulnerabilityNote.Detail parseFrom(
1516         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1517         throws com.google.protobuf.InvalidProtocolBufferException {
1518       return PARSER.parseFrom(data, extensionRegistry);
1519     }
1520 
parseFrom( com.google.protobuf.ByteString data)1521     public static io.grafeas.v1.VulnerabilityNote.Detail parseFrom(
1522         com.google.protobuf.ByteString data)
1523         throws com.google.protobuf.InvalidProtocolBufferException {
1524       return PARSER.parseFrom(data);
1525     }
1526 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1527     public static io.grafeas.v1.VulnerabilityNote.Detail parseFrom(
1528         com.google.protobuf.ByteString data,
1529         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1530         throws com.google.protobuf.InvalidProtocolBufferException {
1531       return PARSER.parseFrom(data, extensionRegistry);
1532     }
1533 
parseFrom(byte[] data)1534     public static io.grafeas.v1.VulnerabilityNote.Detail parseFrom(byte[] data)
1535         throws com.google.protobuf.InvalidProtocolBufferException {
1536       return PARSER.parseFrom(data);
1537     }
1538 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1539     public static io.grafeas.v1.VulnerabilityNote.Detail parseFrom(
1540         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1541         throws com.google.protobuf.InvalidProtocolBufferException {
1542       return PARSER.parseFrom(data, extensionRegistry);
1543     }
1544 
parseFrom(java.io.InputStream input)1545     public static io.grafeas.v1.VulnerabilityNote.Detail parseFrom(java.io.InputStream input)
1546         throws java.io.IOException {
1547       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1548     }
1549 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1550     public static io.grafeas.v1.VulnerabilityNote.Detail parseFrom(
1551         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1552         throws java.io.IOException {
1553       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1554           PARSER, input, extensionRegistry);
1555     }
1556 
parseDelimitedFrom( java.io.InputStream input)1557     public static io.grafeas.v1.VulnerabilityNote.Detail parseDelimitedFrom(
1558         java.io.InputStream input) throws java.io.IOException {
1559       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
1560     }
1561 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1562     public static io.grafeas.v1.VulnerabilityNote.Detail parseDelimitedFrom(
1563         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1564         throws java.io.IOException {
1565       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
1566           PARSER, input, extensionRegistry);
1567     }
1568 
parseFrom( com.google.protobuf.CodedInputStream input)1569     public static io.grafeas.v1.VulnerabilityNote.Detail parseFrom(
1570         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
1571       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1572     }
1573 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1574     public static io.grafeas.v1.VulnerabilityNote.Detail parseFrom(
1575         com.google.protobuf.CodedInputStream input,
1576         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1577         throws java.io.IOException {
1578       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1579           PARSER, input, extensionRegistry);
1580     }
1581 
1582     @java.lang.Override
newBuilderForType()1583     public Builder newBuilderForType() {
1584       return newBuilder();
1585     }
1586 
newBuilder()1587     public static Builder newBuilder() {
1588       return DEFAULT_INSTANCE.toBuilder();
1589     }
1590 
newBuilder(io.grafeas.v1.VulnerabilityNote.Detail prototype)1591     public static Builder newBuilder(io.grafeas.v1.VulnerabilityNote.Detail prototype) {
1592       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1593     }
1594 
1595     @java.lang.Override
toBuilder()1596     public Builder toBuilder() {
1597       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
1598     }
1599 
1600     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1601     protected Builder newBuilderForType(
1602         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1603       Builder builder = new Builder(parent);
1604       return builder;
1605     }
1606     /**
1607      *
1608      *
1609      * <pre>
1610      * A detail for a distro and package affected by this vulnerability and its
1611      * associated fix (if one is available).
1612      * </pre>
1613      *
1614      * Protobuf type {@code grafeas.v1.VulnerabilityNote.Detail}
1615      */
1616     public static final class Builder
1617         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
1618         implements
1619         // @@protoc_insertion_point(builder_implements:grafeas.v1.VulnerabilityNote.Detail)
1620         io.grafeas.v1.VulnerabilityNote.DetailOrBuilder {
getDescriptor()1621       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1622         return io.grafeas.v1.Vulnerability
1623             .internal_static_grafeas_v1_VulnerabilityNote_Detail_descriptor;
1624       }
1625 
1626       @java.lang.Override
1627       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1628           internalGetFieldAccessorTable() {
1629         return io.grafeas.v1.Vulnerability
1630             .internal_static_grafeas_v1_VulnerabilityNote_Detail_fieldAccessorTable
1631             .ensureFieldAccessorsInitialized(
1632                 io.grafeas.v1.VulnerabilityNote.Detail.class,
1633                 io.grafeas.v1.VulnerabilityNote.Detail.Builder.class);
1634       }
1635 
1636       // Construct using io.grafeas.v1.VulnerabilityNote.Detail.newBuilder()
Builder()1637       private Builder() {}
1638 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1639       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1640         super(parent);
1641       }
1642 
1643       @java.lang.Override
clear()1644       public Builder clear() {
1645         super.clear();
1646         bitField0_ = 0;
1647         severityName_ = "";
1648         description_ = "";
1649         packageType_ = "";
1650         affectedCpeUri_ = "";
1651         affectedPackage_ = "";
1652         affectedVersionStart_ = null;
1653         if (affectedVersionStartBuilder_ != null) {
1654           affectedVersionStartBuilder_.dispose();
1655           affectedVersionStartBuilder_ = null;
1656         }
1657         affectedVersionEnd_ = null;
1658         if (affectedVersionEndBuilder_ != null) {
1659           affectedVersionEndBuilder_.dispose();
1660           affectedVersionEndBuilder_ = null;
1661         }
1662         fixedCpeUri_ = "";
1663         fixedPackage_ = "";
1664         fixedVersion_ = null;
1665         if (fixedVersionBuilder_ != null) {
1666           fixedVersionBuilder_.dispose();
1667           fixedVersionBuilder_ = null;
1668         }
1669         isObsolete_ = false;
1670         sourceUpdateTime_ = null;
1671         if (sourceUpdateTimeBuilder_ != null) {
1672           sourceUpdateTimeBuilder_.dispose();
1673           sourceUpdateTimeBuilder_ = null;
1674         }
1675         source_ = "";
1676         vendor_ = "";
1677         return this;
1678       }
1679 
1680       @java.lang.Override
getDescriptorForType()1681       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
1682         return io.grafeas.v1.Vulnerability
1683             .internal_static_grafeas_v1_VulnerabilityNote_Detail_descriptor;
1684       }
1685 
1686       @java.lang.Override
getDefaultInstanceForType()1687       public io.grafeas.v1.VulnerabilityNote.Detail getDefaultInstanceForType() {
1688         return io.grafeas.v1.VulnerabilityNote.Detail.getDefaultInstance();
1689       }
1690 
1691       @java.lang.Override
build()1692       public io.grafeas.v1.VulnerabilityNote.Detail build() {
1693         io.grafeas.v1.VulnerabilityNote.Detail result = buildPartial();
1694         if (!result.isInitialized()) {
1695           throw newUninitializedMessageException(result);
1696         }
1697         return result;
1698       }
1699 
1700       @java.lang.Override
buildPartial()1701       public io.grafeas.v1.VulnerabilityNote.Detail buildPartial() {
1702         io.grafeas.v1.VulnerabilityNote.Detail result =
1703             new io.grafeas.v1.VulnerabilityNote.Detail(this);
1704         if (bitField0_ != 0) {
1705           buildPartial0(result);
1706         }
1707         onBuilt();
1708         return result;
1709       }
1710 
buildPartial0(io.grafeas.v1.VulnerabilityNote.Detail result)1711       private void buildPartial0(io.grafeas.v1.VulnerabilityNote.Detail result) {
1712         int from_bitField0_ = bitField0_;
1713         if (((from_bitField0_ & 0x00000001) != 0)) {
1714           result.severityName_ = severityName_;
1715         }
1716         if (((from_bitField0_ & 0x00000002) != 0)) {
1717           result.description_ = description_;
1718         }
1719         if (((from_bitField0_ & 0x00000004) != 0)) {
1720           result.packageType_ = packageType_;
1721         }
1722         if (((from_bitField0_ & 0x00000008) != 0)) {
1723           result.affectedCpeUri_ = affectedCpeUri_;
1724         }
1725         if (((from_bitField0_ & 0x00000010) != 0)) {
1726           result.affectedPackage_ = affectedPackage_;
1727         }
1728         if (((from_bitField0_ & 0x00000020) != 0)) {
1729           result.affectedVersionStart_ =
1730               affectedVersionStartBuilder_ == null
1731                   ? affectedVersionStart_
1732                   : affectedVersionStartBuilder_.build();
1733         }
1734         if (((from_bitField0_ & 0x00000040) != 0)) {
1735           result.affectedVersionEnd_ =
1736               affectedVersionEndBuilder_ == null
1737                   ? affectedVersionEnd_
1738                   : affectedVersionEndBuilder_.build();
1739         }
1740         if (((from_bitField0_ & 0x00000080) != 0)) {
1741           result.fixedCpeUri_ = fixedCpeUri_;
1742         }
1743         if (((from_bitField0_ & 0x00000100) != 0)) {
1744           result.fixedPackage_ = fixedPackage_;
1745         }
1746         if (((from_bitField0_ & 0x00000200) != 0)) {
1747           result.fixedVersion_ =
1748               fixedVersionBuilder_ == null ? fixedVersion_ : fixedVersionBuilder_.build();
1749         }
1750         if (((from_bitField0_ & 0x00000400) != 0)) {
1751           result.isObsolete_ = isObsolete_;
1752         }
1753         if (((from_bitField0_ & 0x00000800) != 0)) {
1754           result.sourceUpdateTime_ =
1755               sourceUpdateTimeBuilder_ == null
1756                   ? sourceUpdateTime_
1757                   : sourceUpdateTimeBuilder_.build();
1758         }
1759         if (((from_bitField0_ & 0x00001000) != 0)) {
1760           result.source_ = source_;
1761         }
1762         if (((from_bitField0_ & 0x00002000) != 0)) {
1763           result.vendor_ = vendor_;
1764         }
1765       }
1766 
1767       @java.lang.Override
clone()1768       public Builder clone() {
1769         return super.clone();
1770       }
1771 
1772       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1773       public Builder setField(
1774           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1775         return super.setField(field, value);
1776       }
1777 
1778       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)1779       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
1780         return super.clearField(field);
1781       }
1782 
1783       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)1784       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
1785         return super.clearOneof(oneof);
1786       }
1787 
1788       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)1789       public Builder setRepeatedField(
1790           com.google.protobuf.Descriptors.FieldDescriptor field,
1791           int index,
1792           java.lang.Object value) {
1793         return super.setRepeatedField(field, index, value);
1794       }
1795 
1796       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1797       public Builder addRepeatedField(
1798           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1799         return super.addRepeatedField(field, value);
1800       }
1801 
1802       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)1803       public Builder mergeFrom(com.google.protobuf.Message other) {
1804         if (other instanceof io.grafeas.v1.VulnerabilityNote.Detail) {
1805           return mergeFrom((io.grafeas.v1.VulnerabilityNote.Detail) other);
1806         } else {
1807           super.mergeFrom(other);
1808           return this;
1809         }
1810       }
1811 
mergeFrom(io.grafeas.v1.VulnerabilityNote.Detail other)1812       public Builder mergeFrom(io.grafeas.v1.VulnerabilityNote.Detail other) {
1813         if (other == io.grafeas.v1.VulnerabilityNote.Detail.getDefaultInstance()) return this;
1814         if (!other.getSeverityName().isEmpty()) {
1815           severityName_ = other.severityName_;
1816           bitField0_ |= 0x00000001;
1817           onChanged();
1818         }
1819         if (!other.getDescription().isEmpty()) {
1820           description_ = other.description_;
1821           bitField0_ |= 0x00000002;
1822           onChanged();
1823         }
1824         if (!other.getPackageType().isEmpty()) {
1825           packageType_ = other.packageType_;
1826           bitField0_ |= 0x00000004;
1827           onChanged();
1828         }
1829         if (!other.getAffectedCpeUri().isEmpty()) {
1830           affectedCpeUri_ = other.affectedCpeUri_;
1831           bitField0_ |= 0x00000008;
1832           onChanged();
1833         }
1834         if (!other.getAffectedPackage().isEmpty()) {
1835           affectedPackage_ = other.affectedPackage_;
1836           bitField0_ |= 0x00000010;
1837           onChanged();
1838         }
1839         if (other.hasAffectedVersionStart()) {
1840           mergeAffectedVersionStart(other.getAffectedVersionStart());
1841         }
1842         if (other.hasAffectedVersionEnd()) {
1843           mergeAffectedVersionEnd(other.getAffectedVersionEnd());
1844         }
1845         if (!other.getFixedCpeUri().isEmpty()) {
1846           fixedCpeUri_ = other.fixedCpeUri_;
1847           bitField0_ |= 0x00000080;
1848           onChanged();
1849         }
1850         if (!other.getFixedPackage().isEmpty()) {
1851           fixedPackage_ = other.fixedPackage_;
1852           bitField0_ |= 0x00000100;
1853           onChanged();
1854         }
1855         if (other.hasFixedVersion()) {
1856           mergeFixedVersion(other.getFixedVersion());
1857         }
1858         if (other.getIsObsolete() != false) {
1859           setIsObsolete(other.getIsObsolete());
1860         }
1861         if (other.hasSourceUpdateTime()) {
1862           mergeSourceUpdateTime(other.getSourceUpdateTime());
1863         }
1864         if (!other.getSource().isEmpty()) {
1865           source_ = other.source_;
1866           bitField0_ |= 0x00001000;
1867           onChanged();
1868         }
1869         if (!other.getVendor().isEmpty()) {
1870           vendor_ = other.vendor_;
1871           bitField0_ |= 0x00002000;
1872           onChanged();
1873         }
1874         this.mergeUnknownFields(other.getUnknownFields());
1875         onChanged();
1876         return this;
1877       }
1878 
1879       @java.lang.Override
isInitialized()1880       public final boolean isInitialized() {
1881         return true;
1882       }
1883 
1884       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1885       public Builder mergeFrom(
1886           com.google.protobuf.CodedInputStream input,
1887           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1888           throws java.io.IOException {
1889         if (extensionRegistry == null) {
1890           throw new java.lang.NullPointerException();
1891         }
1892         try {
1893           boolean done = false;
1894           while (!done) {
1895             int tag = input.readTag();
1896             switch (tag) {
1897               case 0:
1898                 done = true;
1899                 break;
1900               case 10:
1901                 {
1902                   severityName_ = input.readStringRequireUtf8();
1903                   bitField0_ |= 0x00000001;
1904                   break;
1905                 } // case 10
1906               case 18:
1907                 {
1908                   description_ = input.readStringRequireUtf8();
1909                   bitField0_ |= 0x00000002;
1910                   break;
1911                 } // case 18
1912               case 26:
1913                 {
1914                   packageType_ = input.readStringRequireUtf8();
1915                   bitField0_ |= 0x00000004;
1916                   break;
1917                 } // case 26
1918               case 34:
1919                 {
1920                   affectedCpeUri_ = input.readStringRequireUtf8();
1921                   bitField0_ |= 0x00000008;
1922                   break;
1923                 } // case 34
1924               case 42:
1925                 {
1926                   affectedPackage_ = input.readStringRequireUtf8();
1927                   bitField0_ |= 0x00000010;
1928                   break;
1929                 } // case 42
1930               case 50:
1931                 {
1932                   input.readMessage(
1933                       getAffectedVersionStartFieldBuilder().getBuilder(), extensionRegistry);
1934                   bitField0_ |= 0x00000020;
1935                   break;
1936                 } // case 50
1937               case 58:
1938                 {
1939                   input.readMessage(
1940                       getAffectedVersionEndFieldBuilder().getBuilder(), extensionRegistry);
1941                   bitField0_ |= 0x00000040;
1942                   break;
1943                 } // case 58
1944               case 66:
1945                 {
1946                   fixedCpeUri_ = input.readStringRequireUtf8();
1947                   bitField0_ |= 0x00000080;
1948                   break;
1949                 } // case 66
1950               case 74:
1951                 {
1952                   fixedPackage_ = input.readStringRequireUtf8();
1953                   bitField0_ |= 0x00000100;
1954                   break;
1955                 } // case 74
1956               case 82:
1957                 {
1958                   input.readMessage(getFixedVersionFieldBuilder().getBuilder(), extensionRegistry);
1959                   bitField0_ |= 0x00000200;
1960                   break;
1961                 } // case 82
1962               case 88:
1963                 {
1964                   isObsolete_ = input.readBool();
1965                   bitField0_ |= 0x00000400;
1966                   break;
1967                 } // case 88
1968               case 98:
1969                 {
1970                   input.readMessage(
1971                       getSourceUpdateTimeFieldBuilder().getBuilder(), extensionRegistry);
1972                   bitField0_ |= 0x00000800;
1973                   break;
1974                 } // case 98
1975               case 106:
1976                 {
1977                   source_ = input.readStringRequireUtf8();
1978                   bitField0_ |= 0x00001000;
1979                   break;
1980                 } // case 106
1981               case 114:
1982                 {
1983                   vendor_ = input.readStringRequireUtf8();
1984                   bitField0_ |= 0x00002000;
1985                   break;
1986                 } // case 114
1987               default:
1988                 {
1989                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
1990                     done = true; // was an endgroup tag
1991                   }
1992                   break;
1993                 } // default:
1994             } // switch (tag)
1995           } // while (!done)
1996         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1997           throw e.unwrapIOException();
1998         } finally {
1999           onChanged();
2000         } // finally
2001         return this;
2002       }
2003 
2004       private int bitField0_;
2005 
2006       private java.lang.Object severityName_ = "";
2007       /**
2008        *
2009        *
2010        * <pre>
2011        * The distro assigned severity of this vulnerability.
2012        * </pre>
2013        *
2014        * <code>string severity_name = 1;</code>
2015        *
2016        * @return The severityName.
2017        */
getSeverityName()2018       public java.lang.String getSeverityName() {
2019         java.lang.Object ref = severityName_;
2020         if (!(ref instanceof java.lang.String)) {
2021           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2022           java.lang.String s = bs.toStringUtf8();
2023           severityName_ = s;
2024           return s;
2025         } else {
2026           return (java.lang.String) ref;
2027         }
2028       }
2029       /**
2030        *
2031        *
2032        * <pre>
2033        * The distro assigned severity of this vulnerability.
2034        * </pre>
2035        *
2036        * <code>string severity_name = 1;</code>
2037        *
2038        * @return The bytes for severityName.
2039        */
getSeverityNameBytes()2040       public com.google.protobuf.ByteString getSeverityNameBytes() {
2041         java.lang.Object ref = severityName_;
2042         if (ref instanceof String) {
2043           com.google.protobuf.ByteString b =
2044               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2045           severityName_ = b;
2046           return b;
2047         } else {
2048           return (com.google.protobuf.ByteString) ref;
2049         }
2050       }
2051       /**
2052        *
2053        *
2054        * <pre>
2055        * The distro assigned severity of this vulnerability.
2056        * </pre>
2057        *
2058        * <code>string severity_name = 1;</code>
2059        *
2060        * @param value The severityName to set.
2061        * @return This builder for chaining.
2062        */
setSeverityName(java.lang.String value)2063       public Builder setSeverityName(java.lang.String value) {
2064         if (value == null) {
2065           throw new NullPointerException();
2066         }
2067         severityName_ = value;
2068         bitField0_ |= 0x00000001;
2069         onChanged();
2070         return this;
2071       }
2072       /**
2073        *
2074        *
2075        * <pre>
2076        * The distro assigned severity of this vulnerability.
2077        * </pre>
2078        *
2079        * <code>string severity_name = 1;</code>
2080        *
2081        * @return This builder for chaining.
2082        */
clearSeverityName()2083       public Builder clearSeverityName() {
2084         severityName_ = getDefaultInstance().getSeverityName();
2085         bitField0_ = (bitField0_ & ~0x00000001);
2086         onChanged();
2087         return this;
2088       }
2089       /**
2090        *
2091        *
2092        * <pre>
2093        * The distro assigned severity of this vulnerability.
2094        * </pre>
2095        *
2096        * <code>string severity_name = 1;</code>
2097        *
2098        * @param value The bytes for severityName to set.
2099        * @return This builder for chaining.
2100        */
setSeverityNameBytes(com.google.protobuf.ByteString value)2101       public Builder setSeverityNameBytes(com.google.protobuf.ByteString value) {
2102         if (value == null) {
2103           throw new NullPointerException();
2104         }
2105         checkByteStringIsUtf8(value);
2106         severityName_ = value;
2107         bitField0_ |= 0x00000001;
2108         onChanged();
2109         return this;
2110       }
2111 
2112       private java.lang.Object description_ = "";
2113       /**
2114        *
2115        *
2116        * <pre>
2117        * A vendor-specific description of this vulnerability.
2118        * </pre>
2119        *
2120        * <code>string description = 2;</code>
2121        *
2122        * @return The description.
2123        */
getDescription()2124       public java.lang.String getDescription() {
2125         java.lang.Object ref = description_;
2126         if (!(ref instanceof java.lang.String)) {
2127           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2128           java.lang.String s = bs.toStringUtf8();
2129           description_ = s;
2130           return s;
2131         } else {
2132           return (java.lang.String) ref;
2133         }
2134       }
2135       /**
2136        *
2137        *
2138        * <pre>
2139        * A vendor-specific description of this vulnerability.
2140        * </pre>
2141        *
2142        * <code>string description = 2;</code>
2143        *
2144        * @return The bytes for description.
2145        */
getDescriptionBytes()2146       public com.google.protobuf.ByteString getDescriptionBytes() {
2147         java.lang.Object ref = description_;
2148         if (ref instanceof String) {
2149           com.google.protobuf.ByteString b =
2150               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2151           description_ = b;
2152           return b;
2153         } else {
2154           return (com.google.protobuf.ByteString) ref;
2155         }
2156       }
2157       /**
2158        *
2159        *
2160        * <pre>
2161        * A vendor-specific description of this vulnerability.
2162        * </pre>
2163        *
2164        * <code>string description = 2;</code>
2165        *
2166        * @param value The description to set.
2167        * @return This builder for chaining.
2168        */
setDescription(java.lang.String value)2169       public Builder setDescription(java.lang.String value) {
2170         if (value == null) {
2171           throw new NullPointerException();
2172         }
2173         description_ = value;
2174         bitField0_ |= 0x00000002;
2175         onChanged();
2176         return this;
2177       }
2178       /**
2179        *
2180        *
2181        * <pre>
2182        * A vendor-specific description of this vulnerability.
2183        * </pre>
2184        *
2185        * <code>string description = 2;</code>
2186        *
2187        * @return This builder for chaining.
2188        */
clearDescription()2189       public Builder clearDescription() {
2190         description_ = getDefaultInstance().getDescription();
2191         bitField0_ = (bitField0_ & ~0x00000002);
2192         onChanged();
2193         return this;
2194       }
2195       /**
2196        *
2197        *
2198        * <pre>
2199        * A vendor-specific description of this vulnerability.
2200        * </pre>
2201        *
2202        * <code>string description = 2;</code>
2203        *
2204        * @param value The bytes for description to set.
2205        * @return This builder for chaining.
2206        */
setDescriptionBytes(com.google.protobuf.ByteString value)2207       public Builder setDescriptionBytes(com.google.protobuf.ByteString value) {
2208         if (value == null) {
2209           throw new NullPointerException();
2210         }
2211         checkByteStringIsUtf8(value);
2212         description_ = value;
2213         bitField0_ |= 0x00000002;
2214         onChanged();
2215         return this;
2216       }
2217 
2218       private java.lang.Object packageType_ = "";
2219       /**
2220        *
2221        *
2222        * <pre>
2223        * The type of package; whether native or non native (e.g., ruby gems,
2224        * node.js packages, etc.).
2225        * </pre>
2226        *
2227        * <code>string package_type = 3;</code>
2228        *
2229        * @return The packageType.
2230        */
getPackageType()2231       public java.lang.String getPackageType() {
2232         java.lang.Object ref = packageType_;
2233         if (!(ref instanceof java.lang.String)) {
2234           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2235           java.lang.String s = bs.toStringUtf8();
2236           packageType_ = s;
2237           return s;
2238         } else {
2239           return (java.lang.String) ref;
2240         }
2241       }
2242       /**
2243        *
2244        *
2245        * <pre>
2246        * The type of package; whether native or non native (e.g., ruby gems,
2247        * node.js packages, etc.).
2248        * </pre>
2249        *
2250        * <code>string package_type = 3;</code>
2251        *
2252        * @return The bytes for packageType.
2253        */
getPackageTypeBytes()2254       public com.google.protobuf.ByteString getPackageTypeBytes() {
2255         java.lang.Object ref = packageType_;
2256         if (ref instanceof String) {
2257           com.google.protobuf.ByteString b =
2258               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2259           packageType_ = b;
2260           return b;
2261         } else {
2262           return (com.google.protobuf.ByteString) ref;
2263         }
2264       }
2265       /**
2266        *
2267        *
2268        * <pre>
2269        * The type of package; whether native or non native (e.g., ruby gems,
2270        * node.js packages, etc.).
2271        * </pre>
2272        *
2273        * <code>string package_type = 3;</code>
2274        *
2275        * @param value The packageType to set.
2276        * @return This builder for chaining.
2277        */
setPackageType(java.lang.String value)2278       public Builder setPackageType(java.lang.String value) {
2279         if (value == null) {
2280           throw new NullPointerException();
2281         }
2282         packageType_ = value;
2283         bitField0_ |= 0x00000004;
2284         onChanged();
2285         return this;
2286       }
2287       /**
2288        *
2289        *
2290        * <pre>
2291        * The type of package; whether native or non native (e.g., ruby gems,
2292        * node.js packages, etc.).
2293        * </pre>
2294        *
2295        * <code>string package_type = 3;</code>
2296        *
2297        * @return This builder for chaining.
2298        */
clearPackageType()2299       public Builder clearPackageType() {
2300         packageType_ = getDefaultInstance().getPackageType();
2301         bitField0_ = (bitField0_ & ~0x00000004);
2302         onChanged();
2303         return this;
2304       }
2305       /**
2306        *
2307        *
2308        * <pre>
2309        * The type of package; whether native or non native (e.g., ruby gems,
2310        * node.js packages, etc.).
2311        * </pre>
2312        *
2313        * <code>string package_type = 3;</code>
2314        *
2315        * @param value The bytes for packageType to set.
2316        * @return This builder for chaining.
2317        */
setPackageTypeBytes(com.google.protobuf.ByteString value)2318       public Builder setPackageTypeBytes(com.google.protobuf.ByteString value) {
2319         if (value == null) {
2320           throw new NullPointerException();
2321         }
2322         checkByteStringIsUtf8(value);
2323         packageType_ = value;
2324         bitField0_ |= 0x00000004;
2325         onChanged();
2326         return this;
2327       }
2328 
2329       private java.lang.Object affectedCpeUri_ = "";
2330       /**
2331        *
2332        *
2333        * <pre>
2334        * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
2335        * vulnerability affects.
2336        * </pre>
2337        *
2338        * <code>string affected_cpe_uri = 4;</code>
2339        *
2340        * @return The affectedCpeUri.
2341        */
getAffectedCpeUri()2342       public java.lang.String getAffectedCpeUri() {
2343         java.lang.Object ref = affectedCpeUri_;
2344         if (!(ref instanceof java.lang.String)) {
2345           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2346           java.lang.String s = bs.toStringUtf8();
2347           affectedCpeUri_ = s;
2348           return s;
2349         } else {
2350           return (java.lang.String) ref;
2351         }
2352       }
2353       /**
2354        *
2355        *
2356        * <pre>
2357        * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
2358        * vulnerability affects.
2359        * </pre>
2360        *
2361        * <code>string affected_cpe_uri = 4;</code>
2362        *
2363        * @return The bytes for affectedCpeUri.
2364        */
getAffectedCpeUriBytes()2365       public com.google.protobuf.ByteString getAffectedCpeUriBytes() {
2366         java.lang.Object ref = affectedCpeUri_;
2367         if (ref instanceof String) {
2368           com.google.protobuf.ByteString b =
2369               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2370           affectedCpeUri_ = b;
2371           return b;
2372         } else {
2373           return (com.google.protobuf.ByteString) ref;
2374         }
2375       }
2376       /**
2377        *
2378        *
2379        * <pre>
2380        * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
2381        * vulnerability affects.
2382        * </pre>
2383        *
2384        * <code>string affected_cpe_uri = 4;</code>
2385        *
2386        * @param value The affectedCpeUri to set.
2387        * @return This builder for chaining.
2388        */
setAffectedCpeUri(java.lang.String value)2389       public Builder setAffectedCpeUri(java.lang.String value) {
2390         if (value == null) {
2391           throw new NullPointerException();
2392         }
2393         affectedCpeUri_ = value;
2394         bitField0_ |= 0x00000008;
2395         onChanged();
2396         return this;
2397       }
2398       /**
2399        *
2400        *
2401        * <pre>
2402        * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
2403        * vulnerability affects.
2404        * </pre>
2405        *
2406        * <code>string affected_cpe_uri = 4;</code>
2407        *
2408        * @return This builder for chaining.
2409        */
clearAffectedCpeUri()2410       public Builder clearAffectedCpeUri() {
2411         affectedCpeUri_ = getDefaultInstance().getAffectedCpeUri();
2412         bitField0_ = (bitField0_ & ~0x00000008);
2413         onChanged();
2414         return this;
2415       }
2416       /**
2417        *
2418        *
2419        * <pre>
2420        * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
2421        * vulnerability affects.
2422        * </pre>
2423        *
2424        * <code>string affected_cpe_uri = 4;</code>
2425        *
2426        * @param value The bytes for affectedCpeUri to set.
2427        * @return This builder for chaining.
2428        */
setAffectedCpeUriBytes(com.google.protobuf.ByteString value)2429       public Builder setAffectedCpeUriBytes(com.google.protobuf.ByteString value) {
2430         if (value == null) {
2431           throw new NullPointerException();
2432         }
2433         checkByteStringIsUtf8(value);
2434         affectedCpeUri_ = value;
2435         bitField0_ |= 0x00000008;
2436         onChanged();
2437         return this;
2438       }
2439 
2440       private java.lang.Object affectedPackage_ = "";
2441       /**
2442        *
2443        *
2444        * <pre>
2445        * Required. The package this vulnerability affects.
2446        * </pre>
2447        *
2448        * <code>string affected_package = 5;</code>
2449        *
2450        * @return The affectedPackage.
2451        */
getAffectedPackage()2452       public java.lang.String getAffectedPackage() {
2453         java.lang.Object ref = affectedPackage_;
2454         if (!(ref instanceof java.lang.String)) {
2455           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2456           java.lang.String s = bs.toStringUtf8();
2457           affectedPackage_ = s;
2458           return s;
2459         } else {
2460           return (java.lang.String) ref;
2461         }
2462       }
2463       /**
2464        *
2465        *
2466        * <pre>
2467        * Required. The package this vulnerability affects.
2468        * </pre>
2469        *
2470        * <code>string affected_package = 5;</code>
2471        *
2472        * @return The bytes for affectedPackage.
2473        */
getAffectedPackageBytes()2474       public com.google.protobuf.ByteString getAffectedPackageBytes() {
2475         java.lang.Object ref = affectedPackage_;
2476         if (ref instanceof String) {
2477           com.google.protobuf.ByteString b =
2478               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2479           affectedPackage_ = b;
2480           return b;
2481         } else {
2482           return (com.google.protobuf.ByteString) ref;
2483         }
2484       }
2485       /**
2486        *
2487        *
2488        * <pre>
2489        * Required. The package this vulnerability affects.
2490        * </pre>
2491        *
2492        * <code>string affected_package = 5;</code>
2493        *
2494        * @param value The affectedPackage to set.
2495        * @return This builder for chaining.
2496        */
setAffectedPackage(java.lang.String value)2497       public Builder setAffectedPackage(java.lang.String value) {
2498         if (value == null) {
2499           throw new NullPointerException();
2500         }
2501         affectedPackage_ = value;
2502         bitField0_ |= 0x00000010;
2503         onChanged();
2504         return this;
2505       }
2506       /**
2507        *
2508        *
2509        * <pre>
2510        * Required. The package this vulnerability affects.
2511        * </pre>
2512        *
2513        * <code>string affected_package = 5;</code>
2514        *
2515        * @return This builder for chaining.
2516        */
clearAffectedPackage()2517       public Builder clearAffectedPackage() {
2518         affectedPackage_ = getDefaultInstance().getAffectedPackage();
2519         bitField0_ = (bitField0_ & ~0x00000010);
2520         onChanged();
2521         return this;
2522       }
2523       /**
2524        *
2525        *
2526        * <pre>
2527        * Required. The package this vulnerability affects.
2528        * </pre>
2529        *
2530        * <code>string affected_package = 5;</code>
2531        *
2532        * @param value The bytes for affectedPackage to set.
2533        * @return This builder for chaining.
2534        */
setAffectedPackageBytes(com.google.protobuf.ByteString value)2535       public Builder setAffectedPackageBytes(com.google.protobuf.ByteString value) {
2536         if (value == null) {
2537           throw new NullPointerException();
2538         }
2539         checkByteStringIsUtf8(value);
2540         affectedPackage_ = value;
2541         bitField0_ |= 0x00000010;
2542         onChanged();
2543         return this;
2544       }
2545 
2546       private io.grafeas.v1.Version affectedVersionStart_;
2547       private com.google.protobuf.SingleFieldBuilderV3<
2548               io.grafeas.v1.Version, io.grafeas.v1.Version.Builder, io.grafeas.v1.VersionOrBuilder>
2549           affectedVersionStartBuilder_;
2550       /**
2551        *
2552        *
2553        * <pre>
2554        * The version number at the start of an interval in which this
2555        * vulnerability exists. A vulnerability can affect a package between
2556        * version numbers that are disjoint sets of intervals (example:
2557        * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
2558        * represented in its own Detail. If a specific affected version is provided
2559        * by a vulnerability database, affected_version_start and
2560        * affected_version_end will be the same in that Detail.
2561        * </pre>
2562        *
2563        * <code>.grafeas.v1.Version affected_version_start = 6;</code>
2564        *
2565        * @return Whether the affectedVersionStart field is set.
2566        */
hasAffectedVersionStart()2567       public boolean hasAffectedVersionStart() {
2568         return ((bitField0_ & 0x00000020) != 0);
2569       }
2570       /**
2571        *
2572        *
2573        * <pre>
2574        * The version number at the start of an interval in which this
2575        * vulnerability exists. A vulnerability can affect a package between
2576        * version numbers that are disjoint sets of intervals (example:
2577        * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
2578        * represented in its own Detail. If a specific affected version is provided
2579        * by a vulnerability database, affected_version_start and
2580        * affected_version_end will be the same in that Detail.
2581        * </pre>
2582        *
2583        * <code>.grafeas.v1.Version affected_version_start = 6;</code>
2584        *
2585        * @return The affectedVersionStart.
2586        */
getAffectedVersionStart()2587       public io.grafeas.v1.Version getAffectedVersionStart() {
2588         if (affectedVersionStartBuilder_ == null) {
2589           return affectedVersionStart_ == null
2590               ? io.grafeas.v1.Version.getDefaultInstance()
2591               : affectedVersionStart_;
2592         } else {
2593           return affectedVersionStartBuilder_.getMessage();
2594         }
2595       }
2596       /**
2597        *
2598        *
2599        * <pre>
2600        * The version number at the start of an interval in which this
2601        * vulnerability exists. A vulnerability can affect a package between
2602        * version numbers that are disjoint sets of intervals (example:
2603        * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
2604        * represented in its own Detail. If a specific affected version is provided
2605        * by a vulnerability database, affected_version_start and
2606        * affected_version_end will be the same in that Detail.
2607        * </pre>
2608        *
2609        * <code>.grafeas.v1.Version affected_version_start = 6;</code>
2610        */
setAffectedVersionStart(io.grafeas.v1.Version value)2611       public Builder setAffectedVersionStart(io.grafeas.v1.Version value) {
2612         if (affectedVersionStartBuilder_ == null) {
2613           if (value == null) {
2614             throw new NullPointerException();
2615           }
2616           affectedVersionStart_ = value;
2617         } else {
2618           affectedVersionStartBuilder_.setMessage(value);
2619         }
2620         bitField0_ |= 0x00000020;
2621         onChanged();
2622         return this;
2623       }
2624       /**
2625        *
2626        *
2627        * <pre>
2628        * The version number at the start of an interval in which this
2629        * vulnerability exists. A vulnerability can affect a package between
2630        * version numbers that are disjoint sets of intervals (example:
2631        * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
2632        * represented in its own Detail. If a specific affected version is provided
2633        * by a vulnerability database, affected_version_start and
2634        * affected_version_end will be the same in that Detail.
2635        * </pre>
2636        *
2637        * <code>.grafeas.v1.Version affected_version_start = 6;</code>
2638        */
setAffectedVersionStart(io.grafeas.v1.Version.Builder builderForValue)2639       public Builder setAffectedVersionStart(io.grafeas.v1.Version.Builder builderForValue) {
2640         if (affectedVersionStartBuilder_ == null) {
2641           affectedVersionStart_ = builderForValue.build();
2642         } else {
2643           affectedVersionStartBuilder_.setMessage(builderForValue.build());
2644         }
2645         bitField0_ |= 0x00000020;
2646         onChanged();
2647         return this;
2648       }
2649       /**
2650        *
2651        *
2652        * <pre>
2653        * The version number at the start of an interval in which this
2654        * vulnerability exists. A vulnerability can affect a package between
2655        * version numbers that are disjoint sets of intervals (example:
2656        * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
2657        * represented in its own Detail. If a specific affected version is provided
2658        * by a vulnerability database, affected_version_start and
2659        * affected_version_end will be the same in that Detail.
2660        * </pre>
2661        *
2662        * <code>.grafeas.v1.Version affected_version_start = 6;</code>
2663        */
mergeAffectedVersionStart(io.grafeas.v1.Version value)2664       public Builder mergeAffectedVersionStart(io.grafeas.v1.Version value) {
2665         if (affectedVersionStartBuilder_ == null) {
2666           if (((bitField0_ & 0x00000020) != 0)
2667               && affectedVersionStart_ != null
2668               && affectedVersionStart_ != io.grafeas.v1.Version.getDefaultInstance()) {
2669             getAffectedVersionStartBuilder().mergeFrom(value);
2670           } else {
2671             affectedVersionStart_ = value;
2672           }
2673         } else {
2674           affectedVersionStartBuilder_.mergeFrom(value);
2675         }
2676         bitField0_ |= 0x00000020;
2677         onChanged();
2678         return this;
2679       }
2680       /**
2681        *
2682        *
2683        * <pre>
2684        * The version number at the start of an interval in which this
2685        * vulnerability exists. A vulnerability can affect a package between
2686        * version numbers that are disjoint sets of intervals (example:
2687        * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
2688        * represented in its own Detail. If a specific affected version is provided
2689        * by a vulnerability database, affected_version_start and
2690        * affected_version_end will be the same in that Detail.
2691        * </pre>
2692        *
2693        * <code>.grafeas.v1.Version affected_version_start = 6;</code>
2694        */
clearAffectedVersionStart()2695       public Builder clearAffectedVersionStart() {
2696         bitField0_ = (bitField0_ & ~0x00000020);
2697         affectedVersionStart_ = null;
2698         if (affectedVersionStartBuilder_ != null) {
2699           affectedVersionStartBuilder_.dispose();
2700           affectedVersionStartBuilder_ = null;
2701         }
2702         onChanged();
2703         return this;
2704       }
2705       /**
2706        *
2707        *
2708        * <pre>
2709        * The version number at the start of an interval in which this
2710        * vulnerability exists. A vulnerability can affect a package between
2711        * version numbers that are disjoint sets of intervals (example:
2712        * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
2713        * represented in its own Detail. If a specific affected version is provided
2714        * by a vulnerability database, affected_version_start and
2715        * affected_version_end will be the same in that Detail.
2716        * </pre>
2717        *
2718        * <code>.grafeas.v1.Version affected_version_start = 6;</code>
2719        */
getAffectedVersionStartBuilder()2720       public io.grafeas.v1.Version.Builder getAffectedVersionStartBuilder() {
2721         bitField0_ |= 0x00000020;
2722         onChanged();
2723         return getAffectedVersionStartFieldBuilder().getBuilder();
2724       }
2725       /**
2726        *
2727        *
2728        * <pre>
2729        * The version number at the start of an interval in which this
2730        * vulnerability exists. A vulnerability can affect a package between
2731        * version numbers that are disjoint sets of intervals (example:
2732        * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
2733        * represented in its own Detail. If a specific affected version is provided
2734        * by a vulnerability database, affected_version_start and
2735        * affected_version_end will be the same in that Detail.
2736        * </pre>
2737        *
2738        * <code>.grafeas.v1.Version affected_version_start = 6;</code>
2739        */
getAffectedVersionStartOrBuilder()2740       public io.grafeas.v1.VersionOrBuilder getAffectedVersionStartOrBuilder() {
2741         if (affectedVersionStartBuilder_ != null) {
2742           return affectedVersionStartBuilder_.getMessageOrBuilder();
2743         } else {
2744           return affectedVersionStart_ == null
2745               ? io.grafeas.v1.Version.getDefaultInstance()
2746               : affectedVersionStart_;
2747         }
2748       }
2749       /**
2750        *
2751        *
2752        * <pre>
2753        * The version number at the start of an interval in which this
2754        * vulnerability exists. A vulnerability can affect a package between
2755        * version numbers that are disjoint sets of intervals (example:
2756        * [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
2757        * represented in its own Detail. If a specific affected version is provided
2758        * by a vulnerability database, affected_version_start and
2759        * affected_version_end will be the same in that Detail.
2760        * </pre>
2761        *
2762        * <code>.grafeas.v1.Version affected_version_start = 6;</code>
2763        */
2764       private com.google.protobuf.SingleFieldBuilderV3<
2765               io.grafeas.v1.Version, io.grafeas.v1.Version.Builder, io.grafeas.v1.VersionOrBuilder>
getAffectedVersionStartFieldBuilder()2766           getAffectedVersionStartFieldBuilder() {
2767         if (affectedVersionStartBuilder_ == null) {
2768           affectedVersionStartBuilder_ =
2769               new com.google.protobuf.SingleFieldBuilderV3<
2770                   io.grafeas.v1.Version,
2771                   io.grafeas.v1.Version.Builder,
2772                   io.grafeas.v1.VersionOrBuilder>(
2773                   getAffectedVersionStart(), getParentForChildren(), isClean());
2774           affectedVersionStart_ = null;
2775         }
2776         return affectedVersionStartBuilder_;
2777       }
2778 
2779       private io.grafeas.v1.Version affectedVersionEnd_;
2780       private com.google.protobuf.SingleFieldBuilderV3<
2781               io.grafeas.v1.Version, io.grafeas.v1.Version.Builder, io.grafeas.v1.VersionOrBuilder>
2782           affectedVersionEndBuilder_;
2783       /**
2784        *
2785        *
2786        * <pre>
2787        * The version number at the end of an interval in which this vulnerability
2788        * exists. A vulnerability can affect a package between version numbers
2789        * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
2790        * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
2791        * own Detail. If a specific affected version is provided by a vulnerability
2792        * database, affected_version_start and affected_version_end will be the
2793        * same in that Detail.
2794        * </pre>
2795        *
2796        * <code>.grafeas.v1.Version affected_version_end = 7;</code>
2797        *
2798        * @return Whether the affectedVersionEnd field is set.
2799        */
hasAffectedVersionEnd()2800       public boolean hasAffectedVersionEnd() {
2801         return ((bitField0_ & 0x00000040) != 0);
2802       }
2803       /**
2804        *
2805        *
2806        * <pre>
2807        * The version number at the end of an interval in which this vulnerability
2808        * exists. A vulnerability can affect a package between version numbers
2809        * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
2810        * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
2811        * own Detail. If a specific affected version is provided by a vulnerability
2812        * database, affected_version_start and affected_version_end will be the
2813        * same in that Detail.
2814        * </pre>
2815        *
2816        * <code>.grafeas.v1.Version affected_version_end = 7;</code>
2817        *
2818        * @return The affectedVersionEnd.
2819        */
getAffectedVersionEnd()2820       public io.grafeas.v1.Version getAffectedVersionEnd() {
2821         if (affectedVersionEndBuilder_ == null) {
2822           return affectedVersionEnd_ == null
2823               ? io.grafeas.v1.Version.getDefaultInstance()
2824               : affectedVersionEnd_;
2825         } else {
2826           return affectedVersionEndBuilder_.getMessage();
2827         }
2828       }
2829       /**
2830        *
2831        *
2832        * <pre>
2833        * The version number at the end of an interval in which this vulnerability
2834        * exists. A vulnerability can affect a package between version numbers
2835        * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
2836        * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
2837        * own Detail. If a specific affected version is provided by a vulnerability
2838        * database, affected_version_start and affected_version_end will be the
2839        * same in that Detail.
2840        * </pre>
2841        *
2842        * <code>.grafeas.v1.Version affected_version_end = 7;</code>
2843        */
setAffectedVersionEnd(io.grafeas.v1.Version value)2844       public Builder setAffectedVersionEnd(io.grafeas.v1.Version value) {
2845         if (affectedVersionEndBuilder_ == null) {
2846           if (value == null) {
2847             throw new NullPointerException();
2848           }
2849           affectedVersionEnd_ = value;
2850         } else {
2851           affectedVersionEndBuilder_.setMessage(value);
2852         }
2853         bitField0_ |= 0x00000040;
2854         onChanged();
2855         return this;
2856       }
2857       /**
2858        *
2859        *
2860        * <pre>
2861        * The version number at the end of an interval in which this vulnerability
2862        * exists. A vulnerability can affect a package between version numbers
2863        * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
2864        * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
2865        * own Detail. If a specific affected version is provided by a vulnerability
2866        * database, affected_version_start and affected_version_end will be the
2867        * same in that Detail.
2868        * </pre>
2869        *
2870        * <code>.grafeas.v1.Version affected_version_end = 7;</code>
2871        */
setAffectedVersionEnd(io.grafeas.v1.Version.Builder builderForValue)2872       public Builder setAffectedVersionEnd(io.grafeas.v1.Version.Builder builderForValue) {
2873         if (affectedVersionEndBuilder_ == null) {
2874           affectedVersionEnd_ = builderForValue.build();
2875         } else {
2876           affectedVersionEndBuilder_.setMessage(builderForValue.build());
2877         }
2878         bitField0_ |= 0x00000040;
2879         onChanged();
2880         return this;
2881       }
2882       /**
2883        *
2884        *
2885        * <pre>
2886        * The version number at the end of an interval in which this vulnerability
2887        * exists. A vulnerability can affect a package between version numbers
2888        * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
2889        * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
2890        * own Detail. If a specific affected version is provided by a vulnerability
2891        * database, affected_version_start and affected_version_end will be the
2892        * same in that Detail.
2893        * </pre>
2894        *
2895        * <code>.grafeas.v1.Version affected_version_end = 7;</code>
2896        */
mergeAffectedVersionEnd(io.grafeas.v1.Version value)2897       public Builder mergeAffectedVersionEnd(io.grafeas.v1.Version value) {
2898         if (affectedVersionEndBuilder_ == null) {
2899           if (((bitField0_ & 0x00000040) != 0)
2900               && affectedVersionEnd_ != null
2901               && affectedVersionEnd_ != io.grafeas.v1.Version.getDefaultInstance()) {
2902             getAffectedVersionEndBuilder().mergeFrom(value);
2903           } else {
2904             affectedVersionEnd_ = value;
2905           }
2906         } else {
2907           affectedVersionEndBuilder_.mergeFrom(value);
2908         }
2909         bitField0_ |= 0x00000040;
2910         onChanged();
2911         return this;
2912       }
2913       /**
2914        *
2915        *
2916        * <pre>
2917        * The version number at the end of an interval in which this vulnerability
2918        * exists. A vulnerability can affect a package between version numbers
2919        * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
2920        * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
2921        * own Detail. If a specific affected version is provided by a vulnerability
2922        * database, affected_version_start and affected_version_end will be the
2923        * same in that Detail.
2924        * </pre>
2925        *
2926        * <code>.grafeas.v1.Version affected_version_end = 7;</code>
2927        */
clearAffectedVersionEnd()2928       public Builder clearAffectedVersionEnd() {
2929         bitField0_ = (bitField0_ & ~0x00000040);
2930         affectedVersionEnd_ = null;
2931         if (affectedVersionEndBuilder_ != null) {
2932           affectedVersionEndBuilder_.dispose();
2933           affectedVersionEndBuilder_ = null;
2934         }
2935         onChanged();
2936         return this;
2937       }
2938       /**
2939        *
2940        *
2941        * <pre>
2942        * The version number at the end of an interval in which this vulnerability
2943        * exists. A vulnerability can affect a package between version numbers
2944        * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
2945        * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
2946        * own Detail. If a specific affected version is provided by a vulnerability
2947        * database, affected_version_start and affected_version_end will be the
2948        * same in that Detail.
2949        * </pre>
2950        *
2951        * <code>.grafeas.v1.Version affected_version_end = 7;</code>
2952        */
getAffectedVersionEndBuilder()2953       public io.grafeas.v1.Version.Builder getAffectedVersionEndBuilder() {
2954         bitField0_ |= 0x00000040;
2955         onChanged();
2956         return getAffectedVersionEndFieldBuilder().getBuilder();
2957       }
2958       /**
2959        *
2960        *
2961        * <pre>
2962        * The version number at the end of an interval in which this vulnerability
2963        * exists. A vulnerability can affect a package between version numbers
2964        * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
2965        * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
2966        * own Detail. If a specific affected version is provided by a vulnerability
2967        * database, affected_version_start and affected_version_end will be the
2968        * same in that Detail.
2969        * </pre>
2970        *
2971        * <code>.grafeas.v1.Version affected_version_end = 7;</code>
2972        */
getAffectedVersionEndOrBuilder()2973       public io.grafeas.v1.VersionOrBuilder getAffectedVersionEndOrBuilder() {
2974         if (affectedVersionEndBuilder_ != null) {
2975           return affectedVersionEndBuilder_.getMessageOrBuilder();
2976         } else {
2977           return affectedVersionEnd_ == null
2978               ? io.grafeas.v1.Version.getDefaultInstance()
2979               : affectedVersionEnd_;
2980         }
2981       }
2982       /**
2983        *
2984        *
2985        * <pre>
2986        * The version number at the end of an interval in which this vulnerability
2987        * exists. A vulnerability can affect a package between version numbers
2988        * that are disjoint sets of intervals (example: [1.0.0-1.1.0],
2989        * [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
2990        * own Detail. If a specific affected version is provided by a vulnerability
2991        * database, affected_version_start and affected_version_end will be the
2992        * same in that Detail.
2993        * </pre>
2994        *
2995        * <code>.grafeas.v1.Version affected_version_end = 7;</code>
2996        */
2997       private com.google.protobuf.SingleFieldBuilderV3<
2998               io.grafeas.v1.Version, io.grafeas.v1.Version.Builder, io.grafeas.v1.VersionOrBuilder>
getAffectedVersionEndFieldBuilder()2999           getAffectedVersionEndFieldBuilder() {
3000         if (affectedVersionEndBuilder_ == null) {
3001           affectedVersionEndBuilder_ =
3002               new com.google.protobuf.SingleFieldBuilderV3<
3003                   io.grafeas.v1.Version,
3004                   io.grafeas.v1.Version.Builder,
3005                   io.grafeas.v1.VersionOrBuilder>(
3006                   getAffectedVersionEnd(), getParentForChildren(), isClean());
3007           affectedVersionEnd_ = null;
3008         }
3009         return affectedVersionEndBuilder_;
3010       }
3011 
3012       private java.lang.Object fixedCpeUri_ = "";
3013       /**
3014        *
3015        *
3016        * <pre>
3017        * The distro recommended [CPE URI](https://cpe.mitre.org/specification/)
3018        * to update to that contains a fix for this vulnerability. It is possible
3019        * for this to be different from the affected_cpe_uri.
3020        * </pre>
3021        *
3022        * <code>string fixed_cpe_uri = 8;</code>
3023        *
3024        * @return The fixedCpeUri.
3025        */
getFixedCpeUri()3026       public java.lang.String getFixedCpeUri() {
3027         java.lang.Object ref = fixedCpeUri_;
3028         if (!(ref instanceof java.lang.String)) {
3029           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3030           java.lang.String s = bs.toStringUtf8();
3031           fixedCpeUri_ = s;
3032           return s;
3033         } else {
3034           return (java.lang.String) ref;
3035         }
3036       }
3037       /**
3038        *
3039        *
3040        * <pre>
3041        * The distro recommended [CPE URI](https://cpe.mitre.org/specification/)
3042        * to update to that contains a fix for this vulnerability. It is possible
3043        * for this to be different from the affected_cpe_uri.
3044        * </pre>
3045        *
3046        * <code>string fixed_cpe_uri = 8;</code>
3047        *
3048        * @return The bytes for fixedCpeUri.
3049        */
getFixedCpeUriBytes()3050       public com.google.protobuf.ByteString getFixedCpeUriBytes() {
3051         java.lang.Object ref = fixedCpeUri_;
3052         if (ref instanceof String) {
3053           com.google.protobuf.ByteString b =
3054               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3055           fixedCpeUri_ = b;
3056           return b;
3057         } else {
3058           return (com.google.protobuf.ByteString) ref;
3059         }
3060       }
3061       /**
3062        *
3063        *
3064        * <pre>
3065        * The distro recommended [CPE URI](https://cpe.mitre.org/specification/)
3066        * to update to that contains a fix for this vulnerability. It is possible
3067        * for this to be different from the affected_cpe_uri.
3068        * </pre>
3069        *
3070        * <code>string fixed_cpe_uri = 8;</code>
3071        *
3072        * @param value The fixedCpeUri to set.
3073        * @return This builder for chaining.
3074        */
setFixedCpeUri(java.lang.String value)3075       public Builder setFixedCpeUri(java.lang.String value) {
3076         if (value == null) {
3077           throw new NullPointerException();
3078         }
3079         fixedCpeUri_ = value;
3080         bitField0_ |= 0x00000080;
3081         onChanged();
3082         return this;
3083       }
3084       /**
3085        *
3086        *
3087        * <pre>
3088        * The distro recommended [CPE URI](https://cpe.mitre.org/specification/)
3089        * to update to that contains a fix for this vulnerability. It is possible
3090        * for this to be different from the affected_cpe_uri.
3091        * </pre>
3092        *
3093        * <code>string fixed_cpe_uri = 8;</code>
3094        *
3095        * @return This builder for chaining.
3096        */
clearFixedCpeUri()3097       public Builder clearFixedCpeUri() {
3098         fixedCpeUri_ = getDefaultInstance().getFixedCpeUri();
3099         bitField0_ = (bitField0_ & ~0x00000080);
3100         onChanged();
3101         return this;
3102       }
3103       /**
3104        *
3105        *
3106        * <pre>
3107        * The distro recommended [CPE URI](https://cpe.mitre.org/specification/)
3108        * to update to that contains a fix for this vulnerability. It is possible
3109        * for this to be different from the affected_cpe_uri.
3110        * </pre>
3111        *
3112        * <code>string fixed_cpe_uri = 8;</code>
3113        *
3114        * @param value The bytes for fixedCpeUri to set.
3115        * @return This builder for chaining.
3116        */
setFixedCpeUriBytes(com.google.protobuf.ByteString value)3117       public Builder setFixedCpeUriBytes(com.google.protobuf.ByteString value) {
3118         if (value == null) {
3119           throw new NullPointerException();
3120         }
3121         checkByteStringIsUtf8(value);
3122         fixedCpeUri_ = value;
3123         bitField0_ |= 0x00000080;
3124         onChanged();
3125         return this;
3126       }
3127 
3128       private java.lang.Object fixedPackage_ = "";
3129       /**
3130        *
3131        *
3132        * <pre>
3133        * The distro recommended package to update to that contains a fix for this
3134        * vulnerability. It is possible for this to be different from the
3135        * affected_package.
3136        * </pre>
3137        *
3138        * <code>string fixed_package = 9;</code>
3139        *
3140        * @return The fixedPackage.
3141        */
getFixedPackage()3142       public java.lang.String getFixedPackage() {
3143         java.lang.Object ref = fixedPackage_;
3144         if (!(ref instanceof java.lang.String)) {
3145           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3146           java.lang.String s = bs.toStringUtf8();
3147           fixedPackage_ = s;
3148           return s;
3149         } else {
3150           return (java.lang.String) ref;
3151         }
3152       }
3153       /**
3154        *
3155        *
3156        * <pre>
3157        * The distro recommended package to update to that contains a fix for this
3158        * vulnerability. It is possible for this to be different from the
3159        * affected_package.
3160        * </pre>
3161        *
3162        * <code>string fixed_package = 9;</code>
3163        *
3164        * @return The bytes for fixedPackage.
3165        */
getFixedPackageBytes()3166       public com.google.protobuf.ByteString getFixedPackageBytes() {
3167         java.lang.Object ref = fixedPackage_;
3168         if (ref instanceof String) {
3169           com.google.protobuf.ByteString b =
3170               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3171           fixedPackage_ = b;
3172           return b;
3173         } else {
3174           return (com.google.protobuf.ByteString) ref;
3175         }
3176       }
3177       /**
3178        *
3179        *
3180        * <pre>
3181        * The distro recommended package to update to that contains a fix for this
3182        * vulnerability. It is possible for this to be different from the
3183        * affected_package.
3184        * </pre>
3185        *
3186        * <code>string fixed_package = 9;</code>
3187        *
3188        * @param value The fixedPackage to set.
3189        * @return This builder for chaining.
3190        */
setFixedPackage(java.lang.String value)3191       public Builder setFixedPackage(java.lang.String value) {
3192         if (value == null) {
3193           throw new NullPointerException();
3194         }
3195         fixedPackage_ = value;
3196         bitField0_ |= 0x00000100;
3197         onChanged();
3198         return this;
3199       }
3200       /**
3201        *
3202        *
3203        * <pre>
3204        * The distro recommended package to update to that contains a fix for this
3205        * vulnerability. It is possible for this to be different from the
3206        * affected_package.
3207        * </pre>
3208        *
3209        * <code>string fixed_package = 9;</code>
3210        *
3211        * @return This builder for chaining.
3212        */
clearFixedPackage()3213       public Builder clearFixedPackage() {
3214         fixedPackage_ = getDefaultInstance().getFixedPackage();
3215         bitField0_ = (bitField0_ & ~0x00000100);
3216         onChanged();
3217         return this;
3218       }
3219       /**
3220        *
3221        *
3222        * <pre>
3223        * The distro recommended package to update to that contains a fix for this
3224        * vulnerability. It is possible for this to be different from the
3225        * affected_package.
3226        * </pre>
3227        *
3228        * <code>string fixed_package = 9;</code>
3229        *
3230        * @param value The bytes for fixedPackage to set.
3231        * @return This builder for chaining.
3232        */
setFixedPackageBytes(com.google.protobuf.ByteString value)3233       public Builder setFixedPackageBytes(com.google.protobuf.ByteString value) {
3234         if (value == null) {
3235           throw new NullPointerException();
3236         }
3237         checkByteStringIsUtf8(value);
3238         fixedPackage_ = value;
3239         bitField0_ |= 0x00000100;
3240         onChanged();
3241         return this;
3242       }
3243 
3244       private io.grafeas.v1.Version fixedVersion_;
3245       private com.google.protobuf.SingleFieldBuilderV3<
3246               io.grafeas.v1.Version, io.grafeas.v1.Version.Builder, io.grafeas.v1.VersionOrBuilder>
3247           fixedVersionBuilder_;
3248       /**
3249        *
3250        *
3251        * <pre>
3252        * The distro recommended version to update to that contains a
3253        * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
3254        * such version is yet available.
3255        * </pre>
3256        *
3257        * <code>.grafeas.v1.Version fixed_version = 10;</code>
3258        *
3259        * @return Whether the fixedVersion field is set.
3260        */
hasFixedVersion()3261       public boolean hasFixedVersion() {
3262         return ((bitField0_ & 0x00000200) != 0);
3263       }
3264       /**
3265        *
3266        *
3267        * <pre>
3268        * The distro recommended version to update to that contains a
3269        * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
3270        * such version is yet available.
3271        * </pre>
3272        *
3273        * <code>.grafeas.v1.Version fixed_version = 10;</code>
3274        *
3275        * @return The fixedVersion.
3276        */
getFixedVersion()3277       public io.grafeas.v1.Version getFixedVersion() {
3278         if (fixedVersionBuilder_ == null) {
3279           return fixedVersion_ == null ? io.grafeas.v1.Version.getDefaultInstance() : fixedVersion_;
3280         } else {
3281           return fixedVersionBuilder_.getMessage();
3282         }
3283       }
3284       /**
3285        *
3286        *
3287        * <pre>
3288        * The distro recommended version to update to that contains a
3289        * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
3290        * such version is yet available.
3291        * </pre>
3292        *
3293        * <code>.grafeas.v1.Version fixed_version = 10;</code>
3294        */
setFixedVersion(io.grafeas.v1.Version value)3295       public Builder setFixedVersion(io.grafeas.v1.Version value) {
3296         if (fixedVersionBuilder_ == null) {
3297           if (value == null) {
3298             throw new NullPointerException();
3299           }
3300           fixedVersion_ = value;
3301         } else {
3302           fixedVersionBuilder_.setMessage(value);
3303         }
3304         bitField0_ |= 0x00000200;
3305         onChanged();
3306         return this;
3307       }
3308       /**
3309        *
3310        *
3311        * <pre>
3312        * The distro recommended version to update to that contains a
3313        * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
3314        * such version is yet available.
3315        * </pre>
3316        *
3317        * <code>.grafeas.v1.Version fixed_version = 10;</code>
3318        */
setFixedVersion(io.grafeas.v1.Version.Builder builderForValue)3319       public Builder setFixedVersion(io.grafeas.v1.Version.Builder builderForValue) {
3320         if (fixedVersionBuilder_ == null) {
3321           fixedVersion_ = builderForValue.build();
3322         } else {
3323           fixedVersionBuilder_.setMessage(builderForValue.build());
3324         }
3325         bitField0_ |= 0x00000200;
3326         onChanged();
3327         return this;
3328       }
3329       /**
3330        *
3331        *
3332        * <pre>
3333        * The distro recommended version to update to that contains a
3334        * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
3335        * such version is yet available.
3336        * </pre>
3337        *
3338        * <code>.grafeas.v1.Version fixed_version = 10;</code>
3339        */
mergeFixedVersion(io.grafeas.v1.Version value)3340       public Builder mergeFixedVersion(io.grafeas.v1.Version value) {
3341         if (fixedVersionBuilder_ == null) {
3342           if (((bitField0_ & 0x00000200) != 0)
3343               && fixedVersion_ != null
3344               && fixedVersion_ != io.grafeas.v1.Version.getDefaultInstance()) {
3345             getFixedVersionBuilder().mergeFrom(value);
3346           } else {
3347             fixedVersion_ = value;
3348           }
3349         } else {
3350           fixedVersionBuilder_.mergeFrom(value);
3351         }
3352         bitField0_ |= 0x00000200;
3353         onChanged();
3354         return this;
3355       }
3356       /**
3357        *
3358        *
3359        * <pre>
3360        * The distro recommended version to update to that contains a
3361        * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
3362        * such version is yet available.
3363        * </pre>
3364        *
3365        * <code>.grafeas.v1.Version fixed_version = 10;</code>
3366        */
clearFixedVersion()3367       public Builder clearFixedVersion() {
3368         bitField0_ = (bitField0_ & ~0x00000200);
3369         fixedVersion_ = null;
3370         if (fixedVersionBuilder_ != null) {
3371           fixedVersionBuilder_.dispose();
3372           fixedVersionBuilder_ = null;
3373         }
3374         onChanged();
3375         return this;
3376       }
3377       /**
3378        *
3379        *
3380        * <pre>
3381        * The distro recommended version to update to that contains a
3382        * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
3383        * such version is yet available.
3384        * </pre>
3385        *
3386        * <code>.grafeas.v1.Version fixed_version = 10;</code>
3387        */
getFixedVersionBuilder()3388       public io.grafeas.v1.Version.Builder getFixedVersionBuilder() {
3389         bitField0_ |= 0x00000200;
3390         onChanged();
3391         return getFixedVersionFieldBuilder().getBuilder();
3392       }
3393       /**
3394        *
3395        *
3396        * <pre>
3397        * The distro recommended version to update to that contains a
3398        * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
3399        * such version is yet available.
3400        * </pre>
3401        *
3402        * <code>.grafeas.v1.Version fixed_version = 10;</code>
3403        */
getFixedVersionOrBuilder()3404       public io.grafeas.v1.VersionOrBuilder getFixedVersionOrBuilder() {
3405         if (fixedVersionBuilder_ != null) {
3406           return fixedVersionBuilder_.getMessageOrBuilder();
3407         } else {
3408           return fixedVersion_ == null ? io.grafeas.v1.Version.getDefaultInstance() : fixedVersion_;
3409         }
3410       }
3411       /**
3412        *
3413        *
3414        * <pre>
3415        * The distro recommended version to update to that contains a
3416        * fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
3417        * such version is yet available.
3418        * </pre>
3419        *
3420        * <code>.grafeas.v1.Version fixed_version = 10;</code>
3421        */
3422       private com.google.protobuf.SingleFieldBuilderV3<
3423               io.grafeas.v1.Version, io.grafeas.v1.Version.Builder, io.grafeas.v1.VersionOrBuilder>
getFixedVersionFieldBuilder()3424           getFixedVersionFieldBuilder() {
3425         if (fixedVersionBuilder_ == null) {
3426           fixedVersionBuilder_ =
3427               new com.google.protobuf.SingleFieldBuilderV3<
3428                   io.grafeas.v1.Version,
3429                   io.grafeas.v1.Version.Builder,
3430                   io.grafeas.v1.VersionOrBuilder>(
3431                   getFixedVersion(), getParentForChildren(), isClean());
3432           fixedVersion_ = null;
3433         }
3434         return fixedVersionBuilder_;
3435       }
3436 
3437       private boolean isObsolete_;
3438       /**
3439        *
3440        *
3441        * <pre>
3442        * Whether this detail is obsolete. Occurrences are expected not to point to
3443        * obsolete details.
3444        * </pre>
3445        *
3446        * <code>bool is_obsolete = 11;</code>
3447        *
3448        * @return The isObsolete.
3449        */
3450       @java.lang.Override
getIsObsolete()3451       public boolean getIsObsolete() {
3452         return isObsolete_;
3453       }
3454       /**
3455        *
3456        *
3457        * <pre>
3458        * Whether this detail is obsolete. Occurrences are expected not to point to
3459        * obsolete details.
3460        * </pre>
3461        *
3462        * <code>bool is_obsolete = 11;</code>
3463        *
3464        * @param value The isObsolete to set.
3465        * @return This builder for chaining.
3466        */
setIsObsolete(boolean value)3467       public Builder setIsObsolete(boolean value) {
3468 
3469         isObsolete_ = value;
3470         bitField0_ |= 0x00000400;
3471         onChanged();
3472         return this;
3473       }
3474       /**
3475        *
3476        *
3477        * <pre>
3478        * Whether this detail is obsolete. Occurrences are expected not to point to
3479        * obsolete details.
3480        * </pre>
3481        *
3482        * <code>bool is_obsolete = 11;</code>
3483        *
3484        * @return This builder for chaining.
3485        */
clearIsObsolete()3486       public Builder clearIsObsolete() {
3487         bitField0_ = (bitField0_ & ~0x00000400);
3488         isObsolete_ = false;
3489         onChanged();
3490         return this;
3491       }
3492 
3493       private com.google.protobuf.Timestamp sourceUpdateTime_;
3494       private com.google.protobuf.SingleFieldBuilderV3<
3495               com.google.protobuf.Timestamp,
3496               com.google.protobuf.Timestamp.Builder,
3497               com.google.protobuf.TimestampOrBuilder>
3498           sourceUpdateTimeBuilder_;
3499       /**
3500        *
3501        *
3502        * <pre>
3503        * The time this information was last changed at the source. This is an
3504        * upstream timestamp from the underlying information source - e.g. Ubuntu
3505        * security tracker.
3506        * </pre>
3507        *
3508        * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
3509        *
3510        * @return Whether the sourceUpdateTime field is set.
3511        */
hasSourceUpdateTime()3512       public boolean hasSourceUpdateTime() {
3513         return ((bitField0_ & 0x00000800) != 0);
3514       }
3515       /**
3516        *
3517        *
3518        * <pre>
3519        * The time this information was last changed at the source. This is an
3520        * upstream timestamp from the underlying information source - e.g. Ubuntu
3521        * security tracker.
3522        * </pre>
3523        *
3524        * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
3525        *
3526        * @return The sourceUpdateTime.
3527        */
getSourceUpdateTime()3528       public com.google.protobuf.Timestamp getSourceUpdateTime() {
3529         if (sourceUpdateTimeBuilder_ == null) {
3530           return sourceUpdateTime_ == null
3531               ? com.google.protobuf.Timestamp.getDefaultInstance()
3532               : sourceUpdateTime_;
3533         } else {
3534           return sourceUpdateTimeBuilder_.getMessage();
3535         }
3536       }
3537       /**
3538        *
3539        *
3540        * <pre>
3541        * The time this information was last changed at the source. This is an
3542        * upstream timestamp from the underlying information source - e.g. Ubuntu
3543        * security tracker.
3544        * </pre>
3545        *
3546        * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
3547        */
setSourceUpdateTime(com.google.protobuf.Timestamp value)3548       public Builder setSourceUpdateTime(com.google.protobuf.Timestamp value) {
3549         if (sourceUpdateTimeBuilder_ == null) {
3550           if (value == null) {
3551             throw new NullPointerException();
3552           }
3553           sourceUpdateTime_ = value;
3554         } else {
3555           sourceUpdateTimeBuilder_.setMessage(value);
3556         }
3557         bitField0_ |= 0x00000800;
3558         onChanged();
3559         return this;
3560       }
3561       /**
3562        *
3563        *
3564        * <pre>
3565        * The time this information was last changed at the source. This is an
3566        * upstream timestamp from the underlying information source - e.g. Ubuntu
3567        * security tracker.
3568        * </pre>
3569        *
3570        * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
3571        */
setSourceUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue)3572       public Builder setSourceUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
3573         if (sourceUpdateTimeBuilder_ == null) {
3574           sourceUpdateTime_ = builderForValue.build();
3575         } else {
3576           sourceUpdateTimeBuilder_.setMessage(builderForValue.build());
3577         }
3578         bitField0_ |= 0x00000800;
3579         onChanged();
3580         return this;
3581       }
3582       /**
3583        *
3584        *
3585        * <pre>
3586        * The time this information was last changed at the source. This is an
3587        * upstream timestamp from the underlying information source - e.g. Ubuntu
3588        * security tracker.
3589        * </pre>
3590        *
3591        * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
3592        */
mergeSourceUpdateTime(com.google.protobuf.Timestamp value)3593       public Builder mergeSourceUpdateTime(com.google.protobuf.Timestamp value) {
3594         if (sourceUpdateTimeBuilder_ == null) {
3595           if (((bitField0_ & 0x00000800) != 0)
3596               && sourceUpdateTime_ != null
3597               && sourceUpdateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
3598             getSourceUpdateTimeBuilder().mergeFrom(value);
3599           } else {
3600             sourceUpdateTime_ = value;
3601           }
3602         } else {
3603           sourceUpdateTimeBuilder_.mergeFrom(value);
3604         }
3605         bitField0_ |= 0x00000800;
3606         onChanged();
3607         return this;
3608       }
3609       /**
3610        *
3611        *
3612        * <pre>
3613        * The time this information was last changed at the source. This is an
3614        * upstream timestamp from the underlying information source - e.g. Ubuntu
3615        * security tracker.
3616        * </pre>
3617        *
3618        * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
3619        */
clearSourceUpdateTime()3620       public Builder clearSourceUpdateTime() {
3621         bitField0_ = (bitField0_ & ~0x00000800);
3622         sourceUpdateTime_ = null;
3623         if (sourceUpdateTimeBuilder_ != null) {
3624           sourceUpdateTimeBuilder_.dispose();
3625           sourceUpdateTimeBuilder_ = null;
3626         }
3627         onChanged();
3628         return this;
3629       }
3630       /**
3631        *
3632        *
3633        * <pre>
3634        * The time this information was last changed at the source. This is an
3635        * upstream timestamp from the underlying information source - e.g. Ubuntu
3636        * security tracker.
3637        * </pre>
3638        *
3639        * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
3640        */
getSourceUpdateTimeBuilder()3641       public com.google.protobuf.Timestamp.Builder getSourceUpdateTimeBuilder() {
3642         bitField0_ |= 0x00000800;
3643         onChanged();
3644         return getSourceUpdateTimeFieldBuilder().getBuilder();
3645       }
3646       /**
3647        *
3648        *
3649        * <pre>
3650        * The time this information was last changed at the source. This is an
3651        * upstream timestamp from the underlying information source - e.g. Ubuntu
3652        * security tracker.
3653        * </pre>
3654        *
3655        * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
3656        */
getSourceUpdateTimeOrBuilder()3657       public com.google.protobuf.TimestampOrBuilder getSourceUpdateTimeOrBuilder() {
3658         if (sourceUpdateTimeBuilder_ != null) {
3659           return sourceUpdateTimeBuilder_.getMessageOrBuilder();
3660         } else {
3661           return sourceUpdateTime_ == null
3662               ? com.google.protobuf.Timestamp.getDefaultInstance()
3663               : sourceUpdateTime_;
3664         }
3665       }
3666       /**
3667        *
3668        *
3669        * <pre>
3670        * The time this information was last changed at the source. This is an
3671        * upstream timestamp from the underlying information source - e.g. Ubuntu
3672        * security tracker.
3673        * </pre>
3674        *
3675        * <code>.google.protobuf.Timestamp source_update_time = 12;</code>
3676        */
3677       private com.google.protobuf.SingleFieldBuilderV3<
3678               com.google.protobuf.Timestamp,
3679               com.google.protobuf.Timestamp.Builder,
3680               com.google.protobuf.TimestampOrBuilder>
getSourceUpdateTimeFieldBuilder()3681           getSourceUpdateTimeFieldBuilder() {
3682         if (sourceUpdateTimeBuilder_ == null) {
3683           sourceUpdateTimeBuilder_ =
3684               new com.google.protobuf.SingleFieldBuilderV3<
3685                   com.google.protobuf.Timestamp,
3686                   com.google.protobuf.Timestamp.Builder,
3687                   com.google.protobuf.TimestampOrBuilder>(
3688                   getSourceUpdateTime(), getParentForChildren(), isClean());
3689           sourceUpdateTime_ = null;
3690         }
3691         return sourceUpdateTimeBuilder_;
3692       }
3693 
3694       private java.lang.Object source_ = "";
3695       /**
3696        *
3697        *
3698        * <pre>
3699        * The source from which the information in this Detail was obtained.
3700        * </pre>
3701        *
3702        * <code>string source = 13;</code>
3703        *
3704        * @return The source.
3705        */
getSource()3706       public java.lang.String getSource() {
3707         java.lang.Object ref = source_;
3708         if (!(ref instanceof java.lang.String)) {
3709           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3710           java.lang.String s = bs.toStringUtf8();
3711           source_ = s;
3712           return s;
3713         } else {
3714           return (java.lang.String) ref;
3715         }
3716       }
3717       /**
3718        *
3719        *
3720        * <pre>
3721        * The source from which the information in this Detail was obtained.
3722        * </pre>
3723        *
3724        * <code>string source = 13;</code>
3725        *
3726        * @return The bytes for source.
3727        */
getSourceBytes()3728       public com.google.protobuf.ByteString getSourceBytes() {
3729         java.lang.Object ref = source_;
3730         if (ref instanceof String) {
3731           com.google.protobuf.ByteString b =
3732               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3733           source_ = b;
3734           return b;
3735         } else {
3736           return (com.google.protobuf.ByteString) ref;
3737         }
3738       }
3739       /**
3740        *
3741        *
3742        * <pre>
3743        * The source from which the information in this Detail was obtained.
3744        * </pre>
3745        *
3746        * <code>string source = 13;</code>
3747        *
3748        * @param value The source to set.
3749        * @return This builder for chaining.
3750        */
setSource(java.lang.String value)3751       public Builder setSource(java.lang.String value) {
3752         if (value == null) {
3753           throw new NullPointerException();
3754         }
3755         source_ = value;
3756         bitField0_ |= 0x00001000;
3757         onChanged();
3758         return this;
3759       }
3760       /**
3761        *
3762        *
3763        * <pre>
3764        * The source from which the information in this Detail was obtained.
3765        * </pre>
3766        *
3767        * <code>string source = 13;</code>
3768        *
3769        * @return This builder for chaining.
3770        */
clearSource()3771       public Builder clearSource() {
3772         source_ = getDefaultInstance().getSource();
3773         bitField0_ = (bitField0_ & ~0x00001000);
3774         onChanged();
3775         return this;
3776       }
3777       /**
3778        *
3779        *
3780        * <pre>
3781        * The source from which the information in this Detail was obtained.
3782        * </pre>
3783        *
3784        * <code>string source = 13;</code>
3785        *
3786        * @param value The bytes for source to set.
3787        * @return This builder for chaining.
3788        */
setSourceBytes(com.google.protobuf.ByteString value)3789       public Builder setSourceBytes(com.google.protobuf.ByteString value) {
3790         if (value == null) {
3791           throw new NullPointerException();
3792         }
3793         checkByteStringIsUtf8(value);
3794         source_ = value;
3795         bitField0_ |= 0x00001000;
3796         onChanged();
3797         return this;
3798       }
3799 
3800       private java.lang.Object vendor_ = "";
3801       /**
3802        *
3803        *
3804        * <pre>
3805        * The name of the vendor of the product.
3806        * </pre>
3807        *
3808        * <code>string vendor = 14;</code>
3809        *
3810        * @return The vendor.
3811        */
getVendor()3812       public java.lang.String getVendor() {
3813         java.lang.Object ref = vendor_;
3814         if (!(ref instanceof java.lang.String)) {
3815           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3816           java.lang.String s = bs.toStringUtf8();
3817           vendor_ = s;
3818           return s;
3819         } else {
3820           return (java.lang.String) ref;
3821         }
3822       }
3823       /**
3824        *
3825        *
3826        * <pre>
3827        * The name of the vendor of the product.
3828        * </pre>
3829        *
3830        * <code>string vendor = 14;</code>
3831        *
3832        * @return The bytes for vendor.
3833        */
getVendorBytes()3834       public com.google.protobuf.ByteString getVendorBytes() {
3835         java.lang.Object ref = vendor_;
3836         if (ref instanceof String) {
3837           com.google.protobuf.ByteString b =
3838               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3839           vendor_ = b;
3840           return b;
3841         } else {
3842           return (com.google.protobuf.ByteString) ref;
3843         }
3844       }
3845       /**
3846        *
3847        *
3848        * <pre>
3849        * The name of the vendor of the product.
3850        * </pre>
3851        *
3852        * <code>string vendor = 14;</code>
3853        *
3854        * @param value The vendor to set.
3855        * @return This builder for chaining.
3856        */
setVendor(java.lang.String value)3857       public Builder setVendor(java.lang.String value) {
3858         if (value == null) {
3859           throw new NullPointerException();
3860         }
3861         vendor_ = value;
3862         bitField0_ |= 0x00002000;
3863         onChanged();
3864         return this;
3865       }
3866       /**
3867        *
3868        *
3869        * <pre>
3870        * The name of the vendor of the product.
3871        * </pre>
3872        *
3873        * <code>string vendor = 14;</code>
3874        *
3875        * @return This builder for chaining.
3876        */
clearVendor()3877       public Builder clearVendor() {
3878         vendor_ = getDefaultInstance().getVendor();
3879         bitField0_ = (bitField0_ & ~0x00002000);
3880         onChanged();
3881         return this;
3882       }
3883       /**
3884        *
3885        *
3886        * <pre>
3887        * The name of the vendor of the product.
3888        * </pre>
3889        *
3890        * <code>string vendor = 14;</code>
3891        *
3892        * @param value The bytes for vendor to set.
3893        * @return This builder for chaining.
3894        */
setVendorBytes(com.google.protobuf.ByteString value)3895       public Builder setVendorBytes(com.google.protobuf.ByteString value) {
3896         if (value == null) {
3897           throw new NullPointerException();
3898         }
3899         checkByteStringIsUtf8(value);
3900         vendor_ = value;
3901         bitField0_ |= 0x00002000;
3902         onChanged();
3903         return this;
3904       }
3905 
3906       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)3907       public final Builder setUnknownFields(
3908           final com.google.protobuf.UnknownFieldSet unknownFields) {
3909         return super.setUnknownFields(unknownFields);
3910       }
3911 
3912       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)3913       public final Builder mergeUnknownFields(
3914           final com.google.protobuf.UnknownFieldSet unknownFields) {
3915         return super.mergeUnknownFields(unknownFields);
3916       }
3917 
3918       // @@protoc_insertion_point(builder_scope:grafeas.v1.VulnerabilityNote.Detail)
3919     }
3920 
3921     // @@protoc_insertion_point(class_scope:grafeas.v1.VulnerabilityNote.Detail)
3922     private static final io.grafeas.v1.VulnerabilityNote.Detail DEFAULT_INSTANCE;
3923 
3924     static {
3925       DEFAULT_INSTANCE = new io.grafeas.v1.VulnerabilityNote.Detail();
3926     }
3927 
getDefaultInstance()3928     public static io.grafeas.v1.VulnerabilityNote.Detail getDefaultInstance() {
3929       return DEFAULT_INSTANCE;
3930     }
3931 
3932     private static final com.google.protobuf.Parser<Detail> PARSER =
3933         new com.google.protobuf.AbstractParser<Detail>() {
3934           @java.lang.Override
3935           public Detail parsePartialFrom(
3936               com.google.protobuf.CodedInputStream input,
3937               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3938               throws com.google.protobuf.InvalidProtocolBufferException {
3939             Builder builder = newBuilder();
3940             try {
3941               builder.mergeFrom(input, extensionRegistry);
3942             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3943               throw e.setUnfinishedMessage(builder.buildPartial());
3944             } catch (com.google.protobuf.UninitializedMessageException e) {
3945               throw e.asInvalidProtocolBufferException()
3946                   .setUnfinishedMessage(builder.buildPartial());
3947             } catch (java.io.IOException e) {
3948               throw new com.google.protobuf.InvalidProtocolBufferException(e)
3949                   .setUnfinishedMessage(builder.buildPartial());
3950             }
3951             return builder.buildPartial();
3952           }
3953         };
3954 
parser()3955     public static com.google.protobuf.Parser<Detail> parser() {
3956       return PARSER;
3957     }
3958 
3959     @java.lang.Override
getParserForType()3960     public com.google.protobuf.Parser<Detail> getParserForType() {
3961       return PARSER;
3962     }
3963 
3964     @java.lang.Override
getDefaultInstanceForType()3965     public io.grafeas.v1.VulnerabilityNote.Detail getDefaultInstanceForType() {
3966       return DEFAULT_INSTANCE;
3967     }
3968   }
3969 
3970   public interface WindowsDetailOrBuilder
3971       extends
3972       // @@protoc_insertion_point(interface_extends:grafeas.v1.VulnerabilityNote.WindowsDetail)
3973       com.google.protobuf.MessageOrBuilder {
3974 
3975     /**
3976      *
3977      *
3978      * <pre>
3979      * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
3980      * vulnerability affects.
3981      * </pre>
3982      *
3983      * <code>string cpe_uri = 1;</code>
3984      *
3985      * @return The cpeUri.
3986      */
getCpeUri()3987     java.lang.String getCpeUri();
3988     /**
3989      *
3990      *
3991      * <pre>
3992      * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
3993      * vulnerability affects.
3994      * </pre>
3995      *
3996      * <code>string cpe_uri = 1;</code>
3997      *
3998      * @return The bytes for cpeUri.
3999      */
getCpeUriBytes()4000     com.google.protobuf.ByteString getCpeUriBytes();
4001 
4002     /**
4003      *
4004      *
4005      * <pre>
4006      * Required. The name of this vulnerability.
4007      * </pre>
4008      *
4009      * <code>string name = 2;</code>
4010      *
4011      * @return The name.
4012      */
getName()4013     java.lang.String getName();
4014     /**
4015      *
4016      *
4017      * <pre>
4018      * Required. The name of this vulnerability.
4019      * </pre>
4020      *
4021      * <code>string name = 2;</code>
4022      *
4023      * @return The bytes for name.
4024      */
getNameBytes()4025     com.google.protobuf.ByteString getNameBytes();
4026 
4027     /**
4028      *
4029      *
4030      * <pre>
4031      * The description of this vulnerability.
4032      * </pre>
4033      *
4034      * <code>string description = 3;</code>
4035      *
4036      * @return The description.
4037      */
getDescription()4038     java.lang.String getDescription();
4039     /**
4040      *
4041      *
4042      * <pre>
4043      * The description of this vulnerability.
4044      * </pre>
4045      *
4046      * <code>string description = 3;</code>
4047      *
4048      * @return The bytes for description.
4049      */
getDescriptionBytes()4050     com.google.protobuf.ByteString getDescriptionBytes();
4051 
4052     /**
4053      *
4054      *
4055      * <pre>
4056      * Required. The names of the KBs which have hotfixes to mitigate this
4057      * vulnerability. Note that there may be multiple hotfixes (and thus
4058      * multiple KBs) that mitigate a given vulnerability. Currently any listed
4059      * KBs presence is considered a fix.
4060      * </pre>
4061      *
4062      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
4063      * </code>
4064      */
getFixingKbsList()4065     java.util.List<io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase> getFixingKbsList();
4066     /**
4067      *
4068      *
4069      * <pre>
4070      * Required. The names of the KBs which have hotfixes to mitigate this
4071      * vulnerability. Note that there may be multiple hotfixes (and thus
4072      * multiple KBs) that mitigate a given vulnerability. Currently any listed
4073      * KBs presence is considered a fix.
4074      * </pre>
4075      *
4076      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
4077      * </code>
4078      */
getFixingKbs(int index)4079     io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase getFixingKbs(int index);
4080     /**
4081      *
4082      *
4083      * <pre>
4084      * Required. The names of the KBs which have hotfixes to mitigate this
4085      * vulnerability. Note that there may be multiple hotfixes (and thus
4086      * multiple KBs) that mitigate a given vulnerability. Currently any listed
4087      * KBs presence is considered a fix.
4088      * </pre>
4089      *
4090      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
4091      * </code>
4092      */
getFixingKbsCount()4093     int getFixingKbsCount();
4094     /**
4095      *
4096      *
4097      * <pre>
4098      * Required. The names of the KBs which have hotfixes to mitigate this
4099      * vulnerability. Note that there may be multiple hotfixes (and thus
4100      * multiple KBs) that mitigate a given vulnerability. Currently any listed
4101      * KBs presence is considered a fix.
4102      * </pre>
4103      *
4104      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
4105      * </code>
4106      */
4107     java.util.List<? extends io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBaseOrBuilder>
getFixingKbsOrBuilderList()4108         getFixingKbsOrBuilderList();
4109     /**
4110      *
4111      *
4112      * <pre>
4113      * Required. The names of the KBs which have hotfixes to mitigate this
4114      * vulnerability. Note that there may be multiple hotfixes (and thus
4115      * multiple KBs) that mitigate a given vulnerability. Currently any listed
4116      * KBs presence is considered a fix.
4117      * </pre>
4118      *
4119      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
4120      * </code>
4121      */
getFixingKbsOrBuilder( int index)4122     io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBaseOrBuilder getFixingKbsOrBuilder(
4123         int index);
4124   }
4125   /** Protobuf type {@code grafeas.v1.VulnerabilityNote.WindowsDetail} */
4126   public static final class WindowsDetail extends com.google.protobuf.GeneratedMessageV3
4127       implements
4128       // @@protoc_insertion_point(message_implements:grafeas.v1.VulnerabilityNote.WindowsDetail)
4129       WindowsDetailOrBuilder {
4130     private static final long serialVersionUID = 0L;
4131     // Use WindowsDetail.newBuilder() to construct.
WindowsDetail(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)4132     private WindowsDetail(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
4133       super(builder);
4134     }
4135 
WindowsDetail()4136     private WindowsDetail() {
4137       cpeUri_ = "";
4138       name_ = "";
4139       description_ = "";
4140       fixingKbs_ = java.util.Collections.emptyList();
4141     }
4142 
4143     @java.lang.Override
4144     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)4145     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
4146       return new WindowsDetail();
4147     }
4148 
4149     @java.lang.Override
getUnknownFields()4150     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
4151       return this.unknownFields;
4152     }
4153 
getDescriptor()4154     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
4155       return io.grafeas.v1.Vulnerability
4156           .internal_static_grafeas_v1_VulnerabilityNote_WindowsDetail_descriptor;
4157     }
4158 
4159     @java.lang.Override
4160     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()4161         internalGetFieldAccessorTable() {
4162       return io.grafeas.v1.Vulnerability
4163           .internal_static_grafeas_v1_VulnerabilityNote_WindowsDetail_fieldAccessorTable
4164           .ensureFieldAccessorsInitialized(
4165               io.grafeas.v1.VulnerabilityNote.WindowsDetail.class,
4166               io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder.class);
4167     }
4168 
4169     public interface KnowledgeBaseOrBuilder
4170         extends
4171         // @@protoc_insertion_point(interface_extends:grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase)
4172         com.google.protobuf.MessageOrBuilder {
4173 
4174       /**
4175        *
4176        *
4177        * <pre>
4178        * The KB name (generally of the form KB[0-9]+ (e.g., KB123456)).
4179        * </pre>
4180        *
4181        * <code>string name = 1;</code>
4182        *
4183        * @return The name.
4184        */
getName()4185       java.lang.String getName();
4186       /**
4187        *
4188        *
4189        * <pre>
4190        * The KB name (generally of the form KB[0-9]+ (e.g., KB123456)).
4191        * </pre>
4192        *
4193        * <code>string name = 1;</code>
4194        *
4195        * @return The bytes for name.
4196        */
getNameBytes()4197       com.google.protobuf.ByteString getNameBytes();
4198 
4199       /**
4200        *
4201        *
4202        * <pre>
4203        * A link to the KB in the [Windows update catalog]
4204        * (https://www.catalog.update.microsoft.com/).
4205        * </pre>
4206        *
4207        * <code>string url = 2;</code>
4208        *
4209        * @return The url.
4210        */
getUrl()4211       java.lang.String getUrl();
4212       /**
4213        *
4214        *
4215        * <pre>
4216        * A link to the KB in the [Windows update catalog]
4217        * (https://www.catalog.update.microsoft.com/).
4218        * </pre>
4219        *
4220        * <code>string url = 2;</code>
4221        *
4222        * @return The bytes for url.
4223        */
getUrlBytes()4224       com.google.protobuf.ByteString getUrlBytes();
4225     }
4226     /** Protobuf type {@code grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase} */
4227     public static final class KnowledgeBase extends com.google.protobuf.GeneratedMessageV3
4228         implements
4229         // @@protoc_insertion_point(message_implements:grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase)
4230         KnowledgeBaseOrBuilder {
4231       private static final long serialVersionUID = 0L;
4232       // Use KnowledgeBase.newBuilder() to construct.
KnowledgeBase(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)4233       private KnowledgeBase(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
4234         super(builder);
4235       }
4236 
KnowledgeBase()4237       private KnowledgeBase() {
4238         name_ = "";
4239         url_ = "";
4240       }
4241 
4242       @java.lang.Override
4243       @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)4244       protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
4245         return new KnowledgeBase();
4246       }
4247 
4248       @java.lang.Override
getUnknownFields()4249       public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
4250         return this.unknownFields;
4251       }
4252 
getDescriptor()4253       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
4254         return io.grafeas.v1.Vulnerability
4255             .internal_static_grafeas_v1_VulnerabilityNote_WindowsDetail_KnowledgeBase_descriptor;
4256       }
4257 
4258       @java.lang.Override
4259       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()4260           internalGetFieldAccessorTable() {
4261         return io.grafeas.v1.Vulnerability
4262             .internal_static_grafeas_v1_VulnerabilityNote_WindowsDetail_KnowledgeBase_fieldAccessorTable
4263             .ensureFieldAccessorsInitialized(
4264                 io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.class,
4265                 io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder.class);
4266       }
4267 
4268       public static final int NAME_FIELD_NUMBER = 1;
4269 
4270       @SuppressWarnings("serial")
4271       private volatile java.lang.Object name_ = "";
4272       /**
4273        *
4274        *
4275        * <pre>
4276        * The KB name (generally of the form KB[0-9]+ (e.g., KB123456)).
4277        * </pre>
4278        *
4279        * <code>string name = 1;</code>
4280        *
4281        * @return The name.
4282        */
4283       @java.lang.Override
getName()4284       public java.lang.String getName() {
4285         java.lang.Object ref = name_;
4286         if (ref instanceof java.lang.String) {
4287           return (java.lang.String) ref;
4288         } else {
4289           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4290           java.lang.String s = bs.toStringUtf8();
4291           name_ = s;
4292           return s;
4293         }
4294       }
4295       /**
4296        *
4297        *
4298        * <pre>
4299        * The KB name (generally of the form KB[0-9]+ (e.g., KB123456)).
4300        * </pre>
4301        *
4302        * <code>string name = 1;</code>
4303        *
4304        * @return The bytes for name.
4305        */
4306       @java.lang.Override
getNameBytes()4307       public com.google.protobuf.ByteString getNameBytes() {
4308         java.lang.Object ref = name_;
4309         if (ref instanceof java.lang.String) {
4310           com.google.protobuf.ByteString b =
4311               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4312           name_ = b;
4313           return b;
4314         } else {
4315           return (com.google.protobuf.ByteString) ref;
4316         }
4317       }
4318 
4319       public static final int URL_FIELD_NUMBER = 2;
4320 
4321       @SuppressWarnings("serial")
4322       private volatile java.lang.Object url_ = "";
4323       /**
4324        *
4325        *
4326        * <pre>
4327        * A link to the KB in the [Windows update catalog]
4328        * (https://www.catalog.update.microsoft.com/).
4329        * </pre>
4330        *
4331        * <code>string url = 2;</code>
4332        *
4333        * @return The url.
4334        */
4335       @java.lang.Override
getUrl()4336       public java.lang.String getUrl() {
4337         java.lang.Object ref = url_;
4338         if (ref instanceof java.lang.String) {
4339           return (java.lang.String) ref;
4340         } else {
4341           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4342           java.lang.String s = bs.toStringUtf8();
4343           url_ = s;
4344           return s;
4345         }
4346       }
4347       /**
4348        *
4349        *
4350        * <pre>
4351        * A link to the KB in the [Windows update catalog]
4352        * (https://www.catalog.update.microsoft.com/).
4353        * </pre>
4354        *
4355        * <code>string url = 2;</code>
4356        *
4357        * @return The bytes for url.
4358        */
4359       @java.lang.Override
getUrlBytes()4360       public com.google.protobuf.ByteString getUrlBytes() {
4361         java.lang.Object ref = url_;
4362         if (ref instanceof java.lang.String) {
4363           com.google.protobuf.ByteString b =
4364               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4365           url_ = b;
4366           return b;
4367         } else {
4368           return (com.google.protobuf.ByteString) ref;
4369         }
4370       }
4371 
4372       private byte memoizedIsInitialized = -1;
4373 
4374       @java.lang.Override
isInitialized()4375       public final boolean isInitialized() {
4376         byte isInitialized = memoizedIsInitialized;
4377         if (isInitialized == 1) return true;
4378         if (isInitialized == 0) return false;
4379 
4380         memoizedIsInitialized = 1;
4381         return true;
4382       }
4383 
4384       @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)4385       public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
4386         if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
4387           com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
4388         }
4389         if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(url_)) {
4390           com.google.protobuf.GeneratedMessageV3.writeString(output, 2, url_);
4391         }
4392         getUnknownFields().writeTo(output);
4393       }
4394 
4395       @java.lang.Override
getSerializedSize()4396       public int getSerializedSize() {
4397         int size = memoizedSize;
4398         if (size != -1) return size;
4399 
4400         size = 0;
4401         if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
4402           size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
4403         }
4404         if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(url_)) {
4405           size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, url_);
4406         }
4407         size += getUnknownFields().getSerializedSize();
4408         memoizedSize = size;
4409         return size;
4410       }
4411 
4412       @java.lang.Override
equals(final java.lang.Object obj)4413       public boolean equals(final java.lang.Object obj) {
4414         if (obj == this) {
4415           return true;
4416         }
4417         if (!(obj instanceof io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase)) {
4418           return super.equals(obj);
4419         }
4420         io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase other =
4421             (io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase) obj;
4422 
4423         if (!getName().equals(other.getName())) return false;
4424         if (!getUrl().equals(other.getUrl())) return false;
4425         if (!getUnknownFields().equals(other.getUnknownFields())) return false;
4426         return true;
4427       }
4428 
4429       @java.lang.Override
hashCode()4430       public int hashCode() {
4431         if (memoizedHashCode != 0) {
4432           return memoizedHashCode;
4433         }
4434         int hash = 41;
4435         hash = (19 * hash) + getDescriptor().hashCode();
4436         hash = (37 * hash) + NAME_FIELD_NUMBER;
4437         hash = (53 * hash) + getName().hashCode();
4438         hash = (37 * hash) + URL_FIELD_NUMBER;
4439         hash = (53 * hash) + getUrl().hashCode();
4440         hash = (29 * hash) + getUnknownFields().hashCode();
4441         memoizedHashCode = hash;
4442         return hash;
4443       }
4444 
parseFrom( java.nio.ByteBuffer data)4445       public static io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase parseFrom(
4446           java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
4447         return PARSER.parseFrom(data);
4448       }
4449 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4450       public static io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase parseFrom(
4451           java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4452           throws com.google.protobuf.InvalidProtocolBufferException {
4453         return PARSER.parseFrom(data, extensionRegistry);
4454       }
4455 
parseFrom( com.google.protobuf.ByteString data)4456       public static io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase parseFrom(
4457           com.google.protobuf.ByteString data)
4458           throws com.google.protobuf.InvalidProtocolBufferException {
4459         return PARSER.parseFrom(data);
4460       }
4461 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4462       public static io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase parseFrom(
4463           com.google.protobuf.ByteString data,
4464           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4465           throws com.google.protobuf.InvalidProtocolBufferException {
4466         return PARSER.parseFrom(data, extensionRegistry);
4467       }
4468 
parseFrom( byte[] data)4469       public static io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase parseFrom(
4470           byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
4471         return PARSER.parseFrom(data);
4472       }
4473 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4474       public static io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase parseFrom(
4475           byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4476           throws com.google.protobuf.InvalidProtocolBufferException {
4477         return PARSER.parseFrom(data, extensionRegistry);
4478       }
4479 
parseFrom( java.io.InputStream input)4480       public static io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase parseFrom(
4481           java.io.InputStream input) throws java.io.IOException {
4482         return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
4483       }
4484 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4485       public static io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase parseFrom(
4486           java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4487           throws java.io.IOException {
4488         return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
4489             PARSER, input, extensionRegistry);
4490       }
4491 
parseDelimitedFrom( java.io.InputStream input)4492       public static io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase parseDelimitedFrom(
4493           java.io.InputStream input) throws java.io.IOException {
4494         return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
4495       }
4496 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4497       public static io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase parseDelimitedFrom(
4498           java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4499           throws java.io.IOException {
4500         return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
4501             PARSER, input, extensionRegistry);
4502       }
4503 
parseFrom( com.google.protobuf.CodedInputStream input)4504       public static io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase parseFrom(
4505           com.google.protobuf.CodedInputStream input) throws java.io.IOException {
4506         return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
4507       }
4508 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4509       public static io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase parseFrom(
4510           com.google.protobuf.CodedInputStream input,
4511           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4512           throws java.io.IOException {
4513         return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
4514             PARSER, input, extensionRegistry);
4515       }
4516 
4517       @java.lang.Override
newBuilderForType()4518       public Builder newBuilderForType() {
4519         return newBuilder();
4520       }
4521 
newBuilder()4522       public static Builder newBuilder() {
4523         return DEFAULT_INSTANCE.toBuilder();
4524       }
4525 
newBuilder( io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase prototype)4526       public static Builder newBuilder(
4527           io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase prototype) {
4528         return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
4529       }
4530 
4531       @java.lang.Override
toBuilder()4532       public Builder toBuilder() {
4533         return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
4534       }
4535 
4536       @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)4537       protected Builder newBuilderForType(
4538           com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
4539         Builder builder = new Builder(parent);
4540         return builder;
4541       }
4542       /** Protobuf type {@code grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase} */
4543       public static final class Builder
4544           extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
4545           implements
4546           // @@protoc_insertion_point(builder_implements:grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase)
4547           io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBaseOrBuilder {
getDescriptor()4548         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
4549           return io.grafeas.v1.Vulnerability
4550               .internal_static_grafeas_v1_VulnerabilityNote_WindowsDetail_KnowledgeBase_descriptor;
4551         }
4552 
4553         @java.lang.Override
4554         protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()4555             internalGetFieldAccessorTable() {
4556           return io.grafeas.v1.Vulnerability
4557               .internal_static_grafeas_v1_VulnerabilityNote_WindowsDetail_KnowledgeBase_fieldAccessorTable
4558               .ensureFieldAccessorsInitialized(
4559                   io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.class,
4560                   io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder.class);
4561         }
4562 
4563         // Construct using io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.newBuilder()
Builder()4564         private Builder() {}
4565 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)4566         private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
4567           super(parent);
4568         }
4569 
4570         @java.lang.Override
clear()4571         public Builder clear() {
4572           super.clear();
4573           bitField0_ = 0;
4574           name_ = "";
4575           url_ = "";
4576           return this;
4577         }
4578 
4579         @java.lang.Override
getDescriptorForType()4580         public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
4581           return io.grafeas.v1.Vulnerability
4582               .internal_static_grafeas_v1_VulnerabilityNote_WindowsDetail_KnowledgeBase_descriptor;
4583         }
4584 
4585         @java.lang.Override
4586         public io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase
getDefaultInstanceForType()4587             getDefaultInstanceForType() {
4588           return io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.getDefaultInstance();
4589         }
4590 
4591         @java.lang.Override
build()4592         public io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase build() {
4593           io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase result = buildPartial();
4594           if (!result.isInitialized()) {
4595             throw newUninitializedMessageException(result);
4596           }
4597           return result;
4598         }
4599 
4600         @java.lang.Override
buildPartial()4601         public io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase buildPartial() {
4602           io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase result =
4603               new io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase(this);
4604           if (bitField0_ != 0) {
4605             buildPartial0(result);
4606           }
4607           onBuilt();
4608           return result;
4609         }
4610 
buildPartial0( io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase result)4611         private void buildPartial0(
4612             io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase result) {
4613           int from_bitField0_ = bitField0_;
4614           if (((from_bitField0_ & 0x00000001) != 0)) {
4615             result.name_ = name_;
4616           }
4617           if (((from_bitField0_ & 0x00000002) != 0)) {
4618             result.url_ = url_;
4619           }
4620         }
4621 
4622         @java.lang.Override
clone()4623         public Builder clone() {
4624           return super.clone();
4625         }
4626 
4627         @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)4628         public Builder setField(
4629             com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
4630           return super.setField(field, value);
4631         }
4632 
4633         @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)4634         public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
4635           return super.clearField(field);
4636         }
4637 
4638         @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)4639         public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
4640           return super.clearOneof(oneof);
4641         }
4642 
4643         @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)4644         public Builder setRepeatedField(
4645             com.google.protobuf.Descriptors.FieldDescriptor field,
4646             int index,
4647             java.lang.Object value) {
4648           return super.setRepeatedField(field, index, value);
4649         }
4650 
4651         @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)4652         public Builder addRepeatedField(
4653             com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
4654           return super.addRepeatedField(field, value);
4655         }
4656 
4657         @java.lang.Override
mergeFrom(com.google.protobuf.Message other)4658         public Builder mergeFrom(com.google.protobuf.Message other) {
4659           if (other instanceof io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase) {
4660             return mergeFrom((io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase) other);
4661           } else {
4662             super.mergeFrom(other);
4663             return this;
4664           }
4665         }
4666 
mergeFrom( io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase other)4667         public Builder mergeFrom(
4668             io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase other) {
4669           if (other
4670               == io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.getDefaultInstance())
4671             return this;
4672           if (!other.getName().isEmpty()) {
4673             name_ = other.name_;
4674             bitField0_ |= 0x00000001;
4675             onChanged();
4676           }
4677           if (!other.getUrl().isEmpty()) {
4678             url_ = other.url_;
4679             bitField0_ |= 0x00000002;
4680             onChanged();
4681           }
4682           this.mergeUnknownFields(other.getUnknownFields());
4683           onChanged();
4684           return this;
4685         }
4686 
4687         @java.lang.Override
isInitialized()4688         public final boolean isInitialized() {
4689           return true;
4690         }
4691 
4692         @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4693         public Builder mergeFrom(
4694             com.google.protobuf.CodedInputStream input,
4695             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4696             throws java.io.IOException {
4697           if (extensionRegistry == null) {
4698             throw new java.lang.NullPointerException();
4699           }
4700           try {
4701             boolean done = false;
4702             while (!done) {
4703               int tag = input.readTag();
4704               switch (tag) {
4705                 case 0:
4706                   done = true;
4707                   break;
4708                 case 10:
4709                   {
4710                     name_ = input.readStringRequireUtf8();
4711                     bitField0_ |= 0x00000001;
4712                     break;
4713                   } // case 10
4714                 case 18:
4715                   {
4716                     url_ = input.readStringRequireUtf8();
4717                     bitField0_ |= 0x00000002;
4718                     break;
4719                   } // case 18
4720                 default:
4721                   {
4722                     if (!super.parseUnknownField(input, extensionRegistry, tag)) {
4723                       done = true; // was an endgroup tag
4724                     }
4725                     break;
4726                   } // default:
4727               } // switch (tag)
4728             } // while (!done)
4729           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4730             throw e.unwrapIOException();
4731           } finally {
4732             onChanged();
4733           } // finally
4734           return this;
4735         }
4736 
4737         private int bitField0_;
4738 
4739         private java.lang.Object name_ = "";
4740         /**
4741          *
4742          *
4743          * <pre>
4744          * The KB name (generally of the form KB[0-9]+ (e.g., KB123456)).
4745          * </pre>
4746          *
4747          * <code>string name = 1;</code>
4748          *
4749          * @return The name.
4750          */
getName()4751         public java.lang.String getName() {
4752           java.lang.Object ref = name_;
4753           if (!(ref instanceof java.lang.String)) {
4754             com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4755             java.lang.String s = bs.toStringUtf8();
4756             name_ = s;
4757             return s;
4758           } else {
4759             return (java.lang.String) ref;
4760           }
4761         }
4762         /**
4763          *
4764          *
4765          * <pre>
4766          * The KB name (generally of the form KB[0-9]+ (e.g., KB123456)).
4767          * </pre>
4768          *
4769          * <code>string name = 1;</code>
4770          *
4771          * @return The bytes for name.
4772          */
getNameBytes()4773         public com.google.protobuf.ByteString getNameBytes() {
4774           java.lang.Object ref = name_;
4775           if (ref instanceof String) {
4776             com.google.protobuf.ByteString b =
4777                 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4778             name_ = b;
4779             return b;
4780           } else {
4781             return (com.google.protobuf.ByteString) ref;
4782           }
4783         }
4784         /**
4785          *
4786          *
4787          * <pre>
4788          * The KB name (generally of the form KB[0-9]+ (e.g., KB123456)).
4789          * </pre>
4790          *
4791          * <code>string name = 1;</code>
4792          *
4793          * @param value The name to set.
4794          * @return This builder for chaining.
4795          */
setName(java.lang.String value)4796         public Builder setName(java.lang.String value) {
4797           if (value == null) {
4798             throw new NullPointerException();
4799           }
4800           name_ = value;
4801           bitField0_ |= 0x00000001;
4802           onChanged();
4803           return this;
4804         }
4805         /**
4806          *
4807          *
4808          * <pre>
4809          * The KB name (generally of the form KB[0-9]+ (e.g., KB123456)).
4810          * </pre>
4811          *
4812          * <code>string name = 1;</code>
4813          *
4814          * @return This builder for chaining.
4815          */
clearName()4816         public Builder clearName() {
4817           name_ = getDefaultInstance().getName();
4818           bitField0_ = (bitField0_ & ~0x00000001);
4819           onChanged();
4820           return this;
4821         }
4822         /**
4823          *
4824          *
4825          * <pre>
4826          * The KB name (generally of the form KB[0-9]+ (e.g., KB123456)).
4827          * </pre>
4828          *
4829          * <code>string name = 1;</code>
4830          *
4831          * @param value The bytes for name to set.
4832          * @return This builder for chaining.
4833          */
setNameBytes(com.google.protobuf.ByteString value)4834         public Builder setNameBytes(com.google.protobuf.ByteString value) {
4835           if (value == null) {
4836             throw new NullPointerException();
4837           }
4838           checkByteStringIsUtf8(value);
4839           name_ = value;
4840           bitField0_ |= 0x00000001;
4841           onChanged();
4842           return this;
4843         }
4844 
4845         private java.lang.Object url_ = "";
4846         /**
4847          *
4848          *
4849          * <pre>
4850          * A link to the KB in the [Windows update catalog]
4851          * (https://www.catalog.update.microsoft.com/).
4852          * </pre>
4853          *
4854          * <code>string url = 2;</code>
4855          *
4856          * @return The url.
4857          */
getUrl()4858         public java.lang.String getUrl() {
4859           java.lang.Object ref = url_;
4860           if (!(ref instanceof java.lang.String)) {
4861             com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4862             java.lang.String s = bs.toStringUtf8();
4863             url_ = s;
4864             return s;
4865           } else {
4866             return (java.lang.String) ref;
4867           }
4868         }
4869         /**
4870          *
4871          *
4872          * <pre>
4873          * A link to the KB in the [Windows update catalog]
4874          * (https://www.catalog.update.microsoft.com/).
4875          * </pre>
4876          *
4877          * <code>string url = 2;</code>
4878          *
4879          * @return The bytes for url.
4880          */
getUrlBytes()4881         public com.google.protobuf.ByteString getUrlBytes() {
4882           java.lang.Object ref = url_;
4883           if (ref instanceof String) {
4884             com.google.protobuf.ByteString b =
4885                 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4886             url_ = b;
4887             return b;
4888           } else {
4889             return (com.google.protobuf.ByteString) ref;
4890           }
4891         }
4892         /**
4893          *
4894          *
4895          * <pre>
4896          * A link to the KB in the [Windows update catalog]
4897          * (https://www.catalog.update.microsoft.com/).
4898          * </pre>
4899          *
4900          * <code>string url = 2;</code>
4901          *
4902          * @param value The url to set.
4903          * @return This builder for chaining.
4904          */
setUrl(java.lang.String value)4905         public Builder setUrl(java.lang.String value) {
4906           if (value == null) {
4907             throw new NullPointerException();
4908           }
4909           url_ = value;
4910           bitField0_ |= 0x00000002;
4911           onChanged();
4912           return this;
4913         }
4914         /**
4915          *
4916          *
4917          * <pre>
4918          * A link to the KB in the [Windows update catalog]
4919          * (https://www.catalog.update.microsoft.com/).
4920          * </pre>
4921          *
4922          * <code>string url = 2;</code>
4923          *
4924          * @return This builder for chaining.
4925          */
clearUrl()4926         public Builder clearUrl() {
4927           url_ = getDefaultInstance().getUrl();
4928           bitField0_ = (bitField0_ & ~0x00000002);
4929           onChanged();
4930           return this;
4931         }
4932         /**
4933          *
4934          *
4935          * <pre>
4936          * A link to the KB in the [Windows update catalog]
4937          * (https://www.catalog.update.microsoft.com/).
4938          * </pre>
4939          *
4940          * <code>string url = 2;</code>
4941          *
4942          * @param value The bytes for url to set.
4943          * @return This builder for chaining.
4944          */
setUrlBytes(com.google.protobuf.ByteString value)4945         public Builder setUrlBytes(com.google.protobuf.ByteString value) {
4946           if (value == null) {
4947             throw new NullPointerException();
4948           }
4949           checkByteStringIsUtf8(value);
4950           url_ = value;
4951           bitField0_ |= 0x00000002;
4952           onChanged();
4953           return this;
4954         }
4955 
4956         @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)4957         public final Builder setUnknownFields(
4958             final com.google.protobuf.UnknownFieldSet unknownFields) {
4959           return super.setUnknownFields(unknownFields);
4960         }
4961 
4962         @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)4963         public final Builder mergeUnknownFields(
4964             final com.google.protobuf.UnknownFieldSet unknownFields) {
4965           return super.mergeUnknownFields(unknownFields);
4966         }
4967 
4968         // @@protoc_insertion_point(builder_scope:grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase)
4969       }
4970 
4971       // @@protoc_insertion_point(class_scope:grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase)
4972       private static final io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase
4973           DEFAULT_INSTANCE;
4974 
4975       static {
4976         DEFAULT_INSTANCE = new io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase();
4977       }
4978 
4979       public static io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase
getDefaultInstance()4980           getDefaultInstance() {
4981         return DEFAULT_INSTANCE;
4982       }
4983 
4984       private static final com.google.protobuf.Parser<KnowledgeBase> PARSER =
4985           new com.google.protobuf.AbstractParser<KnowledgeBase>() {
4986             @java.lang.Override
4987             public KnowledgeBase parsePartialFrom(
4988                 com.google.protobuf.CodedInputStream input,
4989                 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4990                 throws com.google.protobuf.InvalidProtocolBufferException {
4991               Builder builder = newBuilder();
4992               try {
4993                 builder.mergeFrom(input, extensionRegistry);
4994               } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4995                 throw e.setUnfinishedMessage(builder.buildPartial());
4996               } catch (com.google.protobuf.UninitializedMessageException e) {
4997                 throw e.asInvalidProtocolBufferException()
4998                     .setUnfinishedMessage(builder.buildPartial());
4999               } catch (java.io.IOException e) {
5000                 throw new com.google.protobuf.InvalidProtocolBufferException(e)
5001                     .setUnfinishedMessage(builder.buildPartial());
5002               }
5003               return builder.buildPartial();
5004             }
5005           };
5006 
parser()5007       public static com.google.protobuf.Parser<KnowledgeBase> parser() {
5008         return PARSER;
5009       }
5010 
5011       @java.lang.Override
getParserForType()5012       public com.google.protobuf.Parser<KnowledgeBase> getParserForType() {
5013         return PARSER;
5014       }
5015 
5016       @java.lang.Override
5017       public io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase
getDefaultInstanceForType()5018           getDefaultInstanceForType() {
5019         return DEFAULT_INSTANCE;
5020       }
5021     }
5022 
5023     public static final int CPE_URI_FIELD_NUMBER = 1;
5024 
5025     @SuppressWarnings("serial")
5026     private volatile java.lang.Object cpeUri_ = "";
5027     /**
5028      *
5029      *
5030      * <pre>
5031      * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
5032      * vulnerability affects.
5033      * </pre>
5034      *
5035      * <code>string cpe_uri = 1;</code>
5036      *
5037      * @return The cpeUri.
5038      */
5039     @java.lang.Override
getCpeUri()5040     public java.lang.String getCpeUri() {
5041       java.lang.Object ref = cpeUri_;
5042       if (ref instanceof java.lang.String) {
5043         return (java.lang.String) ref;
5044       } else {
5045         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5046         java.lang.String s = bs.toStringUtf8();
5047         cpeUri_ = s;
5048         return s;
5049       }
5050     }
5051     /**
5052      *
5053      *
5054      * <pre>
5055      * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
5056      * vulnerability affects.
5057      * </pre>
5058      *
5059      * <code>string cpe_uri = 1;</code>
5060      *
5061      * @return The bytes for cpeUri.
5062      */
5063     @java.lang.Override
getCpeUriBytes()5064     public com.google.protobuf.ByteString getCpeUriBytes() {
5065       java.lang.Object ref = cpeUri_;
5066       if (ref instanceof java.lang.String) {
5067         com.google.protobuf.ByteString b =
5068             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5069         cpeUri_ = b;
5070         return b;
5071       } else {
5072         return (com.google.protobuf.ByteString) ref;
5073       }
5074     }
5075 
5076     public static final int NAME_FIELD_NUMBER = 2;
5077 
5078     @SuppressWarnings("serial")
5079     private volatile java.lang.Object name_ = "";
5080     /**
5081      *
5082      *
5083      * <pre>
5084      * Required. The name of this vulnerability.
5085      * </pre>
5086      *
5087      * <code>string name = 2;</code>
5088      *
5089      * @return The name.
5090      */
5091     @java.lang.Override
getName()5092     public java.lang.String getName() {
5093       java.lang.Object ref = name_;
5094       if (ref instanceof java.lang.String) {
5095         return (java.lang.String) ref;
5096       } else {
5097         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5098         java.lang.String s = bs.toStringUtf8();
5099         name_ = s;
5100         return s;
5101       }
5102     }
5103     /**
5104      *
5105      *
5106      * <pre>
5107      * Required. The name of this vulnerability.
5108      * </pre>
5109      *
5110      * <code>string name = 2;</code>
5111      *
5112      * @return The bytes for name.
5113      */
5114     @java.lang.Override
getNameBytes()5115     public com.google.protobuf.ByteString getNameBytes() {
5116       java.lang.Object ref = name_;
5117       if (ref instanceof java.lang.String) {
5118         com.google.protobuf.ByteString b =
5119             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5120         name_ = b;
5121         return b;
5122       } else {
5123         return (com.google.protobuf.ByteString) ref;
5124       }
5125     }
5126 
5127     public static final int DESCRIPTION_FIELD_NUMBER = 3;
5128 
5129     @SuppressWarnings("serial")
5130     private volatile java.lang.Object description_ = "";
5131     /**
5132      *
5133      *
5134      * <pre>
5135      * The description of this vulnerability.
5136      * </pre>
5137      *
5138      * <code>string description = 3;</code>
5139      *
5140      * @return The description.
5141      */
5142     @java.lang.Override
getDescription()5143     public java.lang.String getDescription() {
5144       java.lang.Object ref = description_;
5145       if (ref instanceof java.lang.String) {
5146         return (java.lang.String) ref;
5147       } else {
5148         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5149         java.lang.String s = bs.toStringUtf8();
5150         description_ = s;
5151         return s;
5152       }
5153     }
5154     /**
5155      *
5156      *
5157      * <pre>
5158      * The description of this vulnerability.
5159      * </pre>
5160      *
5161      * <code>string description = 3;</code>
5162      *
5163      * @return The bytes for description.
5164      */
5165     @java.lang.Override
getDescriptionBytes()5166     public com.google.protobuf.ByteString getDescriptionBytes() {
5167       java.lang.Object ref = description_;
5168       if (ref instanceof java.lang.String) {
5169         com.google.protobuf.ByteString b =
5170             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5171         description_ = b;
5172         return b;
5173       } else {
5174         return (com.google.protobuf.ByteString) ref;
5175       }
5176     }
5177 
5178     public static final int FIXING_KBS_FIELD_NUMBER = 4;
5179 
5180     @SuppressWarnings("serial")
5181     private java.util.List<io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase> fixingKbs_;
5182     /**
5183      *
5184      *
5185      * <pre>
5186      * Required. The names of the KBs which have hotfixes to mitigate this
5187      * vulnerability. Note that there may be multiple hotfixes (and thus
5188      * multiple KBs) that mitigate a given vulnerability. Currently any listed
5189      * KBs presence is considered a fix.
5190      * </pre>
5191      *
5192      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
5193      * </code>
5194      */
5195     @java.lang.Override
5196     public java.util.List<io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase>
getFixingKbsList()5197         getFixingKbsList() {
5198       return fixingKbs_;
5199     }
5200     /**
5201      *
5202      *
5203      * <pre>
5204      * Required. The names of the KBs which have hotfixes to mitigate this
5205      * vulnerability. Note that there may be multiple hotfixes (and thus
5206      * multiple KBs) that mitigate a given vulnerability. Currently any listed
5207      * KBs presence is considered a fix.
5208      * </pre>
5209      *
5210      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
5211      * </code>
5212      */
5213     @java.lang.Override
5214     public java.util.List<
5215             ? extends io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBaseOrBuilder>
getFixingKbsOrBuilderList()5216         getFixingKbsOrBuilderList() {
5217       return fixingKbs_;
5218     }
5219     /**
5220      *
5221      *
5222      * <pre>
5223      * Required. The names of the KBs which have hotfixes to mitigate this
5224      * vulnerability. Note that there may be multiple hotfixes (and thus
5225      * multiple KBs) that mitigate a given vulnerability. Currently any listed
5226      * KBs presence is considered a fix.
5227      * </pre>
5228      *
5229      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
5230      * </code>
5231      */
5232     @java.lang.Override
getFixingKbsCount()5233     public int getFixingKbsCount() {
5234       return fixingKbs_.size();
5235     }
5236     /**
5237      *
5238      *
5239      * <pre>
5240      * Required. The names of the KBs which have hotfixes to mitigate this
5241      * vulnerability. Note that there may be multiple hotfixes (and thus
5242      * multiple KBs) that mitigate a given vulnerability. Currently any listed
5243      * KBs presence is considered a fix.
5244      * </pre>
5245      *
5246      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
5247      * </code>
5248      */
5249     @java.lang.Override
getFixingKbs(int index)5250     public io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase getFixingKbs(int index) {
5251       return fixingKbs_.get(index);
5252     }
5253     /**
5254      *
5255      *
5256      * <pre>
5257      * Required. The names of the KBs which have hotfixes to mitigate this
5258      * vulnerability. Note that there may be multiple hotfixes (and thus
5259      * multiple KBs) that mitigate a given vulnerability. Currently any listed
5260      * KBs presence is considered a fix.
5261      * </pre>
5262      *
5263      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
5264      * </code>
5265      */
5266     @java.lang.Override
5267     public io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBaseOrBuilder
getFixingKbsOrBuilder(int index)5268         getFixingKbsOrBuilder(int index) {
5269       return fixingKbs_.get(index);
5270     }
5271 
5272     private byte memoizedIsInitialized = -1;
5273 
5274     @java.lang.Override
isInitialized()5275     public final boolean isInitialized() {
5276       byte isInitialized = memoizedIsInitialized;
5277       if (isInitialized == 1) return true;
5278       if (isInitialized == 0) return false;
5279 
5280       memoizedIsInitialized = 1;
5281       return true;
5282     }
5283 
5284     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)5285     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
5286       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(cpeUri_)) {
5287         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, cpeUri_);
5288       }
5289       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
5290         com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
5291       }
5292       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
5293         com.google.protobuf.GeneratedMessageV3.writeString(output, 3, description_);
5294       }
5295       for (int i = 0; i < fixingKbs_.size(); i++) {
5296         output.writeMessage(4, fixingKbs_.get(i));
5297       }
5298       getUnknownFields().writeTo(output);
5299     }
5300 
5301     @java.lang.Override
getSerializedSize()5302     public int getSerializedSize() {
5303       int size = memoizedSize;
5304       if (size != -1) return size;
5305 
5306       size = 0;
5307       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(cpeUri_)) {
5308         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, cpeUri_);
5309       }
5310       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
5311         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
5312       }
5313       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
5314         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, description_);
5315       }
5316       for (int i = 0; i < fixingKbs_.size(); i++) {
5317         size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, fixingKbs_.get(i));
5318       }
5319       size += getUnknownFields().getSerializedSize();
5320       memoizedSize = size;
5321       return size;
5322     }
5323 
5324     @java.lang.Override
equals(final java.lang.Object obj)5325     public boolean equals(final java.lang.Object obj) {
5326       if (obj == this) {
5327         return true;
5328       }
5329       if (!(obj instanceof io.grafeas.v1.VulnerabilityNote.WindowsDetail)) {
5330         return super.equals(obj);
5331       }
5332       io.grafeas.v1.VulnerabilityNote.WindowsDetail other =
5333           (io.grafeas.v1.VulnerabilityNote.WindowsDetail) obj;
5334 
5335       if (!getCpeUri().equals(other.getCpeUri())) return false;
5336       if (!getName().equals(other.getName())) return false;
5337       if (!getDescription().equals(other.getDescription())) return false;
5338       if (!getFixingKbsList().equals(other.getFixingKbsList())) return false;
5339       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
5340       return true;
5341     }
5342 
5343     @java.lang.Override
hashCode()5344     public int hashCode() {
5345       if (memoizedHashCode != 0) {
5346         return memoizedHashCode;
5347       }
5348       int hash = 41;
5349       hash = (19 * hash) + getDescriptor().hashCode();
5350       hash = (37 * hash) + CPE_URI_FIELD_NUMBER;
5351       hash = (53 * hash) + getCpeUri().hashCode();
5352       hash = (37 * hash) + NAME_FIELD_NUMBER;
5353       hash = (53 * hash) + getName().hashCode();
5354       hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
5355       hash = (53 * hash) + getDescription().hashCode();
5356       if (getFixingKbsCount() > 0) {
5357         hash = (37 * hash) + FIXING_KBS_FIELD_NUMBER;
5358         hash = (53 * hash) + getFixingKbsList().hashCode();
5359       }
5360       hash = (29 * hash) + getUnknownFields().hashCode();
5361       memoizedHashCode = hash;
5362       return hash;
5363     }
5364 
parseFrom(java.nio.ByteBuffer data)5365     public static io.grafeas.v1.VulnerabilityNote.WindowsDetail parseFrom(java.nio.ByteBuffer data)
5366         throws com.google.protobuf.InvalidProtocolBufferException {
5367       return PARSER.parseFrom(data);
5368     }
5369 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5370     public static io.grafeas.v1.VulnerabilityNote.WindowsDetail parseFrom(
5371         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5372         throws com.google.protobuf.InvalidProtocolBufferException {
5373       return PARSER.parseFrom(data, extensionRegistry);
5374     }
5375 
parseFrom( com.google.protobuf.ByteString data)5376     public static io.grafeas.v1.VulnerabilityNote.WindowsDetail parseFrom(
5377         com.google.protobuf.ByteString data)
5378         throws com.google.protobuf.InvalidProtocolBufferException {
5379       return PARSER.parseFrom(data);
5380     }
5381 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5382     public static io.grafeas.v1.VulnerabilityNote.WindowsDetail parseFrom(
5383         com.google.protobuf.ByteString data,
5384         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5385         throws com.google.protobuf.InvalidProtocolBufferException {
5386       return PARSER.parseFrom(data, extensionRegistry);
5387     }
5388 
parseFrom(byte[] data)5389     public static io.grafeas.v1.VulnerabilityNote.WindowsDetail parseFrom(byte[] data)
5390         throws com.google.protobuf.InvalidProtocolBufferException {
5391       return PARSER.parseFrom(data);
5392     }
5393 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5394     public static io.grafeas.v1.VulnerabilityNote.WindowsDetail parseFrom(
5395         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5396         throws com.google.protobuf.InvalidProtocolBufferException {
5397       return PARSER.parseFrom(data, extensionRegistry);
5398     }
5399 
parseFrom(java.io.InputStream input)5400     public static io.grafeas.v1.VulnerabilityNote.WindowsDetail parseFrom(java.io.InputStream input)
5401         throws java.io.IOException {
5402       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
5403     }
5404 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5405     public static io.grafeas.v1.VulnerabilityNote.WindowsDetail parseFrom(
5406         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5407         throws java.io.IOException {
5408       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
5409           PARSER, input, extensionRegistry);
5410     }
5411 
parseDelimitedFrom( java.io.InputStream input)5412     public static io.grafeas.v1.VulnerabilityNote.WindowsDetail parseDelimitedFrom(
5413         java.io.InputStream input) throws java.io.IOException {
5414       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
5415     }
5416 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5417     public static io.grafeas.v1.VulnerabilityNote.WindowsDetail parseDelimitedFrom(
5418         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5419         throws java.io.IOException {
5420       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
5421           PARSER, input, extensionRegistry);
5422     }
5423 
parseFrom( com.google.protobuf.CodedInputStream input)5424     public static io.grafeas.v1.VulnerabilityNote.WindowsDetail parseFrom(
5425         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
5426       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
5427     }
5428 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5429     public static io.grafeas.v1.VulnerabilityNote.WindowsDetail parseFrom(
5430         com.google.protobuf.CodedInputStream input,
5431         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5432         throws java.io.IOException {
5433       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
5434           PARSER, input, extensionRegistry);
5435     }
5436 
5437     @java.lang.Override
newBuilderForType()5438     public Builder newBuilderForType() {
5439       return newBuilder();
5440     }
5441 
newBuilder()5442     public static Builder newBuilder() {
5443       return DEFAULT_INSTANCE.toBuilder();
5444     }
5445 
newBuilder(io.grafeas.v1.VulnerabilityNote.WindowsDetail prototype)5446     public static Builder newBuilder(io.grafeas.v1.VulnerabilityNote.WindowsDetail prototype) {
5447       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
5448     }
5449 
5450     @java.lang.Override
toBuilder()5451     public Builder toBuilder() {
5452       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
5453     }
5454 
5455     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)5456     protected Builder newBuilderForType(
5457         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
5458       Builder builder = new Builder(parent);
5459       return builder;
5460     }
5461     /** Protobuf type {@code grafeas.v1.VulnerabilityNote.WindowsDetail} */
5462     public static final class Builder
5463         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
5464         implements
5465         // @@protoc_insertion_point(builder_implements:grafeas.v1.VulnerabilityNote.WindowsDetail)
5466         io.grafeas.v1.VulnerabilityNote.WindowsDetailOrBuilder {
getDescriptor()5467       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
5468         return io.grafeas.v1.Vulnerability
5469             .internal_static_grafeas_v1_VulnerabilityNote_WindowsDetail_descriptor;
5470       }
5471 
5472       @java.lang.Override
5473       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()5474           internalGetFieldAccessorTable() {
5475         return io.grafeas.v1.Vulnerability
5476             .internal_static_grafeas_v1_VulnerabilityNote_WindowsDetail_fieldAccessorTable
5477             .ensureFieldAccessorsInitialized(
5478                 io.grafeas.v1.VulnerabilityNote.WindowsDetail.class,
5479                 io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder.class);
5480       }
5481 
5482       // Construct using io.grafeas.v1.VulnerabilityNote.WindowsDetail.newBuilder()
Builder()5483       private Builder() {}
5484 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)5485       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
5486         super(parent);
5487       }
5488 
5489       @java.lang.Override
clear()5490       public Builder clear() {
5491         super.clear();
5492         bitField0_ = 0;
5493         cpeUri_ = "";
5494         name_ = "";
5495         description_ = "";
5496         if (fixingKbsBuilder_ == null) {
5497           fixingKbs_ = java.util.Collections.emptyList();
5498         } else {
5499           fixingKbs_ = null;
5500           fixingKbsBuilder_.clear();
5501         }
5502         bitField0_ = (bitField0_ & ~0x00000008);
5503         return this;
5504       }
5505 
5506       @java.lang.Override
getDescriptorForType()5507       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
5508         return io.grafeas.v1.Vulnerability
5509             .internal_static_grafeas_v1_VulnerabilityNote_WindowsDetail_descriptor;
5510       }
5511 
5512       @java.lang.Override
getDefaultInstanceForType()5513       public io.grafeas.v1.VulnerabilityNote.WindowsDetail getDefaultInstanceForType() {
5514         return io.grafeas.v1.VulnerabilityNote.WindowsDetail.getDefaultInstance();
5515       }
5516 
5517       @java.lang.Override
build()5518       public io.grafeas.v1.VulnerabilityNote.WindowsDetail build() {
5519         io.grafeas.v1.VulnerabilityNote.WindowsDetail result = buildPartial();
5520         if (!result.isInitialized()) {
5521           throw newUninitializedMessageException(result);
5522         }
5523         return result;
5524       }
5525 
5526       @java.lang.Override
buildPartial()5527       public io.grafeas.v1.VulnerabilityNote.WindowsDetail buildPartial() {
5528         io.grafeas.v1.VulnerabilityNote.WindowsDetail result =
5529             new io.grafeas.v1.VulnerabilityNote.WindowsDetail(this);
5530         buildPartialRepeatedFields(result);
5531         if (bitField0_ != 0) {
5532           buildPartial0(result);
5533         }
5534         onBuilt();
5535         return result;
5536       }
5537 
buildPartialRepeatedFields( io.grafeas.v1.VulnerabilityNote.WindowsDetail result)5538       private void buildPartialRepeatedFields(
5539           io.grafeas.v1.VulnerabilityNote.WindowsDetail result) {
5540         if (fixingKbsBuilder_ == null) {
5541           if (((bitField0_ & 0x00000008) != 0)) {
5542             fixingKbs_ = java.util.Collections.unmodifiableList(fixingKbs_);
5543             bitField0_ = (bitField0_ & ~0x00000008);
5544           }
5545           result.fixingKbs_ = fixingKbs_;
5546         } else {
5547           result.fixingKbs_ = fixingKbsBuilder_.build();
5548         }
5549       }
5550 
buildPartial0(io.grafeas.v1.VulnerabilityNote.WindowsDetail result)5551       private void buildPartial0(io.grafeas.v1.VulnerabilityNote.WindowsDetail result) {
5552         int from_bitField0_ = bitField0_;
5553         if (((from_bitField0_ & 0x00000001) != 0)) {
5554           result.cpeUri_ = cpeUri_;
5555         }
5556         if (((from_bitField0_ & 0x00000002) != 0)) {
5557           result.name_ = name_;
5558         }
5559         if (((from_bitField0_ & 0x00000004) != 0)) {
5560           result.description_ = description_;
5561         }
5562       }
5563 
5564       @java.lang.Override
clone()5565       public Builder clone() {
5566         return super.clone();
5567       }
5568 
5569       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)5570       public Builder setField(
5571           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
5572         return super.setField(field, value);
5573       }
5574 
5575       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)5576       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
5577         return super.clearField(field);
5578       }
5579 
5580       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)5581       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
5582         return super.clearOneof(oneof);
5583       }
5584 
5585       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)5586       public Builder setRepeatedField(
5587           com.google.protobuf.Descriptors.FieldDescriptor field,
5588           int index,
5589           java.lang.Object value) {
5590         return super.setRepeatedField(field, index, value);
5591       }
5592 
5593       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)5594       public Builder addRepeatedField(
5595           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
5596         return super.addRepeatedField(field, value);
5597       }
5598 
5599       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)5600       public Builder mergeFrom(com.google.protobuf.Message other) {
5601         if (other instanceof io.grafeas.v1.VulnerabilityNote.WindowsDetail) {
5602           return mergeFrom((io.grafeas.v1.VulnerabilityNote.WindowsDetail) other);
5603         } else {
5604           super.mergeFrom(other);
5605           return this;
5606         }
5607       }
5608 
mergeFrom(io.grafeas.v1.VulnerabilityNote.WindowsDetail other)5609       public Builder mergeFrom(io.grafeas.v1.VulnerabilityNote.WindowsDetail other) {
5610         if (other == io.grafeas.v1.VulnerabilityNote.WindowsDetail.getDefaultInstance())
5611           return this;
5612         if (!other.getCpeUri().isEmpty()) {
5613           cpeUri_ = other.cpeUri_;
5614           bitField0_ |= 0x00000001;
5615           onChanged();
5616         }
5617         if (!other.getName().isEmpty()) {
5618           name_ = other.name_;
5619           bitField0_ |= 0x00000002;
5620           onChanged();
5621         }
5622         if (!other.getDescription().isEmpty()) {
5623           description_ = other.description_;
5624           bitField0_ |= 0x00000004;
5625           onChanged();
5626         }
5627         if (fixingKbsBuilder_ == null) {
5628           if (!other.fixingKbs_.isEmpty()) {
5629             if (fixingKbs_.isEmpty()) {
5630               fixingKbs_ = other.fixingKbs_;
5631               bitField0_ = (bitField0_ & ~0x00000008);
5632             } else {
5633               ensureFixingKbsIsMutable();
5634               fixingKbs_.addAll(other.fixingKbs_);
5635             }
5636             onChanged();
5637           }
5638         } else {
5639           if (!other.fixingKbs_.isEmpty()) {
5640             if (fixingKbsBuilder_.isEmpty()) {
5641               fixingKbsBuilder_.dispose();
5642               fixingKbsBuilder_ = null;
5643               fixingKbs_ = other.fixingKbs_;
5644               bitField0_ = (bitField0_ & ~0x00000008);
5645               fixingKbsBuilder_ =
5646                   com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
5647                       ? getFixingKbsFieldBuilder()
5648                       : null;
5649             } else {
5650               fixingKbsBuilder_.addAllMessages(other.fixingKbs_);
5651             }
5652           }
5653         }
5654         this.mergeUnknownFields(other.getUnknownFields());
5655         onChanged();
5656         return this;
5657       }
5658 
5659       @java.lang.Override
isInitialized()5660       public final boolean isInitialized() {
5661         return true;
5662       }
5663 
5664       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5665       public Builder mergeFrom(
5666           com.google.protobuf.CodedInputStream input,
5667           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5668           throws java.io.IOException {
5669         if (extensionRegistry == null) {
5670           throw new java.lang.NullPointerException();
5671         }
5672         try {
5673           boolean done = false;
5674           while (!done) {
5675             int tag = input.readTag();
5676             switch (tag) {
5677               case 0:
5678                 done = true;
5679                 break;
5680               case 10:
5681                 {
5682                   cpeUri_ = input.readStringRequireUtf8();
5683                   bitField0_ |= 0x00000001;
5684                   break;
5685                 } // case 10
5686               case 18:
5687                 {
5688                   name_ = input.readStringRequireUtf8();
5689                   bitField0_ |= 0x00000002;
5690                   break;
5691                 } // case 18
5692               case 26:
5693                 {
5694                   description_ = input.readStringRequireUtf8();
5695                   bitField0_ |= 0x00000004;
5696                   break;
5697                 } // case 26
5698               case 34:
5699                 {
5700                   io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase m =
5701                       input.readMessage(
5702                           io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.parser(),
5703                           extensionRegistry);
5704                   if (fixingKbsBuilder_ == null) {
5705                     ensureFixingKbsIsMutable();
5706                     fixingKbs_.add(m);
5707                   } else {
5708                     fixingKbsBuilder_.addMessage(m);
5709                   }
5710                   break;
5711                 } // case 34
5712               default:
5713                 {
5714                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
5715                     done = true; // was an endgroup tag
5716                   }
5717                   break;
5718                 } // default:
5719             } // switch (tag)
5720           } // while (!done)
5721         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5722           throw e.unwrapIOException();
5723         } finally {
5724           onChanged();
5725         } // finally
5726         return this;
5727       }
5728 
5729       private int bitField0_;
5730 
5731       private java.lang.Object cpeUri_ = "";
5732       /**
5733        *
5734        *
5735        * <pre>
5736        * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
5737        * vulnerability affects.
5738        * </pre>
5739        *
5740        * <code>string cpe_uri = 1;</code>
5741        *
5742        * @return The cpeUri.
5743        */
getCpeUri()5744       public java.lang.String getCpeUri() {
5745         java.lang.Object ref = cpeUri_;
5746         if (!(ref instanceof java.lang.String)) {
5747           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5748           java.lang.String s = bs.toStringUtf8();
5749           cpeUri_ = s;
5750           return s;
5751         } else {
5752           return (java.lang.String) ref;
5753         }
5754       }
5755       /**
5756        *
5757        *
5758        * <pre>
5759        * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
5760        * vulnerability affects.
5761        * </pre>
5762        *
5763        * <code>string cpe_uri = 1;</code>
5764        *
5765        * @return The bytes for cpeUri.
5766        */
getCpeUriBytes()5767       public com.google.protobuf.ByteString getCpeUriBytes() {
5768         java.lang.Object ref = cpeUri_;
5769         if (ref instanceof String) {
5770           com.google.protobuf.ByteString b =
5771               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5772           cpeUri_ = b;
5773           return b;
5774         } else {
5775           return (com.google.protobuf.ByteString) ref;
5776         }
5777       }
5778       /**
5779        *
5780        *
5781        * <pre>
5782        * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
5783        * vulnerability affects.
5784        * </pre>
5785        *
5786        * <code>string cpe_uri = 1;</code>
5787        *
5788        * @param value The cpeUri to set.
5789        * @return This builder for chaining.
5790        */
setCpeUri(java.lang.String value)5791       public Builder setCpeUri(java.lang.String value) {
5792         if (value == null) {
5793           throw new NullPointerException();
5794         }
5795         cpeUri_ = value;
5796         bitField0_ |= 0x00000001;
5797         onChanged();
5798         return this;
5799       }
5800       /**
5801        *
5802        *
5803        * <pre>
5804        * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
5805        * vulnerability affects.
5806        * </pre>
5807        *
5808        * <code>string cpe_uri = 1;</code>
5809        *
5810        * @return This builder for chaining.
5811        */
clearCpeUri()5812       public Builder clearCpeUri() {
5813         cpeUri_ = getDefaultInstance().getCpeUri();
5814         bitField0_ = (bitField0_ & ~0x00000001);
5815         onChanged();
5816         return this;
5817       }
5818       /**
5819        *
5820        *
5821        * <pre>
5822        * Required. The [CPE URI](https://cpe.mitre.org/specification/) this
5823        * vulnerability affects.
5824        * </pre>
5825        *
5826        * <code>string cpe_uri = 1;</code>
5827        *
5828        * @param value The bytes for cpeUri to set.
5829        * @return This builder for chaining.
5830        */
setCpeUriBytes(com.google.protobuf.ByteString value)5831       public Builder setCpeUriBytes(com.google.protobuf.ByteString value) {
5832         if (value == null) {
5833           throw new NullPointerException();
5834         }
5835         checkByteStringIsUtf8(value);
5836         cpeUri_ = value;
5837         bitField0_ |= 0x00000001;
5838         onChanged();
5839         return this;
5840       }
5841 
5842       private java.lang.Object name_ = "";
5843       /**
5844        *
5845        *
5846        * <pre>
5847        * Required. The name of this vulnerability.
5848        * </pre>
5849        *
5850        * <code>string name = 2;</code>
5851        *
5852        * @return The name.
5853        */
getName()5854       public java.lang.String getName() {
5855         java.lang.Object ref = name_;
5856         if (!(ref instanceof java.lang.String)) {
5857           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5858           java.lang.String s = bs.toStringUtf8();
5859           name_ = s;
5860           return s;
5861         } else {
5862           return (java.lang.String) ref;
5863         }
5864       }
5865       /**
5866        *
5867        *
5868        * <pre>
5869        * Required. The name of this vulnerability.
5870        * </pre>
5871        *
5872        * <code>string name = 2;</code>
5873        *
5874        * @return The bytes for name.
5875        */
getNameBytes()5876       public com.google.protobuf.ByteString getNameBytes() {
5877         java.lang.Object ref = name_;
5878         if (ref instanceof String) {
5879           com.google.protobuf.ByteString b =
5880               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5881           name_ = b;
5882           return b;
5883         } else {
5884           return (com.google.protobuf.ByteString) ref;
5885         }
5886       }
5887       /**
5888        *
5889        *
5890        * <pre>
5891        * Required. The name of this vulnerability.
5892        * </pre>
5893        *
5894        * <code>string name = 2;</code>
5895        *
5896        * @param value The name to set.
5897        * @return This builder for chaining.
5898        */
setName(java.lang.String value)5899       public Builder setName(java.lang.String value) {
5900         if (value == null) {
5901           throw new NullPointerException();
5902         }
5903         name_ = value;
5904         bitField0_ |= 0x00000002;
5905         onChanged();
5906         return this;
5907       }
5908       /**
5909        *
5910        *
5911        * <pre>
5912        * Required. The name of this vulnerability.
5913        * </pre>
5914        *
5915        * <code>string name = 2;</code>
5916        *
5917        * @return This builder for chaining.
5918        */
clearName()5919       public Builder clearName() {
5920         name_ = getDefaultInstance().getName();
5921         bitField0_ = (bitField0_ & ~0x00000002);
5922         onChanged();
5923         return this;
5924       }
5925       /**
5926        *
5927        *
5928        * <pre>
5929        * Required. The name of this vulnerability.
5930        * </pre>
5931        *
5932        * <code>string name = 2;</code>
5933        *
5934        * @param value The bytes for name to set.
5935        * @return This builder for chaining.
5936        */
setNameBytes(com.google.protobuf.ByteString value)5937       public Builder setNameBytes(com.google.protobuf.ByteString value) {
5938         if (value == null) {
5939           throw new NullPointerException();
5940         }
5941         checkByteStringIsUtf8(value);
5942         name_ = value;
5943         bitField0_ |= 0x00000002;
5944         onChanged();
5945         return this;
5946       }
5947 
5948       private java.lang.Object description_ = "";
5949       /**
5950        *
5951        *
5952        * <pre>
5953        * The description of this vulnerability.
5954        * </pre>
5955        *
5956        * <code>string description = 3;</code>
5957        *
5958        * @return The description.
5959        */
getDescription()5960       public java.lang.String getDescription() {
5961         java.lang.Object ref = description_;
5962         if (!(ref instanceof java.lang.String)) {
5963           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5964           java.lang.String s = bs.toStringUtf8();
5965           description_ = s;
5966           return s;
5967         } else {
5968           return (java.lang.String) ref;
5969         }
5970       }
5971       /**
5972        *
5973        *
5974        * <pre>
5975        * The description of this vulnerability.
5976        * </pre>
5977        *
5978        * <code>string description = 3;</code>
5979        *
5980        * @return The bytes for description.
5981        */
getDescriptionBytes()5982       public com.google.protobuf.ByteString getDescriptionBytes() {
5983         java.lang.Object ref = description_;
5984         if (ref instanceof String) {
5985           com.google.protobuf.ByteString b =
5986               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5987           description_ = b;
5988           return b;
5989         } else {
5990           return (com.google.protobuf.ByteString) ref;
5991         }
5992       }
5993       /**
5994        *
5995        *
5996        * <pre>
5997        * The description of this vulnerability.
5998        * </pre>
5999        *
6000        * <code>string description = 3;</code>
6001        *
6002        * @param value The description to set.
6003        * @return This builder for chaining.
6004        */
setDescription(java.lang.String value)6005       public Builder setDescription(java.lang.String value) {
6006         if (value == null) {
6007           throw new NullPointerException();
6008         }
6009         description_ = value;
6010         bitField0_ |= 0x00000004;
6011         onChanged();
6012         return this;
6013       }
6014       /**
6015        *
6016        *
6017        * <pre>
6018        * The description of this vulnerability.
6019        * </pre>
6020        *
6021        * <code>string description = 3;</code>
6022        *
6023        * @return This builder for chaining.
6024        */
clearDescription()6025       public Builder clearDescription() {
6026         description_ = getDefaultInstance().getDescription();
6027         bitField0_ = (bitField0_ & ~0x00000004);
6028         onChanged();
6029         return this;
6030       }
6031       /**
6032        *
6033        *
6034        * <pre>
6035        * The description of this vulnerability.
6036        * </pre>
6037        *
6038        * <code>string description = 3;</code>
6039        *
6040        * @param value The bytes for description to set.
6041        * @return This builder for chaining.
6042        */
setDescriptionBytes(com.google.protobuf.ByteString value)6043       public Builder setDescriptionBytes(com.google.protobuf.ByteString value) {
6044         if (value == null) {
6045           throw new NullPointerException();
6046         }
6047         checkByteStringIsUtf8(value);
6048         description_ = value;
6049         bitField0_ |= 0x00000004;
6050         onChanged();
6051         return this;
6052       }
6053 
6054       private java.util.List<io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase>
6055           fixingKbs_ = java.util.Collections.emptyList();
6056 
ensureFixingKbsIsMutable()6057       private void ensureFixingKbsIsMutable() {
6058         if (!((bitField0_ & 0x00000008) != 0)) {
6059           fixingKbs_ =
6060               new java.util.ArrayList<io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase>(
6061                   fixingKbs_);
6062           bitField0_ |= 0x00000008;
6063         }
6064       }
6065 
6066       private com.google.protobuf.RepeatedFieldBuilderV3<
6067               io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase,
6068               io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder,
6069               io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBaseOrBuilder>
6070           fixingKbsBuilder_;
6071 
6072       /**
6073        *
6074        *
6075        * <pre>
6076        * Required. The names of the KBs which have hotfixes to mitigate this
6077        * vulnerability. Note that there may be multiple hotfixes (and thus
6078        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6079        * KBs presence is considered a fix.
6080        * </pre>
6081        *
6082        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6083        * </code>
6084        */
6085       public java.util.List<io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase>
getFixingKbsList()6086           getFixingKbsList() {
6087         if (fixingKbsBuilder_ == null) {
6088           return java.util.Collections.unmodifiableList(fixingKbs_);
6089         } else {
6090           return fixingKbsBuilder_.getMessageList();
6091         }
6092       }
6093       /**
6094        *
6095        *
6096        * <pre>
6097        * Required. The names of the KBs which have hotfixes to mitigate this
6098        * vulnerability. Note that there may be multiple hotfixes (and thus
6099        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6100        * KBs presence is considered a fix.
6101        * </pre>
6102        *
6103        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6104        * </code>
6105        */
getFixingKbsCount()6106       public int getFixingKbsCount() {
6107         if (fixingKbsBuilder_ == null) {
6108           return fixingKbs_.size();
6109         } else {
6110           return fixingKbsBuilder_.getCount();
6111         }
6112       }
6113       /**
6114        *
6115        *
6116        * <pre>
6117        * Required. The names of the KBs which have hotfixes to mitigate this
6118        * vulnerability. Note that there may be multiple hotfixes (and thus
6119        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6120        * KBs presence is considered a fix.
6121        * </pre>
6122        *
6123        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6124        * </code>
6125        */
getFixingKbs(int index)6126       public io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase getFixingKbs(int index) {
6127         if (fixingKbsBuilder_ == null) {
6128           return fixingKbs_.get(index);
6129         } else {
6130           return fixingKbsBuilder_.getMessage(index);
6131         }
6132       }
6133       /**
6134        *
6135        *
6136        * <pre>
6137        * Required. The names of the KBs which have hotfixes to mitigate this
6138        * vulnerability. Note that there may be multiple hotfixes (and thus
6139        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6140        * KBs presence is considered a fix.
6141        * </pre>
6142        *
6143        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6144        * </code>
6145        */
setFixingKbs( int index, io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase value)6146       public Builder setFixingKbs(
6147           int index, io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase value) {
6148         if (fixingKbsBuilder_ == null) {
6149           if (value == null) {
6150             throw new NullPointerException();
6151           }
6152           ensureFixingKbsIsMutable();
6153           fixingKbs_.set(index, value);
6154           onChanged();
6155         } else {
6156           fixingKbsBuilder_.setMessage(index, value);
6157         }
6158         return this;
6159       }
6160       /**
6161        *
6162        *
6163        * <pre>
6164        * Required. The names of the KBs which have hotfixes to mitigate this
6165        * vulnerability. Note that there may be multiple hotfixes (and thus
6166        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6167        * KBs presence is considered a fix.
6168        * </pre>
6169        *
6170        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6171        * </code>
6172        */
setFixingKbs( int index, io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder builderForValue)6173       public Builder setFixingKbs(
6174           int index,
6175           io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder builderForValue) {
6176         if (fixingKbsBuilder_ == null) {
6177           ensureFixingKbsIsMutable();
6178           fixingKbs_.set(index, builderForValue.build());
6179           onChanged();
6180         } else {
6181           fixingKbsBuilder_.setMessage(index, builderForValue.build());
6182         }
6183         return this;
6184       }
6185       /**
6186        *
6187        *
6188        * <pre>
6189        * Required. The names of the KBs which have hotfixes to mitigate this
6190        * vulnerability. Note that there may be multiple hotfixes (and thus
6191        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6192        * KBs presence is considered a fix.
6193        * </pre>
6194        *
6195        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6196        * </code>
6197        */
addFixingKbs( io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase value)6198       public Builder addFixingKbs(
6199           io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase value) {
6200         if (fixingKbsBuilder_ == null) {
6201           if (value == null) {
6202             throw new NullPointerException();
6203           }
6204           ensureFixingKbsIsMutable();
6205           fixingKbs_.add(value);
6206           onChanged();
6207         } else {
6208           fixingKbsBuilder_.addMessage(value);
6209         }
6210         return this;
6211       }
6212       /**
6213        *
6214        *
6215        * <pre>
6216        * Required. The names of the KBs which have hotfixes to mitigate this
6217        * vulnerability. Note that there may be multiple hotfixes (and thus
6218        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6219        * KBs presence is considered a fix.
6220        * </pre>
6221        *
6222        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6223        * </code>
6224        */
addFixingKbs( int index, io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase value)6225       public Builder addFixingKbs(
6226           int index, io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase value) {
6227         if (fixingKbsBuilder_ == null) {
6228           if (value == null) {
6229             throw new NullPointerException();
6230           }
6231           ensureFixingKbsIsMutable();
6232           fixingKbs_.add(index, value);
6233           onChanged();
6234         } else {
6235           fixingKbsBuilder_.addMessage(index, value);
6236         }
6237         return this;
6238       }
6239       /**
6240        *
6241        *
6242        * <pre>
6243        * Required. The names of the KBs which have hotfixes to mitigate this
6244        * vulnerability. Note that there may be multiple hotfixes (and thus
6245        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6246        * KBs presence is considered a fix.
6247        * </pre>
6248        *
6249        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6250        * </code>
6251        */
addFixingKbs( io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder builderForValue)6252       public Builder addFixingKbs(
6253           io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder builderForValue) {
6254         if (fixingKbsBuilder_ == null) {
6255           ensureFixingKbsIsMutable();
6256           fixingKbs_.add(builderForValue.build());
6257           onChanged();
6258         } else {
6259           fixingKbsBuilder_.addMessage(builderForValue.build());
6260         }
6261         return this;
6262       }
6263       /**
6264        *
6265        *
6266        * <pre>
6267        * Required. The names of the KBs which have hotfixes to mitigate this
6268        * vulnerability. Note that there may be multiple hotfixes (and thus
6269        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6270        * KBs presence is considered a fix.
6271        * </pre>
6272        *
6273        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6274        * </code>
6275        */
addFixingKbs( int index, io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder builderForValue)6276       public Builder addFixingKbs(
6277           int index,
6278           io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder builderForValue) {
6279         if (fixingKbsBuilder_ == null) {
6280           ensureFixingKbsIsMutable();
6281           fixingKbs_.add(index, builderForValue.build());
6282           onChanged();
6283         } else {
6284           fixingKbsBuilder_.addMessage(index, builderForValue.build());
6285         }
6286         return this;
6287       }
6288       /**
6289        *
6290        *
6291        * <pre>
6292        * Required. The names of the KBs which have hotfixes to mitigate this
6293        * vulnerability. Note that there may be multiple hotfixes (and thus
6294        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6295        * KBs presence is considered a fix.
6296        * </pre>
6297        *
6298        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6299        * </code>
6300        */
addAllFixingKbs( java.lang.Iterable<? extends io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase> values)6301       public Builder addAllFixingKbs(
6302           java.lang.Iterable<? extends io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase>
6303               values) {
6304         if (fixingKbsBuilder_ == null) {
6305           ensureFixingKbsIsMutable();
6306           com.google.protobuf.AbstractMessageLite.Builder.addAll(values, fixingKbs_);
6307           onChanged();
6308         } else {
6309           fixingKbsBuilder_.addAllMessages(values);
6310         }
6311         return this;
6312       }
6313       /**
6314        *
6315        *
6316        * <pre>
6317        * Required. The names of the KBs which have hotfixes to mitigate this
6318        * vulnerability. Note that there may be multiple hotfixes (and thus
6319        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6320        * KBs presence is considered a fix.
6321        * </pre>
6322        *
6323        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6324        * </code>
6325        */
clearFixingKbs()6326       public Builder clearFixingKbs() {
6327         if (fixingKbsBuilder_ == null) {
6328           fixingKbs_ = java.util.Collections.emptyList();
6329           bitField0_ = (bitField0_ & ~0x00000008);
6330           onChanged();
6331         } else {
6332           fixingKbsBuilder_.clear();
6333         }
6334         return this;
6335       }
6336       /**
6337        *
6338        *
6339        * <pre>
6340        * Required. The names of the KBs which have hotfixes to mitigate this
6341        * vulnerability. Note that there may be multiple hotfixes (and thus
6342        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6343        * KBs presence is considered a fix.
6344        * </pre>
6345        *
6346        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6347        * </code>
6348        */
removeFixingKbs(int index)6349       public Builder removeFixingKbs(int index) {
6350         if (fixingKbsBuilder_ == null) {
6351           ensureFixingKbsIsMutable();
6352           fixingKbs_.remove(index);
6353           onChanged();
6354         } else {
6355           fixingKbsBuilder_.remove(index);
6356         }
6357         return this;
6358       }
6359       /**
6360        *
6361        *
6362        * <pre>
6363        * Required. The names of the KBs which have hotfixes to mitigate this
6364        * vulnerability. Note that there may be multiple hotfixes (and thus
6365        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6366        * KBs presence is considered a fix.
6367        * </pre>
6368        *
6369        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6370        * </code>
6371        */
6372       public io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder
getFixingKbsBuilder(int index)6373           getFixingKbsBuilder(int index) {
6374         return getFixingKbsFieldBuilder().getBuilder(index);
6375       }
6376       /**
6377        *
6378        *
6379        * <pre>
6380        * Required. The names of the KBs which have hotfixes to mitigate this
6381        * vulnerability. Note that there may be multiple hotfixes (and thus
6382        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6383        * KBs presence is considered a fix.
6384        * </pre>
6385        *
6386        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6387        * </code>
6388        */
6389       public io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBaseOrBuilder
getFixingKbsOrBuilder(int index)6390           getFixingKbsOrBuilder(int index) {
6391         if (fixingKbsBuilder_ == null) {
6392           return fixingKbs_.get(index);
6393         } else {
6394           return fixingKbsBuilder_.getMessageOrBuilder(index);
6395         }
6396       }
6397       /**
6398        *
6399        *
6400        * <pre>
6401        * Required. The names of the KBs which have hotfixes to mitigate this
6402        * vulnerability. Note that there may be multiple hotfixes (and thus
6403        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6404        * KBs presence is considered a fix.
6405        * </pre>
6406        *
6407        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6408        * </code>
6409        */
6410       public java.util.List<
6411               ? extends io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBaseOrBuilder>
getFixingKbsOrBuilderList()6412           getFixingKbsOrBuilderList() {
6413         if (fixingKbsBuilder_ != null) {
6414           return fixingKbsBuilder_.getMessageOrBuilderList();
6415         } else {
6416           return java.util.Collections.unmodifiableList(fixingKbs_);
6417         }
6418       }
6419       /**
6420        *
6421        *
6422        * <pre>
6423        * Required. The names of the KBs which have hotfixes to mitigate this
6424        * vulnerability. Note that there may be multiple hotfixes (and thus
6425        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6426        * KBs presence is considered a fix.
6427        * </pre>
6428        *
6429        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6430        * </code>
6431        */
6432       public io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder
addFixingKbsBuilder()6433           addFixingKbsBuilder() {
6434         return getFixingKbsFieldBuilder()
6435             .addBuilder(
6436                 io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.getDefaultInstance());
6437       }
6438       /**
6439        *
6440        *
6441        * <pre>
6442        * Required. The names of the KBs which have hotfixes to mitigate this
6443        * vulnerability. Note that there may be multiple hotfixes (and thus
6444        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6445        * KBs presence is considered a fix.
6446        * </pre>
6447        *
6448        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6449        * </code>
6450        */
6451       public io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder
addFixingKbsBuilder(int index)6452           addFixingKbsBuilder(int index) {
6453         return getFixingKbsFieldBuilder()
6454             .addBuilder(
6455                 index,
6456                 io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.getDefaultInstance());
6457       }
6458       /**
6459        *
6460        *
6461        * <pre>
6462        * Required. The names of the KBs which have hotfixes to mitigate this
6463        * vulnerability. Note that there may be multiple hotfixes (and thus
6464        * multiple KBs) that mitigate a given vulnerability. Currently any listed
6465        * KBs presence is considered a fix.
6466        * </pre>
6467        *
6468        * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase fixing_kbs = 4;
6469        * </code>
6470        */
6471       public java.util.List<io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder>
getFixingKbsBuilderList()6472           getFixingKbsBuilderList() {
6473         return getFixingKbsFieldBuilder().getBuilderList();
6474       }
6475 
6476       private com.google.protobuf.RepeatedFieldBuilderV3<
6477               io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase,
6478               io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder,
6479               io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBaseOrBuilder>
getFixingKbsFieldBuilder()6480           getFixingKbsFieldBuilder() {
6481         if (fixingKbsBuilder_ == null) {
6482           fixingKbsBuilder_ =
6483               new com.google.protobuf.RepeatedFieldBuilderV3<
6484                   io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase,
6485                   io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase.Builder,
6486                   io.grafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBaseOrBuilder>(
6487                   fixingKbs_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
6488           fixingKbs_ = null;
6489         }
6490         return fixingKbsBuilder_;
6491       }
6492 
6493       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)6494       public final Builder setUnknownFields(
6495           final com.google.protobuf.UnknownFieldSet unknownFields) {
6496         return super.setUnknownFields(unknownFields);
6497       }
6498 
6499       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)6500       public final Builder mergeUnknownFields(
6501           final com.google.protobuf.UnknownFieldSet unknownFields) {
6502         return super.mergeUnknownFields(unknownFields);
6503       }
6504 
6505       // @@protoc_insertion_point(builder_scope:grafeas.v1.VulnerabilityNote.WindowsDetail)
6506     }
6507 
6508     // @@protoc_insertion_point(class_scope:grafeas.v1.VulnerabilityNote.WindowsDetail)
6509     private static final io.grafeas.v1.VulnerabilityNote.WindowsDetail DEFAULT_INSTANCE;
6510 
6511     static {
6512       DEFAULT_INSTANCE = new io.grafeas.v1.VulnerabilityNote.WindowsDetail();
6513     }
6514 
getDefaultInstance()6515     public static io.grafeas.v1.VulnerabilityNote.WindowsDetail getDefaultInstance() {
6516       return DEFAULT_INSTANCE;
6517     }
6518 
6519     private static final com.google.protobuf.Parser<WindowsDetail> PARSER =
6520         new com.google.protobuf.AbstractParser<WindowsDetail>() {
6521           @java.lang.Override
6522           public WindowsDetail parsePartialFrom(
6523               com.google.protobuf.CodedInputStream input,
6524               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6525               throws com.google.protobuf.InvalidProtocolBufferException {
6526             Builder builder = newBuilder();
6527             try {
6528               builder.mergeFrom(input, extensionRegistry);
6529             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6530               throw e.setUnfinishedMessage(builder.buildPartial());
6531             } catch (com.google.protobuf.UninitializedMessageException e) {
6532               throw e.asInvalidProtocolBufferException()
6533                   .setUnfinishedMessage(builder.buildPartial());
6534             } catch (java.io.IOException e) {
6535               throw new com.google.protobuf.InvalidProtocolBufferException(e)
6536                   .setUnfinishedMessage(builder.buildPartial());
6537             }
6538             return builder.buildPartial();
6539           }
6540         };
6541 
parser()6542     public static com.google.protobuf.Parser<WindowsDetail> parser() {
6543       return PARSER;
6544     }
6545 
6546     @java.lang.Override
getParserForType()6547     public com.google.protobuf.Parser<WindowsDetail> getParserForType() {
6548       return PARSER;
6549     }
6550 
6551     @java.lang.Override
getDefaultInstanceForType()6552     public io.grafeas.v1.VulnerabilityNote.WindowsDetail getDefaultInstanceForType() {
6553       return DEFAULT_INSTANCE;
6554     }
6555   }
6556 
6557   public static final int CVSS_SCORE_FIELD_NUMBER = 1;
6558   private float cvssScore_ = 0F;
6559   /**
6560    *
6561    *
6562    * <pre>
6563    * The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10
6564    * where 0 indicates low severity and 10 indicates high severity.
6565    * </pre>
6566    *
6567    * <code>float cvss_score = 1;</code>
6568    *
6569    * @return The cvssScore.
6570    */
6571   @java.lang.Override
getCvssScore()6572   public float getCvssScore() {
6573     return cvssScore_;
6574   }
6575 
6576   public static final int SEVERITY_FIELD_NUMBER = 2;
6577   private int severity_ = 0;
6578   /**
6579    *
6580    *
6581    * <pre>
6582    * The note provider assigned severity of this vulnerability.
6583    * </pre>
6584    *
6585    * <code>.grafeas.v1.Severity severity = 2;</code>
6586    *
6587    * @return The enum numeric value on the wire for severity.
6588    */
6589   @java.lang.Override
getSeverityValue()6590   public int getSeverityValue() {
6591     return severity_;
6592   }
6593   /**
6594    *
6595    *
6596    * <pre>
6597    * The note provider assigned severity of this vulnerability.
6598    * </pre>
6599    *
6600    * <code>.grafeas.v1.Severity severity = 2;</code>
6601    *
6602    * @return The severity.
6603    */
6604   @java.lang.Override
getSeverity()6605   public io.grafeas.v1.Severity getSeverity() {
6606     io.grafeas.v1.Severity result = io.grafeas.v1.Severity.forNumber(severity_);
6607     return result == null ? io.grafeas.v1.Severity.UNRECOGNIZED : result;
6608   }
6609 
6610   public static final int DETAILS_FIELD_NUMBER = 3;
6611 
6612   @SuppressWarnings("serial")
6613   private java.util.List<io.grafeas.v1.VulnerabilityNote.Detail> details_;
6614   /**
6615    *
6616    *
6617    * <pre>
6618    * Details of all known distros and packages affected by this vulnerability.
6619    * </pre>
6620    *
6621    * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
6622    */
6623   @java.lang.Override
getDetailsList()6624   public java.util.List<io.grafeas.v1.VulnerabilityNote.Detail> getDetailsList() {
6625     return details_;
6626   }
6627   /**
6628    *
6629    *
6630    * <pre>
6631    * Details of all known distros and packages affected by this vulnerability.
6632    * </pre>
6633    *
6634    * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
6635    */
6636   @java.lang.Override
6637   public java.util.List<? extends io.grafeas.v1.VulnerabilityNote.DetailOrBuilder>
getDetailsOrBuilderList()6638       getDetailsOrBuilderList() {
6639     return details_;
6640   }
6641   /**
6642    *
6643    *
6644    * <pre>
6645    * Details of all known distros and packages affected by this vulnerability.
6646    * </pre>
6647    *
6648    * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
6649    */
6650   @java.lang.Override
getDetailsCount()6651   public int getDetailsCount() {
6652     return details_.size();
6653   }
6654   /**
6655    *
6656    *
6657    * <pre>
6658    * Details of all known distros and packages affected by this vulnerability.
6659    * </pre>
6660    *
6661    * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
6662    */
6663   @java.lang.Override
getDetails(int index)6664   public io.grafeas.v1.VulnerabilityNote.Detail getDetails(int index) {
6665     return details_.get(index);
6666   }
6667   /**
6668    *
6669    *
6670    * <pre>
6671    * Details of all known distros and packages affected by this vulnerability.
6672    * </pre>
6673    *
6674    * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
6675    */
6676   @java.lang.Override
getDetailsOrBuilder(int index)6677   public io.grafeas.v1.VulnerabilityNote.DetailOrBuilder getDetailsOrBuilder(int index) {
6678     return details_.get(index);
6679   }
6680 
6681   public static final int CVSS_V3_FIELD_NUMBER = 4;
6682   private io.grafeas.v1.CVSSv3 cvssV3_;
6683   /**
6684    *
6685    *
6686    * <pre>
6687    * The full description of the CVSSv3 for this vulnerability.
6688    * </pre>
6689    *
6690    * <code>.grafeas.v1.CVSSv3 cvss_v3 = 4;</code>
6691    *
6692    * @return Whether the cvssV3 field is set.
6693    */
6694   @java.lang.Override
hasCvssV3()6695   public boolean hasCvssV3() {
6696     return cvssV3_ != null;
6697   }
6698   /**
6699    *
6700    *
6701    * <pre>
6702    * The full description of the CVSSv3 for this vulnerability.
6703    * </pre>
6704    *
6705    * <code>.grafeas.v1.CVSSv3 cvss_v3 = 4;</code>
6706    *
6707    * @return The cvssV3.
6708    */
6709   @java.lang.Override
getCvssV3()6710   public io.grafeas.v1.CVSSv3 getCvssV3() {
6711     return cvssV3_ == null ? io.grafeas.v1.CVSSv3.getDefaultInstance() : cvssV3_;
6712   }
6713   /**
6714    *
6715    *
6716    * <pre>
6717    * The full description of the CVSSv3 for this vulnerability.
6718    * </pre>
6719    *
6720    * <code>.grafeas.v1.CVSSv3 cvss_v3 = 4;</code>
6721    */
6722   @java.lang.Override
getCvssV3OrBuilder()6723   public io.grafeas.v1.CVSSv3OrBuilder getCvssV3OrBuilder() {
6724     return cvssV3_ == null ? io.grafeas.v1.CVSSv3.getDefaultInstance() : cvssV3_;
6725   }
6726 
6727   public static final int WINDOWS_DETAILS_FIELD_NUMBER = 5;
6728 
6729   @SuppressWarnings("serial")
6730   private java.util.List<io.grafeas.v1.VulnerabilityNote.WindowsDetail> windowsDetails_;
6731   /**
6732    *
6733    *
6734    * <pre>
6735    * Windows details get their own format because the information format and
6736    * model don't match a normal detail. Specifically Windows updates are done as
6737    * patches, thus Windows vulnerabilities really are a missing package, rather
6738    * than a package being at an incorrect version.
6739    * </pre>
6740    *
6741    * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
6742    */
6743   @java.lang.Override
getWindowsDetailsList()6744   public java.util.List<io.grafeas.v1.VulnerabilityNote.WindowsDetail> getWindowsDetailsList() {
6745     return windowsDetails_;
6746   }
6747   /**
6748    *
6749    *
6750    * <pre>
6751    * Windows details get their own format because the information format and
6752    * model don't match a normal detail. Specifically Windows updates are done as
6753    * patches, thus Windows vulnerabilities really are a missing package, rather
6754    * than a package being at an incorrect version.
6755    * </pre>
6756    *
6757    * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
6758    */
6759   @java.lang.Override
6760   public java.util.List<? extends io.grafeas.v1.VulnerabilityNote.WindowsDetailOrBuilder>
getWindowsDetailsOrBuilderList()6761       getWindowsDetailsOrBuilderList() {
6762     return windowsDetails_;
6763   }
6764   /**
6765    *
6766    *
6767    * <pre>
6768    * Windows details get their own format because the information format and
6769    * model don't match a normal detail. Specifically Windows updates are done as
6770    * patches, thus Windows vulnerabilities really are a missing package, rather
6771    * than a package being at an incorrect version.
6772    * </pre>
6773    *
6774    * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
6775    */
6776   @java.lang.Override
getWindowsDetailsCount()6777   public int getWindowsDetailsCount() {
6778     return windowsDetails_.size();
6779   }
6780   /**
6781    *
6782    *
6783    * <pre>
6784    * Windows details get their own format because the information format and
6785    * model don't match a normal detail. Specifically Windows updates are done as
6786    * patches, thus Windows vulnerabilities really are a missing package, rather
6787    * than a package being at an incorrect version.
6788    * </pre>
6789    *
6790    * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
6791    */
6792   @java.lang.Override
getWindowsDetails(int index)6793   public io.grafeas.v1.VulnerabilityNote.WindowsDetail getWindowsDetails(int index) {
6794     return windowsDetails_.get(index);
6795   }
6796   /**
6797    *
6798    *
6799    * <pre>
6800    * Windows details get their own format because the information format and
6801    * model don't match a normal detail. Specifically Windows updates are done as
6802    * patches, thus Windows vulnerabilities really are a missing package, rather
6803    * than a package being at an incorrect version.
6804    * </pre>
6805    *
6806    * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
6807    */
6808   @java.lang.Override
getWindowsDetailsOrBuilder( int index)6809   public io.grafeas.v1.VulnerabilityNote.WindowsDetailOrBuilder getWindowsDetailsOrBuilder(
6810       int index) {
6811     return windowsDetails_.get(index);
6812   }
6813 
6814   public static final int SOURCE_UPDATE_TIME_FIELD_NUMBER = 6;
6815   private com.google.protobuf.Timestamp sourceUpdateTime_;
6816   /**
6817    *
6818    *
6819    * <pre>
6820    * The time this information was last changed at the source. This is an
6821    * upstream timestamp from the underlying information source - e.g. Ubuntu
6822    * security tracker.
6823    * </pre>
6824    *
6825    * <code>.google.protobuf.Timestamp source_update_time = 6;</code>
6826    *
6827    * @return Whether the sourceUpdateTime field is set.
6828    */
6829   @java.lang.Override
hasSourceUpdateTime()6830   public boolean hasSourceUpdateTime() {
6831     return sourceUpdateTime_ != null;
6832   }
6833   /**
6834    *
6835    *
6836    * <pre>
6837    * The time this information was last changed at the source. This is an
6838    * upstream timestamp from the underlying information source - e.g. Ubuntu
6839    * security tracker.
6840    * </pre>
6841    *
6842    * <code>.google.protobuf.Timestamp source_update_time = 6;</code>
6843    *
6844    * @return The sourceUpdateTime.
6845    */
6846   @java.lang.Override
getSourceUpdateTime()6847   public com.google.protobuf.Timestamp getSourceUpdateTime() {
6848     return sourceUpdateTime_ == null
6849         ? com.google.protobuf.Timestamp.getDefaultInstance()
6850         : sourceUpdateTime_;
6851   }
6852   /**
6853    *
6854    *
6855    * <pre>
6856    * The time this information was last changed at the source. This is an
6857    * upstream timestamp from the underlying information source - e.g. Ubuntu
6858    * security tracker.
6859    * </pre>
6860    *
6861    * <code>.google.protobuf.Timestamp source_update_time = 6;</code>
6862    */
6863   @java.lang.Override
getSourceUpdateTimeOrBuilder()6864   public com.google.protobuf.TimestampOrBuilder getSourceUpdateTimeOrBuilder() {
6865     return sourceUpdateTime_ == null
6866         ? com.google.protobuf.Timestamp.getDefaultInstance()
6867         : sourceUpdateTime_;
6868   }
6869 
6870   public static final int CVSS_VERSION_FIELD_NUMBER = 7;
6871   private int cvssVersion_ = 0;
6872   /**
6873    *
6874    *
6875    * <pre>
6876    * CVSS version used to populate cvss_score and severity.
6877    * </pre>
6878    *
6879    * <code>.grafeas.v1.CVSSVersion cvss_version = 7;</code>
6880    *
6881    * @return The enum numeric value on the wire for cvssVersion.
6882    */
6883   @java.lang.Override
getCvssVersionValue()6884   public int getCvssVersionValue() {
6885     return cvssVersion_;
6886   }
6887   /**
6888    *
6889    *
6890    * <pre>
6891    * CVSS version used to populate cvss_score and severity.
6892    * </pre>
6893    *
6894    * <code>.grafeas.v1.CVSSVersion cvss_version = 7;</code>
6895    *
6896    * @return The cvssVersion.
6897    */
6898   @java.lang.Override
getCvssVersion()6899   public io.grafeas.v1.CVSSVersion getCvssVersion() {
6900     io.grafeas.v1.CVSSVersion result = io.grafeas.v1.CVSSVersion.forNumber(cvssVersion_);
6901     return result == null ? io.grafeas.v1.CVSSVersion.UNRECOGNIZED : result;
6902   }
6903 
6904   public static final int CVSS_V2_FIELD_NUMBER = 8;
6905   private io.grafeas.v1.CVSS cvssV2_;
6906   /**
6907    *
6908    *
6909    * <pre>
6910    * The full description of the v2 CVSS for this vulnerability.
6911    * </pre>
6912    *
6913    * <code>.grafeas.v1.CVSS cvss_v2 = 8;</code>
6914    *
6915    * @return Whether the cvssV2 field is set.
6916    */
6917   @java.lang.Override
hasCvssV2()6918   public boolean hasCvssV2() {
6919     return cvssV2_ != null;
6920   }
6921   /**
6922    *
6923    *
6924    * <pre>
6925    * The full description of the v2 CVSS for this vulnerability.
6926    * </pre>
6927    *
6928    * <code>.grafeas.v1.CVSS cvss_v2 = 8;</code>
6929    *
6930    * @return The cvssV2.
6931    */
6932   @java.lang.Override
getCvssV2()6933   public io.grafeas.v1.CVSS getCvssV2() {
6934     return cvssV2_ == null ? io.grafeas.v1.CVSS.getDefaultInstance() : cvssV2_;
6935   }
6936   /**
6937    *
6938    *
6939    * <pre>
6940    * The full description of the v2 CVSS for this vulnerability.
6941    * </pre>
6942    *
6943    * <code>.grafeas.v1.CVSS cvss_v2 = 8;</code>
6944    */
6945   @java.lang.Override
getCvssV2OrBuilder()6946   public io.grafeas.v1.CVSSOrBuilder getCvssV2OrBuilder() {
6947     return cvssV2_ == null ? io.grafeas.v1.CVSS.getDefaultInstance() : cvssV2_;
6948   }
6949 
6950   private byte memoizedIsInitialized = -1;
6951 
6952   @java.lang.Override
isInitialized()6953   public final boolean isInitialized() {
6954     byte isInitialized = memoizedIsInitialized;
6955     if (isInitialized == 1) return true;
6956     if (isInitialized == 0) return false;
6957 
6958     memoizedIsInitialized = 1;
6959     return true;
6960   }
6961 
6962   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)6963   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
6964     if (java.lang.Float.floatToRawIntBits(cvssScore_) != 0) {
6965       output.writeFloat(1, cvssScore_);
6966     }
6967     if (severity_ != io.grafeas.v1.Severity.SEVERITY_UNSPECIFIED.getNumber()) {
6968       output.writeEnum(2, severity_);
6969     }
6970     for (int i = 0; i < details_.size(); i++) {
6971       output.writeMessage(3, details_.get(i));
6972     }
6973     if (cvssV3_ != null) {
6974       output.writeMessage(4, getCvssV3());
6975     }
6976     for (int i = 0; i < windowsDetails_.size(); i++) {
6977       output.writeMessage(5, windowsDetails_.get(i));
6978     }
6979     if (sourceUpdateTime_ != null) {
6980       output.writeMessage(6, getSourceUpdateTime());
6981     }
6982     if (cvssVersion_ != io.grafeas.v1.CVSSVersion.CVSS_VERSION_UNSPECIFIED.getNumber()) {
6983       output.writeEnum(7, cvssVersion_);
6984     }
6985     if (cvssV2_ != null) {
6986       output.writeMessage(8, getCvssV2());
6987     }
6988     getUnknownFields().writeTo(output);
6989   }
6990 
6991   @java.lang.Override
getSerializedSize()6992   public int getSerializedSize() {
6993     int size = memoizedSize;
6994     if (size != -1) return size;
6995 
6996     size = 0;
6997     if (java.lang.Float.floatToRawIntBits(cvssScore_) != 0) {
6998       size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, cvssScore_);
6999     }
7000     if (severity_ != io.grafeas.v1.Severity.SEVERITY_UNSPECIFIED.getNumber()) {
7001       size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, severity_);
7002     }
7003     for (int i = 0; i < details_.size(); i++) {
7004       size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, details_.get(i));
7005     }
7006     if (cvssV3_ != null) {
7007       size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getCvssV3());
7008     }
7009     for (int i = 0; i < windowsDetails_.size(); i++) {
7010       size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, windowsDetails_.get(i));
7011     }
7012     if (sourceUpdateTime_ != null) {
7013       size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getSourceUpdateTime());
7014     }
7015     if (cvssVersion_ != io.grafeas.v1.CVSSVersion.CVSS_VERSION_UNSPECIFIED.getNumber()) {
7016       size += com.google.protobuf.CodedOutputStream.computeEnumSize(7, cvssVersion_);
7017     }
7018     if (cvssV2_ != null) {
7019       size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, getCvssV2());
7020     }
7021     size += getUnknownFields().getSerializedSize();
7022     memoizedSize = size;
7023     return size;
7024   }
7025 
7026   @java.lang.Override
equals(final java.lang.Object obj)7027   public boolean equals(final java.lang.Object obj) {
7028     if (obj == this) {
7029       return true;
7030     }
7031     if (!(obj instanceof io.grafeas.v1.VulnerabilityNote)) {
7032       return super.equals(obj);
7033     }
7034     io.grafeas.v1.VulnerabilityNote other = (io.grafeas.v1.VulnerabilityNote) obj;
7035 
7036     if (java.lang.Float.floatToIntBits(getCvssScore())
7037         != java.lang.Float.floatToIntBits(other.getCvssScore())) return false;
7038     if (severity_ != other.severity_) return false;
7039     if (!getDetailsList().equals(other.getDetailsList())) return false;
7040     if (hasCvssV3() != other.hasCvssV3()) return false;
7041     if (hasCvssV3()) {
7042       if (!getCvssV3().equals(other.getCvssV3())) return false;
7043     }
7044     if (!getWindowsDetailsList().equals(other.getWindowsDetailsList())) return false;
7045     if (hasSourceUpdateTime() != other.hasSourceUpdateTime()) return false;
7046     if (hasSourceUpdateTime()) {
7047       if (!getSourceUpdateTime().equals(other.getSourceUpdateTime())) return false;
7048     }
7049     if (cvssVersion_ != other.cvssVersion_) return false;
7050     if (hasCvssV2() != other.hasCvssV2()) return false;
7051     if (hasCvssV2()) {
7052       if (!getCvssV2().equals(other.getCvssV2())) return false;
7053     }
7054     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
7055     return true;
7056   }
7057 
7058   @java.lang.Override
hashCode()7059   public int hashCode() {
7060     if (memoizedHashCode != 0) {
7061       return memoizedHashCode;
7062     }
7063     int hash = 41;
7064     hash = (19 * hash) + getDescriptor().hashCode();
7065     hash = (37 * hash) + CVSS_SCORE_FIELD_NUMBER;
7066     hash = (53 * hash) + java.lang.Float.floatToIntBits(getCvssScore());
7067     hash = (37 * hash) + SEVERITY_FIELD_NUMBER;
7068     hash = (53 * hash) + severity_;
7069     if (getDetailsCount() > 0) {
7070       hash = (37 * hash) + DETAILS_FIELD_NUMBER;
7071       hash = (53 * hash) + getDetailsList().hashCode();
7072     }
7073     if (hasCvssV3()) {
7074       hash = (37 * hash) + CVSS_V3_FIELD_NUMBER;
7075       hash = (53 * hash) + getCvssV3().hashCode();
7076     }
7077     if (getWindowsDetailsCount() > 0) {
7078       hash = (37 * hash) + WINDOWS_DETAILS_FIELD_NUMBER;
7079       hash = (53 * hash) + getWindowsDetailsList().hashCode();
7080     }
7081     if (hasSourceUpdateTime()) {
7082       hash = (37 * hash) + SOURCE_UPDATE_TIME_FIELD_NUMBER;
7083       hash = (53 * hash) + getSourceUpdateTime().hashCode();
7084     }
7085     hash = (37 * hash) + CVSS_VERSION_FIELD_NUMBER;
7086     hash = (53 * hash) + cvssVersion_;
7087     if (hasCvssV2()) {
7088       hash = (37 * hash) + CVSS_V2_FIELD_NUMBER;
7089       hash = (53 * hash) + getCvssV2().hashCode();
7090     }
7091     hash = (29 * hash) + getUnknownFields().hashCode();
7092     memoizedHashCode = hash;
7093     return hash;
7094   }
7095 
parseFrom(java.nio.ByteBuffer data)7096   public static io.grafeas.v1.VulnerabilityNote parseFrom(java.nio.ByteBuffer data)
7097       throws com.google.protobuf.InvalidProtocolBufferException {
7098     return PARSER.parseFrom(data);
7099   }
7100 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)7101   public static io.grafeas.v1.VulnerabilityNote parseFrom(
7102       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7103       throws com.google.protobuf.InvalidProtocolBufferException {
7104     return PARSER.parseFrom(data, extensionRegistry);
7105   }
7106 
parseFrom(com.google.protobuf.ByteString data)7107   public static io.grafeas.v1.VulnerabilityNote parseFrom(com.google.protobuf.ByteString data)
7108       throws com.google.protobuf.InvalidProtocolBufferException {
7109     return PARSER.parseFrom(data);
7110   }
7111 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)7112   public static io.grafeas.v1.VulnerabilityNote parseFrom(
7113       com.google.protobuf.ByteString data,
7114       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7115       throws com.google.protobuf.InvalidProtocolBufferException {
7116     return PARSER.parseFrom(data, extensionRegistry);
7117   }
7118 
parseFrom(byte[] data)7119   public static io.grafeas.v1.VulnerabilityNote parseFrom(byte[] data)
7120       throws com.google.protobuf.InvalidProtocolBufferException {
7121     return PARSER.parseFrom(data);
7122   }
7123 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)7124   public static io.grafeas.v1.VulnerabilityNote parseFrom(
7125       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7126       throws com.google.protobuf.InvalidProtocolBufferException {
7127     return PARSER.parseFrom(data, extensionRegistry);
7128   }
7129 
parseFrom(java.io.InputStream input)7130   public static io.grafeas.v1.VulnerabilityNote parseFrom(java.io.InputStream input)
7131       throws java.io.IOException {
7132     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
7133   }
7134 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)7135   public static io.grafeas.v1.VulnerabilityNote parseFrom(
7136       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7137       throws java.io.IOException {
7138     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
7139         PARSER, input, extensionRegistry);
7140   }
7141 
parseDelimitedFrom(java.io.InputStream input)7142   public static io.grafeas.v1.VulnerabilityNote parseDelimitedFrom(java.io.InputStream input)
7143       throws java.io.IOException {
7144     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
7145   }
7146 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)7147   public static io.grafeas.v1.VulnerabilityNote parseDelimitedFrom(
7148       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7149       throws java.io.IOException {
7150     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
7151         PARSER, input, extensionRegistry);
7152   }
7153 
parseFrom( com.google.protobuf.CodedInputStream input)7154   public static io.grafeas.v1.VulnerabilityNote parseFrom(
7155       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
7156     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
7157   }
7158 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)7159   public static io.grafeas.v1.VulnerabilityNote parseFrom(
7160       com.google.protobuf.CodedInputStream input,
7161       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7162       throws java.io.IOException {
7163     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
7164         PARSER, input, extensionRegistry);
7165   }
7166 
7167   @java.lang.Override
newBuilderForType()7168   public Builder newBuilderForType() {
7169     return newBuilder();
7170   }
7171 
newBuilder()7172   public static Builder newBuilder() {
7173     return DEFAULT_INSTANCE.toBuilder();
7174   }
7175 
newBuilder(io.grafeas.v1.VulnerabilityNote prototype)7176   public static Builder newBuilder(io.grafeas.v1.VulnerabilityNote prototype) {
7177     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
7178   }
7179 
7180   @java.lang.Override
toBuilder()7181   public Builder toBuilder() {
7182     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
7183   }
7184 
7185   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)7186   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7187     Builder builder = new Builder(parent);
7188     return builder;
7189   }
7190   /**
7191    *
7192    *
7193    * <pre>
7194    * A security vulnerability that can be found in resources.
7195    * </pre>
7196    *
7197    * Protobuf type {@code grafeas.v1.VulnerabilityNote}
7198    */
7199   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
7200       implements
7201       // @@protoc_insertion_point(builder_implements:grafeas.v1.VulnerabilityNote)
7202       io.grafeas.v1.VulnerabilityNoteOrBuilder {
getDescriptor()7203     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
7204       return io.grafeas.v1.Vulnerability.internal_static_grafeas_v1_VulnerabilityNote_descriptor;
7205     }
7206 
7207     @java.lang.Override
7208     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()7209         internalGetFieldAccessorTable() {
7210       return io.grafeas.v1.Vulnerability
7211           .internal_static_grafeas_v1_VulnerabilityNote_fieldAccessorTable
7212           .ensureFieldAccessorsInitialized(
7213               io.grafeas.v1.VulnerabilityNote.class, io.grafeas.v1.VulnerabilityNote.Builder.class);
7214     }
7215 
7216     // Construct using io.grafeas.v1.VulnerabilityNote.newBuilder()
Builder()7217     private Builder() {}
7218 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)7219     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7220       super(parent);
7221     }
7222 
7223     @java.lang.Override
clear()7224     public Builder clear() {
7225       super.clear();
7226       bitField0_ = 0;
7227       cvssScore_ = 0F;
7228       severity_ = 0;
7229       if (detailsBuilder_ == null) {
7230         details_ = java.util.Collections.emptyList();
7231       } else {
7232         details_ = null;
7233         detailsBuilder_.clear();
7234       }
7235       bitField0_ = (bitField0_ & ~0x00000004);
7236       cvssV3_ = null;
7237       if (cvssV3Builder_ != null) {
7238         cvssV3Builder_.dispose();
7239         cvssV3Builder_ = null;
7240       }
7241       if (windowsDetailsBuilder_ == null) {
7242         windowsDetails_ = java.util.Collections.emptyList();
7243       } else {
7244         windowsDetails_ = null;
7245         windowsDetailsBuilder_.clear();
7246       }
7247       bitField0_ = (bitField0_ & ~0x00000010);
7248       sourceUpdateTime_ = null;
7249       if (sourceUpdateTimeBuilder_ != null) {
7250         sourceUpdateTimeBuilder_.dispose();
7251         sourceUpdateTimeBuilder_ = null;
7252       }
7253       cvssVersion_ = 0;
7254       cvssV2_ = null;
7255       if (cvssV2Builder_ != null) {
7256         cvssV2Builder_.dispose();
7257         cvssV2Builder_ = null;
7258       }
7259       return this;
7260     }
7261 
7262     @java.lang.Override
getDescriptorForType()7263     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
7264       return io.grafeas.v1.Vulnerability.internal_static_grafeas_v1_VulnerabilityNote_descriptor;
7265     }
7266 
7267     @java.lang.Override
getDefaultInstanceForType()7268     public io.grafeas.v1.VulnerabilityNote getDefaultInstanceForType() {
7269       return io.grafeas.v1.VulnerabilityNote.getDefaultInstance();
7270     }
7271 
7272     @java.lang.Override
build()7273     public io.grafeas.v1.VulnerabilityNote build() {
7274       io.grafeas.v1.VulnerabilityNote result = buildPartial();
7275       if (!result.isInitialized()) {
7276         throw newUninitializedMessageException(result);
7277       }
7278       return result;
7279     }
7280 
7281     @java.lang.Override
buildPartial()7282     public io.grafeas.v1.VulnerabilityNote buildPartial() {
7283       io.grafeas.v1.VulnerabilityNote result = new io.grafeas.v1.VulnerabilityNote(this);
7284       buildPartialRepeatedFields(result);
7285       if (bitField0_ != 0) {
7286         buildPartial0(result);
7287       }
7288       onBuilt();
7289       return result;
7290     }
7291 
buildPartialRepeatedFields(io.grafeas.v1.VulnerabilityNote result)7292     private void buildPartialRepeatedFields(io.grafeas.v1.VulnerabilityNote result) {
7293       if (detailsBuilder_ == null) {
7294         if (((bitField0_ & 0x00000004) != 0)) {
7295           details_ = java.util.Collections.unmodifiableList(details_);
7296           bitField0_ = (bitField0_ & ~0x00000004);
7297         }
7298         result.details_ = details_;
7299       } else {
7300         result.details_ = detailsBuilder_.build();
7301       }
7302       if (windowsDetailsBuilder_ == null) {
7303         if (((bitField0_ & 0x00000010) != 0)) {
7304           windowsDetails_ = java.util.Collections.unmodifiableList(windowsDetails_);
7305           bitField0_ = (bitField0_ & ~0x00000010);
7306         }
7307         result.windowsDetails_ = windowsDetails_;
7308       } else {
7309         result.windowsDetails_ = windowsDetailsBuilder_.build();
7310       }
7311     }
7312 
buildPartial0(io.grafeas.v1.VulnerabilityNote result)7313     private void buildPartial0(io.grafeas.v1.VulnerabilityNote result) {
7314       int from_bitField0_ = bitField0_;
7315       if (((from_bitField0_ & 0x00000001) != 0)) {
7316         result.cvssScore_ = cvssScore_;
7317       }
7318       if (((from_bitField0_ & 0x00000002) != 0)) {
7319         result.severity_ = severity_;
7320       }
7321       if (((from_bitField0_ & 0x00000008) != 0)) {
7322         result.cvssV3_ = cvssV3Builder_ == null ? cvssV3_ : cvssV3Builder_.build();
7323       }
7324       if (((from_bitField0_ & 0x00000020) != 0)) {
7325         result.sourceUpdateTime_ =
7326             sourceUpdateTimeBuilder_ == null ? sourceUpdateTime_ : sourceUpdateTimeBuilder_.build();
7327       }
7328       if (((from_bitField0_ & 0x00000040) != 0)) {
7329         result.cvssVersion_ = cvssVersion_;
7330       }
7331       if (((from_bitField0_ & 0x00000080) != 0)) {
7332         result.cvssV2_ = cvssV2Builder_ == null ? cvssV2_ : cvssV2Builder_.build();
7333       }
7334     }
7335 
7336     @java.lang.Override
clone()7337     public Builder clone() {
7338       return super.clone();
7339     }
7340 
7341     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)7342     public Builder setField(
7343         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
7344       return super.setField(field, value);
7345     }
7346 
7347     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)7348     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
7349       return super.clearField(field);
7350     }
7351 
7352     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)7353     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
7354       return super.clearOneof(oneof);
7355     }
7356 
7357     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)7358     public Builder setRepeatedField(
7359         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
7360       return super.setRepeatedField(field, index, value);
7361     }
7362 
7363     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)7364     public Builder addRepeatedField(
7365         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
7366       return super.addRepeatedField(field, value);
7367     }
7368 
7369     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)7370     public Builder mergeFrom(com.google.protobuf.Message other) {
7371       if (other instanceof io.grafeas.v1.VulnerabilityNote) {
7372         return mergeFrom((io.grafeas.v1.VulnerabilityNote) other);
7373       } else {
7374         super.mergeFrom(other);
7375         return this;
7376       }
7377     }
7378 
mergeFrom(io.grafeas.v1.VulnerabilityNote other)7379     public Builder mergeFrom(io.grafeas.v1.VulnerabilityNote other) {
7380       if (other == io.grafeas.v1.VulnerabilityNote.getDefaultInstance()) return this;
7381       if (other.getCvssScore() != 0F) {
7382         setCvssScore(other.getCvssScore());
7383       }
7384       if (other.severity_ != 0) {
7385         setSeverityValue(other.getSeverityValue());
7386       }
7387       if (detailsBuilder_ == null) {
7388         if (!other.details_.isEmpty()) {
7389           if (details_.isEmpty()) {
7390             details_ = other.details_;
7391             bitField0_ = (bitField0_ & ~0x00000004);
7392           } else {
7393             ensureDetailsIsMutable();
7394             details_.addAll(other.details_);
7395           }
7396           onChanged();
7397         }
7398       } else {
7399         if (!other.details_.isEmpty()) {
7400           if (detailsBuilder_.isEmpty()) {
7401             detailsBuilder_.dispose();
7402             detailsBuilder_ = null;
7403             details_ = other.details_;
7404             bitField0_ = (bitField0_ & ~0x00000004);
7405             detailsBuilder_ =
7406                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
7407                     ? getDetailsFieldBuilder()
7408                     : null;
7409           } else {
7410             detailsBuilder_.addAllMessages(other.details_);
7411           }
7412         }
7413       }
7414       if (other.hasCvssV3()) {
7415         mergeCvssV3(other.getCvssV3());
7416       }
7417       if (windowsDetailsBuilder_ == null) {
7418         if (!other.windowsDetails_.isEmpty()) {
7419           if (windowsDetails_.isEmpty()) {
7420             windowsDetails_ = other.windowsDetails_;
7421             bitField0_ = (bitField0_ & ~0x00000010);
7422           } else {
7423             ensureWindowsDetailsIsMutable();
7424             windowsDetails_.addAll(other.windowsDetails_);
7425           }
7426           onChanged();
7427         }
7428       } else {
7429         if (!other.windowsDetails_.isEmpty()) {
7430           if (windowsDetailsBuilder_.isEmpty()) {
7431             windowsDetailsBuilder_.dispose();
7432             windowsDetailsBuilder_ = null;
7433             windowsDetails_ = other.windowsDetails_;
7434             bitField0_ = (bitField0_ & ~0x00000010);
7435             windowsDetailsBuilder_ =
7436                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
7437                     ? getWindowsDetailsFieldBuilder()
7438                     : null;
7439           } else {
7440             windowsDetailsBuilder_.addAllMessages(other.windowsDetails_);
7441           }
7442         }
7443       }
7444       if (other.hasSourceUpdateTime()) {
7445         mergeSourceUpdateTime(other.getSourceUpdateTime());
7446       }
7447       if (other.cvssVersion_ != 0) {
7448         setCvssVersionValue(other.getCvssVersionValue());
7449       }
7450       if (other.hasCvssV2()) {
7451         mergeCvssV2(other.getCvssV2());
7452       }
7453       this.mergeUnknownFields(other.getUnknownFields());
7454       onChanged();
7455       return this;
7456     }
7457 
7458     @java.lang.Override
isInitialized()7459     public final boolean isInitialized() {
7460       return true;
7461     }
7462 
7463     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)7464     public Builder mergeFrom(
7465         com.google.protobuf.CodedInputStream input,
7466         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7467         throws java.io.IOException {
7468       if (extensionRegistry == null) {
7469         throw new java.lang.NullPointerException();
7470       }
7471       try {
7472         boolean done = false;
7473         while (!done) {
7474           int tag = input.readTag();
7475           switch (tag) {
7476             case 0:
7477               done = true;
7478               break;
7479             case 13:
7480               {
7481                 cvssScore_ = input.readFloat();
7482                 bitField0_ |= 0x00000001;
7483                 break;
7484               } // case 13
7485             case 16:
7486               {
7487                 severity_ = input.readEnum();
7488                 bitField0_ |= 0x00000002;
7489                 break;
7490               } // case 16
7491             case 26:
7492               {
7493                 io.grafeas.v1.VulnerabilityNote.Detail m =
7494                     input.readMessage(
7495                         io.grafeas.v1.VulnerabilityNote.Detail.parser(), extensionRegistry);
7496                 if (detailsBuilder_ == null) {
7497                   ensureDetailsIsMutable();
7498                   details_.add(m);
7499                 } else {
7500                   detailsBuilder_.addMessage(m);
7501                 }
7502                 break;
7503               } // case 26
7504             case 34:
7505               {
7506                 input.readMessage(getCvssV3FieldBuilder().getBuilder(), extensionRegistry);
7507                 bitField0_ |= 0x00000008;
7508                 break;
7509               } // case 34
7510             case 42:
7511               {
7512                 io.grafeas.v1.VulnerabilityNote.WindowsDetail m =
7513                     input.readMessage(
7514                         io.grafeas.v1.VulnerabilityNote.WindowsDetail.parser(), extensionRegistry);
7515                 if (windowsDetailsBuilder_ == null) {
7516                   ensureWindowsDetailsIsMutable();
7517                   windowsDetails_.add(m);
7518                 } else {
7519                   windowsDetailsBuilder_.addMessage(m);
7520                 }
7521                 break;
7522               } // case 42
7523             case 50:
7524               {
7525                 input.readMessage(
7526                     getSourceUpdateTimeFieldBuilder().getBuilder(), extensionRegistry);
7527                 bitField0_ |= 0x00000020;
7528                 break;
7529               } // case 50
7530             case 56:
7531               {
7532                 cvssVersion_ = input.readEnum();
7533                 bitField0_ |= 0x00000040;
7534                 break;
7535               } // case 56
7536             case 66:
7537               {
7538                 input.readMessage(getCvssV2FieldBuilder().getBuilder(), extensionRegistry);
7539                 bitField0_ |= 0x00000080;
7540                 break;
7541               } // case 66
7542             default:
7543               {
7544                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
7545                   done = true; // was an endgroup tag
7546                 }
7547                 break;
7548               } // default:
7549           } // switch (tag)
7550         } // while (!done)
7551       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7552         throw e.unwrapIOException();
7553       } finally {
7554         onChanged();
7555       } // finally
7556       return this;
7557     }
7558 
7559     private int bitField0_;
7560 
7561     private float cvssScore_;
7562     /**
7563      *
7564      *
7565      * <pre>
7566      * The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10
7567      * where 0 indicates low severity and 10 indicates high severity.
7568      * </pre>
7569      *
7570      * <code>float cvss_score = 1;</code>
7571      *
7572      * @return The cvssScore.
7573      */
7574     @java.lang.Override
getCvssScore()7575     public float getCvssScore() {
7576       return cvssScore_;
7577     }
7578     /**
7579      *
7580      *
7581      * <pre>
7582      * The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10
7583      * where 0 indicates low severity and 10 indicates high severity.
7584      * </pre>
7585      *
7586      * <code>float cvss_score = 1;</code>
7587      *
7588      * @param value The cvssScore to set.
7589      * @return This builder for chaining.
7590      */
setCvssScore(float value)7591     public Builder setCvssScore(float value) {
7592 
7593       cvssScore_ = value;
7594       bitField0_ |= 0x00000001;
7595       onChanged();
7596       return this;
7597     }
7598     /**
7599      *
7600      *
7601      * <pre>
7602      * The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10
7603      * where 0 indicates low severity and 10 indicates high severity.
7604      * </pre>
7605      *
7606      * <code>float cvss_score = 1;</code>
7607      *
7608      * @return This builder for chaining.
7609      */
clearCvssScore()7610     public Builder clearCvssScore() {
7611       bitField0_ = (bitField0_ & ~0x00000001);
7612       cvssScore_ = 0F;
7613       onChanged();
7614       return this;
7615     }
7616 
7617     private int severity_ = 0;
7618     /**
7619      *
7620      *
7621      * <pre>
7622      * The note provider assigned severity of this vulnerability.
7623      * </pre>
7624      *
7625      * <code>.grafeas.v1.Severity severity = 2;</code>
7626      *
7627      * @return The enum numeric value on the wire for severity.
7628      */
7629     @java.lang.Override
getSeverityValue()7630     public int getSeverityValue() {
7631       return severity_;
7632     }
7633     /**
7634      *
7635      *
7636      * <pre>
7637      * The note provider assigned severity of this vulnerability.
7638      * </pre>
7639      *
7640      * <code>.grafeas.v1.Severity severity = 2;</code>
7641      *
7642      * @param value The enum numeric value on the wire for severity to set.
7643      * @return This builder for chaining.
7644      */
setSeverityValue(int value)7645     public Builder setSeverityValue(int value) {
7646       severity_ = value;
7647       bitField0_ |= 0x00000002;
7648       onChanged();
7649       return this;
7650     }
7651     /**
7652      *
7653      *
7654      * <pre>
7655      * The note provider assigned severity of this vulnerability.
7656      * </pre>
7657      *
7658      * <code>.grafeas.v1.Severity severity = 2;</code>
7659      *
7660      * @return The severity.
7661      */
7662     @java.lang.Override
getSeverity()7663     public io.grafeas.v1.Severity getSeverity() {
7664       io.grafeas.v1.Severity result = io.grafeas.v1.Severity.forNumber(severity_);
7665       return result == null ? io.grafeas.v1.Severity.UNRECOGNIZED : result;
7666     }
7667     /**
7668      *
7669      *
7670      * <pre>
7671      * The note provider assigned severity of this vulnerability.
7672      * </pre>
7673      *
7674      * <code>.grafeas.v1.Severity severity = 2;</code>
7675      *
7676      * @param value The severity to set.
7677      * @return This builder for chaining.
7678      */
setSeverity(io.grafeas.v1.Severity value)7679     public Builder setSeverity(io.grafeas.v1.Severity value) {
7680       if (value == null) {
7681         throw new NullPointerException();
7682       }
7683       bitField0_ |= 0x00000002;
7684       severity_ = value.getNumber();
7685       onChanged();
7686       return this;
7687     }
7688     /**
7689      *
7690      *
7691      * <pre>
7692      * The note provider assigned severity of this vulnerability.
7693      * </pre>
7694      *
7695      * <code>.grafeas.v1.Severity severity = 2;</code>
7696      *
7697      * @return This builder for chaining.
7698      */
clearSeverity()7699     public Builder clearSeverity() {
7700       bitField0_ = (bitField0_ & ~0x00000002);
7701       severity_ = 0;
7702       onChanged();
7703       return this;
7704     }
7705 
7706     private java.util.List<io.grafeas.v1.VulnerabilityNote.Detail> details_ =
7707         java.util.Collections.emptyList();
7708 
ensureDetailsIsMutable()7709     private void ensureDetailsIsMutable() {
7710       if (!((bitField0_ & 0x00000004) != 0)) {
7711         details_ = new java.util.ArrayList<io.grafeas.v1.VulnerabilityNote.Detail>(details_);
7712         bitField0_ |= 0x00000004;
7713       }
7714     }
7715 
7716     private com.google.protobuf.RepeatedFieldBuilderV3<
7717             io.grafeas.v1.VulnerabilityNote.Detail,
7718             io.grafeas.v1.VulnerabilityNote.Detail.Builder,
7719             io.grafeas.v1.VulnerabilityNote.DetailOrBuilder>
7720         detailsBuilder_;
7721 
7722     /**
7723      *
7724      *
7725      * <pre>
7726      * Details of all known distros and packages affected by this vulnerability.
7727      * </pre>
7728      *
7729      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7730      */
getDetailsList()7731     public java.util.List<io.grafeas.v1.VulnerabilityNote.Detail> getDetailsList() {
7732       if (detailsBuilder_ == null) {
7733         return java.util.Collections.unmodifiableList(details_);
7734       } else {
7735         return detailsBuilder_.getMessageList();
7736       }
7737     }
7738     /**
7739      *
7740      *
7741      * <pre>
7742      * Details of all known distros and packages affected by this vulnerability.
7743      * </pre>
7744      *
7745      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7746      */
getDetailsCount()7747     public int getDetailsCount() {
7748       if (detailsBuilder_ == null) {
7749         return details_.size();
7750       } else {
7751         return detailsBuilder_.getCount();
7752       }
7753     }
7754     /**
7755      *
7756      *
7757      * <pre>
7758      * Details of all known distros and packages affected by this vulnerability.
7759      * </pre>
7760      *
7761      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7762      */
getDetails(int index)7763     public io.grafeas.v1.VulnerabilityNote.Detail getDetails(int index) {
7764       if (detailsBuilder_ == null) {
7765         return details_.get(index);
7766       } else {
7767         return detailsBuilder_.getMessage(index);
7768       }
7769     }
7770     /**
7771      *
7772      *
7773      * <pre>
7774      * Details of all known distros and packages affected by this vulnerability.
7775      * </pre>
7776      *
7777      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7778      */
setDetails(int index, io.grafeas.v1.VulnerabilityNote.Detail value)7779     public Builder setDetails(int index, io.grafeas.v1.VulnerabilityNote.Detail value) {
7780       if (detailsBuilder_ == null) {
7781         if (value == null) {
7782           throw new NullPointerException();
7783         }
7784         ensureDetailsIsMutable();
7785         details_.set(index, value);
7786         onChanged();
7787       } else {
7788         detailsBuilder_.setMessage(index, value);
7789       }
7790       return this;
7791     }
7792     /**
7793      *
7794      *
7795      * <pre>
7796      * Details of all known distros and packages affected by this vulnerability.
7797      * </pre>
7798      *
7799      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7800      */
setDetails( int index, io.grafeas.v1.VulnerabilityNote.Detail.Builder builderForValue)7801     public Builder setDetails(
7802         int index, io.grafeas.v1.VulnerabilityNote.Detail.Builder builderForValue) {
7803       if (detailsBuilder_ == null) {
7804         ensureDetailsIsMutable();
7805         details_.set(index, builderForValue.build());
7806         onChanged();
7807       } else {
7808         detailsBuilder_.setMessage(index, builderForValue.build());
7809       }
7810       return this;
7811     }
7812     /**
7813      *
7814      *
7815      * <pre>
7816      * Details of all known distros and packages affected by this vulnerability.
7817      * </pre>
7818      *
7819      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7820      */
addDetails(io.grafeas.v1.VulnerabilityNote.Detail value)7821     public Builder addDetails(io.grafeas.v1.VulnerabilityNote.Detail value) {
7822       if (detailsBuilder_ == null) {
7823         if (value == null) {
7824           throw new NullPointerException();
7825         }
7826         ensureDetailsIsMutable();
7827         details_.add(value);
7828         onChanged();
7829       } else {
7830         detailsBuilder_.addMessage(value);
7831       }
7832       return this;
7833     }
7834     /**
7835      *
7836      *
7837      * <pre>
7838      * Details of all known distros and packages affected by this vulnerability.
7839      * </pre>
7840      *
7841      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7842      */
addDetails(int index, io.grafeas.v1.VulnerabilityNote.Detail value)7843     public Builder addDetails(int index, io.grafeas.v1.VulnerabilityNote.Detail value) {
7844       if (detailsBuilder_ == null) {
7845         if (value == null) {
7846           throw new NullPointerException();
7847         }
7848         ensureDetailsIsMutable();
7849         details_.add(index, value);
7850         onChanged();
7851       } else {
7852         detailsBuilder_.addMessage(index, value);
7853       }
7854       return this;
7855     }
7856     /**
7857      *
7858      *
7859      * <pre>
7860      * Details of all known distros and packages affected by this vulnerability.
7861      * </pre>
7862      *
7863      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7864      */
addDetails(io.grafeas.v1.VulnerabilityNote.Detail.Builder builderForValue)7865     public Builder addDetails(io.grafeas.v1.VulnerabilityNote.Detail.Builder builderForValue) {
7866       if (detailsBuilder_ == null) {
7867         ensureDetailsIsMutable();
7868         details_.add(builderForValue.build());
7869         onChanged();
7870       } else {
7871         detailsBuilder_.addMessage(builderForValue.build());
7872       }
7873       return this;
7874     }
7875     /**
7876      *
7877      *
7878      * <pre>
7879      * Details of all known distros and packages affected by this vulnerability.
7880      * </pre>
7881      *
7882      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7883      */
addDetails( int index, io.grafeas.v1.VulnerabilityNote.Detail.Builder builderForValue)7884     public Builder addDetails(
7885         int index, io.grafeas.v1.VulnerabilityNote.Detail.Builder builderForValue) {
7886       if (detailsBuilder_ == null) {
7887         ensureDetailsIsMutable();
7888         details_.add(index, builderForValue.build());
7889         onChanged();
7890       } else {
7891         detailsBuilder_.addMessage(index, builderForValue.build());
7892       }
7893       return this;
7894     }
7895     /**
7896      *
7897      *
7898      * <pre>
7899      * Details of all known distros and packages affected by this vulnerability.
7900      * </pre>
7901      *
7902      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7903      */
addAllDetails( java.lang.Iterable<? extends io.grafeas.v1.VulnerabilityNote.Detail> values)7904     public Builder addAllDetails(
7905         java.lang.Iterable<? extends io.grafeas.v1.VulnerabilityNote.Detail> values) {
7906       if (detailsBuilder_ == null) {
7907         ensureDetailsIsMutable();
7908         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, details_);
7909         onChanged();
7910       } else {
7911         detailsBuilder_.addAllMessages(values);
7912       }
7913       return this;
7914     }
7915     /**
7916      *
7917      *
7918      * <pre>
7919      * Details of all known distros and packages affected by this vulnerability.
7920      * </pre>
7921      *
7922      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7923      */
clearDetails()7924     public Builder clearDetails() {
7925       if (detailsBuilder_ == null) {
7926         details_ = java.util.Collections.emptyList();
7927         bitField0_ = (bitField0_ & ~0x00000004);
7928         onChanged();
7929       } else {
7930         detailsBuilder_.clear();
7931       }
7932       return this;
7933     }
7934     /**
7935      *
7936      *
7937      * <pre>
7938      * Details of all known distros and packages affected by this vulnerability.
7939      * </pre>
7940      *
7941      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7942      */
removeDetails(int index)7943     public Builder removeDetails(int index) {
7944       if (detailsBuilder_ == null) {
7945         ensureDetailsIsMutable();
7946         details_.remove(index);
7947         onChanged();
7948       } else {
7949         detailsBuilder_.remove(index);
7950       }
7951       return this;
7952     }
7953     /**
7954      *
7955      *
7956      * <pre>
7957      * Details of all known distros and packages affected by this vulnerability.
7958      * </pre>
7959      *
7960      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7961      */
getDetailsBuilder(int index)7962     public io.grafeas.v1.VulnerabilityNote.Detail.Builder getDetailsBuilder(int index) {
7963       return getDetailsFieldBuilder().getBuilder(index);
7964     }
7965     /**
7966      *
7967      *
7968      * <pre>
7969      * Details of all known distros and packages affected by this vulnerability.
7970      * </pre>
7971      *
7972      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7973      */
getDetailsOrBuilder(int index)7974     public io.grafeas.v1.VulnerabilityNote.DetailOrBuilder getDetailsOrBuilder(int index) {
7975       if (detailsBuilder_ == null) {
7976         return details_.get(index);
7977       } else {
7978         return detailsBuilder_.getMessageOrBuilder(index);
7979       }
7980     }
7981     /**
7982      *
7983      *
7984      * <pre>
7985      * Details of all known distros and packages affected by this vulnerability.
7986      * </pre>
7987      *
7988      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
7989      */
7990     public java.util.List<? extends io.grafeas.v1.VulnerabilityNote.DetailOrBuilder>
getDetailsOrBuilderList()7991         getDetailsOrBuilderList() {
7992       if (detailsBuilder_ != null) {
7993         return detailsBuilder_.getMessageOrBuilderList();
7994       } else {
7995         return java.util.Collections.unmodifiableList(details_);
7996       }
7997     }
7998     /**
7999      *
8000      *
8001      * <pre>
8002      * Details of all known distros and packages affected by this vulnerability.
8003      * </pre>
8004      *
8005      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
8006      */
addDetailsBuilder()8007     public io.grafeas.v1.VulnerabilityNote.Detail.Builder addDetailsBuilder() {
8008       return getDetailsFieldBuilder()
8009           .addBuilder(io.grafeas.v1.VulnerabilityNote.Detail.getDefaultInstance());
8010     }
8011     /**
8012      *
8013      *
8014      * <pre>
8015      * Details of all known distros and packages affected by this vulnerability.
8016      * </pre>
8017      *
8018      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
8019      */
addDetailsBuilder(int index)8020     public io.grafeas.v1.VulnerabilityNote.Detail.Builder addDetailsBuilder(int index) {
8021       return getDetailsFieldBuilder()
8022           .addBuilder(index, io.grafeas.v1.VulnerabilityNote.Detail.getDefaultInstance());
8023     }
8024     /**
8025      *
8026      *
8027      * <pre>
8028      * Details of all known distros and packages affected by this vulnerability.
8029      * </pre>
8030      *
8031      * <code>repeated .grafeas.v1.VulnerabilityNote.Detail details = 3;</code>
8032      */
getDetailsBuilderList()8033     public java.util.List<io.grafeas.v1.VulnerabilityNote.Detail.Builder> getDetailsBuilderList() {
8034       return getDetailsFieldBuilder().getBuilderList();
8035     }
8036 
8037     private com.google.protobuf.RepeatedFieldBuilderV3<
8038             io.grafeas.v1.VulnerabilityNote.Detail,
8039             io.grafeas.v1.VulnerabilityNote.Detail.Builder,
8040             io.grafeas.v1.VulnerabilityNote.DetailOrBuilder>
getDetailsFieldBuilder()8041         getDetailsFieldBuilder() {
8042       if (detailsBuilder_ == null) {
8043         detailsBuilder_ =
8044             new com.google.protobuf.RepeatedFieldBuilderV3<
8045                 io.grafeas.v1.VulnerabilityNote.Detail,
8046                 io.grafeas.v1.VulnerabilityNote.Detail.Builder,
8047                 io.grafeas.v1.VulnerabilityNote.DetailOrBuilder>(
8048                 details_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
8049         details_ = null;
8050       }
8051       return detailsBuilder_;
8052     }
8053 
8054     private io.grafeas.v1.CVSSv3 cvssV3_;
8055     private com.google.protobuf.SingleFieldBuilderV3<
8056             io.grafeas.v1.CVSSv3, io.grafeas.v1.CVSSv3.Builder, io.grafeas.v1.CVSSv3OrBuilder>
8057         cvssV3Builder_;
8058     /**
8059      *
8060      *
8061      * <pre>
8062      * The full description of the CVSSv3 for this vulnerability.
8063      * </pre>
8064      *
8065      * <code>.grafeas.v1.CVSSv3 cvss_v3 = 4;</code>
8066      *
8067      * @return Whether the cvssV3 field is set.
8068      */
hasCvssV3()8069     public boolean hasCvssV3() {
8070       return ((bitField0_ & 0x00000008) != 0);
8071     }
8072     /**
8073      *
8074      *
8075      * <pre>
8076      * The full description of the CVSSv3 for this vulnerability.
8077      * </pre>
8078      *
8079      * <code>.grafeas.v1.CVSSv3 cvss_v3 = 4;</code>
8080      *
8081      * @return The cvssV3.
8082      */
getCvssV3()8083     public io.grafeas.v1.CVSSv3 getCvssV3() {
8084       if (cvssV3Builder_ == null) {
8085         return cvssV3_ == null ? io.grafeas.v1.CVSSv3.getDefaultInstance() : cvssV3_;
8086       } else {
8087         return cvssV3Builder_.getMessage();
8088       }
8089     }
8090     /**
8091      *
8092      *
8093      * <pre>
8094      * The full description of the CVSSv3 for this vulnerability.
8095      * </pre>
8096      *
8097      * <code>.grafeas.v1.CVSSv3 cvss_v3 = 4;</code>
8098      */
setCvssV3(io.grafeas.v1.CVSSv3 value)8099     public Builder setCvssV3(io.grafeas.v1.CVSSv3 value) {
8100       if (cvssV3Builder_ == null) {
8101         if (value == null) {
8102           throw new NullPointerException();
8103         }
8104         cvssV3_ = value;
8105       } else {
8106         cvssV3Builder_.setMessage(value);
8107       }
8108       bitField0_ |= 0x00000008;
8109       onChanged();
8110       return this;
8111     }
8112     /**
8113      *
8114      *
8115      * <pre>
8116      * The full description of the CVSSv3 for this vulnerability.
8117      * </pre>
8118      *
8119      * <code>.grafeas.v1.CVSSv3 cvss_v3 = 4;</code>
8120      */
setCvssV3(io.grafeas.v1.CVSSv3.Builder builderForValue)8121     public Builder setCvssV3(io.grafeas.v1.CVSSv3.Builder builderForValue) {
8122       if (cvssV3Builder_ == null) {
8123         cvssV3_ = builderForValue.build();
8124       } else {
8125         cvssV3Builder_.setMessage(builderForValue.build());
8126       }
8127       bitField0_ |= 0x00000008;
8128       onChanged();
8129       return this;
8130     }
8131     /**
8132      *
8133      *
8134      * <pre>
8135      * The full description of the CVSSv3 for this vulnerability.
8136      * </pre>
8137      *
8138      * <code>.grafeas.v1.CVSSv3 cvss_v3 = 4;</code>
8139      */
mergeCvssV3(io.grafeas.v1.CVSSv3 value)8140     public Builder mergeCvssV3(io.grafeas.v1.CVSSv3 value) {
8141       if (cvssV3Builder_ == null) {
8142         if (((bitField0_ & 0x00000008) != 0)
8143             && cvssV3_ != null
8144             && cvssV3_ != io.grafeas.v1.CVSSv3.getDefaultInstance()) {
8145           getCvssV3Builder().mergeFrom(value);
8146         } else {
8147           cvssV3_ = value;
8148         }
8149       } else {
8150         cvssV3Builder_.mergeFrom(value);
8151       }
8152       bitField0_ |= 0x00000008;
8153       onChanged();
8154       return this;
8155     }
8156     /**
8157      *
8158      *
8159      * <pre>
8160      * The full description of the CVSSv3 for this vulnerability.
8161      * </pre>
8162      *
8163      * <code>.grafeas.v1.CVSSv3 cvss_v3 = 4;</code>
8164      */
clearCvssV3()8165     public Builder clearCvssV3() {
8166       bitField0_ = (bitField0_ & ~0x00000008);
8167       cvssV3_ = null;
8168       if (cvssV3Builder_ != null) {
8169         cvssV3Builder_.dispose();
8170         cvssV3Builder_ = null;
8171       }
8172       onChanged();
8173       return this;
8174     }
8175     /**
8176      *
8177      *
8178      * <pre>
8179      * The full description of the CVSSv3 for this vulnerability.
8180      * </pre>
8181      *
8182      * <code>.grafeas.v1.CVSSv3 cvss_v3 = 4;</code>
8183      */
getCvssV3Builder()8184     public io.grafeas.v1.CVSSv3.Builder getCvssV3Builder() {
8185       bitField0_ |= 0x00000008;
8186       onChanged();
8187       return getCvssV3FieldBuilder().getBuilder();
8188     }
8189     /**
8190      *
8191      *
8192      * <pre>
8193      * The full description of the CVSSv3 for this vulnerability.
8194      * </pre>
8195      *
8196      * <code>.grafeas.v1.CVSSv3 cvss_v3 = 4;</code>
8197      */
getCvssV3OrBuilder()8198     public io.grafeas.v1.CVSSv3OrBuilder getCvssV3OrBuilder() {
8199       if (cvssV3Builder_ != null) {
8200         return cvssV3Builder_.getMessageOrBuilder();
8201       } else {
8202         return cvssV3_ == null ? io.grafeas.v1.CVSSv3.getDefaultInstance() : cvssV3_;
8203       }
8204     }
8205     /**
8206      *
8207      *
8208      * <pre>
8209      * The full description of the CVSSv3 for this vulnerability.
8210      * </pre>
8211      *
8212      * <code>.grafeas.v1.CVSSv3 cvss_v3 = 4;</code>
8213      */
8214     private com.google.protobuf.SingleFieldBuilderV3<
8215             io.grafeas.v1.CVSSv3, io.grafeas.v1.CVSSv3.Builder, io.grafeas.v1.CVSSv3OrBuilder>
getCvssV3FieldBuilder()8216         getCvssV3FieldBuilder() {
8217       if (cvssV3Builder_ == null) {
8218         cvssV3Builder_ =
8219             new com.google.protobuf.SingleFieldBuilderV3<
8220                 io.grafeas.v1.CVSSv3, io.grafeas.v1.CVSSv3.Builder, io.grafeas.v1.CVSSv3OrBuilder>(
8221                 getCvssV3(), getParentForChildren(), isClean());
8222         cvssV3_ = null;
8223       }
8224       return cvssV3Builder_;
8225     }
8226 
8227     private java.util.List<io.grafeas.v1.VulnerabilityNote.WindowsDetail> windowsDetails_ =
8228         java.util.Collections.emptyList();
8229 
ensureWindowsDetailsIsMutable()8230     private void ensureWindowsDetailsIsMutable() {
8231       if (!((bitField0_ & 0x00000010) != 0)) {
8232         windowsDetails_ =
8233             new java.util.ArrayList<io.grafeas.v1.VulnerabilityNote.WindowsDetail>(windowsDetails_);
8234         bitField0_ |= 0x00000010;
8235       }
8236     }
8237 
8238     private com.google.protobuf.RepeatedFieldBuilderV3<
8239             io.grafeas.v1.VulnerabilityNote.WindowsDetail,
8240             io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder,
8241             io.grafeas.v1.VulnerabilityNote.WindowsDetailOrBuilder>
8242         windowsDetailsBuilder_;
8243 
8244     /**
8245      *
8246      *
8247      * <pre>
8248      * Windows details get their own format because the information format and
8249      * model don't match a normal detail. Specifically Windows updates are done as
8250      * patches, thus Windows vulnerabilities really are a missing package, rather
8251      * than a package being at an incorrect version.
8252      * </pre>
8253      *
8254      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8255      */
getWindowsDetailsList()8256     public java.util.List<io.grafeas.v1.VulnerabilityNote.WindowsDetail> getWindowsDetailsList() {
8257       if (windowsDetailsBuilder_ == null) {
8258         return java.util.Collections.unmodifiableList(windowsDetails_);
8259       } else {
8260         return windowsDetailsBuilder_.getMessageList();
8261       }
8262     }
8263     /**
8264      *
8265      *
8266      * <pre>
8267      * Windows details get their own format because the information format and
8268      * model don't match a normal detail. Specifically Windows updates are done as
8269      * patches, thus Windows vulnerabilities really are a missing package, rather
8270      * than a package being at an incorrect version.
8271      * </pre>
8272      *
8273      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8274      */
getWindowsDetailsCount()8275     public int getWindowsDetailsCount() {
8276       if (windowsDetailsBuilder_ == null) {
8277         return windowsDetails_.size();
8278       } else {
8279         return windowsDetailsBuilder_.getCount();
8280       }
8281     }
8282     /**
8283      *
8284      *
8285      * <pre>
8286      * Windows details get their own format because the information format and
8287      * model don't match a normal detail. Specifically Windows updates are done as
8288      * patches, thus Windows vulnerabilities really are a missing package, rather
8289      * than a package being at an incorrect version.
8290      * </pre>
8291      *
8292      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8293      */
getWindowsDetails(int index)8294     public io.grafeas.v1.VulnerabilityNote.WindowsDetail getWindowsDetails(int index) {
8295       if (windowsDetailsBuilder_ == null) {
8296         return windowsDetails_.get(index);
8297       } else {
8298         return windowsDetailsBuilder_.getMessage(index);
8299       }
8300     }
8301     /**
8302      *
8303      *
8304      * <pre>
8305      * Windows details get their own format because the information format and
8306      * model don't match a normal detail. Specifically Windows updates are done as
8307      * patches, thus Windows vulnerabilities really are a missing package, rather
8308      * than a package being at an incorrect version.
8309      * </pre>
8310      *
8311      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8312      */
setWindowsDetails( int index, io.grafeas.v1.VulnerabilityNote.WindowsDetail value)8313     public Builder setWindowsDetails(
8314         int index, io.grafeas.v1.VulnerabilityNote.WindowsDetail value) {
8315       if (windowsDetailsBuilder_ == null) {
8316         if (value == null) {
8317           throw new NullPointerException();
8318         }
8319         ensureWindowsDetailsIsMutable();
8320         windowsDetails_.set(index, value);
8321         onChanged();
8322       } else {
8323         windowsDetailsBuilder_.setMessage(index, value);
8324       }
8325       return this;
8326     }
8327     /**
8328      *
8329      *
8330      * <pre>
8331      * Windows details get their own format because the information format and
8332      * model don't match a normal detail. Specifically Windows updates are done as
8333      * patches, thus Windows vulnerabilities really are a missing package, rather
8334      * than a package being at an incorrect version.
8335      * </pre>
8336      *
8337      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8338      */
setWindowsDetails( int index, io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder builderForValue)8339     public Builder setWindowsDetails(
8340         int index, io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder builderForValue) {
8341       if (windowsDetailsBuilder_ == null) {
8342         ensureWindowsDetailsIsMutable();
8343         windowsDetails_.set(index, builderForValue.build());
8344         onChanged();
8345       } else {
8346         windowsDetailsBuilder_.setMessage(index, builderForValue.build());
8347       }
8348       return this;
8349     }
8350     /**
8351      *
8352      *
8353      * <pre>
8354      * Windows details get their own format because the information format and
8355      * model don't match a normal detail. Specifically Windows updates are done as
8356      * patches, thus Windows vulnerabilities really are a missing package, rather
8357      * than a package being at an incorrect version.
8358      * </pre>
8359      *
8360      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8361      */
addWindowsDetails(io.grafeas.v1.VulnerabilityNote.WindowsDetail value)8362     public Builder addWindowsDetails(io.grafeas.v1.VulnerabilityNote.WindowsDetail value) {
8363       if (windowsDetailsBuilder_ == null) {
8364         if (value == null) {
8365           throw new NullPointerException();
8366         }
8367         ensureWindowsDetailsIsMutable();
8368         windowsDetails_.add(value);
8369         onChanged();
8370       } else {
8371         windowsDetailsBuilder_.addMessage(value);
8372       }
8373       return this;
8374     }
8375     /**
8376      *
8377      *
8378      * <pre>
8379      * Windows details get their own format because the information format and
8380      * model don't match a normal detail. Specifically Windows updates are done as
8381      * patches, thus Windows vulnerabilities really are a missing package, rather
8382      * than a package being at an incorrect version.
8383      * </pre>
8384      *
8385      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8386      */
addWindowsDetails( int index, io.grafeas.v1.VulnerabilityNote.WindowsDetail value)8387     public Builder addWindowsDetails(
8388         int index, io.grafeas.v1.VulnerabilityNote.WindowsDetail value) {
8389       if (windowsDetailsBuilder_ == null) {
8390         if (value == null) {
8391           throw new NullPointerException();
8392         }
8393         ensureWindowsDetailsIsMutable();
8394         windowsDetails_.add(index, value);
8395         onChanged();
8396       } else {
8397         windowsDetailsBuilder_.addMessage(index, value);
8398       }
8399       return this;
8400     }
8401     /**
8402      *
8403      *
8404      * <pre>
8405      * Windows details get their own format because the information format and
8406      * model don't match a normal detail. Specifically Windows updates are done as
8407      * patches, thus Windows vulnerabilities really are a missing package, rather
8408      * than a package being at an incorrect version.
8409      * </pre>
8410      *
8411      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8412      */
addWindowsDetails( io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder builderForValue)8413     public Builder addWindowsDetails(
8414         io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder builderForValue) {
8415       if (windowsDetailsBuilder_ == null) {
8416         ensureWindowsDetailsIsMutable();
8417         windowsDetails_.add(builderForValue.build());
8418         onChanged();
8419       } else {
8420         windowsDetailsBuilder_.addMessage(builderForValue.build());
8421       }
8422       return this;
8423     }
8424     /**
8425      *
8426      *
8427      * <pre>
8428      * Windows details get their own format because the information format and
8429      * model don't match a normal detail. Specifically Windows updates are done as
8430      * patches, thus Windows vulnerabilities really are a missing package, rather
8431      * than a package being at an incorrect version.
8432      * </pre>
8433      *
8434      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8435      */
addWindowsDetails( int index, io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder builderForValue)8436     public Builder addWindowsDetails(
8437         int index, io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder builderForValue) {
8438       if (windowsDetailsBuilder_ == null) {
8439         ensureWindowsDetailsIsMutable();
8440         windowsDetails_.add(index, builderForValue.build());
8441         onChanged();
8442       } else {
8443         windowsDetailsBuilder_.addMessage(index, builderForValue.build());
8444       }
8445       return this;
8446     }
8447     /**
8448      *
8449      *
8450      * <pre>
8451      * Windows details get their own format because the information format and
8452      * model don't match a normal detail. Specifically Windows updates are done as
8453      * patches, thus Windows vulnerabilities really are a missing package, rather
8454      * than a package being at an incorrect version.
8455      * </pre>
8456      *
8457      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8458      */
addAllWindowsDetails( java.lang.Iterable<? extends io.grafeas.v1.VulnerabilityNote.WindowsDetail> values)8459     public Builder addAllWindowsDetails(
8460         java.lang.Iterable<? extends io.grafeas.v1.VulnerabilityNote.WindowsDetail> values) {
8461       if (windowsDetailsBuilder_ == null) {
8462         ensureWindowsDetailsIsMutable();
8463         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, windowsDetails_);
8464         onChanged();
8465       } else {
8466         windowsDetailsBuilder_.addAllMessages(values);
8467       }
8468       return this;
8469     }
8470     /**
8471      *
8472      *
8473      * <pre>
8474      * Windows details get their own format because the information format and
8475      * model don't match a normal detail. Specifically Windows updates are done as
8476      * patches, thus Windows vulnerabilities really are a missing package, rather
8477      * than a package being at an incorrect version.
8478      * </pre>
8479      *
8480      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8481      */
clearWindowsDetails()8482     public Builder clearWindowsDetails() {
8483       if (windowsDetailsBuilder_ == null) {
8484         windowsDetails_ = java.util.Collections.emptyList();
8485         bitField0_ = (bitField0_ & ~0x00000010);
8486         onChanged();
8487       } else {
8488         windowsDetailsBuilder_.clear();
8489       }
8490       return this;
8491     }
8492     /**
8493      *
8494      *
8495      * <pre>
8496      * Windows details get their own format because the information format and
8497      * model don't match a normal detail. Specifically Windows updates are done as
8498      * patches, thus Windows vulnerabilities really are a missing package, rather
8499      * than a package being at an incorrect version.
8500      * </pre>
8501      *
8502      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8503      */
removeWindowsDetails(int index)8504     public Builder removeWindowsDetails(int index) {
8505       if (windowsDetailsBuilder_ == null) {
8506         ensureWindowsDetailsIsMutable();
8507         windowsDetails_.remove(index);
8508         onChanged();
8509       } else {
8510         windowsDetailsBuilder_.remove(index);
8511       }
8512       return this;
8513     }
8514     /**
8515      *
8516      *
8517      * <pre>
8518      * Windows details get their own format because the information format and
8519      * model don't match a normal detail. Specifically Windows updates are done as
8520      * patches, thus Windows vulnerabilities really are a missing package, rather
8521      * than a package being at an incorrect version.
8522      * </pre>
8523      *
8524      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8525      */
getWindowsDetailsBuilder( int index)8526     public io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder getWindowsDetailsBuilder(
8527         int index) {
8528       return getWindowsDetailsFieldBuilder().getBuilder(index);
8529     }
8530     /**
8531      *
8532      *
8533      * <pre>
8534      * Windows details get their own format because the information format and
8535      * model don't match a normal detail. Specifically Windows updates are done as
8536      * patches, thus Windows vulnerabilities really are a missing package, rather
8537      * than a package being at an incorrect version.
8538      * </pre>
8539      *
8540      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8541      */
getWindowsDetailsOrBuilder( int index)8542     public io.grafeas.v1.VulnerabilityNote.WindowsDetailOrBuilder getWindowsDetailsOrBuilder(
8543         int index) {
8544       if (windowsDetailsBuilder_ == null) {
8545         return windowsDetails_.get(index);
8546       } else {
8547         return windowsDetailsBuilder_.getMessageOrBuilder(index);
8548       }
8549     }
8550     /**
8551      *
8552      *
8553      * <pre>
8554      * Windows details get their own format because the information format and
8555      * model don't match a normal detail. Specifically Windows updates are done as
8556      * patches, thus Windows vulnerabilities really are a missing package, rather
8557      * than a package being at an incorrect version.
8558      * </pre>
8559      *
8560      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8561      */
8562     public java.util.List<? extends io.grafeas.v1.VulnerabilityNote.WindowsDetailOrBuilder>
getWindowsDetailsOrBuilderList()8563         getWindowsDetailsOrBuilderList() {
8564       if (windowsDetailsBuilder_ != null) {
8565         return windowsDetailsBuilder_.getMessageOrBuilderList();
8566       } else {
8567         return java.util.Collections.unmodifiableList(windowsDetails_);
8568       }
8569     }
8570     /**
8571      *
8572      *
8573      * <pre>
8574      * Windows details get their own format because the information format and
8575      * model don't match a normal detail. Specifically Windows updates are done as
8576      * patches, thus Windows vulnerabilities really are a missing package, rather
8577      * than a package being at an incorrect version.
8578      * </pre>
8579      *
8580      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8581      */
addWindowsDetailsBuilder()8582     public io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder addWindowsDetailsBuilder() {
8583       return getWindowsDetailsFieldBuilder()
8584           .addBuilder(io.grafeas.v1.VulnerabilityNote.WindowsDetail.getDefaultInstance());
8585     }
8586     /**
8587      *
8588      *
8589      * <pre>
8590      * Windows details get their own format because the information format and
8591      * model don't match a normal detail. Specifically Windows updates are done as
8592      * patches, thus Windows vulnerabilities really are a missing package, rather
8593      * than a package being at an incorrect version.
8594      * </pre>
8595      *
8596      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8597      */
addWindowsDetailsBuilder( int index)8598     public io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder addWindowsDetailsBuilder(
8599         int index) {
8600       return getWindowsDetailsFieldBuilder()
8601           .addBuilder(index, io.grafeas.v1.VulnerabilityNote.WindowsDetail.getDefaultInstance());
8602     }
8603     /**
8604      *
8605      *
8606      * <pre>
8607      * Windows details get their own format because the information format and
8608      * model don't match a normal detail. Specifically Windows updates are done as
8609      * patches, thus Windows vulnerabilities really are a missing package, rather
8610      * than a package being at an incorrect version.
8611      * </pre>
8612      *
8613      * <code>repeated .grafeas.v1.VulnerabilityNote.WindowsDetail windows_details = 5;</code>
8614      */
8615     public java.util.List<io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder>
getWindowsDetailsBuilderList()8616         getWindowsDetailsBuilderList() {
8617       return getWindowsDetailsFieldBuilder().getBuilderList();
8618     }
8619 
8620     private com.google.protobuf.RepeatedFieldBuilderV3<
8621             io.grafeas.v1.VulnerabilityNote.WindowsDetail,
8622             io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder,
8623             io.grafeas.v1.VulnerabilityNote.WindowsDetailOrBuilder>
getWindowsDetailsFieldBuilder()8624         getWindowsDetailsFieldBuilder() {
8625       if (windowsDetailsBuilder_ == null) {
8626         windowsDetailsBuilder_ =
8627             new com.google.protobuf.RepeatedFieldBuilderV3<
8628                 io.grafeas.v1.VulnerabilityNote.WindowsDetail,
8629                 io.grafeas.v1.VulnerabilityNote.WindowsDetail.Builder,
8630                 io.grafeas.v1.VulnerabilityNote.WindowsDetailOrBuilder>(
8631                 windowsDetails_,
8632                 ((bitField0_ & 0x00000010) != 0),
8633                 getParentForChildren(),
8634                 isClean());
8635         windowsDetails_ = null;
8636       }
8637       return windowsDetailsBuilder_;
8638     }
8639 
8640     private com.google.protobuf.Timestamp sourceUpdateTime_;
8641     private com.google.protobuf.SingleFieldBuilderV3<
8642             com.google.protobuf.Timestamp,
8643             com.google.protobuf.Timestamp.Builder,
8644             com.google.protobuf.TimestampOrBuilder>
8645         sourceUpdateTimeBuilder_;
8646     /**
8647      *
8648      *
8649      * <pre>
8650      * The time this information was last changed at the source. This is an
8651      * upstream timestamp from the underlying information source - e.g. Ubuntu
8652      * security tracker.
8653      * </pre>
8654      *
8655      * <code>.google.protobuf.Timestamp source_update_time = 6;</code>
8656      *
8657      * @return Whether the sourceUpdateTime field is set.
8658      */
hasSourceUpdateTime()8659     public boolean hasSourceUpdateTime() {
8660       return ((bitField0_ & 0x00000020) != 0);
8661     }
8662     /**
8663      *
8664      *
8665      * <pre>
8666      * The time this information was last changed at the source. This is an
8667      * upstream timestamp from the underlying information source - e.g. Ubuntu
8668      * security tracker.
8669      * </pre>
8670      *
8671      * <code>.google.protobuf.Timestamp source_update_time = 6;</code>
8672      *
8673      * @return The sourceUpdateTime.
8674      */
getSourceUpdateTime()8675     public com.google.protobuf.Timestamp getSourceUpdateTime() {
8676       if (sourceUpdateTimeBuilder_ == null) {
8677         return sourceUpdateTime_ == null
8678             ? com.google.protobuf.Timestamp.getDefaultInstance()
8679             : sourceUpdateTime_;
8680       } else {
8681         return sourceUpdateTimeBuilder_.getMessage();
8682       }
8683     }
8684     /**
8685      *
8686      *
8687      * <pre>
8688      * The time this information was last changed at the source. This is an
8689      * upstream timestamp from the underlying information source - e.g. Ubuntu
8690      * security tracker.
8691      * </pre>
8692      *
8693      * <code>.google.protobuf.Timestamp source_update_time = 6;</code>
8694      */
setSourceUpdateTime(com.google.protobuf.Timestamp value)8695     public Builder setSourceUpdateTime(com.google.protobuf.Timestamp value) {
8696       if (sourceUpdateTimeBuilder_ == null) {
8697         if (value == null) {
8698           throw new NullPointerException();
8699         }
8700         sourceUpdateTime_ = value;
8701       } else {
8702         sourceUpdateTimeBuilder_.setMessage(value);
8703       }
8704       bitField0_ |= 0x00000020;
8705       onChanged();
8706       return this;
8707     }
8708     /**
8709      *
8710      *
8711      * <pre>
8712      * The time this information was last changed at the source. This is an
8713      * upstream timestamp from the underlying information source - e.g. Ubuntu
8714      * security tracker.
8715      * </pre>
8716      *
8717      * <code>.google.protobuf.Timestamp source_update_time = 6;</code>
8718      */
setSourceUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue)8719     public Builder setSourceUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
8720       if (sourceUpdateTimeBuilder_ == null) {
8721         sourceUpdateTime_ = builderForValue.build();
8722       } else {
8723         sourceUpdateTimeBuilder_.setMessage(builderForValue.build());
8724       }
8725       bitField0_ |= 0x00000020;
8726       onChanged();
8727       return this;
8728     }
8729     /**
8730      *
8731      *
8732      * <pre>
8733      * The time this information was last changed at the source. This is an
8734      * upstream timestamp from the underlying information source - e.g. Ubuntu
8735      * security tracker.
8736      * </pre>
8737      *
8738      * <code>.google.protobuf.Timestamp source_update_time = 6;</code>
8739      */
mergeSourceUpdateTime(com.google.protobuf.Timestamp value)8740     public Builder mergeSourceUpdateTime(com.google.protobuf.Timestamp value) {
8741       if (sourceUpdateTimeBuilder_ == null) {
8742         if (((bitField0_ & 0x00000020) != 0)
8743             && sourceUpdateTime_ != null
8744             && sourceUpdateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
8745           getSourceUpdateTimeBuilder().mergeFrom(value);
8746         } else {
8747           sourceUpdateTime_ = value;
8748         }
8749       } else {
8750         sourceUpdateTimeBuilder_.mergeFrom(value);
8751       }
8752       bitField0_ |= 0x00000020;
8753       onChanged();
8754       return this;
8755     }
8756     /**
8757      *
8758      *
8759      * <pre>
8760      * The time this information was last changed at the source. This is an
8761      * upstream timestamp from the underlying information source - e.g. Ubuntu
8762      * security tracker.
8763      * </pre>
8764      *
8765      * <code>.google.protobuf.Timestamp source_update_time = 6;</code>
8766      */
clearSourceUpdateTime()8767     public Builder clearSourceUpdateTime() {
8768       bitField0_ = (bitField0_ & ~0x00000020);
8769       sourceUpdateTime_ = null;
8770       if (sourceUpdateTimeBuilder_ != null) {
8771         sourceUpdateTimeBuilder_.dispose();
8772         sourceUpdateTimeBuilder_ = null;
8773       }
8774       onChanged();
8775       return this;
8776     }
8777     /**
8778      *
8779      *
8780      * <pre>
8781      * The time this information was last changed at the source. This is an
8782      * upstream timestamp from the underlying information source - e.g. Ubuntu
8783      * security tracker.
8784      * </pre>
8785      *
8786      * <code>.google.protobuf.Timestamp source_update_time = 6;</code>
8787      */
getSourceUpdateTimeBuilder()8788     public com.google.protobuf.Timestamp.Builder getSourceUpdateTimeBuilder() {
8789       bitField0_ |= 0x00000020;
8790       onChanged();
8791       return getSourceUpdateTimeFieldBuilder().getBuilder();
8792     }
8793     /**
8794      *
8795      *
8796      * <pre>
8797      * The time this information was last changed at the source. This is an
8798      * upstream timestamp from the underlying information source - e.g. Ubuntu
8799      * security tracker.
8800      * </pre>
8801      *
8802      * <code>.google.protobuf.Timestamp source_update_time = 6;</code>
8803      */
getSourceUpdateTimeOrBuilder()8804     public com.google.protobuf.TimestampOrBuilder getSourceUpdateTimeOrBuilder() {
8805       if (sourceUpdateTimeBuilder_ != null) {
8806         return sourceUpdateTimeBuilder_.getMessageOrBuilder();
8807       } else {
8808         return sourceUpdateTime_ == null
8809             ? com.google.protobuf.Timestamp.getDefaultInstance()
8810             : sourceUpdateTime_;
8811       }
8812     }
8813     /**
8814      *
8815      *
8816      * <pre>
8817      * The time this information was last changed at the source. This is an
8818      * upstream timestamp from the underlying information source - e.g. Ubuntu
8819      * security tracker.
8820      * </pre>
8821      *
8822      * <code>.google.protobuf.Timestamp source_update_time = 6;</code>
8823      */
8824     private com.google.protobuf.SingleFieldBuilderV3<
8825             com.google.protobuf.Timestamp,
8826             com.google.protobuf.Timestamp.Builder,
8827             com.google.protobuf.TimestampOrBuilder>
getSourceUpdateTimeFieldBuilder()8828         getSourceUpdateTimeFieldBuilder() {
8829       if (sourceUpdateTimeBuilder_ == null) {
8830         sourceUpdateTimeBuilder_ =
8831             new com.google.protobuf.SingleFieldBuilderV3<
8832                 com.google.protobuf.Timestamp,
8833                 com.google.protobuf.Timestamp.Builder,
8834                 com.google.protobuf.TimestampOrBuilder>(
8835                 getSourceUpdateTime(), getParentForChildren(), isClean());
8836         sourceUpdateTime_ = null;
8837       }
8838       return sourceUpdateTimeBuilder_;
8839     }
8840 
8841     private int cvssVersion_ = 0;
8842     /**
8843      *
8844      *
8845      * <pre>
8846      * CVSS version used to populate cvss_score and severity.
8847      * </pre>
8848      *
8849      * <code>.grafeas.v1.CVSSVersion cvss_version = 7;</code>
8850      *
8851      * @return The enum numeric value on the wire for cvssVersion.
8852      */
8853     @java.lang.Override
getCvssVersionValue()8854     public int getCvssVersionValue() {
8855       return cvssVersion_;
8856     }
8857     /**
8858      *
8859      *
8860      * <pre>
8861      * CVSS version used to populate cvss_score and severity.
8862      * </pre>
8863      *
8864      * <code>.grafeas.v1.CVSSVersion cvss_version = 7;</code>
8865      *
8866      * @param value The enum numeric value on the wire for cvssVersion to set.
8867      * @return This builder for chaining.
8868      */
setCvssVersionValue(int value)8869     public Builder setCvssVersionValue(int value) {
8870       cvssVersion_ = value;
8871       bitField0_ |= 0x00000040;
8872       onChanged();
8873       return this;
8874     }
8875     /**
8876      *
8877      *
8878      * <pre>
8879      * CVSS version used to populate cvss_score and severity.
8880      * </pre>
8881      *
8882      * <code>.grafeas.v1.CVSSVersion cvss_version = 7;</code>
8883      *
8884      * @return The cvssVersion.
8885      */
8886     @java.lang.Override
getCvssVersion()8887     public io.grafeas.v1.CVSSVersion getCvssVersion() {
8888       io.grafeas.v1.CVSSVersion result = io.grafeas.v1.CVSSVersion.forNumber(cvssVersion_);
8889       return result == null ? io.grafeas.v1.CVSSVersion.UNRECOGNIZED : result;
8890     }
8891     /**
8892      *
8893      *
8894      * <pre>
8895      * CVSS version used to populate cvss_score and severity.
8896      * </pre>
8897      *
8898      * <code>.grafeas.v1.CVSSVersion cvss_version = 7;</code>
8899      *
8900      * @param value The cvssVersion to set.
8901      * @return This builder for chaining.
8902      */
setCvssVersion(io.grafeas.v1.CVSSVersion value)8903     public Builder setCvssVersion(io.grafeas.v1.CVSSVersion value) {
8904       if (value == null) {
8905         throw new NullPointerException();
8906       }
8907       bitField0_ |= 0x00000040;
8908       cvssVersion_ = value.getNumber();
8909       onChanged();
8910       return this;
8911     }
8912     /**
8913      *
8914      *
8915      * <pre>
8916      * CVSS version used to populate cvss_score and severity.
8917      * </pre>
8918      *
8919      * <code>.grafeas.v1.CVSSVersion cvss_version = 7;</code>
8920      *
8921      * @return This builder for chaining.
8922      */
clearCvssVersion()8923     public Builder clearCvssVersion() {
8924       bitField0_ = (bitField0_ & ~0x00000040);
8925       cvssVersion_ = 0;
8926       onChanged();
8927       return this;
8928     }
8929 
8930     private io.grafeas.v1.CVSS cvssV2_;
8931     private com.google.protobuf.SingleFieldBuilderV3<
8932             io.grafeas.v1.CVSS, io.grafeas.v1.CVSS.Builder, io.grafeas.v1.CVSSOrBuilder>
8933         cvssV2Builder_;
8934     /**
8935      *
8936      *
8937      * <pre>
8938      * The full description of the v2 CVSS for this vulnerability.
8939      * </pre>
8940      *
8941      * <code>.grafeas.v1.CVSS cvss_v2 = 8;</code>
8942      *
8943      * @return Whether the cvssV2 field is set.
8944      */
hasCvssV2()8945     public boolean hasCvssV2() {
8946       return ((bitField0_ & 0x00000080) != 0);
8947     }
8948     /**
8949      *
8950      *
8951      * <pre>
8952      * The full description of the v2 CVSS for this vulnerability.
8953      * </pre>
8954      *
8955      * <code>.grafeas.v1.CVSS cvss_v2 = 8;</code>
8956      *
8957      * @return The cvssV2.
8958      */
getCvssV2()8959     public io.grafeas.v1.CVSS getCvssV2() {
8960       if (cvssV2Builder_ == null) {
8961         return cvssV2_ == null ? io.grafeas.v1.CVSS.getDefaultInstance() : cvssV2_;
8962       } else {
8963         return cvssV2Builder_.getMessage();
8964       }
8965     }
8966     /**
8967      *
8968      *
8969      * <pre>
8970      * The full description of the v2 CVSS for this vulnerability.
8971      * </pre>
8972      *
8973      * <code>.grafeas.v1.CVSS cvss_v2 = 8;</code>
8974      */
setCvssV2(io.grafeas.v1.CVSS value)8975     public Builder setCvssV2(io.grafeas.v1.CVSS value) {
8976       if (cvssV2Builder_ == null) {
8977         if (value == null) {
8978           throw new NullPointerException();
8979         }
8980         cvssV2_ = value;
8981       } else {
8982         cvssV2Builder_.setMessage(value);
8983       }
8984       bitField0_ |= 0x00000080;
8985       onChanged();
8986       return this;
8987     }
8988     /**
8989      *
8990      *
8991      * <pre>
8992      * The full description of the v2 CVSS for this vulnerability.
8993      * </pre>
8994      *
8995      * <code>.grafeas.v1.CVSS cvss_v2 = 8;</code>
8996      */
setCvssV2(io.grafeas.v1.CVSS.Builder builderForValue)8997     public Builder setCvssV2(io.grafeas.v1.CVSS.Builder builderForValue) {
8998       if (cvssV2Builder_ == null) {
8999         cvssV2_ = builderForValue.build();
9000       } else {
9001         cvssV2Builder_.setMessage(builderForValue.build());
9002       }
9003       bitField0_ |= 0x00000080;
9004       onChanged();
9005       return this;
9006     }
9007     /**
9008      *
9009      *
9010      * <pre>
9011      * The full description of the v2 CVSS for this vulnerability.
9012      * </pre>
9013      *
9014      * <code>.grafeas.v1.CVSS cvss_v2 = 8;</code>
9015      */
mergeCvssV2(io.grafeas.v1.CVSS value)9016     public Builder mergeCvssV2(io.grafeas.v1.CVSS value) {
9017       if (cvssV2Builder_ == null) {
9018         if (((bitField0_ & 0x00000080) != 0)
9019             && cvssV2_ != null
9020             && cvssV2_ != io.grafeas.v1.CVSS.getDefaultInstance()) {
9021           getCvssV2Builder().mergeFrom(value);
9022         } else {
9023           cvssV2_ = value;
9024         }
9025       } else {
9026         cvssV2Builder_.mergeFrom(value);
9027       }
9028       bitField0_ |= 0x00000080;
9029       onChanged();
9030       return this;
9031     }
9032     /**
9033      *
9034      *
9035      * <pre>
9036      * The full description of the v2 CVSS for this vulnerability.
9037      * </pre>
9038      *
9039      * <code>.grafeas.v1.CVSS cvss_v2 = 8;</code>
9040      */
clearCvssV2()9041     public Builder clearCvssV2() {
9042       bitField0_ = (bitField0_ & ~0x00000080);
9043       cvssV2_ = null;
9044       if (cvssV2Builder_ != null) {
9045         cvssV2Builder_.dispose();
9046         cvssV2Builder_ = null;
9047       }
9048       onChanged();
9049       return this;
9050     }
9051     /**
9052      *
9053      *
9054      * <pre>
9055      * The full description of the v2 CVSS for this vulnerability.
9056      * </pre>
9057      *
9058      * <code>.grafeas.v1.CVSS cvss_v2 = 8;</code>
9059      */
getCvssV2Builder()9060     public io.grafeas.v1.CVSS.Builder getCvssV2Builder() {
9061       bitField0_ |= 0x00000080;
9062       onChanged();
9063       return getCvssV2FieldBuilder().getBuilder();
9064     }
9065     /**
9066      *
9067      *
9068      * <pre>
9069      * The full description of the v2 CVSS for this vulnerability.
9070      * </pre>
9071      *
9072      * <code>.grafeas.v1.CVSS cvss_v2 = 8;</code>
9073      */
getCvssV2OrBuilder()9074     public io.grafeas.v1.CVSSOrBuilder getCvssV2OrBuilder() {
9075       if (cvssV2Builder_ != null) {
9076         return cvssV2Builder_.getMessageOrBuilder();
9077       } else {
9078         return cvssV2_ == null ? io.grafeas.v1.CVSS.getDefaultInstance() : cvssV2_;
9079       }
9080     }
9081     /**
9082      *
9083      *
9084      * <pre>
9085      * The full description of the v2 CVSS for this vulnerability.
9086      * </pre>
9087      *
9088      * <code>.grafeas.v1.CVSS cvss_v2 = 8;</code>
9089      */
9090     private com.google.protobuf.SingleFieldBuilderV3<
9091             io.grafeas.v1.CVSS, io.grafeas.v1.CVSS.Builder, io.grafeas.v1.CVSSOrBuilder>
getCvssV2FieldBuilder()9092         getCvssV2FieldBuilder() {
9093       if (cvssV2Builder_ == null) {
9094         cvssV2Builder_ =
9095             new com.google.protobuf.SingleFieldBuilderV3<
9096                 io.grafeas.v1.CVSS, io.grafeas.v1.CVSS.Builder, io.grafeas.v1.CVSSOrBuilder>(
9097                 getCvssV2(), getParentForChildren(), isClean());
9098         cvssV2_ = null;
9099       }
9100       return cvssV2Builder_;
9101     }
9102 
9103     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)9104     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
9105       return super.setUnknownFields(unknownFields);
9106     }
9107 
9108     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)9109     public final Builder mergeUnknownFields(
9110         final com.google.protobuf.UnknownFieldSet unknownFields) {
9111       return super.mergeUnknownFields(unknownFields);
9112     }
9113 
9114     // @@protoc_insertion_point(builder_scope:grafeas.v1.VulnerabilityNote)
9115   }
9116 
9117   // @@protoc_insertion_point(class_scope:grafeas.v1.VulnerabilityNote)
9118   private static final io.grafeas.v1.VulnerabilityNote DEFAULT_INSTANCE;
9119 
9120   static {
9121     DEFAULT_INSTANCE = new io.grafeas.v1.VulnerabilityNote();
9122   }
9123 
getDefaultInstance()9124   public static io.grafeas.v1.VulnerabilityNote getDefaultInstance() {
9125     return DEFAULT_INSTANCE;
9126   }
9127 
9128   private static final com.google.protobuf.Parser<VulnerabilityNote> PARSER =
9129       new com.google.protobuf.AbstractParser<VulnerabilityNote>() {
9130         @java.lang.Override
9131         public VulnerabilityNote parsePartialFrom(
9132             com.google.protobuf.CodedInputStream input,
9133             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9134             throws com.google.protobuf.InvalidProtocolBufferException {
9135           Builder builder = newBuilder();
9136           try {
9137             builder.mergeFrom(input, extensionRegistry);
9138           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9139             throw e.setUnfinishedMessage(builder.buildPartial());
9140           } catch (com.google.protobuf.UninitializedMessageException e) {
9141             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
9142           } catch (java.io.IOException e) {
9143             throw new com.google.protobuf.InvalidProtocolBufferException(e)
9144                 .setUnfinishedMessage(builder.buildPartial());
9145           }
9146           return builder.buildPartial();
9147         }
9148       };
9149 
parser()9150   public static com.google.protobuf.Parser<VulnerabilityNote> parser() {
9151     return PARSER;
9152   }
9153 
9154   @java.lang.Override
getParserForType()9155   public com.google.protobuf.Parser<VulnerabilityNote> getParserForType() {
9156     return PARSER;
9157   }
9158 
9159   @java.lang.Override
getDefaultInstanceForType()9160   public io.grafeas.v1.VulnerabilityNote getDefaultInstanceForType() {
9161     return DEFAULT_INSTANCE;
9162   }
9163 }
9164