/** * Get target. * * @param context the context to get target from * @param isInstallPhase is it install phase * @return context's target */ protected Object getTarget(ControllerContext context, boolean isInstallPhase) { Object target; if (isInstallPhase) { if (context instanceof ContextTracking && owner instanceof ControllerContext) target = ContextTracking.class.cast(context).getTarget(ControllerContext.class.cast(owner)); else target = context.getTarget(); } else { if (context instanceof ContextTracking && owner instanceof ControllerContext) target = ContextTracking.class.cast(context).ungetTarget(ControllerContext.class.cast(owner)); else target = context.getTarget(); } return target; }
/** * Unget target. * Try tracking. * * @param user the target's user * @param used the target's owner * @return target */ protected static Object ungetTarget(ControllerContext user, ControllerContext used) { if (used instanceof ContextTracking) { ContextTracking ct = ContextTracking.class.cast(used); ct.ungetTarget(user); } return null; }
/** * Get target. * Try tracking. * * @param user the target's user * @param used the target's owner * @return target */ protected static Object getTarget(ControllerContext user, ControllerContext used) { if (used instanceof ContextTracking) { ContextTracking ct = ContextTracking.class.cast(used); return ct.getTarget(user); } else { return used.getTarget(); } }
public Object ungetTarget(ControllerContext context) { Object user = getActualUser(context); ContextTracker myTracker = getContextTracker(); if (myTracker != null) myTracker.decrementUsedBy(this, user); if (context instanceof ContextTracking) { ContextTracking ct = ContextTracking.class.cast(context); ContextTracker otherTracker = ct.getContextTracker(); if (otherTracker != null && otherTracker != myTracker) otherTracker.decrementUsedBy(this, user); } return ungetTargetForActualUser(user); }
public Object getTarget(ControllerContext context) { Object user = getActualUser(context); Object result = getTargetForActualUser(user); ContextTracker myTracker = getContextTracker(); if (myTracker != null) myTracker.incrementUsedBy(this, user); if (context instanceof ContextTracking) { ContextTracking ct = ContextTracking.class.cast(context); ContextTracker otherTracker = ct.getContextTracker(); if (otherTracker != null && otherTracker != myTracker) otherTracker.incrementUsedBy(this, user); } return result; }