package php.runtime.memory.support.operation; import php.runtime.Memory; import php.runtime.env.Environment; import php.runtime.env.TraceInfo; import php.runtime.ext.core.classes.stream.FileObject; import php.runtime.memory.ObjectMemory; import php.runtime.memory.support.MemoryOperation; import java.io.File; public class FileMemoryOperation extends MemoryOperation<File> { @Override public Class<?>[] getOperationClasses() { return new Class<?>[] { File.class }; } @Override public File convert(Environment env, TraceInfo trace, Memory arg) throws Throwable { return arg.isNull() ? null : FileObject.valueOf(arg); } @Override public Memory unconvert(Environment env, TraceInfo trace, File arg) throws Throwable { return arg == null ? Memory.NULL : ObjectMemory.valueOf(new FileObject(env, arg)); } }