summaryrefslogblamecommitdiffstats
path: root/src/main/java/org/openslx/bwlp/thrift/iface/OperatingSystem.java
blob: 364ad0370b8f3bebd979e38b6c8828ca0d38fc42 (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 = "2016-01-04")
public class OperatingSystem implements org.apache.thrift.TBase<OperatingSystem, OperatingSystem._Fields>, java.io.Serializable, Cloneable, Comparable<OperatingSystem> {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OperatingSystem");

  private static final org.apache.thrift.protocol.TField OS_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("osId", org.apache.thrift.protocol.TType.I32, (short)1);
  private static final org.apache.thrift.protocol.TField OS_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("osName", org.apache.thrift.protocol.TType.STRING, (short)2);
  private static final org.apache.thrift.protocol.TField VIRTUALIZER_OS_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("virtualizerOsId", org.apache.thrift.protocol.TType.MAP, (short)3);
  private static final org.apache.thrift.protocol.TField ARCHITECTURE_FIELD_DESC = new org.apache.thrift.protocol.TField("architecture", org.apache.thrift.protocol.TType.STRING, (short)4);
  private static final org.apache.thrift.protocol.TField MAX_MEM_MB_FIELD_DESC = new org.apache.thrift.protocol.TField("maxMemMb", org.apache.thrift.protocol.TType.I32, (short)5);
  private static final org.apache.thrift.protocol.TField MAX_CORES_FIELD_DESC = new org.apache.thrift.protocol.TField("maxCores", org.apache.thrift.protocol.TType.I32, (short)6);

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

  public int osId; // required
  public String osName; // required
  public Map<String,String> virtualizerOsId; // required
  public String architecture; // required
  public int maxMemMb; // required
  public int maxCores; // required

  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
    OS_ID((short)1, "osId"),
    OS_NAME((short)2, "osName"),
    VIRTUALIZER_OS_ID((short)3, "virtualizerOsId"),
    ARCHITECTURE((short)4, "architecture"),
    MAX_MEM_MB((short)5, "maxMemMb"),
    MAX_CORES((short)6, "maxCores");

    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: // OS_ID
          return OS_ID;
        case 2: // OS_NAME
          return OS_NAME;
        case 3: // VIRTUALIZER_OS_ID
          return VIRTUALIZER_OS_ID;
        case 4: // ARCHITECTURE
          return ARCHITECTURE;
        case 5: // MAX_MEM_MB
          return MAX_MEM_MB;
        case 6: // MAX_CORES
          return MAX_CORES;
        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 __OSID_ISSET_ID = 0;
  private static final int __MAXMEMMB_ISSET_ID = 1;
  private static final int __MAXCORES_ISSET_ID = 2;
  private byte __isset_bitfield = 0;
  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.OS_ID, new org.apache.thrift.meta_data.FieldMetaData("osId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.OS_NAME, new org.apache.thrift.meta_data.FieldMetaData("osName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.VIRTUALIZER_OS_ID, new org.apache.thrift.meta_data.FieldMetaData("virtualizerOsId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
    tmpMap.put(_Fields.ARCHITECTURE, new org.apache.thrift.meta_data.FieldMetaData("architecture", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.MAX_MEM_MB, new org.apache.thrift.meta_data.FieldMetaData("maxMemMb", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.MAX_CORES, new org.apache.thrift.meta_data.FieldMetaData("maxCores", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    metaDataMap = Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(OperatingSystem.class, metaDataMap);
  }

  public OperatingSystem() {
  }

  public OperatingSystem(
    int osId,
    String osName,
    Map<String,String> virtualizerOsId,
    String architecture,
    int maxMemMb,
    int maxCores)
  {
    this();
    this.osId = osId;
    setOsIdIsSet(true);
    this.osName = osName;
    this.virtualizerOsId = virtualizerOsId;
    this.architecture = architecture;
    this.maxMemMb = maxMemMb;
    setMaxMemMbIsSet(true);
    this.maxCores = maxCores;
    setMaxCoresIsSet(true);
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public OperatingSystem(OperatingSystem other) {
    __isset_bitfield = other.__isset_bitfield;
    this.osId = other.osId;
    if (other.isSetOsName()) {
      this.osName = other.osName;
    }
    if (other.isSetVirtualizerOsId()) {
      Map<String,String> __this__virtualizerOsId = new HashMap<String,String>(other.virtualizerOsId);
      this.virtualizerOsId = __this__virtualizerOsId;
    }
    if (other.isSetArchitecture()) {
      this.architecture = other.architecture;
    }
    this.maxMemMb = other.maxMemMb;
    this.maxCores = other.maxCores;
  }

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

  @Override
  public void clear() {
    setOsIdIsSet(false);
    this.osId = 0;
    this.osName = null;
    this.virtualizerOsId = null;
    this.architecture = null;
    setMaxMemMbIsSet(false);
    this.maxMemMb = 0;
    setMaxCoresIsSet(false);
    this.maxCores = 0;
  }

  public int getOsId() {
    return this.osId;
  }

  public OperatingSystem setOsId(int osId) {
    this.osId = osId;
    setOsIdIsSet(true);
    return this;
  }

  public void unsetOsId() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __OSID_ISSET_ID);
  }

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

  public void setOsIdIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __OSID_ISSET_ID, value);
  }

  public String getOsName() {
    return this.osName;
  }

  public OperatingSystem setOsName(String osName) {
    this.osName = osName;
    return this;
  }

  public void unsetOsName() {
    this.osName = null;
  }

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

  public void setOsNameIsSet(boolean value) {
    if (!value) {
      this.osName = null;
    }
  }

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

  public void putToVirtualizerOsId(String key, String val) {
    if (this.virtualizerOsId == null) {
      this.virtualizerOsId = new HashMap<String,String>();
    }
    this.virtualizerOsId.put(key, val);
  }

  public Map<String,String> getVirtualizerOsId() {
    return this.virtualizerOsId;
  }

  public OperatingSystem setVirtualizerOsId(Map<String,String> virtualizerOsId) {
    this.virtualizerOsId = virtualizerOsId;
    return this;
  }

  public void unsetVirtualizerOsId() {
    this.virtualizerOsId = null;
  }

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

  public void setVirtualizerOsIdIsSet(boolean value) {
    if (!value) {
      this.virtualizerOsId = null;
    }
  }

  public String getArchitecture() {
    return this.architecture;
  }

  public OperatingSystem setArchitecture(String architecture) {
    this.architecture = architecture;
    return this;
  }

  public void unsetArchitecture() {
    this.architecture = null;
  }

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

  public void setArchitectureIsSet(boolean value) {
    if (!value) {
      this.architecture = null;
    }
  }

  public int getMaxMemMb() {
    return this.maxMemMb;
  }

  public OperatingSystem setMaxMemMb(int maxMemMb) {
    this.maxMemMb = maxMemMb;
    setMaxMemMbIsSet(true);
    return this;
  }

  public void unsetMaxMemMb() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXMEMMB_ISSET_ID);
  }

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

  public void setMaxMemMbIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXMEMMB_ISSET_ID, value);
  }

  public int getMaxCores() {
    return this.maxCores;
  }

  public OperatingSystem setMaxCores(int maxCores) {
    this.maxCores = maxCores;
    setMaxCoresIsSet(true);
    return this;
  }

  public void unsetMaxCores() {
    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXCORES_ISSET_ID);
  }

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

  public void setMaxCoresIsSet(boolean value) {
    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXCORES_ISSET_ID, value);
  }

  public void setFieldValue(_Fields field, Object value) {
    switch (field) {
    case OS_ID:
      if (value == null) {
        unsetOsId();
      } else {
        setOsId((Integer)value);
      }
      break;

    case OS_NAME:
      if (value == null) {
        unsetOsName();
      } else {
        setOsName((String)value);
      }
      break;

    case VIRTUALIZER_OS_ID:
      if (value == null) {
        unsetVirtualizerOsId();
      } else {
        setVirtualizerOsId((Map<String,String>)value);
      }
      break;

    case ARCHITECTURE:
      if (value == null) {
        unsetArchitecture();
      } else {
        setArchitecture((String)value);
      }
      break;

    case MAX_MEM_MB:
      if (value == null) {
        unsetMaxMemMb();
      } else {
        setMaxMemMb((Integer)value);
      }
      break;

    case MAX_CORES:
      if (value == null) {
        unsetMaxCores();
      } else {
        setMaxCores((Integer)value);
      }
      break;

    }
  }

  public Object getFieldValue(_Fields field) {
    switch (field) {
    case OS_ID:
      return getOsId();

    case OS_NAME:
      return getOsName();

    case VIRTUALIZER_OS_ID:
      return getVirtualizerOsId();

    case ARCHITECTURE:
      return getArchitecture();

    case MAX_MEM_MB:
      return getMaxMemMb();

    case MAX_CORES:
      return getMaxCores();

    }
    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 OS_ID:
      return isSetOsId();
    case OS_NAME:
      return isSetOsName();
    case VIRTUALIZER_OS_ID:
      return isSetVirtualizerOsId();
    case ARCHITECTURE:
      return isSetArchitecture();
    case MAX_MEM_MB:
      return isSetMaxMemMb();
    case MAX_CORES:
      return isSetMaxCores();
    }
    throw new IllegalStateException();
  }

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

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

    boolean this_present_osId = true;
    boolean that_present_osId = true;
    if (this_present_osId || that_present_osId) {
      if (!(this_present_osId && that_present_osId))
        return false;
      if (this.osId != that.osId)
        return false;
    }

    boolean this_present_osName = true && this.isSetOsName();
    boolean that_present_osName = true && that.isSetOsName();
    if (this_present_osName || that_present_osName) {
      if (!(this_present_osName && that_present_osName))
        return false;
      if (!this.osName.equals(that.osName))
        return false;
    }

    boolean this_present_virtualizerOsId = true && this.isSetVirtualizerOsId();
    boolean that_present_virtualizerOsId = true && that.isSetVirtualizerOsId();
    if (this_present_virtualizerOsId || that_present_virtualizerOsId) {
      if (!(this_present_virtualizerOsId && that_present_virtualizerOsId))
        return false;
      if (!this.virtualizerOsId.equals(that.virtualizerOsId))
        return false;
    }

    boolean this_present_architecture = true && this.isSetArchitecture();
    boolean that_present_architecture = true && that.isSetArchitecture();
    if (this_present_architecture || that_present_architecture) {
      if (!(this_present_architecture && that_present_architecture))
        return false;
      if (!this.architecture.equals(that.architecture))
        return false;
    }

    boolean this_present_maxMemMb = true;
    boolean that_present_maxMemMb = true;
    if (this_present_maxMemMb || that_present_maxMemMb) {
      if (!(this_present_maxMemMb && that_present_maxMemMb))
        return false;
      if (this.maxMemMb != that.maxMemMb)
        return false;
    }

    boolean this_present_maxCores = true;
    boolean that_present_maxCores = true;
    if (this_present_maxCores || that_present_maxCores) {
      if (!(this_present_maxCores && that_present_maxCores))
        return false;
      if (this.maxCores != that.maxCores)
        return false;
    }

    return true;
  }

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

    boolean present_osId = true;
    list.add(present_osId);
    if (present_osId)
      list.add(osId);

    boolean present_osName = true && (isSetOsName());
    list.add(present_osName);
    if (present_osName)
      list.add(osName);

    boolean present_virtualizerOsId = true && (isSetVirtualizerOsId());
    list.add(present_virtualizerOsId);
    if (present_virtualizerOsId)
      list.add(virtualizerOsId);

    boolean present_architecture = true && (isSetArchitecture());
    list.add(present_architecture);
    if (present_architecture)
      list.add(architecture);

    boolean present_maxMemMb = true;
    list.add(present_maxMemMb);
    if (present_maxMemMb)
      list.add(maxMemMb);

    boolean present_maxCores = true;
    list.add(present_maxCores);
    if (present_maxCores)
      list.add(maxCores);

    return list.hashCode();
  }

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

    int lastComparison = 0;

    lastComparison = Boolean.valueOf(isSetOsId()).compareTo(other.isSetOsId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOsId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.osId, other.osId);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetOsName()).compareTo(other.isSetOsName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOsName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.osName, other.osName);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetVirtualizerOsId()).compareTo(other.isSetVirtualizerOsId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetVirtualizerOsId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.virtualizerOsId, other.virtualizerOsId);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetArchitecture()).compareTo(other.isSetArchitecture());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetArchitecture()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.architecture, other.architecture);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetMaxMemMb()).compareTo(other.isSetMaxMemMb());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMaxMemMb()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxMemMb, other.maxMemMb);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetMaxCores()).compareTo(other.isSetMaxCores());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMaxCores()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxCores, other.maxCores);
      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("OperatingSystem(");
    boolean first = true;

    sb.append("osId:");
    sb.append(this.osId);
    first = false;
    if (!first) sb.append(", ");
    sb.append("osName:");
    if (this.osName == null) {
      sb.append("null");
    } else {
      sb.append(this.osName);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("virtualizerOsId:");
    if (this.virtualizerOsId == null) {
      sb.append("null");
    } else {
      sb.append(this.virtualizerOsId);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("architecture:");
    if (this.architecture == null) {
      sb.append("null");
    } else {
      sb.append(this.architecture);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("maxMemMb:");
    sb.append(this.maxMemMb);
    first = false;
    if (!first) sb.append(", ");
    sb.append("maxCores:");
    sb.append(this.maxCores);
    first = false;
    sb.append(")");
    return sb.toString();
  }

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

  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 OperatingSystemStandardSchemeFactory implements SchemeFactory {
    public OperatingSystemStandardScheme getScheme() {
      return new OperatingSystemStandardScheme();
    }
  }

  private static class OperatingSystemStandardScheme extends StandardScheme<OperatingSystem> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, OperatingSystem 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: // OS_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.osId = iprot.readI32();
              struct.setOsIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // OS_NAME
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.osName = iprot.readString();
              struct.setOsNameIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // VIRTUALIZER_OS_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map24 = iprot.readMapBegin();
                struct.virtualizerOsId = new HashMap<String,String>(2*_map24.size);
                String _key25;
                String _val26;
                for (int _i27 = 0; _i27 < _map24.size; ++_i27)
                {
                  _key25 = iprot.readString();
                  _val26 = iprot.readString();
                  struct.virtualizerOsId.put(_key25, _val26);
                }
                iprot.readMapEnd();
              }
              struct.setVirtualizerOsIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // ARCHITECTURE
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.architecture = iprot.readString();
              struct.setArchitectureIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // MAX_MEM_MB
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.maxMemMb = iprot.readI32();
              struct.setMaxMemMbIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // MAX_CORES
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.maxCores = iprot.readI32();
              struct.setMaxCoresIsSet(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, OperatingSystem struct) throws org.apache.thrift.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(OS_ID_FIELD_DESC);
      oprot.writeI32(struct.osId);
      oprot.writeFieldEnd();
      if (struct.osName != null) {
        oprot.writeFieldBegin(OS_NAME_FIELD_DESC);
        oprot.writeString(struct.osName);
        oprot.writeFieldEnd();
      }
      if (struct.virtualizerOsId != null) {
        oprot.writeFieldBegin(VIRTUALIZER_OS_ID_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.virtualizerOsId.size()));
          for (Map.Entry<String, String> _iter28 : struct.virtualizerOsId.entrySet())
          {
            oprot.writeString(_iter28.getKey());
            oprot.writeString(_iter28.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      if (struct.architecture != null) {
        oprot.writeFieldBegin(ARCHITECTURE_FIELD_DESC);
        oprot.writeString(struct.architecture);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(MAX_MEM_MB_FIELD_DESC);
      oprot.writeI32(struct.maxMemMb);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(MAX_CORES_FIELD_DESC);
      oprot.writeI32(struct.maxCores);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

  private static class OperatingSystemTupleSchemeFactory implements SchemeFactory {
    public OperatingSystemTupleScheme getScheme() {
      return new OperatingSystemTupleScheme();
    }
  }

  private static class OperatingSystemTupleScheme extends TupleScheme<OperatingSystem> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, OperatingSystem struct) throws org.apache.thrift.TException {
      TTupleProtocol oprot = (TTupleProtocol) prot;
      BitSet optionals = new BitSet();
      if (struct.isSetOsId()) {
        optionals.set(0);
      }
      if (struct.isSetOsName()) {
        optionals.set(1);
      }
      if (struct.isSetVirtualizerOsId()) {
        optionals.set(2);
      }
      if (struct.isSetArchitecture()) {
        optionals.set(3);
      }
      if (struct.isSetMaxMemMb()) {
        optionals.set(4);
      }
      if (struct.isSetMaxCores()) {
        optionals.set(5);
      }
      oprot.writeBitSet(optionals, 6);
      if (struct.isSetOsId()) {
        oprot.writeI32(struct.osId);
      }
      if (struct.isSetOsName()) {
        oprot.writeString(struct.osName);
      }
      if (struct.isSetVirtualizerOsId()) {
        {
          oprot.writeI32(struct.virtualizerOsId.size());
          for (Map.Entry<String, String> _iter29 : struct.virtualizerOsId.entrySet())
          {
            oprot.writeString(_iter29.getKey());
            oprot.writeString(_iter29.getValue());
          }
        }
      }
      if (struct.isSetArchitecture()) {
        oprot.writeString(struct.architecture);
      }
      if (struct.isSetMaxMemMb()) {
        oprot.writeI32(struct.maxMemMb);
      }
      if (struct.isSetMaxCores()) {
        oprot.writeI32(struct.maxCores);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, OperatingSystem struct) throws org.apache.thrift.TException {
      TTupleProtocol iprot = (TTupleProtocol) prot;
      BitSet incoming = iprot.readBitSet(6);
      if (incoming.get(0)) {
        struct.osId = iprot.readI32();
        struct.setOsIdIsSet(true);
      }
      if (incoming.get(1)) {
        struct.osName = iprot.readString();
        struct.setOsNameIsSet(true);
      }
      if (incoming.get(2)) {
        {
          org.apache.thrift.protocol.TMap _map30 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
          struct.virtualizerOsId = new HashMap<String,String>(2*_map30.size);
          String _key31;
          String _val32;
          for (int _i33 = 0; _i33 < _map30.size; ++_i33)
          {
            _key31 = iprot.readString();
            _val32 = iprot.readString();
            struct.virtualizerOsId.put(_key31, _val32);
          }
        }
        struct.setVirtualizerOsIdIsSet(true);
      }
      if (incoming.get(3)) {
        struct.architecture = iprot.readString();
        struct.setArchitectureIsSet(true);
      }
      if (incoming.get(4)) {
        struct.maxMemMb = iprot.readI32();
        struct.setMaxMemMbIsSet(true);
      }
      if (incoming.get(5)) {
        struct.maxCores = iprot.readI32();
        struct.setMaxCoresIsSet(true);
      }
    }
  }

}