All Downloads are FREE. Search and download functionalities are using the official Maven repository.

br.com.objectos.jabuticava.debs.CaracteristicaSpec Maven / Gradle / Ivy

/*
 * Copyright 2013 Objectos, Fábrica de Software LTDA.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package br.com.objectos.jabuticava.debs;

import br.com.objectos.comuns.io.ColumnKey;
import br.com.objectos.way.io.AbstractLineSpec;
import br.com.objectos.way.io.LineKey;

import org.joda.time.LocalDate;

/**
 * @author [email protected] (Marcio Endo)
 */
class CaracteristicaSpec extends AbstractLineSpec implements CaracteristicaKeys {

  static final ColumnKey DATA_VENCIMENTO =
      ColumnKey.of(LocalDate.class, "dataVencimento");
  static final ColumnKey DATA_SAIDA =
      ColumnKey.of(LocalDate.class, "dataSaida");
  static final ColumnKey SERIE =
      ColumnKey.of(String.class, "serie");
  static final ColumnKey EMISSAO =
      ColumnKey.of(Integer.class, "emissao");

  private final LineKey codigo;
  private final LineKey empresa;
  private final LineKey serie;
  private final LineKey emissao;
  private final LineKey situacao;
  private final LineKey codigoIsin;
  private final LineKey dataEmissao;
  private final LineKey dataVencimento;
  private final LineKey motivoSaida;
  private final LineKey dataSaida;
  private final LineKey quantidadeEmitida;
  private final LineKey artigo14;
  private final LineKey artigo24;
  private final LineKey quantidadeMercado;
  private final LineKey quantidadeTesouraria;
  private final LineKey quantidadeResgatada;
  private final LineKey quantidadeCancelada;
  private final LineKey quantidadeConvertida;
  private final LineKey quantidadeConvertidaFora;
  private final LineKey quantidadePermutada;
  private final LineKey quantidadePermutadaFora;
  private final LineKey valorNominalEmissao;
  private final LineKey valorNominalAtual;
  private final LineKey indice;

  CaracteristicaSpec() {
    codigo = id("Código do Ativo")
        .get(String.class);

    empresa = id("Empresa")
        .get(String.class);

    serie = id("Série")
        .get(SERIE);

    emissao = id("Emissão")
        .get(EMISSAO);

    id("IPO").get(String.class);

    situacao = id("Situação")
        .get(CaracteristicaSituacao.class);

    codigoIsin = id("ISIN")
        .get(String.class);

    id("Registro CVM da Emissão").get(String.class);
    id("Data de Registro CVM da Emissão").get(String.class);
    id("Registro CVM do Programa").get(String.class);
    id("Data de Registro CVM do Programa").get(String.class);

    dataEmissao = id("Data de Emissão")
        .get(LocalDate.class);

    dataVencimento = id("Data de Vencimento")
        .get(DATA_VENCIMENTO);

    motivoSaida = id("Motivo de Saída ")
        .get(String.class);

    dataSaida = id("Data de Saída / Novo Vencimento")
        .get(DATA_SAIDA);

    id("Data do Início da Rentabilidade").get(String.class);
    id("Data do Início da Distribuição").get(String.class);
    id("Data da Próxima Repactuação").get(String.class);
    id("Ato Societário (1)").get(String.class);
    id("Data do Ato (1)").get(String.class);
    id("Ato Societário (2)").get(String.class);
    id("Data do Ato (2)").get(String.class);
    id("Forma").get(String.class);
    id("Garantia/Espécie").get(String.class);
    id("Classe").get(String.class);

    quantidadeEmitida = id("Quantidade Emitida")
        .get(Long.class);

    artigo14 = id("Artigo 14º")
        .get(Long.class);

    artigo24 = id("Artigo 24º")
        .get(Long.class);

    quantidadeMercado = id("Quantidade em Mercado")
        .get(Long.class);

    quantidadeTesouraria = id("Quantidade em Tesouraria")
        .get(Long.class);

    quantidadeResgatada = id("Quantidade Resgatada")
        .get(Long.class);

    quantidadeCancelada = id("Quantidade Cancelada")
        .get(Long.class);

    quantidadeConvertida = id("Quantidade Convertida no SND")
        .get(Long.class);

    quantidadeConvertidaFora = id("Quantidade Convertida fora do SND")
        .get(Long.class);

    quantidadePermutada = id("Quantidade Permutada no SND")
        .get(Long.class);

    quantidadePermutadaFora = id("Quantidade Permutada fora do SND")
        .get(Long.class);

    id("Unidade Monetária (1)").get(String.class);

    valorNominalEmissao = id("Valor Nominal na Emissão")
        .get(Double.class);

    id("Unidade Monetária (2)").get(String.class);

    valorNominalAtual = id("Valor Nominal Atual")
        .get(Double.class);

    id("Data Últ. VNA").get(String.class);

    indice = id("Índice")
        .get(String.class);

    id("Tipo").get(String.class);
    id("Critério de Cálculo").get(String.class);
    id("Dia de Referência para Índice de Preços").get(String.class);
    id("Critério para Índice").get(String.class);
    id("Corrige a cada").get(String.class);
    id("Percentual Multiplicador/Rentabilidade").get(String.class);
    id("Limite da TJLP").get(String.class);
    id("Tipo de Tratamento do Limite da TJLP").get(String.class);
    id("Juros Critério Antigo do SND").get(String.class);
    id("Prêmios Critério Antigo do SND").get(String.class);
    id("Amortização - Taxa").get(String.class);
    id("Amortização - Cada").get(String.class);
    id("Amortização - Unidade").get(String.class);
    id("Amortização - Carência").get(String.class);
    id("Amortização - Critério").get(String.class);
    id("Tipo de Amortização").get(String.class);
    id("Juros Critério Novo - Taxa").get(String.class);
    id("Juros Critério Novo - Prazo").get(String.class);
    id("Juros Critério Novo - Cada").get(String.class);
    id("Juros Critério Novo - Unidade").get(String.class);
    id("Juros Critério Novo - Carência").get(String.class);
    id("Juros Critério Novo - Critério").get(String.class);
    id("Juros Critério Novo - Tipo").get(String.class);
    id("Prêmio Critério Novo - Taxa").get(String.class);
    id("Prêmio Critério Novo - Prazo").get(String.class);
    id("Prêmio Critério Novo - Cada").get(String.class);
    id("Prêmio Critério Novo - Unidade").get(String.class);
    id("Prêmio Critério Novo - Carência").get(String.class);
    id("Prêmio Critério Novo - Critério").get(String.class);
    id("Prêmio Critério Novo - Tipo").get(String.class);
    id("Participação - Taxa").get(String.class);
    id("Participação - Cada").get(String.class);
    id("Participação - Unidade").get(String.class);
    id("Participação - Carência").get(String.class);
    id("Participação - Descrição").get(String.class);
    id("Rating1").get(String.class);
    id("Agência Classificadora").get(String.class);
    id("Rating2").get(String.class);
    id("Agência Classificadora").get(String.class);
    id("Rating3").get(String.class);
    id("Agência Classificadora").get(String.class);
    id("Banco Mandatário").get(String.class);
    id("Agente Fiduciário").get(String.class);
    id("Instituição Depositária").get(String.class);
    id("Coordenador Líder").get(String.class);
    id("CNPJ").get(String.class);
    id("Deb. Incent. (Lei 12.431)").get(String.class);
  }

  @Override
  public LineKey codigo() {
    return codigo;
  }

  @Override
  public LineKey empresa() {
    return empresa;
  }

  @Override
  public LineKey serie() {
    return serie;
  }

  @Override
  public LineKey situacao() {
    return situacao;
  }

  @Override
  public LineKey emissao() {
    return emissao;
  }

  @Override
  public LineKey codigoIsin() {
    return codigoIsin;
  }

  @Override
  public LineKey dataEmissao() {
    return dataEmissao;
  }

  @Override
  public LineKey dataVencimento() {
    return dataVencimento;
  }

  @Override
  public LineKey motivoSaida() {
    return motivoSaida;
  }

  @Override
  public LineKey dataSaida() {
    return dataSaida;
  }

  @Override
  public LineKey quantidadeEmitida() {
    return quantidadeEmitida;
  }

  @Override
  public LineKey quantidadeMercado() {
    return quantidadeMercado;
  }

  @Override
  public LineKey artigo14() {
    return artigo14;
  }

  @Override
  public LineKey artigo24() {
    return artigo24;
  }

  @Override
  public LineKey quantidadeTesouraria() {
    return quantidadeTesouraria;
  }

  @Override
  public LineKey quantidadeResgatada() {
    return quantidadeResgatada;
  }

  @Override
  public LineKey quantidadeCancelada() {
    return quantidadeCancelada;
  }

  @Override
  public LineKey quantidadeConvertida() {
    return quantidadeConvertida;
  }

  @Override
  public LineKey quantidadeConvertidaFora() {
    return quantidadeConvertidaFora;
  }

  @Override
  public LineKey quantidadePermutada() {
    return quantidadePermutada;
  }

  @Override
  public LineKey quantidadePermutadaFora() {
    return quantidadePermutadaFora;
  }

  @Override
  public LineKey valorNominalEmissao() {
    return valorNominalEmissao;
  }

  @Override
  public LineKey valorNominalAtual() {
    return valorNominalAtual;
  }

  @Override
  public LineKey indice() {
    return indice;
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy