summaryrefslogblamecommitdiffstats
path: root/src/main/java/org/openslx/bwlp/thrift/iface/SatelliteConfig.java
blob: 2fa592973619bcf93a5df9b13fa1ccfaf0600e76 (plain) (tree)









































                                                                                                                                                                                                                        

                                                                                                                                                                                                                      











                                                                                                                                     

                                                   






                                                                                                                  


                                                                        























                                                                                      



                                               










































                                                                                                     

                                                                    
                                    
                                                                                             












                                                                                                                                                                                



                                                                                                                                                                                  






































                                                                                                       

                                                                     















                                          



                                             






















































































































                                                                                                               













































                                                                                                               









































                                                                















                                                     



















                                                          





                                                             




















                                                                                                              



                                              





























































                                                                                                   

















                                                                                                   

































































                                                                                                                                



















                                                                                                                                














































                                                                                                     











                                                




























































































                                                                                                                                    















                                                                                     

































                                                                                                                               









                                                                       
































                                                                                                                              






                                                    














                                                      





                                                         




                                                                                                                             
                                            





















                                                                    







                                                           




     
/**
 * Autogenerated by Thrift Compiler (0.9.1)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
package org.openslx.bwlp.thrift.iface;

import org.apache.thrift.scheme.IScheme;
import org.apache.thrift.scheme.SchemeFactory;
import org.apache.thrift.scheme.StandardScheme;

import org.apache.thrift.scheme.TupleScheme;
import org.apache.thrift.protocol.TTupleProtocol;
import org.apache.thrift.protocol.TProtocolException;
import org.apache.thrift.EncodingUtils;
import org.apache.thrift.TException;
import org.apache.thrift.async.AsyncMethodCallback;
import org.apache.thrift.server.AbstractNonblockingServer.*;
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 SatelliteConfig implements org.apache.thrift.TBase<SatelliteConfig, SatelliteConfig._Fields>, java.io.Serializable, Cloneable, Comparable<SatelliteConfig> {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SatelliteConfig");

  private static final org.apache.thrift.protocol.TField PAGE_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("pageSize", org.apache.thrift.protocol.TType.I32, (short)1);
  private static final org.apache.thrift.protocol.TField DEFAULT_IMAGE_PERMISSIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultImagePermissions", org.apache.thrift.protocol.TType.STRUCT, (short)2);
  private static final org.apache.thrift.protocol.TField DEFAULT_LECTURE_PERMISSIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultLecturePermissions", org.apache.thrift.protocol.TType.STRUCT, (short)3);
  private static final org.apache.thrift.protocol.TField MAX_IMAGE_VALIDITY_DAYS_FIELD_DESC = new org.apache.thrift.protocol.TField("maxImageValidityDays", org.apache.thrift.protocol.TType.I32, (short)4);
  private static final org.apache.thrift.protocol.TField MAX_LECTURE_VALIDITY_DAYS_FIELD_DESC = new org.apache.thrift.protocol.TField("maxLectureValidityDays", org.apache.thrift.protocol.TType.I32, (short)5);
  private static final org.apache.thrift.protocol.TField MAX_TRANSFERS_FIELD_DESC = new org.apache.thrift.protocol.TField("maxTransfers", org.apache.thrift.protocol.TType.I32, (short)6);
  private static final org.apache.thrift.protocol.TField MAX_CONNECTIONS_PER_TRANSFER_FIELD_DESC = new org.apache.thrift.protocol.TField("maxConnectionsPerTransfer", org.apache.thrift.protocol.TType.I32, (short)7);

  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
  static {
    schemes.put(StandardScheme.class, new SatelliteConfigStandardSchemeFactory());
    schemes.put(TupleScheme.class, new SatelliteConfigTupleSchemeFactory());
  }

  public int pageSize; // required
  public ImagePermissions defaultImagePermissions; // required
  public LecturePermissions defaultLecturePermissions; // required
  public int maxImageValidityDays; // required
  public int maxLectureValidityDays; // required
  public int maxTransfers; // optional
  public int maxConnectionsPerTransfer; // optional

  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
    PAGE_SIZE((short)1, "pageSize"),
    DEFAULT_IMAGE_PERMISSIONS((short)2, "defaultImagePermissions"),
    DEFAULT_LECTURE_PERMISSIONS((short)3, "defaultLecturePermissions"),
    MAX_IMAGE_VALIDITY_DAYS((short)4, "maxImageValidityDays"),
    MAX_LECTURE_VALIDITY_DAYS((short)5, "maxLectureValidityDays"),
    MAX_TRANSFERS((short)6, "maxTransfers"),
    MAX_CONNECTIONS_PER_TRANSFER((short)7, "maxConnectionsPerTransfer");

    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: // PAGE_SIZE
          return PAGE_SIZE;
        case 2: // DEFAULT_IMAGE_PERMISSIONS
          return DEFAULT_IMAGE_PERMISSIONS;
        case 3: // DEFAULT_LECTURE_PERMISSIONS
          return DEFAULT_LECTURE_PERMISSIONS;
        case 4: // MAX_IMAGE_VALIDITY_DAYS
          return MAX_IMAGE_VALIDITY_DAYS;
        case 5: // MAX_LECTURE_VALIDITY_DAYS
          return MAX_LECTURE_VALIDITY_DAYS;
        case 6: // MAX_TRANSFERS
          return MAX_TRANSFERS;
        case 7: // MAX_CONNECTIONS_PER_TRANSFER
          return MAX_CONNECTIONS_PER_TRANSFER;
        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 __PAGESIZE_ISSET_ID = 0;
  private static final int __MAXIMAGEVALIDITYDAYS_ISSET_ID = 1;
  private static final int __MAXLECTUREVALIDITYDAYS_ISSET_ID = 2;
  private static final int __MAXTRANSFERS_ISSET_ID = 3;
  private static final int __MAXCONNECTIONSPERTRANSFER_ISSET_ID = 4;
  private byte __isset_bitfield = 0;
  private _Fields optionals[] = {_Fields.MAX_TRANSFERS,_Fields.MAX_CONNECTIONS_PER_TRANSFER};
  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.PAGE_SIZE, new org.apache.thrift.meta_data.FieldMetaData("pageSize", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.DEFAULT_IMAGE_PERMISSIONS, new org.apache.thrift.meta_data.FieldMetaData("defaultImagePermissions", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ImagePermissions.class)));
    tmpMap.put(_Fields.DEFAULT_LECTURE_PERMISSIONS, new org.apache.thrift.meta_data.FieldMetaData("defaultLecturePermissions", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, LecturePermissions.class)));
    tmpMap.put(_Fields.MAX_IMAGE_VALIDITY_DAYS, new org.apache.thrift.meta_data.FieldMetaData("maxImageValidityDays", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.MAX_LECTURE_VALIDITY_DAYS, new org.apache.thrift.meta_data.FieldMetaData("maxLectureValidityDays", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.MAX_TRANSFERS, new org.apache.thrift.meta_data.FieldMetaData("maxTransfers", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.MAX_CONNECTIONS_PER_TRANSFER, new org.apache.thrift.meta_data.FieldMetaData("maxConnectionsPerTransfer", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    metaDataMap = Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(SatelliteConfig.class, metaDataMap);
  }

  public SatelliteConfig() {
  }

  public SatelliteConfig(
    int pageSize,
    ImagePermissions defaultImagePermissions,
    LecturePermissions defaultLecturePermissions,
    int maxImageValidityDays,
    int maxLectureValidityDays)
  {
    this();
    this.pageSize = pageSize;
    setPageSizeIsSet(true);
    this.defaultImagePermissions = defaultImagePermissions;
    this.defaultLecturePermissions = defaultLecturePermissions;
    this.maxImageValidityDays = maxImageValidityDays;
    setMaxImageValidityDaysIsSet(true);
    this.maxLectureValidityDays = maxLectureValidityDays;
    setMaxLectureValidityDaysIsSet(true);
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public SatelliteConfig(SatelliteConfig other) {
    __isset_bitfield = other.__isset_bitfield;
    this.pageSize = other.pageSize;
    if (other.isSetDefaultImagePermissions()) {
      this.defaultImagePermissions = new ImagePermissions(other.defaultImagePermissions);
    }
    if (other.isSetDefaultLecturePermissions()) {
      this.defaultLecturePermissions = new LecturePermissions(other.defaultLecturePermissions);
    }
    this.maxImageValidityDays = other.maxImageValidityDays;
    this.maxLectureValidityDays = other.maxLectureValidityDays;
    this.maxTransfers = other.maxTransfers;
    this.maxConnectionsPerTransfer = other.maxConnectionsPerTransfer;
  }

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

  @Override
  public void clear() {
    setPageSizeIsSet(false);
    this.pageSize = 0;
    this.defaultImagePermissions = null;
    this.defaultLecturePermissions = null;
    setMaxImageValidityDaysIsSet(false);
    this.maxImageValidityDays = 0;
    setMaxLectureValidityDaysIsSet(false);
    this.maxLectureValidityDays = 0;
    setMaxTransfersIsSet(false);
    this.maxTransfers = 0;
    setMaxConnectionsPerTransferIsSet(false);
    this.maxConnectionsPerTransfer = 0;
  }

  public int getPageSize() {
    return this.pageSize;
  }

  public SatelliteConfig setPageSize(int pageSize) {
    this.pageSize = pageSize;
    setPageSizeIsSet(true);
    return this;
  }

  public void unsetPageSize() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PAGESIZE_ISSET_ID);
  }

  /** Returns true if field pageSize is set (has been assigned a value) and false otherwise */
  public boolean isSetPageSize() {
    return EncodingUtils.testBit(__isset_bitfield, __PAGESIZE_ISSET_ID);
  }

  public void setPageSizeIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PAGESIZE_ISSET_ID, value);
  }

  public ImagePermissions getDefaultImagePermissions() {
    return this.defaultImagePermissions;
  }

  public SatelliteConfig setDefaultImagePermissions(ImagePermissions defaultImagePermissions) {
    this.defaultImagePermissions = defaultImagePermissions;
    return this;
  }

  public void unsetDefaultImagePermissions() {
    this.defaultImagePermissions = null;
  }

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

  public void setDefaultImagePermissionsIsSet(boolean value) {
    if (!value) {
      this.defaultImagePermissions = null;
    }
  }

  public LecturePermissions getDefaultLecturePermissions() {
    return this.defaultLecturePermissions;
  }

  public SatelliteConfig setDefaultLecturePermissions(LecturePermissions defaultLecturePermissions) {
    this.defaultLecturePermissions = defaultLecturePermissions;
    return this;
  }

  public void unsetDefaultLecturePermissions() {
    this.defaultLecturePermissions = null;
  }

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

  public void setDefaultLecturePermissionsIsSet(boolean value) {
    if (!value) {
      this.defaultLecturePermissions = null;
    }
  }

  public int getMaxImageValidityDays() {
    return this.maxImageValidityDays;
  }

  public SatelliteConfig setMaxImageValidityDays(int maxImageValidityDays) {
    this.maxImageValidityDays = maxImageValidityDays;
    setMaxImageValidityDaysIsSet(true);
    return this;
  }

  public void unsetMaxImageValidityDays() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXIMAGEVALIDITYDAYS_ISSET_ID);
  }

  /** Returns true if field maxImageValidityDays is set (has been assigned a value) and false otherwise */
  public boolean isSetMaxImageValidityDays() {
    return EncodingUtils.testBit(__isset_bitfield, __MAXIMAGEVALIDITYDAYS_ISSET_ID);
  }

  public void setMaxImageValidityDaysIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXIMAGEVALIDITYDAYS_ISSET_ID, value);
  }

  public int getMaxLectureValidityDays() {
    return this.maxLectureValidityDays;
  }

  public SatelliteConfig setMaxLectureValidityDays(int maxLectureValidityDays) {
    this.maxLectureValidityDays = maxLectureValidityDays;
    setMaxLectureValidityDaysIsSet(true);
    return this;
  }

  public void unsetMaxLectureValidityDays() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXLECTUREVALIDITYDAYS_ISSET_ID);
  }

  /** Returns true if field maxLectureValidityDays is set (has been assigned a value) and false otherwise */
  public boolean isSetMaxLectureValidityDays() {
    return EncodingUtils.testBit(__isset_bitfield, __MAXLECTUREVALIDITYDAYS_ISSET_ID);
  }

  public void setMaxLectureValidityDaysIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXLECTUREVALIDITYDAYS_ISSET_ID, value);
  }

  public int getMaxTransfers() {
    return this.maxTransfers;
  }

  public SatelliteConfig setMaxTransfers(int maxTransfers) {
    this.maxTransfers = maxTransfers;
    setMaxTransfersIsSet(true);
    return this;
  }

  public void unsetMaxTransfers() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXTRANSFERS_ISSET_ID);
  }

  /** Returns true if field maxTransfers is set (has been assigned a value) and false otherwise */
  public boolean isSetMaxTransfers() {
    return EncodingUtils.testBit(__isset_bitfield, __MAXTRANSFERS_ISSET_ID);
  }

  public void setMaxTransfersIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXTRANSFERS_ISSET_ID, value);
  }

  public int getMaxConnectionsPerTransfer() {
    return this.maxConnectionsPerTransfer;
  }

  public SatelliteConfig setMaxConnectionsPerTransfer(int maxConnectionsPerTransfer) {
    this.maxConnectionsPerTransfer = maxConnectionsPerTransfer;
    setMaxConnectionsPerTransferIsSet(true);
    return this;
  }

  public void unsetMaxConnectionsPerTransfer() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXCONNECTIONSPERTRANSFER_ISSET_ID);
  }

  /** Returns true if field maxConnectionsPerTransfer is set (has been assigned a value) and false otherwise */
  public boolean isSetMaxConnectionsPerTransfer() {
    return EncodingUtils.testBit(__isset_bitfield, __MAXCONNECTIONSPERTRANSFER_ISSET_ID);
  }

  public void setMaxConnectionsPerTransferIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXCONNECTIONSPERTRANSFER_ISSET_ID, value);
  }

  public void setFieldValue(_Fields field, Object value) {
    switch (field) {
    case PAGE_SIZE:
      if (value == null) {
        unsetPageSize();
      } else {
        setPageSize((Integer)value);
      }
      break;

    case DEFAULT_IMAGE_PERMISSIONS:
      if (value == null) {
        unsetDefaultImagePermissions();
      } else {
        setDefaultImagePermissions((ImagePermissions)value);
      }
      break;

    case DEFAULT_LECTURE_PERMISSIONS:
      if (value == null) {
        unsetDefaultLecturePermissions();
      } else {
        setDefaultLecturePermissions((LecturePermissions)value);
      }
      break;

    case MAX_IMAGE_VALIDITY_DAYS:
      if (value == null) {
        unsetMaxImageValidityDays();
      } else {
        setMaxImageValidityDays((Integer)value);
      }
      break;

    case MAX_LECTURE_VALIDITY_DAYS:
      if (value == null) {
        unsetMaxLectureValidityDays();
      } else {
        setMaxLectureValidityDays((Integer)value);
      }
      break;

    case MAX_TRANSFERS:
      if (value == null) {
        unsetMaxTransfers();
      } else {
        setMaxTransfers((Integer)value);
      }
      break;

    case MAX_CONNECTIONS_PER_TRANSFER:
      if (value == null) {
        unsetMaxConnectionsPerTransfer();
      } else {
        setMaxConnectionsPerTransfer((Integer)value);
      }
      break;

    }
  }

  public Object getFieldValue(_Fields field) {
    switch (field) {
    case PAGE_SIZE:
      return Integer.valueOf(getPageSize());

    case DEFAULT_IMAGE_PERMISSIONS:
      return getDefaultImagePermissions();

    case DEFAULT_LECTURE_PERMISSIONS:
      return getDefaultLecturePermissions();

    case MAX_IMAGE_VALIDITY_DAYS:
      return Integer.valueOf(getMaxImageValidityDays());

    case MAX_LECTURE_VALIDITY_DAYS:
      return Integer.valueOf(getMaxLectureValidityDays());

    case MAX_TRANSFERS:
      return Integer.valueOf(getMaxTransfers());

    case MAX_CONNECTIONS_PER_TRANSFER:
      return Integer.valueOf(getMaxConnectionsPerTransfer());

    }
    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 PAGE_SIZE:
      return isSetPageSize();
    case DEFAULT_IMAGE_PERMISSIONS:
      return isSetDefaultImagePermissions();
    case DEFAULT_LECTURE_PERMISSIONS:
      return isSetDefaultLecturePermissions();
    case MAX_IMAGE_VALIDITY_DAYS:
      return isSetMaxImageValidityDays();
    case MAX_LECTURE_VALIDITY_DAYS:
      return isSetMaxLectureValidityDays();
    case MAX_TRANSFERS:
      return isSetMaxTransfers();
    case MAX_CONNECTIONS_PER_TRANSFER:
      return isSetMaxConnectionsPerTransfer();
    }
    throw new IllegalStateException();
  }

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

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

    boolean this_present_pageSize = true;
    boolean that_present_pageSize = true;
    if (this_present_pageSize || that_present_pageSize) {
      if (!(this_present_pageSize && that_present_pageSize))
        return false;
      if (this.pageSize != that.pageSize)
        return false;
    }

    boolean this_present_defaultImagePermissions = true && this.isSetDefaultImagePermissions();
    boolean that_present_defaultImagePermissions = true && that.isSetDefaultImagePermissions();
    if (this_present_defaultImagePermissions || that_present_defaultImagePermissions) {
      if (!(this_present_defaultImagePermissions && that_present_defaultImagePermissions))
        return false;
      if (!this.defaultImagePermissions.equals(that.defaultImagePermissions))
        return false;
    }

    boolean this_present_defaultLecturePermissions = true && this.isSetDefaultLecturePermissions();
    boolean that_present_defaultLecturePermissions = true && that.isSetDefaultLecturePermissions();
    if (this_present_defaultLecturePermissions || that_present_defaultLecturePermissions) {
      if (!(this_present_defaultLecturePermissions && that_present_defaultLecturePermissions))
        return false;
      if (!this.defaultLecturePermissions.equals(that.defaultLecturePermissions))
        return false;
    }

    boolean this_present_maxImageValidityDays = true;
    boolean that_present_maxImageValidityDays = true;
    if (this_present_maxImageValidityDays || that_present_maxImageValidityDays) {
      if (!(this_present_maxImageValidityDays && that_present_maxImageValidityDays))
        return false;
      if (this.maxImageValidityDays != that.maxImageValidityDays)
        return false;
    }

    boolean this_present_maxLectureValidityDays = true;
    boolean that_present_maxLectureValidityDays = true;
    if (this_present_maxLectureValidityDays || that_present_maxLectureValidityDays) {
      if (!(this_present_maxLectureValidityDays && that_present_maxLectureValidityDays))
        return false;
      if (this.maxLectureValidityDays != that.maxLectureValidityDays)
        return false;
    }

    boolean this_present_maxTransfers = true && this.isSetMaxTransfers();
    boolean that_present_maxTransfers = true && that.isSetMaxTransfers();
    if (this_present_maxTransfers || that_present_maxTransfers) {
      if (!(this_present_maxTransfers && that_present_maxTransfers))
        return false;
      if (this.maxTransfers != that.maxTransfers)
        return false;
    }

    boolean this_present_maxConnectionsPerTransfer = true && this.isSetMaxConnectionsPerTransfer();
    boolean that_present_maxConnectionsPerTransfer = true && that.isSetMaxConnectionsPerTransfer();
    if (this_present_maxConnectionsPerTransfer || that_present_maxConnectionsPerTransfer) {
      if (!(this_present_maxConnectionsPerTransfer && that_present_maxConnectionsPerTransfer))
        return false;
      if (this.maxConnectionsPerTransfer != that.maxConnectionsPerTransfer)
        return false;
    }

    return true;
  }

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

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

    int lastComparison = 0;

    lastComparison = Boolean.valueOf(isSetPageSize()).compareTo(other.isSetPageSize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPageSize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pageSize, other.pageSize);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetDefaultImagePermissions()).compareTo(other.isSetDefaultImagePermissions());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDefaultImagePermissions()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultImagePermissions, other.defaultImagePermissions);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetDefaultLecturePermissions()).compareTo(other.isSetDefaultLecturePermissions());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDefaultLecturePermissions()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultLecturePermissions, other.defaultLecturePermissions);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetMaxImageValidityDays()).compareTo(other.isSetMaxImageValidityDays());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMaxImageValidityDays()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxImageValidityDays, other.maxImageValidityDays);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetMaxLectureValidityDays()).compareTo(other.isSetMaxLectureValidityDays());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMaxLectureValidityDays()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxLectureValidityDays, other.maxLectureValidityDays);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetMaxTransfers()).compareTo(other.isSetMaxTransfers());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMaxTransfers()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxTransfers, other.maxTransfers);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetMaxConnectionsPerTransfer()).compareTo(other.isSetMaxConnectionsPerTransfer());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMaxConnectionsPerTransfer()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxConnectionsPerTransfer, other.maxConnectionsPerTransfer);
      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 {
    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
  }

  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
  }

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

    sb.append("pageSize:");
    sb.append(this.pageSize);
    first = false;
    if (!first) sb.append(", ");
    sb.append("defaultImagePermissions:");
    if (this.defaultImagePermissions == null) {
      sb.append("null");
    } else {
      sb.append(this.defaultImagePermissions);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("defaultLecturePermissions:");
    if (this.defaultLecturePermissions == null) {
      sb.append("null");
    } else {
      sb.append(this.defaultLecturePermissions);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("maxImageValidityDays:");
    sb.append(this.maxImageValidityDays);
    first = false;
    if (!first) sb.append(", ");
    sb.append("maxLectureValidityDays:");
    sb.append(this.maxLectureValidityDays);
    first = false;
    if (isSetMaxTransfers()) {
      if (!first) sb.append(", ");
      sb.append("maxTransfers:");
      sb.append(this.maxTransfers);
      first = false;
    }
    if (isSetMaxConnectionsPerTransfer()) {
      if (!first) sb.append(", ");
      sb.append("maxConnectionsPerTransfer:");
      sb.append(this.maxConnectionsPerTransfer);
      first = false;
    }
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws org.apache.thrift.TException {
    // check for required fields
    // check for sub-struct validity
    if (defaultImagePermissions != null) {
      defaultImagePermissions.validate();
    }
    if (defaultLecturePermissions != null) {
      defaultLecturePermissions.validate();
    }
  }

  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_bitfield = 0;
      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);
    }
  }

  private static class SatelliteConfigStandardSchemeFactory implements SchemeFactory {
    public SatelliteConfigStandardScheme getScheme() {
      return new SatelliteConfigStandardScheme();
    }
  }

  private static class SatelliteConfigStandardScheme extends StandardScheme<SatelliteConfig> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, SatelliteConfig struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField schemeField;
      iprot.readStructBegin();
      while (true)
      {
        schemeField = iprot.readFieldBegin();
        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (schemeField.id) {
          case 1: // PAGE_SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.pageSize = iprot.readI32();
              struct.setPageSizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // DEFAULT_IMAGE_PERMISSIONS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.defaultImagePermissions = new ImagePermissions();
              struct.defaultImagePermissions.read(iprot);
              struct.setDefaultImagePermissionsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // DEFAULT_LECTURE_PERMISSIONS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.defaultLecturePermissions = new LecturePermissions();
              struct.defaultLecturePermissions.read(iprot);
              struct.setDefaultLecturePermissionsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // MAX_IMAGE_VALIDITY_DAYS
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.maxImageValidityDays = iprot.readI32();
              struct.setMaxImageValidityDaysIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // MAX_LECTURE_VALIDITY_DAYS
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.maxLectureValidityDays = iprot.readI32();
              struct.setMaxLectureValidityDaysIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // MAX_TRANSFERS
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.maxTransfers = iprot.readI32();
              struct.setMaxTransfersIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // MAX_CONNECTIONS_PER_TRANSFER
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.maxConnectionsPerTransfer = iprot.readI32();
              struct.setMaxConnectionsPerTransferIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();

      // check for required fields of primitive type, which can't be checked in the validate method
      struct.validate();
    }

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

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PAGE_SIZE_FIELD_DESC);
      oprot.writeI32(struct.pageSize);
      oprot.writeFieldEnd();
      if (struct.defaultImagePermissions != null) {
        oprot.writeFieldBegin(DEFAULT_IMAGE_PERMISSIONS_FIELD_DESC);
        struct.defaultImagePermissions.write(oprot);
        oprot.writeFieldEnd();
      }
      if (struct.defaultLecturePermissions != null) {
        oprot.writeFieldBegin(DEFAULT_LECTURE_PERMISSIONS_FIELD_DESC);
        struct.defaultLecturePermissions.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(MAX_IMAGE_VALIDITY_DAYS_FIELD_DESC);
      oprot.writeI32(struct.maxImageValidityDays);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(MAX_LECTURE_VALIDITY_DAYS_FIELD_DESC);
      oprot.writeI32(struct.maxLectureValidityDays);
      oprot.writeFieldEnd();
      if (struct.isSetMaxTransfers()) {
        oprot.writeFieldBegin(MAX_TRANSFERS_FIELD_DESC);
        oprot.writeI32(struct.maxTransfers);
        oprot.writeFieldEnd();
      }
      if (struct.isSetMaxConnectionsPerTransfer()) {
        oprot.writeFieldBegin(MAX_CONNECTIONS_PER_TRANSFER_FIELD_DESC);
        oprot.writeI32(struct.maxConnectionsPerTransfer);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

  private static class SatelliteConfigTupleSchemeFactory implements SchemeFactory {
    public SatelliteConfigTupleScheme getScheme() {
      return new SatelliteConfigTupleScheme();
    }
  }

  private static class SatelliteConfigTupleScheme extends TupleScheme<SatelliteConfig> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, SatelliteConfig struct) throws org.apache.thrift.TException {
      TTupleProtocol oprot = (TTupleProtocol) prot;
      BitSet optionals = new BitSet();
      if (struct.isSetPageSize()) {
        optionals.set(0);
      }
      if (struct.isSetDefaultImagePermissions()) {
        optionals.set(1);
      }
      if (struct.isSetDefaultLecturePermissions()) {
        optionals.set(2);
      }
      if (struct.isSetMaxImageValidityDays()) {
        optionals.set(3);
      }
      if (struct.isSetMaxLectureValidityDays()) {
        optionals.set(4);
      }
      if (struct.isSetMaxTransfers()) {
        optionals.set(5);
      }
      if (struct.isSetMaxConnectionsPerTransfer()) {
        optionals.set(6);
      }
      oprot.writeBitSet(optionals, 7);
      if (struct.isSetPageSize()) {
        oprot.writeI32(struct.pageSize);
      }
      if (struct.isSetDefaultImagePermissions()) {
        struct.defaultImagePermissions.write(oprot);
      }
      if (struct.isSetDefaultLecturePermissions()) {
        struct.defaultLecturePermissions.write(oprot);
      }
      if (struct.isSetMaxImageValidityDays()) {
        oprot.writeI32(struct.maxImageValidityDays);
      }
      if (struct.isSetMaxLectureValidityDays()) {
        oprot.writeI32(struct.maxLectureValidityDays);
      }
      if (struct.isSetMaxTransfers()) {
        oprot.writeI32(struct.maxTransfers);
      }
      if (struct.isSetMaxConnectionsPerTransfer()) {
        oprot.writeI32(struct.maxConnectionsPerTransfer);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, SatelliteConfig struct) throws org.apache.thrift.TException {
      TTupleProtocol iprot = (TTupleProtocol) prot;
      BitSet incoming = iprot.readBitSet(7);
      if (incoming.get(0)) {
        struct.pageSize = iprot.readI32();
        struct.setPageSizeIsSet(true);
      }
      if (incoming.get(1)) {
        struct.defaultImagePermissions = new ImagePermissions();
        struct.defaultImagePermissions.read(iprot);
        struct.setDefaultImagePermissionsIsSet(true);
      }
      if (incoming.get(2)) {
        struct.defaultLecturePermissions = new LecturePermissions();
        struct.defaultLecturePermissions.read(iprot);
        struct.setDefaultLecturePermissionsIsSet(true);
      }
      if (incoming.get(3)) {
        struct.maxImageValidityDays = iprot.readI32();
        struct.setMaxImageValidityDaysIsSet(true);
      }
      if (incoming.get(4)) {
        struct.maxLectureValidityDays = iprot.readI32();
        struct.setMaxLectureValidityDaysIsSet(true);
      }
      if (incoming.get(5)) {
        struct.maxTransfers = iprot.readI32();
        struct.setMaxTransfersIsSet(true);
      }
      if (incoming.get(6)) {
        struct.maxConnectionsPerTransfer = iprot.readI32();
        struct.setMaxConnectionsPerTransferIsSet(true);
      }
    }
  }

}