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