Android Open Source - jpdroid Jpdroid Csv Converter






From Project

Back to project page jpdroid.

License

The source code is released under:

GNU General Public License

If you think the Android project jpdroid listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package br.com.rafael.jpdroid.converters;
/* w  w  w .j  a v a 2 s . co  m*/
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import android.database.Cursor;
import android.util.Log;
import br.com.rafael.jpdroid.annotations.Entity;
import br.com.rafael.jpdroid.annotations.RelationClass;

/**
 * Classe respons?vel pela convers?o objetos para o formato CSV.
 * 
 * @author Rafael Centenaro
 */
public class JpdroidCsvConverter {

  private static StringBuilder arquivo = null;

  public static String toCsv(Object entity) throws Exception {
    arquivo = new StringBuilder();
    return getCsv(entity);
  }

  public static String toCsv(Cursor cursor) throws Exception {
    arquivo = new StringBuilder();
    return getCsv(cursor);
  }

  public static String getCsv(Object entity) throws Exception {
    Object[] element = null;
    String linha = "";
    String cabecalho = "";
    arquivo.append(cabecalho);

    if (entity instanceof List) {
      element = ((List<?>) entity).toArray(new Object[((List<?>) entity).size()]);

    } else {
      element = new Object[1];
      element[0] = entity;
    }

    for (Object item : element) {
      linha = "";
      cabecalho = "";

      Class<?> classe = item.getClass();
      Field[] declaredFields = classe.getDeclaredFields();
      Collections.reverse(Arrays.asList(declaredFields));
      for (Field field : declaredFields) {
        field.setAccessible(true);
        Object child = field.get(item);
        if (child != null) {
          if (!(child instanceof List || child.getClass().getAnnotation(Entity.class) != null)) {
            if (cabecalho.length() == 0) {
              cabecalho = field.getName();
            } else {
              cabecalho += ";" + field.getName();
            }
            if (linha.length() == 0) {
              linha = child.toString();
            } else {
              linha += ";" + child.toString();
            }
          }
        } else {
          if (field.getAnnotation(RelationClass.class) == null) {
            if (cabecalho.length() == 0) {
              cabecalho = field.getName();
            } else {
              cabecalho += ";" + field.getName();
            }
            if (linha.length() == 0) {
              linha = "null";
            } else {
              linha += ";null";
            }
          }
        }
      }
      arquivo.append("\n");
      arquivo.append(linha);
    }

    arquivo.insert(0, cabecalho);
    return arquivo.toString();
  }

  public static String getCsv(Cursor cursor) {
    String linha = "";
    String cabecalho = "";
    arquivo.append(cabecalho);

    cursor.moveToFirst();
    while (cursor.isAfterLast() == false) {
      linha = "";
      cabecalho = "";
      int totalColumn = cursor.getColumnCount();

      for (int i = 0; i < totalColumn; i++) {
        if (cursor.getColumnName(i) != null) {
          if (cabecalho.length() == 0) {
            cabecalho = cursor.getColumnName(i);
          } else {
            cabecalho += ";" + cursor.getColumnName(i);
          }
          try {

            if (cursor.getString(i) != null) {
              if (linha.length() == 0) {
                linha = cursor.getString(i);
              } else {
                linha += ";" + cursor.getString(i);
              }
            } else {
              if (linha.length() == 0) {
                linha = "null";
              } else {
                linha += ";null";
              }
            }
          } catch (Exception e) {
            Log.d("TAG_NAME", e.getMessage());
          }
        }

      }
      arquivo.append("\n");
      arquivo.append(linha);
      cursor.moveToNext();
    }

    arquivo.insert(0, cabecalho);
    return arquivo.toString();
  }

}




Java Source Code List

br.com.rafael.jpdroid.annotations.Column.java
br.com.rafael.jpdroid.annotations.DefaultOrder.java
br.com.rafael.jpdroid.annotations.DtoField.java
br.com.rafael.jpdroid.annotations.Dto.java
br.com.rafael.jpdroid.annotations.Entity.java
br.com.rafael.jpdroid.annotations.ForeignKey.java
br.com.rafael.jpdroid.annotations.Ignorable.java
br.com.rafael.jpdroid.annotations.PrimaryKey.java
br.com.rafael.jpdroid.annotations.RelationClass.java
br.com.rafael.jpdroid.annotations.ViewColumn.java
br.com.rafael.jpdroid.converters.JpdroidCsvConverter.java
br.com.rafael.jpdroid.converters.JpdroidDateUtil.java
br.com.rafael.jpdroid.converters.JpdroidDtoConverter.java
br.com.rafael.jpdroid.converters.JpdroidJsonConverter.java
br.com.rafael.jpdroid.converters.JpdroidMatrixCursorConverter.java
br.com.rafael.jpdroid.converters.JpdroidXmlConverter.java
br.com.rafael.jpdroid.core.JpdroidAbout.java
br.com.rafael.jpdroid.core.JpdroidDbHelper.java
br.com.rafael.jpdroid.core.JpdroidEntityValidation.java
br.com.rafael.jpdroid.core.JpdroidObjectMap.java
br.com.rafael.jpdroid.core.JpdroidTransaction.java
br.com.rafael.jpdroid.core.JpdroidWriteFile.java
br.com.rafael.jpdroid.core.Jpdroid.java
br.com.rafael.jpdroid.enums.Order.java
br.com.rafael.jpdroid.enums.RelationType.java
br.com.rafael.jpdroid.enums.ScriptPath.java
br.com.rafael.jpdroid.exceptions.JpdroidException.java
br.com.rafael.jpdroid.interfaces.ITransaction.java
br.com.rafael.jpdroid.util.JpdroidConverter.java
br.com.rafael.jpdroid.util.JpdroidCsvFile.java
br.com.rafael.jpdroid.util.JpdroidJsonFile.java
br.com.rafael.jpdroid.util.JpdroidXmlFile.java
br.com.rafael.pedidojpdroid.ContatoActivity.java
br.com.rafael.pedidojpdroid.EnderecoActivity.java
br.com.rafael.pedidojpdroid.ExportacoesActivity.java
br.com.rafael.pedidojpdroid.ImportacoesActivity.java
br.com.rafael.pedidojpdroid.ItensPedidoActivity.java
br.com.rafael.pedidojpdroid.ListaCidadesActivity.java
br.com.rafael.pedidojpdroid.ListaContatoActivity.java
br.com.rafael.pedidojpdroid.ListaEnderecoActivity.java
br.com.rafael.pedidojpdroid.ListaItensPedidoActivity.java
br.com.rafael.pedidojpdroid.ListaPedidoActivity.java
br.com.rafael.pedidojpdroid.ListaPessoaActivity.java
br.com.rafael.pedidojpdroid.ListaProdutoActivity.java
br.com.rafael.pedidojpdroid.ListagemPedidoActivity.java
br.com.rafael.pedidojpdroid.ListagemPessoaActivity.java
br.com.rafael.pedidojpdroid.ListagemProdutoActivity.java
br.com.rafael.pedidojpdroid.PedidoActivity.java
br.com.rafael.pedidojpdroid.PesquisaDialogActivity.java
br.com.rafael.pedidojpdroid.PessoaActivity.java
br.com.rafael.pedidojpdroid.PrincipalActivity.java
br.com.rafael.pedidojpdroid.ProdutoActivity.java
br.com.rafael.pedidojpdroid.SobreActivity.java
br.com.rafael.pedidojpdroid.dto.ContatoDTO.java
br.com.rafael.pedidojpdroid.dto.PessoaDTO.java
br.com.rafael.pedidojpdroid.entity.Cidade.java
br.com.rafael.pedidojpdroid.entity.Contato.java
br.com.rafael.pedidojpdroid.entity.Endereco.java
br.com.rafael.pedidojpdroid.entity.Estado.java
br.com.rafael.pedidojpdroid.entity.ItensPedido.java
br.com.rafael.pedidojpdroid.entity.Pedido.java
br.com.rafael.pedidojpdroid.entity.Pessoa.java
br.com.rafael.pedidojpdroid.entity.Produto.java
com.rafael.androidcomjpdroid.ContatoActivity.java
com.rafael.androidcomjpdroid.MainActivity.java
com.rafael.androidcomjpdroid.PessoaActivity.java
com.rafael.androidcomjpdroid.entity.Contato.java
com.rafael.androidcomjpdroid.entity.Pessoa.java
com.rafael.androidcomjpdroid.entity.TipoContato.java