package org.smoothbuild.io.fs.mem; import java.io.InputStream; import java.io.OutputStream; import java.util.List; import org.smoothbuild.io.fs.base.Path; public class MemoryLink implements MemoryElement { private final MemoryDir parent; private final Path name; private final MemoryElement target; public MemoryLink(MemoryDir parent, Path name, MemoryElement target) { this.parent = parent; this.name = name; this.target = target; } public Path name() { return name; } public MemoryDir parent() { return parent; } public boolean isFile() { return target.isFile(); } public boolean isDir() { return target.isDir(); } public boolean hasChild(Path name) { return target.hasChild(name); } public MemoryElement child(Path name) { return target.child(name); } public List<Path> childNames() { return target.childNames(); } public void addChild(MemoryElement element) { target.addChild(element); } public InputStream openInputStream() { return target.openInputStream(); } public OutputStream openOutputStream() { return target.openOutputStream(); } }