/** {@inheritDoc} */ public void setAttribute(String name, Object value, int scope) { checkName(name); switch (scope) { case ENGINE_SCOPE: engineScope.put(name, value); break; case GLOBAL_SCOPE: if (globalScope != null) { globalScope.put(name, value); } break; default: throw new IllegalArgumentException("invalid scope"); } }
/** {@inheritDoc} */ public Object getAttribute(String name, int scope) { checkName(name); switch (scope) { case ENGINE_SCOPE: return engineScope.get(name); case GLOBAL_SCOPE: return globalScope != null ? globalScope.get(name) : null; default: throw new IllegalArgumentException("invalid scope"); } }
/** {@inheritDoc} */ public Object removeAttribute(String name, int scope) { checkName(name); switch (scope) { case ENGINE_SCOPE: return engineScope.remove(name); case GLOBAL_SCOPE: return globalScope != null ? globalScope.remove(name) : null; default: throw new IllegalArgumentException("invalid scope"); } }
/** {@inheritDoc} */ public Object getAttribute(String name) { checkName(name); final Object engineObject = engineScope.get(name); if (engineObject != null) { return engineObject; } else if (globalScope != null) { return globalScope.get(name); } else { return null; } }
/** {@inheritDoc} */ public int getAttributesScope(String name) { checkName(name); if (engineScope.containsKey(name)) { return ENGINE_SCOPE; } else if(globalScope != null && globalScope.containsKey(name)) { return GLOBAL_SCOPE; } return -1; }