gt:       return "New: "+ this.getClassDisplayLabel();
context: /**
   * Copyright (c) 2015 TerraFrame, Inc. All rights reserved.
   *
   * This file is part of Geoprism(tm).
   *
   * Geoprism(tm) is free software: you can redistribute it and/or modify
   * it under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation, either version 3 of the
   * License, or (at your option) any later version.
   *
   * Geoprism(tm) is distributed in the hope that it will be useful, but
   * WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   * GNU Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
   * License along with Geoprism(tm).  If not, see <http://www.gnu.org/licenses/>.
   */
  package net.geoprism.ontology;
  
  @com.runwaysdk.business.ClassSignature(hash = -1128104232)
  /**
   * This class is generated automatically.
   * DO NOT MAKE CHANGES TO IT - THEY WILL BE OVERWRITTEN
   * Custom business logic should be added to ClassifierHasSynonym.java
   *
   * @author Autogenerated by RunwaySDK
   */
  public abstract class ClassifierHasSynonymBase extends com.runwaysdk.business.ontology.TermRelationship 
  {
    public final static String CLASS = "net.geoprism.ontology.ClassifierHasSynonym";
    public static java.lang.String CREATEDATE = "createDate";
    public static java.lang.String CREATEDBY = "createdBy";
    public static java.lang.String ENTITYDOMAIN = "entityDomain";
    public static java.lang.String OID = "oid";
    public static java.lang.String KEYNAME = "keyName";
    public static java.lang.String LASTUPDATEDATE = "lastUpdateDate";
    public static java.lang.String LASTUPDATEDBY = "lastUpdatedBy";
    public static java.lang.String LOCKEDBY = "lockedBy";
    public static java.lang.String OWNER = "owner";
    public static java.lang.String SEQ = "seq";
    public static java.lang.String SITEMASTER = "siteMaster";
    public static java.lang.String TYPE = "type";
    private static final long serialVersionUID = -1128104232;
    
    public ClassifierHasSynonymBase(String parentOid, String childOid)
    {
      super(parentOid, childOid);
    }
    
    public java.util.Date getCreateDate()
    {
      return com.runwaysdk.constants.MdAttributeDateTimeUtil.getTypeSafeValue(getValue(CREATEDATE));
    }
    
    public void validateCreateDate()
    {
      this.validateAttribute(CREATEDATE);
    }
    
    public static com.runwaysdk.dataaccess.MdAttributeDateTimeDAOIF getCreateDateMd()
    {
      com.runwaysdk.dataaccess.MdClassDAOIF mdClassIF = com.runwaysdk.dataaccess.metadata.MdClassDAO.getMdClassDAO(net.geoprism.ontology.ClassifierHasSynonym.CLASS);
      return (com.runwaysdk.dataaccess.MdAttributeDateTimeDAOIF)mdClassIF.definesAttribute(CREATEDATE);
    }
    
    public com.runwaysdk.system.SingleActor getCreatedBy()
    {
      if (getValue(CREATEDBY).trim().equals(""))
      {
        return null;
      }
      else
      {
        return com.runwaysdk.system.SingleActor.get(getValue(CREATEDBY));
      }
    }
    
    public String getCreatedById()
    {
      return getValue(CREATEDBY);
    }
    
    public void validateCreatedBy()
    {
      this.validateAttribute(CREATEDBY);
    }
    
    public static com.runwaysdk.dataaccess.MdAttributeReferenceDAOIF getCreatedByMd()
    {
      com.runwaysdk.dataaccess.MdClassDAOIF mdClassIF = com.runwaysdk.dataaccess.metadata.MdClassDAO.getMdClassDAO(net.geoprism.ontology.ClassifierHasSynonym.CLASS);
      return (com.runwaysdk.dataaccess.MdAttributeReferenceDAOIF)mdClassIF.definesAttribute(CREATEDBY);
    }
    
    public com.runwaysdk.system.metadata.MdDomain getEntityDomain()
    {
      if (getValue(ENTITYDOMAIN).trim().equals(""))
      {
        return null;
      }
      else
      {
        return com.runwaysdk.system.metadata.MdDomain.get(getValue(ENTITYDOMAIN));
      }
    }
    
    public String getEntityDomainId()
    {
      return getValue(ENTITYDOMAIN);
    }
    
    public void validateEntityDomain()
    {
      this.validateAttribute(ENTITYDOMAIN);
    }
    
    public static com.runwaysdk.dataaccess.MdAttributeReferenceDAOIF getEntityDomainMd()
    {
      com.runwaysdk.dataaccess.MdClassDAOIF mdClassIF = com.runwaysdk.dataaccess.metadata.MdClassDAO.getMdClassDAO(net.geoprism.ontology.ClassifierHasSynonym.CLASS);
      return (com.runwaysdk.dataaccess.MdAttributeReferenceDAOIF)mdClassIF.definesAttribute(ENTITYDOMAIN);
    }
    
    public void setEntityDomain(com.runwaysdk.system.metadata.MdDomain value)
    {
      if(value == null)
      {
        setValue(ENTITYDOMAIN, "");
      }
      else
      {
        setValue(ENTITYDOMAIN, value.getOid());
      }
    }
    
    public String getOid()
    {
      return getValue(OID);
    }
    
    public void validateId()
    {
      this.validateAttribute(OID);
    }
    
    public static com.runwaysdk.dataaccess.MdAttributeCharacterDAOIF getOidMd()
    {
      com.runwaysdk.dataaccess.MdClassDAOIF mdClassIF = com.runwaysdk.dataaccess.metadata.MdClassDAO.getMdClassDAO(net.geoprism.ontology.ClassifierHasSynonym.CLASS);
      return (com.runwaysdk.dataaccess.MdAttributeCharacterDAOIF)mdClassIF.definesAttribute(OID);
    }
    
    public String getKeyName()
    {
      return getValue(KEYNAME);
    }
    
    public void validateKeyName()
    {
      this.validateAttribute(KEYNAME);
    }
    
    public static com.runwaysdk.dataaccess.MdAttributeCharacterDAOIF getKeyNameMd()
    {
      com.runwaysdk.dataaccess.MdClassDAOIF mdClassIF = com.runwaysdk.dataaccess.metadata.MdClassDAO.getMdClassDAO(net.geoprism.ontology.ClassifierHasSynonym.CLASS);
      return (com.runwaysdk.dataaccess.MdAttributeCharacterDAOIF)mdClassIF.definesAttribute(KEYNAME);
    }
    
    public void setKeyName(String value)
    {
      if(value == null)
      {
        setValue(KEYNAME, "");
      }
      else
      {
        setValue(KEYNAME, value);
      }
    }
    
    public java.util.Date getLastUpdateDate()
    {
      return com.runwaysdk.constants.MdAttributeDateTimeUtil.getTypeSafeValue(getValue(LASTUPDATEDATE));
    }
    
    public void validateLastUpdateDate()
    {
      this.validateAttribute(LASTUPDATEDATE);
    }
    
    public static com.runwaysdk.dataaccess.MdAttributeDateTimeDAOIF getLastUpdateDateMd()
    {
      com.runwaysdk.dataaccess.MdClassDAOIF mdClassIF = com.runwaysdk.dataaccess.metadata.MdClassDAO.getMdClassDAO(net.geoprism.ontology.ClassifierHasSynonym.CLASS);
      return (com.runwaysdk.dataaccess.MdAttributeDateTimeDAOIF)mdClassIF.definesAttribute(LASTUPDATEDATE);
    }
    
    public com.runwaysdk.system.SingleActor getLastUpdatedBy()
    {
      if (getValue(LASTUPDATEDBY).trim().equals(""))
      {
        return null;
      }
      else
      {
        return com.runwaysdk.system.SingleActor.get(getValue(LASTUPDATEDBY));
      }
    }
    
    public String getLastUpdatedById()
    {
      return getValue(LASTUPDATEDBY);
    }
    
    public void validateLastUpdatedBy()
    {
      this.validateAttribute(LASTUPDATEDBY);
    }
    
    public static com.runwaysdk.dataaccess.MdAttributeReferenceDAOIF getLastUpdatedByMd()
    {
      com.runwaysdk.dataaccess.MdClassDAOIF mdClassIF = com.runwaysdk.dataaccess.metadata.MdClassDAO.getMdClassDAO(net.geoprism.ontology.ClassifierHasSynonym.CLASS);
      return (com.runwaysdk.dataaccess.MdAttributeReferenceDAOIF)mdClassIF.definesAttribute(LASTUPDATEDBY);
    }
    
    public com.runwaysdk.system.SingleActor getLockedBy()
    {
      if (getValue(LOCKEDBY).trim().equals(""))
      {
        return null;
      }
      else
      {
        return com.runwaysdk.system.SingleActor.get(getValue(LOCKEDBY));
      }
    }
    
    public String getLockedById()
    {
      return getValue(LOCKEDBY);
    }
    
    public void validateLockedBy()
    {
      this.validateAttribute(LOCKEDBY);
    }
    
    public static com.runwaysdk.dataaccess.MdAttributeReferenceDAOIF getLockedByMd()
    {
      com.runwaysdk.dataaccess.MdClassDAOIF mdClassIF = com.runwaysdk.dataaccess.metadata.MdClassDAO.getMdClassDAO(net.geoprism.ontology.ClassifierHasSynonym.CLASS);
      return (com.runwaysdk.dataaccess.MdAttributeReferenceDAOIF)mdClassIF.definesAttribute(LOCKEDBY);
    }
    
    public com.runwaysdk.system.Actor getOwner()
    {
      if (getValue(OWNER).trim().equals(""))
      {
        return null;
      }
      else
      {
        return com.runwaysdk.system.Actor.get(getValue(OWNER));
      }
    }
    
    public String getOwnerId()
    {
      return getValue(OWNER);
    }
    
    public void validateOwner()
    {
      this.validateAttribute(OWNER);
    }
    
    public static com.runwaysdk.dataaccess.MdAttributeReferenceDAOIF getOwnerMd()
    {
      com.runwaysdk.dataaccess.MdClassDAOIF mdClassIF = com.runwaysdk.dataaccess.metadata.MdClassDAO.getMdClassDAO(net.geoprism.ontology.ClassifierHasSynonym.CLASS);
      return (com.runwaysdk.dataaccess.MdAttributeReferenceDAOIF)mdClassIF.definesAttribute(OWNER);
    }
    
    public void setOwner(com.runwaysdk.system.Actor value)
    {
      if(value == null)
      {
        setValue(OWNER, "");
      }
      else
      {
        setValue(OWNER, value.getOid());
      }
    }
    
    public Long getSeq()
    {
      return com.runwaysdk.constants.MdAttributeLongUtil.getTypeSafeValue(getValue(SEQ));
    }
    
    public void validateSeq()
    {
      this.validateAttribute(SEQ);
    }
    
    public static com.runwaysdk.dataaccess.MdAttributeLongDAOIF getSeqMd()
    {
      com.runwaysdk.dataaccess.MdClassDAOIF mdClassIF = com.runwaysdk.dataaccess.metadata.MdClassDAO.getMdClassDAO(net.geoprism.ontology.ClassifierHasSynonym.CLASS);
      return (com.runwaysdk.dataaccess.MdAttributeLongDAOIF)mdClassIF.definesAttribute(SEQ);
    }
    
    public String getSiteMaster()
    {
      return getValue(SITEMASTER);
    }
    
    public void validateSiteMaster()
    {
      this.validateAttribute(SITEMASTER);
    }
    
    public static com.runwaysdk.dataaccess.MdAttributeCharacterDAOIF getSiteMasterMd()
    {
      com.runwaysdk.dataaccess.MdClassDAOIF mdClassIF = com.runwaysdk.dataaccess.metadata.MdClassDAO.getMdClassDAO(net.geoprism.ontology.ClassifierHasSynonym.CLASS);
      return (com.runwaysdk.dataaccess.MdAttributeCharacterDAOIF)mdClassIF.definesAttribute(SITEMASTER);
    }
    
    public String getType()
    {
      return getValue(TYPE);
    }
    
    public void validateType()
    {
      this.validateAttribute(TYPE);
    }
    
    public static com.runwaysdk.dataaccess.MdAttributeCharacterDAOIF getTypeMd()
    {
      com.runwaysdk.dataaccess.MdClassDAOIF mdClassIF = com.runwaysdk.dataaccess.metadata.MdClassDAO.getMdClassDAO(net.geoprism.ontology.ClassifierHasSynonym.CLASS);
      return (com.runwaysdk.dataaccess.MdAttributeCharacterDAOIF)mdClassIF.definesAttribute(TYPE);
    }
    
    protected String getDeclaredType()
    {
      return CLASS;
    }
    
    public static ClassifierHasSynonymQuery getAllInstances(String sortAttribute, Boolean ascending, Integer pageSize, Integer pageNumber)
    {
      ClassifierHasSynonymQuery query = new ClassifierHasSynonymQuery(new com.runwaysdk.query.QueryFactory());
      com.runwaysdk.business.Entity.getAllInstances(query, sortAttribute, ascending, pageSize, pageNumber);
      return query;
    }
    
    public net.geoprism.ontology.Classifier getParent()
    {
      return (net.geoprism.ontology.Classifier) super.getParent();
    }
    
    public net.geoprism.ontology.ClassifierSynonym getChild()
    {
      return (net.geoprism.ontology.ClassifierSynonym) super.getChild();
    }
    
    public static ClassifierHasSynonym get(String oid)
    {
      return (ClassifierHasSynonym) com.runwaysdk.business.Relationship.get(oid);
    }
    
    public static ClassifierHasSynonym getByKey(String key)
    {
      return (ClassifierHasSynonym) com.runwaysdk.business.Relationship.get(CLASS, key);
    }
    
    public static ClassifierHasSynonym lock(java.lang.String oid)
    {
      ClassifierHasSynonym _instance = ClassifierHasSynonym.get(oid);
      _instance.lock();
      
      return _instance;
    }
    
    public static ClassifierHasSynonym unlock(java.lang.String oid)
    {
      ClassifierHasSynonym _instance = ClassifierHasSynonym.get(oid);
      _instance.unlock();
      
      return _instance;
    }
    
    public String toString()
    {
      if (this.isNew())
      {
  