Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6295362

The specification for javax.script.SimpleScriptContext is incomplete

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 6
    • 6
    • core-libs
    • b91
    • generic
    • generic

      The specification for class javax.script.SimpleScriptContext does not clarify the following things:
      1. The specification for fields "reader", "writer" and "errorWriter" does not mention relation of these fields with corresponding getters and setters (getWriter(), setWriter(Writer writer), getReader(), setReader(Reader reader), getErrorWriter(), setErrorWriter(Writer writer)). That is wrong.
      2. The purpose of fields "reader", "writer" and "errorWriter" does not specified.
      3. The charset used for character conversion from bytes to characters in InputStreamReader in "reader" field does not specified. If the default charset is used this also should be specified.
      4. Javadoc for fields "reader", "writer", "errorWriter", "engineScope" and "globalScope" does not have hyperlinks for mentioned classes and fields: SimpleBindings, PrintWriter, System.in and others.
      5. Javadoc for fields "errorWriter" and "writer" is not clear. For field "writer" is says: "By default, a PrintWriter based on System.out is used.". Does it mean that actual class of default value for this field will be java.io.PrintWriter or it could be any descendant of this class?
      ###@###.### 2005-07-11 16:24:41 GMT
      6. Minor typo in Javadoc for method public void setBindings(Bindings bindings, int scope).
      Text of specification: "NullPointerException - is the value of scope is ENGINE_SCOPE and the specified Bindings is null."
      Should be: "NullPointerException - if the value of scope is ENGINE_SCOPE and the specified Bindings is null."
      ###@###.### 2005-07-15 18:30:19 GMT

      Also NullPointerException and IllegalArgumentException are not specified for the following methods of javax.script.SimpleScriptContext:

      1. public Object getAttribute(String name) - NPE if name is null and IllegalArgumentException if name is empty string.

      2. public Object getAttribute(String name, int scope) - NPE if name is null and IllegalArgumentException if name is empty string or scope is invalid.

      3. public Object removeAttribute(String name, int scope) - NPE if name is null and IllegalArgumentException if name is empty string or scope is invalid.

      4. public void setAttribute(String name, Object value, int scope) - NPE if name is null and IllegalArgumentException if name is empty string or scope is invalid.

      5. public int getAttributesScope(String name) - NPE if name is null and IllegalArgumentException if name is empty string.
      Issue #6 in listed in bug description is not fixed.
      For a lot methods exceptions listed in "throws" sections is not a hyperlinks. These methods:
      public void setBindings(Bindings bindings, int scope)
      public Object getAttribute(String name)
      public Object getAttribute(String name, int scope)
      public Object removeAttribute(String name, int scope)
      public void setAttribute(String name, Object value, int scope)

            sundar Sundararajan Athijegannathan
            ashurygisunw Alexey Shurygin (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: