Package org.waveprotocol.wave.federation.proto

Source Code of org.waveprotocol.wave.federation.proto.ProtocolWaveletOperationProtoImpl$MutateDocumentProtoImpl

/**
* Copyright 2010 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.waveprotocol.wave.federation.proto;

import org.waveprotocol.wave.federation.ProtocolWaveletOperation.MutateDocument;
import org.waveprotocol.wave.federation.ProtocolDocumentOperation;
import org.waveprotocol.wave.federation.proto.ProtocolWaveletOperationProtoImpl.MutateDocumentProtoImpl;
import org.waveprotocol.wave.federation.proto.ProtocolDocumentOperationProtoImpl;
import org.waveprotocol.wave.federation.ProtocolWaveletOperation;
import org.waveprotocol.wave.federation.ProtocolWaveletOperationUtil;
import org.waveprotocol.wave.federation.ProtocolWaveletOperation.MutateDocument;
import org.waveprotocol.wave.federation.ProtocolWaveletOperationUtil.MutateDocumentUtil;
import org.waveprotocol.wave.communication.Blob;
import org.waveprotocol.wave.communication.Codec;
import org.waveprotocol.wave.communication.ProtoEnums;
import org.waveprotocol.wave.communication.proto.Int52;
import org.waveprotocol.wave.communication.proto.ProtoWrapper;
import org.waveprotocol.wave.communication.gson.GsonException;
import org.waveprotocol.wave.communication.gson.GsonSerializable;
import org.waveprotocol.wave.communication.gson.GsonUtil;
import org.waveprotocol.wave.communication.json.RawStringData;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
import com.google.protobuf.ByteString;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
* Server implementation of ProtocolWaveletOperation.
*
* Generated from org/waveprotocol/wave/federation/federation.protodevel. Do not edit.
*/
// NOTE(kalman): It would be nicer to add a proto serialisation
// utility rather than having this class at all.
public final class ProtocolWaveletOperationProtoImpl
    implements ProtocolWaveletOperation,
// Note: fully-qualified path is required for GsonSerializable and ProtoWrapper.
// An import of it is not resolved correctly from inner classes.
// This appears to be a javac bug. The Eclipse compiler handles it fine.
org.waveprotocol.wave.communication.gson.GsonSerializable,
org.waveprotocol.wave.communication.proto.ProtoWrapper<org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation> {
  // NOTE(kalman): It would be nicer to add a proto serialisation
  // utility rather than having this class at all.
  public static final class MutateDocumentProtoImpl
      implements MutateDocument,
  // Note: fully-qualified path is required for GsonSerializable and ProtoWrapper.
  // An import of it is not resolved correctly from inner classes.
  // This appears to be a javac bug. The Eclipse compiler handles it fine.
  org.waveprotocol.wave.communication.gson.GsonSerializable,
  org.waveprotocol.wave.communication.proto.ProtoWrapper<org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.MutateDocument> {
    private org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.MutateDocument proto = null;
    private org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.MutateDocument.Builder protoBuilder = org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.MutateDocument.newBuilder();
    public MutateDocumentProtoImpl() {
    }

    public MutateDocumentProtoImpl(org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.MutateDocument proto) {
      this.proto = proto;
    }

    public MutateDocumentProtoImpl(MutateDocument message) {
      copyFrom(message);
    }

    @Override
    public org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.MutateDocument getPB() {
      switchToProto();
      return proto;
    }

    @Override
    public void setPB(org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.MutateDocument proto) {
      this.proto = proto;
      this.protoBuilder = null;
    }

    @Override
    public void copyFrom(MutateDocument message) {
      setDocumentId(message.getDocumentId());
      setDocumentOperation(new ProtocolDocumentOperationProtoImpl(message.getDocumentOperation()));
    }

    @Override
    public String getDocumentId() {
      switchToProto();
      return proto.getDocumentId();
    }

    @Override
    public void setDocumentId(String value) {
      switchToProtoBuilder();
      protoBuilder.setDocumentId(value);
    }

    @Override
    public ProtocolDocumentOperationProtoImpl getDocumentOperation() {
      switchToProto();
      return new ProtocolDocumentOperationProtoImpl(proto.getDocumentOperation());
    }

    @Override
    public void setDocumentOperation(ProtocolDocumentOperation value) {
      switchToProtoBuilder();
      protoBuilder.clearDocumentOperation();
      protoBuilder.setDocumentOperation(getOrCreateProtocolDocumentOperationProtoImpl(value).getPB());
    }

    /** Get or create a ProtocolDocumentOperationProtoImpl from a ProtocolDocumentOperation. */
    private ProtocolDocumentOperationProtoImpl getOrCreateProtocolDocumentOperationProtoImpl(ProtocolDocumentOperation message) {
      if (message instanceof ProtocolDocumentOperationProtoImpl) {
        return (ProtocolDocumentOperationProtoImpl) message;
      } else {
        ProtocolDocumentOperationProtoImpl messageImpl = new ProtocolDocumentOperationProtoImpl();
        messageImpl.copyFrom(message);
        return messageImpl;
      }
    }

    private void switchToProto() {
      if (proto == null) {
        proto = protoBuilder.build();
        protoBuilder = null;
      }
    }

    private void switchToProtoBuilder() {
      if (protoBuilder == null) {
        protoBuilder = (proto == null)
            ? org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.MutateDocument.newBuilder()
            : org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.MutateDocument.newBuilder(proto);
        proto = null;
      }
    }

    private void invalidateAll() {
      proto = null;
      protoBuilder = org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.MutateDocument.newBuilder();
    }

    @Override
    public JsonElement toGson(RawStringData raw, Gson gson) {
      JsonObject json = new JsonObject();
      json.add("1", new JsonPrimitive(getDocumentId()));
      {
        JsonElement elem = ((GsonSerializable) getDocumentOperation()).toGson(raw, gson);
        json.add("2", elem);
      }
      return json;
    }

    @Override
    public void fromGson(JsonElement json, Gson gson, RawStringData raw) throws GsonException {
      JsonObject jsonObject = json.getAsJsonObject();
      // NOTE: always check with has(...) as the json might not have all required
      // fields set; however these (obviously) will need to be set by other means
      // before accessing this object.
      invalidateAll();
      if (jsonObject.has("1")) {
        JsonElement elem = jsonObject.get("1");
        setDocumentId(elem.getAsString());
      }
      if (jsonObject.has("2")) {
        JsonElement elem = jsonObject.get("2");
        {
          ProtocolDocumentOperationProtoImpl payload = new ProtocolDocumentOperationProtoImpl();
          GsonUtil.extractJsonObject(payload, elem, gson, raw);
          setDocumentOperation(payload);
        }
      }
    }

    @Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      } else if (o instanceof MutateDocumentProtoImpl) {
        return getPB().equals(((MutateDocumentProtoImpl) o).getPB());
      } else {
        return false;
      }
    }

    @Override
    public boolean isEqualTo(Object o) {
      if (equals(o)) {
        return true;
      } else if (o instanceof MutateDocument) {
        return MutateDocumentUtil.isEqual(this, (MutateDocument) o);
      } else {
        return false;
      }
    }

    @Override
    public int hashCode() {
      return getPB().hashCode();
    }

    @Override
    public String toString() {
      return getPB().toString();
    }

  }

  private org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation proto = null;
  private org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.Builder protoBuilder = org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.newBuilder();
  public ProtocolWaveletOperationProtoImpl() {
  }

  public ProtocolWaveletOperationProtoImpl(org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation proto) {
    this.proto = proto;
  }

  public ProtocolWaveletOperationProtoImpl(ProtocolWaveletOperation message) {
    copyFrom(message);
  }

  @Override
  public org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation getPB() {
    switchToProto();
    return proto;
  }

  @Override
  public void setPB(org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation proto) {
    this.proto = proto;
    this.protoBuilder = null;
  }

  @Override
  public void copyFrom(ProtocolWaveletOperation message) {
    if (message.hasAddParticipant()) {
      setAddParticipant(message.getAddParticipant());
    } else {
      clearAddParticipant();
    }
    if (message.hasRemoveParticipant()) {
      setRemoveParticipant(message.getRemoveParticipant());
    } else {
      clearRemoveParticipant();
    }
    if (message.hasMutateDocument()) {
      setMutateDocument(new MutateDocumentProtoImpl(message.getMutateDocument()));
    } else {
      clearMutateDocument();
    }
    if (message.hasNoOp()) {
      setNoOp(message.getNoOp());
    } else {
      clearNoOp();
    }
  }

  @Override
  public boolean hasAddParticipant() {
    switchToProto();
    return proto.hasAddParticipant();
  }

  @Override
  public void clearAddParticipant() {
    switchToProtoBuilder();
    protoBuilder.clearAddParticipant();
  }

  @Override
  public String getAddParticipant() {
    switchToProto();
    return proto.getAddParticipant();
  }

  @Override
  public void setAddParticipant(String value) {
    switchToProtoBuilder();
    protoBuilder.setAddParticipant(value);
  }

  @Override
  public boolean hasRemoveParticipant() {
    switchToProto();
    return proto.hasRemoveParticipant();
  }

  @Override
  public void clearRemoveParticipant() {
    switchToProtoBuilder();
    protoBuilder.clearRemoveParticipant();
  }

  @Override
  public String getRemoveParticipant() {
    switchToProto();
    return proto.getRemoveParticipant();
  }

  @Override
  public void setRemoveParticipant(String value) {
    switchToProtoBuilder();
    protoBuilder.setRemoveParticipant(value);
  }

  @Override
  public boolean hasMutateDocument() {
    switchToProto();
    return proto.hasMutateDocument();
  }

  @Override
  public void clearMutateDocument() {
    switchToProtoBuilder();
    protoBuilder.clearMutateDocument();
  }

  @Override
  public MutateDocumentProtoImpl getMutateDocument() {
    switchToProto();
    return new MutateDocumentProtoImpl(proto.getMutateDocument());
  }

  @Override
  public void setMutateDocument(MutateDocument value) {
    switchToProtoBuilder();
    protoBuilder.clearMutateDocument();
    protoBuilder.setMutateDocument(getOrCreateMutateDocumentProtoImpl(value).getPB());
  }

  @Override
  public boolean hasNoOp() {
    switchToProto();
    return proto.hasNoOp();
  }

  @Override
  public void clearNoOp() {
    switchToProtoBuilder();
    protoBuilder.clearNoOp();
  }

  @Override
  public boolean getNoOp() {
    switchToProto();
    return proto.getNoOp();
  }

  @Override
  public void setNoOp(boolean value) {
    switchToProtoBuilder();
    protoBuilder.setNoOp(value);
  }

  /** Get or create a MutateDocumentProtoImpl from a MutateDocument. */
  private MutateDocumentProtoImpl getOrCreateMutateDocumentProtoImpl(MutateDocument message) {
    if (message instanceof MutateDocumentProtoImpl) {
      return (MutateDocumentProtoImpl) message;
    } else {
      MutateDocumentProtoImpl messageImpl = new MutateDocumentProtoImpl();
      messageImpl.copyFrom(message);
      return messageImpl;
    }
  }

  /** Get or create a ProtocolDocumentOperationProtoImpl from a ProtocolDocumentOperation. */
  private ProtocolDocumentOperationProtoImpl getOrCreateProtocolDocumentOperationProtoImpl(ProtocolDocumentOperation message) {
    if (message instanceof ProtocolDocumentOperationProtoImpl) {
      return (ProtocolDocumentOperationProtoImpl) message;
    } else {
      ProtocolDocumentOperationProtoImpl messageImpl = new ProtocolDocumentOperationProtoImpl();
      messageImpl.copyFrom(message);
      return messageImpl;
    }
  }

  private void switchToProto() {
    if (proto == null) {
      proto = protoBuilder.build();
      protoBuilder = null;
    }
  }

  private void switchToProtoBuilder() {
    if (protoBuilder == null) {
      protoBuilder = (proto == null)
          ? org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.newBuilder()
          : org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.newBuilder(proto);
      proto = null;
    }
  }

  private void invalidateAll() {
    proto = null;
    protoBuilder = org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation.newBuilder();
  }

  @Override
  public JsonElement toGson(RawStringData raw, Gson gson) {
    JsonObject json = new JsonObject();
    if (hasAddParticipant()) {
      json.add("1", new JsonPrimitive(getAddParticipant()));
    }
    if (hasRemoveParticipant()) {
      json.add("2", new JsonPrimitive(getRemoveParticipant()));
    }
    if (hasMutateDocument()) {
      {
        JsonElement elem = ((GsonSerializable) getMutateDocument()).toGson(raw, gson);
        json.add("3", elem);
      }
    }
    if (hasNoOp()) {
      json.add("4", new JsonPrimitive(getNoOp()));
    }
    return json;
  }

  @Override
  public void fromGson(JsonElement json, Gson gson, RawStringData raw) throws GsonException {
    JsonObject jsonObject = json.getAsJsonObject();
    // NOTE: always check with has(...) as the json might not have all required
    // fields set; however these (obviously) will need to be set by other means
    // before accessing this object.
    invalidateAll();
    if (jsonObject.has("1")) {
      JsonElement elem = jsonObject.get("1");
      if (!elem.isJsonNull()) {
        setAddParticipant(elem.getAsString());
      }
    }
    if (jsonObject.has("2")) {
      JsonElement elem = jsonObject.get("2");
      if (!elem.isJsonNull()) {
        setRemoveParticipant(elem.getAsString());
      }
    }
    if (jsonObject.has("3")) {
      JsonElement elem = jsonObject.get("3");
      if (!elem.isJsonNull()) {
        {
          MutateDocumentProtoImpl payload = new MutateDocumentProtoImpl();
          GsonUtil.extractJsonObject(payload, elem, gson, raw);
          setMutateDocument(payload);
        }
      }
    }
    if (jsonObject.has("4")) {
      JsonElement elem = jsonObject.get("4");
      if (!elem.isJsonNull()) {
        setNoOp(elem.getAsBoolean());
      }
    }
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    } else if (o instanceof ProtocolWaveletOperationProtoImpl) {
      return getPB().equals(((ProtocolWaveletOperationProtoImpl) o).getPB());
    } else {
      return false;
    }
  }

  @Override
  public boolean isEqualTo(Object o) {
    if (equals(o)) {
      return true;
    } else if (o instanceof ProtocolWaveletOperation) {
      return ProtocolWaveletOperationUtil.isEqual(this, (ProtocolWaveletOperation) o);
    } else {
      return false;
    }
  }

  @Override
  public int hashCode() {
    return getPB().hashCode();
  }

  @Override
  public String toString() {
    return getPB().toString();
  }

}
TOP

Related Classes of org.waveprotocol.wave.federation.proto.ProtocolWaveletOperationProtoImpl$MutateDocumentProtoImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.