package com.jakeapp.violet.context; import javax.inject.Inject; import com.jakeapp.jake.fss.IFSService; import com.jakeapp.jake.ics.ICService; import com.jakeapp.jake.ics.filetransfer.IFileTransferService; import com.jakeapp.violet.actions.project.connect.ConnectProjectActionsFactory; import com.jakeapp.violet.actions.project.interact.InteractProjectActionsFactory; import com.jakeapp.violet.actions.project.local.LocalProjectActionsFactory; import com.jakeapp.violet.model.Log; import com.jakeapp.violet.model.ProjectPreferences; public class ContextFactory implements IContextFactory { @Inject private LocalProjectActionsFactory localActions; @Inject private ConnectProjectActionsFactory connectActions; @Inject private InteractProjectActionsFactory interactActions; @Override public Context createContext(ProjectModel model, ProjectActions actions) { return new Context(model, actions); } @Override public ProjectActions createProjectActions() { return new ProjectActions(localActions, connectActions, interactActions); } @Override public ProjectModel createProjectModel(IFSService fss, Log log, ProjectPreferences preferences, ICService ics, IFileTransferService transfer) { return new ProjectModel(fss, log, preferences, ics, transfer); } public void setConnectActions(ConnectProjectActionsFactory connectActions) { this.connectActions = connectActions; } public void setInteractActions(InteractProjectActionsFactory interactActions) { this.interactActions = interactActions; } public void setLocalActions(LocalProjectActionsFactory localActions) { this.localActions = localActions; } }