package com.beijunyi.parallelgit.filesystem.io;
import java.io.IOException;
import javax.annotation.Nullable;
public abstract class GfsChange {
public void applyTo(DirectoryNode dir, String name) throws IOException {
Node currentNode = dir.getChild(name);
Node newNode = convertNode(currentNode, dir);
if(newNode == null) {
dir.removeChild(name);
} else {
dir.addChild(name, newNode, true);
}
}
@Nullable
protected abstract Node convertNode(@Nullable Node node, DirectoryNode parent);
}