summaryrefslogblamecommitdiffstats
path: root/src/main/java/org/openslx/bwlp/thrift/iface/SatelliteConfig.java
blob: b412de94126aad66e5aef2cf7c89c48ed013f7a0 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
   
                                            





                                                                   

                                                                                                     







                                                                                                                                                                                                                        

                                                                                                                                                                                                                      
                                                                                                                                                                                                                
                                                                                                                                                                                                           
                                                                                                                                                                                                
                                                                                                                                                                                                             
 

                                                                                                                                   

                                  

                                                                                                         

                                                

                                                   
                                                
                                                 



                 
                                                                                   
                                                  






                                                                                                                  

                                                                  
                                                                        
                                                                  




                                                            

                                                              
 
                                                                                                                              

            
                                                                    






                                                                                
                                          











                                                       



                                               

                                            

                                         

                                    

                                          










                                                                            
                                                                                                               





                                                                             

                                                             



                                  
                                              
 
                                                         







                                     
                                            







                                                                 

                                                                    
                                                                 
                                                              
                                                               
                                    
                                                                                                                                                                                                                                   
                                                                                                    
          
                                                                                                                                                                        









                                                                                                                                                                                



                                                                                                                                                                                  

                                                                                                                                                                            

                                                                                                                                                                      

                                                                                                                                                           

                                                                                                                                                                       
                                                                





































                                                                                                       

                                                                     
                                                               
                                                         


                                                 
                                                           















                                          



                                             

                                          

                                       
                               

                                        












                                                    
                                                                                                       



                                                                                              
                                                                                          


                                               
                                                                                                            

   
                                        



                                                        
                                                                                                                                      


















                                                                                                             
                                        



                                                            
                                                                                                                                            





























                                                                                                               
                                                                                                                   



                                                                                                          
                                                                                                      


                                                           
                                                                                                                        












                                                                                
                                                                                                                     



                                                                                                            
                                                                                                        


                                                             
                                                                                                                          

   










                                                            
                                                                                                           



                                                                                                  
                                                                                              


                                                   
                                                                                                                












                                                                                      
                                                                                                                        



                                                                                                               
                                                                                                           


                                                                
                                                                                                                             

   










                                                                                
                                                                                                                     



                                                                                                            
                                                                                                        


                                                             
                                                                                                                          

   










                                                                              
                                                                                                                  



                                                                                                         
                                                                                                     


                                                          
                                                                                                                       

   



                 
                                        







                                      
                                                                                                           


















                                                                                                    










                                                                                
                                                                                                                   



                                                                                                          
                                                                                                      


                                                           
                                                                                                                        

   
                                                                                                           




                          
                                              






















                                                                
                                                          






                                      
                                                            


            



                            
                                                  






                                         
                                                               


            



                                      
                                                            


            



                                   
                                                         


            







                                          



                                    
                                                          


            


     

                                                        

                    
                           







                                            
                                       

                                   
                                         
 
                       
                               

                                      
                                            
 


                                         


                                     


                                 


                                      
     
                                                




                                                                                                              
                                                     












                                              



                                              

                                           

                                        

                                   

                                         
     
                                                


           
                                                







                                                

                     













































                                                                                                   

















                                                                                                   








                                                                                             








                                                                                       








                                                                             








                                                                                         




                         








































                                                                                        









                                                                        
                                                                                       








                                                                                              
                                                                                                                     








                                                                                                                            
                                                                                                                         








                                                                                                                                
                                                                                                               








                                                                                                                      
                                                                                                                   








                                                                                                                          
                                                                                               








                                                                                                      
                                                                                                                         








                                                                                                                                
                                                                                                                   








                                                                                                                          
                                                                                                             








                                                                                                                    
                                                                                                   








                                                                                                          
                                                                                                               








                                                                                                                      


             
                                        




                                                                                                    
                                    


                                                                                                     
                                     


           

                                                                                 




























                                                 











                                                





                                             





                                          









                                        





                                           






















                                                                                                                      
                                                                                                                      








                                                                                                                                    
                                                                                                               




                                                      
                                                                                                                       




















































                                                                                                                              















                                                                                     







                                                                                     







                                                                                     







                                                                                                         







                                                                                     

































                                                                                                                               









                                                                       




                                                                    




                                                                 






                                                             




                                                                 





                             
                                                                                                            




                                                   
                                                                                                                 


                                                                                                                              

                                                                                                         














                                                    





                                                    


                                                 


                                              


                                         



                                               














                                                      





                                                         


                                                      


                                                    


                                                         


                                                     



                                                                                                                             

                                                                                                         





















                                                                    







                                                           



                                                        



                                                      



                                                                                                   



                                                       


     


                                                                                                                                                  

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

@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.15.0)", date = "2021-12-17")
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 org.apache.thrift.protocol.TField SERVER_SIDE_COPY_FIELD_DESC = new org.apache.thrift.protocol.TField("serverSideCopy", org.apache.thrift.protocol.TType.I32, (short)10);
  private static final org.apache.thrift.protocol.TField ALLOW_STUDENT_DOWNLOAD_FIELD_DESC = new org.apache.thrift.protocol.TField("allowStudentDownload", org.apache.thrift.protocol.TType.BOOL, (short)11);

  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new SatelliteConfigStandardSchemeFactory();
  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new SatelliteConfigTupleSchemeFactory();

  public int pageSize; // required
  public @org.apache.thrift.annotation.Nullable ImagePermissions defaultImagePermissions; // required
  public @org.apache.thrift.annotation.Nullable 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
  /**
   * 
   * @see SscMode
   */
  public @org.apache.thrift.annotation.Nullable SscMode serverSideCopy; // optional
  public boolean allowStudentDownload; // 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"),
    /**
     * 
     * @see SscMode
     */
    SERVER_SIDE_COPY((short)10, "serverSideCopy"),
    ALLOW_STUDENT_DOWNLOAD((short)11, "allowStudentDownload");

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

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

    /**
     * Find the _Fields constant that matches fieldId, or null if its not found.
     */
    @org.apache.thrift.annotation.Nullable
    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;
        case 10: // SERVER_SIDE_COPY
          return SERVER_SIDE_COPY;
        case 11: // ALLOW_STUDENT_DOWNLOAD
          return ALLOW_STUDENT_DOWNLOAD;
        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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
      return fields;
    }

    /**
     * Find the _Fields constant that matches name, or null if its not found.
     */
    @org.apache.thrift.annotation.Nullable
    public static _Fields findByName(java.lang.String name) {
      return byName.get(name);
    }

    private final short _thriftId;
    private final java.lang.String _fieldName;

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

    public short getThriftFieldId() {
      return _thriftId;
    }

    public java.lang.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 static final int __ALLOWSTUDENTDOWNLOAD_ISSET_ID = 7;
  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,_Fields.SERVER_SIDE_COPY,_Fields.ALLOW_STUDENT_DOWNLOAD};
  public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
  static {
    java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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)));
    tmpMap.put(_Fields.SERVER_SIDE_COPY, new org.apache.thrift.meta_data.FieldMetaData("serverSideCopy", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, SscMode.class)));
    tmpMap.put(_Fields.ALLOW_STUDENT_DOWNLOAD, new org.apache.thrift.meta_data.FieldMetaData("allowStudentDownload", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    metaDataMap = java.util.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;
    if (other.isSetServerSideCopy()) {
      this.serverSideCopy = other.serverSideCopy;
    }
    this.allowStudentDownload = other.allowStudentDownload;
  }

  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;
    this.serverSideCopy = null;
    setAllowStudentDownloadIsSet(false);
    this.allowStudentDownload = false;
  }

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

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

  public void unsetPageSize() {
    __isset_bitfield = org.apache.thrift.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 org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __PAGESIZE_ISSET_ID);
  }

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

  @org.apache.thrift.annotation.Nullable
  public ImagePermissions getDefaultImagePermissions() {
    return this.defaultImagePermissions;
  }

  public SatelliteConfig setDefaultImagePermissions(@org.apache.thrift.annotation.Nullable 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;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public LecturePermissions getDefaultLecturePermissions() {
    return this.defaultLecturePermissions;
  }

  public SatelliteConfig setDefaultLecturePermissions(@org.apache.thrift.annotation.Nullable 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 = org.apache.thrift.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 org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __MAXIMAGEVALIDITYDAYS_ISSET_ID);
  }

  public void setMaxImageValidityDaysIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.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 = org.apache.thrift.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 org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __MAXLECTUREVALIDITYDAYS_ISSET_ID);
  }

  public void setMaxLectureValidityDaysIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.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 = org.apache.thrift.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 org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __MAXTRANSFERS_ISSET_ID);
  }

  public void setMaxTransfersIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.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 = org.apache.thrift.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 org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __MAXCONNECTIONSPERTRANSFER_ISSET_ID);
  }

  public void setMaxConnectionsPerTransferIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.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 = org.apache.thrift.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 org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __MAXLOCATIONSPERLECTURE_ISSET_ID);
  }

  public void setMaxLocationsPerLectureIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.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 = org.apache.thrift.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 org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __ALLOWLOGINBYDEFAULT_ISSET_ID);
  }

  public void setAllowLoginByDefaultIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ALLOWLOGINBYDEFAULT_ISSET_ID, value);
  }

  /**
   * 
   * @see SscMode
   */
  @org.apache.thrift.annotation.Nullable
  public SscMode getServerSideCopy() {
    return this.serverSideCopy;
  }

  /**
   * 
   * @see SscMode
   */
  public SatelliteConfig setServerSideCopy(@org.apache.thrift.annotation.Nullable SscMode serverSideCopy) {
    this.serverSideCopy = serverSideCopy;
    return this;
  }

  public void unsetServerSideCopy() {
    this.serverSideCopy = null;
  }

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

  public void setServerSideCopyIsSet(boolean value) {
    if (!value) {
      this.serverSideCopy = null;
    }
  }

  public boolean isAllowStudentDownload() {
    return this.allowStudentDownload;
  }

  public SatelliteConfig setAllowStudentDownload(boolean allowStudentDownload) {
    this.allowStudentDownload = allowStudentDownload;
    setAllowStudentDownloadIsSet(true);
    return this;
  }

  public void unsetAllowStudentDownload() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __ALLOWSTUDENTDOWNLOAD_ISSET_ID);
  }

  /** Returns true if field allowStudentDownload is set (has been assigned a value) and false otherwise */
  public boolean isSetAllowStudentDownload() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __ALLOWSTUDENTDOWNLOAD_ISSET_ID);
  }

  public void setAllowStudentDownloadIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ALLOWSTUDENTDOWNLOAD_ISSET_ID, value);
  }

  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
    switch (field) {
    case PAGE_SIZE:
      if (value == null) {
        unsetPageSize();
      } else {
        setPageSize((java.lang.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((java.lang.Integer)value);
      }
      break;

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

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

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

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

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

    case SERVER_SIDE_COPY:
      if (value == null) {
        unsetServerSideCopy();
      } else {
        setServerSideCopy((SscMode)value);
      }
      break;

    case ALLOW_STUDENT_DOWNLOAD:
      if (value == null) {
        unsetAllowStudentDownload();
      } else {
        setAllowStudentDownload((java.lang.Boolean)value);
      }
      break;

    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.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();

    case SERVER_SIDE_COPY:
      return getServerSideCopy();

    case ALLOW_STUDENT_DOWNLOAD:
      return isAllowStudentDownload();

    }
    throw new java.lang.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 java.lang.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();
    case SERVER_SIDE_COPY:
      return isSetServerSideCopy();
    case ALLOW_STUDENT_DOWNLOAD:
      return isSetAllowStudentDownload();
    }
    throw new java.lang.IllegalStateException();
  }

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

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

    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;
    }

    boolean this_present_serverSideCopy = true && this.isSetServerSideCopy();
    boolean that_present_serverSideCopy = true && that.isSetServerSideCopy();
    if (this_present_serverSideCopy || that_present_serverSideCopy) {
      if (!(this_present_serverSideCopy && that_present_serverSideCopy))
        return false;
      if (!this.serverSideCopy.equals(that.serverSideCopy))
        return false;
    }

    boolean this_present_allowStudentDownload = true && this.isSetAllowStudentDownload();
    boolean that_present_allowStudentDownload = true && that.isSetAllowStudentDownload();
    if (this_present_allowStudentDownload || that_present_allowStudentDownload) {
      if (!(this_present_allowStudentDownload && that_present_allowStudentDownload))
        return false;
      if (this.allowStudentDownload != that.allowStudentDownload)
        return false;
    }

    return true;
  }

  @Override
  public int hashCode() {
    int hashCode = 1;

    hashCode = hashCode * 8191 + pageSize;

    hashCode = hashCode * 8191 + ((isSetDefaultImagePermissions()) ? 131071 : 524287);
    if (isSetDefaultImagePermissions())
      hashCode = hashCode * 8191 + defaultImagePermissions.hashCode();

    hashCode = hashCode * 8191 + ((isSetDefaultLecturePermissions()) ? 131071 : 524287);
    if (isSetDefaultLecturePermissions())
      hashCode = hashCode * 8191 + defaultLecturePermissions.hashCode();

    hashCode = hashCode * 8191 + maxImageValidityDays;

    hashCode = hashCode * 8191 + maxLectureValidityDays;

    hashCode = hashCode * 8191 + ((isSetMaxTransfers()) ? 131071 : 524287);
    if (isSetMaxTransfers())
      hashCode = hashCode * 8191 + maxTransfers;

    hashCode = hashCode * 8191 + ((isSetMaxConnectionsPerTransfer()) ? 131071 : 524287);
    if (isSetMaxConnectionsPerTransfer())
      hashCode = hashCode * 8191 + maxConnectionsPerTransfer;

    hashCode = hashCode * 8191 + ((isSetMaxLocationsPerLecture()) ? 131071 : 524287);
    if (isSetMaxLocationsPerLecture())
      hashCode = hashCode * 8191 + maxLocationsPerLecture;

    hashCode = hashCode * 8191 + ((isSetAllowLoginByDefault()) ? 131071 : 524287);
    if (isSetAllowLoginByDefault())
      hashCode = hashCode * 8191 + ((allowLoginByDefault) ? 131071 : 524287);

    hashCode = hashCode * 8191 + ((isSetServerSideCopy()) ? 131071 : 524287);
    if (isSetServerSideCopy())
      hashCode = hashCode * 8191 + serverSideCopy.getValue();

    hashCode = hashCode * 8191 + ((isSetAllowStudentDownload()) ? 131071 : 524287);
    if (isSetAllowStudentDownload())
      hashCode = hashCode * 8191 + ((allowStudentDownload) ? 131071 : 524287);

    return hashCode;
  }

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

    int lastComparison = 0;

    lastComparison = java.lang.Boolean.compare(isSetPageSize(), 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 = java.lang.Boolean.compare(isSetDefaultImagePermissions(), 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 = java.lang.Boolean.compare(isSetDefaultLecturePermissions(), 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 = java.lang.Boolean.compare(isSetMaxImageValidityDays(), 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 = java.lang.Boolean.compare(isSetMaxLectureValidityDays(), 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 = java.lang.Boolean.compare(isSetMaxTransfers(), 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 = java.lang.Boolean.compare(isSetMaxConnectionsPerTransfer(), 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 = java.lang.Boolean.compare(isSetMaxLocationsPerLecture(), 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 = java.lang.Boolean.compare(isSetAllowLoginByDefault(), other.isSetAllowLoginByDefault());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetAllowLoginByDefault()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.allowLoginByDefault, other.allowLoginByDefault);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetServerSideCopy(), other.isSetServerSideCopy());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetServerSideCopy()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.serverSideCopy, other.serverSideCopy);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetAllowStudentDownload(), other.isSetAllowStudentDownload());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetAllowStudentDownload()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.allowStudentDownload, other.allowStudentDownload);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    return 0;
  }

  @org.apache.thrift.annotation.Nullable
  public _Fields fieldForId(int fieldId) {
    return _Fields.findByThriftId(fieldId);
  }

  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
    scheme(iprot).read(iprot, this);
  }

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

  @Override
  public java.lang.String toString() {
    java.lang.StringBuilder sb = new java.lang.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;
    }
    if (isSetServerSideCopy()) {
      if (!first) sb.append(", ");
      sb.append("serverSideCopy:");
      if (this.serverSideCopy == null) {
        sb.append("null");
      } else {
        sb.append(this.serverSideCopy);
      }
      first = false;
    }
    if (isSetAllowStudentDownload()) {
      if (!first) sb.append(", ");
      sb.append("allowStudentDownload:");
      sb.append(this.allowStudentDownload);
      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, java.lang.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 org.apache.thrift.scheme.SchemeFactory {
    public SatelliteConfigStandardScheme getScheme() {
      return new SatelliteConfigStandardScheme();
    }
  }

  private static class SatelliteConfigStandardScheme extends org.apache.thrift.scheme.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;
          case 10: // SERVER_SIDE_COPY
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.serverSideCopy = org.openslx.bwlp.thrift.iface.SscMode.findByValue(iprot.readI32());
              struct.setServerSideCopyIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // ALLOW_STUDENT_DOWNLOAD
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.allowStudentDownload = iprot.readBool();
              struct.setAllowStudentDownloadIsSet(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();
      }
      if (struct.serverSideCopy != null) {
        if (struct.isSetServerSideCopy()) {
          oprot.writeFieldBegin(SERVER_SIDE_COPY_FIELD_DESC);
          oprot.writeI32(struct.serverSideCopy.getValue());
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetAllowStudentDownload()) {
        oprot.writeFieldBegin(ALLOW_STUDENT_DOWNLOAD_FIELD_DESC);
        oprot.writeBool(struct.allowStudentDownload);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

  private static class SatelliteConfigTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public SatelliteConfigTupleScheme getScheme() {
      return new SatelliteConfigTupleScheme();
    }
  }

  private static class SatelliteConfigTupleScheme extends org.apache.thrift.scheme.TupleScheme<SatelliteConfig> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, SatelliteConfig struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet optionals = new java.util.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);
      }
      if (struct.isSetServerSideCopy()) {
        optionals.set(9);
      }
      if (struct.isSetAllowStudentDownload()) {
        optionals.set(10);
      }
      oprot.writeBitSet(optionals, 11);
      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);
      }
      if (struct.isSetServerSideCopy()) {
        oprot.writeI32(struct.serverSideCopy.getValue());
      }
      if (struct.isSetAllowStudentDownload()) {
        oprot.writeBool(struct.allowStudentDownload);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, SatelliteConfig struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet incoming = iprot.readBitSet(11);
      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);
      }
      if (incoming.get(9)) {
        struct.serverSideCopy = org.openslx.bwlp.thrift.iface.SscMode.findByValue(iprot.readI32());
        struct.setServerSideCopyIsSet(true);
      }
      if (incoming.get(10)) {
        struct.allowStudentDownload = iprot.readBool();
        struct.setAllowStudentDownloadIsSet(true);
      }
    }
  }

  private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
    return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
  }
}