package io.cattle.platform.process.common.generic;
import io.cattle.platform.engine.process.AbstractProcessDefinition;
import io.cattle.platform.engine.process.LaunchConfiguration;
import io.cattle.platform.engine.process.ProcessState;
import io.cattle.platform.engine.process.StateTransition;
import io.cattle.platform.engine.process.impl.ResourceStatesDefinition;
import io.cattle.platform.json.JsonMapper;
import io.cattle.platform.object.ObjectManager;
import java.util.List;
import javax.inject.Inject;
public class GenericResourceProcessDefinition extends AbstractProcessDefinition {
String resourceType;
ResourceStatesDefinition statesDefinition;
ObjectManager objectManager;
JsonMapper jsonMapper;
@Override
public ProcessState constructProcessState(LaunchConfiguration config) {
return new GenericResourceProcessState(jsonMapper, statesDefinition, config, objectManager);
}
public ObjectManager getObjectManager() {
return objectManager;
}
@Inject
public void setObjectManager(ObjectManager objectManager) {
this.objectManager = objectManager;
}
public ResourceStatesDefinition getStatesDefinition() {
return statesDefinition;
}
@Inject
public void setStatesDefinition(ResourceStatesDefinition statesDefinition) {
this.statesDefinition = statesDefinition;
}
public JsonMapper getJsonMapper() {
return jsonMapper;
}
@Inject
public void setJsonMapper(JsonMapper jsonMapper) {
this.jsonMapper = jsonMapper;
}
@Override
public String getResourceType() {
return resourceType;
}
@Inject
public void setResourceType(String resourceType) {
this.resourceType = resourceType;
}
@Override
public List<StateTransition> getStateTransitions() {
return statesDefinition.getStateTransitions();
}
}