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