package io.pivotal.arca.fragments; import android.os.Bundle; import android.support.v4.app.Fragment; import io.pivotal.arca.dispatcher.Query; import io.pivotal.arca.dispatcher.QueryListener; import io.pivotal.arca.monitor.ArcaDispatcher; import io.pivotal.arca.monitor.RequestMonitor; public abstract class ArcaQuerySupportFragment extends Fragment implements QueryListener { private ArcaDispatcher mDispatcher; @Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); mDispatcher = onCreateDispatcher(savedInstanceState); } public ArcaDispatcher onCreateDispatcher(final Bundle savedInstanceState) { return ArcaDispatcherFactory.generateDispatcher(this); } protected ArcaDispatcher getRequestDispatcher() { return mDispatcher; } protected RequestMonitor getRequestMonitor() { final ArcaDispatcher dispatcher = getRequestDispatcher(); if (dispatcher != null) { return dispatcher.getRequestMonitor(); } else { return null; } } protected void setRequestMonitor(final RequestMonitor monitor) { final ArcaDispatcher dispatcher = getRequestDispatcher(); if (dispatcher != null) { dispatcher.setRequestMonitor(monitor); } } protected void execute(final Query query) { final ArcaDispatcher dispatcher = getRequestDispatcher(); if (dispatcher != null) { dispatcher.execute(query, this); } } }