# SummaryRow.java

    /*
    ** Module   : SummaryRow.java
    ** Abstract : Bean which stores information about a summary row in a report, primarily for JSON
    **            serialization.
    **
    ** Copyright (c) 2017, Golden Code Development Corporation.
    **
    ** -#- -I- --Date-- --------------------------------Description----------------------------------
    ** 001 ECF 20170516 Created first version.
    */
    /*
    ** This program is free software: you can redistribute it and/or modify
    ** it under the terms of the GNU Affero General Public License as
    ** published by the Free Software Foundation, either version 3 of the
    ** License, or (at your option) any later version.
    **
    ** This program 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 Affero General Public License for more details.
    **
    ** You may find a copy of the GNU Affero GPL version 3 at the following
    ** location: https://www.gnu.org/licenses/agpl-3.0.en.html
    **
    ** Additional terms under GNU Affero GPL version 3 section 7:
    **
    **   Under Section 7 of the GNU Affero GPL version 3, the following additional
    **   terms apply to the works covered under the License.  These additional terms
    **   are non-permissive additional terms allowed under Section 7 of the GNU
    **   Affero GPL version 3 and may not be removed by you.
    **
    **   0. Attribution Requirement.
    **
    **     You must preserve all legal notices or author attributions in the covered
    **     work or Appropriate Legal Notices displayed by works containing the covered
    **     work.  You may not remove from the covered work any author or developer
    **     credit already included within the covered work.
    **
    **   1. No License To Use Trademarks.
    **
    **     This license does not grant any license or rights to use the trademarks
    **     Golden Code, FWD, any Golden Code or FWD logo, or any other trademarks
    **     of Golden Code Development Corporation. You are not authorized to use the
    **     name Golden Code, FWD, or the names of any author or contributor, for
    **     publicity purposes without written authorization.
    **
    **   2. No Misrepresentation of Affiliation.
    **
    **     You may not represent yourself as Golden Code Development Corporation or FWD.
    **
    **     You may not represent yourself for publicity purposes as associated with
    **     Golden Code Development Corporation, FWD, or any author or contributor to
    **     the covered work, without written authorization.
    **
    **   3. No Misrepresentation of Source or Origin.
    **
    **     You may not represent the covered work as solely your work.  All modified
    **     versions of the covered work must be marked in a reasonable way to make it
    **     clear that the modified work is not originating from Golden Code Development
    **     Corporation or FWD.  All modified versions must contain the notices of
    **     attribution required in this license.
    */

    package com.goldencode.p2j.report.server;

    import com.goldencode.p2j.report.*;

    /**
     * Bean for a row in a summary report. The property names are intentionally short, if cryptic,
     * because the primary purpose of this bean is to be serialized to and from JSON, which will
     * result in many duplicates of these names being created in the serialized form.
     */
    public class SummaryRow
    implements ReportConstants
    {
       /** Category ID */
       private long cid = 0L;

       /** Category description */
       private String cat = null;

       /** Conversion support level */
       private int cLvl = LVL_UNKNOWN;

       /** Runtime support level */
       private int rLvl = LVL_UNKNOWN;

       /** Match count */
       private int mCnt = 0;

       /** Files count */
       private int fCnt = 0;

       /** Match percent (for this category, relative to total matches) */
       private double mPct = 0;

       /** Files percent (for this category, relative to total files) */
       private double fPct = 0;

       /** Multiplex expression */
       private String mplex = null;

       /**
        * Category ID getter.
        *
        * @return  Category ID
        */
       public long getCid()
       {
          return cid;
       }

       /**
        * Category ID setter.
        *
        * @param   cid
        *          Category ID to set.
        */
       public void setCid(long cid)
       {
          this.cid = cid;
       }

       /**
        * Category description getter.
        *
        * @return  Category description.
        */
       public String getCat()
       {
          return cat;
       }

       /**
        * Category description setter.
        *
        * @param   cat
        *          Category description.
        */
       public void setCat(String cat)
       {
          this.cat = cat;
       }

       /**
        * Match count getter.
        *
        * @return  Match count.
        */
       public int getmCnt()
       {
          return mCnt;
       }

       /**
        * Match count setter.
        *
        * @param   mCnt
        *          Match count to set.
        */
       public void setMCnt(int mCnt)
       {
          this.mCnt = mCnt;
       }

       /**
        * File count getter.
        *
        * @return  File count.
        */
       public int getfCnt()
       {
          return fCnt;
       }

       /**
        * File count setter.
        *
        * @param   fCnt
        *          File count to set.
        */
       public void setFCnt(int fCnt)
       {
          this.fCnt = fCnt;
       }

       /**
        * Match percent getter.
        *
        * @return  Match percent.
        */
       public double getmPct()
       {
          return mPct;
       }

       /**
        * Match percent setter.
        *
        * @param   mPct
        *          Match percent to set.
        */
       public void setMPct(double mPct)
       {
          this.mPct = mPct;
       }

       /**
        * File percent getter.
        *
        * @return  File percent.
        */
       public double getfPct()
       {
          return fPct;
       }

       /**
        * File percent setter.
        *
        * @param   fPct
        *          File percent to set.
        */
       public void setFPct(double fPct)
       {
          this.fPct = fPct;
       }

       /**
        * Conversion support level getter.
        *
        * @return  Conversion support level.
        */
       public int getcLvl()
       {
          return cLvl;
       }

       /**
        * Conversion support level setter.
        *
        * @param   cLvl
        *          Conversion support level to set.
        */
       public void setCLvl(int cLvl)
       {
          this.cLvl = cLvl;
       }

       /**
        * Runtime support level getter.
        *
        * @return  Runtime support level.
        */
       public int getrLvl()
       {
          return rLvl;
       }

       /**
        * Runtime support level setter.
        *
        * @param   rLvl
        *          Runtime support level to set.
        */
       public void setRLvl(int rLvl)
       {
          this.rLvl = rLvl;
       }

       /**
        * Multiplex expression getter.
        *
        * @return  Multiplex expression.
        */
       public String getMplex()
       {
          return mplex;
       }

       /**
        * Multiplex expression setter.
        *
        * @param   mplex
        *          Multiplex expression to set.
        */
       public void setMplex(String mplex)
       {
          this.mplex = mplex;
       }
    }