package com.dc.cowbird.parser;
import android.database.Cursor;
import android.util.Log;
import com.dc.cowbird.Constants;
import com.dc.cowbird.vo.Protocol;
/**
* Created by coutinho on 26/08/15.
*/
public class SMSParserFactory {
private static SMSParserFactory instance;
SMSParser[] parsers;
SMSParserFactory() {
parsers = new SMSParser[]{new VivoSMS(), new TimSMS(), new Tim2SMS(), new ClaroSMS(), new OiSMS()};
}
public static Protocol getInstance(Long date, String subject, String body, String address) {
if (instance == null) {
instance = new SMSParserFactory();
}
for (SMSParser parser : instance.parsers) {
if (parser.canParse(address, body)) {
Log.d(Constants.LOG_TAG, parser + " " + address + ": '" + body + "'");
return parser.getProtocol(address, body, date, subject);
}
}
return null;
}
public static Protocol getInstance(Cursor c) {
Long date = c.getLong(c.getColumnIndex("date"));
String subject = c.getString(c.getColumnIndex("subject"));
String body = c.getString(c.getColumnIndex("body"));
String address = c.getString(c.getColumnIndex("address"));
return getInstance(date, subject, body, address);
}
}