001// Generated by the protocol buffer compiler.  DO NOT EDIT!
002// source: hapi/chart/chart.proto
003
004package hapi.chart;
005
006public final class ChartOuterClass {
007  private ChartOuterClass() {}
008  public static void registerAllExtensions(
009      com.google.protobuf.ExtensionRegistryLite registry) {
010  }
011
012  public static void registerAllExtensions(
013      com.google.protobuf.ExtensionRegistry registry) {
014    registerAllExtensions(
015        (com.google.protobuf.ExtensionRegistryLite) registry);
016  }
017  public interface ChartOrBuilder extends
018      // @@protoc_insertion_point(interface_extends:hapi.chart.Chart)
019      com.google.protobuf.MessageOrBuilder {
020
021    /**
022     * <pre>
023     * Contents of the Chartfile.
024     * </pre>
025     *
026     * <code>.hapi.chart.Metadata metadata = 1;</code>
027     */
028    boolean hasMetadata();
029    /**
030     * <pre>
031     * Contents of the Chartfile.
032     * </pre>
033     *
034     * <code>.hapi.chart.Metadata metadata = 1;</code>
035     */
036    hapi.chart.MetadataOuterClass.Metadata getMetadata();
037    /**
038     * <pre>
039     * Contents of the Chartfile.
040     * </pre>
041     *
042     * <code>.hapi.chart.Metadata metadata = 1;</code>
043     */
044    hapi.chart.MetadataOuterClass.MetadataOrBuilder getMetadataOrBuilder();
045
046    /**
047     * <pre>
048     * Templates for this chart.
049     * </pre>
050     *
051     * <code>repeated .hapi.chart.Template templates = 2;</code>
052     */
053    java.util.List<hapi.chart.TemplateOuterClass.Template> 
054        getTemplatesList();
055    /**
056     * <pre>
057     * Templates for this chart.
058     * </pre>
059     *
060     * <code>repeated .hapi.chart.Template templates = 2;</code>
061     */
062    hapi.chart.TemplateOuterClass.Template getTemplates(int index);
063    /**
064     * <pre>
065     * Templates for this chart.
066     * </pre>
067     *
068     * <code>repeated .hapi.chart.Template templates = 2;</code>
069     */
070    int getTemplatesCount();
071    /**
072     * <pre>
073     * Templates for this chart.
074     * </pre>
075     *
076     * <code>repeated .hapi.chart.Template templates = 2;</code>
077     */
078    java.util.List<? extends hapi.chart.TemplateOuterClass.TemplateOrBuilder> 
079        getTemplatesOrBuilderList();
080    /**
081     * <pre>
082     * Templates for this chart.
083     * </pre>
084     *
085     * <code>repeated .hapi.chart.Template templates = 2;</code>
086     */
087    hapi.chart.TemplateOuterClass.TemplateOrBuilder getTemplatesOrBuilder(
088        int index);
089
090    /**
091     * <pre>
092     * Charts that this chart depends on.
093     * </pre>
094     *
095     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
096     */
097    java.util.List<hapi.chart.ChartOuterClass.Chart> 
098        getDependenciesList();
099    /**
100     * <pre>
101     * Charts that this chart depends on.
102     * </pre>
103     *
104     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
105     */
106    hapi.chart.ChartOuterClass.Chart getDependencies(int index);
107    /**
108     * <pre>
109     * Charts that this chart depends on.
110     * </pre>
111     *
112     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
113     */
114    int getDependenciesCount();
115    /**
116     * <pre>
117     * Charts that this chart depends on.
118     * </pre>
119     *
120     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
121     */
122    java.util.List<? extends hapi.chart.ChartOuterClass.ChartOrBuilder> 
123        getDependenciesOrBuilderList();
124    /**
125     * <pre>
126     * Charts that this chart depends on.
127     * </pre>
128     *
129     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
130     */
131    hapi.chart.ChartOuterClass.ChartOrBuilder getDependenciesOrBuilder(
132        int index);
133
134    /**
135     * <pre>
136     * Default config for this template.
137     * </pre>
138     *
139     * <code>.hapi.chart.Config values = 4;</code>
140     */
141    boolean hasValues();
142    /**
143     * <pre>
144     * Default config for this template.
145     * </pre>
146     *
147     * <code>.hapi.chart.Config values = 4;</code>
148     */
149    hapi.chart.ConfigOuterClass.Config getValues();
150    /**
151     * <pre>
152     * Default config for this template.
153     * </pre>
154     *
155     * <code>.hapi.chart.Config values = 4;</code>
156     */
157    hapi.chart.ConfigOuterClass.ConfigOrBuilder getValuesOrBuilder();
158
159    /**
160     * <pre>
161     * Miscellaneous files in a chart archive,
162     * e.g. README, LICENSE, etc.
163     * </pre>
164     *
165     * <code>repeated .google.protobuf.Any files = 5;</code>
166     */
167    java.util.List<com.google.protobuf.Any> 
168        getFilesList();
169    /**
170     * <pre>
171     * Miscellaneous files in a chart archive,
172     * e.g. README, LICENSE, etc.
173     * </pre>
174     *
175     * <code>repeated .google.protobuf.Any files = 5;</code>
176     */
177    com.google.protobuf.Any getFiles(int index);
178    /**
179     * <pre>
180     * Miscellaneous files in a chart archive,
181     * e.g. README, LICENSE, etc.
182     * </pre>
183     *
184     * <code>repeated .google.protobuf.Any files = 5;</code>
185     */
186    int getFilesCount();
187    /**
188     * <pre>
189     * Miscellaneous files in a chart archive,
190     * e.g. README, LICENSE, etc.
191     * </pre>
192     *
193     * <code>repeated .google.protobuf.Any files = 5;</code>
194     */
195    java.util.List<? extends com.google.protobuf.AnyOrBuilder> 
196        getFilesOrBuilderList();
197    /**
198     * <pre>
199     * Miscellaneous files in a chart archive,
200     * e.g. README, LICENSE, etc.
201     * </pre>
202     *
203     * <code>repeated .google.protobuf.Any files = 5;</code>
204     */
205    com.google.protobuf.AnyOrBuilder getFilesOrBuilder(
206        int index);
207  }
208  /**
209   * <pre>
210   *  Chart is a helm package that contains metadata, a default config, zero or more
211   *  optionally parameterizable templates, and zero or more charts (dependencies).
212   * </pre>
213   *
214   * Protobuf type {@code hapi.chart.Chart}
215   */
216  public  static final class Chart extends
217      com.google.protobuf.GeneratedMessageV3 implements
218      // @@protoc_insertion_point(message_implements:hapi.chart.Chart)
219      ChartOrBuilder {
220  private static final long serialVersionUID = 0L;
221    // Use Chart.newBuilder() to construct.
222    private Chart(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
223      super(builder);
224    }
225    private Chart() {
226      templates_ = java.util.Collections.emptyList();
227      dependencies_ = java.util.Collections.emptyList();
228      files_ = java.util.Collections.emptyList();
229    }
230
231    @java.lang.Override
232    public final com.google.protobuf.UnknownFieldSet
233    getUnknownFields() {
234      return this.unknownFields;
235    }
236    private Chart(
237        com.google.protobuf.CodedInputStream input,
238        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
239        throws com.google.protobuf.InvalidProtocolBufferException {
240      this();
241      int mutable_bitField0_ = 0;
242      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
243          com.google.protobuf.UnknownFieldSet.newBuilder();
244      try {
245        boolean done = false;
246        while (!done) {
247          int tag = input.readTag();
248          switch (tag) {
249            case 0:
250              done = true;
251              break;
252            default: {
253              if (!parseUnknownFieldProto3(
254                  input, unknownFields, extensionRegistry, tag)) {
255                done = true;
256              }
257              break;
258            }
259            case 10: {
260              hapi.chart.MetadataOuterClass.Metadata.Builder subBuilder = null;
261              if (metadata_ != null) {
262                subBuilder = metadata_.toBuilder();
263              }
264              metadata_ = input.readMessage(hapi.chart.MetadataOuterClass.Metadata.parser(), extensionRegistry);
265              if (subBuilder != null) {
266                subBuilder.mergeFrom(metadata_);
267                metadata_ = subBuilder.buildPartial();
268              }
269
270              break;
271            }
272            case 18: {
273              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
274                templates_ = new java.util.ArrayList<hapi.chart.TemplateOuterClass.Template>();
275                mutable_bitField0_ |= 0x00000002;
276              }
277              templates_.add(
278                  input.readMessage(hapi.chart.TemplateOuterClass.Template.parser(), extensionRegistry));
279              break;
280            }
281            case 26: {
282              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
283                dependencies_ = new java.util.ArrayList<hapi.chart.ChartOuterClass.Chart>();
284                mutable_bitField0_ |= 0x00000004;
285              }
286              dependencies_.add(
287                  input.readMessage(hapi.chart.ChartOuterClass.Chart.parser(), extensionRegistry));
288              break;
289            }
290            case 34: {
291              hapi.chart.ConfigOuterClass.Config.Builder subBuilder = null;
292              if (values_ != null) {
293                subBuilder = values_.toBuilder();
294              }
295              values_ = input.readMessage(hapi.chart.ConfigOuterClass.Config.parser(), extensionRegistry);
296              if (subBuilder != null) {
297                subBuilder.mergeFrom(values_);
298                values_ = subBuilder.buildPartial();
299              }
300
301              break;
302            }
303            case 42: {
304              if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
305                files_ = new java.util.ArrayList<com.google.protobuf.Any>();
306                mutable_bitField0_ |= 0x00000010;
307              }
308              files_.add(
309                  input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry));
310              break;
311            }
312          }
313        }
314      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
315        throw e.setUnfinishedMessage(this);
316      } catch (java.io.IOException e) {
317        throw new com.google.protobuf.InvalidProtocolBufferException(
318            e).setUnfinishedMessage(this);
319      } finally {
320        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
321          templates_ = java.util.Collections.unmodifiableList(templates_);
322        }
323        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
324          dependencies_ = java.util.Collections.unmodifiableList(dependencies_);
325        }
326        if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
327          files_ = java.util.Collections.unmodifiableList(files_);
328        }
329        this.unknownFields = unknownFields.build();
330        makeExtensionsImmutable();
331      }
332    }
333    public static final com.google.protobuf.Descriptors.Descriptor
334        getDescriptor() {
335      return hapi.chart.ChartOuterClass.internal_static_hapi_chart_Chart_descriptor;
336    }
337
338    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
339        internalGetFieldAccessorTable() {
340      return hapi.chart.ChartOuterClass.internal_static_hapi_chart_Chart_fieldAccessorTable
341          .ensureFieldAccessorsInitialized(
342              hapi.chart.ChartOuterClass.Chart.class, hapi.chart.ChartOuterClass.Chart.Builder.class);
343    }
344
345    private int bitField0_;
346    public static final int METADATA_FIELD_NUMBER = 1;
347    private hapi.chart.MetadataOuterClass.Metadata metadata_;
348    /**
349     * <pre>
350     * Contents of the Chartfile.
351     * </pre>
352     *
353     * <code>.hapi.chart.Metadata metadata = 1;</code>
354     */
355    public boolean hasMetadata() {
356      return metadata_ != null;
357    }
358    /**
359     * <pre>
360     * Contents of the Chartfile.
361     * </pre>
362     *
363     * <code>.hapi.chart.Metadata metadata = 1;</code>
364     */
365    public hapi.chart.MetadataOuterClass.Metadata getMetadata() {
366      return metadata_ == null ? hapi.chart.MetadataOuterClass.Metadata.getDefaultInstance() : metadata_;
367    }
368    /**
369     * <pre>
370     * Contents of the Chartfile.
371     * </pre>
372     *
373     * <code>.hapi.chart.Metadata metadata = 1;</code>
374     */
375    public hapi.chart.MetadataOuterClass.MetadataOrBuilder getMetadataOrBuilder() {
376      return getMetadata();
377    }
378
379    public static final int TEMPLATES_FIELD_NUMBER = 2;
380    private java.util.List<hapi.chart.TemplateOuterClass.Template> templates_;
381    /**
382     * <pre>
383     * Templates for this chart.
384     * </pre>
385     *
386     * <code>repeated .hapi.chart.Template templates = 2;</code>
387     */
388    public java.util.List<hapi.chart.TemplateOuterClass.Template> getTemplatesList() {
389      return templates_;
390    }
391    /**
392     * <pre>
393     * Templates for this chart.
394     * </pre>
395     *
396     * <code>repeated .hapi.chart.Template templates = 2;</code>
397     */
398    public java.util.List<? extends hapi.chart.TemplateOuterClass.TemplateOrBuilder> 
399        getTemplatesOrBuilderList() {
400      return templates_;
401    }
402    /**
403     * <pre>
404     * Templates for this chart.
405     * </pre>
406     *
407     * <code>repeated .hapi.chart.Template templates = 2;</code>
408     */
409    public int getTemplatesCount() {
410      return templates_.size();
411    }
412    /**
413     * <pre>
414     * Templates for this chart.
415     * </pre>
416     *
417     * <code>repeated .hapi.chart.Template templates = 2;</code>
418     */
419    public hapi.chart.TemplateOuterClass.Template getTemplates(int index) {
420      return templates_.get(index);
421    }
422    /**
423     * <pre>
424     * Templates for this chart.
425     * </pre>
426     *
427     * <code>repeated .hapi.chart.Template templates = 2;</code>
428     */
429    public hapi.chart.TemplateOuterClass.TemplateOrBuilder getTemplatesOrBuilder(
430        int index) {
431      return templates_.get(index);
432    }
433
434    public static final int DEPENDENCIES_FIELD_NUMBER = 3;
435    private java.util.List<hapi.chart.ChartOuterClass.Chart> dependencies_;
436    /**
437     * <pre>
438     * Charts that this chart depends on.
439     * </pre>
440     *
441     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
442     */
443    public java.util.List<hapi.chart.ChartOuterClass.Chart> getDependenciesList() {
444      return dependencies_;
445    }
446    /**
447     * <pre>
448     * Charts that this chart depends on.
449     * </pre>
450     *
451     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
452     */
453    public java.util.List<? extends hapi.chart.ChartOuterClass.ChartOrBuilder> 
454        getDependenciesOrBuilderList() {
455      return dependencies_;
456    }
457    /**
458     * <pre>
459     * Charts that this chart depends on.
460     * </pre>
461     *
462     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
463     */
464    public int getDependenciesCount() {
465      return dependencies_.size();
466    }
467    /**
468     * <pre>
469     * Charts that this chart depends on.
470     * </pre>
471     *
472     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
473     */
474    public hapi.chart.ChartOuterClass.Chart getDependencies(int index) {
475      return dependencies_.get(index);
476    }
477    /**
478     * <pre>
479     * Charts that this chart depends on.
480     * </pre>
481     *
482     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
483     */
484    public hapi.chart.ChartOuterClass.ChartOrBuilder getDependenciesOrBuilder(
485        int index) {
486      return dependencies_.get(index);
487    }
488
489    public static final int VALUES_FIELD_NUMBER = 4;
490    private hapi.chart.ConfigOuterClass.Config values_;
491    /**
492     * <pre>
493     * Default config for this template.
494     * </pre>
495     *
496     * <code>.hapi.chart.Config values = 4;</code>
497     */
498    public boolean hasValues() {
499      return values_ != null;
500    }
501    /**
502     * <pre>
503     * Default config for this template.
504     * </pre>
505     *
506     * <code>.hapi.chart.Config values = 4;</code>
507     */
508    public hapi.chart.ConfigOuterClass.Config getValues() {
509      return values_ == null ? hapi.chart.ConfigOuterClass.Config.getDefaultInstance() : values_;
510    }
511    /**
512     * <pre>
513     * Default config for this template.
514     * </pre>
515     *
516     * <code>.hapi.chart.Config values = 4;</code>
517     */
518    public hapi.chart.ConfigOuterClass.ConfigOrBuilder getValuesOrBuilder() {
519      return getValues();
520    }
521
522    public static final int FILES_FIELD_NUMBER = 5;
523    private java.util.List<com.google.protobuf.Any> files_;
524    /**
525     * <pre>
526     * Miscellaneous files in a chart archive,
527     * e.g. README, LICENSE, etc.
528     * </pre>
529     *
530     * <code>repeated .google.protobuf.Any files = 5;</code>
531     */
532    public java.util.List<com.google.protobuf.Any> getFilesList() {
533      return files_;
534    }
535    /**
536     * <pre>
537     * Miscellaneous files in a chart archive,
538     * e.g. README, LICENSE, etc.
539     * </pre>
540     *
541     * <code>repeated .google.protobuf.Any files = 5;</code>
542     */
543    public java.util.List<? extends com.google.protobuf.AnyOrBuilder> 
544        getFilesOrBuilderList() {
545      return files_;
546    }
547    /**
548     * <pre>
549     * Miscellaneous files in a chart archive,
550     * e.g. README, LICENSE, etc.
551     * </pre>
552     *
553     * <code>repeated .google.protobuf.Any files = 5;</code>
554     */
555    public int getFilesCount() {
556      return files_.size();
557    }
558    /**
559     * <pre>
560     * Miscellaneous files in a chart archive,
561     * e.g. README, LICENSE, etc.
562     * </pre>
563     *
564     * <code>repeated .google.protobuf.Any files = 5;</code>
565     */
566    public com.google.protobuf.Any getFiles(int index) {
567      return files_.get(index);
568    }
569    /**
570     * <pre>
571     * Miscellaneous files in a chart archive,
572     * e.g. README, LICENSE, etc.
573     * </pre>
574     *
575     * <code>repeated .google.protobuf.Any files = 5;</code>
576     */
577    public com.google.protobuf.AnyOrBuilder getFilesOrBuilder(
578        int index) {
579      return files_.get(index);
580    }
581
582    private byte memoizedIsInitialized = -1;
583    public final boolean isInitialized() {
584      byte isInitialized = memoizedIsInitialized;
585      if (isInitialized == 1) return true;
586      if (isInitialized == 0) return false;
587
588      memoizedIsInitialized = 1;
589      return true;
590    }
591
592    public void writeTo(com.google.protobuf.CodedOutputStream output)
593                        throws java.io.IOException {
594      if (metadata_ != null) {
595        output.writeMessage(1, getMetadata());
596      }
597      for (int i = 0; i < templates_.size(); i++) {
598        output.writeMessage(2, templates_.get(i));
599      }
600      for (int i = 0; i < dependencies_.size(); i++) {
601        output.writeMessage(3, dependencies_.get(i));
602      }
603      if (values_ != null) {
604        output.writeMessage(4, getValues());
605      }
606      for (int i = 0; i < files_.size(); i++) {
607        output.writeMessage(5, files_.get(i));
608      }
609      unknownFields.writeTo(output);
610    }
611
612    public int getSerializedSize() {
613      int size = memoizedSize;
614      if (size != -1) return size;
615
616      size = 0;
617      if (metadata_ != null) {
618        size += com.google.protobuf.CodedOutputStream
619          .computeMessageSize(1, getMetadata());
620      }
621      for (int i = 0; i < templates_.size(); i++) {
622        size += com.google.protobuf.CodedOutputStream
623          .computeMessageSize(2, templates_.get(i));
624      }
625      for (int i = 0; i < dependencies_.size(); i++) {
626        size += com.google.protobuf.CodedOutputStream
627          .computeMessageSize(3, dependencies_.get(i));
628      }
629      if (values_ != null) {
630        size += com.google.protobuf.CodedOutputStream
631          .computeMessageSize(4, getValues());
632      }
633      for (int i = 0; i < files_.size(); i++) {
634        size += com.google.protobuf.CodedOutputStream
635          .computeMessageSize(5, files_.get(i));
636      }
637      size += unknownFields.getSerializedSize();
638      memoizedSize = size;
639      return size;
640    }
641
642    @java.lang.Override
643    public boolean equals(final java.lang.Object obj) {
644      if (obj == this) {
645       return true;
646      }
647      if (!(obj instanceof hapi.chart.ChartOuterClass.Chart)) {
648        return super.equals(obj);
649      }
650      hapi.chart.ChartOuterClass.Chart other = (hapi.chart.ChartOuterClass.Chart) obj;
651
652      boolean result = true;
653      result = result && (hasMetadata() == other.hasMetadata());
654      if (hasMetadata()) {
655        result = result && getMetadata()
656            .equals(other.getMetadata());
657      }
658      result = result && getTemplatesList()
659          .equals(other.getTemplatesList());
660      result = result && getDependenciesList()
661          .equals(other.getDependenciesList());
662      result = result && (hasValues() == other.hasValues());
663      if (hasValues()) {
664        result = result && getValues()
665            .equals(other.getValues());
666      }
667      result = result && getFilesList()
668          .equals(other.getFilesList());
669      result = result && unknownFields.equals(other.unknownFields);
670      return result;
671    }
672
673    @java.lang.Override
674    public int hashCode() {
675      if (memoizedHashCode != 0) {
676        return memoizedHashCode;
677      }
678      int hash = 41;
679      hash = (19 * hash) + getDescriptor().hashCode();
680      if (hasMetadata()) {
681        hash = (37 * hash) + METADATA_FIELD_NUMBER;
682        hash = (53 * hash) + getMetadata().hashCode();
683      }
684      if (getTemplatesCount() > 0) {
685        hash = (37 * hash) + TEMPLATES_FIELD_NUMBER;
686        hash = (53 * hash) + getTemplatesList().hashCode();
687      }
688      if (getDependenciesCount() > 0) {
689        hash = (37 * hash) + DEPENDENCIES_FIELD_NUMBER;
690        hash = (53 * hash) + getDependenciesList().hashCode();
691      }
692      if (hasValues()) {
693        hash = (37 * hash) + VALUES_FIELD_NUMBER;
694        hash = (53 * hash) + getValues().hashCode();
695      }
696      if (getFilesCount() > 0) {
697        hash = (37 * hash) + FILES_FIELD_NUMBER;
698        hash = (53 * hash) + getFilesList().hashCode();
699      }
700      hash = (29 * hash) + unknownFields.hashCode();
701      memoizedHashCode = hash;
702      return hash;
703    }
704
705    public static hapi.chart.ChartOuterClass.Chart parseFrom(
706        java.nio.ByteBuffer data)
707        throws com.google.protobuf.InvalidProtocolBufferException {
708      return PARSER.parseFrom(data);
709    }
710    public static hapi.chart.ChartOuterClass.Chart parseFrom(
711        java.nio.ByteBuffer data,
712        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
713        throws com.google.protobuf.InvalidProtocolBufferException {
714      return PARSER.parseFrom(data, extensionRegistry);
715    }
716    public static hapi.chart.ChartOuterClass.Chart parseFrom(
717        com.google.protobuf.ByteString data)
718        throws com.google.protobuf.InvalidProtocolBufferException {
719      return PARSER.parseFrom(data);
720    }
721    public static hapi.chart.ChartOuterClass.Chart parseFrom(
722        com.google.protobuf.ByteString data,
723        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
724        throws com.google.protobuf.InvalidProtocolBufferException {
725      return PARSER.parseFrom(data, extensionRegistry);
726    }
727    public static hapi.chart.ChartOuterClass.Chart parseFrom(byte[] data)
728        throws com.google.protobuf.InvalidProtocolBufferException {
729      return PARSER.parseFrom(data);
730    }
731    public static hapi.chart.ChartOuterClass.Chart parseFrom(
732        byte[] data,
733        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
734        throws com.google.protobuf.InvalidProtocolBufferException {
735      return PARSER.parseFrom(data, extensionRegistry);
736    }
737    public static hapi.chart.ChartOuterClass.Chart parseFrom(java.io.InputStream input)
738        throws java.io.IOException {
739      return com.google.protobuf.GeneratedMessageV3
740          .parseWithIOException(PARSER, input);
741    }
742    public static hapi.chart.ChartOuterClass.Chart parseFrom(
743        java.io.InputStream input,
744        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
745        throws java.io.IOException {
746      return com.google.protobuf.GeneratedMessageV3
747          .parseWithIOException(PARSER, input, extensionRegistry);
748    }
749    public static hapi.chart.ChartOuterClass.Chart parseDelimitedFrom(java.io.InputStream input)
750        throws java.io.IOException {
751      return com.google.protobuf.GeneratedMessageV3
752          .parseDelimitedWithIOException(PARSER, input);
753    }
754    public static hapi.chart.ChartOuterClass.Chart parseDelimitedFrom(
755        java.io.InputStream input,
756        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
757        throws java.io.IOException {
758      return com.google.protobuf.GeneratedMessageV3
759          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
760    }
761    public static hapi.chart.ChartOuterClass.Chart parseFrom(
762        com.google.protobuf.CodedInputStream input)
763        throws java.io.IOException {
764      return com.google.protobuf.GeneratedMessageV3
765          .parseWithIOException(PARSER, input);
766    }
767    public static hapi.chart.ChartOuterClass.Chart parseFrom(
768        com.google.protobuf.CodedInputStream input,
769        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
770        throws java.io.IOException {
771      return com.google.protobuf.GeneratedMessageV3
772          .parseWithIOException(PARSER, input, extensionRegistry);
773    }
774
775    public Builder newBuilderForType() { return newBuilder(); }
776    public static Builder newBuilder() {
777      return DEFAULT_INSTANCE.toBuilder();
778    }
779    public static Builder newBuilder(hapi.chart.ChartOuterClass.Chart prototype) {
780      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
781    }
782    public Builder toBuilder() {
783      return this == DEFAULT_INSTANCE
784          ? new Builder() : new Builder().mergeFrom(this);
785    }
786
787    @java.lang.Override
788    protected Builder newBuilderForType(
789        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
790      Builder builder = new Builder(parent);
791      return builder;
792    }
793    /**
794     * <pre>
795     *  Chart is a helm package that contains metadata, a default config, zero or more
796     *  optionally parameterizable templates, and zero or more charts (dependencies).
797     * </pre>
798     *
799     * Protobuf type {@code hapi.chart.Chart}
800     */
801    public static final class Builder extends
802        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
803        // @@protoc_insertion_point(builder_implements:hapi.chart.Chart)
804        hapi.chart.ChartOuterClass.ChartOrBuilder {
805      public static final com.google.protobuf.Descriptors.Descriptor
806          getDescriptor() {
807        return hapi.chart.ChartOuterClass.internal_static_hapi_chart_Chart_descriptor;
808      }
809
810      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
811          internalGetFieldAccessorTable() {
812        return hapi.chart.ChartOuterClass.internal_static_hapi_chart_Chart_fieldAccessorTable
813            .ensureFieldAccessorsInitialized(
814                hapi.chart.ChartOuterClass.Chart.class, hapi.chart.ChartOuterClass.Chart.Builder.class);
815      }
816
817      // Construct using hapi.chart.ChartOuterClass.Chart.newBuilder()
818      private Builder() {
819        maybeForceBuilderInitialization();
820      }
821
822      private Builder(
823          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
824        super(parent);
825        maybeForceBuilderInitialization();
826      }
827      private void maybeForceBuilderInitialization() {
828        if (com.google.protobuf.GeneratedMessageV3
829                .alwaysUseFieldBuilders) {
830          getTemplatesFieldBuilder();
831          getDependenciesFieldBuilder();
832          getFilesFieldBuilder();
833        }
834      }
835      public Builder clear() {
836        super.clear();
837        if (metadataBuilder_ == null) {
838          metadata_ = null;
839        } else {
840          metadata_ = null;
841          metadataBuilder_ = null;
842        }
843        if (templatesBuilder_ == null) {
844          templates_ = java.util.Collections.emptyList();
845          bitField0_ = (bitField0_ & ~0x00000002);
846        } else {
847          templatesBuilder_.clear();
848        }
849        if (dependenciesBuilder_ == null) {
850          dependencies_ = java.util.Collections.emptyList();
851          bitField0_ = (bitField0_ & ~0x00000004);
852        } else {
853          dependenciesBuilder_.clear();
854        }
855        if (valuesBuilder_ == null) {
856          values_ = null;
857        } else {
858          values_ = null;
859          valuesBuilder_ = null;
860        }
861        if (filesBuilder_ == null) {
862          files_ = java.util.Collections.emptyList();
863          bitField0_ = (bitField0_ & ~0x00000010);
864        } else {
865          filesBuilder_.clear();
866        }
867        return this;
868      }
869
870      public com.google.protobuf.Descriptors.Descriptor
871          getDescriptorForType() {
872        return hapi.chart.ChartOuterClass.internal_static_hapi_chart_Chart_descriptor;
873      }
874
875      public hapi.chart.ChartOuterClass.Chart getDefaultInstanceForType() {
876        return hapi.chart.ChartOuterClass.Chart.getDefaultInstance();
877      }
878
879      public hapi.chart.ChartOuterClass.Chart build() {
880        hapi.chart.ChartOuterClass.Chart result = buildPartial();
881        if (!result.isInitialized()) {
882          throw newUninitializedMessageException(result);
883        }
884        return result;
885      }
886
887      public hapi.chart.ChartOuterClass.Chart buildPartial() {
888        hapi.chart.ChartOuterClass.Chart result = new hapi.chart.ChartOuterClass.Chart(this);
889        int from_bitField0_ = bitField0_;
890        int to_bitField0_ = 0;
891        if (metadataBuilder_ == null) {
892          result.metadata_ = metadata_;
893        } else {
894          result.metadata_ = metadataBuilder_.build();
895        }
896        if (templatesBuilder_ == null) {
897          if (((bitField0_ & 0x00000002) == 0x00000002)) {
898            templates_ = java.util.Collections.unmodifiableList(templates_);
899            bitField0_ = (bitField0_ & ~0x00000002);
900          }
901          result.templates_ = templates_;
902        } else {
903          result.templates_ = templatesBuilder_.build();
904        }
905        if (dependenciesBuilder_ == null) {
906          if (((bitField0_ & 0x00000004) == 0x00000004)) {
907            dependencies_ = java.util.Collections.unmodifiableList(dependencies_);
908            bitField0_ = (bitField0_ & ~0x00000004);
909          }
910          result.dependencies_ = dependencies_;
911        } else {
912          result.dependencies_ = dependenciesBuilder_.build();
913        }
914        if (valuesBuilder_ == null) {
915          result.values_ = values_;
916        } else {
917          result.values_ = valuesBuilder_.build();
918        }
919        if (filesBuilder_ == null) {
920          if (((bitField0_ & 0x00000010) == 0x00000010)) {
921            files_ = java.util.Collections.unmodifiableList(files_);
922            bitField0_ = (bitField0_ & ~0x00000010);
923          }
924          result.files_ = files_;
925        } else {
926          result.files_ = filesBuilder_.build();
927        }
928        result.bitField0_ = to_bitField0_;
929        onBuilt();
930        return result;
931      }
932
933      public Builder clone() {
934        return (Builder) super.clone();
935      }
936      public Builder setField(
937          com.google.protobuf.Descriptors.FieldDescriptor field,
938          java.lang.Object value) {
939        return (Builder) super.setField(field, value);
940      }
941      public Builder clearField(
942          com.google.protobuf.Descriptors.FieldDescriptor field) {
943        return (Builder) super.clearField(field);
944      }
945      public Builder clearOneof(
946          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
947        return (Builder) super.clearOneof(oneof);
948      }
949      public Builder setRepeatedField(
950          com.google.protobuf.Descriptors.FieldDescriptor field,
951          int index, java.lang.Object value) {
952        return (Builder) super.setRepeatedField(field, index, value);
953      }
954      public Builder addRepeatedField(
955          com.google.protobuf.Descriptors.FieldDescriptor field,
956          java.lang.Object value) {
957        return (Builder) super.addRepeatedField(field, value);
958      }
959      public Builder mergeFrom(com.google.protobuf.Message other) {
960        if (other instanceof hapi.chart.ChartOuterClass.Chart) {
961          return mergeFrom((hapi.chart.ChartOuterClass.Chart)other);
962        } else {
963          super.mergeFrom(other);
964          return this;
965        }
966      }
967
968      public Builder mergeFrom(hapi.chart.ChartOuterClass.Chart other) {
969        if (other == hapi.chart.ChartOuterClass.Chart.getDefaultInstance()) return this;
970        if (other.hasMetadata()) {
971          mergeMetadata(other.getMetadata());
972        }
973        if (templatesBuilder_ == null) {
974          if (!other.templates_.isEmpty()) {
975            if (templates_.isEmpty()) {
976              templates_ = other.templates_;
977              bitField0_ = (bitField0_ & ~0x00000002);
978            } else {
979              ensureTemplatesIsMutable();
980              templates_.addAll(other.templates_);
981            }
982            onChanged();
983          }
984        } else {
985          if (!other.templates_.isEmpty()) {
986            if (templatesBuilder_.isEmpty()) {
987              templatesBuilder_.dispose();
988              templatesBuilder_ = null;
989              templates_ = other.templates_;
990              bitField0_ = (bitField0_ & ~0x00000002);
991              templatesBuilder_ = 
992                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
993                   getTemplatesFieldBuilder() : null;
994            } else {
995              templatesBuilder_.addAllMessages(other.templates_);
996            }
997          }
998        }
999        if (dependenciesBuilder_ == null) {
1000          if (!other.dependencies_.isEmpty()) {
1001            if (dependencies_.isEmpty()) {
1002              dependencies_ = other.dependencies_;
1003              bitField0_ = (bitField0_ & ~0x00000004);
1004            } else {
1005              ensureDependenciesIsMutable();
1006              dependencies_.addAll(other.dependencies_);
1007            }
1008            onChanged();
1009          }
1010        } else {
1011          if (!other.dependencies_.isEmpty()) {
1012            if (dependenciesBuilder_.isEmpty()) {
1013              dependenciesBuilder_.dispose();
1014              dependenciesBuilder_ = null;
1015              dependencies_ = other.dependencies_;
1016              bitField0_ = (bitField0_ & ~0x00000004);
1017              dependenciesBuilder_ = 
1018                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
1019                   getDependenciesFieldBuilder() : null;
1020            } else {
1021              dependenciesBuilder_.addAllMessages(other.dependencies_);
1022            }
1023          }
1024        }
1025        if (other.hasValues()) {
1026          mergeValues(other.getValues());
1027        }
1028        if (filesBuilder_ == null) {
1029          if (!other.files_.isEmpty()) {
1030            if (files_.isEmpty()) {
1031              files_ = other.files_;
1032              bitField0_ = (bitField0_ & ~0x00000010);
1033            } else {
1034              ensureFilesIsMutable();
1035              files_.addAll(other.files_);
1036            }
1037            onChanged();
1038          }
1039        } else {
1040          if (!other.files_.isEmpty()) {
1041            if (filesBuilder_.isEmpty()) {
1042              filesBuilder_.dispose();
1043              filesBuilder_ = null;
1044              files_ = other.files_;
1045              bitField0_ = (bitField0_ & ~0x00000010);
1046              filesBuilder_ = 
1047                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
1048                   getFilesFieldBuilder() : null;
1049            } else {
1050              filesBuilder_.addAllMessages(other.files_);
1051            }
1052          }
1053        }
1054        this.mergeUnknownFields(other.unknownFields);
1055        onChanged();
1056        return this;
1057      }
1058
1059      public final boolean isInitialized() {
1060        return true;
1061      }
1062
1063      public Builder mergeFrom(
1064          com.google.protobuf.CodedInputStream input,
1065          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1066          throws java.io.IOException {
1067        hapi.chart.ChartOuterClass.Chart parsedMessage = null;
1068        try {
1069          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1070        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1071          parsedMessage = (hapi.chart.ChartOuterClass.Chart) e.getUnfinishedMessage();
1072          throw e.unwrapIOException();
1073        } finally {
1074          if (parsedMessage != null) {
1075            mergeFrom(parsedMessage);
1076          }
1077        }
1078        return this;
1079      }
1080      private int bitField0_;
1081
1082      private hapi.chart.MetadataOuterClass.Metadata metadata_ = null;
1083      private com.google.protobuf.SingleFieldBuilderV3<
1084          hapi.chart.MetadataOuterClass.Metadata, hapi.chart.MetadataOuterClass.Metadata.Builder, hapi.chart.MetadataOuterClass.MetadataOrBuilder> metadataBuilder_;
1085      /**
1086       * <pre>
1087       * Contents of the Chartfile.
1088       * </pre>
1089       *
1090       * <code>.hapi.chart.Metadata metadata = 1;</code>
1091       */
1092      public boolean hasMetadata() {
1093        return metadataBuilder_ != null || metadata_ != null;
1094      }
1095      /**
1096       * <pre>
1097       * Contents of the Chartfile.
1098       * </pre>
1099       *
1100       * <code>.hapi.chart.Metadata metadata = 1;</code>
1101       */
1102      public hapi.chart.MetadataOuterClass.Metadata getMetadata() {
1103        if (metadataBuilder_ == null) {
1104          return metadata_ == null ? hapi.chart.MetadataOuterClass.Metadata.getDefaultInstance() : metadata_;
1105        } else {
1106          return metadataBuilder_.getMessage();
1107        }
1108      }
1109      /**
1110       * <pre>
1111       * Contents of the Chartfile.
1112       * </pre>
1113       *
1114       * <code>.hapi.chart.Metadata metadata = 1;</code>
1115       */
1116      public Builder setMetadata(hapi.chart.MetadataOuterClass.Metadata value) {
1117        if (metadataBuilder_ == null) {
1118          if (value == null) {
1119            throw new NullPointerException();
1120          }
1121          metadata_ = value;
1122          onChanged();
1123        } else {
1124          metadataBuilder_.setMessage(value);
1125        }
1126
1127        return this;
1128      }
1129      /**
1130       * <pre>
1131       * Contents of the Chartfile.
1132       * </pre>
1133       *
1134       * <code>.hapi.chart.Metadata metadata = 1;</code>
1135       */
1136      public Builder setMetadata(
1137          hapi.chart.MetadataOuterClass.Metadata.Builder builderForValue) {
1138        if (metadataBuilder_ == null) {
1139          metadata_ = builderForValue.build();
1140          onChanged();
1141        } else {
1142          metadataBuilder_.setMessage(builderForValue.build());
1143        }
1144
1145        return this;
1146      }
1147      /**
1148       * <pre>
1149       * Contents of the Chartfile.
1150       * </pre>
1151       *
1152       * <code>.hapi.chart.Metadata metadata = 1;</code>
1153       */
1154      public Builder mergeMetadata(hapi.chart.MetadataOuterClass.Metadata value) {
1155        if (metadataBuilder_ == null) {
1156          if (metadata_ != null) {
1157            metadata_ =
1158              hapi.chart.MetadataOuterClass.Metadata.newBuilder(metadata_).mergeFrom(value).buildPartial();
1159          } else {
1160            metadata_ = value;
1161          }
1162          onChanged();
1163        } else {
1164          metadataBuilder_.mergeFrom(value);
1165        }
1166
1167        return this;
1168      }
1169      /**
1170       * <pre>
1171       * Contents of the Chartfile.
1172       * </pre>
1173       *
1174       * <code>.hapi.chart.Metadata metadata = 1;</code>
1175       */
1176      public Builder clearMetadata() {
1177        if (metadataBuilder_ == null) {
1178          metadata_ = null;
1179          onChanged();
1180        } else {
1181          metadata_ = null;
1182          metadataBuilder_ = null;
1183        }
1184
1185        return this;
1186      }
1187      /**
1188       * <pre>
1189       * Contents of the Chartfile.
1190       * </pre>
1191       *
1192       * <code>.hapi.chart.Metadata metadata = 1;</code>
1193       */
1194      public hapi.chart.MetadataOuterClass.Metadata.Builder getMetadataBuilder() {
1195        
1196        onChanged();
1197        return getMetadataFieldBuilder().getBuilder();
1198      }
1199      /**
1200       * <pre>
1201       * Contents of the Chartfile.
1202       * </pre>
1203       *
1204       * <code>.hapi.chart.Metadata metadata = 1;</code>
1205       */
1206      public hapi.chart.MetadataOuterClass.MetadataOrBuilder getMetadataOrBuilder() {
1207        if (metadataBuilder_ != null) {
1208          return metadataBuilder_.getMessageOrBuilder();
1209        } else {
1210          return metadata_ == null ?
1211              hapi.chart.MetadataOuterClass.Metadata.getDefaultInstance() : metadata_;
1212        }
1213      }
1214      /**
1215       * <pre>
1216       * Contents of the Chartfile.
1217       * </pre>
1218       *
1219       * <code>.hapi.chart.Metadata metadata = 1;</code>
1220       */
1221      private com.google.protobuf.SingleFieldBuilderV3<
1222          hapi.chart.MetadataOuterClass.Metadata, hapi.chart.MetadataOuterClass.Metadata.Builder, hapi.chart.MetadataOuterClass.MetadataOrBuilder> 
1223          getMetadataFieldBuilder() {
1224        if (metadataBuilder_ == null) {
1225          metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
1226              hapi.chart.MetadataOuterClass.Metadata, hapi.chart.MetadataOuterClass.Metadata.Builder, hapi.chart.MetadataOuterClass.MetadataOrBuilder>(
1227                  getMetadata(),
1228                  getParentForChildren(),
1229                  isClean());
1230          metadata_ = null;
1231        }
1232        return metadataBuilder_;
1233      }
1234
1235      private java.util.List<hapi.chart.TemplateOuterClass.Template> templates_ =
1236        java.util.Collections.emptyList();
1237      private void ensureTemplatesIsMutable() {
1238        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
1239          templates_ = new java.util.ArrayList<hapi.chart.TemplateOuterClass.Template>(templates_);
1240          bitField0_ |= 0x00000002;
1241         }
1242      }
1243
1244      private com.google.protobuf.RepeatedFieldBuilderV3<
1245          hapi.chart.TemplateOuterClass.Template, hapi.chart.TemplateOuterClass.Template.Builder, hapi.chart.TemplateOuterClass.TemplateOrBuilder> templatesBuilder_;
1246
1247      /**
1248       * <pre>
1249       * Templates for this chart.
1250       * </pre>
1251       *
1252       * <code>repeated .hapi.chart.Template templates = 2;</code>
1253       */
1254      public java.util.List<hapi.chart.TemplateOuterClass.Template> getTemplatesList() {
1255        if (templatesBuilder_ == null) {
1256          return java.util.Collections.unmodifiableList(templates_);
1257        } else {
1258          return templatesBuilder_.getMessageList();
1259        }
1260      }
1261      /**
1262       * <pre>
1263       * Templates for this chart.
1264       * </pre>
1265       *
1266       * <code>repeated .hapi.chart.Template templates = 2;</code>
1267       */
1268      public int getTemplatesCount() {
1269        if (templatesBuilder_ == null) {
1270          return templates_.size();
1271        } else {
1272          return templatesBuilder_.getCount();
1273        }
1274      }
1275      /**
1276       * <pre>
1277       * Templates for this chart.
1278       * </pre>
1279       *
1280       * <code>repeated .hapi.chart.Template templates = 2;</code>
1281       */
1282      public hapi.chart.TemplateOuterClass.Template getTemplates(int index) {
1283        if (templatesBuilder_ == null) {
1284          return templates_.get(index);
1285        } else {
1286          return templatesBuilder_.getMessage(index);
1287        }
1288      }
1289      /**
1290       * <pre>
1291       * Templates for this chart.
1292       * </pre>
1293       *
1294       * <code>repeated .hapi.chart.Template templates = 2;</code>
1295       */
1296      public Builder setTemplates(
1297          int index, hapi.chart.TemplateOuterClass.Template value) {
1298        if (templatesBuilder_ == null) {
1299          if (value == null) {
1300            throw new NullPointerException();
1301          }
1302          ensureTemplatesIsMutable();
1303          templates_.set(index, value);
1304          onChanged();
1305        } else {
1306          templatesBuilder_.setMessage(index, value);
1307        }
1308        return this;
1309      }
1310      /**
1311       * <pre>
1312       * Templates for this chart.
1313       * </pre>
1314       *
1315       * <code>repeated .hapi.chart.Template templates = 2;</code>
1316       */
1317      public Builder setTemplates(
1318          int index, hapi.chart.TemplateOuterClass.Template.Builder builderForValue) {
1319        if (templatesBuilder_ == null) {
1320          ensureTemplatesIsMutable();
1321          templates_.set(index, builderForValue.build());
1322          onChanged();
1323        } else {
1324          templatesBuilder_.setMessage(index, builderForValue.build());
1325        }
1326        return this;
1327      }
1328      /**
1329       * <pre>
1330       * Templates for this chart.
1331       * </pre>
1332       *
1333       * <code>repeated .hapi.chart.Template templates = 2;</code>
1334       */
1335      public Builder addTemplates(hapi.chart.TemplateOuterClass.Template value) {
1336        if (templatesBuilder_ == null) {
1337          if (value == null) {
1338            throw new NullPointerException();
1339          }
1340          ensureTemplatesIsMutable();
1341          templates_.add(value);
1342          onChanged();
1343        } else {
1344          templatesBuilder_.addMessage(value);
1345        }
1346        return this;
1347      }
1348      /**
1349       * <pre>
1350       * Templates for this chart.
1351       * </pre>
1352       *
1353       * <code>repeated .hapi.chart.Template templates = 2;</code>
1354       */
1355      public Builder addTemplates(
1356          int index, hapi.chart.TemplateOuterClass.Template value) {
1357        if (templatesBuilder_ == null) {
1358          if (value == null) {
1359            throw new NullPointerException();
1360          }
1361          ensureTemplatesIsMutable();
1362          templates_.add(index, value);
1363          onChanged();
1364        } else {
1365          templatesBuilder_.addMessage(index, value);
1366        }
1367        return this;
1368      }
1369      /**
1370       * <pre>
1371       * Templates for this chart.
1372       * </pre>
1373       *
1374       * <code>repeated .hapi.chart.Template templates = 2;</code>
1375       */
1376      public Builder addTemplates(
1377          hapi.chart.TemplateOuterClass.Template.Builder builderForValue) {
1378        if (templatesBuilder_ == null) {
1379          ensureTemplatesIsMutable();
1380          templates_.add(builderForValue.build());
1381          onChanged();
1382        } else {
1383          templatesBuilder_.addMessage(builderForValue.build());
1384        }
1385        return this;
1386      }
1387      /**
1388       * <pre>
1389       * Templates for this chart.
1390       * </pre>
1391       *
1392       * <code>repeated .hapi.chart.Template templates = 2;</code>
1393       */
1394      public Builder addTemplates(
1395          int index, hapi.chart.TemplateOuterClass.Template.Builder builderForValue) {
1396        if (templatesBuilder_ == null) {
1397          ensureTemplatesIsMutable();
1398          templates_.add(index, builderForValue.build());
1399          onChanged();
1400        } else {
1401          templatesBuilder_.addMessage(index, builderForValue.build());
1402        }
1403        return this;
1404      }
1405      /**
1406       * <pre>
1407       * Templates for this chart.
1408       * </pre>
1409       *
1410       * <code>repeated .hapi.chart.Template templates = 2;</code>
1411       */
1412      public Builder addAllTemplates(
1413          java.lang.Iterable<? extends hapi.chart.TemplateOuterClass.Template> values) {
1414        if (templatesBuilder_ == null) {
1415          ensureTemplatesIsMutable();
1416          com.google.protobuf.AbstractMessageLite.Builder.addAll(
1417              values, templates_);
1418          onChanged();
1419        } else {
1420          templatesBuilder_.addAllMessages(values);
1421        }
1422        return this;
1423      }
1424      /**
1425       * <pre>
1426       * Templates for this chart.
1427       * </pre>
1428       *
1429       * <code>repeated .hapi.chart.Template templates = 2;</code>
1430       */
1431      public Builder clearTemplates() {
1432        if (templatesBuilder_ == null) {
1433          templates_ = java.util.Collections.emptyList();
1434          bitField0_ = (bitField0_ & ~0x00000002);
1435          onChanged();
1436        } else {
1437          templatesBuilder_.clear();
1438        }
1439        return this;
1440      }
1441      /**
1442       * <pre>
1443       * Templates for this chart.
1444       * </pre>
1445       *
1446       * <code>repeated .hapi.chart.Template templates = 2;</code>
1447       */
1448      public Builder removeTemplates(int index) {
1449        if (templatesBuilder_ == null) {
1450          ensureTemplatesIsMutable();
1451          templates_.remove(index);
1452          onChanged();
1453        } else {
1454          templatesBuilder_.remove(index);
1455        }
1456        return this;
1457      }
1458      /**
1459       * <pre>
1460       * Templates for this chart.
1461       * </pre>
1462       *
1463       * <code>repeated .hapi.chart.Template templates = 2;</code>
1464       */
1465      public hapi.chart.TemplateOuterClass.Template.Builder getTemplatesBuilder(
1466          int index) {
1467        return getTemplatesFieldBuilder().getBuilder(index);
1468      }
1469      /**
1470       * <pre>
1471       * Templates for this chart.
1472       * </pre>
1473       *
1474       * <code>repeated .hapi.chart.Template templates = 2;</code>
1475       */
1476      public hapi.chart.TemplateOuterClass.TemplateOrBuilder getTemplatesOrBuilder(
1477          int index) {
1478        if (templatesBuilder_ == null) {
1479          return templates_.get(index);  } else {
1480          return templatesBuilder_.getMessageOrBuilder(index);
1481        }
1482      }
1483      /**
1484       * <pre>
1485       * Templates for this chart.
1486       * </pre>
1487       *
1488       * <code>repeated .hapi.chart.Template templates = 2;</code>
1489       */
1490      public java.util.List<? extends hapi.chart.TemplateOuterClass.TemplateOrBuilder> 
1491           getTemplatesOrBuilderList() {
1492        if (templatesBuilder_ != null) {
1493          return templatesBuilder_.getMessageOrBuilderList();
1494        } else {
1495          return java.util.Collections.unmodifiableList(templates_);
1496        }
1497      }
1498      /**
1499       * <pre>
1500       * Templates for this chart.
1501       * </pre>
1502       *
1503       * <code>repeated .hapi.chart.Template templates = 2;</code>
1504       */
1505      public hapi.chart.TemplateOuterClass.Template.Builder addTemplatesBuilder() {
1506        return getTemplatesFieldBuilder().addBuilder(
1507            hapi.chart.TemplateOuterClass.Template.getDefaultInstance());
1508      }
1509      /**
1510       * <pre>
1511       * Templates for this chart.
1512       * </pre>
1513       *
1514       * <code>repeated .hapi.chart.Template templates = 2;</code>
1515       */
1516      public hapi.chart.TemplateOuterClass.Template.Builder addTemplatesBuilder(
1517          int index) {
1518        return getTemplatesFieldBuilder().addBuilder(
1519            index, hapi.chart.TemplateOuterClass.Template.getDefaultInstance());
1520      }
1521      /**
1522       * <pre>
1523       * Templates for this chart.
1524       * </pre>
1525       *
1526       * <code>repeated .hapi.chart.Template templates = 2;</code>
1527       */
1528      public java.util.List<hapi.chart.TemplateOuterClass.Template.Builder> 
1529           getTemplatesBuilderList() {
1530        return getTemplatesFieldBuilder().getBuilderList();
1531      }
1532      private com.google.protobuf.RepeatedFieldBuilderV3<
1533          hapi.chart.TemplateOuterClass.Template, hapi.chart.TemplateOuterClass.Template.Builder, hapi.chart.TemplateOuterClass.TemplateOrBuilder> 
1534          getTemplatesFieldBuilder() {
1535        if (templatesBuilder_ == null) {
1536          templatesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
1537              hapi.chart.TemplateOuterClass.Template, hapi.chart.TemplateOuterClass.Template.Builder, hapi.chart.TemplateOuterClass.TemplateOrBuilder>(
1538                  templates_,
1539                  ((bitField0_ & 0x00000002) == 0x00000002),
1540                  getParentForChildren(),
1541                  isClean());
1542          templates_ = null;
1543        }
1544        return templatesBuilder_;
1545      }
1546
1547      private java.util.List<hapi.chart.ChartOuterClass.Chart> dependencies_ =
1548        java.util.Collections.emptyList();
1549      private void ensureDependenciesIsMutable() {
1550        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
1551          dependencies_ = new java.util.ArrayList<hapi.chart.ChartOuterClass.Chart>(dependencies_);
1552          bitField0_ |= 0x00000004;
1553         }
1554      }
1555
1556      private com.google.protobuf.RepeatedFieldBuilderV3<
1557          hapi.chart.ChartOuterClass.Chart, hapi.chart.ChartOuterClass.Chart.Builder, hapi.chart.ChartOuterClass.ChartOrBuilder> dependenciesBuilder_;
1558
1559      /**
1560       * <pre>
1561       * Charts that this chart depends on.
1562       * </pre>
1563       *
1564       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1565       */
1566      public java.util.List<hapi.chart.ChartOuterClass.Chart> getDependenciesList() {
1567        if (dependenciesBuilder_ == null) {
1568          return java.util.Collections.unmodifiableList(dependencies_);
1569        } else {
1570          return dependenciesBuilder_.getMessageList();
1571        }
1572      }
1573      /**
1574       * <pre>
1575       * Charts that this chart depends on.
1576       * </pre>
1577       *
1578       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1579       */
1580      public int getDependenciesCount() {
1581        if (dependenciesBuilder_ == null) {
1582          return dependencies_.size();
1583        } else {
1584          return dependenciesBuilder_.getCount();
1585        }
1586      }
1587      /**
1588       * <pre>
1589       * Charts that this chart depends on.
1590       * </pre>
1591       *
1592       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1593       */
1594      public hapi.chart.ChartOuterClass.Chart getDependencies(int index) {
1595        if (dependenciesBuilder_ == null) {
1596          return dependencies_.get(index);
1597        } else {
1598          return dependenciesBuilder_.getMessage(index);
1599        }
1600      }
1601      /**
1602       * <pre>
1603       * Charts that this chart depends on.
1604       * </pre>
1605       *
1606       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1607       */
1608      public Builder setDependencies(
1609          int index, hapi.chart.ChartOuterClass.Chart value) {
1610        if (dependenciesBuilder_ == null) {
1611          if (value == null) {
1612            throw new NullPointerException();
1613          }
1614          ensureDependenciesIsMutable();
1615          dependencies_.set(index, value);
1616          onChanged();
1617        } else {
1618          dependenciesBuilder_.setMessage(index, value);
1619        }
1620        return this;
1621      }
1622      /**
1623       * <pre>
1624       * Charts that this chart depends on.
1625       * </pre>
1626       *
1627       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1628       */
1629      public Builder setDependencies(
1630          int index, hapi.chart.ChartOuterClass.Chart.Builder builderForValue) {
1631        if (dependenciesBuilder_ == null) {
1632          ensureDependenciesIsMutable();
1633          dependencies_.set(index, builderForValue.build());
1634          onChanged();
1635        } else {
1636          dependenciesBuilder_.setMessage(index, builderForValue.build());
1637        }
1638        return this;
1639      }
1640      /**
1641       * <pre>
1642       * Charts that this chart depends on.
1643       * </pre>
1644       *
1645       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1646       */
1647      public Builder addDependencies(hapi.chart.ChartOuterClass.Chart value) {
1648        if (dependenciesBuilder_ == null) {
1649          if (value == null) {
1650            throw new NullPointerException();
1651          }
1652          ensureDependenciesIsMutable();
1653          dependencies_.add(value);
1654          onChanged();
1655        } else {
1656          dependenciesBuilder_.addMessage(value);
1657        }
1658        return this;
1659      }
1660      /**
1661       * <pre>
1662       * Charts that this chart depends on.
1663       * </pre>
1664       *
1665       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1666       */
1667      public Builder addDependencies(
1668          int index, hapi.chart.ChartOuterClass.Chart value) {
1669        if (dependenciesBuilder_ == null) {
1670          if (value == null) {
1671            throw new NullPointerException();
1672          }
1673          ensureDependenciesIsMutable();
1674          dependencies_.add(index, value);
1675          onChanged();
1676        } else {
1677          dependenciesBuilder_.addMessage(index, value);
1678        }
1679        return this;
1680      }
1681      /**
1682       * <pre>
1683       * Charts that this chart depends on.
1684       * </pre>
1685       *
1686       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1687       */
1688      public Builder addDependencies(
1689          hapi.chart.ChartOuterClass.Chart.Builder builderForValue) {
1690        if (dependenciesBuilder_ == null) {
1691          ensureDependenciesIsMutable();
1692          dependencies_.add(builderForValue.build());
1693          onChanged();
1694        } else {
1695          dependenciesBuilder_.addMessage(builderForValue.build());
1696        }
1697        return this;
1698      }
1699      /**
1700       * <pre>
1701       * Charts that this chart depends on.
1702       * </pre>
1703       *
1704       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1705       */
1706      public Builder addDependencies(
1707          int index, hapi.chart.ChartOuterClass.Chart.Builder builderForValue) {
1708        if (dependenciesBuilder_ == null) {
1709          ensureDependenciesIsMutable();
1710          dependencies_.add(index, builderForValue.build());
1711          onChanged();
1712        } else {
1713          dependenciesBuilder_.addMessage(index, builderForValue.build());
1714        }
1715        return this;
1716      }
1717      /**
1718       * <pre>
1719       * Charts that this chart depends on.
1720       * </pre>
1721       *
1722       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1723       */
1724      public Builder addAllDependencies(
1725          java.lang.Iterable<? extends hapi.chart.ChartOuterClass.Chart> values) {
1726        if (dependenciesBuilder_ == null) {
1727          ensureDependenciesIsMutable();
1728          com.google.protobuf.AbstractMessageLite.Builder.addAll(
1729              values, dependencies_);
1730          onChanged();
1731        } else {
1732          dependenciesBuilder_.addAllMessages(values);
1733        }
1734        return this;
1735      }
1736      /**
1737       * <pre>
1738       * Charts that this chart depends on.
1739       * </pre>
1740       *
1741       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1742       */
1743      public Builder clearDependencies() {
1744        if (dependenciesBuilder_ == null) {
1745          dependencies_ = java.util.Collections.emptyList();
1746          bitField0_ = (bitField0_ & ~0x00000004);
1747          onChanged();
1748        } else {
1749          dependenciesBuilder_.clear();
1750        }
1751        return this;
1752      }
1753      /**
1754       * <pre>
1755       * Charts that this chart depends on.
1756       * </pre>
1757       *
1758       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1759       */
1760      public Builder removeDependencies(int index) {
1761        if (dependenciesBuilder_ == null) {
1762          ensureDependenciesIsMutable();
1763          dependencies_.remove(index);
1764          onChanged();
1765        } else {
1766          dependenciesBuilder_.remove(index);
1767        }
1768        return this;
1769      }
1770      /**
1771       * <pre>
1772       * Charts that this chart depends on.
1773       * </pre>
1774       *
1775       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1776       */
1777      public hapi.chart.ChartOuterClass.Chart.Builder getDependenciesBuilder(
1778          int index) {
1779        return getDependenciesFieldBuilder().getBuilder(index);
1780      }
1781      /**
1782       * <pre>
1783       * Charts that this chart depends on.
1784       * </pre>
1785       *
1786       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1787       */
1788      public hapi.chart.ChartOuterClass.ChartOrBuilder getDependenciesOrBuilder(
1789          int index) {
1790        if (dependenciesBuilder_ == null) {
1791          return dependencies_.get(index);  } else {
1792          return dependenciesBuilder_.getMessageOrBuilder(index);
1793        }
1794      }
1795      /**
1796       * <pre>
1797       * Charts that this chart depends on.
1798       * </pre>
1799       *
1800       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1801       */
1802      public java.util.List<? extends hapi.chart.ChartOuterClass.ChartOrBuilder> 
1803           getDependenciesOrBuilderList() {
1804        if (dependenciesBuilder_ != null) {
1805          return dependenciesBuilder_.getMessageOrBuilderList();
1806        } else {
1807          return java.util.Collections.unmodifiableList(dependencies_);
1808        }
1809      }
1810      /**
1811       * <pre>
1812       * Charts that this chart depends on.
1813       * </pre>
1814       *
1815       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1816       */
1817      public hapi.chart.ChartOuterClass.Chart.Builder addDependenciesBuilder() {
1818        return getDependenciesFieldBuilder().addBuilder(
1819            hapi.chart.ChartOuterClass.Chart.getDefaultInstance());
1820      }
1821      /**
1822       * <pre>
1823       * Charts that this chart depends on.
1824       * </pre>
1825       *
1826       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1827       */
1828      public hapi.chart.ChartOuterClass.Chart.Builder addDependenciesBuilder(
1829          int index) {
1830        return getDependenciesFieldBuilder().addBuilder(
1831            index, hapi.chart.ChartOuterClass.Chart.getDefaultInstance());
1832      }
1833      /**
1834       * <pre>
1835       * Charts that this chart depends on.
1836       * </pre>
1837       *
1838       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1839       */
1840      public java.util.List<hapi.chart.ChartOuterClass.Chart.Builder> 
1841           getDependenciesBuilderList() {
1842        return getDependenciesFieldBuilder().getBuilderList();
1843      }
1844      private com.google.protobuf.RepeatedFieldBuilderV3<
1845          hapi.chart.ChartOuterClass.Chart, hapi.chart.ChartOuterClass.Chart.Builder, hapi.chart.ChartOuterClass.ChartOrBuilder> 
1846          getDependenciesFieldBuilder() {
1847        if (dependenciesBuilder_ == null) {
1848          dependenciesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
1849              hapi.chart.ChartOuterClass.Chart, hapi.chart.ChartOuterClass.Chart.Builder, hapi.chart.ChartOuterClass.ChartOrBuilder>(
1850                  dependencies_,
1851                  ((bitField0_ & 0x00000004) == 0x00000004),
1852                  getParentForChildren(),
1853                  isClean());
1854          dependencies_ = null;
1855        }
1856        return dependenciesBuilder_;
1857      }
1858
1859      private hapi.chart.ConfigOuterClass.Config values_ = null;
1860      private com.google.protobuf.SingleFieldBuilderV3<
1861          hapi.chart.ConfigOuterClass.Config, hapi.chart.ConfigOuterClass.Config.Builder, hapi.chart.ConfigOuterClass.ConfigOrBuilder> valuesBuilder_;
1862      /**
1863       * <pre>
1864       * Default config for this template.
1865       * </pre>
1866       *
1867       * <code>.hapi.chart.Config values = 4;</code>
1868       */
1869      public boolean hasValues() {
1870        return valuesBuilder_ != null || values_ != null;
1871      }
1872      /**
1873       * <pre>
1874       * Default config for this template.
1875       * </pre>
1876       *
1877       * <code>.hapi.chart.Config values = 4;</code>
1878       */
1879      public hapi.chart.ConfigOuterClass.Config getValues() {
1880        if (valuesBuilder_ == null) {
1881          return values_ == null ? hapi.chart.ConfigOuterClass.Config.getDefaultInstance() : values_;
1882        } else {
1883          return valuesBuilder_.getMessage();
1884        }
1885      }
1886      /**
1887       * <pre>
1888       * Default config for this template.
1889       * </pre>
1890       *
1891       * <code>.hapi.chart.Config values = 4;</code>
1892       */
1893      public Builder setValues(hapi.chart.ConfigOuterClass.Config value) {
1894        if (valuesBuilder_ == null) {
1895          if (value == null) {
1896            throw new NullPointerException();
1897          }
1898          values_ = value;
1899          onChanged();
1900        } else {
1901          valuesBuilder_.setMessage(value);
1902        }
1903
1904        return this;
1905      }
1906      /**
1907       * <pre>
1908       * Default config for this template.
1909       * </pre>
1910       *
1911       * <code>.hapi.chart.Config values = 4;</code>
1912       */
1913      public Builder setValues(
1914          hapi.chart.ConfigOuterClass.Config.Builder builderForValue) {
1915        if (valuesBuilder_ == null) {
1916          values_ = builderForValue.build();
1917          onChanged();
1918        } else {
1919          valuesBuilder_.setMessage(builderForValue.build());
1920        }
1921
1922        return this;
1923      }
1924      /**
1925       * <pre>
1926       * Default config for this template.
1927       * </pre>
1928       *
1929       * <code>.hapi.chart.Config values = 4;</code>
1930       */
1931      public Builder mergeValues(hapi.chart.ConfigOuterClass.Config value) {
1932        if (valuesBuilder_ == null) {
1933          if (values_ != null) {
1934            values_ =
1935              hapi.chart.ConfigOuterClass.Config.newBuilder(values_).mergeFrom(value).buildPartial();
1936          } else {
1937            values_ = value;
1938          }
1939          onChanged();
1940        } else {
1941          valuesBuilder_.mergeFrom(value);
1942        }
1943
1944        return this;
1945      }
1946      /**
1947       * <pre>
1948       * Default config for this template.
1949       * </pre>
1950       *
1951       * <code>.hapi.chart.Config values = 4;</code>
1952       */
1953      public Builder clearValues() {
1954        if (valuesBuilder_ == null) {
1955          values_ = null;
1956          onChanged();
1957        } else {
1958          values_ = null;
1959          valuesBuilder_ = null;
1960        }
1961
1962        return this;
1963      }
1964      /**
1965       * <pre>
1966       * Default config for this template.
1967       * </pre>
1968       *
1969       * <code>.hapi.chart.Config values = 4;</code>
1970       */
1971      public hapi.chart.ConfigOuterClass.Config.Builder getValuesBuilder() {
1972        
1973        onChanged();
1974        return getValuesFieldBuilder().getBuilder();
1975      }
1976      /**
1977       * <pre>
1978       * Default config for this template.
1979       * </pre>
1980       *
1981       * <code>.hapi.chart.Config values = 4;</code>
1982       */
1983      public hapi.chart.ConfigOuterClass.ConfigOrBuilder getValuesOrBuilder() {
1984        if (valuesBuilder_ != null) {
1985          return valuesBuilder_.getMessageOrBuilder();
1986        } else {
1987          return values_ == null ?
1988              hapi.chart.ConfigOuterClass.Config.getDefaultInstance() : values_;
1989        }
1990      }
1991      /**
1992       * <pre>
1993       * Default config for this template.
1994       * </pre>
1995       *
1996       * <code>.hapi.chart.Config values = 4;</code>
1997       */
1998      private com.google.protobuf.SingleFieldBuilderV3<
1999          hapi.chart.ConfigOuterClass.Config, hapi.chart.ConfigOuterClass.Config.Builder, hapi.chart.ConfigOuterClass.ConfigOrBuilder> 
2000          getValuesFieldBuilder() {
2001        if (valuesBuilder_ == null) {
2002          valuesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
2003              hapi.chart.ConfigOuterClass.Config, hapi.chart.ConfigOuterClass.Config.Builder, hapi.chart.ConfigOuterClass.ConfigOrBuilder>(
2004                  getValues(),
2005                  getParentForChildren(),
2006                  isClean());
2007          values_ = null;
2008        }
2009        return valuesBuilder_;
2010      }
2011
2012      private java.util.List<com.google.protobuf.Any> files_ =
2013        java.util.Collections.emptyList();
2014      private void ensureFilesIsMutable() {
2015        if (!((bitField0_ & 0x00000010) == 0x00000010)) {
2016          files_ = new java.util.ArrayList<com.google.protobuf.Any>(files_);
2017          bitField0_ |= 0x00000010;
2018         }
2019      }
2020
2021      private com.google.protobuf.RepeatedFieldBuilderV3<
2022          com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> filesBuilder_;
2023
2024      /**
2025       * <pre>
2026       * Miscellaneous files in a chart archive,
2027       * e.g. README, LICENSE, etc.
2028       * </pre>
2029       *
2030       * <code>repeated .google.protobuf.Any files = 5;</code>
2031       */
2032      public java.util.List<com.google.protobuf.Any> getFilesList() {
2033        if (filesBuilder_ == null) {
2034          return java.util.Collections.unmodifiableList(files_);
2035        } else {
2036          return filesBuilder_.getMessageList();
2037        }
2038      }
2039      /**
2040       * <pre>
2041       * Miscellaneous files in a chart archive,
2042       * e.g. README, LICENSE, etc.
2043       * </pre>
2044       *
2045       * <code>repeated .google.protobuf.Any files = 5;</code>
2046       */
2047      public int getFilesCount() {
2048        if (filesBuilder_ == null) {
2049          return files_.size();
2050        } else {
2051          return filesBuilder_.getCount();
2052        }
2053      }
2054      /**
2055       * <pre>
2056       * Miscellaneous files in a chart archive,
2057       * e.g. README, LICENSE, etc.
2058       * </pre>
2059       *
2060       * <code>repeated .google.protobuf.Any files = 5;</code>
2061       */
2062      public com.google.protobuf.Any getFiles(int index) {
2063        if (filesBuilder_ == null) {
2064          return files_.get(index);
2065        } else {
2066          return filesBuilder_.getMessage(index);
2067        }
2068      }
2069      /**
2070       * <pre>
2071       * Miscellaneous files in a chart archive,
2072       * e.g. README, LICENSE, etc.
2073       * </pre>
2074       *
2075       * <code>repeated .google.protobuf.Any files = 5;</code>
2076       */
2077      public Builder setFiles(
2078          int index, com.google.protobuf.Any value) {
2079        if (filesBuilder_ == null) {
2080          if (value == null) {
2081            throw new NullPointerException();
2082          }
2083          ensureFilesIsMutable();
2084          files_.set(index, value);
2085          onChanged();
2086        } else {
2087          filesBuilder_.setMessage(index, value);
2088        }
2089        return this;
2090      }
2091      /**
2092       * <pre>
2093       * Miscellaneous files in a chart archive,
2094       * e.g. README, LICENSE, etc.
2095       * </pre>
2096       *
2097       * <code>repeated .google.protobuf.Any files = 5;</code>
2098       */
2099      public Builder setFiles(
2100          int index, com.google.protobuf.Any.Builder builderForValue) {
2101        if (filesBuilder_ == null) {
2102          ensureFilesIsMutable();
2103          files_.set(index, builderForValue.build());
2104          onChanged();
2105        } else {
2106          filesBuilder_.setMessage(index, builderForValue.build());
2107        }
2108        return this;
2109      }
2110      /**
2111       * <pre>
2112       * Miscellaneous files in a chart archive,
2113       * e.g. README, LICENSE, etc.
2114       * </pre>
2115       *
2116       * <code>repeated .google.protobuf.Any files = 5;</code>
2117       */
2118      public Builder addFiles(com.google.protobuf.Any value) {
2119        if (filesBuilder_ == null) {
2120          if (value == null) {
2121            throw new NullPointerException();
2122          }
2123          ensureFilesIsMutable();
2124          files_.add(value);
2125          onChanged();
2126        } else {
2127          filesBuilder_.addMessage(value);
2128        }
2129        return this;
2130      }
2131      /**
2132       * <pre>
2133       * Miscellaneous files in a chart archive,
2134       * e.g. README, LICENSE, etc.
2135       * </pre>
2136       *
2137       * <code>repeated .google.protobuf.Any files = 5;</code>
2138       */
2139      public Builder addFiles(
2140          int index, com.google.protobuf.Any value) {
2141        if (filesBuilder_ == null) {
2142          if (value == null) {
2143            throw new NullPointerException();
2144          }
2145          ensureFilesIsMutable();
2146          files_.add(index, value);
2147          onChanged();
2148        } else {
2149          filesBuilder_.addMessage(index, value);
2150        }
2151        return this;
2152      }
2153      /**
2154       * <pre>
2155       * Miscellaneous files in a chart archive,
2156       * e.g. README, LICENSE, etc.
2157       * </pre>
2158       *
2159       * <code>repeated .google.protobuf.Any files = 5;</code>
2160       */
2161      public Builder addFiles(
2162          com.google.protobuf.Any.Builder builderForValue) {
2163        if (filesBuilder_ == null) {
2164          ensureFilesIsMutable();
2165          files_.add(builderForValue.build());
2166          onChanged();
2167        } else {
2168          filesBuilder_.addMessage(builderForValue.build());
2169        }
2170        return this;
2171      }
2172      /**
2173       * <pre>
2174       * Miscellaneous files in a chart archive,
2175       * e.g. README, LICENSE, etc.
2176       * </pre>
2177       *
2178       * <code>repeated .google.protobuf.Any files = 5;</code>
2179       */
2180      public Builder addFiles(
2181          int index, com.google.protobuf.Any.Builder builderForValue) {
2182        if (filesBuilder_ == null) {
2183          ensureFilesIsMutable();
2184          files_.add(index, builderForValue.build());
2185          onChanged();
2186        } else {
2187          filesBuilder_.addMessage(index, builderForValue.build());
2188        }
2189        return this;
2190      }
2191      /**
2192       * <pre>
2193       * Miscellaneous files in a chart archive,
2194       * e.g. README, LICENSE, etc.
2195       * </pre>
2196       *
2197       * <code>repeated .google.protobuf.Any files = 5;</code>
2198       */
2199      public Builder addAllFiles(
2200          java.lang.Iterable<? extends com.google.protobuf.Any> values) {
2201        if (filesBuilder_ == null) {
2202          ensureFilesIsMutable();
2203          com.google.protobuf.AbstractMessageLite.Builder.addAll(
2204              values, files_);
2205          onChanged();
2206        } else {
2207          filesBuilder_.addAllMessages(values);
2208        }
2209        return this;
2210      }
2211      /**
2212       * <pre>
2213       * Miscellaneous files in a chart archive,
2214       * e.g. README, LICENSE, etc.
2215       * </pre>
2216       *
2217       * <code>repeated .google.protobuf.Any files = 5;</code>
2218       */
2219      public Builder clearFiles() {
2220        if (filesBuilder_ == null) {
2221          files_ = java.util.Collections.emptyList();
2222          bitField0_ = (bitField0_ & ~0x00000010);
2223          onChanged();
2224        } else {
2225          filesBuilder_.clear();
2226        }
2227        return this;
2228      }
2229      /**
2230       * <pre>
2231       * Miscellaneous files in a chart archive,
2232       * e.g. README, LICENSE, etc.
2233       * </pre>
2234       *
2235       * <code>repeated .google.protobuf.Any files = 5;</code>
2236       */
2237      public Builder removeFiles(int index) {
2238        if (filesBuilder_ == null) {
2239          ensureFilesIsMutable();
2240          files_.remove(index);
2241          onChanged();
2242        } else {
2243          filesBuilder_.remove(index);
2244        }
2245        return this;
2246      }
2247      /**
2248       * <pre>
2249       * Miscellaneous files in a chart archive,
2250       * e.g. README, LICENSE, etc.
2251       * </pre>
2252       *
2253       * <code>repeated .google.protobuf.Any files = 5;</code>
2254       */
2255      public com.google.protobuf.Any.Builder getFilesBuilder(
2256          int index) {
2257        return getFilesFieldBuilder().getBuilder(index);
2258      }
2259      /**
2260       * <pre>
2261       * Miscellaneous files in a chart archive,
2262       * e.g. README, LICENSE, etc.
2263       * </pre>
2264       *
2265       * <code>repeated .google.protobuf.Any files = 5;</code>
2266       */
2267      public com.google.protobuf.AnyOrBuilder getFilesOrBuilder(
2268          int index) {
2269        if (filesBuilder_ == null) {
2270          return files_.get(index);  } else {
2271          return filesBuilder_.getMessageOrBuilder(index);
2272        }
2273      }
2274      /**
2275       * <pre>
2276       * Miscellaneous files in a chart archive,
2277       * e.g. README, LICENSE, etc.
2278       * </pre>
2279       *
2280       * <code>repeated .google.protobuf.Any files = 5;</code>
2281       */
2282      public java.util.List<? extends com.google.protobuf.AnyOrBuilder> 
2283           getFilesOrBuilderList() {
2284        if (filesBuilder_ != null) {
2285          return filesBuilder_.getMessageOrBuilderList();
2286        } else {
2287          return java.util.Collections.unmodifiableList(files_);
2288        }
2289      }
2290      /**
2291       * <pre>
2292       * Miscellaneous files in a chart archive,
2293       * e.g. README, LICENSE, etc.
2294       * </pre>
2295       *
2296       * <code>repeated .google.protobuf.Any files = 5;</code>
2297       */
2298      public com.google.protobuf.Any.Builder addFilesBuilder() {
2299        return getFilesFieldBuilder().addBuilder(
2300            com.google.protobuf.Any.getDefaultInstance());
2301      }
2302      /**
2303       * <pre>
2304       * Miscellaneous files in a chart archive,
2305       * e.g. README, LICENSE, etc.
2306       * </pre>
2307       *
2308       * <code>repeated .google.protobuf.Any files = 5;</code>
2309       */
2310      public com.google.protobuf.Any.Builder addFilesBuilder(
2311          int index) {
2312        return getFilesFieldBuilder().addBuilder(
2313            index, com.google.protobuf.Any.getDefaultInstance());
2314      }
2315      /**
2316       * <pre>
2317       * Miscellaneous files in a chart archive,
2318       * e.g. README, LICENSE, etc.
2319       * </pre>
2320       *
2321       * <code>repeated .google.protobuf.Any files = 5;</code>
2322       */
2323      public java.util.List<com.google.protobuf.Any.Builder> 
2324           getFilesBuilderList() {
2325        return getFilesFieldBuilder().getBuilderList();
2326      }
2327      private com.google.protobuf.RepeatedFieldBuilderV3<
2328          com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> 
2329          getFilesFieldBuilder() {
2330        if (filesBuilder_ == null) {
2331          filesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
2332              com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>(
2333                  files_,
2334                  ((bitField0_ & 0x00000010) == 0x00000010),
2335                  getParentForChildren(),
2336                  isClean());
2337          files_ = null;
2338        }
2339        return filesBuilder_;
2340      }
2341      public final Builder setUnknownFields(
2342          final com.google.protobuf.UnknownFieldSet unknownFields) {
2343        return super.setUnknownFieldsProto3(unknownFields);
2344      }
2345
2346      public final Builder mergeUnknownFields(
2347          final com.google.protobuf.UnknownFieldSet unknownFields) {
2348        return super.mergeUnknownFields(unknownFields);
2349      }
2350
2351
2352      // @@protoc_insertion_point(builder_scope:hapi.chart.Chart)
2353    }
2354
2355    // @@protoc_insertion_point(class_scope:hapi.chart.Chart)
2356    private static final hapi.chart.ChartOuterClass.Chart DEFAULT_INSTANCE;
2357    static {
2358      DEFAULT_INSTANCE = new hapi.chart.ChartOuterClass.Chart();
2359    }
2360
2361    public static hapi.chart.ChartOuterClass.Chart getDefaultInstance() {
2362      return DEFAULT_INSTANCE;
2363    }
2364
2365    private static final com.google.protobuf.Parser<Chart>
2366        PARSER = new com.google.protobuf.AbstractParser<Chart>() {
2367      public Chart parsePartialFrom(
2368          com.google.protobuf.CodedInputStream input,
2369          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2370          throws com.google.protobuf.InvalidProtocolBufferException {
2371          return new Chart(input, extensionRegistry);
2372      }
2373    };
2374
2375    public static com.google.protobuf.Parser<Chart> parser() {
2376      return PARSER;
2377    }
2378
2379    @java.lang.Override
2380    public com.google.protobuf.Parser<Chart> getParserForType() {
2381      return PARSER;
2382    }
2383
2384    public hapi.chart.ChartOuterClass.Chart getDefaultInstanceForType() {
2385      return DEFAULT_INSTANCE;
2386    }
2387
2388  }
2389
2390  private static final com.google.protobuf.Descriptors.Descriptor
2391    internal_static_hapi_chart_Chart_descriptor;
2392  private static final 
2393    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
2394      internal_static_hapi_chart_Chart_fieldAccessorTable;
2395
2396  public static com.google.protobuf.Descriptors.FileDescriptor
2397      getDescriptor() {
2398    return descriptor;
2399  }
2400  private static  com.google.protobuf.Descriptors.FileDescriptor
2401      descriptor;
2402  static {
2403    java.lang.String[] descriptorData = {
2404      "\n\026hapi/chart/chart.proto\022\nhapi.chart\032\027ha" +
2405      "pi/chart/config.proto\032\031hapi/chart/metada" +
2406      "ta.proto\032\031hapi/chart/template.proto\032\031goo" +
2407      "gle/protobuf/any.proto\"\312\001\n\005Chart\022&\n\010meta" +
2408      "data\030\001 \001(\0132\024.hapi.chart.Metadata\022\'\n\ttemp" +
2409      "lates\030\002 \003(\0132\024.hapi.chart.Template\022\'\n\014dep" +
2410      "endencies\030\003 \003(\0132\021.hapi.chart.Chart\022\"\n\006va" +
2411      "lues\030\004 \001(\0132\022.hapi.chart.Config\022#\n\005files\030" +
2412      "\005 \003(\0132\024.google.protobuf.AnyB\007Z\005chartb\006pr" +
2413      "oto3"
2414    };
2415    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
2416        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
2417          public com.google.protobuf.ExtensionRegistry assignDescriptors(
2418              com.google.protobuf.Descriptors.FileDescriptor root) {
2419            descriptor = root;
2420            return null;
2421          }
2422        };
2423    com.google.protobuf.Descriptors.FileDescriptor
2424      .internalBuildGeneratedFileFrom(descriptorData,
2425        new com.google.protobuf.Descriptors.FileDescriptor[] {
2426          hapi.chart.ConfigOuterClass.getDescriptor(),
2427          hapi.chart.MetadataOuterClass.getDescriptor(),
2428          hapi.chart.TemplateOuterClass.getDescriptor(),
2429          com.google.protobuf.AnyProto.getDescriptor(),
2430        }, assigner);
2431    internal_static_hapi_chart_Chart_descriptor =
2432      getDescriptor().getMessageTypes().get(0);
2433    internal_static_hapi_chart_Chart_fieldAccessorTable = new
2434      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
2435        internal_static_hapi_chart_Chart_descriptor,
2436        new java.lang.String[] { "Metadata", "Templates", "Dependencies", "Values", "Files", });
2437    hapi.chart.ConfigOuterClass.getDescriptor();
2438    hapi.chart.MetadataOuterClass.getDescriptor();
2439    hapi.chart.TemplateOuterClass.getDescriptor();
2440    com.google.protobuf.AnyProto.getDescriptor();
2441  }
2442
2443  // @@protoc_insertion_point(outer_class_scope)
2444}