/* 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 ParcelaAlienacaoBem extends ParcelaAlienacao
{
  private Valor cotacaoDolar = new Valor (this, "", 13, 4);
  private Valor custoAquisicaoProporcionalOrigemMEDolar = new Valor (this, "");
  private Valor custoAquisicaoProporcionalOrigemNacionalReal = new Valor (this, "");
  private Valor custoAquisicaoTornaProporcionalOrigemMEDolar = new Valor (this, "");
  private Valor custoAquisicaoTornaProporcionalOrigemNacionalReal = new Valor (this, "");
  private Valor custoCorretagemDolar = new Valor (this, "");
  private Valor ganhoCapital1ProporcionalOrigemMEDolar = new Valor (this, "");
  private Valor ganhoCapital1ProporcionalOrigemMEReal = new Valor (this, "");
  private Valor ganhoCapital1ProporcionalOrigemNacionalReal = new Valor (this, "");
  private Valor ganhoCapital1ProporcionalTotalReal = new Valor (this, "");
  private Valor ganhoCapital2ProporcionalME = new Valor (this, "");
  private Valor ganhoCapital2ProporcionalMN = new Valor (this, "");
  private Valor ganhoCapital3ProporcionalME = new Valor (this, "");
  private Valor ganhoCapital3ProporcionalMN = new Valor (this, "");
  private Valor ganhoCapital4ProporcionalME = new Valor (this, "");
  private Valor ganhoCapital4ProporcionalMN = new Valor (this, "");
  private Valor ganhoCapital5ProporcionalME = new Valor (this, "");
  private Valor ganhoCapital5ProporcionalMN = new Valor (this, "");
  private Valor ganhoCapital5ProporcionalTotalReal = new Valor (this, "");
  private Valor impostoPagoExterior = new Valor (this, "");
  private Valor percentualGanhoOrigemME = new Valor (this, "", 9, 6);
  private Valor percentualGanhoOrigemNacional = new Valor (this, "", 9, 6);
  private Valor percentualReducaoAplicacaoOutroImovelME = new Valor (this, "", 9, 6);
  private Valor percentualReducaoAplicacaoOutroImovelMN = new Valor (this, "", 9, 6);
  private Valor percentualReducaoBemPequenoValorME = new Valor (this, "", 9, 6);
  private Valor percentualReducaoBemPequenoValorMN = new Valor (this, "", 9, 6);
  private Valor percentualReducaoLei11196FR1ME = new Valor (this, "", 9, 6);
  private Valor percentualReducaoLei11196FR1MN = new Valor (this, "", 9, 6);
  private Valor percentualReducaoLei11196FR2ME = new Valor (this, "", 9, 6);
  private Valor percentualReducaoLei11196FR2MN = new Valor (this, "", 9, 6);
  private Valor percentualReducaoLei7713ME = new Valor (this, "", 9, 6);
  private Valor percentualReducaoLei7713MN = new Valor (this, "", 9, 6);
  private Valor percentualReducaoUnicoImovelME = new Valor (this, "", 9, 6);
  private Valor percentualReducaoUnicoImovelMN = new Valor (this, "", 9, 6);
  private Valor valorAjuste = new Valor (this, "");
  private Valor valorAlienacaoOrigemMEDolar = new Valor (this, "");
  private Valor valorAlienacaoOrigemNacionalDolar = new Valor (this, "");
  private Valor valorAlienacaoOrigemNacionalReal = new Valor (this, "");
  private Valor valorInformadoReducaoAplicacaoOutroImovelAmbas = new Valor (this, "");
  private Valor valorInformadoReducaoAplicacaoOutroImovelME = new Valor (this, "");
  private Valor valorInformadoReducaoAplicacaoOutroImovelMN = new Valor (this, "");
  private Valor valorLiquidoAlienacaoDolar = new Valor (this, "");
  private Valor valorLiquidoAlienacaoReal = new Valor (this, "");
  private Valor valorRecebidoDolar = new Valor (this, "");
  private Valor valorRecebidoReal = new Valor (this, "");
  private Valor valorReducaoAplicacaoOutroImovelME = new Valor (this, "");
  private Valor valorReducaoAplicacaoOutroImovelMN = new Valor (this, "");
  private Valor valorReducaoBemPequenoValorME = new Valor (this, "");
  private Valor valorReducaoBemPequenoValorMN = new Valor (this, "");
  private Valor valorReducaoLei11196FR1ME = new Valor (this, "");
  private Valor valorReducaoLei11196FR1MN = new Valor (this, "");
  private Valor valorReducaoLei11196FR2ME = new Valor (this, "");
  private Valor valorReducaoLei11196FR2MN = new Valor (this, "");
  private Valor valorReducaoLei7713ME = new Valor (this, "");
  private Valor valorReducaoLei7713MN = new Valor (this, "");
  private Valor valorReducaoUnicoImovelME = new Valor (this, "");
  private Valor valorReducaoUnicoImovelMN = new Valor (this, "");

  public ParcelaAlienacaoBem ()
  {
  }

  public Valor getCotacaoDolar ()
  {
    return cotacaoDolar;
  }

  public Valor getCustoAquisicaoProporcionalOrigemMEDolar ()
  {
    return custoAquisicaoProporcionalOrigemMEDolar;
  }

  public Valor getCustoAquisicaoProporcionalOrigemNacionalReal ()
  {
    return custoAquisicaoProporcionalOrigemNacionalReal;
  }

  public Valor getCustoAquisicaoTornaProporcionalOrigemMEDolar ()
  {
    return custoAquisicaoTornaProporcionalOrigemMEDolar;
  }

  public Valor getCustoAquisicaoTornaProporcionalOrigemNacionalReal ()
  {
    return custoAquisicaoTornaProporcionalOrigemNacionalReal;
  }

  public Valor getCustoCorretagemDolar ()
  {
    return custoCorretagemDolar;
  }

  public Valor getGanhoCapital1ProporcionalOrigemMEDolar ()
  {
    return ganhoCapital1ProporcionalOrigemMEDolar;
  }

  public Valor getGanhoCapital1ProporcionalOrigemMEReal ()
  {
    return ganhoCapital1ProporcionalOrigemMEReal;
  }

  public Valor getGanhoCapital1ProporcionalOrigemNacionalReal ()
  {
    return ganhoCapital1ProporcionalOrigemNacionalReal;
  }

  public Valor getGanhoCapital1ProporcionalTotalReal ()
  {
    return ganhoCapital1ProporcionalTotalReal;
  }

  public Valor getGanhoCapital2ProporcionalME ()
  {
    return ganhoCapital2ProporcionalME;
  }

  public Valor getGanhoCapital2ProporcionalMN ()
  {
    return ganhoCapital2ProporcionalMN;
  }

  public Valor getGanhoCapital3ProporcionalME ()
  {
    return ganhoCapital3ProporcionalME;
  }

  public Valor getGanhoCapital3ProporcionalMN ()
  {
    return ganhoCapital3ProporcionalMN;
  }

  public Valor getGanhoCapital4ProporcionalME ()
  {
    return ganhoCapital4ProporcionalME;
  }

  public Valor getGanhoCapital4ProporcionalMN ()
  {
    return ganhoCapital4ProporcionalMN;
  }

  public Valor getGanhoCapital5ProporcionalME ()
  {
    return ganhoCapital5ProporcionalME;
  }

  public Valor getGanhoCapital5ProporcionalMN ()
  {
    return ganhoCapital5ProporcionalMN;
  }

  public Valor getGanhoCapital5ProporcionalTotalReal ()
  {
    return ganhoCapital5ProporcionalTotalReal;
  }

  public Valor getImpostoPagoExterior ()
  {
    return impostoPagoExterior;
  }

  public Valor getPercentualGanhoOrigemME ()
  {
    return percentualGanhoOrigemME;
  }

  public Valor getPercentualGanhoOrigemNacional ()
  {
    return percentualGanhoOrigemNacional;
  }

  public Valor getPercentualReducaoAplicacaoOutroImovelME ()
  {
    return percentualReducaoAplicacaoOutroImovelME;
  }

  public Valor getPercentualReducaoAplicacaoOutroImovelMN ()
  {
    return percentualReducaoAplicacaoOutroImovelMN;
  }

  public Valor getPercentualReducaoBemPequenoValorME ()
  {
    return percentualReducaoBemPequenoValorME;
  }

  public Valor getPercentualReducaoBemPequenoValorMN ()
  {
    return percentualReducaoBemPequenoValorMN;
  }

  public Valor getPercentualReducaoLei11196FR1ME ()
  {
    return percentualReducaoLei11196FR1ME;
  }

  public Valor getPercentualReducaoLei11196FR1MN ()
  {
    return percentualReducaoLei11196FR1MN;
  }

  public Valor getPercentualReducaoLei11196FR2ME ()
  {
    return percentualReducaoLei11196FR2ME;
  }

  public Valor getPercentualReducaoLei11196FR2MN ()
  {
    return percentualReducaoLei11196FR2MN;
  }

  public Valor getPercentualReducaoLei7713ME ()
  {
    return percentualReducaoLei7713ME;
  }

  public Valor getPercentualReducaoLei7713MN ()
  {
    return percentualReducaoLei7713MN;
  }

  public Valor getPercentualReducaoUnicoImovelME ()
  {
    return percentualReducaoUnicoImovelME;
  }

  public Valor getPercentualReducaoUnicoImovelMN ()
  {
    return percentualReducaoUnicoImovelMN;
  }

  public Valor getValorAjuste ()
  {
    return valorAjuste;
  }

  public Valor getValorAlienacaoOrigemMEDolar ()
  {
    return valorAlienacaoOrigemMEDolar;
  }

  public Valor getValorAlienacaoOrigemNacionalDolar ()
  {
    return valorAlienacaoOrigemNacionalDolar;
  }

  public Valor getValorAlienacaoOrigemNacionalReal ()
  {
    return valorAlienacaoOrigemNacionalReal;
  }

  public Valor getValorInformadoReducaoAplicacaoOutroImovelAmbas ()
  {
    return valorInformadoReducaoAplicacaoOutroImovelAmbas;
  }

  public Valor getValorInformadoReducaoAplicacaoOutroImovelME ()
  {
    return valorInformadoReducaoAplicacaoOutroImovelME;
  }

  public Valor getValorInformadoReducaoAplicacaoOutroImovelMN ()
  {
    return valorInformadoReducaoAplicacaoOutroImovelMN;
  }

  public Valor getValorLiquidoAlienacaoDolar ()
  {
    return valorLiquidoAlienacaoDolar;
  }

  public Valor getValorLiquidoAlienacaoReal ()
  {
    return valorLiquidoAlienacaoReal;
  }

  public Valor getValorRecebidoDolar ()
  {
    return valorRecebidoDolar;
  }

  public Valor getValorRecebidoReal ()
  {
    return valorRecebidoReal;
  }

  public Valor getValorReducaoAplicacaoOutroImovelME ()
  {
    return valorReducaoAplicacaoOutroImovelME;
  }

  public Valor getValorReducaoAplicacaoOutroImovelMN ()
  {
    return valorReducaoAplicacaoOutroImovelMN;
  }

  public Valor getValorReducaoBemPequenoValorME ()
  {
    return valorReducaoBemPequenoValorME;
  }

  public Valor getValorReducaoBemPequenoValorMN ()
  {
    return valorReducaoBemPequenoValorMN;
  }

  public Valor getValorReducaoLei11196FR1ME ()
  {
    return valorReducaoLei11196FR1ME;
  }

  public Valor getValorReducaoLei11196FR1MN ()
  {
    return valorReducaoLei11196FR1MN;
  }

  public Valor getValorReducaoLei11196FR2ME ()
  {
    return valorReducaoLei11196FR2ME;
  }

  public Valor getValorReducaoLei11196FR2MN ()
  {
    return valorReducaoLei11196FR2MN;
  }

  public Valor getValorReducaoLei7713ME ()
  {
    return valorReducaoLei7713ME;
  }

  public Valor getValorReducaoLei7713MN ()
  {
    return valorReducaoLei7713MN;
  }

  public Valor getValorReducaoUnicoImovelME ()
  {
    return valorReducaoUnicoImovelME;
  }

  public Valor getValorReducaoUnicoImovelMN ()
  {
    return valorReducaoUnicoImovelMN;
  }

}
