package gov.va.med.esr.common.model.lookup;

import gov.va.med.esr.common.model.lookup.MaritalStatus.Code;
import gov.va.med.fw.model.lookup.AbstractCode;
import gov.va.med.fw.model.lookup.AbstractNamedActiveLookup;

//Java Classes

//Library Classes

//Framework Classes

/**
 * @author Commons Team
 * 
 * @hibernate.mapping auto-import="true" default-cascade="all"
 * @hibernate.class table="MARITAL_STATUS" mutable="false"
 * @hibernate.cache usage="read-only"
 */
public class MaritalStatus
    extends AbstractNamedActiveLookup
{
    /**
     * An instance of serialVersionUID
     */    
    private static final long serialVersionUID = -1678601038104400872L;

    public static final Code CODE_DIVORCED = new Code("D");

    public static final Code CODE_MARRIED = new Code("M");

    public static final Code CODE_NEVERMARRIED = new Code("S");

    public static final Code CODE_WIDOWED = new Code("W");

    public static final Code CODE_UNKNOWN = new Code("U");

    public static final Code CODE_SEPARATED = new Code("A");

    public static class Code extends AbstractCode {
      private static final long serialVersionUID = 6605207202484056850L;

          private Code(String code) {
        super(code);
      }

      public static Code getByCode(String code) {
        return (Code) getCode(Code.class, code);
      }
    }

    /**
     * Default constructor.
     */
    public MaritalStatus()
    {
        super();
    }
}