package php.runtime.memory.support.operation;
import php.runtime.Memory;
import php.runtime.env.Environment;
import php.runtime.env.TraceInfo;
import php.runtime.memory.BinaryMemory;
import php.runtime.memory.support.MemoryOperation;
public class BinaryMemoryOperation extends MemoryOperation<byte[]> {
@Override
public Class<?>[] getOperationClasses() {
return new Class<?>[] { byte[].class };
}
@Override
public byte[] convert(Environment environment, TraceInfo traceInfo, Memory memory) throws Throwable {
return memory.getBinaryBytes(environment.getDefaultCharset());
}
@Override
public Memory unconvert(Environment environment, TraceInfo traceInfo, byte[] bytes) throws Throwable {
return bytes == null ? Memory.NULL : new BinaryMemory(bytes);
}
}