FileDocCategorySizeDatePackage
AggregatorManager.javaAPI DocAndroid 5.1 API5990Thu Mar 12 22:22:48 GMT 2015android.bordeaux.services

AggregatorManager

public class AggregatorManager extends IAggregatorManager.Stub

Fields Summary
private final String
TAG
private static HashMap
mAggregators
private static HashMap
sFeatureMap
private static AggregatorManager
mManager
private String
mFakeLocation
private String
mFakeTimeOfDay
private String
mFakeDayOfWeek
Constructors Summary
private AggregatorManager()


      
        sFeatureMap = new HashMap<String, Aggregator>();
    
Methods Summary
public java.util.ArrayListgetData(java.lang.String dataName)

        return getList(getDataMap(dataName));
    
public java.util.MapgetDataMap(java.lang.String dataName)

        if (sFeatureMap.get(dataName) != null)
            return sFeatureMap.get(dataName).getFeatureValue(dataName);
        else
            Log.e(TAG, "There is no feature called " + dataName);
        return null;
    
public java.util.ListgetDayOfWeekValues()

        TimeStatsAggregator agg = (TimeStatsAggregator)
                mAggregators.get(TimeStatsAggregator.class.getName());
        if (agg == null) return new ArrayList<String>();
        return agg.getDayOfWeekValues();
    
public booleangetFakeMode()

        boolean fakeMode = false;
        // checking any features that are in the fake mode
        if (mFakeLocation != null && mFakeLocation.length() != 0)
            fakeMode = true;
        if (mFakeTimeOfDay != null && mFakeTimeOfDay.length() != 0)
            fakeMode = true;
        if (mFakeDayOfWeek != null && mFakeDayOfWeek.length() != 0)
            fakeMode = true;
        return fakeMode;
    
public static android.bordeaux.services.AggregatorManagergetInstance()

        if (mManager == null )
            mManager = new AggregatorManager();
        return mManager;
    
private java.util.ArrayListgetList(java.util.Map sample)

        ArrayList<StringString> StringString_sample = new ArrayList<StringString>();
        for (Map.Entry<String, String> x : sample.entrySet()) {
           StringString v = new StringString();
           v.key = x.getKey();
           v.value = x.getValue();
           StringString_sample.add(v);
        }
        return StringString_sample;
    
public java.lang.String[]getListOfFeatures()

        String[] s = new String[sFeatureMap.size()];
        int i = 0;
        for (Map.Entry<String, Aggregator> x : sFeatureMap.entrySet()) {
           s[i] = x.getKey();
           i++;
        }
        return s;
    
public java.util.ListgetLocationClusters()

        LocationStatsAggregator agg = (LocationStatsAggregator)
                mAggregators.get(LocationStatsAggregator.class.getName());
        if (agg == null) return new ArrayList<String> ();
        return agg.getClusterNames();
    
public java.util.ListgetTimeOfDayValues()

        TimeStatsAggregator agg = (TimeStatsAggregator)
                mAggregators.get(TimeStatsAggregator.class.getName());
        if (agg == null) return new ArrayList<String>();
        return agg.getTimeOfDayValues();
    
public voidregisterAggregator(Aggregator agg, android.bordeaux.services.AggregatorManager m)

        if (mAggregators.get(agg.getClass().getName()) != null) {
            // only one instance
            // throw new RuntimeException("Can't register more than one instance");
        }
        mAggregators.put(agg.getClass().getName(), agg);
        agg.setManager(m);
        String[] fl = agg.getListOfFeatures();
        for ( int i  = 0; i< fl.length; i ++)
            sFeatureMap.put(fl[i], agg);
    
public booleansetFakeDayOfWeek(java.lang.String day_of_week)

        TimeStatsAggregator agg = (TimeStatsAggregator)
                mAggregators.get(TimeStatsAggregator.class.getName());
        if (agg == null) return false;
        agg.setFakeDayOfWeek(day_of_week);
        mFakeDayOfWeek = day_of_week;
        return true;
    
public booleansetFakeLocation(java.lang.String location)

        LocationStatsAggregator agg = (LocationStatsAggregator)
                mAggregators.get(LocationStatsAggregator.class.getName());
        if (agg == null) return false;
        agg.setFakeLocation(location);
        mFakeLocation = location;
        return true;
    
public booleansetFakeTimeOfDay(java.lang.String time_of_day)

        TimeStatsAggregator agg = (TimeStatsAggregator)
                mAggregators.get(TimeStatsAggregator.class.getName());
        if (agg == null) return false;
        agg.setFakeTimeOfDay(time_of_day);
        mFakeTimeOfDay = time_of_day;
        return true;