/* Copyright 2025 FSFLA
   Alexandre Oliva <lxoliva@fsfla.org>

   Este arquivo é parte do IRPF-Livre.

   IRPF-Livre é Software Livre; você pode redistribuir e/ou modificar
   a maior parte dele, inclusive este arquivo, de acordo com os termos
   da GNU Lesser General Public License publicada pela Free Software
   Foundation; tanto a versão 2.1 dessa licença, quanto (à sua
   escolha) qualquer versão posterior.

   Alguns componentes podem ser distribuídos e/ou modificados de
   acordo com outras licenças, incluídas no executável e consolidadas
   no arquivo list/licenses nos fontes.

   IRPF-Livre é distribuído na esperança de que ele seja útil, mas SEM
   QUALQUER GARANTIA; até mesmo sem qualquer garantia implícita de
   COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte
   a GNU Lesser General Public License para mais detalhes.

   Você deve ter recebido uma cópia da GNU Lesser General Public
   License junto com IRPF-Livre; se não, escreva para a Free Software
   Foundation, Inc., no endereço 59 Temple Street, Suite 330, Boston,
   MA 02111-1307 USA.

   Veja uma tradução não oficial da licença em
   http://creativecommons.org/licenses/LGPL/2.1/legalcode.pt


   This file is part of IRPF-Livre.

   IRPF-Livre is free software; you can redistribute and/or modify
   most of it, this file included, under the terms of the GNU Lesser
   General Public License as published by the Free Software
   Foundation; either version 2.1 of the License, or (at your option)
   any later version.

   Some components can be distributed and/or modified under different
   licenses, included in the executable and consolidated in the file
   list/licenses in the source tree.

   IRPF-Livre 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 IRPF-Livre; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
   USA.
*/

package serpro.ppgd.irpf.gcap.alienacao;
import serpro.ppgd.negocio.Data;
import serpro.ppgd.negocio.Logico;
import serpro.ppgd.negocio.ObjetoNegocio;
import serpro.ppgd.negocio.Valor;

public class ParcelaAlienacao extends ObjetoNegocio
{
  private Valor aliquotaMedia = new Valor (this, "", 9, 6);
  private Valor custoAquisicaoProporcional = new Valor (this, "");
  private Valor custoAquisicaoTornaProporcional = new Valor (this, "");
  private Valor custoCorretagem = new Valor (this, "");
  private Data dataRecebimento = new Data (this, "");
  private Valor ganhoCapital1Proporcional = new Valor (this, "");
  private Valor ganhoCapital2Proporcional = new Valor (this, "");
  private Valor ganhoCapital3Proporcional = new Valor (this, "");
  private Valor ganhoCapital4Proporcional = new Valor (this, "");
  private Valor ganhoCapital5Proporcional = new Valor (this, "");
  private Valor ganhoCapitalTotal = new Valor (this, "");
  private Valor impostoDevido = new Valor (this, "");
  private Valor impostoDevido2 = new Valor (this, "");
  private Valor impostoPago = new Valor (this, "");
  private Valor irrfLei110332004 = new Valor (this, "");
  private Valor percentualGanho = new Valor (this, "", 9, 6);
  private Valor percentualReducaoAplicacaoOutroImovel = new Valor (this, "", 9, 6);
  private Valor percentualReducaoBemPequenoValor = new Valor (this, "", 9, 6);
  private Valor percentualReducaoLei11196FR1 = new Valor (this, "", 9, 6);
  private Valor percentualReducaoLei11196FR2 = new Valor (this, "", 9, 6);
  private Valor percentualReducaoLei7713 = new Valor (this, "", 9, 6);
  private Valor percentualReducaoUnicoImovel = new Valor (this, "", 9, 6);
  private Logico ultimaParcela = new Logico (this, "");
  private Valor valorInformadoReducaoAplicacaoOutroImovel = new Valor (this, "");
  private Valor valorLiquidoAlienacao = new Valor (this, "");
  private Valor valorRecebido = new Valor (this, "");
  private Valor valorReducaoAplicacaoOutroImovel = new Valor (this, "");
  private Valor valorReducaoBemPequenoValor = new Valor (this, "");
  private Valor valorReducaoLei11196FR1 = new Valor (this, "");
  private Valor valorReducaoLei11196FR2 = new Valor (this, "");
  private Valor valorReducaoLei7713 = new Valor (this, "");
  private Valor valorReducaoUnicoImovel = new Valor (this, "");

  public ParcelaAlienacao ()
  {
  }

  public Valor getAliquotaMedia ()
  {
    return aliquotaMedia;
  }

  public Valor getCustoAquisicaoProporcional ()
  {
    return custoAquisicaoProporcional;
  }

  public Valor getCustoAquisicaoTornaProporcional ()
  {
    return custoAquisicaoTornaProporcional;
  }

  public Valor getCustoCorretagem ()
  {
    return custoCorretagem;
  }

  public Data getDataRecebimento ()
  {
    return dataRecebimento;
  }

  public Valor getGanhoCapital1Proporcional ()
  {
    return ganhoCapital1Proporcional;
  }

  public Valor getGanhoCapital2Proporcional ()
  {
    return ganhoCapital2Proporcional;
  }

  public Valor getGanhoCapital3Proporcional ()
  {
    return ganhoCapital3Proporcional;
  }

  public Valor getGanhoCapital4Proporcional ()
  {
    return ganhoCapital4Proporcional;
  }

  public Valor getGanhoCapital5Proporcional ()
  {
    return ganhoCapital5Proporcional;
  }

  public Valor getGanhoCapitalTotal ()
  {
    return ganhoCapitalTotal;
  }

  public Valor getImpostoDevido ()
  {
    return impostoDevido;
  }

  public Valor getImpostoDevido2 ()
  {
    return impostoDevido2;
  }

  public Valor getImpostoPago ()
  {
    return impostoPago;
  }

  public Valor getIrrfLei110332004 ()
  {
    return irrfLei110332004;
  }

  public Valor getPercentualGanho ()
  {
    return percentualGanho;
  }

  public Valor getPercentualReducaoAplicacaoOutroImovel ()
  {
    return percentualReducaoAplicacaoOutroImovel;
  }

  public Valor getPercentualReducaoBemPequenoValor ()
  {
    return percentualReducaoBemPequenoValor;
  }

  public Valor getPercentualReducaoLei11196FR1 ()
  {
    return percentualReducaoLei11196FR1;
  }

  public Valor getPercentualReducaoLei11196FR2 ()
  {
    return percentualReducaoLei11196FR2;
  }

  public Valor getPercentualReducaoLei7713 ()
  {
    return percentualReducaoLei7713;
  }

  public Valor getPercentualReducaoUnicoImovel ()
  {
    return percentualReducaoUnicoImovel;
  }

  public Logico getUltimaParcela ()
  {
    return ultimaParcela;
  }

  public Valor getValorInformadoReducaoAplicacaoOutroImovel ()
  {
    return valorInformadoReducaoAplicacaoOutroImovel;
  }

  public Valor getValorLiquidoAlienacao ()
  {
    return valorLiquidoAlienacao;
  }

  public Valor getValorRecebido ()
  {
    return valorRecebido;
  }

  public Valor getValorReducaoAplicacaoOutroImovel ()
  {
    return valorReducaoAplicacaoOutroImovel;
  }

  public Valor getValorReducaoBemPequenoValor ()
  {
    return valorReducaoBemPequenoValor;
  }

  public Valor getValorReducaoLei11196FR1 ()
  {
    return valorReducaoLei11196FR1;
  }

  public Valor getValorReducaoLei11196FR2 ()
  {
    return valorReducaoLei11196FR2;
  }

  public Valor getValorReducaoLei7713 ()
  {
    return valorReducaoLei7713;
  }

  public Valor getValorReducaoUnicoImovel ()
  {
    return valorReducaoUnicoImovel;
  }

}
