package com.zillabyte.motherbrain.container; import java.io.File; import org.apache.commons.codec.binary.StringUtils; import com.zillabyte.motherbrain.flow.Flow; /**** * A convenience wrapper * @author jake * */ public class ContainerWrapper implements Container { /** * */ private static final long serialVersionUID = 3233736891964331523L; private Container _delegate; public void start() throws ContainerException { _delegate.start(); } public ContainerExecuteBuilder buildCommand() { return _delegate.buildCommand(); } public File getFlowRoot(String flowId) throws ContainerException { return getFile(ContainerPathHelper.internalPathForFlow(flowId)); } public void writeFile(String internalPath, byte[] contents) throws ContainerException { _delegate.writeFile(internalPath, contents); } public void writeFile(String internalPath, String contents) throws ContainerException { _delegate.writeFile(internalPath, StringUtils.getBytesUtf8(contents)); } public void writeFileInFlowDirectory(String flowId, String name, String contents) throws ContainerException { String internalPath = ContainerPathHelper.internalPathForFlow(flowId) + "/" + name; _delegate.writeFile(internalPath, StringUtils.getBytesUtf8(contents)); } public byte[] readFileAsBytes(String file) throws ContainerException { return _delegate.readFileAsBytes(file); } public String readFileAsString(String file) throws ContainerException { return StringUtils.newStringUtf8(_delegate.readFileAsBytes(file)); } public void cleanup() throws ContainerException { _delegate.cleanup(); } public ContainerWrapper(Container delegate) { _delegate = delegate; } public Container getDelegate() { return _delegate; } @Override public void createDirectory(String path) throws ContainerException { _delegate.createDirectory(path); } @Override public File getRoot() { return _delegate.getRoot(); } @Override public void cacheFlow(Flow flow) { _delegate.cacheFlow(flow); } @Override public Flow maybeGetCachedFlow(String id, Integer version) { return _delegate.maybeGetCachedFlow(id, version); } @Override public File getFile(String internalPath) throws ContainerException { return _delegate.getFile(internalPath); } }