package com.monitorabrasil.participacidadao.stores; import com.monitorabrasil.participacidadao.actions.Action; import com.monitorabrasil.participacidadao.actions.PoliticoActions; import com.monitorabrasil.participacidadao.dispatcher.Dispatcher; import com.parse.ParseObject; import com.squareup.otto.Subscribe; import java.util.ArrayList; import java.util.List; /** * Created by Geraldo on 13/08/2015. */ public class PoliticoStore extends Store{ private static PoliticoStore instance; private String status; private String evento; private List<ParseObject> politicos; private ParseObject politico; protected PoliticoStore(Dispatcher dispatcher) { super(dispatcher); politicos = new ArrayList<>(); } public static PoliticoStore get(Dispatcher dispatcher) { if (instance == null) { instance = new PoliticoStore(dispatcher); } return instance; } public ParseObject getPolitico(){return politico;} public List<ParseObject> getPoliticos(){ return politicos; } @Override @Subscribe public void onAction(Action action) { status = "erro"; this.evento = action.getType(); switch (action.getType()) { case PoliticoActions.POLITICO_GET_ALL: politicos = ((List<ParseObject>) action.getData().get(PoliticoActions.KEY_TEXT)); status = "sucesso"; emitStoreChange(); break; case PoliticoActions.POLITICO_GET_INFOS: politico = ((ParseObject) action.getData().get(PoliticoActions.KEY_TEXT)); emitStoreChange(); break; } } @Override StoreChangeEvent changeEvent() { PoliticoStoreChangeEvent mPoliticoStoreChangeEvent = new PoliticoStoreChangeEvent(); mPoliticoStoreChangeEvent.status = this.status; mPoliticoStoreChangeEvent.evento = this.evento; return mPoliticoStoreChangeEvent; } public class PoliticoStoreChangeEvent implements StoreChangeEvent { private String status; private String evento; public String getEvento() { return evento; } public String getStatus() { return status; } } }