public String[] parseLine(String line,boolean withLabel,boolean trace,boolean ignoreEmpty){
  if (trace)   log.config("" + line);
  ArrayList<String> list=new ArrayList<String>();
  for (int i=0; i < m_rows.size(); i++) {
    ImpFormatRow row=(ImpFormatRow)m_rows.get(i);
    StringBuffer entry=new StringBuffer();
    if (withLabel) {
      entry.append(row.getColumnName());
      entry.append("=");
      if (row.isString())       entry.append("'");
 else       if (row.isDate())       entry.append("TO_DATE('");
    }
    String info=null;
    if (row.isConstant())     info="Constant";
 else     if (m_formatType.equals(X_AD_ImpFormat.FORMATTYPE_FixedPosition)) {
      if (row.getStartNo() > 0 && row.getEndNo() <= line.length())       info=line.substring(row.getStartNo() - 1,row.getEndNo());
    }
 else {
      info=parseFlexFormat(line,m_formatType,row.getStartNo());
    }
    if (Util.isEmpty(info,true)) {
      if (row.getDefaultValue() != null)       info=row.getDefaultValue();
 else       info="";
    }
    entry.append(row.parse(info));
    if (withLabel) {
      if (row.isString())       entry.append("'");
 else       if (row.isDate())       entry.append("','YYYY-MM-DD HH24:MI:SS')");
    }
    if (!ignoreEmpty || (ignoreEmpty && info.length() != 0))     list.add(entry.toString());
    if (trace)     log.fine(info + "=>" + entry.toString()+ " (Length="+ info.length()+ ")");
  }
  String[] retValue=new String[list.size()];
  list.toArray(retValue);
  return retValue;
}

public String [ ] parseLine ( String line , boolean withLabel , boolean trace , boolean ignoreEmpty ) { if ( trace ) log . config ( "" + line ) ; ArrayList < String > list = new ArrayList < String > ( ) ; for ( int i = 0 ; i < m_rows . size ( ) ; i ++ ) { ImpFormatRow row = ( ImpFormatRow ) m_rows . get ( i ) ; StringBuffer entry = new StringBuffer ( ) ; if ( withLabel ) { entry . append ( row . getColumnName ( ) ) ; entry . append ( "=" ) ; if ( row . isString ( ) ) entry . append ( "'" ) ; else if ( row . isDate ( ) ) entry . append ( "TO_DATE('" ) ; } String info = null ; if ( row . isConstant ( ) ) info = "Constant" ; else if ( m_formatType . equals ( X_AD_ImpFormat . FORMATTYPE_FixedPosition ) ) { if ( row . getStartNo ( ) > 0 && row . getEndNo ( ) <= line . length ( ) ) info = line . substring ( row . getStartNo ( ) - 1 , row . getEndNo ( ) ) ; } else { info = parseFlexFormat ( line , m_formatType , row . getStartNo ( ) ) ; } if ( Util . isEmpty ( info , true ) ) { if ( row . getDefaultValue ( ) != null ) info = row . getDefaultValue ( ) ; else info = "" ; } entry . append ( row . parse ( info ) ) ; if ( withLabel ) { if ( row . isString ( ) ) entry . append ( "'" ) ; else if ( row . isDate ( ) ) entry . append ( "','YYYY-MM-DD HH24:MI:SS')" ) ; } if ( ! ignoreEmpty || ( ignoreEmpty && info . length ( ) != 0 ) ) list . add ( entry . toString ( ) ) ; if ( trace ) log . fine ( info + "=>" + entry . toString ( ) + " (Length=" + info . length ( ) + ")" ) ; } String [ ] retValue = new String [ list . size ( ) ] ; list . toArray ( retValue ) ; return retValue ; }
parse line returns arraylist of values
