package org.exist.client.xacml;
public abstract class AbstractTreeNode implements XACMLTreeNode
{
private NodeContainer parent;
private boolean modified;
private AbstractTreeNode() {}
protected AbstractTreeNode(NodeContainer parent)
{
this.parent = parent;
this.modified = true;
}
public NodeContainer getParent()
{
return parent;
}
public boolean isModified(boolean deep)
{
return modified;
}
public void revert(boolean deep)
{
modified = false;
fireChanged();
}
public void commit(boolean deep)
{
modified = false;
}
public void setModified(boolean flag)
{
modified = flag;
fireChanged();
}
protected void fireChanged()
{
if(parent != null)
parent.nodeChanged(this);
}
}