// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: LocalTimeProtocol.proto

package org.jboss.netty.example.localtime;

@SuppressWarnings("all")
public final class LocalTimeProtocol {
  private LocalTimeProtocol() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  public enum Continent
      implements com.google.protobuf.ProtocolMessageEnum {
    AFRICA(0, 0),
    AMERICA(1, 1),
    ANTARCTICA(2, 2),
    ARCTIC(3, 3),
    ASIA(4, 4),
    ATLANTIC(5, 5),
    AUSTRALIA(6, 6),
    EUROPE(7, 7),
    INDIAN(8, 8),
    MIDEAST(9, 9),
    PACIFIC(10, 10),
    ;


    public final int getNumber() { return value; }

    public static Continent valueOf(int value) {
      switch (value) {
        case 0: return AFRICA;
        case 1: return AMERICA;
        case 2: return ANTARCTICA;
        case 3: return ARCTIC;
        case 4: return ASIA;
        case 5: return ATLANTIC;
        case 6: return AUSTRALIA;
        case 7: return EUROPE;
        case 8: return INDIAN;
        case 9: return MIDEAST;
        case 10: return PACIFIC;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<Continent>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap<Continent>
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<Continent>() {
            public Continent findValueByNumber(int number) {
              return Continent.valueOf(number)
    ;        }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return org.jboss.netty.example.localtime.LocalTimeProtocol.getDescriptor().getEnumTypes().get(0);
    }

    private static final Continent[] VALUES = {
      AFRICA, AMERICA, ANTARCTICA, ARCTIC, ASIA, ATLANTIC, AUSTRALIA, EUROPE, INDIAN, MIDEAST, PACIFIC,
    };
    public static Continent valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }
    private final int index;
    private final int value;
    private Continent(int index, int value) {
      this.index = index;
      this.value = value;
    }

    static {
      org.jboss.netty.example.localtime.LocalTimeProtocol.getDescriptor();
    }

    // @@protoc_insertion_point(enum_scope:org.jboss.netty.example.localtime.Continent)
  }

  public enum DayOfWeek
      implements com.google.protobuf.ProtocolMessageEnum {
    SUNDAY(0, 1),
    MONDAY(1, 2),
    TUESDAY(2, 3),
    WEDNESDAY(3, 4),
    THURSDAY(4, 5),
    FRIDAY(5, 6),
    SATURDAY(6, 7),
    ;


    public final int getNumber() { return value; }

    public static DayOfWeek valueOf(int value) {
      switch (value) {
        case 1: return SUNDAY;
        case 2: return MONDAY;
        case 3: return TUESDAY;
        case 4: return WEDNESDAY;
        case 5: return THURSDAY;
        case 6: return FRIDAY;
        case 7: return SATURDAY;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<DayOfWeek>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap<DayOfWeek>
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<DayOfWeek>() {
            public DayOfWeek findValueByNumber(int number) {
              return DayOfWeek.valueOf(number)
    ;        }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return org.jboss.netty.example.localtime.LocalTimeProtocol.getDescriptor().getEnumTypes().get(1);
    }

    private static final DayOfWeek[] VALUES = {
      SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,
    };
    public static DayOfWeek valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }
    private final int index;
    private final int value;
    private DayOfWeek(int index, int value) {
      this.index = index;
      this.value = value;
    }

    static {
      org.jboss.netty.example.localtime.LocalTimeProtocol.getDescriptor();
    }

    // @@protoc_insertion_point(enum_scope:org.jboss.netty.example.localtime.DayOfWeek)
  }

  public static final class Location extends
      com.google.protobuf.GeneratedMessage {
    // Use Location.newBuilder() to construct.
    private Location() {
      initFields();
    }
    private Location(boolean noInit) {}

    private static final Location defaultInstance;
    public static Location getDefaultInstance() {
      return defaultInstance;
    }

    public Location getDefaultInstanceForType() {
      return defaultInstance;
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.jboss.netty.example.localtime.LocalTimeProtocol.internal_static_org_jboss_netty_example_localtime_Location_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.jboss.netty.example.localtime.LocalTimeProtocol.internal_static_org_jboss_netty_example_localtime_Location_fieldAccessorTable;
    }

    // required .org.jboss.netty.example.localtime.Continent continent = 1;
    public static final int CONTINENT_FIELD_NUMBER = 1;
    private boolean hasContinent;
    private org.jboss.netty.example.localtime.LocalTimeProtocol.Continent continent_;
    public boolean hasContinent() { return hasContinent; }
    public org.jboss.netty.example.localtime.LocalTimeProtocol.Continent getContinent() { return continent_; }

    // required string city = 2;
    public static final int CITY_FIELD_NUMBER = 2;
    private boolean hasCity;
    private java.lang.String city_ = "";
    public boolean hasCity() { return hasCity; }
    public java.lang.String getCity() { return city_; }

    private void initFields() {
      continent_ = org.jboss.netty.example.localtime.LocalTimeProtocol.Continent.AFRICA;
    }
    public final boolean isInitialized() {
      if (!hasContinent) {
        return false;
    }
      if (!hasCity) {
        return false;
    }
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (hasContinent()) {
        output.writeEnum(1, getContinent().getNumber());
      }
      if (hasCity()) {
        output.writeString(2, getCity());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) {
        return size;
    }

      size = 0;
      if (hasContinent()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, getContinent().getNumber());
      }
      if (hasCity()) {
        size += com.google.protobuf.CodedOutputStream
          .computeStringSize(2, getCity());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Location parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Location parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Location parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Location parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Location parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Location parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Location parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Location parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Location parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Location parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.jboss.netty.example.localtime.LocalTimeProtocol.Location prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private org.jboss.netty.example.localtime.LocalTimeProtocol.Location result;

      // Construct using org.jboss.netty.example.localtime.LocalTimeProtocol.Location.newBuilder()
      private Builder() {}

      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new org.jboss.netty.example.localtime.LocalTimeProtocol.Location();
        return builder;
      }

      protected org.jboss.netty.example.localtime.LocalTimeProtocol.Location internalGetResult() {
        return result;
      }

      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new org.jboss.netty.example.localtime.LocalTimeProtocol.Location();
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(result);
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.jboss.netty.example.localtime.LocalTimeProtocol.Location.getDescriptor();
      }

      public org.jboss.netty.example.localtime.LocalTimeProtocol.Location getDefaultInstanceForType() {
        return org.jboss.netty.example.localtime.LocalTimeProtocol.Location.getDefaultInstance();
      }

      public boolean isInitialized() {
        return result.isInitialized();
      }
      public org.jboss.netty.example.localtime.LocalTimeProtocol.Location build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }

      private org.jboss.netty.example.localtime.LocalTimeProtocol.Location buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }

      public org.jboss.netty.example.localtime.LocalTimeProtocol.Location buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        org.jboss.netty.example.localtime.LocalTimeProtocol.Location returnMe = result;
        result = null;
        return returnMe;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.jboss.netty.example.localtime.LocalTimeProtocol.Location) {
          return mergeFrom((org.jboss.netty.example.localtime.LocalTimeProtocol.Location)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.jboss.netty.example.localtime.LocalTimeProtocol.Location other) {
        if (other == org.jboss.netty.example.localtime.LocalTimeProtocol.Location.getDefaultInstance()) {
            return this;
        }
        if (other.hasContinent()) {
          setContinent(other.getContinent());
        }
        if (other.hasCity()) {
          setCity(other.getCity());
        }
        mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              org.jboss.netty.example.localtime.LocalTimeProtocol.Continent value = org.jboss.netty.example.localtime.LocalTimeProtocol.Continent.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                setContinent(value);
              }
              break;
            }
            case 18: {
              setCity(input.readString());
              break;
            }
          }
        }
      }


      // required .org.jboss.netty.example.localtime.Continent continent = 1;
      public boolean hasContinent() {
        return result.hasContinent();
      }
      public org.jboss.netty.example.localtime.LocalTimeProtocol.Continent getContinent() {
        return result.getContinent();
      }
      public Builder setContinent(org.jboss.netty.example.localtime.LocalTimeProtocol.Continent value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasContinent = true;
        result.continent_ = value;
        return this;
      }
      public Builder clearContinent() {
        result.hasContinent = false;
        result.continent_ = org.jboss.netty.example.localtime.LocalTimeProtocol.Continent.AFRICA;
        return this;
      }

      // required string city = 2;
      public boolean hasCity() {
        return result.hasCity();
      }
      public java.lang.String getCity() {
        return result.getCity();
      }
      public Builder setCity(java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  result.hasCity = true;
        result.city_ = value;
        return this;
      }
      public Builder clearCity() {
        result.hasCity = false;
        result.city_ = getDefaultInstance().getCity();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.jboss.netty.example.localtime.Location)
    }

    static {
      defaultInstance = new Location(true);
      org.jboss.netty.example.localtime.LocalTimeProtocol.internalForceInit();
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:org.jboss.netty.example.localtime.Location)
  }

  public static final class Locations extends
      com.google.protobuf.GeneratedMessage {
    // Use Locations.newBuilder() to construct.
    private Locations() {
      initFields();
    }
    private Locations(boolean noInit) {}

    private static final Locations defaultInstance;
    public static Locations getDefaultInstance() {
      return defaultInstance;
    }

    public Locations getDefaultInstanceForType() {
      return defaultInstance;
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.jboss.netty.example.localtime.LocalTimeProtocol.internal_static_org_jboss_netty_example_localtime_Locations_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.jboss.netty.example.localtime.LocalTimeProtocol.internal_static_org_jboss_netty_example_localtime_Locations_fieldAccessorTable;
    }

    // repeated .org.jboss.netty.example.localtime.Location location = 1;
    public static final int LOCATION_FIELD_NUMBER = 1;
    private java.util.List<org.jboss.netty.example.localtime.LocalTimeProtocol.Location> location_ =
      java.util.Collections.emptyList();
    public java.util.List<org.jboss.netty.example.localtime.LocalTimeProtocol.Location> getLocationList() {
      return location_;
    }
    public int getLocationCount() { return location_.size(); }
    public org.jboss.netty.example.localtime.LocalTimeProtocol.Location getLocation(int index) {
      return location_.get(index);
    }

    private void initFields() {
    }
    public final boolean isInitialized() {
      for (org.jboss.netty.example.localtime.LocalTimeProtocol.Location element : getLocationList()) {
        if (!element.isInitialized()) {
            return false;
        }
      }
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (org.jboss.netty.example.localtime.LocalTimeProtocol.Location element : getLocationList()) {
        output.writeMessage(1, element);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) {
        return size;
    }

      size = 0;
      for (org.jboss.netty.example.localtime.LocalTimeProtocol.Location element : getLocationList()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, element);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Locations parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Locations parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Locations parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Locations parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Locations parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Locations parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Locations parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Locations parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Locations parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.Locations parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.jboss.netty.example.localtime.LocalTimeProtocol.Locations prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private org.jboss.netty.example.localtime.LocalTimeProtocol.Locations result;

      // Construct using org.jboss.netty.example.localtime.LocalTimeProtocol.Locations.newBuilder()
      private Builder() {}

      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new org.jboss.netty.example.localtime.LocalTimeProtocol.Locations();
        return builder;
      }

      protected org.jboss.netty.example.localtime.LocalTimeProtocol.Locations internalGetResult() {
        return result;
      }

      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new org.jboss.netty.example.localtime.LocalTimeProtocol.Locations();
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(result);
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.jboss.netty.example.localtime.LocalTimeProtocol.Locations.getDescriptor();
      }

      public org.jboss.netty.example.localtime.LocalTimeProtocol.Locations getDefaultInstanceForType() {
        return org.jboss.netty.example.localtime.LocalTimeProtocol.Locations.getDefaultInstance();
      }

      public boolean isInitialized() {
        return result.isInitialized();
      }
      public org.jboss.netty.example.localtime.LocalTimeProtocol.Locations build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }

      private org.jboss.netty.example.localtime.LocalTimeProtocol.Locations buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }

      public org.jboss.netty.example.localtime.LocalTimeProtocol.Locations buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        if (result.location_ != java.util.Collections.EMPTY_LIST) {
          result.location_ =
            java.util.Collections.unmodifiableList(result.location_);
        }
        org.jboss.netty.example.localtime.LocalTimeProtocol.Locations returnMe = result;
        result = null;
        return returnMe;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.jboss.netty.example.localtime.LocalTimeProtocol.Locations) {
          return mergeFrom((org.jboss.netty.example.localtime.LocalTimeProtocol.Locations)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.jboss.netty.example.localtime.LocalTimeProtocol.Locations other) {
        if (other == org.jboss.netty.example.localtime.LocalTimeProtocol.Locations.getDefaultInstance()) {
            return this;
        }
        if (!other.location_.isEmpty()) {
          if (result.location_.isEmpty()) {
            result.location_ = new java.util.ArrayList<org.jboss.netty.example.localtime.LocalTimeProtocol.Location>();
          }
          result.location_.addAll(other.location_);
        }
        mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 10: {
              org.jboss.netty.example.localtime.LocalTimeProtocol.Location.Builder subBuilder = org.jboss.netty.example.localtime.LocalTimeProtocol.Location.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addLocation(subBuilder.buildPartial());
              break;
            }
          }
        }
      }


      // repeated .org.jboss.netty.example.localtime.Location location = 1;
      public java.util.List<org.jboss.netty.example.localtime.LocalTimeProtocol.Location> getLocationList() {
        return java.util.Collections.unmodifiableList(result.location_);
      }
      public int getLocationCount() {
        return result.getLocationCount();
      }
      public org.jboss.netty.example.localtime.LocalTimeProtocol.Location getLocation(int index) {
        return result.getLocation(index);
      }
      public Builder setLocation(int index, org.jboss.netty.example.localtime.LocalTimeProtocol.Location value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.location_.set(index, value);
        return this;
      }
      public Builder setLocation(int index, org.jboss.netty.example.localtime.LocalTimeProtocol.Location.Builder builderForValue) {
        result.location_.set(index, builderForValue.build());
        return this;
      }
      public Builder addLocation(org.jboss.netty.example.localtime.LocalTimeProtocol.Location value) {
        if (value == null) {
          throw new NullPointerException();
        }
        if (result.location_.isEmpty()) {
          result.location_ = new java.util.ArrayList<org.jboss.netty.example.localtime.LocalTimeProtocol.Location>();
        }
        result.location_.add(value);
        return this;
      }
      public Builder addLocation(org.jboss.netty.example.localtime.LocalTimeProtocol.Location.Builder builderForValue) {
        if (result.location_.isEmpty()) {
          result.location_ = new java.util.ArrayList<org.jboss.netty.example.localtime.LocalTimeProtocol.Location>();
        }
        result.location_.add(builderForValue.build());
        return this;
      }
      public Builder addAllLocation(
          java.lang.Iterable<? extends org.jboss.netty.example.localtime.LocalTimeProtocol.Location> values) {
        if (result.location_.isEmpty()) {
          result.location_ = new java.util.ArrayList<org.jboss.netty.example.localtime.LocalTimeProtocol.Location>();
        }
        super.addAll(values, result.location_);
        return this;
      }
      public Builder clearLocation() {
        result.location_ = java.util.Collections.emptyList();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.jboss.netty.example.localtime.Locations)
    }

    static {
      defaultInstance = new Locations(true);
      org.jboss.netty.example.localtime.LocalTimeProtocol.internalForceInit();
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:org.jboss.netty.example.localtime.Locations)
  }

  public static final class LocalTime extends
      com.google.protobuf.GeneratedMessage {
    // Use LocalTime.newBuilder() to construct.
    private LocalTime() {
      initFields();
    }
    private LocalTime(boolean noInit) {}

    private static final LocalTime defaultInstance;
    public static LocalTime getDefaultInstance() {
      return defaultInstance;
    }

    public LocalTime getDefaultInstanceForType() {
      return defaultInstance;
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.jboss.netty.example.localtime.LocalTimeProtocol.internal_static_org_jboss_netty_example_localtime_LocalTime_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.jboss.netty.example.localtime.LocalTimeProtocol.internal_static_org_jboss_netty_example_localtime_LocalTime_fieldAccessorTable;
    }

    // required uint32 year = 1;
    public static final int YEAR_FIELD_NUMBER = 1;
    private boolean hasYear;
    private int year_ = 0;
    public boolean hasYear() { return hasYear; }
    public int getYear() { return year_; }

    // required uint32 month = 2;
    public static final int MONTH_FIELD_NUMBER = 2;
    private boolean hasMonth;
    private int month_ = 0;
    public boolean hasMonth() { return hasMonth; }
    public int getMonth() { return month_; }

    // required uint32 dayOfMonth = 4;
    public static final int DAYOFMONTH_FIELD_NUMBER = 4;
    private boolean hasDayOfMonth;
    private int dayOfMonth_ = 0;
    public boolean hasDayOfMonth() { return hasDayOfMonth; }
    public int getDayOfMonth() { return dayOfMonth_; }

    // required .org.jboss.netty.example.localtime.DayOfWeek dayOfWeek = 5;
    public static final int DAYOFWEEK_FIELD_NUMBER = 5;
    private boolean hasDayOfWeek;
    private org.jboss.netty.example.localtime.LocalTimeProtocol.DayOfWeek dayOfWeek_;
    public boolean hasDayOfWeek() { return hasDayOfWeek; }
    public org.jboss.netty.example.localtime.LocalTimeProtocol.DayOfWeek getDayOfWeek() { return dayOfWeek_; }

    // required uint32 hour = 6;
    public static final int HOUR_FIELD_NUMBER = 6;
    private boolean hasHour;
    private int hour_ = 0;
    public boolean hasHour() { return hasHour; }
    public int getHour() { return hour_; }

    // required uint32 minute = 7;
    public static final int MINUTE_FIELD_NUMBER = 7;
    private boolean hasMinute;
    private int minute_ = 0;
    public boolean hasMinute() { return hasMinute; }
    public int getMinute() { return minute_; }

    // required uint32 second = 8;
    public static final int SECOND_FIELD_NUMBER = 8;
    private boolean hasSecond;
    private int second_ = 0;
    public boolean hasSecond() { return hasSecond; }
    public int getSecond() { return second_; }

    private void initFields() {
      dayOfWeek_ = org.jboss.netty.example.localtime.LocalTimeProtocol.DayOfWeek.SUNDAY;
    }
    public final boolean isInitialized() {
      if (!hasYear) {
        return false;
    }
      if (!hasMonth) {
        return false;
    }
      if (!hasDayOfMonth) {
        return false;
    }
      if (!hasDayOfWeek) {
        return false;
    }
      if (!hasHour) {
        return false;
    }
      if (!hasMinute) {
        return false;
    }
      if (!hasSecond) {
        return false;
    }
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (hasYear()) {
        output.writeUInt32(1, getYear());
      }
      if (hasMonth()) {
        output.writeUInt32(2, getMonth());
      }
      if (hasDayOfMonth()) {
        output.writeUInt32(4, getDayOfMonth());
      }
      if (hasDayOfWeek()) {
        output.writeEnum(5, getDayOfWeek().getNumber());
      }
      if (hasHour()) {
        output.writeUInt32(6, getHour());
      }
      if (hasMinute()) {
        output.writeUInt32(7, getMinute());
      }
      if (hasSecond()) {
        output.writeUInt32(8, getSecond());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) {
        return size;
    }

      size = 0;
      if (hasYear()) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, getYear());
      }
      if (hasMonth()) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, getMonth());
      }
      if (hasDayOfMonth()) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, getDayOfMonth());
      }
      if (hasDayOfWeek()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(5, getDayOfWeek().getNumber());
      }
      if (hasHour()) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(6, getHour());
      }
      if (hasMinute()) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(7, getMinute());
      }
      if (hasSecond()) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(8, getSecond());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime result;

      // Construct using org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime.newBuilder()
      private Builder() {}

      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime();
        return builder;
      }

      protected org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime internalGetResult() {
        return result;
      }

      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime();
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(result);
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime.getDescriptor();
      }

      public org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime getDefaultInstanceForType() {
        return org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime.getDefaultInstance();
      }

      public boolean isInitialized() {
        return result.isInitialized();
      }
      public org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }

      private org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }

      public org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime returnMe = result;
        result = null;
        return returnMe;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime) {
          return mergeFrom((org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime other) {
        if (other == org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime.getDefaultInstance()) {
            return this;
        }
        if (other.hasYear()) {
          setYear(other.getYear());
        }
        if (other.hasMonth()) {
          setMonth(other.getMonth());
        }
        if (other.hasDayOfMonth()) {
          setDayOfMonth(other.getDayOfMonth());
        }
        if (other.hasDayOfWeek()) {
          setDayOfWeek(other.getDayOfWeek());
        }
        if (other.hasHour()) {
          setHour(other.getHour());
        }
        if (other.hasMinute()) {
          setMinute(other.getMinute());
        }
        if (other.hasSecond()) {
          setSecond(other.getSecond());
        }
        mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 8: {
              setYear(input.readUInt32());
              break;
            }
            case 16: {
              setMonth(input.readUInt32());
              break;
            }
            case 32: {
              setDayOfMonth(input.readUInt32());
              break;
            }
            case 40: {
              int rawValue = input.readEnum();
              org.jboss.netty.example.localtime.LocalTimeProtocol.DayOfWeek value = org.jboss.netty.example.localtime.LocalTimeProtocol.DayOfWeek.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(5, rawValue);
              } else {
                setDayOfWeek(value);
              }
              break;
            }
            case 48: {
              setHour(input.readUInt32());
              break;
            }
            case 56: {
              setMinute(input.readUInt32());
              break;
            }
            case 64: {
              setSecond(input.readUInt32());
              break;
            }
          }
        }
      }


      // required uint32 year = 1;
      public boolean hasYear() {
        return result.hasYear();
      }
      public int getYear() {
        return result.getYear();
      }
      public Builder setYear(int value) {
        result.hasYear = true;
        result.year_ = value;
        return this;
      }
      public Builder clearYear() {
        result.hasYear = false;
        result.year_ = 0;
        return this;
      }

      // required uint32 month = 2;
      public boolean hasMonth() {
        return result.hasMonth();
      }
      public int getMonth() {
        return result.getMonth();
      }
      public Builder setMonth(int value) {
        result.hasMonth = true;
        result.month_ = value;
        return this;
      }
      public Builder clearMonth() {
        result.hasMonth = false;
        result.month_ = 0;
        return this;
      }

      // required uint32 dayOfMonth = 4;
      public boolean hasDayOfMonth() {
        return result.hasDayOfMonth();
      }
      public int getDayOfMonth() {
        return result.getDayOfMonth();
      }
      public Builder setDayOfMonth(int value) {
        result.hasDayOfMonth = true;
        result.dayOfMonth_ = value;
        return this;
      }
      public Builder clearDayOfMonth() {
        result.hasDayOfMonth = false;
        result.dayOfMonth_ = 0;
        return this;
      }

      // required .org.jboss.netty.example.localtime.DayOfWeek dayOfWeek = 5;
      public boolean hasDayOfWeek() {
        return result.hasDayOfWeek();
      }
      public org.jboss.netty.example.localtime.LocalTimeProtocol.DayOfWeek getDayOfWeek() {
        return result.getDayOfWeek();
      }
      public Builder setDayOfWeek(org.jboss.netty.example.localtime.LocalTimeProtocol.DayOfWeek value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.hasDayOfWeek = true;
        result.dayOfWeek_ = value;
        return this;
      }
      public Builder clearDayOfWeek() {
        result.hasDayOfWeek = false;
        result.dayOfWeek_ = org.jboss.netty.example.localtime.LocalTimeProtocol.DayOfWeek.SUNDAY;
        return this;
      }

      // required uint32 hour = 6;
      public boolean hasHour() {
        return result.hasHour();
      }
      public int getHour() {
        return result.getHour();
      }
      public Builder setHour(int value) {
        result.hasHour = true;
        result.hour_ = value;
        return this;
      }
      public Builder clearHour() {
        result.hasHour = false;
        result.hour_ = 0;
        return this;
      }

      // required uint32 minute = 7;
      public boolean hasMinute() {
        return result.hasMinute();
      }
      public int getMinute() {
        return result.getMinute();
      }
      public Builder setMinute(int value) {
        result.hasMinute = true;
        result.minute_ = value;
        return this;
      }
      public Builder clearMinute() {
        result.hasMinute = false;
        result.minute_ = 0;
        return this;
      }

      // required uint32 second = 8;
      public boolean hasSecond() {
        return result.hasSecond();
      }
      public int getSecond() {
        return result.getSecond();
      }
      public Builder setSecond(int value) {
        result.hasSecond = true;
        result.second_ = value;
        return this;
      }
      public Builder clearSecond() {
        result.hasSecond = false;
        result.second_ = 0;
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.jboss.netty.example.localtime.LocalTime)
    }

    static {
      defaultInstance = new LocalTime(true);
      org.jboss.netty.example.localtime.LocalTimeProtocol.internalForceInit();
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:org.jboss.netty.example.localtime.LocalTime)
  }

  public static final class LocalTimes extends
      com.google.protobuf.GeneratedMessage {
    // Use LocalTimes.newBuilder() to construct.
    private LocalTimes() {
      initFields();
    }
    private LocalTimes(boolean noInit) {}

    private static final LocalTimes defaultInstance;
    public static LocalTimes getDefaultInstance() {
      return defaultInstance;
    }

    public LocalTimes getDefaultInstanceForType() {
      return defaultInstance;
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.jboss.netty.example.localtime.LocalTimeProtocol.internal_static_org_jboss_netty_example_localtime_LocalTimes_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.jboss.netty.example.localtime.LocalTimeProtocol.internal_static_org_jboss_netty_example_localtime_LocalTimes_fieldAccessorTable;
    }

    // repeated .org.jboss.netty.example.localtime.LocalTime localTime = 1;
    public static final int LOCALTIME_FIELD_NUMBER = 1;
    private java.util.List<org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime> localTime_ =
      java.util.Collections.emptyList();
    public java.util.List<org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime> getLocalTimeList() {
      return localTime_;
    }
    public int getLocalTimeCount() { return localTime_.size(); }
    public org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime getLocalTime(int index) {
      return localTime_.get(index);
    }

    private void initFields() {
    }
    public final boolean isInitialized() {
      for (org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime element : getLocalTimeList()) {
        if (!element.isInitialized()) {
            return false;
        }
      }
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime element : getLocalTimeList()) {
        output.writeMessage(1, element);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) {
        return size;
    }

      size = 0;
      for (org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime element : getLocalTimeList()) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, element);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> {
      private org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes result;

      // Construct using org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes.newBuilder()
      private Builder() {}

      private static Builder create() {
        Builder builder = new Builder();
        builder.result = new org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes();
        return builder;
      }

      protected org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes internalGetResult() {
        return result;
      }

      public Builder clear() {
        if (result == null) {
          throw new IllegalStateException(
            "Cannot call clear() after build().");
        }
        result = new org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes();
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(result);
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes.getDescriptor();
      }

      public org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes getDefaultInstanceForType() {
        return org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes.getDefaultInstance();
      }

      public boolean isInitialized() {
        return result.isInitialized();
      }
      public org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes build() {
        if (result != null && !isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return buildPartial();
      }

      private org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        if (!isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return buildPartial();
      }

      public org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes buildPartial() {
        if (result == null) {
          throw new IllegalStateException(
            "build() has already been called on this Builder.");
        }
        if (result.localTime_ != java.util.Collections.EMPTY_LIST) {
          result.localTime_ =
            java.util.Collections.unmodifiableList(result.localTime_);
        }
        org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes returnMe = result;
        result = null;
        return returnMe;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes) {
          return mergeFrom((org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes other) {
        if (other == org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes.getDefaultInstance()) {
            return this;
        }
        if (!other.localTime_.isEmpty()) {
          if (result.localTime_.isEmpty()) {
            result.localTime_ = new java.util.ArrayList<org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime>();
          }
          result.localTime_.addAll(other.localTime_);
        }
        mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              setUnknownFields(unknownFields.build());
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                setUnknownFields(unknownFields.build());
                return this;
              }
              break;
            }
            case 10: {
              org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime.Builder subBuilder = org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addLocalTime(subBuilder.buildPartial());
              break;
            }
          }
        }
      }


      // repeated .org.jboss.netty.example.localtime.LocalTime localTime = 1;
      public java.util.List<org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime> getLocalTimeList() {
        return java.util.Collections.unmodifiableList(result.localTime_);
      }
      public int getLocalTimeCount() {
        return result.getLocalTimeCount();
      }
      public org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime getLocalTime(int index) {
        return result.getLocalTime(index);
      }
      public Builder setLocalTime(int index, org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime value) {
        if (value == null) {
          throw new NullPointerException();
        }
        result.localTime_.set(index, value);
        return this;
      }
      public Builder setLocalTime(int index, org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime.Builder builderForValue) {
        result.localTime_.set(index, builderForValue.build());
        return this;
      }
      public Builder addLocalTime(org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime value) {
        if (value == null) {
          throw new NullPointerException();
        }
        if (result.localTime_.isEmpty()) {
          result.localTime_ = new java.util.ArrayList<org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime>();
        }
        result.localTime_.add(value);
        return this;
      }
      public Builder addLocalTime(org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime.Builder builderForValue) {
        if (result.localTime_.isEmpty()) {
          result.localTime_ = new java.util.ArrayList<org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime>();
        }
        result.localTime_.add(builderForValue.build());
        return this;
      }
      public Builder addAllLocalTime(
          java.lang.Iterable<? extends org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime> values) {
        if (result.localTime_.isEmpty()) {
          result.localTime_ = new java.util.ArrayList<org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime>();
        }
        super.addAll(values, result.localTime_);
        return this;
      }
      public Builder clearLocalTime() {
        result.localTime_ = java.util.Collections.emptyList();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.jboss.netty.example.localtime.LocalTimes)
    }

    static {
      defaultInstance = new LocalTimes(true);
      org.jboss.netty.example.localtime.LocalTimeProtocol.internalForceInit();
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:org.jboss.netty.example.localtime.LocalTimes)
  }

  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_org_jboss_netty_example_localtime_Location_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_org_jboss_netty_example_localtime_Location_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_org_jboss_netty_example_localtime_Locations_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_org_jboss_netty_example_localtime_Locations_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_org_jboss_netty_example_localtime_LocalTime_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_org_jboss_netty_example_localtime_LocalTime_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_org_jboss_netty_example_localtime_LocalTimes_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_org_jboss_netty_example_localtime_LocalTimes_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\027LocalTimeProtocol.proto\022!org.jboss.net" +
      "ty.example.localtime\"Y\n\010Location\022?\n\tcont" +
      "inent\030\001 \002(\0162,.org.jboss.netty.example.lo" +
      "caltime.Continent\022\014\n\004city\030\002 \002(\t\"J\n\tLocat" +
      "ions\022=\n\010location\030\001 \003(\0132+.org.jboss.netty" +
      ".example.localtime.Location\"\253\001\n\tLocalTim" +
      "e\022\014\n\004year\030\001 \002(\r\022\r\n\005month\030\002 \002(\r\022\022\n\ndayOfM" +
      "onth\030\004 \002(\r\022?\n\tdayOfWeek\030\005 \002(\0162,.org.jbos" +
      "s.netty.example.localtime.DayOfWeek\022\014\n\004h" +
      "our\030\006 \002(\r\022\016\n\006minute\030\007 \002(\r\022\016\n\006second\030\010 \002(",
      "\r\"M\n\nLocalTimes\022?\n\tlocalTime\030\001 \003(\0132,.org" +
      ".jboss.netty.example.localtime.LocalTime" +
      "*\231\001\n\tContinent\022\n\n\006AFRICA\020\000\022\013\n\007AMERICA\020\001\022" +
      "\016\n\nANTARCTICA\020\002\022\n\n\006ARCTIC\020\003\022\010\n\004ASIA\020\004\022\014\n" +
      "\010ATLANTIC\020\005\022\r\n\tAUSTRALIA\020\006\022\n\n\006EUROPE\020\007\022\n" +
      "\n\006INDIAN\020\010\022\013\n\007MIDEAST\020\t\022\013\n\007PACIFIC\020\n*g\n\t" +
      "DayOfWeek\022\n\n\006SUNDAY\020\001\022\n\n\006MONDAY\020\002\022\013\n\007TUE" +
      "SDAY\020\003\022\r\n\tWEDNESDAY\020\004\022\014\n\010THURSDAY\020\005\022\n\n\006F" +
      "RIDAY\020\006\022\014\n\010SATURDAY\020\007B\002H\001"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_org_jboss_netty_example_localtime_Location_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_org_jboss_netty_example_localtime_Location_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_org_jboss_netty_example_localtime_Location_descriptor,
              new java.lang.String[] { "Continent", "City", },
              org.jboss.netty.example.localtime.LocalTimeProtocol.Location.class,
              org.jboss.netty.example.localtime.LocalTimeProtocol.Location.Builder.class);
          internal_static_org_jboss_netty_example_localtime_Locations_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_org_jboss_netty_example_localtime_Locations_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_org_jboss_netty_example_localtime_Locations_descriptor,
              new java.lang.String[] { "Location", },
              org.jboss.netty.example.localtime.LocalTimeProtocol.Locations.class,
              org.jboss.netty.example.localtime.LocalTimeProtocol.Locations.Builder.class);
          internal_static_org_jboss_netty_example_localtime_LocalTime_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_org_jboss_netty_example_localtime_LocalTime_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_org_jboss_netty_example_localtime_LocalTime_descriptor,
              new java.lang.String[] { "Year", "Month", "DayOfMonth", "DayOfWeek", "Hour", "Minute", "Second", },
              org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime.class,
              org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTime.Builder.class);
          internal_static_org_jboss_netty_example_localtime_LocalTimes_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_org_jboss_netty_example_localtime_LocalTimes_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_org_jboss_netty_example_localtime_LocalTimes_descriptor,
              new java.lang.String[] { "LocalTime", },
              org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes.class,
              org.jboss.netty.example.localtime.LocalTimeProtocol.LocalTimes.Builder.class);
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
  }

  public static void internalForceInit() {}

  // @@protoc_insertion_point(outer_class_scope)
}
