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




























                                                                   
                                  


                               
                                                              
                                                                                   







                                                                                                                                                                                                                        

                                                                                                                                                                                                                      
                                                                                                                                                                                                                
                                                                                                                                                                                                           











                                                                                                                                     

                                                   
                                                
                                                 






                                                                                                                  

                                                                  
                                                                        

                                                                  























                                                                                      



                                               

                                            

                                         










































                                                                                                     

                                                                    
                                                                 
                                                              
                                    
                                                                                                                                                                           












                                                                                                                                                                                



                                                                                                                                                                                  

                                                                                                                                                                            

                                                                                                                                                                      






































                                                                                                       

                                                                     
                                                               
                                                         















                                          



                                             

                                          

                                       






















































































































                                                                                                               













































                                                                                                               






















                                                                                                            






















                                                                                                         









































                                                                















                                                     







                                                  







                                               





                                              
                           







                                            
                                       

                                   
                                         
 
                       
                               

                                      
                                            
 


                                         


                                     




















                                                                                                              



                                              

                                           

                                        





























































                                                                                                   

















                                                                                                   








                                                                                             








                                                                                       




                         




































                                                                                           




                                                                                     




                                                                               
                           



























































                                                                                                                                



















                                                                                                                                









                                                                                                                          









                                                                                                                    














































                                                                                                     











                                                





                                             





                                          




























































































                                                                                                                                    















                                                                                     







                                                                                     







                                                                                     

































                                                                                                                               









                                                                       




                                                                    




                                                                 
































                                                                                                                              





                                                    


                                                 



                                              














                                                      





                                                         


                                                      


                                                    




                                                                                                                             
                                            





















                                                                    







                                                           



                                                        



                                                      




     
/**
 * Autogenerated by Thrift Compiler (0.9.3)
 *
 * 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 javax.annotation.Generated;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2017-01-24")
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 org.apache.thrift.protocol.TField MAX_LOCATIONS_PER_LECTURE_FIELD_DESC = new org.apache.thrift.protocol.TField("maxLocationsPerLecture", org.apache.thrift.protocol.TType.I32, (short)8);
  private static final org.apache.thrift.protocol.TField ALLOW_LOGIN_BY_DEFAULT_FIELD_DESC = new org.apache.thrift.protocol.TField("allowLoginByDefault", org.apache.thrift.protocol.TType.BOOL, (short)9);

  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
  public int maxLocationsPerLecture; // optional
  public boolean allowLoginByDefault; // 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"),
    MAX_LOCATIONS_PER_LECTURE((short)8, "maxLocationsPerLecture"),
    ALLOW_LOGIN_BY_DEFAULT((short)9, "allowLoginByDefault");

    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;
        case 8: // MAX_LOCATIONS_PER_LECTURE
          return MAX_LOCATIONS_PER_LECTURE;
        case 9: // ALLOW_LOGIN_BY_DEFAULT
          return ALLOW_LOGIN_BY_DEFAULT;
        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 static final int __MAXLOCATIONSPERLECTURE_ISSET_ID = 5;
  private static final int __ALLOWLOGINBYDEFAULT_ISSET_ID = 6;
  private byte __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.MAX_TRANSFERS,_Fields.MAX_CONNECTIONS_PER_TRANSFER,_Fields.MAX_LOCATIONS_PER_LECTURE,_Fields.ALLOW_LOGIN_BY_DEFAULT};
  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)));
    tmpMap.put(_Fields.MAX_LOCATIONS_PER_LECTURE, new org.apache.thrift.meta_data.FieldMetaData("maxLocationsPerLecture", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.ALLOW_LOGIN_BY_DEFAULT, new org.apache.thrift.meta_data.FieldMetaData("allowLoginByDefault", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    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;
    this.maxLocationsPerLecture = other.maxLocationsPerLecture;
    this.allowLoginByDefault = other.allowLoginByDefault;
  }

  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;
    setMaxLocationsPerLectureIsSet(false);
    this.maxLocationsPerLecture = 0;
    setAllowLoginByDefaultIsSet(false);
    this.allowLoginByDefault = false;
  }

  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 int getMaxLocationsPerLecture() {
    return this.maxLocationsPerLecture;
  }

  public SatelliteConfig setMaxLocationsPerLecture(int maxLocationsPerLecture) {
    this.maxLocationsPerLecture = maxLocationsPerLecture;
    setMaxLocationsPerLectureIsSet(true);
    return this;
  }

  public void unsetMaxLocationsPerLecture() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXLOCATIONSPERLECTURE_ISSET_ID);
  }

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

  public void setMaxLocationsPerLectureIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXLOCATIONSPERLECTURE_ISSET_ID, value);
  }

  public boolean isAllowLoginByDefault() {
    return this.allowLoginByDefault;
  }

  public SatelliteConfig setAllowLoginByDefault(boolean allowLoginByDefault) {
    this.allowLoginByDefault = allowLoginByDefault;
    setAllowLoginByDefaultIsSet(true);
    return this;
  }

  public void unsetAllowLoginByDefault() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ALLOWLOGINBYDEFAULT_ISSET_ID);
  }

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

  public void setAllowLoginByDefaultIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ALLOWLOGINBYDEFAULT_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;

    case MAX_LOCATIONS_PER_LECTURE:
      if (value == null) {
        unsetMaxLocationsPerLecture();
      } else {
        setMaxLocationsPerLecture((Integer)value);
      }
      break;

    case ALLOW_LOGIN_BY_DEFAULT:
      if (value == null) {
        unsetAllowLoginByDefault();
      } else {
        setAllowLoginByDefault((Boolean)value);
      }
      break;

    }
  }

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

    case DEFAULT_IMAGE_PERMISSIONS:
      return getDefaultImagePermissions();

    case DEFAULT_LECTURE_PERMISSIONS:
      return getDefaultLecturePermissions();

    case MAX_IMAGE_VALIDITY_DAYS:
      return getMaxImageValidityDays();

    case MAX_LECTURE_VALIDITY_DAYS:
      return getMaxLectureValidityDays();

    case MAX_TRANSFERS:
      return getMaxTransfers();

    case MAX_CONNECTIONS_PER_TRANSFER:
      return getMaxConnectionsPerTransfer();

    case MAX_LOCATIONS_PER_LECTURE:
      return getMaxLocationsPerLecture();

    case ALLOW_LOGIN_BY_DEFAULT:
      return isAllowLoginByDefault();

    }
    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();
    case MAX_LOCATIONS_PER_LECTURE:
      return isSetMaxLocationsPerLecture();
    case ALLOW_LOGIN_BY_DEFAULT:
      return isSetAllowLoginByDefault();
    }
    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;
    }

    boolean this_present_maxLocationsPerLecture = true && this.isSetMaxLocationsPerLecture();
    boolean that_present_maxLocationsPerLecture = true && that.isSetMaxLocationsPerLecture();
    if (this_present_maxLocationsPerLecture || that_present_maxLocationsPerLecture) {
      if (!(this_present_maxLocationsPerLecture && that_present_maxLocationsPerLecture))
        return false;
      if (this.maxLocationsPerLecture != that.maxLocationsPerLecture)
        return false;
    }

    boolean this_present_allowLoginByDefault = true && this.isSetAllowLoginByDefault();
    boolean that_present_allowLoginByDefault = true && that.isSetAllowLoginByDefault();
    if (this_present_allowLoginByDefault || that_present_allowLoginByDefault) {
      if (!(this_present_allowLoginByDefault && that_present_allowLoginByDefault))
        return false;
      if (this.allowLoginByDefault != that.allowLoginByDefault)
        return false;
    }

    return true;
  }

  @Override
  public int hashCode() {
    List<Object> list = new ArrayList<Object>();

    boolean present_pageSize = true;
    list.add(present_pageSize);
    if (present_pageSize)
      list.add(pageSize);

    boolean present_defaultImagePermissions = true && (isSetDefaultImagePermissions());
    list.add(present_defaultImagePermissions);
    if (present_defaultImagePermissions)
      list.add(defaultImagePermissions);

    boolean present_defaultLecturePermissions = true && (isSetDefaultLecturePermissions());
    list.add(present_defaultLecturePermissions);
    if (present_defaultLecturePermissions)
      list.add(defaultLecturePermissions);

    boolean present_maxImageValidityDays = true;
    list.add(present_maxImageValidityDays);
    if (present_maxImageValidityDays)
      list.add(maxImageValidityDays);

    boolean present_maxLectureValidityDays = true;
    list.add(present_maxLectureValidityDays);
    if (present_maxLectureValidityDays)
      list.add(maxLectureValidityDays);

    boolean present_maxTransfers = true && (isSetMaxTransfers());
    list.add(present_maxTransfers);
    if (present_maxTransfers)
      list.add(maxTransfers);

    boolean present_maxConnectionsPerTransfer = true && (isSetMaxConnectionsPerTransfer());
    list.add(present_maxConnectionsPerTransfer);
    if (present_maxConnectionsPerTransfer)
      list.add(maxConnectionsPerTransfer);

    boolean present_maxLocationsPerLecture = true && (isSetMaxLocationsPerLecture());
    list.add(present_maxLocationsPerLecture);
    if (present_maxLocationsPerLecture)
      list.add(maxLocationsPerLecture);

    boolean present_allowLoginByDefault = true && (isSetAllowLoginByDefault());
    list.add(present_allowLoginByDefault);
    if (present_allowLoginByDefault)
      list.add(allowLoginByDefault);

    return list.hashCode();
  }

  @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;
      }
    }
    lastComparison = Boolean.valueOf(isSetMaxLocationsPerLecture()).compareTo(other.isSetMaxLocationsPerLecture());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMaxLocationsPerLecture()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxLocationsPerLecture, other.maxLocationsPerLecture);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetAllowLoginByDefault()).compareTo(other.isSetAllowLoginByDefault());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetAllowLoginByDefault()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.allowLoginByDefault, other.allowLoginByDefault);
      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;
    }
    if (isSetMaxLocationsPerLecture()) {
      if (!first) sb.append(", ");
      sb.append("maxLocationsPerLecture:");
      sb.append(this.maxLocationsPerLecture);
      first = false;
    }
    if (isSetAllowLoginByDefault()) {
      if (!first) sb.append(", ");
      sb.append("allowLoginByDefault:");
      sb.append(this.allowLoginByDefault);
      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;
          case 8: // MAX_LOCATIONS_PER_LECTURE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.maxLocationsPerLecture = iprot.readI32();
              struct.setMaxLocationsPerLectureIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // ALLOW_LOGIN_BY_DEFAULT
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.allowLoginByDefault = iprot.readBool();
              struct.setAllowLoginByDefaultIsSet(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();
      }
      if (struct.isSetMaxLocationsPerLecture()) {
        oprot.writeFieldBegin(MAX_LOCATIONS_PER_LECTURE_FIELD_DESC);
        oprot.writeI32(struct.maxLocationsPerLecture);
        oprot.writeFieldEnd();
      }
      if (struct.isSetAllowLoginByDefault()) {
        oprot.writeFieldBegin(ALLOW_LOGIN_BY_DEFAULT_FIELD_DESC);
        oprot.writeBool(struct.allowLoginByDefault);
        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);
      }
      if (struct.isSetMaxLocationsPerLecture()) {
        optionals.set(7);
      }
      if (struct.isSetAllowLoginByDefault()) {
        optionals.set(8);
      }
      oprot.writeBitSet(optionals, 9);
      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);
      }
      if (struct.isSetMaxLocationsPerLecture()) {
        oprot.writeI32(struct.maxLocationsPerLecture);
      }
      if (struct.isSetAllowLoginByDefault()) {
        oprot.writeBool(struct.allowLoginByDefault);
      }
    }

    @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(9);
      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);
      }
      if (incoming.get(7)) {
        struct.maxLocationsPerLecture = iprot.readI32();
        struct.setMaxLocationsPerLectureIsSet(true);
      }
      if (incoming.get(8)) {
        struct.allowLoginByDefault = iprot.readBool();
        struct.setAllowLoginByDefaultIsSet(true);
      }
    }
  }

}