package org.dodgybits.shuffle.android.core.configuration; import org.dodgybits.shuffle.android.core.model.Context; import org.dodgybits.shuffle.android.core.model.Project; import org.dodgybits.shuffle.android.core.model.Task; import org.dodgybits.shuffle.android.core.model.encoding.ContextEncoder; import org.dodgybits.shuffle.android.core.model.encoding.EntityEncoder; import org.dodgybits.shuffle.android.core.model.encoding.ProjectEncoder; import org.dodgybits.shuffle.android.core.model.encoding.TaskEncoder; import org.dodgybits.shuffle.android.core.model.persistence.ContextPersister; import org.dodgybits.shuffle.android.core.model.persistence.DefaultEntityCache; import org.dodgybits.shuffle.android.core.model.persistence.EntityCache; import org.dodgybits.shuffle.android.core.model.persistence.EntityPersister; import org.dodgybits.shuffle.android.core.model.persistence.ProjectPersister; import org.dodgybits.shuffle.android.core.model.persistence.TaskPersister; import roboguice.config.AbstractAndroidModule; import com.google.inject.TypeLiteral; public class ShuffleModule extends AbstractAndroidModule { @Override protected void configure() { bind(new TypeLiteral<EntityCache<Context>>() {}).to(new TypeLiteral<DefaultEntityCache<Context>>() {}); bind(new TypeLiteral<EntityCache<Project>>() {}).to(new TypeLiteral<DefaultEntityCache<Project>>() {}); bind(new TypeLiteral<EntityPersister<Context>>() {}).to(ContextPersister.class); bind(new TypeLiteral<EntityPersister<Project>>() {}).to(ProjectPersister.class); bind(new TypeLiteral<EntityPersister<Task>>() {}).to(TaskPersister.class); bind(new TypeLiteral<EntityEncoder<Context>>() {}).to(ContextEncoder.class); bind(new TypeLiteral<EntityEncoder<Project>>() {}).to(ProjectEncoder.class); bind(new TypeLiteral<EntityEncoder<Task>>() {}).to(TaskEncoder.class); } }