public Object getActive(final String name) { final String internalName = ACTIVE_VARIABLE + name; if (containsKey(internalName, false)) { trackAccess(internalName); return internalGet(this, internalName, false); } final EclipseContext originatingContext = this; runAndTrack( new RunAndTrack() { public boolean changed(IEclipseContext context) { IEclipseContext activeContext = getActiveLeaf(); Object result = activeContext.get(name); originatingContext.set(internalName, result); return true; } }); trackAccess(internalName); return internalGet(this, internalName, true); }
public IEclipseContext getActiveChild() { trackAccess(ACTIVE_CHILD); return (EclipseContext) internalGet(this, ACTIVE_CHILD, true); }
public Object get(String name) { trackAccess(name); return internalGet(this, name, false); }
public Object getLocal(String name) { trackAccess(name); return internalGet(this, name, true); }
public boolean containsKey(String name) { trackAccess(name); return containsKey(name, false); }