Author: sebb Date: Tue Mar 24 23:46:37 2009 New Revision: 758092 URL: http://svn.apache.org/viewvc?rev=758092&view=rev Log: Add name checks as per spec. Use inherited Javadoc
Modified: jakarta/bsf/trunk/bsf3/bsf-api/src/main/java/javax/script/SimpleScriptContext.java Modified: jakarta/bsf/trunk/bsf3/bsf-api/src/main/java/javax/script/SimpleScriptContext.java URL: http://svn.apache.org/viewvc/jakarta/bsf/trunk/bsf3/bsf-api/src/main/java/javax/script/SimpleScriptContext.java?rev=758092&r1=758091&r2=758092&view=diff ============================================================================== --- jakarta/bsf/trunk/bsf3/bsf-api/src/main/java/javax/script/SimpleScriptContext.java (original) +++ jakarta/bsf/trunk/bsf3/bsf-api/src/main/java/javax/script/SimpleScriptContext.java Tue Mar 24 23:46:37 2009 @@ -63,20 +63,26 @@ writer = new PrintWriter(System.out, true); errorWriter = new PrintWriter(System.err, true); } + + /** + * Check if name is null or empty string + * @param name to be checked + */ + private void checkName(String name){ + if (name == null){ + throw new NullPointerException("name must not be null"); + } + if (name.length() == 0){ + throw new IllegalArgumentException("name must not be an empty string"); + } + } - /** - * Retrieves the value for getAttribute(String, int) for the - * lowest scope in which it returns a non-null value. - * - * @param name the name of the attribute - * @return the value of the attribute - */ - public Object getAttribute(String name) { + + /** {...@inheritdoc} */ + public Object getAttribute(String name) { + + checkName(name); - if (name == null) { - throw new IllegalArgumentException("name cannot be null"); - } - if (engineScope.get(name) != null) { return engineScope.get(name); } else if (globalScope.get(name) != null) { @@ -86,21 +92,10 @@ } } - /** - * Retrieves the value associated with specified name in the - * specified level of scope. Returns null if no value is - * associated with specified key in specified level of scope. - * - * @param name the name of the attribute - * @param scope the level of scope - * @return the value value associated with the specified name in - * specified level of scope - */ + /** {...@inheritdoc} */ public Object getAttribute(String name, int scope) { - if (name == null) { - throw new IllegalArgumentException("name cannot be null"); - } + checkName(name); switch (scope) { case ENGINE_SCOPE: @@ -112,17 +107,12 @@ } } - /** - * Retrieves the lowest value of scopes for which the attribute - * is defined. If there is no associate scope with the given - * attribute (-1) is returned. - * - * @param name the name of attribute - * @return the value of level of scope - */ + /** {...@inheritdoc} */ public int getAttributesScope(String name) { - if (engineScope.containsKey(name)) { + checkName(name); + + if (engineScope.containsKey(name)) { return ENGINE_SCOPE; } else if(globalScope.containsKey(name)) { return GLOBAL_SCOPE; @@ -131,14 +121,7 @@ return -1; } - /** - * Retrieves the Namespace instance associated with the specified - * level of scope. - * - * @param scope the level of the scope - * @return the namespace associated with the specified level of - * scope - */ + /** {...@inheritdoc} */ public Bindings getBindings(int scope) { switch (scope) { @@ -147,24 +130,14 @@ case GLOBAL_SCOPE: return globalScope; default: - return null; // shouldn't I throw an IllegalArgumentException + throw new IllegalArgumentException("invalid scope"); } } - /** - * Removes the specified attribute form the specified level of - * scope. - * - * @param name the name of the attribute - * @param scope the level of scope - * @return value which is removed - * @throws IllegalArgumentException - */ + /** {...@inheritdoc} */ public Object removeAttribute(String name, int scope) { - if (name == null) { - throw new IllegalArgumentException("name is null"); - } + checkName(name); switch (scope) { case ENGINE_SCOPE: @@ -176,21 +149,10 @@ } } - /** - * Sets an attribute specified by the name in specified level of - * scope. - * - * @param name the name of the attribute - * @param value the value of the attribute - * @param scope the level of the scope - * @throws IllegalArgumentException if the name is null scope is - * invalid - */ + /** {...@inheritdoc} */ public void setAttribute(String name, Object value, int scope) { - if (name == null) { - throw new IllegalArgumentException("name is null"); - } + checkName(name); switch (scope) { case ENGINE_SCOPE: @@ -200,18 +162,11 @@ globalScope.put(name, value); break; default: - throw new IllegalArgumentException("invaild scope"); + throw new IllegalArgumentException("invalid scope"); } } - /** - * Associates the specified namespace with specified level of - * scope. - * - * @param namespace the namespace to be associated with specified - * level of scope - * @param scope the level of scope - */ + /** {...@inheritdoc} */ public void setBindings(Bindings namespace, int scope) { switch (scope) { @@ -225,34 +180,41 @@ globalScope = namespace; break; default: - throw new IllegalArgumentException("invaild scope"); + throw new IllegalArgumentException("invalid scope"); } } + /** {...@inheritdoc} */ public List getScopes() { return SCOPES; } + /** {...@inheritdoc} */ public Reader getReader() { return reader; } + /** {...@inheritdoc} */ public void setReader(Reader reader) { this.reader = reader; } + /** {...@inheritdoc} */ public Writer getWriter() { return writer; } + /** {...@inheritdoc} */ public void setWriter(Writer writer) { this.writer = writer; } + /** {...@inheritdoc} */ public Writer getErrorWriter() { return errorWriter; } + /** {...@inheritdoc} */ public void setErrorWriter(Writer writer) { this.errorWriter = writer; } --------------------------------------------------------------------- To unsubscribe, e-mail: bsf-dev-unsubscr...@jakarta.apache.org For additional commands, e-mail: bsf-dev-h...@jakarta.apache.org