package com.mobilesorcery.sdk.html5.debug;
import java.util.List;
public interface IRedefinable {
/**
* A 'primary key' of this {@link IRedefinable}. To be able to redefine, the
* primary key of this {@link IRedefinable} and another must match.
*
* @return
*/
public String key();
/**
* Performs a redefinition; this method delegates to a {@link IRedefinable}
* and traverses the tree of child redefinitions.
* @see IRedefiner
* @param replacement
* @param redefiner
*/
public void redefine(IRedefinable replacement, IRedefiner redefiner);
public List<IRedefinable> getChildren();
public IRedefinable getParent();
public void addChild(IRedefinable child);
public IRedefinable getChild(String key);
}