package com.jetbrains.actionscript.profiler.base;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeNode;
public abstract class LazyNode extends DefaultMutableTreeNode {
private boolean myChildrenLoaded;
@Override
public int getChildCount() {
loadChildren();
return super.getChildCount();
}
@Override
public TreeNode getChildAt(int index) {
loadChildren();
return super.getChildAt(index);
}
private void loadChildren() {
if (!myChildrenLoaded) {
myChildrenLoaded = true;
doLoadChildren();
}
}
protected abstract void doLoadChildren();
}