All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tech.aroma.thrift.Organization Maven / Gradle / Ivy

Go to download

Part of the Aroma Project. This project contains the Service and Model Definitions. From this the Server and Client interfaces are generated for the Aroma Service.

There is a newer version: 2.2
Show newest version
/**
 * Autogenerated by Thrift Compiler (0.9.3)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
package tech.aroma.thrift;

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"})
/**
 * An Organization can represent a Company or group of People.
 */
@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-10")
public class Organization implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Organization");

  private static final org.apache.thrift.protocol.TField ORGANIZATION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("organizationId", org.apache.thrift.protocol.TType.STRING, (short)1);
  private static final org.apache.thrift.protocol.TField ORGANIZATION_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("organizationName", org.apache.thrift.protocol.TType.STRING, (short)2);
  private static final org.apache.thrift.protocol.TField WEBSITE_FIELD_DESC = new org.apache.thrift.protocol.TField("website", org.apache.thrift.protocol.TType.STRING, (short)3);
  private static final org.apache.thrift.protocol.TField LOGO_FIELD_DESC = new org.apache.thrift.protocol.TField("logo", org.apache.thrift.protocol.TType.STRUCT, (short)4);
  private static final org.apache.thrift.protocol.TField TECH_STACK_FIELD_DESC = new org.apache.thrift.protocol.TField("techStack", org.apache.thrift.protocol.TType.STRING, (short)5);
  private static final org.apache.thrift.protocol.TField OWNERS_FIELD_DESC = new org.apache.thrift.protocol.TField("owners", org.apache.thrift.protocol.TType.LIST, (short)6);
  private static final org.apache.thrift.protocol.TField ORGANIZATION_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("organizationEmail", org.apache.thrift.protocol.TType.STRING, (short)7);
  private static final org.apache.thrift.protocol.TField STOCK_MARKET_SYMBOL_FIELD_DESC = new org.apache.thrift.protocol.TField("stockMarketSymbol", org.apache.thrift.protocol.TType.STRING, (short)8);
  private static final org.apache.thrift.protocol.TField LOGO_LINK_FIELD_DESC = new org.apache.thrift.protocol.TField("logoLink", org.apache.thrift.protocol.TType.STRING, (short)9);
  private static final org.apache.thrift.protocol.TField INDUSTRY_FIELD_DESC = new org.apache.thrift.protocol.TField("industry", org.apache.thrift.protocol.TType.I32, (short)10);
  private static final org.apache.thrift.protocol.TField TIER_FIELD_DESC = new org.apache.thrift.protocol.TField("tier", org.apache.thrift.protocol.TType.I32, (short)11);
  private static final org.apache.thrift.protocol.TField ORGANIZATION_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("organizationDescription", org.apache.thrift.protocol.TType.STRING, (short)12);
  private static final org.apache.thrift.protocol.TField GITHUB_PROFILE_FIELD_DESC = new org.apache.thrift.protocol.TField("githubProfile", org.apache.thrift.protocol.TType.STRING, (short)13);

  private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
  static {
    schemes.put(StandardScheme.class, new OrganizationStandardSchemeFactory());
    schemes.put(TupleScheme.class, new OrganizationTupleSchemeFactory());
  }

  public String organizationId; // required
  public String organizationName; // required
  public String website; // optional
  public Image logo; // optional
  public String techStack; // optional
  public List owners; // optional
  public String organizationEmail; // optional
  public String stockMarketSymbol; // optional
  public String logoLink; // optional
  /**
   * 
   * @see Industry
   */
  public Industry industry; // optional
  /**
   * 
   * @see Tier
   */
  public Tier tier; // optional
  public String organizationDescription; // optional
  /**
   * A Link to the Org's GitHub Page, if available.
   */
  public String githubProfile; // 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 {
    ORGANIZATION_ID((short)1, "organizationId"),
    ORGANIZATION_NAME((short)2, "organizationName"),
    WEBSITE((short)3, "website"),
    LOGO((short)4, "logo"),
    TECH_STACK((short)5, "techStack"),
    OWNERS((short)6, "owners"),
    ORGANIZATION_EMAIL((short)7, "organizationEmail"),
    STOCK_MARKET_SYMBOL((short)8, "stockMarketSymbol"),
    LOGO_LINK((short)9, "logoLink"),
    /**
     * 
     * @see Industry
     */
    INDUSTRY((short)10, "industry"),
    /**
     * 
     * @see Tier
     */
    TIER((short)11, "tier"),
    ORGANIZATION_DESCRIPTION((short)12, "organizationDescription"),
    /**
     * A Link to the Org's GitHub Page, if available.
     */
    GITHUB_PROFILE((short)13, "githubProfile");

    private static final Map byName = new HashMap();

    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: // ORGANIZATION_ID
          return ORGANIZATION_ID;
        case 2: // ORGANIZATION_NAME
          return ORGANIZATION_NAME;
        case 3: // WEBSITE
          return WEBSITE;
        case 4: // LOGO
          return LOGO;
        case 5: // TECH_STACK
          return TECH_STACK;
        case 6: // OWNERS
          return OWNERS;
        case 7: // ORGANIZATION_EMAIL
          return ORGANIZATION_EMAIL;
        case 8: // STOCK_MARKET_SYMBOL
          return STOCK_MARKET_SYMBOL;
        case 9: // LOGO_LINK
          return LOGO_LINK;
        case 10: // INDUSTRY
          return INDUSTRY;
        case 11: // TIER
          return TIER;
        case 12: // ORGANIZATION_DESCRIPTION
          return ORGANIZATION_DESCRIPTION;
        case 13: // GITHUB_PROFILE
          return GITHUB_PROFILE;
        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 _Fields optionals[] = {_Fields.WEBSITE,_Fields.LOGO,_Fields.TECH_STACK,_Fields.OWNERS,_Fields.ORGANIZATION_EMAIL,_Fields.STOCK_MARKET_SYMBOL,_Fields.LOGO_LINK,_Fields.INDUSTRY,_Fields.TIER,_Fields.ORGANIZATION_DESCRIPTION,_Fields.GITHUB_PROFILE};
  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.ORGANIZATION_ID, new org.apache.thrift.meta_data.FieldMetaData("organizationId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING        , "uuid")));
    tmpMap.put(_Fields.ORGANIZATION_NAME, new org.apache.thrift.meta_data.FieldMetaData("organizationName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.WEBSITE, new org.apache.thrift.meta_data.FieldMetaData("website", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.LOGO, new org.apache.thrift.meta_data.FieldMetaData("logo", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Image.class)));
    tmpMap.put(_Fields.TECH_STACK, new org.apache.thrift.meta_data.FieldMetaData("techStack", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.OWNERS, new org.apache.thrift.meta_data.FieldMetaData("owners", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
    tmpMap.put(_Fields.ORGANIZATION_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("organizationEmail", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.STOCK_MARKET_SYMBOL, new org.apache.thrift.meta_data.FieldMetaData("stockMarketSymbol", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.LOGO_LINK, new org.apache.thrift.meta_data.FieldMetaData("logoLink", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.INDUSTRY, new org.apache.thrift.meta_data.FieldMetaData("industry", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, Industry.class)));
    tmpMap.put(_Fields.TIER, new org.apache.thrift.meta_data.FieldMetaData("tier", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, Tier.class)));
    tmpMap.put(_Fields.ORGANIZATION_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("organizationDescription", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.GITHUB_PROFILE, new org.apache.thrift.meta_data.FieldMetaData("githubProfile", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    metaDataMap = Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Organization.class, metaDataMap);
  }

  public Organization() {
    this.tier = tech.aroma.thrift.Tier.FREE;

  }

  public Organization(
    String organizationId,
    String organizationName)
  {
    this();
    this.organizationId = organizationId;
    this.organizationName = organizationName;
  }

  /**
   * Performs a deep copy on other.
   */
  public Organization(Organization other) {
    if (other.isSetOrganizationId()) {
      this.organizationId = other.organizationId;
    }
    if (other.isSetOrganizationName()) {
      this.organizationName = other.organizationName;
    }
    if (other.isSetWebsite()) {
      this.website = other.website;
    }
    if (other.isSetLogo()) {
      this.logo = new Image(other.logo);
    }
    if (other.isSetTechStack()) {
      this.techStack = other.techStack;
    }
    if (other.isSetOwners()) {
      List __this__owners = new ArrayList(other.owners);
      this.owners = __this__owners;
    }
    if (other.isSetOrganizationEmail()) {
      this.organizationEmail = other.organizationEmail;
    }
    if (other.isSetStockMarketSymbol()) {
      this.stockMarketSymbol = other.stockMarketSymbol;
    }
    if (other.isSetLogoLink()) {
      this.logoLink = other.logoLink;
    }
    if (other.isSetIndustry()) {
      this.industry = other.industry;
    }
    if (other.isSetTier()) {
      this.tier = other.tier;
    }
    if (other.isSetOrganizationDescription()) {
      this.organizationDescription = other.organizationDescription;
    }
    if (other.isSetGithubProfile()) {
      this.githubProfile = other.githubProfile;
    }
  }

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

  @Override
  public void clear() {
    this.organizationId = null;
    this.organizationName = null;
    this.website = null;
    this.logo = null;
    this.techStack = null;
    this.owners = null;
    this.organizationEmail = null;
    this.stockMarketSymbol = null;
    this.logoLink = null;
    this.industry = null;
    this.tier = tech.aroma.thrift.Tier.FREE;

    this.organizationDescription = null;
    this.githubProfile = null;
  }

  public String getOrganizationId() {
    return this.organizationId;
  }

  public Organization setOrganizationId(String organizationId) {
    this.organizationId = organizationId;
    return this;
  }

  public void unsetOrganizationId() {
    this.organizationId = null;
  }

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

  public void setOrganizationIdIsSet(boolean value) {
    if (!value) {
      this.organizationId = null;
    }
  }

  public String getOrganizationName() {
    return this.organizationName;
  }

  public Organization setOrganizationName(String organizationName) {
    this.organizationName = organizationName;
    return this;
  }

  public void unsetOrganizationName() {
    this.organizationName = null;
  }

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

  public void setOrganizationNameIsSet(boolean value) {
    if (!value) {
      this.organizationName = null;
    }
  }

  public String getWebsite() {
    return this.website;
  }

  public Organization setWebsite(String website) {
    this.website = website;
    return this;
  }

  public void unsetWebsite() {
    this.website = null;
  }

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

  public void setWebsiteIsSet(boolean value) {
    if (!value) {
      this.website = null;
    }
  }

  public Image getLogo() {
    return this.logo;
  }

  public Organization setLogo(Image logo) {
    this.logo = logo;
    return this;
  }

  public void unsetLogo() {
    this.logo = null;
  }

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

  public void setLogoIsSet(boolean value) {
    if (!value) {
      this.logo = null;
    }
  }

  public String getTechStack() {
    return this.techStack;
  }

  public Organization setTechStack(String techStack) {
    this.techStack = techStack;
    return this;
  }

  public void unsetTechStack() {
    this.techStack = null;
  }

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

  public void setTechStackIsSet(boolean value) {
    if (!value) {
      this.techStack = null;
    }
  }

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

  public java.util.Iterator getOwnersIterator() {
    return (this.owners == null) ? null : this.owners.iterator();
  }

  public void addToOwners(String elem) {
    if (this.owners == null) {
      this.owners = new ArrayList();
    }
    this.owners.add(elem);
  }

  public List getOwners() {
    return this.owners;
  }

  public Organization setOwners(List owners) {
    this.owners = owners;
    return this;
  }

  public void unsetOwners() {
    this.owners = null;
  }

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

  public void setOwnersIsSet(boolean value) {
    if (!value) {
      this.owners = null;
    }
  }

  public String getOrganizationEmail() {
    return this.organizationEmail;
  }

  public Organization setOrganizationEmail(String organizationEmail) {
    this.organizationEmail = organizationEmail;
    return this;
  }

  public void unsetOrganizationEmail() {
    this.organizationEmail = null;
  }

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

  public void setOrganizationEmailIsSet(boolean value) {
    if (!value) {
      this.organizationEmail = null;
    }
  }

  public String getStockMarketSymbol() {
    return this.stockMarketSymbol;
  }

  public Organization setStockMarketSymbol(String stockMarketSymbol) {
    this.stockMarketSymbol = stockMarketSymbol;
    return this;
  }

  public void unsetStockMarketSymbol() {
    this.stockMarketSymbol = null;
  }

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

  public void setStockMarketSymbolIsSet(boolean value) {
    if (!value) {
      this.stockMarketSymbol = null;
    }
  }

  public String getLogoLink() {
    return this.logoLink;
  }

  public Organization setLogoLink(String logoLink) {
    this.logoLink = logoLink;
    return this;
  }

  public void unsetLogoLink() {
    this.logoLink = null;
  }

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

  public void setLogoLinkIsSet(boolean value) {
    if (!value) {
      this.logoLink = null;
    }
  }

  /**
   * 
   * @see Industry
   */
  public Industry getIndustry() {
    return this.industry;
  }

  /**
   * 
   * @see Industry
   */
  public Organization setIndustry(Industry industry) {
    this.industry = industry;
    return this;
  }

  public void unsetIndustry() {
    this.industry = null;
  }

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

  public void setIndustryIsSet(boolean value) {
    if (!value) {
      this.industry = null;
    }
  }

  /**
   * 
   * @see Tier
   */
  public Tier getTier() {
    return this.tier;
  }

  /**
   * 
   * @see Tier
   */
  public Organization setTier(Tier tier) {
    this.tier = tier;
    return this;
  }

  public void unsetTier() {
    this.tier = null;
  }

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

  public void setTierIsSet(boolean value) {
    if (!value) {
      this.tier = null;
    }
  }

  public String getOrganizationDescription() {
    return this.organizationDescription;
  }

  public Organization setOrganizationDescription(String organizationDescription) {
    this.organizationDescription = organizationDescription;
    return this;
  }

  public void unsetOrganizationDescription() {
    this.organizationDescription = null;
  }

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

  public void setOrganizationDescriptionIsSet(boolean value) {
    if (!value) {
      this.organizationDescription = null;
    }
  }

  /**
   * A Link to the Org's GitHub Page, if available.
   */
  public String getGithubProfile() {
    return this.githubProfile;
  }

  /**
   * A Link to the Org's GitHub Page, if available.
   */
  public Organization setGithubProfile(String githubProfile) {
    this.githubProfile = githubProfile;
    return this;
  }

  public void unsetGithubProfile() {
    this.githubProfile = null;
  }

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

  public void setGithubProfileIsSet(boolean value) {
    if (!value) {
      this.githubProfile = null;
    }
  }

  public void setFieldValue(_Fields field, Object value) {
    switch (field) {
    case ORGANIZATION_ID:
      if (value == null) {
        unsetOrganizationId();
      } else {
        setOrganizationId((String)value);
      }
      break;

    case ORGANIZATION_NAME:
      if (value == null) {
        unsetOrganizationName();
      } else {
        setOrganizationName((String)value);
      }
      break;

    case WEBSITE:
      if (value == null) {
        unsetWebsite();
      } else {
        setWebsite((String)value);
      }
      break;

    case LOGO:
      if (value == null) {
        unsetLogo();
      } else {
        setLogo((Image)value);
      }
      break;

    case TECH_STACK:
      if (value == null) {
        unsetTechStack();
      } else {
        setTechStack((String)value);
      }
      break;

    case OWNERS:
      if (value == null) {
        unsetOwners();
      } else {
        setOwners((List)value);
      }
      break;

    case ORGANIZATION_EMAIL:
      if (value == null) {
        unsetOrganizationEmail();
      } else {
        setOrganizationEmail((String)value);
      }
      break;

    case STOCK_MARKET_SYMBOL:
      if (value == null) {
        unsetStockMarketSymbol();
      } else {
        setStockMarketSymbol((String)value);
      }
      break;

    case LOGO_LINK:
      if (value == null) {
        unsetLogoLink();
      } else {
        setLogoLink((String)value);
      }
      break;

    case INDUSTRY:
      if (value == null) {
        unsetIndustry();
      } else {
        setIndustry((Industry)value);
      }
      break;

    case TIER:
      if (value == null) {
        unsetTier();
      } else {
        setTier((Tier)value);
      }
      break;

    case ORGANIZATION_DESCRIPTION:
      if (value == null) {
        unsetOrganizationDescription();
      } else {
        setOrganizationDescription((String)value);
      }
      break;

    case GITHUB_PROFILE:
      if (value == null) {
        unsetGithubProfile();
      } else {
        setGithubProfile((String)value);
      }
      break;

    }
  }

  public Object getFieldValue(_Fields field) {
    switch (field) {
    case ORGANIZATION_ID:
      return getOrganizationId();

    case ORGANIZATION_NAME:
      return getOrganizationName();

    case WEBSITE:
      return getWebsite();

    case LOGO:
      return getLogo();

    case TECH_STACK:
      return getTechStack();

    case OWNERS:
      return getOwners();

    case ORGANIZATION_EMAIL:
      return getOrganizationEmail();

    case STOCK_MARKET_SYMBOL:
      return getStockMarketSymbol();

    case LOGO_LINK:
      return getLogoLink();

    case INDUSTRY:
      return getIndustry();

    case TIER:
      return getTier();

    case ORGANIZATION_DESCRIPTION:
      return getOrganizationDescription();

    case GITHUB_PROFILE:
      return getGithubProfile();

    }
    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 ORGANIZATION_ID:
      return isSetOrganizationId();
    case ORGANIZATION_NAME:
      return isSetOrganizationName();
    case WEBSITE:
      return isSetWebsite();
    case LOGO:
      return isSetLogo();
    case TECH_STACK:
      return isSetTechStack();
    case OWNERS:
      return isSetOwners();
    case ORGANIZATION_EMAIL:
      return isSetOrganizationEmail();
    case STOCK_MARKET_SYMBOL:
      return isSetStockMarketSymbol();
    case LOGO_LINK:
      return isSetLogoLink();
    case INDUSTRY:
      return isSetIndustry();
    case TIER:
      return isSetTier();
    case ORGANIZATION_DESCRIPTION:
      return isSetOrganizationDescription();
    case GITHUB_PROFILE:
      return isSetGithubProfile();
    }
    throw new IllegalStateException();
  }

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

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

    boolean this_present_organizationId = true && this.isSetOrganizationId();
    boolean that_present_organizationId = true && that.isSetOrganizationId();
    if (this_present_organizationId || that_present_organizationId) {
      if (!(this_present_organizationId && that_present_organizationId))
        return false;
      if (!this.organizationId.equals(that.organizationId))
        return false;
    }

    boolean this_present_organizationName = true && this.isSetOrganizationName();
    boolean that_present_organizationName = true && that.isSetOrganizationName();
    if (this_present_organizationName || that_present_organizationName) {
      if (!(this_present_organizationName && that_present_organizationName))
        return false;
      if (!this.organizationName.equals(that.organizationName))
        return false;
    }

    boolean this_present_website = true && this.isSetWebsite();
    boolean that_present_website = true && that.isSetWebsite();
    if (this_present_website || that_present_website) {
      if (!(this_present_website && that_present_website))
        return false;
      if (!this.website.equals(that.website))
        return false;
    }

    boolean this_present_logo = true && this.isSetLogo();
    boolean that_present_logo = true && that.isSetLogo();
    if (this_present_logo || that_present_logo) {
      if (!(this_present_logo && that_present_logo))
        return false;
      if (!this.logo.equals(that.logo))
        return false;
    }

    boolean this_present_techStack = true && this.isSetTechStack();
    boolean that_present_techStack = true && that.isSetTechStack();
    if (this_present_techStack || that_present_techStack) {
      if (!(this_present_techStack && that_present_techStack))
        return false;
      if (!this.techStack.equals(that.techStack))
        return false;
    }

    boolean this_present_owners = true && this.isSetOwners();
    boolean that_present_owners = true && that.isSetOwners();
    if (this_present_owners || that_present_owners) {
      if (!(this_present_owners && that_present_owners))
        return false;
      if (!this.owners.equals(that.owners))
        return false;
    }

    boolean this_present_organizationEmail = true && this.isSetOrganizationEmail();
    boolean that_present_organizationEmail = true && that.isSetOrganizationEmail();
    if (this_present_organizationEmail || that_present_organizationEmail) {
      if (!(this_present_organizationEmail && that_present_organizationEmail))
        return false;
      if (!this.organizationEmail.equals(that.organizationEmail))
        return false;
    }

    boolean this_present_stockMarketSymbol = true && this.isSetStockMarketSymbol();
    boolean that_present_stockMarketSymbol = true && that.isSetStockMarketSymbol();
    if (this_present_stockMarketSymbol || that_present_stockMarketSymbol) {
      if (!(this_present_stockMarketSymbol && that_present_stockMarketSymbol))
        return false;
      if (!this.stockMarketSymbol.equals(that.stockMarketSymbol))
        return false;
    }

    boolean this_present_logoLink = true && this.isSetLogoLink();
    boolean that_present_logoLink = true && that.isSetLogoLink();
    if (this_present_logoLink || that_present_logoLink) {
      if (!(this_present_logoLink && that_present_logoLink))
        return false;
      if (!this.logoLink.equals(that.logoLink))
        return false;
    }

    boolean this_present_industry = true && this.isSetIndustry();
    boolean that_present_industry = true && that.isSetIndustry();
    if (this_present_industry || that_present_industry) {
      if (!(this_present_industry && that_present_industry))
        return false;
      if (!this.industry.equals(that.industry))
        return false;
    }

    boolean this_present_tier = true && this.isSetTier();
    boolean that_present_tier = true && that.isSetTier();
    if (this_present_tier || that_present_tier) {
      if (!(this_present_tier && that_present_tier))
        return false;
      if (!this.tier.equals(that.tier))
        return false;
    }

    boolean this_present_organizationDescription = true && this.isSetOrganizationDescription();
    boolean that_present_organizationDescription = true && that.isSetOrganizationDescription();
    if (this_present_organizationDescription || that_present_organizationDescription) {
      if (!(this_present_organizationDescription && that_present_organizationDescription))
        return false;
      if (!this.organizationDescription.equals(that.organizationDescription))
        return false;
    }

    boolean this_present_githubProfile = true && this.isSetGithubProfile();
    boolean that_present_githubProfile = true && that.isSetGithubProfile();
    if (this_present_githubProfile || that_present_githubProfile) {
      if (!(this_present_githubProfile && that_present_githubProfile))
        return false;
      if (!this.githubProfile.equals(that.githubProfile))
        return false;
    }

    return true;
  }

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

    boolean present_organizationId = true && (isSetOrganizationId());
    list.add(present_organizationId);
    if (present_organizationId)
      list.add(organizationId);

    boolean present_organizationName = true && (isSetOrganizationName());
    list.add(present_organizationName);
    if (present_organizationName)
      list.add(organizationName);

    boolean present_website = true && (isSetWebsite());
    list.add(present_website);
    if (present_website)
      list.add(website);

    boolean present_logo = true && (isSetLogo());
    list.add(present_logo);
    if (present_logo)
      list.add(logo);

    boolean present_techStack = true && (isSetTechStack());
    list.add(present_techStack);
    if (present_techStack)
      list.add(techStack);

    boolean present_owners = true && (isSetOwners());
    list.add(present_owners);
    if (present_owners)
      list.add(owners);

    boolean present_organizationEmail = true && (isSetOrganizationEmail());
    list.add(present_organizationEmail);
    if (present_organizationEmail)
      list.add(organizationEmail);

    boolean present_stockMarketSymbol = true && (isSetStockMarketSymbol());
    list.add(present_stockMarketSymbol);
    if (present_stockMarketSymbol)
      list.add(stockMarketSymbol);

    boolean present_logoLink = true && (isSetLogoLink());
    list.add(present_logoLink);
    if (present_logoLink)
      list.add(logoLink);

    boolean present_industry = true && (isSetIndustry());
    list.add(present_industry);
    if (present_industry)
      list.add(industry.getValue());

    boolean present_tier = true && (isSetTier());
    list.add(present_tier);
    if (present_tier)
      list.add(tier.getValue());

    boolean present_organizationDescription = true && (isSetOrganizationDescription());
    list.add(present_organizationDescription);
    if (present_organizationDescription)
      list.add(organizationDescription);

    boolean present_githubProfile = true && (isSetGithubProfile());
    list.add(present_githubProfile);
    if (present_githubProfile)
      list.add(githubProfile);

    return list.hashCode();
  }

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

    int lastComparison = 0;

    lastComparison = Boolean.valueOf(isSetOrganizationId()).compareTo(other.isSetOrganizationId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOrganizationId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.organizationId, other.organizationId);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetOrganizationName()).compareTo(other.isSetOrganizationName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOrganizationName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.organizationName, other.organizationName);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetWebsite()).compareTo(other.isSetWebsite());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetWebsite()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.website, other.website);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetLogo()).compareTo(other.isSetLogo());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetLogo()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.logo, other.logo);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetTechStack()).compareTo(other.isSetTechStack());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTechStack()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.techStack, other.techStack);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetOwners()).compareTo(other.isSetOwners());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOwners()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.owners, other.owners);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetOrganizationEmail()).compareTo(other.isSetOrganizationEmail());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOrganizationEmail()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.organizationEmail, other.organizationEmail);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetStockMarketSymbol()).compareTo(other.isSetStockMarketSymbol());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetStockMarketSymbol()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.stockMarketSymbol, other.stockMarketSymbol);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetLogoLink()).compareTo(other.isSetLogoLink());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetLogoLink()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.logoLink, other.logoLink);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetIndustry()).compareTo(other.isSetIndustry());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetIndustry()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.industry, other.industry);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetTier()).compareTo(other.isSetTier());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTier()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tier, other.tier);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetOrganizationDescription()).compareTo(other.isSetOrganizationDescription());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOrganizationDescription()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.organizationDescription, other.organizationDescription);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = Boolean.valueOf(isSetGithubProfile()).compareTo(other.isSetGithubProfile());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetGithubProfile()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.githubProfile, other.githubProfile);
      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("Organization(");
    boolean first = true;

    sb.append("organizationId:");
    if (this.organizationId == null) {
      sb.append("null");
    } else {
      sb.append(this.organizationId);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("organizationName:");
    if (this.organizationName == null) {
      sb.append("null");
    } else {
      sb.append(this.organizationName);
    }
    first = false;
    if (isSetWebsite()) {
      if (!first) sb.append(", ");
      sb.append("website:");
      if (this.website == null) {
        sb.append("null");
      } else {
        sb.append(this.website);
      }
      first = false;
    }
    if (isSetLogo()) {
      if (!first) sb.append(", ");
      sb.append("logo:");
      if (this.logo == null) {
        sb.append("null");
      } else {
        sb.append(this.logo);
      }
      first = false;
    }
    if (isSetTechStack()) {
      if (!first) sb.append(", ");
      sb.append("techStack:");
      if (this.techStack == null) {
        sb.append("null");
      } else {
        sb.append(this.techStack);
      }
      first = false;
    }
    if (isSetOwners()) {
      if (!first) sb.append(", ");
      sb.append("owners:");
      if (this.owners == null) {
        sb.append("null");
      } else {
        sb.append(this.owners);
      }
      first = false;
    }
    if (isSetOrganizationEmail()) {
      if (!first) sb.append(", ");
      sb.append("organizationEmail:");
      if (this.organizationEmail == null) {
        sb.append("null");
      } else {
        sb.append(this.organizationEmail);
      }
      first = false;
    }
    if (isSetStockMarketSymbol()) {
      if (!first) sb.append(", ");
      sb.append("stockMarketSymbol:");
      if (this.stockMarketSymbol == null) {
        sb.append("null");
      } else {
        sb.append(this.stockMarketSymbol);
      }
      first = false;
    }
    if (isSetLogoLink()) {
      if (!first) sb.append(", ");
      sb.append("logoLink:");
      if (this.logoLink == null) {
        sb.append("null");
      } else {
        sb.append(this.logoLink);
      }
      first = false;
    }
    if (isSetIndustry()) {
      if (!first) sb.append(", ");
      sb.append("industry:");
      if (this.industry == null) {
        sb.append("null");
      } else {
        sb.append(this.industry);
      }
      first = false;
    }
    if (isSetTier()) {
      if (!first) sb.append(", ");
      sb.append("tier:");
      if (this.tier == null) {
        sb.append("null");
      } else {
        sb.append(this.tier);
      }
      first = false;
    }
    if (isSetOrganizationDescription()) {
      if (!first) sb.append(", ");
      sb.append("organizationDescription:");
      if (this.organizationDescription == null) {
        sb.append("null");
      } else {
        sb.append(this.organizationDescription);
      }
      first = false;
    }
    if (isSetGithubProfile()) {
      if (!first) sb.append(", ");
      sb.append("githubProfile:");
      if (this.githubProfile == null) {
        sb.append("null");
      } else {
        sb.append(this.githubProfile);
      }
      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 (logo != null) {
      logo.validate();
    }
  }

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

  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
    try {
      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 OrganizationStandardSchemeFactory implements SchemeFactory {
    public OrganizationStandardScheme getScheme() {
      return new OrganizationStandardScheme();
    }
  }

  private static class OrganizationStandardScheme extends StandardScheme {

    public void read(org.apache.thrift.protocol.TProtocol iprot, Organization 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: // ORGANIZATION_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.organizationId = iprot.readString();
              struct.setOrganizationIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // ORGANIZATION_NAME
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.organizationName = iprot.readString();
              struct.setOrganizationNameIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // WEBSITE
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.website = iprot.readString();
              struct.setWebsiteIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // LOGO
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.logo = new Image();
              struct.logo.read(iprot);
              struct.setLogoIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // TECH_STACK
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.techStack = iprot.readString();
              struct.setTechStackIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // OWNERS
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                struct.owners = new ArrayList(_list0.size);
                String _elem1;
                for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                {
                  _elem1 = iprot.readString();
                  struct.owners.add(_elem1);
                }
                iprot.readListEnd();
              }
              struct.setOwnersIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // ORGANIZATION_EMAIL
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.organizationEmail = iprot.readString();
              struct.setOrganizationEmailIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // STOCK_MARKET_SYMBOL
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.stockMarketSymbol = iprot.readString();
              struct.setStockMarketSymbolIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // LOGO_LINK
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.logoLink = iprot.readString();
              struct.setLogoLinkIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // INDUSTRY
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.industry = tech.aroma.thrift.Industry.findByValue(iprot.readI32());
              struct.setIndustryIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // TIER
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.tier = tech.aroma.thrift.Tier.findByValue(iprot.readI32());
              struct.setTierIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 12: // ORGANIZATION_DESCRIPTION
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.organizationDescription = iprot.readString();
              struct.setOrganizationDescriptionIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 13: // GITHUB_PROFILE
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.githubProfile = iprot.readString();
              struct.setGithubProfileIsSet(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, Organization struct) throws org.apache.thrift.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (struct.organizationId != null) {
        oprot.writeFieldBegin(ORGANIZATION_ID_FIELD_DESC);
        oprot.writeString(struct.organizationId);
        oprot.writeFieldEnd();
      }
      if (struct.organizationName != null) {
        oprot.writeFieldBegin(ORGANIZATION_NAME_FIELD_DESC);
        oprot.writeString(struct.organizationName);
        oprot.writeFieldEnd();
      }
      if (struct.website != null) {
        if (struct.isSetWebsite()) {
          oprot.writeFieldBegin(WEBSITE_FIELD_DESC);
          oprot.writeString(struct.website);
          oprot.writeFieldEnd();
        }
      }
      if (struct.logo != null) {
        if (struct.isSetLogo()) {
          oprot.writeFieldBegin(LOGO_FIELD_DESC);
          struct.logo.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.techStack != null) {
        if (struct.isSetTechStack()) {
          oprot.writeFieldBegin(TECH_STACK_FIELD_DESC);
          oprot.writeString(struct.techStack);
          oprot.writeFieldEnd();
        }
      }
      if (struct.owners != null) {
        if (struct.isSetOwners()) {
          oprot.writeFieldBegin(OWNERS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.owners.size()));
            for (String _iter3 : struct.owners)
            {
              oprot.writeString(_iter3);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.organizationEmail != null) {
        if (struct.isSetOrganizationEmail()) {
          oprot.writeFieldBegin(ORGANIZATION_EMAIL_FIELD_DESC);
          oprot.writeString(struct.organizationEmail);
          oprot.writeFieldEnd();
        }
      }
      if (struct.stockMarketSymbol != null) {
        if (struct.isSetStockMarketSymbol()) {
          oprot.writeFieldBegin(STOCK_MARKET_SYMBOL_FIELD_DESC);
          oprot.writeString(struct.stockMarketSymbol);
          oprot.writeFieldEnd();
        }
      }
      if (struct.logoLink != null) {
        if (struct.isSetLogoLink()) {
          oprot.writeFieldBegin(LOGO_LINK_FIELD_DESC);
          oprot.writeString(struct.logoLink);
          oprot.writeFieldEnd();
        }
      }
      if (struct.industry != null) {
        if (struct.isSetIndustry()) {
          oprot.writeFieldBegin(INDUSTRY_FIELD_DESC);
          oprot.writeI32(struct.industry.getValue());
          oprot.writeFieldEnd();
        }
      }
      if (struct.tier != null) {
        if (struct.isSetTier()) {
          oprot.writeFieldBegin(TIER_FIELD_DESC);
          oprot.writeI32(struct.tier.getValue());
          oprot.writeFieldEnd();
        }
      }
      if (struct.organizationDescription != null) {
        if (struct.isSetOrganizationDescription()) {
          oprot.writeFieldBegin(ORGANIZATION_DESCRIPTION_FIELD_DESC);
          oprot.writeString(struct.organizationDescription);
          oprot.writeFieldEnd();
        }
      }
      if (struct.githubProfile != null) {
        if (struct.isSetGithubProfile()) {
          oprot.writeFieldBegin(GITHUB_PROFILE_FIELD_DESC);
          oprot.writeString(struct.githubProfile);
          oprot.writeFieldEnd();
        }
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

  private static class OrganizationTupleSchemeFactory implements SchemeFactory {
    public OrganizationTupleScheme getScheme() {
      return new OrganizationTupleScheme();
    }
  }

  private static class OrganizationTupleScheme extends TupleScheme {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, Organization struct) throws org.apache.thrift.TException {
      TTupleProtocol oprot = (TTupleProtocol) prot;
      BitSet optionals = new BitSet();
      if (struct.isSetOrganizationId()) {
        optionals.set(0);
      }
      if (struct.isSetOrganizationName()) {
        optionals.set(1);
      }
      if (struct.isSetWebsite()) {
        optionals.set(2);
      }
      if (struct.isSetLogo()) {
        optionals.set(3);
      }
      if (struct.isSetTechStack()) {
        optionals.set(4);
      }
      if (struct.isSetOwners()) {
        optionals.set(5);
      }
      if (struct.isSetOrganizationEmail()) {
        optionals.set(6);
      }
      if (struct.isSetStockMarketSymbol()) {
        optionals.set(7);
      }
      if (struct.isSetLogoLink()) {
        optionals.set(8);
      }
      if (struct.isSetIndustry()) {
        optionals.set(9);
      }
      if (struct.isSetTier()) {
        optionals.set(10);
      }
      if (struct.isSetOrganizationDescription()) {
        optionals.set(11);
      }
      if (struct.isSetGithubProfile()) {
        optionals.set(12);
      }
      oprot.writeBitSet(optionals, 13);
      if (struct.isSetOrganizationId()) {
        oprot.writeString(struct.organizationId);
      }
      if (struct.isSetOrganizationName()) {
        oprot.writeString(struct.organizationName);
      }
      if (struct.isSetWebsite()) {
        oprot.writeString(struct.website);
      }
      if (struct.isSetLogo()) {
        struct.logo.write(oprot);
      }
      if (struct.isSetTechStack()) {
        oprot.writeString(struct.techStack);
      }
      if (struct.isSetOwners()) {
        {
          oprot.writeI32(struct.owners.size());
          for (String _iter4 : struct.owners)
          {
            oprot.writeString(_iter4);
          }
        }
      }
      if (struct.isSetOrganizationEmail()) {
        oprot.writeString(struct.organizationEmail);
      }
      if (struct.isSetStockMarketSymbol()) {
        oprot.writeString(struct.stockMarketSymbol);
      }
      if (struct.isSetLogoLink()) {
        oprot.writeString(struct.logoLink);
      }
      if (struct.isSetIndustry()) {
        oprot.writeI32(struct.industry.getValue());
      }
      if (struct.isSetTier()) {
        oprot.writeI32(struct.tier.getValue());
      }
      if (struct.isSetOrganizationDescription()) {
        oprot.writeString(struct.organizationDescription);
      }
      if (struct.isSetGithubProfile()) {
        oprot.writeString(struct.githubProfile);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, Organization struct) throws org.apache.thrift.TException {
      TTupleProtocol iprot = (TTupleProtocol) prot;
      BitSet incoming = iprot.readBitSet(13);
      if (incoming.get(0)) {
        struct.organizationId = iprot.readString();
        struct.setOrganizationIdIsSet(true);
      }
      if (incoming.get(1)) {
        struct.organizationName = iprot.readString();
        struct.setOrganizationNameIsSet(true);
      }
      if (incoming.get(2)) {
        struct.website = iprot.readString();
        struct.setWebsiteIsSet(true);
      }
      if (incoming.get(3)) {
        struct.logo = new Image();
        struct.logo.read(iprot);
        struct.setLogoIsSet(true);
      }
      if (incoming.get(4)) {
        struct.techStack = iprot.readString();
        struct.setTechStackIsSet(true);
      }
      if (incoming.get(5)) {
        {
          org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
          struct.owners = new ArrayList(_list5.size);
          String _elem6;
          for (int _i7 = 0; _i7 < _list5.size; ++_i7)
          {
            _elem6 = iprot.readString();
            struct.owners.add(_elem6);
          }
        }
        struct.setOwnersIsSet(true);
      }
      if (incoming.get(6)) {
        struct.organizationEmail = iprot.readString();
        struct.setOrganizationEmailIsSet(true);
      }
      if (incoming.get(7)) {
        struct.stockMarketSymbol = iprot.readString();
        struct.setStockMarketSymbolIsSet(true);
      }
      if (incoming.get(8)) {
        struct.logoLink = iprot.readString();
        struct.setLogoLinkIsSet(true);
      }
      if (incoming.get(9)) {
        struct.industry = tech.aroma.thrift.Industry.findByValue(iprot.readI32());
        struct.setIndustryIsSet(true);
      }
      if (incoming.get(10)) {
        struct.tier = tech.aroma.thrift.Tier.findByValue(iprot.readI32());
        struct.setTierIsSet(true);
      }
      if (incoming.get(11)) {
        struct.organizationDescription = iprot.readString();
        struct.setOrganizationDescriptionIsSet(true);
      }
      if (incoming.get(12)) {
        struct.githubProfile = iprot.readString();
        struct.setGithubProfileIsSet(true);
      }
    }
  }

}