Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

/**
 * Autogenerated by Thrift Compiler (0.7.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 */
package in.shop2020.alert;

import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.EnumMap;
import java.util.Set;
import java.util.HashSet;
import java.util.EnumSet;
import java.util.Collections;
import java.util.BitSet;
import java.nio.ByteBuffer;
import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class AlertService {

  public interface Iface extends in.shop2020.generic.GenericService.Iface {

    /**
     * Create a new tracking object.
     * 
     * @param entity
     */
    public void scheduleAlert(MonitoredEntity entity) throws AlertServiceException, org.apache.thrift.TException;

    /**
     * Update previously stored tracking object.
     * 
     * @param entity
     */
    public void updateMonitoredObject(MonitoredEntity entity) throws AlertServiceException, org.apache.thrift.TException;

    /**
     * Stop tracking the entity
     * 
     * @param entityType
     * @param entityIdentifier
     */
    public void endMonitoringEntity(EntityType entityType, String entityIdentifier) throws AlertServiceException, org.apache.thrift.TException;

    /**
     * Get entities with specified conditions in SearchFilter Object
     * 
     * @param searchFilter
     */
    public List<MonitoredEntity> getEntities(SearchFilter searchFilter) throws AlertServiceException, org.apache.thrift.TException;

    /**
     * Get entities with specified conditions in SearchFilter Object
     * 
     * @param searchFilter
     */
    public List<AlertedEntity> getAlertedEntities(SearchFilter searchFilter) throws AlertServiceException, org.apache.thrift.TException;

    /**
     * Get alertMap for entityType and eventType
     * 
     * @param entityType
     * @param eventType
     */
    public AlertMapper getAlertMapper(EntityType entityType, int eventType) throws AlertServiceException, org.apache.thrift.TException;

    /**
     * Start monitoring entityType or Update monitoring paremeters
     * 
     * @param entityType
     * @param userIds
     */
    public void activateEntityMonitoring(EntityType entityType, String userIds) throws AlertServiceException, org.apache.thrift.TException;

    /**
     * Stop monitoring entityType
     * 
     * @param entityType
     */
    public void deActivateEntityMonitoring(EntityType entityType) throws AlertServiceException, org.apache.thrift.TException;

    /**
     * Add AlertMap values for particular entity and event
     * 
     * @param alertMap
     */
    public void registerEventType(AlertMapper alertMap) throws AlertServiceException, org.apache.thrift.TException;

  }

  public interface AsyncIface extends in.shop2020.generic.GenericService .AsyncIface {

    public void scheduleAlert(MonitoredEntity entity, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.scheduleAlert_call> resultHandler) throws org.apache.thrift.TException;

    public void updateMonitoredObject(MonitoredEntity entity, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateMonitoredObject_call> resultHandler) throws org.apache.thrift.TException;

    public void endMonitoringEntity(EntityType entityType, String entityIdentifier, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.endMonitoringEntity_call> resultHandler) throws org.apache.thrift.TException;

    public void getEntities(SearchFilter searchFilter, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getEntities_call> resultHandler) throws org.apache.thrift.TException;

    public void getAlertedEntities(SearchFilter searchFilter, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAlertedEntities_call> resultHandler) throws org.apache.thrift.TException;

    public void getAlertMapper(EntityType entityType, int eventType, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAlertMapper_call> resultHandler) throws org.apache.thrift.TException;

    public void activateEntityMonitoring(EntityType entityType, String userIds, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.activateEntityMonitoring_call> resultHandler) throws org.apache.thrift.TException;

    public void deActivateEntityMonitoring(EntityType entityType, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.deActivateEntityMonitoring_call> resultHandler) throws org.apache.thrift.TException;

    public void registerEventType(AlertMapper alertMap, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.registerEventType_call> resultHandler) throws org.apache.thrift.TException;

  }

  public static class Client extends in.shop2020.generic.GenericService.Client implements Iface {
    public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
      public Factory() {}
      public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
        return new Client(prot);
      }
      public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
        return new Client(iprot, oprot);
      }
    }

    public Client(org.apache.thrift.protocol.TProtocol prot)
    {
      super(prot, prot);
    }

    public Client(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
      super(iprot, oprot);
    }

    public void scheduleAlert(MonitoredEntity entity) throws AlertServiceException, org.apache.thrift.TException
    {
      send_scheduleAlert(entity);
      recv_scheduleAlert();
    }

    public void send_scheduleAlert(MonitoredEntity entity) throws org.apache.thrift.TException
    {
      scheduleAlert_args args = new scheduleAlert_args();
      args.setEntity(entity);
      sendBase("scheduleAlert", args);
    }

    public void recv_scheduleAlert() throws AlertServiceException, org.apache.thrift.TException
    {
      scheduleAlert_result result = new scheduleAlert_result();
      receiveBase(result, "scheduleAlert");
      if (result.e != null) {
        throw result.e;
      }
      return;
    }

    public void updateMonitoredObject(MonitoredEntity entity) throws AlertServiceException, org.apache.thrift.TException
    {
      send_updateMonitoredObject(entity);
      recv_updateMonitoredObject();
    }

    public void send_updateMonitoredObject(MonitoredEntity entity) throws org.apache.thrift.TException
    {
      updateMonitoredObject_args args = new updateMonitoredObject_args();
      args.setEntity(entity);
      sendBase("updateMonitoredObject", args);
    }

    public void recv_updateMonitoredObject() throws AlertServiceException, org.apache.thrift.TException
    {
      updateMonitoredObject_result result = new updateMonitoredObject_result();
      receiveBase(result, "updateMonitoredObject");
      if (result.e != null) {
        throw result.e;
      }
      return;
    }

    public void endMonitoringEntity(EntityType entityType, String entityIdentifier) throws AlertServiceException, org.apache.thrift.TException
    {
      send_endMonitoringEntity(entityType, entityIdentifier);
      recv_endMonitoringEntity();
    }

    public void send_endMonitoringEntity(EntityType entityType, String entityIdentifier) throws org.apache.thrift.TException
    {
      endMonitoringEntity_args args = new endMonitoringEntity_args();
      args.setEntityType(entityType);
      args.setEntityIdentifier(entityIdentifier);
      sendBase("endMonitoringEntity", args);
    }

    public void recv_endMonitoringEntity() throws AlertServiceException, org.apache.thrift.TException
    {
      endMonitoringEntity_result result = new endMonitoringEntity_result();
      receiveBase(result, "endMonitoringEntity");
      if (result.e != null) {
        throw result.e;
      }
      return;
    }

    public List<MonitoredEntity> getEntities(SearchFilter searchFilter) throws AlertServiceException, org.apache.thrift.TException
    {
      send_getEntities(searchFilter);
      return recv_getEntities();
    }

    public void send_getEntities(SearchFilter searchFilter) throws org.apache.thrift.TException
    {
      getEntities_args args = new getEntities_args();
      args.setSearchFilter(searchFilter);
      sendBase("getEntities", args);
    }

    public List<MonitoredEntity> recv_getEntities() throws AlertServiceException, org.apache.thrift.TException
    {
      getEntities_result result = new getEntities_result();
      receiveBase(result, "getEntities");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.e != null) {
        throw result.e;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getEntities failed: unknown result");
    }

    public List<AlertedEntity> getAlertedEntities(SearchFilter searchFilter) throws AlertServiceException, org.apache.thrift.TException
    {
      send_getAlertedEntities(searchFilter);
      return recv_getAlertedEntities();
    }

    public void send_getAlertedEntities(SearchFilter searchFilter) throws org.apache.thrift.TException
    {
      getAlertedEntities_args args = new getAlertedEntities_args();
      args.setSearchFilter(searchFilter);
      sendBase("getAlertedEntities", args);
    }

    public List<AlertedEntity> recv_getAlertedEntities() throws AlertServiceException, org.apache.thrift.TException
    {
      getAlertedEntities_result result = new getAlertedEntities_result();
      receiveBase(result, "getAlertedEntities");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.e != null) {
        throw result.e;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAlertedEntities failed: unknown result");
    }

    public AlertMapper getAlertMapper(EntityType entityType, int eventType) throws AlertServiceException, org.apache.thrift.TException
    {
      send_getAlertMapper(entityType, eventType);
      return recv_getAlertMapper();
    }

    public void send_getAlertMapper(EntityType entityType, int eventType) throws org.apache.thrift.TException
    {
      getAlertMapper_args args = new getAlertMapper_args();
      args.setEntityType(entityType);
      args.setEventType(eventType);
      sendBase("getAlertMapper", args);
    }

    public AlertMapper recv_getAlertMapper() throws AlertServiceException, org.apache.thrift.TException
    {
      getAlertMapper_result result = new getAlertMapper_result();
      receiveBase(result, "getAlertMapper");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.e != null) {
        throw result.e;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAlertMapper failed: unknown result");
    }

    public void activateEntityMonitoring(EntityType entityType, String userIds) throws AlertServiceException, org.apache.thrift.TException
    {
      send_activateEntityMonitoring(entityType, userIds);
      recv_activateEntityMonitoring();
    }

    public void send_activateEntityMonitoring(EntityType entityType, String userIds) throws org.apache.thrift.TException
    {
      activateEntityMonitoring_args args = new activateEntityMonitoring_args();
      args.setEntityType(entityType);
      args.setUserIds(userIds);
      sendBase("activateEntityMonitoring", args);
    }

    public void recv_activateEntityMonitoring() throws AlertServiceException, org.apache.thrift.TException
    {
      activateEntityMonitoring_result result = new activateEntityMonitoring_result();
      receiveBase(result, "activateEntityMonitoring");
      if (result.e != null) {
        throw result.e;
      }
      return;
    }

    public void deActivateEntityMonitoring(EntityType entityType) throws AlertServiceException, org.apache.thrift.TException
    {
      send_deActivateEntityMonitoring(entityType);
      recv_deActivateEntityMonitoring();
    }

    public void send_deActivateEntityMonitoring(EntityType entityType) throws org.apache.thrift.TException
    {
      deActivateEntityMonitoring_args args = new deActivateEntityMonitoring_args();
      args.setEntityType(entityType);
      sendBase("deActivateEntityMonitoring", args);
    }

    public void recv_deActivateEntityMonitoring() throws AlertServiceException, org.apache.thrift.TException
    {
      deActivateEntityMonitoring_result result = new deActivateEntityMonitoring_result();
      receiveBase(result, "deActivateEntityMonitoring");
      if (result.e != null) {
        throw result.e;
      }
      return;
    }

    public void registerEventType(AlertMapper alertMap) throws AlertServiceException, org.apache.thrift.TException
    {
      send_registerEventType(alertMap);
      recv_registerEventType();
    }

    public void send_registerEventType(AlertMapper alertMap) throws org.apache.thrift.TException
    {
      registerEventType_args args = new registerEventType_args();
      args.setAlertMap(alertMap);
      sendBase("registerEventType", args);
    }

    public void recv_registerEventType() throws AlertServiceException, org.apache.thrift.TException
    {
      registerEventType_result result = new registerEventType_result();
      receiveBase(result, "registerEventType");
      if (result.e != null) {
        throw result.e;
      }
      return;
    }

  }
  public static class AsyncClient extends in.shop2020.generic.GenericService.AsyncClient implements AsyncIface {
    public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
      private org.apache.thrift.async.TAsyncClientManager clientManager;
      private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
      public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
        this.clientManager = clientManager;
        this.protocolFactory = protocolFactory;
      }
      public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
        return new AsyncClient(protocolFactory, clientManager, transport);
      }
    }

    public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) {
      super(protocolFactory, clientManager, transport);
    }

    public void scheduleAlert(MonitoredEntity entity, org.apache.thrift.async.AsyncMethodCallback<scheduleAlert_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      scheduleAlert_call method_call = new scheduleAlert_call(entity, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class scheduleAlert_call extends org.apache.thrift.async.TAsyncMethodCall {
      private MonitoredEntity entity;
      public scheduleAlert_call(MonitoredEntity entity, org.apache.thrift.async.AsyncMethodCallback<scheduleAlert_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.entity = entity;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("scheduleAlert", org.apache.thrift.protocol.TMessageType.CALL, 0));
        scheduleAlert_args args = new scheduleAlert_args();
        args.setEntity(entity);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws AlertServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_scheduleAlert();
      }
    }

    public void updateMonitoredObject(MonitoredEntity entity, org.apache.thrift.async.AsyncMethodCallback<updateMonitoredObject_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateMonitoredObject_call method_call = new updateMonitoredObject_call(entity, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateMonitoredObject_call extends org.apache.thrift.async.TAsyncMethodCall {
      private MonitoredEntity entity;
      public updateMonitoredObject_call(MonitoredEntity entity, org.apache.thrift.async.AsyncMethodCallback<updateMonitoredObject_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.entity = entity;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateMonitoredObject", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateMonitoredObject_args args = new updateMonitoredObject_args();
        args.setEntity(entity);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws AlertServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_updateMonitoredObject();
      }
    }

    public void endMonitoringEntity(EntityType entityType, String entityIdentifier, org.apache.thrift.async.AsyncMethodCallback<endMonitoringEntity_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      endMonitoringEntity_call method_call = new endMonitoringEntity_call(entityType, entityIdentifier, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class endMonitoringEntity_call extends org.apache.thrift.async.TAsyncMethodCall {
      private EntityType entityType;
      private String entityIdentifier;
      public endMonitoringEntity_call(EntityType entityType, String entityIdentifier, org.apache.thrift.async.AsyncMethodCallback<endMonitoringEntity_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.entityType = entityType;
        this.entityIdentifier = entityIdentifier;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("endMonitoringEntity", org.apache.thrift.protocol.TMessageType.CALL, 0));
        endMonitoringEntity_args args = new endMonitoringEntity_args();
        args.setEntityType(entityType);
        args.setEntityIdentifier(entityIdentifier);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws AlertServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_endMonitoringEntity();
      }
    }

    public void getEntities(SearchFilter searchFilter, org.apache.thrift.async.AsyncMethodCallback<getEntities_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getEntities_call method_call = new getEntities_call(searchFilter, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getEntities_call extends org.apache.thrift.async.TAsyncMethodCall {
      private SearchFilter searchFilter;
      public getEntities_call(SearchFilter searchFilter, org.apache.thrift.async.AsyncMethodCallback<getEntities_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.searchFilter = searchFilter;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getEntities", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getEntities_args args = new getEntities_args();
        args.setSearchFilter(searchFilter);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<MonitoredEntity> getResult() throws AlertServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getEntities();
      }
    }

    public void getAlertedEntities(SearchFilter searchFilter, org.apache.thrift.async.AsyncMethodCallback<getAlertedEntities_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAlertedEntities_call method_call = new getAlertedEntities_call(searchFilter, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAlertedEntities_call extends org.apache.thrift.async.TAsyncMethodCall {
      private SearchFilter searchFilter;
      public getAlertedEntities_call(SearchFilter searchFilter, org.apache.thrift.async.AsyncMethodCallback<getAlertedEntities_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.searchFilter = searchFilter;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAlertedEntities", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAlertedEntities_args args = new getAlertedEntities_args();
        args.setSearchFilter(searchFilter);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<AlertedEntity> getResult() throws AlertServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAlertedEntities();
      }
    }

    public void getAlertMapper(EntityType entityType, int eventType, org.apache.thrift.async.AsyncMethodCallback<getAlertMapper_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAlertMapper_call method_call = new getAlertMapper_call(entityType, eventType, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAlertMapper_call extends org.apache.thrift.async.TAsyncMethodCall {
      private EntityType entityType;
      private int eventType;
      public getAlertMapper_call(EntityType entityType, int eventType, org.apache.thrift.async.AsyncMethodCallback<getAlertMapper_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.entityType = entityType;
        this.eventType = eventType;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAlertMapper", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAlertMapper_args args = new getAlertMapper_args();
        args.setEntityType(entityType);
        args.setEventType(eventType);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public AlertMapper getResult() throws AlertServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAlertMapper();
      }
    }

    public void activateEntityMonitoring(EntityType entityType, String userIds, org.apache.thrift.async.AsyncMethodCallback<activateEntityMonitoring_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      activateEntityMonitoring_call method_call = new activateEntityMonitoring_call(entityType, userIds, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class activateEntityMonitoring_call extends org.apache.thrift.async.TAsyncMethodCall {
      private EntityType entityType;
      private String userIds;
      public activateEntityMonitoring_call(EntityType entityType, String userIds, org.apache.thrift.async.AsyncMethodCallback<activateEntityMonitoring_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.entityType = entityType;
        this.userIds = userIds;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("activateEntityMonitoring", org.apache.thrift.protocol.TMessageType.CALL, 0));
        activateEntityMonitoring_args args = new activateEntityMonitoring_args();
        args.setEntityType(entityType);
        args.setUserIds(userIds);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws AlertServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_activateEntityMonitoring();
      }
    }

    public void deActivateEntityMonitoring(EntityType entityType, org.apache.thrift.async.AsyncMethodCallback<deActivateEntityMonitoring_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      deActivateEntityMonitoring_call method_call = new deActivateEntityMonitoring_call(entityType, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class deActivateEntityMonitoring_call extends org.apache.thrift.async.TAsyncMethodCall {
      private EntityType entityType;
      public deActivateEntityMonitoring_call(EntityType entityType, org.apache.thrift.async.AsyncMethodCallback<deActivateEntityMonitoring_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.entityType = entityType;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deActivateEntityMonitoring", org.apache.thrift.protocol.TMessageType.CALL, 0));
        deActivateEntityMonitoring_args args = new deActivateEntityMonitoring_args();
        args.setEntityType(entityType);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws AlertServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_deActivateEntityMonitoring();
      }
    }

    public void registerEventType(AlertMapper alertMap, org.apache.thrift.async.AsyncMethodCallback<registerEventType_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      registerEventType_call method_call = new registerEventType_call(alertMap, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class registerEventType_call extends org.apache.thrift.async.TAsyncMethodCall {
      private AlertMapper alertMap;
      public registerEventType_call(AlertMapper alertMap, org.apache.thrift.async.AsyncMethodCallback<registerEventType_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.alertMap = alertMap;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerEventType", org.apache.thrift.protocol.TMessageType.CALL, 0));
        registerEventType_args args = new registerEventType_args();
        args.setAlertMap(alertMap);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws AlertServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_registerEventType();
      }
    }

  }

  public static class Processor<I extends Iface> extends in.shop2020.generic.GenericService.Processor implements org.apache.thrift.TProcessor {
    private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
    public Processor(I iface) {
      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
    }

    protected Processor(I iface, Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
      processMap.put("scheduleAlert", new scheduleAlert());
      processMap.put("updateMonitoredObject", new updateMonitoredObject());
      processMap.put("endMonitoringEntity", new endMonitoringEntity());
      processMap.put("getEntities", new getEntities());
      processMap.put("getAlertedEntities", new getAlertedEntities());
      processMap.put("getAlertMapper", new getAlertMapper());
      processMap.put("activateEntityMonitoring", new activateEntityMonitoring());
      processMap.put("deActivateEntityMonitoring", new deActivateEntityMonitoring());
      processMap.put("registerEventType", new registerEventType());
      return processMap;
    }

    private static class scheduleAlert<I extends Iface> extends org.apache.thrift.ProcessFunction<I, scheduleAlert_args> {
      public scheduleAlert() {
        super("scheduleAlert");
      }

      protected scheduleAlert_args getEmptyArgsInstance() {
        return new scheduleAlert_args();
      }

      protected scheduleAlert_result getResult(I iface, scheduleAlert_args args) throws org.apache.thrift.TException {
        scheduleAlert_result result = new scheduleAlert_result();
        try {
          iface.scheduleAlert(args.entity);
        } catch (AlertServiceException e) {
          result.e = e;
        }
        return result;
      }
    }

    private static class updateMonitoredObject<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateMonitoredObject_args> {
      public updateMonitoredObject() {
        super("updateMonitoredObject");
      }

      protected updateMonitoredObject_args getEmptyArgsInstance() {
        return new updateMonitoredObject_args();
      }

      protected updateMonitoredObject_result getResult(I iface, updateMonitoredObject_args args) throws org.apache.thrift.TException {
        updateMonitoredObject_result result = new updateMonitoredObject_result();
        try {
          iface.updateMonitoredObject(args.entity);
        } catch (AlertServiceException e) {
          result.e = e;
        }
        return result;
      }
    }

    private static class endMonitoringEntity<I extends Iface> extends org.apache.thrift.ProcessFunction<I, endMonitoringEntity_args> {
      public endMonitoringEntity() {
        super("endMonitoringEntity");
      }

      protected endMonitoringEntity_args getEmptyArgsInstance() {
        return new endMonitoringEntity_args();
      }

      protected endMonitoringEntity_result getResult(I iface, endMonitoringEntity_args args) throws org.apache.thrift.TException {
        endMonitoringEntity_result result = new endMonitoringEntity_result();
        try {
          iface.endMonitoringEntity(args.entityType, args.entityIdentifier);
        } catch (AlertServiceException e) {
          result.e = e;
        }
        return result;
      }
    }

    private static class getEntities<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getEntities_args> {
      public getEntities() {
        super("getEntities");
      }

      protected getEntities_args getEmptyArgsInstance() {
        return new getEntities_args();
      }

      protected getEntities_result getResult(I iface, getEntities_args args) throws org.apache.thrift.TException {
        getEntities_result result = new getEntities_result();
        try {
          result.success = iface.getEntities(args.searchFilter);
        } catch (AlertServiceException e) {
          result.e = e;
        }
        return result;
      }
    }

    private static class getAlertedEntities<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAlertedEntities_args> {
      public getAlertedEntities() {
        super("getAlertedEntities");
      }

      protected getAlertedEntities_args getEmptyArgsInstance() {
        return new getAlertedEntities_args();
      }

      protected getAlertedEntities_result getResult(I iface, getAlertedEntities_args args) throws org.apache.thrift.TException {
        getAlertedEntities_result result = new getAlertedEntities_result();
        try {
          result.success = iface.getAlertedEntities(args.searchFilter);
        } catch (AlertServiceException e) {
          result.e = e;
        }
        return result;
      }
    }

    private static class getAlertMapper<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAlertMapper_args> {
      public getAlertMapper() {
        super("getAlertMapper");
      }

      protected getAlertMapper_args getEmptyArgsInstance() {
        return new getAlertMapper_args();
      }

      protected getAlertMapper_result getResult(I iface, getAlertMapper_args args) throws org.apache.thrift.TException {
        getAlertMapper_result result = new getAlertMapper_result();
        try {
          result.success = iface.getAlertMapper(args.entityType, args.eventType);
        } catch (AlertServiceException e) {
          result.e = e;
        }
        return result;
      }
    }

    private static class activateEntityMonitoring<I extends Iface> extends org.apache.thrift.ProcessFunction<I, activateEntityMonitoring_args> {
      public activateEntityMonitoring() {
        super("activateEntityMonitoring");
      }

      protected activateEntityMonitoring_args getEmptyArgsInstance() {
        return new activateEntityMonitoring_args();
      }

      protected activateEntityMonitoring_result getResult(I iface, activateEntityMonitoring_args args) throws org.apache.thrift.TException {
        activateEntityMonitoring_result result = new activateEntityMonitoring_result();
        try {
          iface.activateEntityMonitoring(args.entityType, args.userIds);
        } catch (AlertServiceException e) {
          result.e = e;
        }
        return result;
      }
    }

    private static class deActivateEntityMonitoring<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deActivateEntityMonitoring_args> {
      public deActivateEntityMonitoring() {
        super("deActivateEntityMonitoring");
      }

      protected deActivateEntityMonitoring_args getEmptyArgsInstance() {
        return new deActivateEntityMonitoring_args();
      }

      protected deActivateEntityMonitoring_result getResult(I iface, deActivateEntityMonitoring_args args) throws org.apache.thrift.TException {
        deActivateEntityMonitoring_result result = new deActivateEntityMonitoring_result();
        try {
          iface.deActivateEntityMonitoring(args.entityType);
        } catch (AlertServiceException e) {
          result.e = e;
        }
        return result;
      }
    }

    private static class registerEventType<I extends Iface> extends org.apache.thrift.ProcessFunction<I, registerEventType_args> {
      public registerEventType() {
        super("registerEventType");
      }

      protected registerEventType_args getEmptyArgsInstance() {
        return new registerEventType_args();
      }

      protected registerEventType_result getResult(I iface, registerEventType_args args) throws org.apache.thrift.TException {
        registerEventType_result result = new registerEventType_result();
        try {
          iface.registerEventType(args.alertMap);
        } catch (AlertServiceException e) {
          result.e = e;
        }
        return result;
      }
    }

  }

  public static class scheduleAlert_args implements org.apache.thrift.TBase<scheduleAlert_args, scheduleAlert_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("scheduleAlert_args");

    private static final org.apache.thrift.protocol.TField ENTITY_FIELD_DESC = new org.apache.thrift.protocol.TField("entity", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private MonitoredEntity entity; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ENTITY((short)1, "entity");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ENTITY
            return ENTITY;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ENTITY, new org.apache.thrift.meta_data.FieldMetaData("entity", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, MonitoredEntity.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(scheduleAlert_args.class, metaDataMap);
    }

    public scheduleAlert_args() {
    }

    public scheduleAlert_args(
      MonitoredEntity entity)
    {
      this();
      this.entity = entity;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public scheduleAlert_args(scheduleAlert_args other) {
      if (other.isSetEntity()) {
        this.entity = new MonitoredEntity(other.entity);
      }
    }

    public scheduleAlert_args deepCopy() {
      return new scheduleAlert_args(this);
    }

    @Override
    public void clear() {
      this.entity = null;
    }

    public MonitoredEntity getEntity() {
      return this.entity;
    }

    public void setEntity(MonitoredEntity entity) {
      this.entity = entity;
    }

    public void unsetEntity() {
      this.entity = null;
    }

    /** Returns true if field entity is set (has been assigned a value) and false otherwise */
    public boolean isSetEntity() {
      return this.entity != null;
    }

    public void setEntityIsSet(boolean value) {
      if (!value) {
        this.entity = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ENTITY:
        if (value == null) {
          unsetEntity();
        } else {
          setEntity((MonitoredEntity)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ENTITY:
        return getEntity();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ENTITY:
        return isSetEntity();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof scheduleAlert_args)
        return this.equals((scheduleAlert_args)that);
      return false;
    }

    public boolean equals(scheduleAlert_args that) {
      if (that == null)
        return false;

      boolean this_present_entity = true && this.isSetEntity();
      boolean that_present_entity = true && that.isSetEntity();
      if (this_present_entity || that_present_entity) {
        if (!(this_present_entity && that_present_entity))
          return false;
        if (!this.entity.equals(that.entity))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(scheduleAlert_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      scheduleAlert_args typedOther = (scheduleAlert_args)other;

      lastComparison = Boolean.valueOf(isSetEntity()).compareTo(typedOther.isSetEntity());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEntity()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.entity, typedOther.entity);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ENTITY
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.entity = new MonitoredEntity();
              this.entity.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.entity != null) {
        oprot.writeFieldBegin(ENTITY_FIELD_DESC);
        this.entity.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("scheduleAlert_args(");
      boolean first = true;

      sb.append("entity:");
      if (this.entity == null) {
        sb.append("null");
      } else {
        sb.append(this.entity);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class scheduleAlert_result implements org.apache.thrift.TBase<scheduleAlert_result, scheduleAlert_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("scheduleAlert_result");

    private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private AlertServiceException e; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      E((short)1, "e");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(scheduleAlert_result.class, metaDataMap);
    }

    public scheduleAlert_result() {
    }

    public scheduleAlert_result(
      AlertServiceException e)
    {
      this();
      this.e = e;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public scheduleAlert_result(scheduleAlert_result other) {
      if (other.isSetE()) {
        this.e = new AlertServiceException(other.e);
      }
    }

    public scheduleAlert_result deepCopy() {
      return new scheduleAlert_result(this);
    }

    @Override
    public void clear() {
      this.e = null;
    }

    public AlertServiceException getE() {
      return this.e;
    }

    public void setE(AlertServiceException e) {
      this.e = e;
    }

    public void unsetE() {
      this.e = null;
    }

    /** Returns true if field e is set (has been assigned a value) and false otherwise */
    public boolean isSetE() {
      return this.e != null;
    }

    public void setEIsSet(boolean value) {
      if (!value) {
        this.e = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case E:
        if (value == null) {
          unsetE();
        } else {
          setE((AlertServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return getE();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case E:
        return isSetE();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof scheduleAlert_result)
        return this.equals((scheduleAlert_result)that);
      return false;
    }

    public boolean equals(scheduleAlert_result that) {
      if (that == null)
        return false;

      boolean this_present_e = true && this.isSetE();
      boolean that_present_e = true && that.isSetE();
      if (this_present_e || that_present_e) {
        if (!(this_present_e && that_present_e))
          return false;
        if (!this.e.equals(that.e))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(scheduleAlert_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      scheduleAlert_result typedOther = (scheduleAlert_result)other;

      lastComparison = Boolean.valueOf(isSetE()).compareTo(typedOther.isSetE());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, typedOther.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // E
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.e = new AlertServiceException();
              this.e.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetE()) {
        oprot.writeFieldBegin(E_FIELD_DESC);
        this.e.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("scheduleAlert_result(");
      boolean first = true;

      sb.append("e:");
      if (this.e == null) {
        sb.append("null");
      } else {
        sb.append(this.e);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateMonitoredObject_args implements org.apache.thrift.TBase<updateMonitoredObject_args, updateMonitoredObject_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateMonitoredObject_args");

    private static final org.apache.thrift.protocol.TField ENTITY_FIELD_DESC = new org.apache.thrift.protocol.TField("entity", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private MonitoredEntity entity; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ENTITY((short)1, "entity");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ENTITY
            return ENTITY;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ENTITY, new org.apache.thrift.meta_data.FieldMetaData("entity", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, MonitoredEntity.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateMonitoredObject_args.class, metaDataMap);
    }

    public updateMonitoredObject_args() {
    }

    public updateMonitoredObject_args(
      MonitoredEntity entity)
    {
      this();
      this.entity = entity;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateMonitoredObject_args(updateMonitoredObject_args other) {
      if (other.isSetEntity()) {
        this.entity = new MonitoredEntity(other.entity);
      }
    }

    public updateMonitoredObject_args deepCopy() {
      return new updateMonitoredObject_args(this);
    }

    @Override
    public void clear() {
      this.entity = null;
    }

    public MonitoredEntity getEntity() {
      return this.entity;
    }

    public void setEntity(MonitoredEntity entity) {
      this.entity = entity;
    }

    public void unsetEntity() {
      this.entity = null;
    }

    /** Returns true if field entity is set (has been assigned a value) and false otherwise */
    public boolean isSetEntity() {
      return this.entity != null;
    }

    public void setEntityIsSet(boolean value) {
      if (!value) {
        this.entity = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ENTITY:
        if (value == null) {
          unsetEntity();
        } else {
          setEntity((MonitoredEntity)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ENTITY:
        return getEntity();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ENTITY:
        return isSetEntity();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateMonitoredObject_args)
        return this.equals((updateMonitoredObject_args)that);
      return false;
    }

    public boolean equals(updateMonitoredObject_args that) {
      if (that == null)
        return false;

      boolean this_present_entity = true && this.isSetEntity();
      boolean that_present_entity = true && that.isSetEntity();
      if (this_present_entity || that_present_entity) {
        if (!(this_present_entity && that_present_entity))
          return false;
        if (!this.entity.equals(that.entity))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateMonitoredObject_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateMonitoredObject_args typedOther = (updateMonitoredObject_args)other;

      lastComparison = Boolean.valueOf(isSetEntity()).compareTo(typedOther.isSetEntity());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEntity()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.entity, typedOther.entity);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ENTITY
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.entity = new MonitoredEntity();
              this.entity.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.entity != null) {
        oprot.writeFieldBegin(ENTITY_FIELD_DESC);
        this.entity.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateMonitoredObject_args(");
      boolean first = true;

      sb.append("entity:");
      if (this.entity == null) {
        sb.append("null");
      } else {
        sb.append(this.entity);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateMonitoredObject_result implements org.apache.thrift.TBase<updateMonitoredObject_result, updateMonitoredObject_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateMonitoredObject_result");

    private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private AlertServiceException e; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      E((short)1, "e");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateMonitoredObject_result.class, metaDataMap);
    }

    public updateMonitoredObject_result() {
    }

    public updateMonitoredObject_result(
      AlertServiceException e)
    {
      this();
      this.e = e;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateMonitoredObject_result(updateMonitoredObject_result other) {
      if (other.isSetE()) {
        this.e = new AlertServiceException(other.e);
      }
    }

    public updateMonitoredObject_result deepCopy() {
      return new updateMonitoredObject_result(this);
    }

    @Override
    public void clear() {
      this.e = null;
    }

    public AlertServiceException getE() {
      return this.e;
    }

    public void setE(AlertServiceException e) {
      this.e = e;
    }

    public void unsetE() {
      this.e = null;
    }

    /** Returns true if field e is set (has been assigned a value) and false otherwise */
    public boolean isSetE() {
      return this.e != null;
    }

    public void setEIsSet(boolean value) {
      if (!value) {
        this.e = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case E:
        if (value == null) {
          unsetE();
        } else {
          setE((AlertServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return getE();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case E:
        return isSetE();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateMonitoredObject_result)
        return this.equals((updateMonitoredObject_result)that);
      return false;
    }

    public boolean equals(updateMonitoredObject_result that) {
      if (that == null)
        return false;

      boolean this_present_e = true && this.isSetE();
      boolean that_present_e = true && that.isSetE();
      if (this_present_e || that_present_e) {
        if (!(this_present_e && that_present_e))
          return false;
        if (!this.e.equals(that.e))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateMonitoredObject_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateMonitoredObject_result typedOther = (updateMonitoredObject_result)other;

      lastComparison = Boolean.valueOf(isSetE()).compareTo(typedOther.isSetE());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, typedOther.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // E
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.e = new AlertServiceException();
              this.e.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetE()) {
        oprot.writeFieldBegin(E_FIELD_DESC);
        this.e.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateMonitoredObject_result(");
      boolean first = true;

      sb.append("e:");
      if (this.e == null) {
        sb.append("null");
      } else {
        sb.append(this.e);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class endMonitoringEntity_args implements org.apache.thrift.TBase<endMonitoringEntity_args, endMonitoringEntity_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("endMonitoringEntity_args");

    private static final org.apache.thrift.protocol.TField ENTITY_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("entityType", org.apache.thrift.protocol.TType.I32, (short)1);
    private static final org.apache.thrift.protocol.TField ENTITY_IDENTIFIER_FIELD_DESC = new org.apache.thrift.protocol.TField("entityIdentifier", org.apache.thrift.protocol.TType.STRING, (short)2);

    private EntityType entityType; // required
    private String entityIdentifier; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      /**
       * 
       * @see EntityType
       */
      ENTITY_TYPE((short)1, "entityType"),
      ENTITY_IDENTIFIER((short)2, "entityIdentifier");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ENTITY_TYPE
            return ENTITY_TYPE;
          case 2: // ENTITY_IDENTIFIER
            return ENTITY_IDENTIFIER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ENTITY_TYPE, new org.apache.thrift.meta_data.FieldMetaData("entityType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, EntityType.class)));
      tmpMap.put(_Fields.ENTITY_IDENTIFIER, new org.apache.thrift.meta_data.FieldMetaData("entityIdentifier", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(endMonitoringEntity_args.class, metaDataMap);
    }

    public endMonitoringEntity_args() {
    }

    public endMonitoringEntity_args(
      EntityType entityType,
      String entityIdentifier)
    {
      this();
      this.entityType = entityType;
      this.entityIdentifier = entityIdentifier;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public endMonitoringEntity_args(endMonitoringEntity_args other) {
      if (other.isSetEntityType()) {
        this.entityType = other.entityType;
      }
      if (other.isSetEntityIdentifier()) {
        this.entityIdentifier = other.entityIdentifier;
      }
    }

    public endMonitoringEntity_args deepCopy() {
      return new endMonitoringEntity_args(this);
    }

    @Override
    public void clear() {
      this.entityType = null;
      this.entityIdentifier = null;
    }

    /**
     * 
     * @see EntityType
     */
    public EntityType getEntityType() {
      return this.entityType;
    }

    /**
     * 
     * @see EntityType
     */
    public void setEntityType(EntityType entityType) {
      this.entityType = entityType;
    }

    public void unsetEntityType() {
      this.entityType = null;
    }

    /** Returns true if field entityType is set (has been assigned a value) and false otherwise */
    public boolean isSetEntityType() {
      return this.entityType != null;
    }

    public void setEntityTypeIsSet(boolean value) {
      if (!value) {
        this.entityType = null;
      }
    }

    public String getEntityIdentifier() {
      return this.entityIdentifier;
    }

    public void setEntityIdentifier(String entityIdentifier) {
      this.entityIdentifier = entityIdentifier;
    }

    public void unsetEntityIdentifier() {
      this.entityIdentifier = null;
    }

    /** Returns true if field entityIdentifier is set (has been assigned a value) and false otherwise */
    public boolean isSetEntityIdentifier() {
      return this.entityIdentifier != null;
    }

    public void setEntityIdentifierIsSet(boolean value) {
      if (!value) {
        this.entityIdentifier = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ENTITY_TYPE:
        if (value == null) {
          unsetEntityType();
        } else {
          setEntityType((EntityType)value);
        }
        break;

      case ENTITY_IDENTIFIER:
        if (value == null) {
          unsetEntityIdentifier();
        } else {
          setEntityIdentifier((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ENTITY_TYPE:
        return getEntityType();

      case ENTITY_IDENTIFIER:
        return getEntityIdentifier();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ENTITY_TYPE:
        return isSetEntityType();
      case ENTITY_IDENTIFIER:
        return isSetEntityIdentifier();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof endMonitoringEntity_args)
        return this.equals((endMonitoringEntity_args)that);
      return false;
    }

    public boolean equals(endMonitoringEntity_args that) {
      if (that == null)
        return false;

      boolean this_present_entityType = true && this.isSetEntityType();
      boolean that_present_entityType = true && that.isSetEntityType();
      if (this_present_entityType || that_present_entityType) {
        if (!(this_present_entityType && that_present_entityType))
          return false;
        if (!this.entityType.equals(that.entityType))
          return false;
      }

      boolean this_present_entityIdentifier = true && this.isSetEntityIdentifier();
      boolean that_present_entityIdentifier = true && that.isSetEntityIdentifier();
      if (this_present_entityIdentifier || that_present_entityIdentifier) {
        if (!(this_present_entityIdentifier && that_present_entityIdentifier))
          return false;
        if (!this.entityIdentifier.equals(that.entityIdentifier))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(endMonitoringEntity_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      endMonitoringEntity_args typedOther = (endMonitoringEntity_args)other;

      lastComparison = Boolean.valueOf(isSetEntityType()).compareTo(typedOther.isSetEntityType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEntityType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.entityType, typedOther.entityType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEntityIdentifier()).compareTo(typedOther.isSetEntityIdentifier());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEntityIdentifier()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.entityIdentifier, typedOther.entityIdentifier);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ENTITY_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.entityType = EntityType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ENTITY_IDENTIFIER
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.entityIdentifier = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.entityType != null) {
        oprot.writeFieldBegin(ENTITY_TYPE_FIELD_DESC);
        oprot.writeI32(this.entityType.getValue());
        oprot.writeFieldEnd();
      }
      if (this.entityIdentifier != null) {
        oprot.writeFieldBegin(ENTITY_IDENTIFIER_FIELD_DESC);
        oprot.writeString(this.entityIdentifier);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("endMonitoringEntity_args(");
      boolean first = true;

      sb.append("entityType:");
      if (this.entityType == null) {
        sb.append("null");
      } else {
        sb.append(this.entityType);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("entityIdentifier:");
      if (this.entityIdentifier == null) {
        sb.append("null");
      } else {
        sb.append(this.entityIdentifier);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class endMonitoringEntity_result implements org.apache.thrift.TBase<endMonitoringEntity_result, endMonitoringEntity_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("endMonitoringEntity_result");

    private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private AlertServiceException e; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      E((short)1, "e");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(endMonitoringEntity_result.class, metaDataMap);
    }

    public endMonitoringEntity_result() {
    }

    public endMonitoringEntity_result(
      AlertServiceException e)
    {
      this();
      this.e = e;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public endMonitoringEntity_result(endMonitoringEntity_result other) {
      if (other.isSetE()) {
        this.e = new AlertServiceException(other.e);
      }
    }

    public endMonitoringEntity_result deepCopy() {
      return new endMonitoringEntity_result(this);
    }

    @Override
    public void clear() {
      this.e = null;
    }

    public AlertServiceException getE() {
      return this.e;
    }

    public void setE(AlertServiceException e) {
      this.e = e;
    }

    public void unsetE() {
      this.e = null;
    }

    /** Returns true if field e is set (has been assigned a value) and false otherwise */
    public boolean isSetE() {
      return this.e != null;
    }

    public void setEIsSet(boolean value) {
      if (!value) {
        this.e = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case E:
        if (value == null) {
          unsetE();
        } else {
          setE((AlertServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return getE();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case E:
        return isSetE();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof endMonitoringEntity_result)
        return this.equals((endMonitoringEntity_result)that);
      return false;
    }

    public boolean equals(endMonitoringEntity_result that) {
      if (that == null)
        return false;

      boolean this_present_e = true && this.isSetE();
      boolean that_present_e = true && that.isSetE();
      if (this_present_e || that_present_e) {
        if (!(this_present_e && that_present_e))
          return false;
        if (!this.e.equals(that.e))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(endMonitoringEntity_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      endMonitoringEntity_result typedOther = (endMonitoringEntity_result)other;

      lastComparison = Boolean.valueOf(isSetE()).compareTo(typedOther.isSetE());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, typedOther.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // E
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.e = new AlertServiceException();
              this.e.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetE()) {
        oprot.writeFieldBegin(E_FIELD_DESC);
        this.e.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("endMonitoringEntity_result(");
      boolean first = true;

      sb.append("e:");
      if (this.e == null) {
        sb.append("null");
      } else {
        sb.append(this.e);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEntities_args implements org.apache.thrift.TBase<getEntities_args, getEntities_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEntities_args");

    private static final org.apache.thrift.protocol.TField SEARCH_FILTER_FIELD_DESC = new org.apache.thrift.protocol.TField("searchFilter", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private SearchFilter searchFilter; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SEARCH_FILTER((short)1, "searchFilter");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SEARCH_FILTER
            return SEARCH_FILTER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SEARCH_FILTER, new org.apache.thrift.meta_data.FieldMetaData("searchFilter", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SearchFilter.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEntities_args.class, metaDataMap);
    }

    public getEntities_args() {
    }

    public getEntities_args(
      SearchFilter searchFilter)
    {
      this();
      this.searchFilter = searchFilter;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEntities_args(getEntities_args other) {
      if (other.isSetSearchFilter()) {
        this.searchFilter = new SearchFilter(other.searchFilter);
      }
    }

    public getEntities_args deepCopy() {
      return new getEntities_args(this);
    }

    @Override
    public void clear() {
      this.searchFilter = null;
    }

    public SearchFilter getSearchFilter() {
      return this.searchFilter;
    }

    public void setSearchFilter(SearchFilter searchFilter) {
      this.searchFilter = searchFilter;
    }

    public void unsetSearchFilter() {
      this.searchFilter = null;
    }

    /** Returns true if field searchFilter is set (has been assigned a value) and false otherwise */
    public boolean isSetSearchFilter() {
      return this.searchFilter != null;
    }

    public void setSearchFilterIsSet(boolean value) {
      if (!value) {
        this.searchFilter = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SEARCH_FILTER:
        if (value == null) {
          unsetSearchFilter();
        } else {
          setSearchFilter((SearchFilter)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SEARCH_FILTER:
        return getSearchFilter();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SEARCH_FILTER:
        return isSetSearchFilter();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEntities_args)
        return this.equals((getEntities_args)that);
      return false;
    }

    public boolean equals(getEntities_args that) {
      if (that == null)
        return false;

      boolean this_present_searchFilter = true && this.isSetSearchFilter();
      boolean that_present_searchFilter = true && that.isSetSearchFilter();
      if (this_present_searchFilter || that_present_searchFilter) {
        if (!(this_present_searchFilter && that_present_searchFilter))
          return false;
        if (!this.searchFilter.equals(that.searchFilter))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEntities_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEntities_args typedOther = (getEntities_args)other;

      lastComparison = Boolean.valueOf(isSetSearchFilter()).compareTo(typedOther.isSetSearchFilter());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSearchFilter()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.searchFilter, typedOther.searchFilter);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SEARCH_FILTER
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.searchFilter = new SearchFilter();
              this.searchFilter.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.searchFilter != null) {
        oprot.writeFieldBegin(SEARCH_FILTER_FIELD_DESC);
        this.searchFilter.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEntities_args(");
      boolean first = true;

      sb.append("searchFilter:");
      if (this.searchFilter == null) {
        sb.append("null");
      } else {
        sb.append(this.searchFilter);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEntities_result implements org.apache.thrift.TBase<getEntities_result, getEntities_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEntities_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<MonitoredEntity> success; // required
    private AlertServiceException e; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, MonitoredEntity.class))));
      tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEntities_result.class, metaDataMap);
    }

    public getEntities_result() {
    }

    public getEntities_result(
      List<MonitoredEntity> success,
      AlertServiceException e)
    {
      this();
      this.success = success;
      this.e = e;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEntities_result(getEntities_result other) {
      if (other.isSetSuccess()) {
        List<MonitoredEntity> __this__success = new ArrayList<MonitoredEntity>();
        for (MonitoredEntity other_element : other.success) {
          __this__success.add(new MonitoredEntity(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetE()) {
        this.e = new AlertServiceException(other.e);
      }
    }

    public getEntities_result deepCopy() {
      return new getEntities_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<MonitoredEntity> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(MonitoredEntity elem) {
      if (this.success == null) {
        this.success = new ArrayList<MonitoredEntity>();
      }
      this.success.add(elem);
    }

    public List<MonitoredEntity> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<MonitoredEntity> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public AlertServiceException getE() {
      return this.e;
    }

    public void setE(AlertServiceException e) {
      this.e = e;
    }

    public void unsetE() {
      this.e = null;
    }

    /** Returns true if field e is set (has been assigned a value) and false otherwise */
    public boolean isSetE() {
      return this.e != null;
    }

    public void setEIsSet(boolean value) {
      if (!value) {
        this.e = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<MonitoredEntity>)value);
        }
        break;

      case E:
        if (value == null) {
          unsetE();
        } else {
          setE((AlertServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case E:
        return getE();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case E:
        return isSetE();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEntities_result)
        return this.equals((getEntities_result)that);
      return false;
    }

    public boolean equals(getEntities_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_e = true && this.isSetE();
      boolean that_present_e = true && that.isSetE();
      if (this_present_e || that_present_e) {
        if (!(this_present_e && that_present_e))
          return false;
        if (!this.e.equals(that.e))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEntities_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEntities_result typedOther = (getEntities_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetE()).compareTo(typedOther.isSetE());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, typedOther.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                this.success = new ArrayList<MonitoredEntity>(_list0.size);
                for (int _i1 = 0; _i1 < _list0.size; ++_i1)
                {
                  MonitoredEntity _elem2; // required
                  _elem2 = new MonitoredEntity();
                  _elem2.read(iprot);
                  this.success.add(_elem2);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // E
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.e = new AlertServiceException();
              this.e.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (MonitoredEntity _iter3 : this.success)
          {
            _iter3.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetE()) {
        oprot.writeFieldBegin(E_FIELD_DESC);
        this.e.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEntities_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("e:");
      if (this.e == null) {
        sb.append("null");
      } else {
        sb.append(this.e);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAlertedEntities_args implements org.apache.thrift.TBase<getAlertedEntities_args, getAlertedEntities_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAlertedEntities_args");

    private static final org.apache.thrift.protocol.TField SEARCH_FILTER_FIELD_DESC = new org.apache.thrift.protocol.TField("searchFilter", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private SearchFilter searchFilter; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SEARCH_FILTER((short)1, "searchFilter");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SEARCH_FILTER
            return SEARCH_FILTER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SEARCH_FILTER, new org.apache.thrift.meta_data.FieldMetaData("searchFilter", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SearchFilter.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAlertedEntities_args.class, metaDataMap);
    }

    public getAlertedEntities_args() {
    }

    public getAlertedEntities_args(
      SearchFilter searchFilter)
    {
      this();
      this.searchFilter = searchFilter;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAlertedEntities_args(getAlertedEntities_args other) {
      if (other.isSetSearchFilter()) {
        this.searchFilter = new SearchFilter(other.searchFilter);
      }
    }

    public getAlertedEntities_args deepCopy() {
      return new getAlertedEntities_args(this);
    }

    @Override
    public void clear() {
      this.searchFilter = null;
    }

    public SearchFilter getSearchFilter() {
      return this.searchFilter;
    }

    public void setSearchFilter(SearchFilter searchFilter) {
      this.searchFilter = searchFilter;
    }

    public void unsetSearchFilter() {
      this.searchFilter = null;
    }

    /** Returns true if field searchFilter is set (has been assigned a value) and false otherwise */
    public boolean isSetSearchFilter() {
      return this.searchFilter != null;
    }

    public void setSearchFilterIsSet(boolean value) {
      if (!value) {
        this.searchFilter = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SEARCH_FILTER:
        if (value == null) {
          unsetSearchFilter();
        } else {
          setSearchFilter((SearchFilter)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SEARCH_FILTER:
        return getSearchFilter();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SEARCH_FILTER:
        return isSetSearchFilter();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAlertedEntities_args)
        return this.equals((getAlertedEntities_args)that);
      return false;
    }

    public boolean equals(getAlertedEntities_args that) {
      if (that == null)
        return false;

      boolean this_present_searchFilter = true && this.isSetSearchFilter();
      boolean that_present_searchFilter = true && that.isSetSearchFilter();
      if (this_present_searchFilter || that_present_searchFilter) {
        if (!(this_present_searchFilter && that_present_searchFilter))
          return false;
        if (!this.searchFilter.equals(that.searchFilter))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAlertedEntities_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAlertedEntities_args typedOther = (getAlertedEntities_args)other;

      lastComparison = Boolean.valueOf(isSetSearchFilter()).compareTo(typedOther.isSetSearchFilter());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSearchFilter()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.searchFilter, typedOther.searchFilter);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SEARCH_FILTER
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.searchFilter = new SearchFilter();
              this.searchFilter.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.searchFilter != null) {
        oprot.writeFieldBegin(SEARCH_FILTER_FIELD_DESC);
        this.searchFilter.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAlertedEntities_args(");
      boolean first = true;

      sb.append("searchFilter:");
      if (this.searchFilter == null) {
        sb.append("null");
      } else {
        sb.append(this.searchFilter);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAlertedEntities_result implements org.apache.thrift.TBase<getAlertedEntities_result, getAlertedEntities_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAlertedEntities_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<AlertedEntity> success; // required
    private AlertServiceException e; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AlertedEntity.class))));
      tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAlertedEntities_result.class, metaDataMap);
    }

    public getAlertedEntities_result() {
    }

    public getAlertedEntities_result(
      List<AlertedEntity> success,
      AlertServiceException e)
    {
      this();
      this.success = success;
      this.e = e;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAlertedEntities_result(getAlertedEntities_result other) {
      if (other.isSetSuccess()) {
        List<AlertedEntity> __this__success = new ArrayList<AlertedEntity>();
        for (AlertedEntity other_element : other.success) {
          __this__success.add(new AlertedEntity(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetE()) {
        this.e = new AlertServiceException(other.e);
      }
    }

    public getAlertedEntities_result deepCopy() {
      return new getAlertedEntities_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<AlertedEntity> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(AlertedEntity elem) {
      if (this.success == null) {
        this.success = new ArrayList<AlertedEntity>();
      }
      this.success.add(elem);
    }

    public List<AlertedEntity> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<AlertedEntity> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public AlertServiceException getE() {
      return this.e;
    }

    public void setE(AlertServiceException e) {
      this.e = e;
    }

    public void unsetE() {
      this.e = null;
    }

    /** Returns true if field e is set (has been assigned a value) and false otherwise */
    public boolean isSetE() {
      return this.e != null;
    }

    public void setEIsSet(boolean value) {
      if (!value) {
        this.e = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<AlertedEntity>)value);
        }
        break;

      case E:
        if (value == null) {
          unsetE();
        } else {
          setE((AlertServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case E:
        return getE();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case E:
        return isSetE();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAlertedEntities_result)
        return this.equals((getAlertedEntities_result)that);
      return false;
    }

    public boolean equals(getAlertedEntities_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_e = true && this.isSetE();
      boolean that_present_e = true && that.isSetE();
      if (this_present_e || that_present_e) {
        if (!(this_present_e && that_present_e))
          return false;
        if (!this.e.equals(that.e))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAlertedEntities_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAlertedEntities_result typedOther = (getAlertedEntities_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetE()).compareTo(typedOther.isSetE());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, typedOther.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list4 = iprot.readListBegin();
                this.success = new ArrayList<AlertedEntity>(_list4.size);
                for (int _i5 = 0; _i5 < _list4.size; ++_i5)
                {
                  AlertedEntity _elem6; // required
                  _elem6 = new AlertedEntity();
                  _elem6.read(iprot);
                  this.success.add(_elem6);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // E
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.e = new AlertServiceException();
              this.e.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (AlertedEntity _iter7 : this.success)
          {
            _iter7.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetE()) {
        oprot.writeFieldBegin(E_FIELD_DESC);
        this.e.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAlertedEntities_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("e:");
      if (this.e == null) {
        sb.append("null");
      } else {
        sb.append(this.e);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAlertMapper_args implements org.apache.thrift.TBase<getAlertMapper_args, getAlertMapper_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAlertMapper_args");

    private static final org.apache.thrift.protocol.TField ENTITY_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("entityType", org.apache.thrift.protocol.TType.I32, (short)1);
    private static final org.apache.thrift.protocol.TField EVENT_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("eventType", org.apache.thrift.protocol.TType.I32, (short)2);

    private EntityType entityType; // required
    private int eventType; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      /**
       * 
       * @see EntityType
       */
      ENTITY_TYPE((short)1, "entityType"),
      EVENT_TYPE((short)2, "eventType");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ENTITY_TYPE
            return ENTITY_TYPE;
          case 2: // EVENT_TYPE
            return EVENT_TYPE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __EVENTTYPE_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ENTITY_TYPE, new org.apache.thrift.meta_data.FieldMetaData("entityType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, EntityType.class)));
      tmpMap.put(_Fields.EVENT_TYPE, new org.apache.thrift.meta_data.FieldMetaData("eventType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAlertMapper_args.class, metaDataMap);
    }

    public getAlertMapper_args() {
    }

    public getAlertMapper_args(
      EntityType entityType,
      int eventType)
    {
      this();
      this.entityType = entityType;
      this.eventType = eventType;
      setEventTypeIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAlertMapper_args(getAlertMapper_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetEntityType()) {
        this.entityType = other.entityType;
      }
      this.eventType = other.eventType;
    }

    public getAlertMapper_args deepCopy() {
      return new getAlertMapper_args(this);
    }

    @Override
    public void clear() {
      this.entityType = null;
      setEventTypeIsSet(false);
      this.eventType = 0;
    }

    /**
     * 
     * @see EntityType
     */
    public EntityType getEntityType() {
      return this.entityType;
    }

    /**
     * 
     * @see EntityType
     */
    public void setEntityType(EntityType entityType) {
      this.entityType = entityType;
    }

    public void unsetEntityType() {
      this.entityType = null;
    }

    /** Returns true if field entityType is set (has been assigned a value) and false otherwise */
    public boolean isSetEntityType() {
      return this.entityType != null;
    }

    public void setEntityTypeIsSet(boolean value) {
      if (!value) {
        this.entityType = null;
      }
    }

    public int getEventType() {
      return this.eventType;
    }

    public void setEventType(int eventType) {
      this.eventType = eventType;
      setEventTypeIsSet(true);
    }

    public void unsetEventType() {
      __isset_bit_vector.clear(__EVENTTYPE_ISSET_ID);
    }

    /** Returns true if field eventType is set (has been assigned a value) and false otherwise */
    public boolean isSetEventType() {
      return __isset_bit_vector.get(__EVENTTYPE_ISSET_ID);
    }

    public void setEventTypeIsSet(boolean value) {
      __isset_bit_vector.set(__EVENTTYPE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ENTITY_TYPE:
        if (value == null) {
          unsetEntityType();
        } else {
          setEntityType((EntityType)value);
        }
        break;

      case EVENT_TYPE:
        if (value == null) {
          unsetEventType();
        } else {
          setEventType((Integer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ENTITY_TYPE:
        return getEntityType();

      case EVENT_TYPE:
        return Integer.valueOf(getEventType());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ENTITY_TYPE:
        return isSetEntityType();
      case EVENT_TYPE:
        return isSetEventType();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAlertMapper_args)
        return this.equals((getAlertMapper_args)that);
      return false;
    }

    public boolean equals(getAlertMapper_args that) {
      if (that == null)
        return false;

      boolean this_present_entityType = true && this.isSetEntityType();
      boolean that_present_entityType = true && that.isSetEntityType();
      if (this_present_entityType || that_present_entityType) {
        if (!(this_present_entityType && that_present_entityType))
          return false;
        if (!this.entityType.equals(that.entityType))
          return false;
      }

      boolean this_present_eventType = true;
      boolean that_present_eventType = true;
      if (this_present_eventType || that_present_eventType) {
        if (!(this_present_eventType && that_present_eventType))
          return false;
        if (this.eventType != that.eventType)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAlertMapper_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAlertMapper_args typedOther = (getAlertMapper_args)other;

      lastComparison = Boolean.valueOf(isSetEntityType()).compareTo(typedOther.isSetEntityType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEntityType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.entityType, typedOther.entityType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEventType()).compareTo(typedOther.isSetEventType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEventType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.eventType, typedOther.eventType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ENTITY_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.entityType = EntityType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // EVENT_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.eventType = iprot.readI32();
              setEventTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.entityType != null) {
        oprot.writeFieldBegin(ENTITY_TYPE_FIELD_DESC);
        oprot.writeI32(this.entityType.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(EVENT_TYPE_FIELD_DESC);
      oprot.writeI32(this.eventType);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAlertMapper_args(");
      boolean first = true;

      sb.append("entityType:");
      if (this.entityType == null) {
        sb.append("null");
      } else {
        sb.append(this.entityType);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("eventType:");
      sb.append(this.eventType);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAlertMapper_result implements org.apache.thrift.TBase<getAlertMapper_result, getAlertMapper_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAlertMapper_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private AlertMapper success; // required
    private AlertServiceException e; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      E((short)1, "e");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // E
            return E;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AlertMapper.class)));
      tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAlertMapper_result.class, metaDataMap);
    }

    public getAlertMapper_result() {
    }

    public getAlertMapper_result(
      AlertMapper success,
      AlertServiceException e)
    {
      this();
      this.success = success;
      this.e = e;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAlertMapper_result(getAlertMapper_result other) {
      if (other.isSetSuccess()) {
        this.success = new AlertMapper(other.success);
      }
      if (other.isSetE()) {
        this.e = new AlertServiceException(other.e);
      }
    }

    public getAlertMapper_result deepCopy() {
      return new getAlertMapper_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.e = null;
    }

    public AlertMapper getSuccess() {
      return this.success;
    }

    public void setSuccess(AlertMapper success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public AlertServiceException getE() {
      return this.e;
    }

    public void setE(AlertServiceException e) {
      this.e = e;
    }

    public void unsetE() {
      this.e = null;
    }

    /** Returns true if field e is set (has been assigned a value) and false otherwise */
    public boolean isSetE() {
      return this.e != null;
    }

    public void setEIsSet(boolean value) {
      if (!value) {
        this.e = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((AlertMapper)value);
        }
        break;

      case E:
        if (value == null) {
          unsetE();
        } else {
          setE((AlertServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case E:
        return getE();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case E:
        return isSetE();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAlertMapper_result)
        return this.equals((getAlertMapper_result)that);
      return false;
    }

    public boolean equals(getAlertMapper_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_e = true && this.isSetE();
      boolean that_present_e = true && that.isSetE();
      if (this_present_e || that_present_e) {
        if (!(this_present_e && that_present_e))
          return false;
        if (!this.e.equals(that.e))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAlertMapper_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAlertMapper_result typedOther = (getAlertMapper_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetE()).compareTo(typedOther.isSetE());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, typedOther.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new AlertMapper();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // E
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.e = new AlertServiceException();
              this.e.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetE()) {
        oprot.writeFieldBegin(E_FIELD_DESC);
        this.e.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAlertMapper_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("e:");
      if (this.e == null) {
        sb.append("null");
      } else {
        sb.append(this.e);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class activateEntityMonitoring_args implements org.apache.thrift.TBase<activateEntityMonitoring_args, activateEntityMonitoring_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("activateEntityMonitoring_args");

    private static final org.apache.thrift.protocol.TField ENTITY_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("entityType", org.apache.thrift.protocol.TType.I32, (short)1);
    private static final org.apache.thrift.protocol.TField USER_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("userIds", org.apache.thrift.protocol.TType.STRING, (short)2);

    private EntityType entityType; // required
    private String userIds; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      /**
       * 
       * @see EntityType
       */
      ENTITY_TYPE((short)1, "entityType"),
      USER_IDS((short)2, "userIds");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ENTITY_TYPE
            return ENTITY_TYPE;
          case 2: // USER_IDS
            return USER_IDS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ENTITY_TYPE, new org.apache.thrift.meta_data.FieldMetaData("entityType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, EntityType.class)));
      tmpMap.put(_Fields.USER_IDS, new org.apache.thrift.meta_data.FieldMetaData("userIds", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(activateEntityMonitoring_args.class, metaDataMap);
    }

    public activateEntityMonitoring_args() {
    }

    public activateEntityMonitoring_args(
      EntityType entityType,
      String userIds)
    {
      this();
      this.entityType = entityType;
      this.userIds = userIds;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public activateEntityMonitoring_args(activateEntityMonitoring_args other) {
      if (other.isSetEntityType()) {
        this.entityType = other.entityType;
      }
      if (other.isSetUserIds()) {
        this.userIds = other.userIds;
      }
    }

    public activateEntityMonitoring_args deepCopy() {
      return new activateEntityMonitoring_args(this);
    }

    @Override
    public void clear() {
      this.entityType = null;
      this.userIds = null;
    }

    /**
     * 
     * @see EntityType
     */
    public EntityType getEntityType() {
      return this.entityType;
    }

    /**
     * 
     * @see EntityType
     */
    public void setEntityType(EntityType entityType) {
      this.entityType = entityType;
    }

    public void unsetEntityType() {
      this.entityType = null;
    }

    /** Returns true if field entityType is set (has been assigned a value) and false otherwise */
    public boolean isSetEntityType() {
      return this.entityType != null;
    }

    public void setEntityTypeIsSet(boolean value) {
      if (!value) {
        this.entityType = null;
      }
    }

    public String getUserIds() {
      return this.userIds;
    }

    public void setUserIds(String userIds) {
      this.userIds = userIds;
    }

    public void unsetUserIds() {
      this.userIds = null;
    }

    /** Returns true if field userIds is set (has been assigned a value) and false otherwise */
    public boolean isSetUserIds() {
      return this.userIds != null;
    }

    public void setUserIdsIsSet(boolean value) {
      if (!value) {
        this.userIds = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ENTITY_TYPE:
        if (value == null) {
          unsetEntityType();
        } else {
          setEntityType((EntityType)value);
        }
        break;

      case USER_IDS:
        if (value == null) {
          unsetUserIds();
        } else {
          setUserIds((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ENTITY_TYPE:
        return getEntityType();

      case USER_IDS:
        return getUserIds();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ENTITY_TYPE:
        return isSetEntityType();
      case USER_IDS:
        return isSetUserIds();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof activateEntityMonitoring_args)
        return this.equals((activateEntityMonitoring_args)that);
      return false;
    }

    public boolean equals(activateEntityMonitoring_args that) {
      if (that == null)
        return false;

      boolean this_present_entityType = true && this.isSetEntityType();
      boolean that_present_entityType = true && that.isSetEntityType();
      if (this_present_entityType || that_present_entityType) {
        if (!(this_present_entityType && that_present_entityType))
          return false;
        if (!this.entityType.equals(that.entityType))
          return false;
      }

      boolean this_present_userIds = true && this.isSetUserIds();
      boolean that_present_userIds = true && that.isSetUserIds();
      if (this_present_userIds || that_present_userIds) {
        if (!(this_present_userIds && that_present_userIds))
          return false;
        if (!this.userIds.equals(that.userIds))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(activateEntityMonitoring_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      activateEntityMonitoring_args typedOther = (activateEntityMonitoring_args)other;

      lastComparison = Boolean.valueOf(isSetEntityType()).compareTo(typedOther.isSetEntityType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEntityType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.entityType, typedOther.entityType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetUserIds()).compareTo(typedOther.isSetUserIds());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserIds()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userIds, typedOther.userIds);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ENTITY_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.entityType = EntityType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // USER_IDS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.userIds = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.entityType != null) {
        oprot.writeFieldBegin(ENTITY_TYPE_FIELD_DESC);
        oprot.writeI32(this.entityType.getValue());
        oprot.writeFieldEnd();
      }
      if (this.userIds != null) {
        oprot.writeFieldBegin(USER_IDS_FIELD_DESC);
        oprot.writeString(this.userIds);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("activateEntityMonitoring_args(");
      boolean first = true;

      sb.append("entityType:");
      if (this.entityType == null) {
        sb.append("null");
      } else {
        sb.append(this.entityType);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("userIds:");
      if (this.userIds == null) {
        sb.append("null");
      } else {
        sb.append(this.userIds);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class activateEntityMonitoring_result implements org.apache.thrift.TBase<activateEntityMonitoring_result, activateEntityMonitoring_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("activateEntityMonitoring_result");

    private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private AlertServiceException e; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      E((short)1, "e");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(activateEntityMonitoring_result.class, metaDataMap);
    }

    public activateEntityMonitoring_result() {
    }

    public activateEntityMonitoring_result(
      AlertServiceException e)
    {
      this();
      this.e = e;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public activateEntityMonitoring_result(activateEntityMonitoring_result other) {
      if (other.isSetE()) {
        this.e = new AlertServiceException(other.e);
      }
    }

    public activateEntityMonitoring_result deepCopy() {
      return new activateEntityMonitoring_result(this);
    }

    @Override
    public void clear() {
      this.e = null;
    }

    public AlertServiceException getE() {
      return this.e;
    }

    public void setE(AlertServiceException e) {
      this.e = e;
    }

    public void unsetE() {
      this.e = null;
    }

    /** Returns true if field e is set (has been assigned a value) and false otherwise */
    public boolean isSetE() {
      return this.e != null;
    }

    public void setEIsSet(boolean value) {
      if (!value) {
        this.e = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case E:
        if (value == null) {
          unsetE();
        } else {
          setE((AlertServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return getE();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case E:
        return isSetE();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof activateEntityMonitoring_result)
        return this.equals((activateEntityMonitoring_result)that);
      return false;
    }

    public boolean equals(activateEntityMonitoring_result that) {
      if (that == null)
        return false;

      boolean this_present_e = true && this.isSetE();
      boolean that_present_e = true && that.isSetE();
      if (this_present_e || that_present_e) {
        if (!(this_present_e && that_present_e))
          return false;
        if (!this.e.equals(that.e))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(activateEntityMonitoring_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      activateEntityMonitoring_result typedOther = (activateEntityMonitoring_result)other;

      lastComparison = Boolean.valueOf(isSetE()).compareTo(typedOther.isSetE());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, typedOther.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // E
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.e = new AlertServiceException();
              this.e.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetE()) {
        oprot.writeFieldBegin(E_FIELD_DESC);
        this.e.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("activateEntityMonitoring_result(");
      boolean first = true;

      sb.append("e:");
      if (this.e == null) {
        sb.append("null");
      } else {
        sb.append(this.e);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class deActivateEntityMonitoring_args implements org.apache.thrift.TBase<deActivateEntityMonitoring_args, deActivateEntityMonitoring_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deActivateEntityMonitoring_args");

    private static final org.apache.thrift.protocol.TField ENTITY_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("entityType", org.apache.thrift.protocol.TType.I32, (short)1);

    private EntityType entityType; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      /**
       * 
       * @see EntityType
       */
      ENTITY_TYPE((short)1, "entityType");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ENTITY_TYPE
            return ENTITY_TYPE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ENTITY_TYPE, new org.apache.thrift.meta_data.FieldMetaData("entityType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, EntityType.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deActivateEntityMonitoring_args.class, metaDataMap);
    }

    public deActivateEntityMonitoring_args() {
    }

    public deActivateEntityMonitoring_args(
      EntityType entityType)
    {
      this();
      this.entityType = entityType;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public deActivateEntityMonitoring_args(deActivateEntityMonitoring_args other) {
      if (other.isSetEntityType()) {
        this.entityType = other.entityType;
      }
    }

    public deActivateEntityMonitoring_args deepCopy() {
      return new deActivateEntityMonitoring_args(this);
    }

    @Override
    public void clear() {
      this.entityType = null;
    }

    /**
     * 
     * @see EntityType
     */
    public EntityType getEntityType() {
      return this.entityType;
    }

    /**
     * 
     * @see EntityType
     */
    public void setEntityType(EntityType entityType) {
      this.entityType = entityType;
    }

    public void unsetEntityType() {
      this.entityType = null;
    }

    /** Returns true if field entityType is set (has been assigned a value) and false otherwise */
    public boolean isSetEntityType() {
      return this.entityType != null;
    }

    public void setEntityTypeIsSet(boolean value) {
      if (!value) {
        this.entityType = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ENTITY_TYPE:
        if (value == null) {
          unsetEntityType();
        } else {
          setEntityType((EntityType)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ENTITY_TYPE:
        return getEntityType();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ENTITY_TYPE:
        return isSetEntityType();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof deActivateEntityMonitoring_args)
        return this.equals((deActivateEntityMonitoring_args)that);
      return false;
    }

    public boolean equals(deActivateEntityMonitoring_args that) {
      if (that == null)
        return false;

      boolean this_present_entityType = true && this.isSetEntityType();
      boolean that_present_entityType = true && that.isSetEntityType();
      if (this_present_entityType || that_present_entityType) {
        if (!(this_present_entityType && that_present_entityType))
          return false;
        if (!this.entityType.equals(that.entityType))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(deActivateEntityMonitoring_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      deActivateEntityMonitoring_args typedOther = (deActivateEntityMonitoring_args)other;

      lastComparison = Boolean.valueOf(isSetEntityType()).compareTo(typedOther.isSetEntityType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEntityType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.entityType, typedOther.entityType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ENTITY_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.entityType = EntityType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.entityType != null) {
        oprot.writeFieldBegin(ENTITY_TYPE_FIELD_DESC);
        oprot.writeI32(this.entityType.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("deActivateEntityMonitoring_args(");
      boolean first = true;

      sb.append("entityType:");
      if (this.entityType == null) {
        sb.append("null");
      } else {
        sb.append(this.entityType);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class deActivateEntityMonitoring_result implements org.apache.thrift.TBase<deActivateEntityMonitoring_result, deActivateEntityMonitoring_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deActivateEntityMonitoring_result");

    private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private AlertServiceException e; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      E((short)1, "e");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deActivateEntityMonitoring_result.class, metaDataMap);
    }

    public deActivateEntityMonitoring_result() {
    }

    public deActivateEntityMonitoring_result(
      AlertServiceException e)
    {
      this();
      this.e = e;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public deActivateEntityMonitoring_result(deActivateEntityMonitoring_result other) {
      if (other.isSetE()) {
        this.e = new AlertServiceException(other.e);
      }
    }

    public deActivateEntityMonitoring_result deepCopy() {
      return new deActivateEntityMonitoring_result(this);
    }

    @Override
    public void clear() {
      this.e = null;
    }

    public AlertServiceException getE() {
      return this.e;
    }

    public void setE(AlertServiceException e) {
      this.e = e;
    }

    public void unsetE() {
      this.e = null;
    }

    /** Returns true if field e is set (has been assigned a value) and false otherwise */
    public boolean isSetE() {
      return this.e != null;
    }

    public void setEIsSet(boolean value) {
      if (!value) {
        this.e = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case E:
        if (value == null) {
          unsetE();
        } else {
          setE((AlertServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return getE();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case E:
        return isSetE();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof deActivateEntityMonitoring_result)
        return this.equals((deActivateEntityMonitoring_result)that);
      return false;
    }

    public boolean equals(deActivateEntityMonitoring_result that) {
      if (that == null)
        return false;

      boolean this_present_e = true && this.isSetE();
      boolean that_present_e = true && that.isSetE();
      if (this_present_e || that_present_e) {
        if (!(this_present_e && that_present_e))
          return false;
        if (!this.e.equals(that.e))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(deActivateEntityMonitoring_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      deActivateEntityMonitoring_result typedOther = (deActivateEntityMonitoring_result)other;

      lastComparison = Boolean.valueOf(isSetE()).compareTo(typedOther.isSetE());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, typedOther.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // E
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.e = new AlertServiceException();
              this.e.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetE()) {
        oprot.writeFieldBegin(E_FIELD_DESC);
        this.e.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("deActivateEntityMonitoring_result(");
      boolean first = true;

      sb.append("e:");
      if (this.e == null) {
        sb.append("null");
      } else {
        sb.append(this.e);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class registerEventType_args implements org.apache.thrift.TBase<registerEventType_args, registerEventType_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerEventType_args");

    private static final org.apache.thrift.protocol.TField ALERT_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("alertMap", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private AlertMapper alertMap; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ALERT_MAP((short)1, "alertMap");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ALERT_MAP
            return ALERT_MAP;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ALERT_MAP, new org.apache.thrift.meta_data.FieldMetaData("alertMap", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AlertMapper.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerEventType_args.class, metaDataMap);
    }

    public registerEventType_args() {
    }

    public registerEventType_args(
      AlertMapper alertMap)
    {
      this();
      this.alertMap = alertMap;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public registerEventType_args(registerEventType_args other) {
      if (other.isSetAlertMap()) {
        this.alertMap = new AlertMapper(other.alertMap);
      }
    }

    public registerEventType_args deepCopy() {
      return new registerEventType_args(this);
    }

    @Override
    public void clear() {
      this.alertMap = null;
    }

    public AlertMapper getAlertMap() {
      return this.alertMap;
    }

    public void setAlertMap(AlertMapper alertMap) {
      this.alertMap = alertMap;
    }

    public void unsetAlertMap() {
      this.alertMap = null;
    }

    /** Returns true if field alertMap is set (has been assigned a value) and false otherwise */
    public boolean isSetAlertMap() {
      return this.alertMap != null;
    }

    public void setAlertMapIsSet(boolean value) {
      if (!value) {
        this.alertMap = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ALERT_MAP:
        if (value == null) {
          unsetAlertMap();
        } else {
          setAlertMap((AlertMapper)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ALERT_MAP:
        return getAlertMap();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ALERT_MAP:
        return isSetAlertMap();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof registerEventType_args)
        return this.equals((registerEventType_args)that);
      return false;
    }

    public boolean equals(registerEventType_args that) {
      if (that == null)
        return false;

      boolean this_present_alertMap = true && this.isSetAlertMap();
      boolean that_present_alertMap = true && that.isSetAlertMap();
      if (this_present_alertMap || that_present_alertMap) {
        if (!(this_present_alertMap && that_present_alertMap))
          return false;
        if (!this.alertMap.equals(that.alertMap))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(registerEventType_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      registerEventType_args typedOther = (registerEventType_args)other;

      lastComparison = Boolean.valueOf(isSetAlertMap()).compareTo(typedOther.isSetAlertMap());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAlertMap()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.alertMap, typedOther.alertMap);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ALERT_MAP
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.alertMap = new AlertMapper();
              this.alertMap.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.alertMap != null) {
        oprot.writeFieldBegin(ALERT_MAP_FIELD_DESC);
        this.alertMap.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("registerEventType_args(");
      boolean first = true;

      sb.append("alertMap:");
      if (this.alertMap == null) {
        sb.append("null");
      } else {
        sb.append(this.alertMap);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class registerEventType_result implements org.apache.thrift.TBase<registerEventType_result, registerEventType_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerEventType_result");

    private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private AlertServiceException e; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      E((short)1, "e");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // E
            return E;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerEventType_result.class, metaDataMap);
    }

    public registerEventType_result() {
    }

    public registerEventType_result(
      AlertServiceException e)
    {
      this();
      this.e = e;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public registerEventType_result(registerEventType_result other) {
      if (other.isSetE()) {
        this.e = new AlertServiceException(other.e);
      }
    }

    public registerEventType_result deepCopy() {
      return new registerEventType_result(this);
    }

    @Override
    public void clear() {
      this.e = null;
    }

    public AlertServiceException getE() {
      return this.e;
    }

    public void setE(AlertServiceException e) {
      this.e = e;
    }

    public void unsetE() {
      this.e = null;
    }

    /** Returns true if field e is set (has been assigned a value) and false otherwise */
    public boolean isSetE() {
      return this.e != null;
    }

    public void setEIsSet(boolean value) {
      if (!value) {
        this.e = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case E:
        if (value == null) {
          unsetE();
        } else {
          setE((AlertServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case E:
        return getE();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case E:
        return isSetE();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof registerEventType_result)
        return this.equals((registerEventType_result)that);
      return false;
    }

    public boolean equals(registerEventType_result that) {
      if (that == null)
        return false;

      boolean this_present_e = true && this.isSetE();
      boolean that_present_e = true && that.isSetE();
      if (this_present_e || that_present_e) {
        if (!(this_present_e && that_present_e))
          return false;
        if (!this.e.equals(that.e))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(registerEventType_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      registerEventType_result typedOther = (registerEventType_result)other;

      lastComparison = Boolean.valueOf(isSetE()).compareTo(typedOther.isSetE());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetE()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, typedOther.e);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // E
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.e = new AlertServiceException();
              this.e.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetE()) {
        oprot.writeFieldBegin(E_FIELD_DESC);
        this.e.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("registerEventType_result(");
      boolean first = true;

      sb.append("e:");
      if (this.e == null) {
        sb.append("null");
      } else {
        sb.append(this.e);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

}