--- a/.hgtags Fri Apr 24 15:45:25 2015 +0300
+++ b/.hgtags Mon Apr 27 09:17:39 2015 -0700
@@ -302,3 +302,5 @@
ddb95d8f169b09544cc17e72a6baaff2400092f5 jdk9-b57
f40752db7773ca0c737f2ad88371e35c57fdfed7 jdk9-b58
da950f343762a856d69751570a4c07cfa68a415b jdk9-b59
+38f98cb6b33562a926ec3b79c7b34128be37647d jdk9-b60
+ac3f5a39d4ff14d70c365e12cf5ec8f2abd52a04 jdk9-b61
--- a/.hgtags-top-repo Fri Apr 24 15:45:25 2015 +0300
+++ b/.hgtags-top-repo Mon Apr 27 09:17:39 2015 -0700
@@ -302,3 +302,5 @@
f25ee9f62427a9ba27418e5531a89754791a305b jdk9-b57
6e78dd9b121037719a065fe8fb25b936babdfecb jdk9-b58
39e8a131289e8386aa4c3e4b184faa812a7c0421 jdk9-b59
+9fa2185bee17462d1014538bff60af6e6f0b01e7 jdk9-b60
+ea38728b4f4bdd8fd0d7a89b18069f521cf05013 jdk9-b61
--- a/README-builds.html Fri Apr 24 15:45:25 2015 +0300
+++ b/README-builds.html Mon Apr 27 09:17:39 2015 -0700
@@ -41,7 +41,8 @@
The build is now a "<code>configure && make</code>" style build
</li>
<li>
- Any GNU make 3.81 or newer should work
+ Any GNU make 3.81 or newer should work, except on
+ Windows where 4.0 or newer is recommended.
</li>
<li>
The build should scale, i.e. more processors should
@@ -358,8 +359,8 @@
For all systems:
<ul>
<li>
- Be sure the GNU make utility is version 3.81 or newer,
- e.g. run "<code>make -version</code>"
+ Be sure the GNU make utility is version 3.81 (4.0 on
+ windows) or newer, e.g. run "<code>make -version</code>"
</li>
<li>
Install a
@@ -1726,10 +1727,10 @@
A few notes about using GNU make:
<ul>
<li>
- You need GNU make version 3.81 or newer.
- If the GNU make utility on your systems is not
- 3.81 or newer,
- see <a href="#buildgmake">"Building GNU make"</a>.
+ You need GNU make version 3.81 or newer. On Windows 4.0 or
+ newer is recommended.
+ If the GNU make utility on your systems is not of a suitable
+ version see <a href="#buildgmake">"Building GNU make"</a>.
</li>
<li>
Place the location of the GNU make binary in the
--- a/common/autoconf/basics.m4 Fri Apr 24 15:45:25 2015 +0300
+++ b/common/autoconf/basics.m4 Mon Apr 27 09:17:39 2015 -0700
@@ -658,8 +658,6 @@
fi
OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}"
$MKDIR -p "$OUTPUT_ROOT"
- CONFIGURESUPPORT_OUTPUTDIR="$OUTPUT_ROOT/configure-support"
- $MKDIR -p "$CONFIGURESUPPORT_OUTPUTDIR"
if test ! -d "$OUTPUT_ROOT"; then
AC_MSG_ERROR([Could not create build directory $OUTPUT_ROOT])
fi
@@ -702,6 +700,9 @@
BASIC_FIXUP_PATH(OUTPUT_ROOT)
+ CONFIGURESUPPORT_OUTPUTDIR="$OUTPUT_ROOT/configure-support"
+ $MKDIR -p "$CONFIGURESUPPORT_OUTPUTDIR"
+
AC_SUBST(SPEC, $OUTPUT_ROOT/spec.gmk)
AC_SUBST(CONF_NAME, $CONF_NAME)
AC_SUBST(OUTPUT_ROOT, $OUTPUT_ROOT)
@@ -730,6 +731,16 @@
[
MAKE_CANDIDATE="$1"
DESCRIPTION="$2"
+
+ # On Cygwin, we require a newer version of make than on other platforms
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ MAKE_VERSION_EXPR="-e 4\."
+ MAKE_REQUIRED_VERSION="4.0"
+ else
+ MAKE_VERSION_EXPR="-e 3\.8[[12]] -e 4\."
+ MAKE_REQUIRED_VERSION="3.81"
+ fi
+
if test "x$MAKE_CANDIDATE" != x; then
AC_MSG_NOTICE([Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION])
MAKE_VERSION_STRING=`$MAKE_CANDIDATE --version | $HEAD -n 1`
@@ -737,9 +748,9 @@
if test "x$IS_GNU_MAKE" = x; then
AC_MSG_NOTICE([Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring.])
else
- IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP -e '3\.8[[12]]' -e '4\.'`
+ IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
if test "x$IS_MODERN_MAKE" = x; then
- AC_MSG_NOTICE([Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring.])
+ AC_MSG_NOTICE([Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring.])
else
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -803,7 +814,7 @@
fi
BASIC_CHECK_MAKE_VERSION("$MAKE", [user supplied MAKE=$MAKE])
if test "x$FOUND_MAKE" = x; then
- AC_MSG_ERROR([The specified make (by MAKE=$MAKE) is not GNU make 3.81 or newer.])
+ AC_MSG_ERROR([The specified make (by MAKE=$MAKE) is not GNU make $MAKE_REQUIRED_VERSION or newer.])
fi
else
# Try our hardest to locate a correct version of GNU make
@@ -831,13 +842,13 @@
fi
if test "x$FOUND_MAKE" = x; then
- AC_MSG_ERROR([Cannot find GNU make 3.81 or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure.])
+ AC_MSG_ERROR([Cannot find GNU make $MAKE_REQUIRED_VERSION or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure.])
fi
fi
MAKE=$FOUND_MAKE
AC_SUBST(MAKE)
- AC_MSG_NOTICE([Using GNU make 3.81 (or later) at $FOUND_MAKE (version: $MAKE_VERSION_STRING)])
+ AC_MSG_NOTICE([Using GNU make at $FOUND_MAKE (version: $MAKE_VERSION_STRING)])
BASIC_CHECK_MAKE_OUTPUT_SYNC
])
--- a/common/autoconf/generated-configure.sh Fri Apr 24 15:45:25 2015 +0300
+++ b/common/autoconf/generated-configure.sh Mon Apr 27 09:17:39 2015 -0700
@@ -745,8 +745,6 @@
JTREGEXE
USING_BROKEN_SUSE_LD
PACKAGE_PATH
-LDEXECXX
-LDEXE
USE_CLANG
HOTSPOT_LD
HOTSPOT_CXX
@@ -4365,7 +4363,7 @@
#CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1428676283
+DATE_WHEN_GENERATED=1429271657
###############################################################################
#
@@ -15266,8 +15264,6 @@
fi
OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}"
$MKDIR -p "$OUTPUT_ROOT"
- CONFIGURESUPPORT_OUTPUTDIR="$OUTPUT_ROOT/configure-support"
- $MKDIR -p "$CONFIGURESUPPORT_OUTPUTDIR"
if test ! -d "$OUTPUT_ROOT"; then
as_fn_error $? "Could not create build directory $OUTPUT_ROOT" "$LINENO" 5
fi
@@ -15445,6 +15441,9 @@
fi
+ CONFIGURESUPPORT_OUTPUTDIR="$OUTPUT_ROOT/configure-support"
+ $MKDIR -p "$CONFIGURESUPPORT_OUTPUTDIR"
+
SPEC=$OUTPUT_ROOT/spec.gmk
CONF_NAME=$CONF_NAME
@@ -15530,6 +15529,16 @@
MAKE_CANDIDATE=""$MAKE""
DESCRIPTION="user supplied MAKE=$MAKE"
+
+ # On Cygwin, we require a newer version of make than on other platforms
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ MAKE_VERSION_EXPR="-e 4\."
+ MAKE_REQUIRED_VERSION="4.0"
+ else
+ MAKE_VERSION_EXPR="-e 3\.8[12] -e 4\."
+ MAKE_REQUIRED_VERSION="3.81"
+ fi
+
if test "x$MAKE_CANDIDATE" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5
$as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;}
@@ -15539,10 +15548,10 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5
$as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;}
else
- IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP -e '3\.8[12]' -e '4\.'`
+ IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
if test "x$IS_MODERN_MAKE" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
-$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
+$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
else
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -15855,7 +15864,7 @@
fi
if test "x$FOUND_MAKE" = x; then
- as_fn_error $? "The specified make (by MAKE=$MAKE) is not GNU make 3.81 or newer." "$LINENO" 5
+ as_fn_error $? "The specified make (by MAKE=$MAKE) is not GNU make $MAKE_REQUIRED_VERSION or newer." "$LINENO" 5
fi
else
# Try our hardest to locate a correct version of GNU make
@@ -15907,6 +15916,16 @@
MAKE_CANDIDATE=""$CHECK_GMAKE""
DESCRIPTION="gmake in PATH"
+
+ # On Cygwin, we require a newer version of make than on other platforms
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ MAKE_VERSION_EXPR="-e 4\."
+ MAKE_REQUIRED_VERSION="4.0"
+ else
+ MAKE_VERSION_EXPR="-e 3\.8[12] -e 4\."
+ MAKE_REQUIRED_VERSION="3.81"
+ fi
+
if test "x$MAKE_CANDIDATE" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5
$as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;}
@@ -15916,10 +15935,10 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5
$as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;}
else
- IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP -e '3\.8[12]' -e '4\.'`
+ IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
if test "x$IS_MODERN_MAKE" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
-$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
+$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
else
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -16281,6 +16300,16 @@
MAKE_CANDIDATE=""$CHECK_MAKE""
DESCRIPTION="make in PATH"
+
+ # On Cygwin, we require a newer version of make than on other platforms
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ MAKE_VERSION_EXPR="-e 4\."
+ MAKE_REQUIRED_VERSION="4.0"
+ else
+ MAKE_VERSION_EXPR="-e 3\.8[12] -e 4\."
+ MAKE_REQUIRED_VERSION="3.81"
+ fi
+
if test "x$MAKE_CANDIDATE" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5
$as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;}
@@ -16290,10 +16319,10 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5
$as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;}
else
- IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP -e '3\.8[12]' -e '4\.'`
+ IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
if test "x$IS_MODERN_MAKE" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
-$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
+$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
else
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -16660,6 +16689,16 @@
MAKE_CANDIDATE=""$CHECK_TOOLSDIR_GMAKE""
DESCRIPTION="gmake in tools-dir"
+
+ # On Cygwin, we require a newer version of make than on other platforms
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ MAKE_VERSION_EXPR="-e 4\."
+ MAKE_REQUIRED_VERSION="4.0"
+ else
+ MAKE_VERSION_EXPR="-e 3\.8[12] -e 4\."
+ MAKE_REQUIRED_VERSION="3.81"
+ fi
+
if test "x$MAKE_CANDIDATE" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5
$as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;}
@@ -16669,10 +16708,10 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5
$as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;}
else
- IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP -e '3\.8[12]' -e '4\.'`
+ IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
if test "x$IS_MODERN_MAKE" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
-$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
+$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
else
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -17033,6 +17072,16 @@
MAKE_CANDIDATE=""$CHECK_TOOLSDIR_MAKE""
DESCRIPTION="make in tools-dir"
+
+ # On Cygwin, we require a newer version of make than on other platforms
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ MAKE_VERSION_EXPR="-e 4\."
+ MAKE_REQUIRED_VERSION="4.0"
+ else
+ MAKE_VERSION_EXPR="-e 3\.8[12] -e 4\."
+ MAKE_REQUIRED_VERSION="3.81"
+ fi
+
if test "x$MAKE_CANDIDATE" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5
$as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;}
@@ -17042,10 +17091,10 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5
$as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;}
else
- IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP -e '3\.8[12]' -e '4\.'`
+ IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
if test "x$IS_MODERN_MAKE" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
-$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
+$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
else
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -17363,14 +17412,14 @@
fi
if test "x$FOUND_MAKE" = x; then
- as_fn_error $? "Cannot find GNU make 3.81 or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure." "$LINENO" 5
+ as_fn_error $? "Cannot find GNU make $MAKE_REQUIRED_VERSION or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure." "$LINENO" 5
fi
fi
MAKE=$FOUND_MAKE
- { $as_echo "$as_me:${as_lineno-$LINENO}: Using GNU make 3.81 (or later) at $FOUND_MAKE (version: $MAKE_VERSION_STRING)" >&5
-$as_echo "$as_me: Using GNU make 3.81 (or later) at $FOUND_MAKE (version: $MAKE_VERSION_STRING)" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Using GNU make at $FOUND_MAKE (version: $MAKE_VERSION_STRING)" >&5
+$as_echo "$as_me: Using GNU make at $FOUND_MAKE (version: $MAKE_VERSION_STRING)" >&6;}
# Check if make supports the output sync option and if so, setup using it.
@@ -40837,13 +40886,6 @@
fi
- # LDEXE is the linker to use, when creating executables. Not really used.
- # FIXME: These should just be removed!
- LDEXE="$LD"
- LDEXECXX="$LDCXX"
-
-
-
--- a/common/autoconf/spec.gmk.in Fri Apr 24 15:45:25 2015 +0300
+++ b/common/autoconf/spec.gmk.in Mon Apr 27 09:17:39 2015 -0700
@@ -182,6 +182,7 @@
FULL_VERSION=$(RELEASE)-$(JDK_BUILD_NUMBER)
endif
JRE_RELEASE_VERSION:=$(FULL_VERSION)
+JDK_VERSION_FOR_MANIFEST := $(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(if $(JDK_UPDATE_VERSION),$(JDK_UPDATE_VERSION),0).$(COOKED_BUILD_NUMBER)
# How to compile the code: release, fastdebug or slowdebug
DEBUG_LEVEL:=@DEBUG_LEVEL@
@@ -354,10 +355,6 @@
LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@
LDFLAGS_JDKLIB_SUFFIX:=@LDFLAGS_JDKLIB_SUFFIX@
-# On some platforms the linker cannot be used to create executables, thus
-# the need for a separate LDEXE command.
-LDEXE:=@FIXPATH@ @LDEXE@
-
# LDFLAGS used to link the jdk native launchers (C-code)
LDFLAGS_JDKEXE:=@LDFLAGS_JDKEXE@
LDFLAGS_JDKEXE_SUFFIX:=@LDFLAGS_JDKEXE_SUFFIX@
@@ -370,9 +367,6 @@
# The flags for linking libstdc++ linker.
LIBCXX:=@LIBCXX@
-# Sometimes a different linker is needed for c++ executables
-LDEXECXX:=@FIXPATH@ @LDEXECXX@
-
# Compiler and linker flags used when building native tests
CFLAGS_TESTLIB:=@CFLAGS_TESTLIB@
CXXFLAGS_TESTLIB:=@CXXFLAGS_TESTLIB@
--- a/common/autoconf/toolchain.m4 Fri Apr 24 15:45:25 2015 +0300
+++ b/common/autoconf/toolchain.m4 Mon Apr 27 09:17:39 2015 -0700
@@ -662,13 +662,6 @@
USE_CLANG=true
fi
AC_SUBST(USE_CLANG)
-
- # LDEXE is the linker to use, when creating executables. Not really used.
- # FIXME: These should just be removed!
- LDEXE="$LD"
- LDEXECXX="$LDCXX"
- AC_SUBST(LDEXE)
- AC_SUBST(LDEXECXX)
])
# Do some additional checks on the detected tools.
--- a/common/bin/unshuffle_list.txt Fri Apr 24 15:45:25 2015 +0300
+++ b/common/bin/unshuffle_list.txt Mon Apr 27 09:17:39 2015 -0700
@@ -1294,6 +1294,9 @@
jdk/src/jdk.crypto.pkcs11/windows/native/libj2pkcs11/p11_md.c : jdk/src/windows/native/sun/security/pkcs11/wrapper/p11_md.c
jdk/src/jdk.crypto.pkcs11/windows/native/libj2pkcs11/p11_md.h : jdk/src/windows/native/sun/security/pkcs11/wrapper/p11_md.h
jdk/src/jdk.deploy.osx/macosx/classes/com/apple/concurrent/package.html : jdk/src/macosx/classes/com/apple/concurrent/package.html
+jdk/src/jdk.deploy.osx/macosx/classes/apple/applescript : jdk/src/macosx/classes/apple/applescript
+jdk/src/jdk.deploy.osx/macosx/classes/apple/security : jdk/src/macosx/classes/apple/security
+jdk/src/jdk.deploy.osx/macosx/classes/com/apple/concurrent : jdk/src/macosx/classes/com/apple/concurrent
jdk/src/jdk.deploy.osx/macosx/native/libapplescriptengine : jdk/src/macosx/native/apple/applescript
jdk/src/jdk.deploy.osx/macosx/native/libosx/CFileManager.m : jdk/src/macosx/native/com/apple/eio/CFileManager.m
jdk/src/jdk.deploy.osx/macosx/native/libosx/Dispatch.m : jdk/src/macosx/native/com/apple/concurrent/Dispatch.m
--- a/corba/.hgtags Fri Apr 24 15:45:25 2015 +0300
+++ b/corba/.hgtags Mon Apr 27 09:17:39 2015 -0700
@@ -302,3 +302,5 @@
d8ebf1a5b18ccbc849f5bf0f80aa3d78583eee68 jdk9-b57
86dd5de1f5cb09073019bd629e22cfcd012d8b4b jdk9-b58
cda6ae062f85fac5555f4e1318885b0ecd998bd1 jdk9-b59
+caa330b275f39282793466529f6864766b31d9fd jdk9-b60
+d690f489ca0bb95a6157d996da2fa72bcbcf02ea jdk9-b61
--- a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/corba/RequestImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/corba/RequestImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -65,6 +65,7 @@
import com.sun.corba.se.spi.logging.CORBALogDomains;
import com.sun.corba.se.impl.logging.ORBUtilSystemException;
import com.sun.corba.se.impl.corba.AsynchInvoke;
+import com.sun.corba.se.impl.transport.ManagedLocalsThread;
public class RequestImpl
extends Request
@@ -255,7 +256,7 @@
public synchronized void send_deferred()
{
AsynchInvoke invokeObject = new AsynchInvoke(_orb, this, false);
- new Thread(invokeObject).start();
+ new ManagedLocalsThread(invokeObject).start();
}
public synchronized boolean poll_response()
--- a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Fri Apr 24 15:45:25 2015 +0300
+++ b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -1768,43 +1768,59 @@
switch (field.getTypeCode()) {
case 'B':
byte byteValue = orbStream.read_octet();
- bridge.putByte( o, field.getFieldID(), byteValue ) ;
- //reflective code: field.getField().setByte( o, byteValue ) ;
+ if (field.getField() != null) {
+ bridge.putByte( o, field.getFieldID(), byteValue ) ;
+ //reflective code: field.getField().setByte( o, byteValue ) ;
+ }
break;
case 'Z':
boolean booleanValue = orbStream.read_boolean();
- bridge.putBoolean( o, field.getFieldID(), booleanValue ) ;
- //reflective code: field.getField().setBoolean( o, booleanValue ) ;
+ if (field.getField() != null) {
+ bridge.putBoolean( o, field.getFieldID(), booleanValue ) ;
+ //reflective code: field.getField().setBoolean( o, booleanValue ) ;
+ }
break;
case 'C':
char charValue = orbStream.read_wchar();
- bridge.putChar( o, field.getFieldID(), charValue ) ;
- //reflective code: field.getField().setChar( o, charValue ) ;
+ if (field.getField() != null) {
+ bridge.putChar( o, field.getFieldID(), charValue ) ;
+ //reflective code: field.getField().setChar( o, charValue ) ;
+ }
break;
case 'S':
short shortValue = orbStream.read_short();
- bridge.putShort( o, field.getFieldID(), shortValue ) ;
- //reflective code: field.getField().setShort( o, shortValue ) ;
+ if (field.getField() != null) {
+ bridge.putShort( o, field.getFieldID(), shortValue ) ;
+ //reflective code: field.getField().setShort( o, shortValue ) ;
+ }
break;
case 'I':
int intValue = orbStream.read_long();
- bridge.putInt( o, field.getFieldID(), intValue ) ;
- //reflective code: field.getField().setInt( o, intValue ) ;
+ if (field.getField() != null) {
+ bridge.putInt( o, field.getFieldID(), intValue ) ;
+ //reflective code: field.getField().setInt( o, intValue ) ;
+ }
break;
case 'J':
long longValue = orbStream.read_longlong();
- bridge.putLong( o, field.getFieldID(), longValue ) ;
- //reflective code: field.getField().setLong( o, longValue ) ;
+ if (field.getField() != null) {
+ bridge.putLong( o, field.getFieldID(), longValue ) ;
+ //reflective code: field.getField().setLong( o, longValue ) ;
+ }
break;
case 'F' :
float floatValue = orbStream.read_float();
- bridge.putFloat( o, field.getFieldID(), floatValue ) ;
- //reflective code: field.getField().setFloat( o, floatValue ) ;
+ if (field.getField() != null) {
+ bridge.putFloat( o, field.getFieldID(), floatValue ) ;
+ //reflective code: field.getField().setFloat( o, floatValue ) ;
+ }
break;
case 'D' :
double doubleValue = orbStream.read_double();
- bridge.putDouble( o, field.getFieldID(), doubleValue ) ;
- //reflective code: field.getField().setDouble( o, doubleValue ) ;
+ if (field.getField() != null) {
+ bridge.putDouble( o, field.getFieldID(), doubleValue ) ;
+ //reflective code: field.getField().setDouble( o, doubleValue ) ;
+ }
break;
default:
// XXX I18N, logging needed.
@@ -2217,9 +2233,6 @@
if (o != null) {
for (int i = 0; i < primFields; ++i) {
- if (fields[i].getField() == null)
- continue;
-
inputPrimitiveField(o, cl, fields[i]);
}
}
--- a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java Fri Apr 24 15:45:25 2015 +0300
+++ b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
package com.sun.corba.se.impl.io;
import java.io.IOException;
+import java.io.NotActiveException;
import java.io.OutputStream;
import java.io.ObjectOutputStream;
import java.io.ObjectOutput;
@@ -154,7 +155,9 @@
public ObjectOutputStream.PutField putFields()
throws IOException {
- putFields = new HookPutFields();
+ if (putFields == null) {
+ putFields = new HookPutFields();
+ }
return putFields;
}
@@ -175,8 +178,11 @@
throws IOException {
writeObjectState.defaultWriteObject(this);
-
- putFields.write(this);
+ if (putFields != null) {
+ putFields.write(this);
+ } else {
+ throw new NotActiveException("no current PutField object");
+ }
}
abstract org.omg.CORBA_2_3.portable.OutputStream getOrbStream();
--- a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java Fri Apr 24 15:45:25 2015 +0300
+++ b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -112,6 +112,8 @@
import com.sun.corba.se.impl.logging.UtilSystemException;
import com.sun.corba.se.spi.logging.CORBALogDomains;
import sun.corba.SharedSecrets;
+import com.sun.corba.se.impl.transport.ManagedLocalsThread;
+
/**
* Provides utility methods that can be used by stubs and ties to
@@ -750,7 +752,7 @@
}
}
-class KeepAlive extends Thread
+class KeepAlive extends ManagedLocalsThread
{
boolean quit = false;
--- a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/oa/poa/POAImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/oa/poa/POAImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -103,6 +103,7 @@
import com.sun.corba.se.impl.orbutil.concurrent.SyncUtil ;
import com.sun.corba.se.impl.orbutil.concurrent.ReentrantMutex ;
import com.sun.corba.se.impl.orbutil.concurrent.CondVar ;
+import com.sun.corba.se.impl.transport.ManagedLocalsThread;
/**
* POAImpl is the implementation of the Portable Object Adapter. It
@@ -516,7 +517,7 @@
// Converted from anonymous class to local class
// so that we can call performDestroy() directly.
- static class DestroyThread extends Thread {
+ static class DestroyThread extends ManagedLocalsThread {
private boolean wait ;
private boolean etherealize ;
private boolean debug ;
--- a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/oa/poa/POAManagerImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/oa/poa/POAManagerImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -48,6 +48,7 @@
import com.sun.corba.se.impl.logging.POASystemException ;
import com.sun.corba.se.impl.orbutil.ORBUtility ;
+import com.sun.corba.se.impl.transport.ManagedLocalsThread;
/** POAManagerImpl is the implementation of the POAManager interface.
* Its public methods are activate(), hold_requests(), discard_requests()
@@ -357,7 +358,7 @@
if (wait_for_completion)
deactivator.run() ;
else {
- Thread thr = new Thread(deactivator) ;
+ Thread thr = new ManagedLocalsThread(deactivator) ;
thr.start() ;
}
} finally {
--- a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/oa/poa/POAPolicyMediatorImpl_R_USM.java Fri Apr 24 15:45:25 2015 +0300
+++ b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/oa/poa/POAPolicyMediatorImpl_R_USM.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,6 @@
package com.sun.corba.se.impl.oa.poa ;
import java.util.Set ;
-
import org.omg.CORBA.SystemException ;
import org.omg.PortableServer.ServantActivator ;
@@ -50,6 +49,7 @@
import com.sun.corba.se.spi.oa.OAInvocationInfo ;
import com.sun.corba.se.spi.oa.NullServant ;
+import com.sun.corba.se.impl.transport.ManagedLocalsThread;
/** Implementation of POARequesHandler that provides policy specific
* operations on the POA.
@@ -303,13 +303,14 @@
throw new WrongPolicy();
}
- class Etherealizer extends Thread {
+ class Etherealizer extends ManagedLocalsThread {
private POAPolicyMediatorImpl_R_USM mediator ;
private ActiveObjectMap.Key key ;
private AOMEntry entry ;
private Servant servant ;
private boolean debug ;
+
public Etherealizer( POAPolicyMediatorImpl_R_USM mediator,
ActiveObjectMap.Key key, AOMEntry entry, Servant servant,
boolean debug )
--- a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -165,6 +165,7 @@
import com.sun.corba.se.impl.logging.ORBUtilSystemException;
import com.sun.corba.se.impl.copyobject.CopierManagerImpl;
import com.sun.corba.se.impl.presentation.rmi.PresentationManagerImpl;
+import com.sun.corba.se.impl.transport.ManagedLocalsThread;
/**
* The JavaIDL ORB implementation.
@@ -691,7 +692,7 @@
for (int i = 0; i < req.length; i++) {
AsynchInvoke invokeObject = new AsynchInvoke( this,
(com.sun.corba.se.impl.corba.RequestImpl)req[i], true);
- new Thread(invokeObject).start();
+ new ManagedLocalsThread(invokeObject).start();
}
}
--- a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -54,6 +54,7 @@
import com.sun.corba.se.impl.logging.ORBUtilSystemException;
import com.sun.corba.se.impl.orbutil.ORBConstants;
import com.sun.corba.se.spi.logging.CORBALogDomains;
+import com.sun.corba.se.impl.transport.ManagedLocalsThread;
public class ThreadPoolImpl implements ThreadPool
{
@@ -459,7 +460,7 @@
}
- private class WorkerThread extends Thread implements Closeable
+ private class WorkerThread extends ManagedLocalsThread implements Closeable
{
private Work currentWork;
private int threadId = 0; // unique id for the thread
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/transport/ManagedLocalsThread.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.corba.se.impl.transport;
+
+import sun.misc.Unsafe;
+import java.lang.reflect.Field;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/**
+ * A thread that has it's thread locals, and inheritable thread
+ * locals erased on construction.
+ */
+public class ManagedLocalsThread extends Thread {
+ private static final Unsafe UNSAFE;
+ private static final long THREAD_LOCALS;
+ private static final long INHERITABLE_THREAD_LOCALS;
+
+ public ManagedLocalsThread () {
+ super();
+ }
+
+ public ManagedLocalsThread(String name) {
+ super(name);
+ eraseThreadLocals();
+ }
+ public ManagedLocalsThread(Runnable target) {
+ super(target);
+ eraseThreadLocals();
+ }
+
+ public ManagedLocalsThread(Runnable target, String name) {
+ super(target, name);
+ eraseThreadLocals();
+ }
+
+ public ManagedLocalsThread(ThreadGroup group, Runnable target, String name) {
+ super(group, target, name);
+ eraseThreadLocals();
+ }
+
+ public ManagedLocalsThread(ThreadGroup group, String name) {
+ super(group, name);
+ eraseThreadLocals();
+ }
+
+ /**
+ * Drops all thread locals (and inherited thread locals).
+ */
+ public final void eraseThreadLocals() {
+ UNSAFE.putObject(this, THREAD_LOCALS, null);
+ UNSAFE.putObject(this, INHERITABLE_THREAD_LOCALS, null);
+ }
+
+ private static Unsafe getUnsafe() {
+ PrivilegedAction<Unsafe> pa = () -> {
+ Class<?> unsafeClass = sun.misc.Unsafe.class;
+ try {
+ Field f = unsafeClass.getDeclaredField("theUnsafe");
+ f.setAccessible(true);
+ return (Unsafe) f.get(null);
+ } catch (Exception e) {
+ throw new Error(e);
+ }
+ };
+ return AccessController.doPrivileged(pa);
+ }
+
+ private static long getThreadFieldOffset(String fieldName) {
+ PrivilegedAction<Long> pa = () -> {
+ Class<?> t = Thread.class;
+ long fieldOffset;
+ try {
+ fieldOffset = UNSAFE.objectFieldOffset(t
+ .getDeclaredField("inheritableThreadLocals"));
+ } catch (Exception e) {
+ throw new Error(e);
+ }
+ return fieldOffset;
+ };
+ return AccessController.doPrivileged(pa);
+ }
+
+ static {
+ UNSAFE = getUnsafe();
+ try {
+ THREAD_LOCALS = getThreadFieldOffset("threadLocals");
+ INHERITABLE_THREAD_LOCALS = getThreadFieldOffset("inheritableThreadLocals");
+ } catch (Exception e) {
+ throw new Error(e);
+ }
+ }
+}
--- a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/transport/SelectorImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/transport/SelectorImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -57,7 +57,7 @@
*/
class SelectorImpl
extends
- Thread
+ ManagedLocalsThread
implements
com.sun.corba.se.pept.transport.Selector
{
--- a/hotspot/.hgtags Fri Apr 24 15:45:25 2015 +0300
+++ b/hotspot/.hgtags Mon Apr 27 09:17:39 2015 -0700
@@ -462,3 +462,5 @@
56a85ffe743d3f9d70ba25d6ce82ddd2ad1bf33c jdk9-b57
ee878f3d6732856f7725c590312bfbe2ffa52cc7 jdk9-b58
96bcaec07cb165782bae1b9a1f28450b37a10e3a jdk9-b59
+9c916db4bf3bc164a47b5a9cefe5ffd71e111f6a jdk9-b60
+715d2da5801c410746e92f08066d53bde1496286 jdk9-b61
--- a/hotspot/src/cpu/aarch64/vm/aarch64.ad Fri Apr 24 15:45:25 2015 +0300
+++ b/hotspot/src/cpu/aarch64/vm/aarch64.ad Mon Apr 27 09:17:39 2015 -0700
@@ -793,38 +793,832 @@
}
};
- bool preceded_by_ordered_load(const Node *barrier);
+ // graph traversal helpers
+ MemBarNode *has_parent_membar(const Node *n,
+ ProjNode *&ctl, ProjNode *&mem);
+ MemBarNode *has_child_membar(const MemBarNode *n,
+ ProjNode *&ctl, ProjNode *&mem);
+
+ // predicates controlling emit of ldr<x>/ldar<x> and associated dmb
+ bool unnecessary_acquire(const Node *barrier);
+ bool needs_acquiring_load(const Node *load);
+
+ // predicates controlling emit of str<x>/stlr<x> and associated dmbs
+ bool unnecessary_release(const Node *barrier);
+ bool unnecessary_volatile(const Node *barrier);
+ bool needs_releasing_store(const Node *store);
// Use barrier instructions rather than load acquire / store
// release.
- const bool UseBarriersForVolatile = true;
+ const bool UseBarriersForVolatile = false;
+ // Use barrier instructions for unsafe volatile gets rather than
+ // trying to identify an exact signature for them
+ const bool UseBarriersForUnsafeVolatileGet = false;
%}
source %{
- // AArch64 has load acquire and store release instructions which we
- // use for ordered memory accesses, e.g. for volatiles. The ideal
- // graph generator also inserts memory barriers around volatile
- // accesses, and we don't want to generate both barriers and acq/rel
- // instructions. So, when we emit a MemBarAcquire we look back in
- // the ideal graph for an ordered load and only emit the barrier if
- // we don't find one.
-
-bool preceded_by_ordered_load(const Node *barrier) {
+ // AArch64 has ldar<x> and stlr<x> instructions which we can safely
+ // use to implement volatile reads and writes. For a volatile read
+ // we simply need
+ //
+ // ldar<x>
+ //
+ // and for a volatile write we need
+ //
+ // stlr<x>
+ //
+ // Alternatively, we can implement them by pairing a normal
+ // load/store with a memory barrier. For a volatile read we need
+ //
+ // ldr<x>
+ // dmb ishld
+ //
+ // for a volatile write
+ //
+ // dmb ish
+ // str<x>
+ // dmb ish
+ //
+ // In order to generate the desired instruction sequence we need to
+ // be able to identify specific 'signature' ideal graph node
+ // sequences which i) occur as a translation of a volatile reads or
+ // writes and ii) do not occur through any other translation or
+ // graph transformation. We can then provide alternative aldc
+ // matching rules which translate these node sequences to the
+ // desired machine code sequences. Selection of the alternative
+ // rules can be implemented by predicates which identify the
+ // relevant node sequences.
+ //
+ // The ideal graph generator translates a volatile read to the node
+ // sequence
+ //
+ // LoadX[mo_acquire]
+ // MemBarAcquire
+ //
+ // As a special case when using the compressed oops optimization we
+ // may also see this variant
+ //
+ // LoadN[mo_acquire]
+ // DecodeN
+ // MemBarAcquire
+ //
+ // A volatile write is translated to the node sequence
+ //
+ // MemBarRelease
+ // StoreX[mo_release]
+ // MemBarVolatile
+ //
+ // n.b. the above node patterns are generated with a strict
+ // 'signature' configuration of input and output dependencies (see
+ // the predicates below for exact details). The two signatures are
+ // unique to translated volatile reads/stores -- they will not
+ // appear as a result of any other bytecode translation or inlining
+ // nor as a consequence of optimizing transforms.
+ //
+ // We also want to catch inlined unsafe volatile gets and puts and
+ // be able to implement them using either ldar<x>/stlr<x> or some
+ // combination of ldr<x>/stlr<x> and dmb instructions.
+ //
+ // Inlined unsafe volatiles puts manifest as a minor variant of the
+ // normal volatile put node sequence containing an extra cpuorder
+ // membar
+ //
+ // MemBarRelease
+ // MemBarCPUOrder
+ // StoreX[mo_release]
+ // MemBarVolatile
+ //
+ // n.b. as an aside, the cpuorder membar is not itself subject to
+ // matching and translation by adlc rules. However, the rule
+ // predicates need to detect its presence in order to correctly
+ // select the desired adlc rules.
+ //
+ // Inlined unsafe volatiles gets manifest as a somewhat different
+ // node sequence to a normal volatile get
+ //
+ // MemBarCPUOrder
+ // || \\
+ // MemBarAcquire LoadX[mo_acquire]
+ // ||
+ // MemBarCPUOrder
+ //
+ // In this case the acquire membar does not directly depend on the
+ // load. However, we can be sure that the load is generated from an
+ // inlined unsafe volatile get if we see it dependent on this unique
+ // sequence of membar nodes. Similarly, given an acquire membar we
+ // can know that it was added because of an inlined unsafe volatile
+ // get if it is fed and feeds a cpuorder membar and if its feed
+ // membar also feeds an acquiring load.
+ //
+ // So, where we can identify these volatile read and write
+ // signatures we can choose to plant either of the above two code
+ // sequences. For a volatile read we can simply plant a normal
+ // ldr<x> and translate the MemBarAcquire to a dmb. However, we can
+ // also choose to inhibit translation of the MemBarAcquire and
+ // inhibit planting of the ldr<x>, instead planting an ldar<x>.
+ //
+ // When we recognise a volatile store signature we can choose to
+ // plant at a dmb ish as a translation for the MemBarRelease, a
+ // normal str<x> and then a dmb ish for the MemBarVolatile.
+ // Alternatively, we can inhibit translation of the MemBarRelease
+ // and MemBarVolatile and instead plant a simple stlr<x>
+ // instruction.
+ //
+ // Of course, the above only applies when we see these signature
+ // configurations. We still want to plant dmb instructions in any
+ // other cases where we may see a MemBarAcquire, MemBarRelease or
+ // MemBarVolatile. For example, at the end of a constructor which
+ // writes final/volatile fields we will see a MemBarRelease
+ // instruction and this needs a 'dmb ish' lest we risk the
+ // constructed object being visible without making the
+ // final/volatile field writes visible.
+ //
+ // n.b. the translation rules below which rely on detection of the
+ // volatile signatures and insert ldar<x> or stlr<x> are failsafe.
+ // If we see anything other than the signature configurations we
+ // always just translate the loads and stors to ldr<x> and str<x>
+ // and translate acquire, release and volatile membars to the
+ // relevant dmb instructions.
+ //
+ // n.b.b as a case in point for the above comment, the current
+ // predicates don't detect the precise signature for certain types
+ // of volatile object stores (where the heap_base input type is not
+ // known at compile-time to be non-NULL). In those cases the
+ // MemBarRelease and MemBarVolatile bracket an if-then-else sequence
+ // with a store in each branch (we need a different store depending
+ // on whether heap_base is actually NULL). In such a case we will
+ // just plant a dmb both before and after the branch/merge. The
+ // predicate could (and probably should) be fixed later to also
+ // detect this case.
+
+ // graph traversal helpers
+
+ // if node n is linked to a parent MemBarNode by an intervening
+ // Control or Memory ProjNode return the MemBarNode otherwise return
+ // NULL.
+ //
+ // n may only be a Load or a MemBar.
+ //
+ // The ProjNode* references c and m are used to return the relevant
+ // nodes.
+
+ MemBarNode *has_parent_membar(const Node *n, ProjNode *&c, ProjNode *&m)
+ {
+ Node *ctl = NULL;
+ Node *mem = NULL;
+ Node *membar = NULL;
+
+ if (n->is_Load()) {
+ ctl = n->lookup(LoadNode::Control);
+ mem = n->lookup(LoadNode::Memory);
+ } else if (n->is_MemBar()) {
+ ctl = n->lookup(TypeFunc::Control);
+ mem = n->lookup(TypeFunc::Memory);
+ } else {
+ return NULL;
+ }
+
+ if (!ctl || !mem || !ctl->is_Proj() || !mem->is_Proj())
+ return NULL;
+
+ c = ctl->as_Proj();
+
+ membar = ctl->lookup(0);
+
+ if (!membar || !membar->is_MemBar())
+ return NULL;
+
+ m = mem->as_Proj();
+
+ if (mem->lookup(0) != membar)
+ return NULL;
+
+ return membar->as_MemBar();
+ }
+
+ // if n is linked to a child MemBarNode by intervening Control and
+ // Memory ProjNodes return the MemBarNode otherwise return NULL.
+ //
+ // The ProjNode** arguments c and m are used to return pointers to
+ // the relevant nodes. A null argument means don't don't return a
+ // value.
+
+ MemBarNode *has_child_membar(const MemBarNode *n, ProjNode *&c, ProjNode *&m)
+ {
+ ProjNode *ctl = n->proj_out(TypeFunc::Control);
+ ProjNode *mem = n->proj_out(TypeFunc::Memory);
+
+ // MemBar needs to have both a Ctl and Mem projection
+ if (! ctl || ! mem)
+ return NULL;
+
+ c = ctl;
+ m = mem;
+
+ MemBarNode *child = NULL;
+ Node *x;
+
+ for (DUIterator_Fast imax, i = ctl->fast_outs(imax); i < imax; i++) {
+ x = ctl->fast_out(i);
+ // if we see a membar we keep hold of it. we may also see a new
+ // arena copy of the original but it will appear later
+ if (x->is_MemBar()) {
+ child = x->as_MemBar();
+ break;
+ }
+ }
+
+ if (child == NULL)
+ return NULL;
+
+ for (DUIterator_Fast imax, i = mem->fast_outs(imax); i < imax; i++) {
+ x = mem->fast_out(i);
+ // if we see a membar we keep hold of it. we may also see a new
+ // arena copy of the original but it will appear later
+ if (x == child) {
+ return child;
+ }
+ }
+ return NULL;
+ }
+
+ // predicates controlling emit of ldr<x>/ldar<x> and associated dmb
+
+bool unnecessary_acquire(const Node *barrier) {
+ // assert barrier->is_MemBar();
+ if (UseBarriersForVolatile)
+ // we need to plant a dmb
+ return false;
+
+ // a volatile read derived from bytecode (or also from an inlined
+ // SHA field read via LibraryCallKit::load_field_from_object)
+ // manifests as a LoadX[mo_acquire] followed by an acquire membar
+ // with a bogus read dependency on it's preceding load. so in those
+ // cases we will find the load node at the PARMS offset of the
+ // acquire membar. n.b. there may be an intervening DecodeN node.
+ //
+ // a volatile load derived from an inlined unsafe field access
+ // manifests as a cpuorder membar with Ctl and Mem projections
+ // feeding both an acquire membar and a LoadX[mo_acquire]. The
+ // acquire then feeds another cpuorder membar via Ctl and Mem
+ // projections. The load has no output dependency on these trailing
+ // membars because subsequent nodes inserted into the graph take
+ // their control feed from the final membar cpuorder meaning they
+ // are all ordered after the load.
+
Node *x = barrier->lookup(TypeFunc::Parms);
-
- if (! x)
+ if (x) {
+ // we are starting from an acquire and it has a fake dependency
+ //
+ // need to check for
+ //
+ // LoadX[mo_acquire]
+ // { |1 }
+ // {DecodeN}
+ // |Parms
+ // MemBarAcquire*
+ //
+ // where * tags node we were passed
+ // and |k means input k
+ if (x->is_DecodeNarrowPtr())
+ x = x->in(1);
+
+ return (x->is_Load() && x->as_Load()->is_acquire());
+ }
+
+ // only continue if we want to try to match unsafe volatile gets
+ if (UseBarriersForUnsafeVolatileGet)
+ return false;
+
+ // need to check for
+ //
+ // MemBarCPUOrder
+ // || \\
+ // MemBarAcquire* LoadX[mo_acquire]
+ // ||
+ // MemBarCPUOrder
+ //
+ // where * tags node we were passed
+ // and || or \\ are Ctl+Mem feeds via intermediate Proj Nodes
+
+ // check for a parent MemBarCPUOrder
+ ProjNode *ctl;
+ ProjNode *mem;
+ MemBarNode *parent = has_parent_membar(barrier, ctl, mem);
+ if (!parent || parent->Opcode() != Op_MemBarCPUOrder)
+ return false;
+ // ensure the proj nodes both feed a LoadX[mo_acquire]
+ LoadNode *ld = NULL;
+ for (DUIterator_Fast imax, i = ctl->fast_outs(imax); i < imax; i++) {
+ x = ctl->fast_out(i);
+ // if we see a load we keep hold of it and stop searching
+ if (x->is_Load()) {
+ ld = x->as_Load();
+ break;
+ }
+ }
+ // it must be an acquiring load
+ if (! ld || ! ld->is_acquire())
+ return false;
+ for (DUIterator_Fast imax, i = mem->fast_outs(imax); i < imax; i++) {
+ x = mem->fast_out(i);
+ // if we see the same load we drop it and stop searching
+ if (x == ld) {
+ ld = NULL;
+ break;
+ }
+ }
+ // we must have dropped the load
+ if (ld)
+ return false;
+ // check for a child cpuorder membar
+ MemBarNode *child = has_child_membar(barrier->as_MemBar(), ctl, mem);
+ if (!child || child->Opcode() != Op_MemBarCPUOrder)
+ return false;
+
+ return true;
+}
+
+bool needs_acquiring_load(const Node *n)
+{
+ // assert n->is_Load();
+ if (UseBarriersForVolatile)
+ // we use a normal load and a dmb
+ return false;
+
+ LoadNode *ld = n->as_Load();
+
+ if (!ld->is_acquire())
+ return false;
+
+ // check if this load is feeding an acquire membar
+ //
+ // LoadX[mo_acquire]
+ // { |1 }
+ // {DecodeN}
+ // |Parms
+ // MemBarAcquire*
+ //
+ // where * tags node we were passed
+ // and |k means input k
+
+ Node *start = ld;
+ Node *mbacq = NULL;
+
+ // if we hit a DecodeNarrowPtr we reset the start node and restart
+ // the search through the outputs
+ restart:
+
+ for (DUIterator_Fast imax, i = start->fast_outs(imax); i < imax; i++) {
+ Node *x = start->fast_out(i);
+ if (x->is_MemBar() && x->Opcode() == Op_MemBarAcquire) {
+ mbacq = x;
+ } else if (!mbacq &&
+ (x->is_DecodeNarrowPtr() ||
+ (x->is_Mach() && x->Opcode() == Op_DecodeN))) {
+ start = x;
+ goto restart;
+ }
+ }
+
+ if (mbacq) {
+ return true;
+ }
+
+ // only continue if we want to try to match unsafe volatile gets
+ if (UseBarriersForUnsafeVolatileGet)
+ return false;
+
+ // check if Ctl and Proj feed comes from a MemBarCPUOrder
+ //
+ // MemBarCPUOrder
+ // || \\
+ // MemBarAcquire* LoadX[mo_acquire]
+ // ||
+ // MemBarCPUOrder
+
+ MemBarNode *membar;
+ ProjNode *ctl;
+ ProjNode *mem;
+
+ membar = has_parent_membar(ld, ctl, mem);
+
+ if (!membar || !membar->Opcode() == Op_MemBarCPUOrder)
+ return false;
+
+ // ensure that there is a CPUOrder->Acquire->CPUOrder membar chain
+
+ membar = has_child_membar(membar, ctl, mem);
+
+ if (!membar || !membar->Opcode() == Op_MemBarAcquire)
+ return false;
+
+ membar = has_child_membar(membar, ctl, mem);
+
+ if (!membar || !membar->Opcode() == Op_MemBarCPUOrder)
+ return false;
+
+ return true;
+}
+
+bool unnecessary_release(const Node *n) {
+ // assert n->is_MemBar();
+ if (UseBarriersForVolatile)
+ // we need to plant a dmb
+ return false;
+
+ // ok, so we can omit this release barrier if it has been inserted
+ // as part of a volatile store sequence
+ //
+ // MemBarRelease
+ // { || }
+ // {MemBarCPUOrder} -- optional
+ // || \\
+ // || StoreX[mo_release]
+ // | \ /
+ // | MergeMem
+ // | /
+ // MemBarVolatile
+ //
+ // where
+ // || and \\ represent Ctl and Mem feeds via Proj nodes
+ // | \ and / indicate further routing of the Ctl and Mem feeds
+ //
+ // so we need to check that
+ //
+ // ia) the release membar (or its dependent cpuorder membar) feeds
+ // control to a store node (via a Control project node)
+ //
+ // ii) the store is ordered release
+ //
+ // iii) the release membar (or its dependent cpuorder membar) feeds
+ // control to a volatile membar (via the same Control project node)
+ //
+ // iv) the release membar feeds memory to a merge mem and to the
+ // same store (both via a single Memory proj node)
+ //
+ // v) the store outputs to the merge mem
+ //
+ // vi) the merge mem outputs to the same volatile membar
+ //
+ // n.b. if this is an inlined unsafe node then the release membar
+ // may feed its control and memory links via an intervening cpuorder
+ // membar. this case can be dealt with when we check the release
+ // membar projections. if they both feed a single cpuorder membar
+ // node continue to make the same checks as above but with the
+ // cpuorder membar substituted for the release membar. if they don't
+ // both feed a cpuorder membar then the check fails.
+ //
+ // n.b.b. for an inlined unsafe store of an object in the case where
+ // !TypePtr::NULL_PTR->higher_equal(type(heap_base_oop)) we may see
+ // an embedded if then else where we expect the store. this is
+ // needed to do the right type of store depending on whether
+ // heap_base is NULL. We could check for that but for now we can
+ // just take the hit of on inserting a redundant dmb for this
+ // redundant volatile membar
+
+ MemBarNode *barrier = n->as_MemBar();
+ ProjNode *ctl;
+ ProjNode *mem;
+ // check for an intervening cpuorder membar
+ MemBarNode *b = has_child_membar(barrier, ctl, mem);
+ if (b && b->Opcode() == Op_MemBarCPUOrder) {
+ // ok, so start form the dependent cpuorder barrier
+ barrier = b;
+ }
+ // check the ctl and mem flow
+ ctl = barrier->proj_out(TypeFunc::Control);
+ mem = barrier->proj_out(TypeFunc::Memory);
+
+ // the barrier needs to have both a Ctl and Mem projection
+ if (! ctl || ! mem)
+ return false;
+
+ Node *x = NULL;
+ Node *mbvol = NULL;
+ StoreNode * st = NULL;
+
+ // For a normal volatile write the Ctl ProjNode should have output
+ // to a MemBarVolatile and a Store marked as releasing
+ //
+ // n.b. for an inlined unsafe store of an object in the case where
+ // !TypePtr::NULL_PTR->higher_equal(type(heap_base_oop)) we may see
+ // an embedded if then else where we expect the store. this is
+ // needed to do the right type of store depending on whether
+ // heap_base is NULL. We could check for that case too but for now
+ // we can just take the hit of inserting a dmb and a non-volatile
+ // store to implement the volatile store
+
+ for (DUIterator_Fast imax, i = ctl->fast_outs(imax); i < imax; i++) {
+ x = ctl->fast_out(i);
+ if (x->is_MemBar() && x->Opcode() == Op_MemBarVolatile) {
+ if (mbvol) {
+ return false;
+ }
+ mbvol = x;
+ } else if (x->is_Store()) {
+ st = x->as_Store();
+ if (! st->is_release()) {
+ return false;
+ }
+ } else if (!x->is_Mach()) {
+ // we may see mach nodes added during matching but nothing else
+ return false;
+ }
+ }
+
+ if (!mbvol || !st)
return false;
- if (x->is_DecodeNarrowPtr())
- x = x->in(1);
-
- if (x->is_Load())
- return ! x->as_Load()->is_unordered();
-
- return false;
+ // the Mem ProjNode should output to a MergeMem and the same Store
+ Node *mm = NULL;
+ for (DUIterator_Fast imax, i = mem->fast_outs(imax); i < imax; i++) {
+ x = mem->fast_out(i);
+ if (!mm && x->is_MergeMem()) {
+ mm = x;
+ } else if (x != st && !x->is_Mach()) {
+ // we may see mach nodes added during matching but nothing else
+ return false;
+ }
+ }
+
+ if (!mm)
+ return false;
+
+ // the MergeMem should output to the MemBarVolatile
+ for (DUIterator_Fast imax, i = mm->fast_outs(imax); i < imax; i++) {
+ x = mm->fast_out(i);
+ if (x != mbvol && !x->is_Mach()) {
+ // we may see mach nodes added during matching but nothing else
+ return false;
+ }
+ }
+
+ return true;
}
+bool unnecessary_volatile(const Node *n) {
+ // assert n->is_MemBar();
+ if (UseBarriersForVolatile)
+ // we need to plant a dmb
+ return false;
+
+ // ok, so we can omit this volatile barrier if it has been inserted
+ // as part of a volatile store sequence
+ //
+ // MemBarRelease
+ // { || }
+ // {MemBarCPUOrder} -- optional
+ // || \\
+ // || StoreX[mo_release]
+ // | \ /
+ // | MergeMem
+ // | /
+ // MemBarVolatile
+ //
+ // where
+ // || and \\ represent Ctl and Mem feeds via Proj nodes
+ // | \ and / indicate further routing of the Ctl and Mem feeds
+ //
+ // we need to check that
+ //
+ // i) the volatile membar gets its control feed from a release
+ // membar (or its dependent cpuorder membar) via a Control project
+ // node
+ //
+ // ii) the release membar (or its dependent cpuorder membar) also
+ // feeds control to a store node via the same proj node
+ //
+ // iii) the store is ordered release
+ //
+ // iv) the release membar (or its dependent cpuorder membar) feeds
+ // memory to a merge mem and to the same store (both via a single
+ // Memory proj node)
+ //
+ // v) the store outputs to the merge mem
+ //
+ // vi) the merge mem outputs to the volatile membar
+ //
+ // n.b. for an inlined unsafe store of an object in the case where
+ // !TypePtr::NULL_PTR->higher_equal(type(heap_base_oop)) we may see
+ // an embedded if then else where we expect the store. this is
+ // needed to do the right type of store depending on whether
+ // heap_base is NULL. We could check for that but for now we can
+ // just take the hit of on inserting a redundant dmb for this
+ // redundant volatile membar
+
+ MemBarNode *mbvol = n->as_MemBar();
+ Node *x = n->lookup(TypeFunc::Control);
+
+ if (! x || !x->is_Proj())
+ return false;
+
+ ProjNode *proj = x->as_Proj();
+
+ x = proj->lookup(0);
+
+ if (!x || !x->is_MemBar())
+ return false;
+
+ MemBarNode *barrier = x->as_MemBar();
+
+ // if the barrier is a release membar we have what we want. if it is
+ // a cpuorder membar then we need to ensure that it is fed by a
+ // release membar in which case we proceed to check the graph below
+ // this cpuorder membar as the feed
+
+ if (x->Opcode() != Op_MemBarRelease) {
+ if (x->Opcode() != Op_MemBarCPUOrder)
+ return false;
+ ProjNode *ctl;
+ ProjNode *mem;
+ MemBarNode *b = has_parent_membar(x, ctl, mem);
+ if (!b || !b->Opcode() == Op_MemBarRelease)
+ return false;
+ }
+
+ ProjNode *ctl = barrier->proj_out(TypeFunc::Control);
+ ProjNode *mem = barrier->proj_out(TypeFunc::Memory);
+
+ // barrier needs to have both a Ctl and Mem projection
+ // and we need to have reached it via the Ctl projection
+ if (! ctl || ! mem || ctl != proj)
+ return false;
+
+ StoreNode * st = NULL;
+
+ // The Ctl ProjNode should have output to a MemBarVolatile and
+ // a Store marked as releasing
+ for (DUIterator_Fast imax, i = ctl->fast_outs(imax); i < imax; i++) {
+ x = ctl->fast_out(i);
+ if (x->is_MemBar() && x->Opcode() == Op_MemBarVolatile) {
+ if (x != mbvol) {
+ return false;
+ }
+ } else if (x->is_Store()) {
+ st = x->as_Store();
+ if (! st->is_release()) {
+ return false;
+ }
+ } else if (!x->is_Mach()){
+ // we may see mach nodes added during matching but nothing else
+ return false;
+ }
+ }
+
+ if (!st)
+ return false;
+
+ // the Mem ProjNode should output to a MergeMem and the same Store
+ Node *mm = NULL;
+ for (DUIterator_Fast imax, i = mem->fast_outs(imax); i < imax; i++) {
+ x = mem->fast_out(i);
+ if (!mm && x->is_MergeMem()) {
+ mm = x;
+ } else if (x != st && !x->is_Mach()) {
+ // we may see mach nodes added during matching but nothing else
+ return false;
+ }
+ }
+
+ if (!mm)
+ return false;
+
+ // the MergeMem should output to the MemBarVolatile
+ for (DUIterator_Fast imax, i = mm->fast_outs(imax); i < imax; i++) {
+ x = mm->fast_out(i);
+ if (x != mbvol && !x->is_Mach()) {
+ // we may see mach nodes added during matching but nothing else
+ return false;
+ }
+ }
+
+ return true;
+}
+
+
+
+bool needs_releasing_store(const Node *n)
+{
+ // assert n->is_Store();
+ if (UseBarriersForVolatile)
+ // we use a normal store and dmb combination
+ return false;
+
+ StoreNode *st = n->as_Store();
+
+ if (!st->is_release())
+ return false;
+
+ // check if this store is bracketed by a release (or its dependent
+ // cpuorder membar) and a volatile membar
+ //
+ // MemBarRelease
+ // { || }
+ // {MemBarCPUOrder} -- optional
+ // || \\
+ // || StoreX[mo_release]
+ // | \ /
+ // | MergeMem
+ // | /
+ // MemBarVolatile
+ //
+ // where
+ // || and \\ represent Ctl and Mem feeds via Proj nodes
+ // | \ and / indicate further routing of the Ctl and Mem feeds
+ //
+
+
+ Node *x = st->lookup(TypeFunc::Control);
+
+ if (! x || !x->is_Proj())
+ return false;
+
+ ProjNode *proj = x->as_Proj();
+
+ x = proj->lookup(0);
+
+ if (!x || !x->is_MemBar())
+ return false;
+
+ MemBarNode *barrier = x->as_MemBar();
+
+ // if the barrier is a release membar we have what we want. if it is
+ // a cpuorder membar then we need to ensure that it is fed by a
+ // release membar in which case we proceed to check the graph below
+ // this cpuorder membar as the feed
+
+ if (x->Opcode() != Op_MemBarRelease) {
+ if (x->Opcode() != Op_MemBarCPUOrder)
+ return false;
+ Node *ctl = x->lookup(TypeFunc::Control);
+ Node *mem = x->lookup(TypeFunc::Memory);
+ if (!ctl || !ctl->is_Proj() || !mem || !mem->is_Proj())
+ return false;
+ x = ctl->lookup(0);
+ if (!x || !x->is_MemBar() || !x->Opcode() == Op_MemBarRelease)
+ return false;
+ Node *y = mem->lookup(0);
+ if (!y || y != x)
+ return false;
+ }
+
+ ProjNode *ctl = barrier->proj_out(TypeFunc::Control);
+ ProjNode *mem = barrier->proj_out(TypeFunc::Memory);
+
+ // MemBarRelease needs to have both a Ctl and Mem projection
+ // and we need to have reached it via the Ctl projection
+ if (! ctl || ! mem || ctl != proj)
+ return false;
+
+ MemBarNode *mbvol = NULL;
+
+ // The Ctl ProjNode should have output to a MemBarVolatile and
+ // a Store marked as releasing
+ for (DUIterator_Fast imax, i = ctl->fast_outs(imax); i < imax; i++) {
+ x = ctl->fast_out(i);
+ if (x->is_MemBar() && x->Opcode() == Op_MemBarVolatile) {
+ mbvol = x->as_MemBar();
+ } else if (x->is_Store()) {
+ if (x != st) {
+ return false;
+ }
+ } else if (!x->is_Mach()){
+ return false;
+ }
+ }
+
+ if (!mbvol)
+ return false;
+
+ // the Mem ProjNode should output to a MergeMem and the same Store
+ Node *mm = NULL;
+ for (DUIterator_Fast imax, i = mem->fast_outs(imax); i < imax; i++) {
+ x = mem->fast_out(i);
+ if (!mm && x->is_MergeMem()) {
+ mm = x;
+ } else if (x != st && !x->is_Mach()) {
+ return false;
+ }
+ }
+
+ if (!mm)
+ return false;
+
+ // the MergeMem should output to the MemBarVolatile
+ for (DUIterator_Fast imax, i = mm->fast_outs(imax); i < imax; i++) {
+ x = mm->fast_out(i);
+ if (x != mbvol && !x->is_Mach()) {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+
+
#define __ _masm.
// advance declarations for helper functions to convert register
@@ -5151,7 +5945,7 @@
instruct loadB(iRegINoSp dst, memory mem)
%{
match(Set dst (LoadB mem));
- predicate(UseBarriersForVolatile || n->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n));
ins_cost(4 * INSN_COST);
format %{ "ldrsbw $dst, $mem\t# byte" %}
@@ -5165,7 +5959,7 @@
instruct loadB2L(iRegLNoSp dst, memory mem)
%{
match(Set dst (ConvI2L (LoadB mem)));
- predicate(UseBarriersForVolatile || n->in(1)->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n->in(1)));
ins_cost(4 * INSN_COST);
format %{ "ldrsb $dst, $mem\t# byte" %}
@@ -5179,7 +5973,7 @@
instruct loadUB(iRegINoSp dst, memory mem)
%{
match(Set dst (LoadUB mem));
- predicate(UseBarriersForVolatile || n->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n));
ins_cost(4 * INSN_COST);
format %{ "ldrbw $dst, $mem\t# byte" %}
@@ -5193,7 +5987,7 @@
instruct loadUB2L(iRegLNoSp dst, memory mem)
%{
match(Set dst (ConvI2L (LoadUB mem)));
- predicate(UseBarriersForVolatile || n->in(1)->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n->in(1)));
ins_cost(4 * INSN_COST);
format %{ "ldrb $dst, $mem\t# byte" %}
@@ -5207,7 +6001,7 @@
instruct loadS(iRegINoSp dst, memory mem)
%{
match(Set dst (LoadS mem));
- predicate(UseBarriersForVolatile || n->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n));
ins_cost(4 * INSN_COST);
format %{ "ldrshw $dst, $mem\t# short" %}
@@ -5221,7 +6015,7 @@
instruct loadS2L(iRegLNoSp dst, memory mem)
%{
match(Set dst (ConvI2L (LoadS mem)));
- predicate(UseBarriersForVolatile || n->in(1)->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n->in(1)));
ins_cost(4 * INSN_COST);
format %{ "ldrsh $dst, $mem\t# short" %}
@@ -5235,7 +6029,7 @@
instruct loadUS(iRegINoSp dst, memory mem)
%{
match(Set dst (LoadUS mem));
- predicate(UseBarriersForVolatile || n->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n));
ins_cost(4 * INSN_COST);
format %{ "ldrh $dst, $mem\t# short" %}
@@ -5249,7 +6043,7 @@
instruct loadUS2L(iRegLNoSp dst, memory mem)
%{
match(Set dst (ConvI2L (LoadUS mem)));
- predicate(UseBarriersForVolatile || n->in(1)->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n->in(1)));
ins_cost(4 * INSN_COST);
format %{ "ldrh $dst, $mem\t# short" %}
@@ -5263,7 +6057,7 @@
instruct loadI(iRegINoSp dst, memory mem)
%{
match(Set dst (LoadI mem));
- predicate(UseBarriersForVolatile || n->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n));
ins_cost(4 * INSN_COST);
format %{ "ldrw $dst, $mem\t# int" %}
@@ -5277,7 +6071,7 @@
instruct loadI2L(iRegLNoSp dst, memory mem)
%{
match(Set dst (ConvI2L (LoadI mem)));
- predicate(UseBarriersForVolatile || n->in(1)->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n->in(1)));
ins_cost(4 * INSN_COST);
format %{ "ldrsw $dst, $mem\t# int" %}
@@ -5291,7 +6085,7 @@
instruct loadUI2L(iRegLNoSp dst, memory mem, immL_32bits mask)
%{
match(Set dst (AndL (ConvI2L (LoadI mem)) mask));
- predicate(UseBarriersForVolatile || n->in(1)->in(1)->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n->in(1)->in(1)->as_Load()));
ins_cost(4 * INSN_COST);
format %{ "ldrw $dst, $mem\t# int" %}
@@ -5305,7 +6099,7 @@
instruct loadL(iRegLNoSp dst, memory mem)
%{
match(Set dst (LoadL mem));
- predicate(UseBarriersForVolatile || n->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n));
ins_cost(4 * INSN_COST);
format %{ "ldr $dst, $mem\t# int" %}
@@ -5332,7 +6126,7 @@
instruct loadP(iRegPNoSp dst, memory mem)
%{
match(Set dst (LoadP mem));
- predicate(UseBarriersForVolatile || n->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n));
ins_cost(4 * INSN_COST);
format %{ "ldr $dst, $mem\t# ptr" %}
@@ -5346,7 +6140,7 @@
instruct loadN(iRegNNoSp dst, memory mem)
%{
match(Set dst (LoadN mem));
- predicate(UseBarriersForVolatile || n->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n));
ins_cost(4 * INSN_COST);
format %{ "ldrw $dst, $mem\t# compressed ptr" %}
@@ -5360,7 +6154,7 @@
instruct loadKlass(iRegPNoSp dst, memory mem)
%{
match(Set dst (LoadKlass mem));
- predicate(UseBarriersForVolatile || n->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n));
ins_cost(4 * INSN_COST);
format %{ "ldr $dst, $mem\t# class" %}
@@ -5374,7 +6168,7 @@
instruct loadNKlass(iRegNNoSp dst, memory mem)
%{
match(Set dst (LoadNKlass mem));
- predicate(UseBarriersForVolatile || n->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n));
ins_cost(4 * INSN_COST);
format %{ "ldrw $dst, $mem\t# compressed class ptr" %}
@@ -5388,7 +6182,7 @@
instruct loadF(vRegF dst, memory mem)
%{
match(Set dst (LoadF mem));
- predicate(UseBarriersForVolatile || n->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n));
ins_cost(4 * INSN_COST);
format %{ "ldrs $dst, $mem\t# float" %}
@@ -5402,7 +6196,7 @@
instruct loadD(vRegD dst, memory mem)
%{
match(Set dst (LoadD mem));
- predicate(UseBarriersForVolatile || n->as_Load()->is_unordered());
+ predicate(!needs_acquiring_load(n));
ins_cost(4 * INSN_COST);
format %{ "ldrd $dst, $mem\t# double" %}
@@ -5633,7 +6427,7 @@
instruct storeB(iRegIorL2I src, memory mem)
%{
match(Set mem (StoreB mem src));
- predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
+ predicate(!needs_releasing_store(n));
ins_cost(INSN_COST);
format %{ "strb $src, $mem\t# byte" %}
@@ -5647,7 +6441,7 @@
instruct storeimmB0(immI0 zero, memory mem)
%{
match(Set mem (StoreB mem zero));
- predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
+ predicate(!needs_releasing_store(n));
ins_cost(INSN_COST);
format %{ "strb zr, $mem\t# byte" %}
@@ -5661,7 +6455,7 @@
instruct storeC(iRegIorL2I src, memory mem)
%{
match(Set mem (StoreC mem src));
- predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
+ predicate(!needs_releasing_store(n));
ins_cost(INSN_COST);
format %{ "strh $src, $mem\t# short" %}
@@ -5674,7 +6468,7 @@
instruct storeimmC0(immI0 zero, memory mem)
%{
match(Set mem (StoreC mem zero));
- predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
+ predicate(!needs_releasing_store(n));
ins_cost(INSN_COST);
format %{ "strh zr, $mem\t# short" %}
@@ -5689,7 +6483,7 @@
instruct storeI(iRegIorL2I src, memory mem)
%{
match(Set mem(StoreI mem src));
- predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
+ predicate(!needs_releasing_store(n));
ins_cost(INSN_COST);
format %{ "strw $src, $mem\t# int" %}
@@ -5702,7 +6496,7 @@
instruct storeimmI0(immI0 zero, memory mem)
%{
match(Set mem(StoreI mem zero));
- predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
+ predicate(!needs_releasing_store(n));
ins_cost(INSN_COST);
format %{ "strw zr, $mem\t# int" %}
@@ -5716,7 +6510,7 @@
instruct storeL(iRegL src, memory mem)
%{
match(Set mem (StoreL mem src));
- predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
+ predicate(!needs_releasing_store(n));
ins_cost(INSN_COST);
format %{ "str $src, $mem\t# int" %}
@@ -5730,7 +6524,7 @@
instruct storeimmL0(immL0 zero, memory mem)
%{
match(Set mem (StoreL mem zero));
- predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
+ predicate(!needs_releasing_store(n));
ins_cost(INSN_COST);
format %{ "str zr, $mem\t# int" %}
@@ -5744,7 +6538,7 @@
instruct storeP(iRegP src, memory mem)
%{
match(Set mem (StoreP mem src));
- predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
+ predicate(!needs_releasing_store(n));
ins_cost(INSN_COST);
format %{ "str $src, $mem\t# ptr" %}
@@ -5758,7 +6552,7 @@
instruct storeimmP0(immP0 zero, memory mem)
%{
match(Set mem (StoreP mem zero));
- predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
+ predicate(!needs_releasing_store(n));
ins_cost(INSN_COST);
format %{ "str zr, $mem\t# ptr" %}
@@ -5772,7 +6566,7 @@
instruct storeN(iRegN src, memory mem)
%{
match(Set mem (StoreN mem src));
- predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
+ predicate(!needs_releasing_store(n));
ins_cost(INSN_COST);
format %{ "strw $src, $mem\t# compressed ptr" %}
@@ -5787,7 +6581,7 @@
match(Set mem (StoreN mem zero));
predicate(Universe::narrow_oop_base() == NULL &&
Universe::narrow_klass_base() == NULL &&
- (UseBarriersForVolatile || n->as_Store()->is_unordered()));
+ (!needs_releasing_store(n)));
ins_cost(INSN_COST);
format %{ "strw rheapbase, $mem\t# compressed ptr (rheapbase==0)" %}
@@ -5801,7 +6595,7 @@
instruct storeF(vRegF src, memory mem)
%{
match(Set mem (StoreF mem src));
- predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
+ predicate(!needs_releasing_store(n));
ins_cost(INSN_COST);
format %{ "strs $src, $mem\t# float" %}
@@ -5818,7 +6612,7 @@
instruct storeD(vRegD src, memory mem)
%{
match(Set mem (StoreD mem src));
- predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
+ predicate(!needs_releasing_store(n));
ins_cost(INSN_COST);
format %{ "strd $src, $mem\t# double" %}
@@ -5831,7 +6625,7 @@
// Store Compressed Klass Pointer
instruct storeNKlass(iRegN src, memory mem)
%{
- predicate(UseBarriersForVolatile || n->as_Store()->is_unordered());
+ predicate(!needs_releasing_store(n));
match(Set mem (StoreNKlass mem src));
ins_cost(INSN_COST);
@@ -6293,7 +7087,7 @@
%}
instruct unnecessary_membar_acquire() %{
- predicate(! UseBarriersForVolatile && preceded_by_ordered_load(n));
+ predicate(unnecessary_acquire(n));
match(MemBarAcquire);
ins_cost(0);
@@ -6345,6 +7139,19 @@
ins_pipe(pipe_serial);
%}
+instruct unnecessary_membar_release() %{
+ predicate(unnecessary_release(n));
+ match(MemBarRelease);
+ ins_cost(0);
+
+ format %{ "membar_release (elided)" %}
+
+ ins_encode %{
+ __ block_comment("membar_release (elided)");
+ %}
+ ins_pipe(pipe_serial);
+%}
+
instruct membar_release() %{
match(MemBarRelease);
ins_cost(VOLATILE_REF_COST);
@@ -6382,6 +7189,20 @@
ins_pipe(pipe_serial);
%}
+instruct unnecessary_membar_volatile() %{
+ predicate(unnecessary_volatile(n));
+ match(MemBarVolatile);
+ ins_cost(0);
+
+ format %{ "membar_volatile (elided)" %}
+
+ ins_encode %{
+ __ block_comment("membar_volatile (elided)");
+ %}
+
+ ins_pipe(pipe_serial);
+%}
+
instruct membar_volatile() %{
match(MemBarVolatile);
ins_cost(VOLATILE_REF_COST*100);
--- a/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.hpp Fri Apr 24 15:45:25 2015 +0300
+++ b/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.hpp Mon Apr 27 09:17:39 2015 -0700
@@ -39,6 +39,8 @@
protected:
protected:
+ using MacroAssembler::call_VM_leaf_base;
+
// Interpreter specific version of call_VM_base
virtual void call_VM_leaf_base(address entry_point,
int number_of_arguments);
--- a/hotspot/src/cpu/aarch64/vm/register_aarch64.hpp Fri Apr 24 15:45:25 2015 +0300
+++ b/hotspot/src/cpu/aarch64/vm/register_aarch64.hpp Mon Apr 27 09:17:39 2015 -0700
@@ -60,7 +60,10 @@
bool has_byte_register() const { return 0 <= (intptr_t)this && (intptr_t)this < number_of_byte_registers; }
const char* name() const;
int encoding_nocheck() const { return (intptr_t)this; }
- unsigned long bit(bool yes = true) const { return yes << encoding(); }
+
+ // Return the bit which represents this register. This is intended
+ // to be ORed into a bitmask: for usage see class RegSet below.
+ unsigned long bit(bool should_set = true) const { return should_set ? 1 << encoding() : 0; }
};
// The integer registers of the aarch64 architecture
--- a/hotspot/src/share/vm/classfile/defaultMethods.cpp Fri Apr 24 15:45:25 2015 +0300
+++ b/hotspot/src/share/vm/classfile/defaultMethods.cpp Mon Apr 27 09:17:39 2015 -0700
@@ -731,10 +731,12 @@
Method* m = iklass->find_method(_method_name, _method_signature);
// private interface methods are not candidates for default methods
// invokespecial to private interface methods doesn't use default method logic
+ // private class methods are not candidates for default methods,
+ // private methods do not override default methods, so need to perform
+ // default method inheritance without including private methods
// The overpasses are your supertypes' errors, we do not include them
// future: take access controls into account for superclass methods
- if (m != NULL && !m->is_static() && !m->is_overpass() &&
- (!iklass->is_interface() || m->is_public())) {
+ if (m != NULL && !m->is_static() && !m->is_overpass() && !m->is_private()) {
if (_family == NULL) {
_family = new StatefulMethodFamily();
}
@@ -745,6 +747,9 @@
} else {
// This is the rule that methods in classes "win" (bad word) over
// methods in interfaces. This works because of single inheritance
+ // private methods in classes do not "win", they will be found
+ // first on searching, but overriding for invokevirtual needs
+ // to find default method candidates for the same signature
_family->set_target_if_empty(m);
}
}
--- a/hotspot/src/share/vm/memory/referenceProcessor.cpp Fri Apr 24 15:45:25 2015 +0300
+++ b/hotspot/src/share/vm/memory/referenceProcessor.cpp Mon Apr 27 09:17:39 2015 -0700
@@ -250,7 +250,7 @@
// Cleaner references to be temporary, and don't want to deal with
// possible incompatibilities arising from making it more visible.
phantom_count +=
- process_discovered_reflist(_discoveredCleanerRefs, NULL, false,
+ process_discovered_reflist(_discoveredCleanerRefs, NULL, true,
is_alive, keep_alive, complete_gc, task_executor);
}
--- a/hotspot/src/share/vm/oops/klassVtable.cpp Fri Apr 24 15:45:25 2015 +0300
+++ b/hotspot/src/share/vm/oops/klassVtable.cpp Mon Apr 27 09:17:39 2015 -0700
@@ -404,13 +404,15 @@
// get super_klass for method_holder for the found method
InstanceKlass* super_klass = super_method->method_holder();
- if (is_default
+ // private methods are also never overridden
+ if (!super_method->is_private() &&
+ (is_default
|| ((super_klass->is_override(super_method, target_loader, target_classname, THREAD))
|| ((klass->major_version() >= VTABLE_TRANSITIVE_OVERRIDE_VERSION)
&& ((super_klass = find_transitive_override(super_klass,
target_method, i, target_loader,
target_classname, THREAD))
- != (InstanceKlass*)NULL))))
+ != (InstanceKlass*)NULL)))))
{
// Package private methods always need a new entry to root their own
// overriding. They may also override other methods.
@@ -692,9 +694,15 @@
// check if a method is a miranda method, given a class's methods table,
// its default_method table and its super
// Miranda methods are calculated twice:
-// first: before vtable size calculation: including abstract and default
+// first: before vtable size calculation: including abstract and superinterface default
+// We include potential default methods to give them space in the vtable.
+// During the first run, the default_methods list is empty
// This is seen by default method creation
-// Second: recalculated during vtable initialization: only abstract
+// Second: recalculated during vtable initialization: only include abstract methods.
+// During the second run, default_methods is set up, so concrete methods from
+// superinterfaces with matching names/signatures to default_methods are already
+// in the default_methods list and do not need to be appended to the vtable
+// as mirandas
// This is seen by link resolution and selection.
// "miranda" means not static, not defined by this class.
// private methods in interfaces do not belong in the miranda list.
@@ -709,8 +717,9 @@
}
Symbol* name = m->name();
Symbol* signature = m->signature();
+ Method* mo;
- if (InstanceKlass::find_instance_method(class_methods, name, signature) == NULL) {
+ if ((mo = InstanceKlass::find_instance_method(class_methods, name, signature)) == NULL) {
// did not find it in the method table of the current class
if ((default_methods == NULL) ||
InstanceKlass::find_method(default_methods, name, signature) == NULL) {
@@ -719,7 +728,7 @@
return true;
}
- Method* mo = InstanceKlass::cast(super)->lookup_method(name, signature);
+ mo = InstanceKlass::cast(super)->lookup_method(name, signature);
while (mo != NULL && mo->access_flags().is_static()
&& mo->method_holder() != NULL
&& mo->method_holder()->super() != NULL)
@@ -731,6 +740,18 @@
return true;
}
}
+ } else {
+ // if the local class has a private method, the miranda will not
+ // override it, so a vtable slot is needed
+ if (mo->access_flags().is_private()) {
+
+ // Second round, weed out any superinterface methods that turned
+ // into default methods, i.e. were concrete not abstract in the end
+ if ((default_methods == NULL) ||
+ InstanceKlass::find_method(default_methods, name, signature) == NULL) {
+ return true;
+ }
+ }
}
return false;
--- a/hotspot/src/share/vm/runtime/arguments.cpp Fri Apr 24 15:45:25 2015 +0300
+++ b/hotspot/src/share/vm/runtime/arguments.cpp Mon Apr 27 09:17:39 2015 -0700
@@ -2320,7 +2320,7 @@
"G1ConcMarkStepDurationMillis");
status = status && verify_interval(G1ConcRSHotCardLimit, 0, max_jubyte,
"G1ConcRSHotCardLimit");
- status = status && verify_interval(G1ConcRSLogCacheSize, 0, 31,
+ status = status && verify_interval(G1ConcRSLogCacheSize, 0, 27,
"G1ConcRSLogCacheSize");
status = status && verify_interval(StringDeduplicationAgeThreshold, 1, markOopDesc::max_age,
"StringDeduplicationAgeThreshold");
--- a/jaxp/.hgtags Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/.hgtags Mon Apr 27 09:17:39 2015 -0700
@@ -302,3 +302,5 @@
2c417f7d7b0dc98e887474884aa39f974894f0c2 jdk9-b57
270fb9a2dcb5ff3ef95da6d529fa35187026af0a jdk9-b58
a1a9d943446911a4a0f74f0d082c32094af944ae jdk9-b59
+c12db18748dacfccd6581ead29228c2cb6e51b34 jdk9-b60
+f4a4a54620370f077c2e830a5561c8cfa811712b jdk9-b61
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/XalanConstants.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/XalanConstants.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -150,6 +150,16 @@
*/
public static final String SP_MAX_ELEMENT_DEPTH = "jdk.xml.maxElementDepth";
+ /**
+ * JDK TransformerFactory and Transformer attribute that specifies a class
+ * loader that will be used for extension functions class loading
+ * Value: a "null", the default value, means that the default EF class loading
+ * path will be used.
+ * Instance of ClassLoader: the specified instance of ClassLoader will be used
+ * for extension functions loading during translation process
+ */
+ public static final String JDK_EXTENSION_CLASSLOADER = "jdk.xml.transform.extensionClassLoader";
+
//legacy System Properties
public final static String ENTITY_EXPANSION_LIMIT = "entityExpansionLimit";
public static final String ELEMENT_ATTRIBUTE_LIMIT = "elementAttributeLimit" ;
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java Mon Apr 27 09:17:39 2015 -0700
@@ -104,6 +104,9 @@
protected final static String EXSLT_STRINGS =
"http://exslt.org/strings";
+ protected final static String XALAN_CLASSPACKAGE_NAMESPACE =
+ "xalan://";
+
// Namespace format constants
protected final static int NAMESPACE_FORMAT_JAVA = 0;
protected final static int NAMESPACE_FORMAT_CLASS = 1;
@@ -900,8 +903,22 @@
if (_className != null && _className.length() > 0) {
final int nArgs = _arguments.size();
try {
- if (_clazz == null) {
- _clazz = ObjectFactory.findProviderClass(_className, true);
+ if (_clazz == null) {
+ final boolean isSecureProcessing = getXSLTC().isSecureProcessing();
+ final boolean isExtensionFunctionEnabled = getXSLTC()
+ .getFeature(FeatureManager.Feature.ORACLE_ENABLE_EXTENSION_FUNCTION);
+
+ //Check if FSP and SM - only then process with loading
+ if (namespace != null && isSecureProcessing
+ && isExtensionFunctionEnabled
+ && (namespace.equals(JAVA_EXT_XALAN)
+ || namespace.equals(JAVA_EXT_XSLTC)
+ || namespace.equals(JAVA_EXT_XALAN_OLD)
+ || namespace.startsWith(XALAN_CLASSPACKAGE_NAMESPACE))) {
+ _clazz = getXSLTC().loadExternalFunction(_className);
+ } else {
+ _clazz = ObjectFactory.findProviderClass(_className, true);
+ }
if (_clazz == null) {
final ErrorMsg msg =
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java Mon Apr 27 09:17:39 2015 -0700
@@ -23,24 +23,6 @@
package com.sun.org.apache.xalan.internal.xsltc.compiler;
-import java.io.BufferedOutputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Vector;
-import java.util.jar.JarEntry;
-import java.util.jar.JarOutputStream;
-import java.util.jar.Manifest;
-import javax.xml.XMLConstants;
-
import com.sun.org.apache.bcel.internal.classfile.JavaClass;
import com.sun.org.apache.xalan.internal.XalanConstants;
import com.sun.org.apache.xalan.internal.utils.FeatureManager;
@@ -50,7 +32,27 @@
import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg;
import com.sun.org.apache.xalan.internal.xsltc.compiler.util.Util;
import com.sun.org.apache.xml.internal.dtm.DTM;
-
+import java.io.BufferedOutputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.util.Collections;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Vector;
+import java.util.jar.JarEntry;
+import java.util.jar.JarOutputStream;
+import java.util.jar.Manifest;
+import javax.xml.XMLConstants;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
@@ -153,11 +155,25 @@
private final FeatureManager _featureManager;
/**
+ * Extension function class loader variables
+ */
+
+ /* Class loader reference that will be used to external extension functions loading */
+ private ClassLoader _extensionClassLoader;
+
+ /**
+ * HashSet with the loaded classes
+ */
+ private final Map<String, Class> _externalExtensionFunctions;
+
+ /**
* XSLTC compiler constructor
*/
public XSLTC(boolean useServicesMechanism, FeatureManager featureManager) {
_parser = new Parser(this, useServicesMechanism);
_featureManager = featureManager;
+ _extensionClassLoader = null;
+ _externalExtensionFunctions = new HashMap<>();
}
/**
@@ -207,6 +223,8 @@
return _accessExternalDTD;
} else if (name.equals(XalanConstants.SECURITY_MANAGER)) {
return _xmlSecurityManager;
+ } else if (name.equals(XalanConstants.JDK_EXTENSION_CLASSLOADER)) {
+ return _extensionClassLoader;
}
return null;
}
@@ -222,6 +240,11 @@
_accessExternalDTD = (String)value;
} else if (name.equals(XalanConstants.SECURITY_MANAGER)) {
_xmlSecurityManager = (XMLSecurityManager)value;
+ } else if (name.equals(XalanConstants.JDK_EXTENSION_CLASSLOADER)) {
+ _extensionClassLoader = (ClassLoader) value;
+ /* Clear the external extension functions HashMap if extension class
+ loader was changed */
+ _externalExtensionFunctions.clear();
}
}
@@ -256,6 +279,41 @@
_bcelClasses = new Vector();
}
+ private void setExternalExtensionFunctions(String name, Class clazz) {
+ if (_isSecureProcessing && clazz != null && !_externalExtensionFunctions.containsKey(name)) {
+ _externalExtensionFunctions.put(name, clazz);
+ }
+ }
+
+ /*
+ * Function loads an external external extension functions.
+ * The filtering of function types (external,internal) takes place in FunctionCall class
+ *
+ */
+ Class loadExternalFunction(String name) throws ClassNotFoundException {
+ Class loaded = null;
+ //Check if the function is not loaded already
+ if (_externalExtensionFunctions.containsKey(name)) {
+ loaded = _externalExtensionFunctions.get(name);
+ } else if (_extensionClassLoader != null) {
+ loaded = Class.forName(name, true, _extensionClassLoader);
+ setExternalExtensionFunctions(name, loaded);
+ }
+ if (loaded == null) {
+ throw new ClassNotFoundException(name);
+ }
+ //Return loaded class
+ return (Class) loaded;
+ }
+
+ /*
+ * Returns unmodifiable view of HashMap with loaded external extension
+ * functions - will be needed for the TransformerImpl
+ */
+ public Map<String, Class> getExternalExtensionFunctions() {
+ return Collections.unmodifiableMap(_externalExtensionFunctions);
+ }
+
/**
* Initializes the compiler to produce a new translet
*/
@@ -283,6 +341,7 @@
-1, // LEVEL_MULTIPLE
-1 // LEVEL_ANY
};
+ _externalExtensionFunctions.clear();
}
/**
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages.java Mon Apr 27 09:17:39 2015 -0700
@@ -602,6 +602,9 @@
{ErrorMsg.JAXP_INVALID_ATTR_ERR,
"TransformerFactory does not recognise attribute ''{0}''."},
+ {ErrorMsg.JAXP_INVALID_ATTR_VALUE_ERR,
+ "Incorrect value specified for ''{0}'' attribute."},
+
/*
* Note to translators: "setResult()" and "startDocument()" are Java
* method names that should not be translated.
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg.java Mon Apr 27 09:17:39 2015 -0700
@@ -117,6 +117,7 @@
public static final String JAXP_NO_SOURCE_ERR = "JAXP_NO_SOURCE_ERR";
public static final String JAXP_COMPILE_ERR = "JAXP_COMPILE_ERR";
public static final String JAXP_INVALID_ATTR_ERR = "JAXP_INVALID_ATTR_ERR";
+ public static final String JAXP_INVALID_ATTR_VALUE_ERR = "JAXP_INVALID_ATTR_VALUE_ERR";
public static final String JAXP_SET_RESULT_ERR = "JAXP_SET_RESULT_ERR";
public static final String JAXP_NO_TRANSLET_ERR = "JAXP_NO_TRANSLET_ERR";
public static final String JAXP_NO_HANDLER_ERR = "JAXP_NO_HANDLER_ERR";
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -24,28 +24,27 @@
package com.sun.org.apache.xalan.internal.xsltc.trax;
import com.sun.org.apache.xalan.internal.XalanConstants;
+import com.sun.org.apache.xalan.internal.utils.ObjectFactory;
+import com.sun.org.apache.xalan.internal.utils.SecuritySupport;
+import com.sun.org.apache.xalan.internal.xsltc.DOM;
+import com.sun.org.apache.xalan.internal.xsltc.Translet;
+import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg;
+import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet;
+import com.sun.org.apache.xalan.internal.xsltc.runtime.Hashtable;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
-import java.util.Properties;
import java.security.AccessController;
import java.security.PrivilegedAction;
-
+import java.util.Map;
+import java.util.Properties;
import javax.xml.XMLConstants;
import javax.xml.transform.Templates;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.URIResolver;
-import com.sun.org.apache.xalan.internal.xsltc.DOM;
-import com.sun.org.apache.xalan.internal.xsltc.Translet;
-import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg;
-import com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet;
-import com.sun.org.apache.xalan.internal.xsltc.runtime.Hashtable;
-import com.sun.org.apache.xalan.internal.utils.ObjectFactory;
-import com.sun.org.apache.xalan.internal.utils.SecuritySupport;
-
/**
* @author Morten Jorgensen
* @author G. Todd Millerj
@@ -131,8 +130,30 @@
private String _accessExternalStylesheet = XalanConstants.EXTERNAL_ACCESS_DEFAULT;
static final class TransletClassLoader extends ClassLoader {
+
+ private final Map<String,Class> _loadedExternalExtensionFunctions;
+
TransletClassLoader(ClassLoader parent) {
super(parent);
+ _loadedExternalExtensionFunctions = null;
+ }
+
+ TransletClassLoader(ClassLoader parent,Map<String, Class> mapEF) {
+ super(parent);
+ _loadedExternalExtensionFunctions = mapEF;
+ }
+
+ public Class<?> loadClass(String name) throws ClassNotFoundException {
+ Class<?> ret = null;
+ // The _loadedExternalExtensionFunctions will be empty when the
+ // SecurityManager is not set and the FSP is turned off
+ if (_loadedExternalExtensionFunctions != null) {
+ ret = _loadedExternalExtensionFunctions.get(name);
+ }
+ if (ret == null) {
+ ret = super.loadClass(name);
+ }
+ return ret;
}
/**
@@ -330,7 +351,7 @@
TransletClassLoader loader = (TransletClassLoader)
AccessController.doPrivileged(new PrivilegedAction() {
public Object run() {
- return new TransletClassLoader(ObjectFactory.findClassLoader());
+ return new TransletClassLoader(ObjectFactory.findClassLoader(),_tfactory.getExternalExtensionsMap());
}
});
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -27,12 +27,12 @@
import com.sun.org.apache.xalan.internal.utils.FactoryImpl;
import com.sun.org.apache.xalan.internal.utils.FeatureManager;
import com.sun.org.apache.xalan.internal.utils.FeaturePropertyBase;
+import com.sun.org.apache.xalan.internal.utils.FeaturePropertyBase.State;
import com.sun.org.apache.xalan.internal.utils.ObjectFactory;
import com.sun.org.apache.xalan.internal.utils.SecuritySupport;
import com.sun.org.apache.xalan.internal.utils.XMLSecurityManager;
import com.sun.org.apache.xalan.internal.utils.XMLSecurityPropertyManager;
import com.sun.org.apache.xalan.internal.utils.XMLSecurityPropertyManager.Property;
-import com.sun.org.apache.xalan.internal.utils.FeaturePropertyBase.State;
import com.sun.org.apache.xalan.internal.xsltc.compiler.Constants;
import com.sun.org.apache.xalan.internal.xsltc.compiler.SourceLoader;
import com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC;
@@ -50,6 +50,7 @@
import java.net.URL;
import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.Map;
import java.util.Properties;
import java.util.Vector;
import java.util.zip.ZipEntry;
@@ -57,7 +58,6 @@
import javax.xml.XMLConstants;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
-
import javax.xml.transform.ErrorListener;
import javax.xml.transform.Source;
import javax.xml.transform.Templates;
@@ -231,6 +231,13 @@
private final FeatureManager _featureManager;
+ private ClassLoader _extensionClassLoader = null;
+
+ // Unmodifiable view of external extension function from xslt compiler
+ // It will be populated by user-specified extension functions during the
+ // type checking
+ private Map<String, Class> _xsltcExtensionFunctions;
+
/**
* javax.xml.transform.sax.TransformerFactory implementation.
*/
@@ -261,6 +268,12 @@
//Parser's security manager
_xmlSecurityManager = new XMLSecurityManager(true);
+ //Unmodifiable hash map with loaded external extension functions
+ _xsltcExtensionFunctions = null;
+ }
+
+ public Map<String,Class> getExternalExtensionsMap() {
+ return _xsltcExtensionFunctions;
}
/**
@@ -324,6 +337,8 @@
return Boolean.FALSE;
} else if (name.equals(XalanConstants.SECURITY_MANAGER)) {
return _xmlSecurityManager;
+ } else if (name.equals(XalanConstants.JDK_EXTENSION_CLASSLOADER)) {
+ return _extensionClassLoader;
}
/** Check to see if the property is managed by the security manager **/
@@ -439,6 +454,16 @@
return;
}
}
+ else if ( name.equals(XalanConstants.JDK_EXTENSION_CLASSLOADER)) {
+ if (value instanceof ClassLoader) {
+ _extensionClassLoader = (ClassLoader) value;
+ return;
+ } else {
+ final ErrorMsg err
+ = new ErrorMsg(ErrorMsg.JAXP_INVALID_ATTR_VALUE_ERR, "Extension Functions ClassLoader");
+ throw new IllegalArgumentException(err.toString());
+ }
+ }
if (_xmlSecurityManager != null &&
_xmlSecurityManager.setLimit(name, XMLSecurityManager.State.APIPROPERTY, value)) {
@@ -881,7 +906,6 @@
// Reset the per-session attributes to their default values
// after each newTemplates() call.
resetTransientAttributes();
-
return new TemplatesImpl(bytecodes, transletClassName, null, _indentNumber, this);
}
}
@@ -898,8 +922,10 @@
xsltc.setProperty(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, _accessExternalStylesheet);
xsltc.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, _accessExternalDTD);
xsltc.setProperty(XalanConstants.SECURITY_MANAGER, _xmlSecurityManager);
+ xsltc.setProperty(XalanConstants.JDK_EXTENSION_CLASSLOADER, _extensionClassLoader);
xsltc.init();
-
+ if (!_isNotSecureProcessing)
+ _xsltcExtensionFunctions = xsltc.getExternalExtensionFunctions();
// Set a document loader (for xsl:include/import) if defined
if (_uriResolver != null) {
xsltc.setSourceLoader(this);
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/CoreDOMImplementationImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/CoreDOMImplementationImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -108,32 +108,6 @@
boolean anyVersion = version == null || version.length() == 0;
- // check if Xalan implementation is around and if yes report true for supporting
- // XPath API
- // if a plus sign "+" is prepended to any feature name, implementations
- // are considered in which the specified feature may not be directly
- // castable DOMImplementation.getFeature(feature, version). Without a
- // plus, only features whose interfaces are directly castable are considered.
- if ((feature.equalsIgnoreCase("+XPath"))
- && (anyVersion || version.equals("3.0"))) {
- try {
- Class xpathClass = ObjectFactory.findProviderClass(
- "com.sun.org.apache.xpath.internal.domapi.XPathEvaluatorImpl", true);
-
- // Check if the DOM XPath implementation implements
- // the interface org.w3c.dom.XPathEvaluator
- Class interfaces[] = xpathClass.getInterfaces();
- for (int i = 0; i < interfaces.length; i++) {
- if (interfaces[i].getName().equals(
- "org.w3c.dom.xpath.XPathEvaluator")) {
- return true;
- }
- }
- } catch (Exception e) {
- return false;
- }
- return true;
- }
if (feature.startsWith("+")) {
feature = feature.substring(1);
}
@@ -281,25 +255,7 @@
*/
public Object getFeature(String feature, String version) {
if (singleton.hasFeature(feature, version)) {
- if ((feature.equalsIgnoreCase("+XPath"))) {
- try {
- Class xpathClass = ObjectFactory.findProviderClass(
- "com.sun.org.apache.xpath.internal.domapi.XPathEvaluatorImpl", true);
- // Check if the DOM XPath implementation implements
- // the interface org.w3c.dom.XPathEvaluator
- Class interfaces[] = xpathClass.getInterfaces();
- for (int i = 0; i < interfaces.length; i++) {
- if (interfaces[i].getName().equals(
- "org.w3c.dom.xpath.XPathEvaluator")) {
- return xpathClass.newInstance();
- }
- }
- } catch (Exception e) {
- return null;
- }
- } else {
- return singleton;
- }
+ return singleton;
}
return null;
}
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -498,44 +498,6 @@
* @since DOM Level 3
*/
public Object getFeature(String feature, String version) {
-
- boolean anyVersion = version == null || version.length() == 0;
-
- // if a plus sign "+" is prepended to any feature name, implementations
- // are considered in which the specified feature may not be directly
- // castable DOMImplementation.getFeature(feature, version). Without a
- // plus, only features whose interfaces are directly castable are
- // considered.
- if ((feature.equalsIgnoreCase("+XPath"))
- && (anyVersion || version.equals("3.0"))) {
-
- // If an XPathEvaluator was created previously
- // return it otherwise create a new one.
- if (fXPathEvaluator != null) {
- return fXPathEvaluator;
- }
-
- try {
- Class xpathClass = ObjectFactory.findProviderClass (
- "com.sun.org.apache.xpath.internal.domapi.XPathEvaluatorImpl", true);
- Constructor xpathClassConstr =
- xpathClass.getConstructor(new Class[] { Document.class });
-
- // Check if the DOM XPath implementation implements
- // the interface org.w3c.dom.XPathEvaluator
- Class interfaces[] = xpathClass.getInterfaces();
- for (int i = 0; i < interfaces.length; i++) {
- if (interfaces[i].getName().equals(
- "org.w3c.dom.xpath.XPathEvaluator")) {
- fXPathEvaluator = xpathClassConstr.newInstance(new Object[] { this });
- return fXPathEvaluator;
- }
- }
- return null;
- } catch (Exception e) {
- return null;
- }
- }
return super.getFeature(feature, version);
}
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serialize/OutputFormat.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serialize/OutputFormat.java Mon Apr 27 09:17:39 2015 -0700
@@ -36,7 +36,6 @@
import org.w3c.dom.Document;
import org.w3c.dom.DocumentType;
import org.w3c.dom.Node;
-import org.w3c.dom.html.HTMLDocument;
/**
@@ -273,45 +272,6 @@
setIndenting( indenting );
}
-
- /**
- * Constructs a new output format with the proper method,
- * document type identifiers and media type for the specified
- * document.
- *
- * @param doc The document to output
- * @see #whichMethod
- */
- public OutputFormat( Document doc )
- {
- setMethod( whichMethod( doc ) );
- setDoctype( whichDoctypePublic( doc ), whichDoctypeSystem( doc ) );
- setMediaType( whichMediaType( getMethod() ) );
- }
-
-
- /**
- * Constructs a new output format with the proper method,
- * document type identifiers and media type for the specified
- * document, and with the specified encoding. If <tt>indent</tt>
- * is true, the document will be pretty printed with the default
- * indentation level and default line wrapping.
- *
- * @param doc The document to output
- * @param encoding The specified encoding
- * @param indenting True for pretty printing
- * @see #setEncoding
- * @see #setIndenting
- * @see #whichMethod
- */
- public OutputFormat( Document doc, String encoding, boolean indenting )
- {
- this( doc );
- setEncoding( encoding );
- setIndenting( indenting );
- }
-
-
/**
* Returns the method specified for this output format.
* Typically the method will be <tt>xml</tt>, <tt>html</tt>
@@ -841,110 +801,6 @@
/**
- * Determine the output method for the specified document.
- * If the document is an instance of {@link org.w3c.dom.html.HTMLDocument}
- * then the method is said to be <tt>html</tt>. If the root
- * element is 'html' and all text nodes preceding the root
- * element are all whitespace, then the method is said to be
- * <tt>html</tt>. Otherwise the method is <tt>xml</tt>.
- *
- * @param doc The document to check
- * @return The suitable method
- */
- public static String whichMethod( Document doc )
- {
- Node node;
- String value;
- int i;
-
- // If document is derived from HTMLDocument then the default
- // method is html.
- if ( doc instanceof HTMLDocument )
- return Method.HTML;
-
- // Lookup the root element and the text nodes preceding it.
- // If root element is html and all text nodes contain whitespace
- // only, the method is html.
-
- // FIXME (SM) should we care about namespaces here?
-
- node = doc.getFirstChild();
- while (node != null) {
- // If the root element is html, the method is html.
- if ( node.getNodeType() == Node.ELEMENT_NODE ) {
- if ( node.getNodeName().equalsIgnoreCase( "html" ) ) {
- return Method.HTML;
- } else if ( node.getNodeName().equalsIgnoreCase( "root" ) ) {
- return Method.FOP;
- } else {
- return Method.XML;
- }
- } else if ( node.getNodeType() == Node.TEXT_NODE ) {
- // If a text node preceding the root element contains
- // only whitespace, this might be html, otherwise it's
- // definitely xml.
- value = node.getNodeValue();
- for ( i = 0 ; i < value.length() ; ++i )
- if ( value.charAt( i ) != 0x20 && value.charAt( i ) != 0x0A &&
- value.charAt( i ) != 0x09 && value.charAt( i ) != 0x0D )
- return Method.XML;
- }
- node = node.getNextSibling();
- }
- // Anything else, the method is xml.
- return Method.XML;
- }
-
-
- /**
- * Returns the document type public identifier
- * specified for this document, or null.
- */
- public static String whichDoctypePublic( Document doc )
- {
- DocumentType doctype;
-
- /* DOM Level 2 was introduced into the code base*/
- doctype = doc.getDoctype();
- if ( doctype != null ) {
- // Note on catch: DOM Level 1 does not specify this method
- // and the code will throw a NoSuchMethodError
- try {
- return doctype.getPublicId();
- } catch ( Error except ) { }
- }
-
- if ( doc instanceof HTMLDocument )
- return DTD.XHTMLPublicId;
- return null;
- }
-
-
- /**
- * Returns the document type system identifier
- * specified for this document, or null.
- */
- public static String whichDoctypeSystem( Document doc )
- {
- DocumentType doctype;
-
- /* DOM Level 2 was introduced into the code base*/
- doctype = doc.getDoctype();
- if ( doctype != null ) {
- // Note on catch: DOM Level 1 does not specify this method
- // and the code will throw a NoSuchMethodError
- try {
- return doctype.getSystemId();
- } catch ( Error except ) { }
- }
-
- if ( doc instanceof HTMLDocument )
- return DTD.XHTMLSystemId;
- return null;
- }
-
-
- /**
* Returns the suitable media format for a document
* output with the specified method.
*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/SafeThread.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package com.sun.org.apache.xml.internal.utils;
+
+import sun.misc.Unsafe;
+
+/**
+ * This is a combination of ThreadControllerWrapper's inner class SafeThread
+ * that was introduced as a fix for CR 6607339
+ * and sun.misc.ManagedLocalsThread, a thread that has it's thread locals, and
+ * inheritable thread locals erased on construction. Except the run method,
+ * it is identical to sun.misc.ManagedLocalsThread.
+ */
+public class SafeThread extends Thread {
+
+ private static final Unsafe UNSAFE;
+ private static final long THREAD_LOCALS;
+ private static final long INHERITABLE_THREAD_LOCALS;
+
+ private volatile boolean ran = false;
+
+ public SafeThread(Runnable target) {
+ super(target);
+ eraseThreadLocals();
+ }
+
+ public SafeThread(Runnable target, String name) {
+ super(target, name);
+ eraseThreadLocals();
+ }
+
+ public SafeThread(ThreadGroup group, Runnable target, String name) {
+ super(group, target, name);
+ eraseThreadLocals();
+ }
+
+ public final void run() {
+ if (Thread.currentThread() != this) {
+ throw new IllegalStateException("The run() method in a"
+ + " SafeThread cannot be called from another thread.");
+ }
+ synchronized (this) {
+ if (!ran) {
+ ran = true;
+ } else {
+ throw new IllegalStateException("The run() method in a"
+ + " SafeThread cannot be called more than once.");
+ }
+ }
+ super.run();
+ }
+
+ /**
+ * Drops all thread locals (and inherited thread locals).
+ */
+ public final void eraseThreadLocals() {
+ UNSAFE.putObject(this, THREAD_LOCALS, null);
+ UNSAFE.putObject(this, INHERITABLE_THREAD_LOCALS, null);
+ }
+
+ static {
+ UNSAFE = Unsafe.getUnsafe();
+ Class<?> t = Thread.class;
+ try {
+ THREAD_LOCALS = UNSAFE.objectFieldOffset(t.getDeclaredField("threadLocals"));
+ INHERITABLE_THREAD_LOCALS = UNSAFE.objectFieldOffset(t.getDeclaredField("inheritableThreadLocals"));
+ } catch (Exception e) {
+ throw new Error(e);
+ }
+ }
+
+}
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/ThreadControllerWrapper.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/ThreadControllerWrapper.java Mon Apr 27 09:17:39 2015 -0700
@@ -3,11 +3,12 @@
* DO NOT REMOVE OR ALTER!
*/
/*
- * Copyright 1999-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
@@ -17,110 +18,73 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-/*
- * $Id: ThreadControllerWrapper.java,v 1.2.4.1 2005/09/15 08:15:59 suresh_emailid Exp $
- */
package com.sun.org.apache.xml.internal.utils;
/**
- * A utility class that wraps the ThreadController, which is used
- * by IncrementalSAXSource for the incremental building of DTM.
+ * A utility class that wraps the ThreadController, which is used by
+ * IncrementalSAXSource for the incremental building of DTM.
*/
-public class ThreadControllerWrapper
-{
-
- /** The ThreadController pool */
- private static ThreadController m_tpool = new ThreadController();
-
- public static Thread runThread(Runnable runnable, int priority)
- {
- return m_tpool.run(runnable, priority);
- }
-
- public static void waitThread(Thread worker, Runnable task)
- throws InterruptedException
- {
- m_tpool.waitThread(worker, task);
- }
-
- /**
- * Thread controller utility class for incremental SAX source. Must
- * be overriden with a derived class to support thread pooling.
- *
- * All thread-related stuff is in this class.
- */
- public static class ThreadController
- {
+public class ThreadControllerWrapper {
/**
- * This class was introduced as a fix for CR 6607339.
+ * The ThreadController pool
*/
- final class SafeThread extends Thread {
- private volatile boolean ran = false;
-
- public SafeThread(Runnable target) {
- super(target);
- }
+ private static ThreadController m_tpool = new ThreadController();
- public final void run() {
- if (Thread.currentThread() != this) {
- throw new IllegalStateException("The run() method in a"
- + " SafeThread cannot be called from another thread.");
- }
- synchronized (this) {
- if (!ran) {
- ran = true;
- }
- else {
- throw new IllegalStateException("The run() method in a"
- + " SafeThread cannot be called more than once.");
- }
- }
- super.run();
- }
+ public static Thread runThread(Runnable runnable, int priority) {
+ return m_tpool.run(runnable, priority);
+ }
+
+ public static void waitThread(Thread worker, Runnable task)
+ throws InterruptedException {
+ m_tpool.waitThread(worker, task);
}
/**
- * Will get a thread from the pool, execute the task
- * and return the thread to the pool.
- *
- * The return value is used only to wait for completion
- *
+ * Thread controller utility class for incremental SAX source. Must be
+ * overridden with a derived class to support thread pooling.
*
- * NEEDSDOC @param task
- * @param priority if >0 the task will run with the given priority
- * ( doesn't seem to be used in xalan, since it's allways the default )
- * @return The thread that is running the task, can be used
- * to wait for completion
+ * All thread-related stuff is in this class.
*/
- public Thread run(Runnable task, int priority)
- {
+ public static class ThreadController {
- Thread t = new SafeThread(task);
-
- t.start();
+ /**
+ * Will get a thread from the pool, execute the task and return the
+ * thread to the pool.
+ *
+ * The return value is used only to wait for completion
+ *
+ *
+ * @param task the Runnable
+ *
+ * @param priority if >0 the task will run with the given priority (
+ * doesn't seem to be used in xalan, since it's always the default )
+ * @return The thread that is running the task, can be used to wait for
+ * completion
+ */
+ public Thread run(Runnable task, int priority) {
- // if( priority > 0 )
- // t.setPriority( priority );
- return t;
- }
+ Thread t = new SafeThread(task);
+ t.start();
+
+ //if( priority > 0 )
+ // t.setPriority( priority );
+ return t;
+ }
- /**
- * Wait until the task is completed on the worker
- * thread.
- *
- * NEEDSDOC @param worker
- * NEEDSDOC @param task
- *
- * @throws InterruptedException
- */
- public void waitThread(Thread worker, Runnable task)
- throws InterruptedException
- {
+ /**
+ * Wait until the task is completed on the worker thread.
+ *
+ * @param worker worker thread
+ * @param task the Runnable
+ *
+ * @throws InterruptedException
+ */
+ public void waitThread(Thread worker, Runnable task)
+ throws InterruptedException {
- // This should wait until the transformThread is considered not alive.
- worker.join();
+ // This should wait until the transformThread is considered not alive.
+ worker.join();
+ }
}
- }
-
}
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/Lexer.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/Lexer.java Mon Apr 27 09:17:39 2015 -0700
@@ -637,26 +637,8 @@
}
else
{
- // To older XPath code it doesn't matter if
- // error() is called or errorForDOM3().
- m_processor.errorForDOM3(XPATHErrorResources.ER_PREFIX_MUST_RESOLVE,
- new String[] {prefix}); //"Prefix must resolve to a namespace: {0}";
-
-/** old code commented out 17-Sep-2004
-// error("Could not locate namespace for prefix: "+prefix);
-// m_processor.error(XPATHErrorResources.ER_PREFIX_MUST_RESOLVE,
-// new String[] {prefix}); //"Prefix must resolve to a namespace: {0}";
-*/
-
- /*** Old code commented out 10-Jan-2001
- addToTokenQueue(prefix);
- addToTokenQueue(":");
-
- String s = pat.substring(posOfNSSep + 1, posOfScan);
-
- if (s.length() > 0)
- addToTokenQueue(s);
- ***/
+ m_processor.error(XPATHErrorResources.ER_PREFIX_MUST_RESOLVE,
+ new String[] {prefix}); //"Prefix must resolve to a namespace: {0}";
}
return -1;
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/XPathParser.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/XPathParser.java Mon Apr 27 09:17:39 2015 -0700
@@ -28,7 +28,6 @@
import com.sun.org.apache.xalan.internal.res.XSLMessages;
import com.sun.org.apache.xml.internal.utils.PrefixResolver;
import com.sun.org.apache.xpath.internal.XPathProcessorException;
-import com.sun.org.apache.xpath.internal.domapi.XPathStylesheetDOM3Exception;
import com.sun.org.apache.xpath.internal.objects.XNumber;
import com.sun.org.apache.xpath.internal.objects.XString;
import com.sun.org.apache.xpath.internal.res.XPATHErrorResources;
@@ -623,50 +622,6 @@
}
/**
- * This method is added to support DOM 3 XPath API.
- * <p>
- * This method is exactly like error(String, Object[]); except that
- * the underlying TransformerException is
- * XpathStylesheetDOM3Exception (which extends TransformerException).
- * <p>
- * So older XPath code in Xalan is not affected by this. To older XPath code
- * the behavior of whether error() or errorForDOM3() is called because it is
- * always catching TransformerException objects and is oblivious to
- * the new subclass of XPathStylesheetDOM3Exception. Older XPath code
- * runs as before.
- * <p>
- * However, newer DOM3 XPath code upon catching a TransformerException can
- * can check if the exception is an instance of XPathStylesheetDOM3Exception
- * and take appropriate action.
- *
- * @param msg An error msgkey that corresponds to one of the constants found
- * in {@link com.sun.org.apache.xpath.internal.res.XPATHErrorResources}, which is
- * a key for a format string.
- * @param args An array of arguments represented in the format string, which
- * may be null.
- *
- * @throws TransformerException if the current ErrorListoner determines to
- * throw an exception.
- */
- void errorForDOM3(String msg, Object[] args) throws TransformerException
- {
-
- String fmsg = XSLMessages.createXPATHMessage(msg, args);
- ErrorListener ehandler = this.getErrorListener();
-
- TransformerException te = new XPathStylesheetDOM3Exception(fmsg, m_sourceLocator);
- if (null != ehandler)
- {
- // TO DO: Need to get stylesheet Locator from here.
- ehandler.fatalError(te);
- }
- else
- {
- // System.err.println(fmsg);
- throw te;
- }
- }
- /**
* Dump the remaining token queue.
* Thanks to Craig for this.
*
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathEvaluatorImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +0,0 @@
-/*
- * reserved comment block
- * DO NOT REMOVE OR ALTER!
- */
-/*
- * Copyright 2002-2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPathEvaluatorImpl.java,v 1.2.4.1 2005/09/10 04:04:07 jeffsuttor Exp $
- */
-
-package com.sun.org.apache.xpath.internal.domapi;
-
-import javax.xml.transform.TransformerException;
-
-import com.sun.org.apache.xml.internal.utils.PrefixResolver;
-import com.sun.org.apache.xpath.internal.XPath;
-import com.sun.org.apache.xpath.internal.res.XPATHErrorResources;
-import com.sun.org.apache.xpath.internal.res.XPATHMessages;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.xpath.XPathEvaluator;
-import org.w3c.dom.xpath.XPathException;
-import org.w3c.dom.xpath.XPathExpression;
-import org.w3c.dom.xpath.XPathNSResolver;
-
-/**
- *
- * The class provides an implementation of XPathEvaluator according
- * to the DOM L3 XPath Specification, Working Group Note 26 February 2004.
- *
- * <p>See also the <a href='http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226'>Document Object Model (DOM) Level 3 XPath Specification</a>.</p>
- *
- * </p>The evaluation of XPath expressions is provided by
- * <code>XPathEvaluator</code>, which will provide evaluation of XPath 1.0
- * expressions with no specialized extension functions or variables. It is
- * expected that the <code>XPathEvaluator</code> interface will be
- * implemented on the same object which implements the <code>Document</code>
- * interface in an implementation which supports the XPath DOM module.
- * <code>XPathEvaluator</code> implementations may be available from other
- * sources that may provide support for special extension functions or
- * variables which are not defined in this specification.</p>
- *
- * @see org.w3c.dom.xpath.XPathEvaluator
- *
- * @xsl.usage internal
- */
-public final class XPathEvaluatorImpl implements XPathEvaluator {
-
- /**
- * This prefix resolver is created whenever null is passed to the
- * evaluate method. Its purpose is to satisfy the DOM L3 XPath API
- * requirement that if a null prefix resolver is used, an exception
- * should only be thrown when an attempt is made to resolve a prefix.
- */
- private class DummyPrefixResolver implements PrefixResolver {
-
- /**
- * Constructor for DummyPrefixResolver.
- */
- DummyPrefixResolver() {}
-
- /**
- * @exception DOMException
- * NAMESPACE_ERR: Always throws this exceptionn
- *
- * @see com.sun.org.apache.xml.internal.utils.PrefixResolver#getNamespaceForPrefix(String, Node)
- */
- public String getNamespaceForPrefix(String prefix, Node context) {
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_NULL_RESOLVER, null);
- throw new DOMException(DOMException.NAMESPACE_ERR, fmsg); // Unable to resolve prefix with null prefix resolver.
- }
-
- /**
- * @exception DOMException
- * NAMESPACE_ERR: Always throws this exceptionn
- *
- * @see com.sun.org.apache.xml.internal.utils.PrefixResolver#getNamespaceForPrefix(String)
- */
- public String getNamespaceForPrefix(String prefix) {
- return getNamespaceForPrefix(prefix,null);
- }
-
- /**
- * @see com.sun.org.apache.xml.internal.utils.PrefixResolver#handlesNullPrefixes()
- */
- public boolean handlesNullPrefixes() {
- return false;
- }
-
- /**
- * @see com.sun.org.apache.xml.internal.utils.PrefixResolver#getBaseIdentifier()
- */
- public String getBaseIdentifier() {
- return null;
- }
-
- }
-
- /**
- * The document to be searched to parallel the case where the XPathEvaluator
- * is obtained by casting a Document.
- */
- private final Document m_doc;
-
- /**
- * Constructor for XPathEvaluatorImpl.
- *
- * @param doc The document to be searched, to parallel the case where''
- * the XPathEvaluator is obtained by casting the document.
- */
- public XPathEvaluatorImpl(Document doc) {
- m_doc = doc;
- }
-
- /**
- * Constructor in the case that the XPath expression can be evaluated
- * without needing an XML document at all.
- *
- */
- public XPathEvaluatorImpl() {
- m_doc = null;
- }
-
- /**
- * Creates a parsed XPath expression with resolved namespaces. This is
- * useful when an expression will be reused in an application since it
- * makes it possible to compile the expression string into a more
- * efficient internal form and preresolve all namespace prefixes which
- * occur within the expression.
- *
- * @param expression The XPath expression string to be parsed.
- * @param resolver The <code>resolver</code> permits translation of
- * prefixes within the XPath expression into appropriate namespace URIs
- * . If this is specified as <code>null</code>, any namespace prefix
- * within the expression will result in <code>DOMException</code>
- * being thrown with the code <code>NAMESPACE_ERR</code>.
- * @return The compiled form of the XPath expression.
- * @exception XPathException
- * INVALID_EXPRESSION_ERR: Raised if the expression is not legal
- * according to the rules of the <code>XPathEvaluator</code>i
- * @exception DOMException
- * NAMESPACE_ERR: Raised if the expression contains namespace prefixes
- * which cannot be resolved by the specified
- * <code>XPathNSResolver</code>.
- *
- * @see org.w3c.dom.xpath.XPathEvaluator#createExpression(String, XPathNSResolver)
- */
- public XPathExpression createExpression(
- String expression,
- XPathNSResolver resolver)
- throws XPathException, DOMException {
-
- try {
-
- // If the resolver is null, create a dummy prefix resolver
- XPath xpath = new XPath(expression,null,
- ((null == resolver) ? new DummyPrefixResolver() : ((PrefixResolver)resolver)),
- XPath.SELECT);
-
- return new XPathExpressionImpl(xpath, m_doc);
-
- } catch (TransformerException e) {
- // Need to pass back exception code DOMException.NAMESPACE_ERR also.
- // Error found in DOM Level 3 XPath Test Suite.
- if(e instanceof XPathStylesheetDOM3Exception)
- throw new DOMException(DOMException.NAMESPACE_ERR,e.getMessageAndLocation());
- else
- throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,e.getMessageAndLocation());
-
- }
- }
-
- /**
- * Adapts any DOM node to resolve namespaces so that an XPath expression
- * can be easily evaluated relative to the context of the node where it
- * appeared within the document. This adapter works like the DOM Level 3
- * method <code>lookupNamespaceURI</code> on nodes in resolving the
- * namespaceURI from a given prefix using the current information available
- * in the node's hierarchy at the time lookupNamespaceURI is called, also
- * correctly resolving the implicit xml prefix.
- *
- * @param nodeResolver The node to be used as a context for namespace
- * resolution.
- * @return <code>XPathNSResolver</code> which resolves namespaces with
- * respect to the definitions in scope for a specified node.
- *
- * @see org.w3c.dom.xpath.XPathEvaluator#createNSResolver(Node)
- */
- public XPathNSResolver createNSResolver(Node nodeResolver) {
-
- return new XPathNSResolverImpl((nodeResolver.getNodeType() == Node.DOCUMENT_NODE)
- ? ((Document) nodeResolver).getDocumentElement() : nodeResolver);
- }
-
- /**
- * Evaluates an XPath expression string and returns a result of the
- * specified type if possible.
- *
- * @param expression The XPath expression string to be parsed and
- * evaluated.
- * @param contextNode The <code>context</code> is context node for the
- * evaluation of this XPath expression. If the XPathEvaluator was
- * obtained by casting the <code>Document</code> then this must be
- * owned by the same document and must be a <code>Document</code>,
- * <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
- * <code>CDATASection</code>, <code>Comment</code>,
- * <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
- * node. If the context node is a <code>Text</code> or a
- * <code>CDATASection</code>, then the context is interpreted as the
- * whole logical text node as seen by XPath, unless the node is empty
- * in which case it may not serve as the XPath context.
- * @param resolver The <code>resolver</code> permits translation of
- * prefixes within the XPath expression into appropriate namespace URIs
- * . If this is specified as <code>null</code>, any namespace prefix
- * within the expression will result in <code>DOMException</code>
- * being thrown with the code <code>NAMESPACE_ERR</code>.
- * @param type If a specific <code>type</code> is specified, then the
- * result will be coerced to return the specified type relying on
- * XPath type conversions and fail if the desired coercion is not
- * possible. This must be one of the type codes of
- * <code>XPathResult</code>.
- * @param result The <code>result</code> specifies a specific result
- * object which may be reused and returned by this method. If this is
- * specified as <code>null</code>or the implementation does not reuse
- * the specified result, a new result object will be constructed and
- * returned.For XPath 1.0 results, this object will be of type
- * <code>XPathResult</code>.
- * @return The result of the evaluation of the XPath expression.For XPath
- * 1.0 results, this object will be of type <code>XPathResult</code>.
- * @exception XPathException
- * INVALID_EXPRESSION_ERR: Raised if the expression is not legal
- * according to the rules of the <code>XPathEvaluator</code>i
- * <br>TYPE_ERR: Raised if the result cannot be converted to return the
- * specified type.
- * @exception DOMException
- * NAMESPACE_ERR: Raised if the expression contains namespace prefixes
- * which cannot be resolved by the specified
- * <code>XPathNSResolver</code>.
- * <br>WRONG_DOCUMENT_ERR: The Node is from a document that is not
- * supported by this XPathEvaluator.
- * <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
- * context node.
- *
- * @see org.w3c.dom.xpath.XPathEvaluator#evaluate(String, Node, XPathNSResolver, short, XPathResult)
- */
- public Object evaluate(
- String expression,
- Node contextNode,
- XPathNSResolver resolver,
- short type,
- Object result)
- throws XPathException, DOMException {
-
- XPathExpression xpathExpression = createExpression(expression, resolver);
-
- return xpathExpression.evaluate(contextNode, type, result);
- }
-
-}
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathExpressionImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,185 +0,0 @@
-/*
- * reserved comment block
- * DO NOT REMOVE OR ALTER!
- */
-/*
- * Copyright 2002-2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPathExpressionImpl.java,v 1.2.4.1 2005/09/10 04:06:55 jeffsuttor Exp $
- */
-
-
-package com.sun.org.apache.xpath.internal.domapi;
-
-import javax.xml.transform.TransformerException;
-
-import com.sun.org.apache.xpath.internal.XPath;
-import com.sun.org.apache.xpath.internal.XPathContext;
-import com.sun.org.apache.xpath.internal.objects.XObject;
-import com.sun.org.apache.xpath.internal.res.XPATHErrorResources;
-import com.sun.org.apache.xpath.internal.res.XPATHMessages;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.xpath.XPathException;
-import org.w3c.dom.xpath.XPathExpression;
-import org.w3c.dom.xpath.XPathNamespace;
-
-/**
- *
- * The class provides an implementation of XPathExpression according
- * to the DOM L3 XPath Specification, Working Group Note 26 February 2004.
- *
- * <p>See also the <a href='http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226'>Document Object Model (DOM) Level 3 XPath Specification</a>.</p>
- *
- * <p>The <code>XPathExpression</code> interface represents a parsed and resolved
- * XPath expression.</p>
- *
- * @see org.w3c.dom.xpath.XPathExpression
- *
- * @xsl.usage internal
- */
-class XPathExpressionImpl implements XPathExpression {
-
- /**
- * The xpath object that this expression wraps
- */
- final private XPath m_xpath;
-
- /**
- * The document to be searched to parallel the case where the XPathEvaluator
- * is obtained by casting a Document.
- */
- final private Document m_doc;
-
- /**
- * Constructor for XPathExpressionImpl.
- *
- * @param xpath The wrapped XPath object.
- * @param doc The document to be searched, to parallel the case where''
- * the XPathEvaluator is obtained by casting the document.
- */
- XPathExpressionImpl(XPath xpath, Document doc) {
- m_xpath = xpath;
- m_doc = doc;
- }
-
- /**
- *
- * This method provides an implementation XPathResult.evaluate according
- * to the DOM L3 XPath Specification, Working Group Note 26 February 2004.
- *
- * <p>See also the <a href='http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226'>Document Object Model (DOM) Level 3 XPath Specification</a>.</p>
- *
- * <p>Evaluates this XPath expression and returns a result.</p>
- * @param contextNode The <code>context</code> is context node for the
- * evaluation of this XPath expression.If the XPathEvaluator was
- * obtained by casting the <code>Document</code> then this must be
- * owned by the same document and must be a <code>Document</code>,
- * <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
- * <code>CDATASection</code>, <code>Comment</code>,
- * <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
- * node.If the context node is a <code>Text</code> or a
- * <code>CDATASection</code>, then the context is interpreted as the
- * whole logical text node as seen by XPath, unless the node is empty
- * in which case it may not serve as the XPath context.
- * @param type If a specific <code>type</code> is specified, then the
- * result will be coerced to return the specified type relying on
- * XPath conversions and fail if the desired coercion is not possible.
- * This must be one of the type codes of <code>XPathResult</code>.
- * @param result The <code>result</code> specifies a specific result
- * object which may be reused and returned by this method. If this is
- * specified as <code>null</code>or the implementation does not reuse
- * the specified result, a new result object will be constructed and
- * returned.For XPath 1.0 results, this object will be of type
- * <code>XPathResult</code>.
- * @return The result of the evaluation of the XPath expression.For XPath
- * 1.0 results, this object will be of type <code>XPathResult</code>.
- * @exception XPathException
- * TYPE_ERR: Raised if the result cannot be converted to return the
- * specified type.
- * @exception DOMException
- * WRONG_DOCUMENT_ERR: The Node is from a document that is not supported
- * by the XPathEvaluator that created this
- * <code>XPathExpression</code>.
- * <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
- * context node.
- *
- * @see org.w3c.dom.xpath.XPathExpression#evaluate(Node, short, XPathResult)
- * @xsl.usage internal
- */
- public Object evaluate(
- Node contextNode,
- short type,
- Object result)
- throws XPathException, DOMException {
-
- // If the XPathEvaluator was determined by "casting" the document
- if (m_doc != null) {
-
- // Check that the context node is owned by the same document
- if ((contextNode != m_doc) && (!contextNode.getOwnerDocument().equals(m_doc))) {
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_WRONG_DOCUMENT, null);
- throw new DOMException(DOMException.WRONG_DOCUMENT_ERR, fmsg);
- }
-
- // Check that the context node is an acceptable node type
- short nodeType = contextNode.getNodeType();
- if ((nodeType != Document.DOCUMENT_NODE) &&
- (nodeType != Document.ELEMENT_NODE) &&
- (nodeType != Document.ATTRIBUTE_NODE) &&
- (nodeType != Document.TEXT_NODE) &&
- (nodeType != Document.CDATA_SECTION_NODE) &&
- (nodeType != Document.COMMENT_NODE) &&
- (nodeType != Document.PROCESSING_INSTRUCTION_NODE) &&
- (nodeType != XPathNamespace.XPATH_NAMESPACE_NODE)) {
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_WRONG_NODETYPE, null);
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, fmsg);
- }
- }
-
- //
- // If the type is not a supported type, throw an exception and be
- // done with it!
- if (!XPathResultImpl.isValidType(type)) {
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_INVALID_XPATH_TYPE, new Object[] {new Integer(type)});
- throw new XPathException(XPathException.TYPE_ERR,fmsg); // Invalid XPath type argument: {0}
- }
-
- // Cache xpath context?
- XPathContext xpathSupport = new XPathContext();
-
- // if m_document is not null, build the DTM from the document
- if (null != m_doc) {
- xpathSupport.getDTMHandleFromNode(m_doc);
- }
-
- XObject xobj = null;
- try {
- xobj = m_xpath.execute(xpathSupport, contextNode, null);
- } catch (TransformerException te) {
- // What should we do here?
- throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,te.getMessageAndLocation());
- }
-
- // Create a new XPathResult object
- // Reuse result object passed in?
- // The constructor will check the compatibility of type and xobj and
- // throw an exception if they are not compatible.
- return new XPathResultImpl(type,xobj,contextNode, m_xpath);
- }
-
-}
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathNSResolverImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * reserved comment block
- * DO NOT REMOVE OR ALTER!
- */
-/*
- * Copyright 2002-2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPathNSResolverImpl.java,v 1.2.4.1 2005/09/10 04:13:19 jeffsuttor Exp $
- */
-
-package com.sun.org.apache.xpath.internal.domapi;
-
-import com.sun.org.apache.xml.internal.utils.PrefixResolverDefault;
-import org.w3c.dom.Node;
-import org.w3c.dom.xpath.XPathNSResolver;
-
-/**
- *
- * The class provides an implementation XPathNSResolver according
- * to the DOM L3 XPath Specification, Working Group Note 26 February 2004.
- *
- * <p>See also the <a href='http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226'>Document Object Model (DOM) Level 3 XPath Specification</a>.</p>
- *
- * <p>The <code>XPathNSResolver</code> interface permit <code>prefix</code>
- * strings in the expression to be properly bound to
- * <code>namespaceURI</code> strings. <code>XPathEvaluator</code> can
- * construct an implementation of <code>XPathNSResolver</code> from a node,
- * or the interface may be implemented by any application.</p>
- *
- * @see org.w3c.dom.xpath.XPathNSResolver
- * @xsl.usage internal
- */
-class XPathNSResolverImpl extends PrefixResolverDefault implements XPathNSResolver {
-
- /**
- * Constructor for XPathNSResolverImpl.
- * @param xpathExpressionContext
- */
- public XPathNSResolverImpl(Node xpathExpressionContext) {
- super(xpathExpressionContext);
- }
-
- /**
- * @see org.w3c.dom.xpath.XPathNSResolver#lookupNamespaceURI(String)
- */
- public String lookupNamespaceURI(String prefix) {
- return super.getNamespaceForPrefix(prefix);
- }
-
-}
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathNamespaceImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,324 +0,0 @@
-/*
- * reserved comment block
- * DO NOT REMOVE OR ALTER!
- */
-/*
- * Copyright 2002-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPathNamespaceImpl.java,v 1.2.4.1 2005/09/10 04:10:02 jeffsuttor Exp $
- */
-
-
-package com.sun.org.apache.xpath.internal.domapi;
-
-import org.w3c.dom.Attr;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.xpath.XPathNamespace;
-
-import org.w3c.dom.UserDataHandler;
-
-/**
- *
- *
- * The <code>XPathNamespace</code> interface is returned by
- * <code>XPathResult</code> interfaces to represent the XPath namespace node
- * type that DOM lacks. There is no public constructor for this node type.
- * Attempts to place it into a hierarchy or a NamedNodeMap result in a
- * <code>DOMException</code> with the code <code>HIERARCHY_REQUEST_ERR</code>
- * . This node is read only, so methods or setting of attributes that would
- * mutate the node result in a DOMException with the code
- * <code>NO_MODIFICATION_ALLOWED_ERR</code>.
- * <p>The core specification describes attributes of the <code>Node</code>
- * interface that are different for different node node types but does not
- * describe <code>XPATH_NAMESPACE_NODE</code>, so here is a description of
- * those attributes for this node type. All attributes of <code>Node</code>
- * not described in this section have a <code>null</code> or
- * <code>false</code> value.
- * <p><code>ownerDocument</code> matches the <code>ownerDocument</code> of the
- * <code>ownerElement</code> even if the element is later adopted.
- * <p><code>prefix</code> is the prefix of the namespace represented by the
- * node.
- * <p><code>nodeName</code> is the same as <code>prefix</code>.
- * <p><code>nodeType</code> is equal to <code>XPATH_NAMESPACE_NODE</code>.
- * <p><code>namespaceURI</code> is the namespace URI of the namespace
- * represented by the node.
- * <p><code>adoptNode</code>, <code>cloneNode</code>, and
- * <code>importNode</code> fail on this node type by raising a
- * <code>DOMException</code> with the code <code>NOT_SUPPORTED_ERR</code>.In
- * future versions of the XPath specification, the definition of a namespace
- * node may be changed incomatibly, in which case incompatible changes to
- * field values may be required to implement versions beyond XPath 1.0.
- * <p>See also the <a href='http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226'>Document Object Model (DOM) Level 3 XPath Specification</a>.
- *
- * This implementation wraps the DOM attribute node that contained the
- * namespace declaration.
- * @xsl.usage internal
- */
-
-class XPathNamespaceImpl implements XPathNamespace {
-
- // Node that XPathNamespaceImpl wraps
- final private Node m_attributeNode;
-
- /**
- * Constructor for XPathNamespaceImpl.
- */
- XPathNamespaceImpl(Node node) {
- m_attributeNode = node;
- }
-
- /**
- * @see com.sun.org.apache.xalan.internal.dom3.xpath.XPathNamespace#getOwnerElement()
- */
- public Element getOwnerElement() {
- return ((Attr)m_attributeNode).getOwnerElement();
- }
-
- /**
- * @see org.w3c.dom.Node#getNodeName()
- */
- public String getNodeName() {
- return "#namespace";
- }
-
- /**
- * @see org.w3c.dom.Node#getNodeValue()
- */
- public String getNodeValue() throws DOMException {
- return m_attributeNode.getNodeValue();
- }
-
- /**
- * @see org.w3c.dom.Node#setNodeValue(String)
- */
- public void setNodeValue(String arg0) throws DOMException {
- }
-
- /**
- * @see org.w3c.dom.Node#getNodeType()
- */
- public short getNodeType() {
- return XPathNamespace.XPATH_NAMESPACE_NODE;
- }
-
- /**
- * @see org.w3c.dom.Node#getParentNode()
- */
- public Node getParentNode() {
- return m_attributeNode.getParentNode();
- }
-
- /**
- * @see org.w3c.dom.Node#getChildNodes()
- */
- public NodeList getChildNodes() {
- return m_attributeNode.getChildNodes();
- }
-
- /**
- * @see org.w3c.dom.Node#getFirstChild()
- */
- public Node getFirstChild() {
- return m_attributeNode.getFirstChild();
- }
-
- /**
- * @see org.w3c.dom.Node#getLastChild()
- */
- public Node getLastChild() {
- return m_attributeNode.getLastChild();
- }
-
- /**
- * @see org.w3c.dom.Node#getPreviousSibling()
- */
- public Node getPreviousSibling() {
- return m_attributeNode.getPreviousSibling();
- }
-
- /**
- * @see org.w3c.dom.Node#getNextSibling()
- */
- public Node getNextSibling() {
- return m_attributeNode.getNextSibling();
- }
-
- /**
- * @see org.w3c.dom.Node#getAttributes()
- */
- public NamedNodeMap getAttributes() {
- return m_attributeNode.getAttributes();
- }
-
- /**
- * @see org.w3c.dom.Node#getOwnerDocument()
- */
- public Document getOwnerDocument() {
- return m_attributeNode.getOwnerDocument();
- }
-
- /**
- * @see org.w3c.dom.Node#insertBefore(Node, Node)
- */
- public Node insertBefore(Node arg0, Node arg1) throws DOMException {
- return null;
- }
-
- /**
- * @see org.w3c.dom.Node#replaceChild(Node, Node)
- */
- public Node replaceChild(Node arg0, Node arg1) throws DOMException {
- return null;
- }
-
- /**
- * @see org.w3c.dom.Node#removeChild(Node)
- */
- public Node removeChild(Node arg0) throws DOMException {
- return null;
- }
-
- /**
- * @see org.w3c.dom.Node#appendChild(Node)
- */
- public Node appendChild(Node arg0) throws DOMException {
- return null;
- }
-
- /**
- * @see org.w3c.dom.Node#hasChildNodes()
- */
- public boolean hasChildNodes() {
- return false;
- }
-
- /**
- * @see org.w3c.dom.Node#cloneNode(boolean)
- */
- public Node cloneNode(boolean arg0) {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR,null);
- }
-
- /**
- * @see org.w3c.dom.Node#normalize()
- */
- public void normalize() {
- m_attributeNode.normalize();
- }
-
- /**
- * @see org.w3c.dom.Node#isSupported(String, String)
- */
- public boolean isSupported(String arg0, String arg1) {
- return m_attributeNode.isSupported(arg0, arg1);
- }
-
- /**
- * @see org.w3c.dom.Node#getNamespaceURI()
- */
- public String getNamespaceURI() {
-
- // For namespace node, the namespaceURI is the namespace URI
- // of the namespace represented by the node.
- return m_attributeNode.getNodeValue();
- }
-
- /**
- * @see org.w3c.dom.Node#getPrefix()
- */
- public String getPrefix() {
- return m_attributeNode.getPrefix();
- }
-
- /**
- * @see org.w3c.dom.Node#setPrefix(String)
- */
- public void setPrefix(String arg0) throws DOMException {
- }
-
- /**
- * @see org.w3c.dom.Node#getLocalName()
- */
- public String getLocalName() {
-
- // For namespace node, the local name is the same as the prefix
- return m_attributeNode.getPrefix();
- }
-
- /**
- * @see org.w3c.dom.Node#hasAttributes()
- */
- public boolean hasAttributes() {
- return m_attributeNode.hasAttributes();
- }
-
- public String getBaseURI ( ) {
- return null;
- }
-
- public short compareDocumentPosition(Node other) throws DOMException {
- return 0;
- }
-
- private String textContent;
-
- public String getTextContent() throws DOMException {
- return textContent;
- }
-
- public void setTextContent(String textContent) throws DOMException {
- this.textContent = textContent;
- }
-
- public boolean isSameNode(Node other) {
- return false;
- }
-
- public String lookupPrefix(String namespaceURI) {
- return ""; //PENDING
- }
-
- public boolean isDefaultNamespace(String namespaceURI) {
- return false;
- }
-
- public String lookupNamespaceURI(String prefix) {
- return null;
- }
-
- public boolean isEqualNode(Node arg) {
- return false;
- }
-
- public Object getFeature(String feature, String version) {
- return null; //PENDING
- }
-
- public Object setUserData(String key,
- Object data,
- UserDataHandler handler) {
- return null; //PENDING
- }
-
- public Object getUserData(String key) {
- return null;
- }
-}
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathResultImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,512 +0,0 @@
-/*
- * reserved comment block
- * DO NOT REMOVE OR ALTER!
- */
-/*
- * Copyright 2002-2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPathResultImpl.java,v 1.2.4.1 2005/09/10 04:18:54 jeffsuttor Exp $
- */
-
-
-package com.sun.org.apache.xpath.internal.domapi;
-
-import javax.xml.transform.TransformerException;
-
-import com.sun.org.apache.xpath.internal.XPath;
-import com.sun.org.apache.xpath.internal.objects.XObject;
-import com.sun.org.apache.xpath.internal.res.XPATHErrorResources;
-import com.sun.org.apache.xpath.internal.res.XPATHMessages;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.events.Event;
-import org.w3c.dom.events.EventListener;
-import org.w3c.dom.events.EventTarget;
-import org.w3c.dom.traversal.NodeIterator;
-import org.w3c.dom.xpath.XPathException;
-import org.w3c.dom.xpath.XPathResult;
-
-/**
- *
- * The class provides an implementation XPathResult according
- * to the DOM L3 XPath Specification, Working Group Note 26 February 2004.
- *
- * <p>See also the <a href='http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226'>Document Object Model (DOM) Level 3 XPath Specification</a>.</p>
- *
- * <p>The <code>XPathResult</code> interface represents the result of the
- * evaluation of an XPath expression within the context of a particular
- * node. Since evaluation of an XPath expression can result in various
- * result types, this object makes it possible to discover and manipulate
- * the type and value of the result.</p>
- *
- * <p>This implementation wraps an <code>XObject</code>.
- *
- * @see com.sun.org.apache.xpath.internal.objects.XObject
- * @see org.w3c.dom.xpath.XPathResult
- *
- * @xsl.usage internal
- */
-class XPathResultImpl implements XPathResult, EventListener {
-
- /**
- * The wrapped XObject
- */
- final private XObject m_resultObj;
-
- /**
- * The xpath object that wraps the expression used for this result.
- */
- final private XPath m_xpath;
-
- /**
- * This the type specified by the user during construction. Typically
- * the constructor will be called by com.sun.org.apache.xpath.internal.XPath.evaluate().
- */
- final private short m_resultType;
-
- private boolean m_isInvalidIteratorState = false;
-
- /**
- * Only used to attach a mutation event handler when specified
- * type is an iterator type.
- */
- final private Node m_contextNode;
-
- /**
- * The iterator, if this is an iterator type.
- */
- private NodeIterator m_iterator = null;;
-
- /**
- * The list, if this is a snapshot type.
- */
- private NodeList m_list = null;
-
-
- /**
- * Constructor for XPathResultImpl.
- *
- * For internal use only.
- */
- XPathResultImpl(short type, XObject result, Node contextNode, XPath xpath) {
- // Check that the type is valid
- if (!isValidType(type)) {
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_INVALID_XPATH_TYPE, new Object[] {new Integer(type)});
- throw new XPathException(XPathException.TYPE_ERR,fmsg); // Invalid XPath type argument: {0}
- }
-
- // Result object should never be null!
- if (null == result) {
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_EMPTY_XPATH_RESULT, null);
- throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,fmsg); // Empty XPath result object
- }
-
- this.m_resultObj = result;
- this.m_contextNode = contextNode;
- this.m_xpath = xpath;
-
- // If specified result was ANY_TYPE, determine XObject type
- if (type == ANY_TYPE) {
- this.m_resultType = getTypeFromXObject(result);
- } else {
- this.m_resultType = type;
- }
-
- // If the context node supports DOM Events and the type is one of the iterator
- // types register this result as an event listener
- if (((m_resultType == XPathResult.ORDERED_NODE_ITERATOR_TYPE) ||
- (m_resultType == XPathResult.UNORDERED_NODE_ITERATOR_TYPE))) {
- addEventListener();
-
- }// else can we handle iterator types if contextNode doesn't support EventTarget??
-
- // If this is an iterator type get the iterator
- if ((m_resultType == ORDERED_NODE_ITERATOR_TYPE) ||
- (m_resultType == UNORDERED_NODE_ITERATOR_TYPE) ||
- (m_resultType == ANY_UNORDERED_NODE_TYPE) ||
- (m_resultType == FIRST_ORDERED_NODE_TYPE)) {
-
- try {
- m_iterator = m_resultObj.nodeset();
- } catch (TransformerException te) {
- // probably not a node type
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_INCOMPATIBLE_TYPES, new Object[] {m_xpath.getPatternString(), getTypeString(getTypeFromXObject(m_resultObj)),getTypeString(m_resultType)});
- throw new XPathException(XPathException.TYPE_ERR, fmsg); // "The XPathResult of XPath expression {0} has an XPathResultType of {1} which cannot be coerced into the specified XPathResultType of {2}."},
- }
-
- // If user requested ordered nodeset and result is unordered
- // need to sort...TODO
- // if ((m_resultType == ORDERED_NODE_ITERATOR_TYPE) &&
- // (!(((DTMNodeIterator)m_iterator).getDTMIterator().isDocOrdered()))) {
- //
- // }
-
- // If it's a snapshot type, get the nodelist
- } else if ((m_resultType == UNORDERED_NODE_SNAPSHOT_TYPE) ||
- (m_resultType == ORDERED_NODE_SNAPSHOT_TYPE)) {
- try {
- m_list = m_resultObj.nodelist();
- } catch (TransformerException te) {
- // probably not a node type
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_INCOMPATIBLE_TYPES, new Object[] {m_xpath.getPatternString(), getTypeString(getTypeFromXObject(m_resultObj)),getTypeString(m_resultType)});
- throw new XPathException(XPathException.TYPE_ERR, fmsg); // "The XPathResult of XPath expression {0} has an XPathResultType of {1} which cannot be coerced into the specified XPathResultType of {2}."},
- }
- }
- }
-
- /**
- * @see org.w3c.dom.xpath.XPathResult#getResultType()
- */
- public short getResultType() {
- return m_resultType;
- }
-
- /**
- * The value of this number result.
- * @exception XPathException
- * TYPE_ERR: raised if <code>resultType</code> is not
- * <code>NUMBER_TYPE</code>.
- * @see org.w3c.dom.xpath.XPathResult#getNumberValue()
- */
- public double getNumberValue() throws XPathException {
- if (getResultType() != NUMBER_TYPE) {
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER, new Object[] {m_xpath.getPatternString(), getTypeString(m_resultType)});
- throw new XPathException(XPathException.TYPE_ERR,fmsg);
-// "The XPathResult of XPath expression {0} has an XPathResultType of {1} which cannot be converted to a number"
- } else {
- try {
- return m_resultObj.num();
- } catch (Exception e) {
- // Type check above should prevent this exception from occurring.
- throw new XPathException(XPathException.TYPE_ERR,e.getMessage());
- }
- }
- }
-
- /**
- * The value of this string result.
- * @exception XPathException
- * TYPE_ERR: raised if <code>resultType</code> is not
- * <code>STRING_TYPE</code>.
- *
- * @see org.w3c.dom.xpath.XPathResult#getStringValue()
- */
- public String getStringValue() throws XPathException {
- if (getResultType() != STRING_TYPE) {
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_CANT_CONVERT_TO_STRING, new Object[] {m_xpath.getPatternString(), m_resultObj.getTypeString()});
- throw new XPathException(XPathException.TYPE_ERR,fmsg);
-// "The XPathResult of XPath expression {0} has an XPathResultType of {1} which cannot be converted to a string."
- } else {
- try {
- return m_resultObj.str();
- } catch (Exception e) {
- // Type check above should prevent this exception from occurring.
- throw new XPathException(XPathException.TYPE_ERR,e.getMessage());
- }
- }
- }
-
- /**
- * @see org.w3c.dom.xpath.XPathResult#getBooleanValue()
- */
- public boolean getBooleanValue() throws XPathException {
- if (getResultType() != BOOLEAN_TYPE) {
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_CANT_CONVERT_TO_BOOLEAN, new Object[] {m_xpath.getPatternString(), getTypeString(m_resultType)});
- throw new XPathException(XPathException.TYPE_ERR,fmsg);
-// "The XPathResult of XPath expression {0} has an XPathResultType of {1} which cannot be converted to a boolean."
- } else {
- try {
- return m_resultObj.bool();
- } catch (TransformerException e) {
- // Type check above should prevent this exception from occurring.
- throw new XPathException(XPathException.TYPE_ERR,e.getMessage());
- }
- }
- }
-
- /**
- * The value of this single node result, which may be <code>null</code>.
- * @exception XPathException
- * TYPE_ERR: raised if <code>resultType</code> is not
- * <code>ANY_UNORDERED_NODE_TYPE</code> or
- * <code>FIRST_ORDERED_NODE_TYPE</code>.
- *
- * @see org.w3c.dom.xpath.XPathResult#getSingleNodeValue()
- */
- public Node getSingleNodeValue() throws XPathException {
-
- if ((m_resultType != ANY_UNORDERED_NODE_TYPE) &&
- (m_resultType != FIRST_ORDERED_NODE_TYPE)) {
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_CANT_CONVERT_TO_SINGLENODE, new Object[] {m_xpath.getPatternString(), getTypeString(m_resultType)});
- throw new XPathException(XPathException.TYPE_ERR,fmsg);
-// "The XPathResult of XPath expression {0} has an XPathResultType of {1} which cannot be converted to a single node.
-// This method applies only to types ANY_UNORDERED_NODE_TYPE and FIRST_ORDERED_NODE_TYPE."
- }
-
- NodeIterator result = null;
- try {
- result = m_resultObj.nodeset();
- } catch (TransformerException te) {
- throw new XPathException(XPathException.TYPE_ERR,te.getMessage());
- }
-
- if (null == result) return null;
-
- Node node = result.nextNode();
-
- // Wrap "namespace node" in an XPathNamespace
- if (isNamespaceNode(node)) {
- return new XPathNamespaceImpl(node);
- } else {
- return node;
- }
- }
-
- /**
- * @see org.w3c.dom.xpath.XPathResult#getInvalidIteratorState()
- */
- public boolean getInvalidIteratorState() {
- return m_isInvalidIteratorState;
- }
-
- /**
- * The number of nodes in the result snapshot. Valid values for
- * snapshotItem indices are <code>0</code> to
- * <code>snapshotLength-1</code> inclusive.
- * @exception XPathException
- * TYPE_ERR: raised if <code>resultType</code> is not
- * <code>UNORDERED_NODE_SNAPSHOT_TYPE</code> or
- * <code>ORDERED_NODE_SNAPSHOT_TYPE</code>.
- *
- * @see org.w3c.dom.xpath.XPathResult#getSnapshotLength()
- */
- public int getSnapshotLength() throws XPathException {
-
- if ((m_resultType != UNORDERED_NODE_SNAPSHOT_TYPE) &&
- (m_resultType != ORDERED_NODE_SNAPSHOT_TYPE)) {
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_CANT_GET_SNAPSHOT_LENGTH, new Object[] {m_xpath.getPatternString(), getTypeString(m_resultType)});
- throw new XPathException(XPathException.TYPE_ERR,fmsg);
-// "The method getSnapshotLength cannot be called on the XPathResult of XPath expression {0} because its XPathResultType is {1}.
- }
-
- return m_list.getLength();
- }
-
- /**
- * Iterates and returns the next node from the node set or
- * <code>null</code>if there are no more nodes.
- * @return Returns the next node.
- * @exception XPathException
- * TYPE_ERR: raised if <code>resultType</code> is not
- * <code>UNORDERED_NODE_ITERATOR_TYPE</code> or
- * <code>ORDERED_NODE_ITERATOR_TYPE</code>.
- * @exception DOMException
- * INVALID_STATE_ERR: The document has been mutated since the result was
- * returned.
- * @see org.w3c.dom.xpath.XPathResult#iterateNext()
- */
- public Node iterateNext() throws XPathException, DOMException {
- if ((m_resultType != UNORDERED_NODE_ITERATOR_TYPE) &&
- (m_resultType != ORDERED_NODE_ITERATOR_TYPE)) {
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_NON_ITERATOR_TYPE, new Object[] {m_xpath.getPatternString(), getTypeString(m_resultType)});
- throw new XPathException(XPathException.TYPE_ERR, fmsg);
-// "The method iterateNext cannot be called on the XPathResult of XPath expression {0} because its XPathResultType is {1}.
-// This method applies only to types UNORDERED_NODE_ITERATOR_TYPE and ORDERED_NODE_ITERATOR_TYPE."},
- }
-
- if (getInvalidIteratorState()) {
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_DOC_MUTATED, null);
- throw new DOMException(DOMException.INVALID_STATE_ERR,fmsg); // Document mutated since result was returned. Iterator is invalid.
- }
-
- Node node = m_iterator.nextNode();
- if(null == node)
- removeEventListener(); // JIRA 1673
- // Wrap "namespace node" in an XPathNamespace
- if (isNamespaceNode(node)) {
- return new XPathNamespaceImpl(node);
- } else {
- return node;
- }
- }
-
- /**
- * Returns the <code>index</code>th item in the snapshot collection. If
- * <code>index</code> is greater than or equal to the number of nodes in
- * the list, this method returns <code>null</code>. Unlike the iterator
- * result, the snapshot does not become invalid, but may not correspond
- * to the current document if it is mutated.
- * @param index Index into the snapshot collection.
- * @return The node at the <code>index</code>th position in the
- * <code>NodeList</code>, or <code>null</code> if that is not a valid
- * index.
- * @exception XPathException
- * TYPE_ERR: raised if <code>resultType</code> is not
- * <code>UNORDERED_NODE_SNAPSHOT_TYPE</code> or
- * <code>ORDERED_NODE_SNAPSHOT_TYPE</code>.
- *
- * @see org.w3c.dom.xpath.XPathResult#snapshotItem(int)
- */
- public Node snapshotItem(int index) throws XPathException {
-
- if ((m_resultType != UNORDERED_NODE_SNAPSHOT_TYPE) &&
- (m_resultType != ORDERED_NODE_SNAPSHOT_TYPE)) {
- String fmsg = XPATHMessages.createXPATHMessage(XPATHErrorResources.ER_NON_SNAPSHOT_TYPE, new Object[] {m_xpath.getPatternString(), getTypeString(m_resultType)});
- throw new XPathException(XPathException.TYPE_ERR, fmsg);
-// "The method snapshotItem cannot be called on the XPathResult of XPath expression {0} because its XPathResultType is {1}.
-// This method applies only to types UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE."},
- }
-
- Node node = m_list.item(index);
-
- // Wrap "namespace node" in an XPathNamespace
- if (isNamespaceNode(node)) {
- return new XPathNamespaceImpl(node);
- } else {
- return node;
- }
- }
-
-
- /**
- * Check if the specified type is one of the supported types.
- * @param type The specified type
- *
- * @return true If the specified type is supported; otherwise, returns false.
- */
- static boolean isValidType( short type ) {
- switch (type) {
- case ANY_TYPE:
- case NUMBER_TYPE:
- case STRING_TYPE:
- case BOOLEAN_TYPE:
- case UNORDERED_NODE_ITERATOR_TYPE:
- case ORDERED_NODE_ITERATOR_TYPE:
- case UNORDERED_NODE_SNAPSHOT_TYPE:
- case ORDERED_NODE_SNAPSHOT_TYPE:
- case ANY_UNORDERED_NODE_TYPE:
- case FIRST_ORDERED_NODE_TYPE: return true;
- default: return false;
- }
- }
-
- /**
- * @see org.w3c.dom.events.EventListener#handleEvent(Event)
- */
- public void handleEvent(Event event) {
-
- if (event.getType().equals("DOMSubtreeModified")) {
- // invalidate the iterator
- m_isInvalidIteratorState = true;
-
- // deregister as a listener to reduce computational load
- removeEventListener();
- }
- }
-
- /**
- * Given a request type, return the equivalent string.
- * For diagnostic purposes.
- *
- * @return type string
- */
- private String getTypeString(int type)
- {
- switch (type) {
- case ANY_TYPE: return "ANY_TYPE";
- case ANY_UNORDERED_NODE_TYPE: return "ANY_UNORDERED_NODE_TYPE";
- case BOOLEAN_TYPE: return "BOOLEAN";
- case FIRST_ORDERED_NODE_TYPE: return "FIRST_ORDERED_NODE_TYPE";
- case NUMBER_TYPE: return "NUMBER_TYPE";
- case ORDERED_NODE_ITERATOR_TYPE: return "ORDERED_NODE_ITERATOR_TYPE";
- case ORDERED_NODE_SNAPSHOT_TYPE: return "ORDERED_NODE_SNAPSHOT_TYPE";
- case STRING_TYPE: return "STRING_TYPE";
- case UNORDERED_NODE_ITERATOR_TYPE: return "UNORDERED_NODE_ITERATOR_TYPE";
- case UNORDERED_NODE_SNAPSHOT_TYPE: return "UNORDERED_NODE_SNAPSHOT_TYPE";
- default: return "#UNKNOWN";
- }
- }
-
- /**
- * Given an XObject, determine the corresponding DOM XPath type
- *
- * @return type string
- */
- private short getTypeFromXObject(XObject object) {
- switch (object.getType()) {
- case XObject.CLASS_BOOLEAN: return BOOLEAN_TYPE;
- case XObject.CLASS_NODESET: return UNORDERED_NODE_ITERATOR_TYPE;
- case XObject.CLASS_NUMBER: return NUMBER_TYPE;
- case XObject.CLASS_STRING: return STRING_TYPE;
- // XPath 2.0 types
-// case XObject.CLASS_DATE:
-// case XObject.CLASS_DATETIME:
-// case XObject.CLASS_DTDURATION:
-// case XObject.CLASS_GDAY:
-// case XObject.CLASS_GMONTH:
-// case XObject.CLASS_GMONTHDAY:
-// case XObject.CLASS_GYEAR:
-// case XObject.CLASS_GYEARMONTH:
-// case XObject.CLASS_TIME:
-// case XObject.CLASS_YMDURATION: return STRING_TYPE; // treat all date types as strings?
-
- case XObject.CLASS_RTREEFRAG: return UNORDERED_NODE_ITERATOR_TYPE;
- case XObject.CLASS_NULL: return ANY_TYPE; // throw exception ?
- default: return ANY_TYPE; // throw exception ?
- }
-
- }
-
-/**
- * Given a node, determine if it is a namespace node.
- *
- * @param node
- *
- * @return boolean Returns true if this is a namespace node; otherwise, returns false.
- */
- private boolean isNamespaceNode(Node node) {
-
- if ((null != node) &&
- (node.getNodeType() == Node.ATTRIBUTE_NODE) &&
- (node.getNodeName().startsWith("xmlns:") || node.getNodeName().equals("xmlns"))) {
- return true;
- } else {
- return false;
- }
- }
-
-/**
- * Add m_contextNode to Event Listner to listen for Mutations Events
- *
- */
- private void addEventListener(){
- if(m_contextNode instanceof EventTarget)
- ((EventTarget)m_contextNode).addEventListener("DOMSubtreeModified",this,true);
-
- }
-
-
-/**
- * Remove m_contextNode to Event Listner to listen for Mutations Events
- *
- */
-private void removeEventListener(){
- if(m_contextNode instanceof EventTarget)
- ((EventTarget)m_contextNode).removeEventListener("DOMSubtreeModified",this,true);
-}
-
-}
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/domapi/XPathStylesheetDOM3Exception.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2002 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package com.sun.org.apache.xpath.internal.domapi;
-
-import javax.xml.transform.SourceLocator;
-import javax.xml.transform.TransformerException;
-
-/**
- *
- * A new exception to add support for DOM Level 3 XPath API.
- * This class is needed to throw a org.w3c.dom.DOMException with proper error code in
- * createExpression method of XPathEvaluatorImpl (a DOM Level 3 class).
- *
- * This class extends TransformerException because the error message includes information
- * about where the XPath problem is in the stylesheet as well as the XPath expression itself.
- *
- * @xsl.usage internal
- */
-final public class XPathStylesheetDOM3Exception extends TransformerException {
- public XPathStylesheetDOM3Exception(String msg, SourceLocator arg1)
- {
- super(msg, arg1);
- }
-}
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/domapi/package.html Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-<!--
- * reserved comment block
- * DO NOT REMOVE OR ALTER!
--->
-<!--
- * Copyright 2000-2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<!-- $Id: package.html,v 1.1.4.1 2005/09/07 22:27:28 jeffsuttor Exp $ -->
-<html>
- <title>XPath domapi Package.</title>
- <body>
- <p>Implements DOM Level 3 XPath API<p>
- </body>
-</html>
-
-
--- a/jaxp/src/java.xml/share/classes/javax/xml/XMLConstants.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/XMLConstants.java Mon Apr 27 09:17:39 2015 -0700
@@ -26,7 +26,7 @@
package javax.xml;
/**
- * <p>Utility class to contain basic XML values as constants.</p>
+ * <p>Utility class to contain basic XML values as constants.
*
* @author <a href="mailto:Jeff.Suttor@Sun.com">Jeff Suttor</a>
* @see <a href="http://www.w3.org/TR/xml11/">Extensible Markup Language (XML) 1.1</a>
@@ -42,15 +42,15 @@
public final class XMLConstants {
/**
- * <p>Private constructor to prevent instantiation.</p>
+ * Private constructor to prevent instantiation.
*/
- private XMLConstants() {
- }
+ private XMLConstants() {
+ }
/**
- * <p>Namespace URI to use to represent that there is no Namespace.</p>
+ * Namespace URI to use to represent that there is no Namespace.
*
- * <p>Defined by the Namespace specification to be "".</p>
+ * <p>Defined by the Namespace specification to be "".
*
* @see <a href="http://www.w3.org/TR/REC-xml-names/#defaulting">
* Namespaces in XML, 5.2 Namespace Defaulting</a>
@@ -58,9 +58,9 @@
public static final String NULL_NS_URI = "";
/**
- * <p>Prefix to use to represent the default XML Namespace.</p>
+ * Prefix to use to represent the default XML Namespace.
*
- * <p>Defined by the XML specification to be "".</p>
+ * <p>Defined by the XML specification to be "".
*
* @see <a
* href="http://www.w3.org/TR/REC-xml-names/#ns-qualnames">
@@ -69,10 +69,10 @@
public static final String DEFAULT_NS_PREFIX = "";
/**
- * <p>The official XML Namespace name URI.</p>
+ * The official XML Namespace name URI.
*
* <p>Defined by the XML specification to be
- * "{@code http://www.w3.org/XML/1998/namespace}".</p>
+ * "{@code http://www.w3.org/XML/1998/namespace}".
*
* @see <a
* href="http://www.w3.org/TR/REC-xml-names/#ns-qualnames">
@@ -82,23 +82,23 @@
"http://www.w3.org/XML/1998/namespace";
/**
- * <p>The official XML Namespace prefix.</p>
+ * The official XML Namespace prefix.
*
- * <p>Defined by the XML specification to be "{@code xml}".</p>
+ * <p>Defined by the XML specification to be "{@code xml}".
*
* @see <a
* href="http://www.w3.org/TR/REC-xml-names/#ns-qualnames">
- * Namespaces in XML, 3. Qualified Names<</a>
+ * Namespaces in XML, 3. Qualified Names</a>
*/
public static final String XML_NS_PREFIX = "xml";
/**
- * <p>The official XML attribute used for specifying XML Namespace
+ * The official XML attribute used for specifying XML Namespace
* declarations, {@link #XMLNS_ATTRIBUTE
- * XMLConstants.XMLNS_ATTRIBUTE}, Namespace name URI.</p>
+ * XMLConstants.XMLNS_ATTRIBUTE}, Namespace name URI.
*
* <p>Defined by the XML specification to be
- * "{@code http://www.w3.org/2000/xmlns/}".</p>
+ * "{@code http://www.w3.org/2000/xmlns/}".
*
* @see <a
* href="http://www.w3.org/TR/REC-xml-names/#ns-qualnames">
@@ -111,12 +111,12 @@
"http://www.w3.org/2000/xmlns/";
/**
- * <p>The official XML attribute used for specifying XML Namespace
- * declarations.</p>
+ * The official XML attribute used for specifying XML Namespace
+ * declarations.
*
* <p>It is <strong><em>NOT</em></strong> valid to use as a
* prefix. Defined by the XML specification to be
- * "{@code xmlns}".</p>
+ * "{@code xmlns}".
*
* @see <a
* href="http://www.w3.org/TR/REC-xml-names/#ns-qualnames">
@@ -125,7 +125,7 @@
public static final String XMLNS_ATTRIBUTE = "xmlns";
/**
- * <p>W3C XML Schema Namespace URI.</p>
+ * W3C XML Schema Namespace URI.
*
* <p>Defined to be "{@code http://www.w3.org/2001/XMLSchema}".
*
@@ -138,9 +138,9 @@
"http://www.w3.org/2001/XMLSchema";
/**
- * <p>W3C XML Schema Instance Namespace URI.</p>
+ * W3C XML Schema Instance Namespace URI.
*
- * <p>Defined to be "{@code http://www.w3.org/2001/XMLSchema-instance}".</p>
+ * <p>Defined to be "{@code http://www.w3.org/2001/XMLSchema-instance}".
*
* @see <a href=
* "http://www.w3.org/TR/xmlschema-1/#Instance_Document_Constructions">
@@ -150,33 +150,33 @@
public static final String W3C_XML_SCHEMA_INSTANCE_NS_URI =
"http://www.w3.org/2001/XMLSchema-instance";
- /**
- * <p>W3C XPath Datatype Namespace URI.</p>
- *
- * <p>Defined to be "{@code http://www.w3.org/2003/11/xpath-datatypes}".</p>
- *
- * @see <a href="http://www.w3.org/TR/xpath-datamodel">XQuery 1.0 and XPath 2.0 Data Model</a>
- */
- public static final String W3C_XPATH_DATATYPE_NS_URI = "http://www.w3.org/2003/11/xpath-datatypes";
+ /**
+ * W3C XPath Datatype Namespace URI.
+ *
+ * <p>Defined to be "{@code http://www.w3.org/2003/11/xpath-datatypes}".
+ *
+ * @see <a href="http://www.w3.org/TR/xpath-datamodel">XQuery 1.0 and XPath 2.0 Data Model</a>
+ */
+ public static final String W3C_XPATH_DATATYPE_NS_URI = "http://www.w3.org/2003/11/xpath-datatypes";
/**
- * <p>XML Document Type Declaration Namespace URI as an arbitrary value.</p>
+ * XML Document Type Declaration Namespace URI as an arbitrary value.
*
* <p>Since not formally defined by any existing standard, arbitrarily define to be "{@code http://www.w3.org/TR/REC-xml}".
*/
public static final String XML_DTD_NS_URI = "http://www.w3.org/TR/REC-xml";
/**
- * <p>RELAX NG Namespace URI.</p>
+ * RELAX NG Namespace URI.
*
- * <p>Defined to be "{@code http://relaxng.org/ns/structure/1.0}".</p>
+ * <p>Defined to be "{@code http://relaxng.org/ns/structure/1.0}".
*
* @see <a href="http://relaxng.org/spec-20011203.html">RELAX NG Specification</a>
*/
public static final String RELAXNG_NS_URI = "http://relaxng.org/ns/structure/1.0";
/**
- * <p>Feature for secure processing.</p>
+ * Feature for secure processing.
*
* <ul>
* <li>
@@ -193,14 +193,13 @@
/**
- * <p>Property: accessExternalDTD</p>
+ * Property: accessExternalDTD
*
* <p>
* Restrict access to external DTDs and external Entity References to the protocols specified.
* If access is denied due to the restriction of this property, a runtime exception that
* is specific to the context is thrown. In the case of {@link javax.xml.parsers.SAXParser}
* for example, {@link org.xml.sax.SAXException} is thrown.
- * </p>
*
* <p>
* <b>Value: </b> a list of protocols separated by comma. A protocol is the scheme portion of a
@@ -221,7 +220,6 @@
* Examples of protocols are file, http, jar:file.
*
* </blockquote>
- *</p>
*
*<p>
* <b>Default value:</b> The default value is implementation specific and therefore not specified.
@@ -231,20 +229,19 @@
* <LI>an empty string to deny all access to external references;</LI>
* <LI>a specific protocol, such as file, to give permission to only the protocol;</LI>
* <LI>the keyword "all" to grant permission to all protocols.</LI>
- *</UL><br>
+ * </UL><br>
* When FEATURE_SECURE_PROCESSING is enabled, it is recommended that implementations
* restrict external connections by default, though this may cause problems for applications
* that process XML/XSD/XSL with external references.
* </blockquote>
- * </p>
*
* <p>
* <b>Granting all access:</b> the keyword "all" grants permission to all protocols.
- * </p>
+ *
* <p>
* <b>System Property:</b> The value of this property can be set or overridden by
* system property {@code javax.xml.accessExternalDTD}.
- * </p>
+ *
*
* <p>
* <b>jaxp.properties:</b> This configuration file is in standard
@@ -252,11 +249,8 @@
* directory of the Java installation. If the file exists and the system
* property is specified, its value will be used to override the default
* of the property.
- * </p>
*
- * <p>
*
- * </p>
* @since 1.7
*/
public static final String ACCESS_EXTERNAL_DTD = "http://javax.xml.XMLConstants/property/accessExternalDTD";
@@ -270,7 +264,7 @@
* due to the restriction of this property, a runtime exception that is specific
* to the context is thrown. In the case of {@link javax.xml.validation.SchemaFactory}
* for example, org.xml.sax.SAXException is thrown.
- * </p>
+ *
* <p>
* <b>Value:</b> a list of protocols separated by comma. A protocol is the scheme portion of a
* {@link java.net.URI}, or in the case of the JAR protocol, "jar" plus the scheme portion
@@ -290,9 +284,8 @@
* Examples of protocols are file, http, jar:file.
*
* </blockquote>
- *</p>
*
- *<p>
+ * <p>
* <b>Default value:</b> The default value is implementation specific and therefore not specified.
* The following options are provided for consideration:
* <blockquote>
@@ -300,20 +293,18 @@
* <LI>an empty string to deny all access to external references;</LI>
* <LI>a specific protocol, such as file, to give permission to only the protocol;</LI>
* <LI>the keyword "all" to grant permission to all protocols.</LI>
- *</UL><br>
+ * </UL><br>
* When FEATURE_SECURE_PROCESSING is enabled, it is recommended that implementations
* restrict external connections by default, though this may cause problems for applications
* that process XML/XSD/XSL with external references.
* </blockquote>
- * </p>
+ *
* <p>
* <b>Granting all access:</b> the keyword "all" grants permission to all protocols.
- * </p>
*
* <p>
* <b>System Property:</b> The value of this property can be set or overridden by
* system property {@code javax.xml.accessExternalSchema}
- * </p>
*
* <p>
* <b>jaxp.properties:</b> This configuration file is in standard
@@ -323,12 +314,11 @@
* of the property.
*
* @since 1.7
- * </p>
*/
public static final String ACCESS_EXTERNAL_SCHEMA = "http://javax.xml.XMLConstants/property/accessExternalSchema";
/**
- * <p>Property: accessExternalStylesheet</p>
+ * Property: accessExternalStylesheet
*
* <p>
* Restrict access to the protocols specified for external references set by the
@@ -338,7 +328,7 @@
* {@link javax.xml.transform.Transformer} for example,
* {@link javax.xml.transform.TransformerConfigurationException}
* will be thrown by the {@link javax.xml.transform.TransformerFactory}.
- * </p>
+ *
* <p>
* <b>Value:</b> a list of protocols separated by comma. A protocol is the scheme portion of a
* {@link java.net.URI}, or in the case of the JAR protocol, "jar" plus the scheme portion
@@ -358,9 +348,8 @@
* Examples of protocols are file, http, jar:file.
*
* </blockquote>
- *</p>
*
- *<p>
+ * <p>
* <b>Default value:</b> The default value is implementation specific and therefore not specified.
* The following options are provided for consideration:
* <blockquote>
@@ -368,20 +357,18 @@
* <LI>an empty string to deny all access to external references;</LI>
* <LI>a specific protocol, such as file, to give permission to only the protocol;</LI>
* <LI>the keyword "all" to grant permission to all protocols.</LI>
- *</UL><br>
+ * </UL><br>
* When FEATURE_SECURE_PROCESSING is enabled, it is recommended that implementations
* restrict external connections by default, though this may cause problems for applications
* that process XML/XSD/XSL with external references.
* </blockquote>
- * </p>
+ *
* <p>
* <b>Granting all access:</b> the keyword "all" grants permission to all protocols.
- * </p>
*
* <p>
* <b>System Property:</b> The value of this property can be set or overridden by
* system property {@code javax.xml.accessExternalStylesheet}
- * </p>
*
* <p>
* <b>jaxp.properties:</b> This configuration file is in standard
--- a/jaxp/src/java.xml/share/classes/javax/xml/datatype/DatatypeFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/datatype/DatatypeFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -32,11 +32,10 @@
import java.util.regex.Pattern;
/**
- * Factory that creates new <code>javax.xml.datatype</code> <code>Object</code>s that map XML to/from Java <code>Object</code>s.
+ * Factory that creates new {@code javax.xml.datatype} {@code Object}s that map XML to/from Java {@code Object}s.
* <p>
* A new instance of the {@code DatatypeFactory} is created through the {@link #newInstance()} method
* that uses the following implementation resolution mechanisms to determine an implementation:
- * <p>
* <ol>
* <li>
* If the system property specified by {@link #DATATYPEFACTORY_PROPERTY}, "{@code javax.xml.datatype.DatatypeFactory}",
@@ -89,9 +88,9 @@
public abstract class DatatypeFactory {
/**
- * <p>Default property name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3.</p>
+ * Default property name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3.
*
- * <p>Default value is {@code javax.xml.datatype.DatatypeFactory}.</p>
+ * <p>Default value is {@code javax.xml.datatype.DatatypeFactory}.
*/
public static final String DATATYPEFACTORY_PROPERTY =
// We use a String constant here, rather than calling
@@ -100,16 +99,15 @@
"javax.xml.datatype.DatatypeFactory";
/**
- * <p>Default implementation class name as defined in
- * <em>JSR 206: Java(TM) API for XML Processing (JAXP) 1.3</em>.</p>
+ * Default implementation class name as defined in
+ * <em>JSR 206: Java(TM) API for XML Processing (JAXP) 1.3</em>.
*
* <p>Implementers should specify the name of an appropriate class
* to be instantiated if no other implementation resolution mechanism
- * succeeds.</p>
+ * succeeds.
*
* <p>Users should not refer to this field; it is intended only to
* document a factory implementation detail.
- * </p>
*/
public static final String DATATYPEFACTORY_IMPLEMENTATION_CLASS =
// We use new String() here to prevent javadoc from generating
@@ -130,18 +128,18 @@
Pattern.compile("[^YM]*[DT].*");
/**
- * <p>Protected constructor to prevent instantiation outside of package.</p>
+ * Protected constructor to prevent instantiation outside of package.
*
- * <p>Use {@link #newInstance()} to create a {@code DatatypeFactory}.</p>
+ * <p>Use {@link #newInstance()} to create a {@code DatatypeFactory}.
*/
protected DatatypeFactory() {
}
/**
- * <p>Obtain a new instance of a {@code DatatypeFactory}.</p>
+ * Obtain a new instance of a {@code DatatypeFactory}.
*
* <p>The implementation resolution mechanisms are <a href="#DatatypeFactory.newInstance">defined</a> in this
- * <code>Class</code>'s documentation.</p>
+ * {@code Class}'s documentation.
*
* @return New instance of a {@code DatatypeFactory}
*
@@ -161,33 +159,33 @@
}
/**
- * <p>Obtain a new instance of a {@code DatatypeFactory} from class name.
+ * Obtain a new instance of a {@code DatatypeFactory} from class name.
* This function is useful when there are multiple providers in the classpath.
* It gives more control to the application as it can specify which provider
- * should be loaded.</p>
+ * should be loaded.
*
* <p>Once an application has obtained a reference to a {@code DatatypeFactory}
- * it can use the factory to configure and obtain datatype instances.</P>
+ * it can use the factory to configure and obtain datatype instances.
*
*
* <h2>Tip for Trouble-shooting</h2>
- * <p>Setting the <code>jaxp.debug</code> system property will cause
+ * <p>Setting the {@code jaxp.debug} system property will cause
* this method to print a lot of debug messages
- * to <code>System.err</code> about what it is doing and where it is looking at.</p>
+ * to {@code System.err} about what it is doing and where it is looking at.
*
- * <p> If you have problems try:</p>
+ * <p> If you have problems try:
* <pre>
* java -Djaxp.debug=1 YourProgram ....
* </pre>
*
* @param factoryClassName fully qualified factory class name that provides implementation of {@code javax.xml.datatype.DatatypeFactory}.
*
- * @param classLoader <code>ClassLoader</code> used to load the factory class. If <code>null</code>
- * current <code>Thread</code>'s context classLoader is used to load the factory class.
+ * @param classLoader {@code ClassLoader} used to load the factory class. If {@code null}
+ * current {@code Thread}'s context classLoader is used to load the factory class.
*
* @return New instance of a {@code DatatypeFactory}
*
- * @throws DatatypeConfigurationException if <code>factoryClassName</code> is <code>null</code>, or
+ * @throws DatatypeConfigurationException if {@code factoryClassName} is {@code null}, or
* the factory class cannot be loaded, instantiated.
*
* @see #newInstance()
@@ -201,11 +199,11 @@
}
/**
- * <p>Obtain a new instance of a <code>Duration</code>
- * specifying the <code>Duration</code> as its string representation, "PnYnMnDTnHnMnS",
- * as defined in XML Schema 1.0 section 3.2.6.1.</p>
+ * Obtain a new instance of a {@code Duration}
+ * specifying the {@code Duration} as its string representation, "PnYnMnDTnHnMnS",
+ * as defined in XML Schema 1.0 section 3.2.6.1.
*
- * <p>XML Schema Part 2: Datatypes, 3.2.6 duration, defines <code>duration</code> as:</p>
+ * <p>XML Schema Part 2: Datatypes, 3.2.6 duration, defines {@code duration} as:
* <blockquote>
* duration represents a duration of time.
* The value space of duration is a six-dimensional space where the coordinates designate the
@@ -213,28 +211,28 @@
* These components are ordered in their significance by their order of appearance i.e. as
* year, month, day, hour, minute, and second.
* </blockquote>
- * <p>All six values are set and available from the created {@link Duration}</p>
+ * <p>All six values are set and available from the created {@link Duration}
*
* <p>The XML Schema specification states that values can be of an arbitrary size.
* Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values.
* An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits
- * if implementation capacities are exceeded.</p>
+ * if implementation capacities are exceeded.
*
- * @param lexicalRepresentation <code>String</code> representation of a <code>Duration</code>.
+ * @param lexicalRepresentation {@code String} representation of a {@code Duration}.
*
- * @return New <code>Duration</code> created from parsing the <code>lexicalRepresentation</code>.
+ * @return New {@code Duration} created from parsing the {@code lexicalRepresentation}.
*
- * @throws IllegalArgumentException If <code>lexicalRepresentation</code> is not a valid representation of a <code>Duration</code>.
+ * @throws IllegalArgumentException If {@code lexicalRepresentation} is not a valid representation of a {@code Duration}.
* @throws UnsupportedOperationException If implementation cannot support requested values.
- * @throws NullPointerException if <code>lexicalRepresentation</code> is <code>null</code>.
+ * @throws NullPointerException if {@code lexicalRepresentation} is {@code null}.
*/
public abstract Duration newDuration(final String lexicalRepresentation);
/**
- * <p>Obtain a new instance of a <code>Duration</code>
- * specifying the <code>Duration</code> as milliseconds.</p>
+ * Obtain a new instance of a {@code Duration}
+ * specifying the {@code Duration} as milliseconds.
*
- * <p>XML Schema Part 2: Datatypes, 3.2.6 duration, defines <code>duration</code> as:</p>
+ * <p>XML Schema Part 2: Datatypes, 3.2.6 duration, defines {@code duration} as:
* <blockquote>
* duration represents a duration of time.
* The value space of duration is a six-dimensional space where the coordinates designate the
@@ -243,8 +241,8 @@
* year, month, day, hour, minute, and second.
* </blockquote>
* <p>All six values are set by computing their values from the specified milliseconds
- * and are available using the <code>get</code> methods of the created {@link Duration}.
- * The values conform to and are defined by:</p>
+ * and are available using the {@code get} methods of the created {@link Duration}.
+ * The values conform to and are defined by:
* <ul>
* <li>ISO 8601:2000(E) Section 5.5.3.2 Alternative format</li>
* <li><a href="http://www.w3.org/TR/xmlschema-2/#isoformats">
@@ -259,38 +257,38 @@
* {@link java.util.Calendar#DATE} = 1, etc.
* This is important as there are variations in the Gregorian Calendar,
* e.g. leap years have different days in the month = {@link java.util.Calendar#FEBRUARY}
- * so the result of {@link Duration#getMonths()} and {@link Duration#getDays()} can be influenced.</p>
+ * so the result of {@link Duration#getMonths()} and {@link Duration#getDays()} can be influenced.
*
* @param durationInMilliSeconds Duration in milliseconds to create.
*
- * @return New <code>Duration</code> representing <code>durationInMilliSeconds</code>.
+ * @return New {@code Duration} representing {@code durationInMilliSeconds}.
*/
public abstract Duration newDuration(final long durationInMilliSeconds);
/**
- * <p>Obtain a new instance of a <code>Duration</code>
- * specifying the <code>Duration</code> as isPositive, years, months, days, hours, minutes, seconds.</p>
+ * Obtain a new instance of a {@code Duration}
+ * specifying the {@code Duration} as isPositive, years, months, days, hours, minutes, seconds.
*
* <p>The XML Schema specification states that values can be of an arbitrary size.
* Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values.
* An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits
- * if implementation capacities are exceeded.</p>
+ * if implementation capacities are exceeded.
*
- * <p>A <code>null</code> value indicates that field is not set.</p>
+ * <p>A {@code null} value indicates that field is not set.
*
- * @param isPositive Set to <code>false</code> to create a negative duration. When the length
+ * @param isPositive Set to {@code false} to create a negative duration. When the length
* of the duration is zero, this parameter will be ignored.
- * @param years of this <code>Duration</code>
- * @param months of this <code>Duration</code>
- * @param days of this <code>Duration</code>
- * @param hours of this <code>Duration</code>
- * @param minutes of this <code>Duration</code>
- * @param seconds of this <code>Duration</code>
+ * @param years of this {@code Duration}
+ * @param months of this {@code Duration}
+ * @param days of this {@code Duration}
+ * @param hours of this {@code Duration}
+ * @param minutes of this {@code Duration}
+ * @param seconds of this {@code Duration}
*
- * @return New <code>Duration</code> created from the specified values.
+ * @return New {@code Duration} created from the specified values.
*
* @throws IllegalArgumentException If the values are not a valid representation of a
- * <code>Duration</code>: if all the fields (years, months, ...) are null or
+ * {@code Duration}: if all the fields (years, months, ...) are null or
* if any of the fields is negative.
* @throws UnsupportedOperationException If implementation cannot support requested values.
*/
@@ -304,24 +302,24 @@
final BigDecimal seconds);
/**
- * <p>Obtain a new instance of a <code>Duration</code>
- * specifying the <code>Duration</code> as isPositive, years, months, days, hours, minutes, seconds.</p>
+ * Obtain a new instance of a {@code Duration}
+ * specifying the {@code Duration} as isPositive, years, months, days, hours, minutes, seconds.
*
- * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.</p>
+ * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.
*
- * @param isPositive Set to <code>false</code> to create a negative duration. When the length
+ * @param isPositive Set to {@code false} to create a negative duration. When the length
* of the duration is zero, this parameter will be ignored.
- * @param years of this <code>Duration</code>
- * @param months of this <code>Duration</code>
- * @param days of this <code>Duration</code>
- * @param hours of this <code>Duration</code>
- * @param minutes of this <code>Duration</code>
- * @param seconds of this <code>Duration</code>
+ * @param years of this {@code Duration}
+ * @param months of this {@code Duration}
+ * @param days of this {@code Duration}
+ * @param hours of this {@code Duration}
+ * @param minutes of this {@code Duration}
+ * @param seconds of this {@code Duration}
*
- * @return New <code>Duration</code> created from the specified values.
+ * @return New {@code Duration} created from the specified values.
*
* @throws IllegalArgumentException If the values are not a valid representation of a
- * <code>Duration</code>: if any of the fields is negative.
+ * {@code Duration}: if any of the fields is negative.
*
* @see #newDuration(
* boolean isPositive,
@@ -371,28 +369,30 @@
}
/**
- * <p>Create a <code>Duration</code> of type <code>xdt:dayTimeDuration</code> by parsing its <code>String</code> representation,
+ * Create a {@code Duration} of type {@code xdt:dayTimeDuration}
+ * by parsing its {@code String} representation,
* "<em>PnDTnHnMnS</em>", <a href="http://www.w3.org/TR/xpath-datamodel#dayTimeDuration">
- * XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration</a>.</p>
+ * XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration</a>.
*
- * <p>The datatype <code>xdt:dayTimeDuration</code> is a subtype of <code>xs:duration</code>
+ * <p>The datatype {@code xdt:dayTimeDuration} is a subtype of {@code xs:duration}
* whose lexical representation contains only day, hour, minute, and second components.
- * This datatype resides in the namespace <code>http://www.w3.org/2003/11/xpath-datatypes</code>.</p>
+ * This datatype resides in the namespace {@code http://www.w3.org/2003/11/xpath-datatypes}.
*
- * <p>All four values are set and available from the created {@link Duration}</p>
+ * <p>All four values are set and available from the created {@link Duration}
*
* <p>The XML Schema specification states that values can be of an arbitrary size.
* Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values.
* An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits
- * if implementation capacities are exceeded.</p>
+ * if implementation capacities are exceeded.
*
* @param lexicalRepresentation Lexical representation of a duration.
*
- * @return New <code>Duration</code> created using the specified <code>lexicalRepresentation</code>.
+ * @return New {@code Duration} created using the specified {@code lexicalRepresentation}.
*
- * @throws IllegalArgumentException If <code>lexicalRepresentation</code> is not a valid representation of a <code>Duration</code> expressed only in terms of days and time.
+ * @throws IllegalArgumentException If {@code lexicalRepresentation} is
+ * not a valid representation of a {@code Duration} expressed only in terms of days and time.
* @throws UnsupportedOperationException If implementation cannot support requested values.
- * @throws NullPointerException If <code>lexicalRepresentation</code> is <code>null</code>.
+ * @throws NullPointerException If {@code lexicalRepresentation} is {@code null}.
*/
public Duration newDurationDayTime(final String lexicalRepresentation) {
// lexicalRepresentation must be non-null
@@ -415,17 +415,18 @@
}
/**
- * <p>Create a <code>Duration</code> of type <code>xdt:dayTimeDuration</code> using the specified milliseconds as defined in
+ * Create a {@code Duration} of type {@code xdt:dayTimeDuration}
+ * using the specified milliseconds as defined in
* <a href="http://www.w3.org/TR/xpath-datamodel#dayTimeDuration">
- * XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration</a>.</p>
+ * XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration</a>.
*
- * <p>The datatype <code>xdt:dayTimeDuration</code> is a subtype of <code>xs:duration</code>
+ * <p>The datatype {@code xdt:dayTimeDuration} is a subtype of {@code xs:duration}
* whose lexical representation contains only day, hour, minute, and second components.
- * This datatype resides in the namespace <code>http://www.w3.org/2003/11/xpath-datatypes</code>.</p>
+ * This datatype resides in the namespace {@code http://www.w3.org/2003/11/xpath-datatypes}.
*
* <p>All four values are set by computing their values from the specified milliseconds
- * and are available using the <code>get</code> methods of the created {@link Duration}.
- * The values conform to and are defined by:</p>
+ * and are available using the {@code get} methods of the created {@link Duration}.
+ * The values conform to and are defined by:
* <ul>
* <li>ISO 8601:2000(E) Section 5.5.3.2 Alternative format</li>
* <li><a href="http://www.w3.org/TR/xmlschema-2/#isoformats">
@@ -440,13 +441,13 @@
* {@link java.util.Calendar#DATE} = 1, etc.
* This is important as there are variations in the Gregorian Calendar,
* e.g. leap years have different days in the month = {@link java.util.Calendar#FEBRUARY}
- * so the result of {@link Duration#getDays()} can be influenced.</p>
+ * so the result of {@link Duration#getDays()} can be influenced.
*
- * <p>Any remaining milliseconds after determining the day, hour, minute and second are discarded.</p>
+ * <p>Any remaining milliseconds after determining the day, hour, minute and second are discarded.
*
- * @param durationInMilliseconds Milliseconds of <code>Duration</code> to create.
+ * @param durationInMilliseconds Milliseconds of {@code Duration} to create.
*
- * @return New <code>Duration</code> created with the specified <code>durationInMilliseconds</code>.
+ * @return New {@code Duration} created with the specified {@code durationInMilliseconds}.
*
* @see <a href="http://www.w3.org/TR/xpath-datamodel#dayTimeDuration">
* XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration</a>
@@ -457,34 +458,34 @@
}
/**
- * <p>Create a <code>Duration</code> of type <code>xdt:dayTimeDuration</code> using the specified
- * <code>day</code>, <code>hour</code>, <code>minute</code> and <code>second</code> as defined in
+ * Create a {@code Duration} of type {@code xdt:dayTimeDuration} using the specified
+ * {@code day}, {@code hour}, {@code minute} and {@code second} as defined in
* <a href="http://www.w3.org/TR/xpath-datamodel#dayTimeDuration">
- * XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration</a>.</p>
+ * XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration</a>.
*
- * <p>The datatype <code>xdt:dayTimeDuration</code> is a subtype of <code>xs:duration</code>
+ * <p>The datatype {@code xdt:dayTimeDuration} is a subtype of {@code xs:duration}
* whose lexical representation contains only day, hour, minute, and second components.
- * This datatype resides in the namespace <code>http://www.w3.org/2003/11/xpath-datatypes</code>.</p>
+ * This datatype resides in the namespace {@code http://www.w3.org/2003/11/xpath-datatypes}.
*
* <p>The XML Schema specification states that values can be of an arbitrary size.
* Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values.
* An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits
- * if implementation capacities are exceeded.</p>
+ * if implementation capacities are exceeded.
*
- * <p>A <code>null</code> value indicates that field is not set.</p>
+ * <p>A {@code null} value indicates that field is not set.
*
- * @param isPositive Set to <code>false</code> to create a negative duration. When the length
+ * @param isPositive Set to {@code false} to create a negative duration. When the length
* of the duration is zero, this parameter will be ignored.
- * @param day Day of <code>Duration</code>.
- * @param hour Hour of <code>Duration</code>.
- * @param minute Minute of <code>Duration</code>.
- * @param second Second of <code>Duration</code>.
+ * @param day Day of {@code Duration}.
+ * @param hour Hour of {@code Duration}.
+ * @param minute Minute of {@code Duration}.
+ * @param second Second of {@code Duration}.
*
- * @return New <code>Duration</code> created with the specified <code>day</code>, <code>hour</code>, <code>minute</code>
- * and <code>second</code>.
+ * @return New {@code Duration} created with the specified {@code day}, {@code hour}, {@code minute}
+ * and {@code second}.
*
* @throws IllegalArgumentException If the values are not a valid representation of a
- * <code>Duration</code>: if all the fields (day, hour, ...) are null or
+ * {@code Duration}: if all the fields (day, hour, ...) are null or
* if any of the fields is negative.
* @throws UnsupportedOperationException If implementation cannot support requested values.
*/
@@ -507,29 +508,29 @@
}
/**
- * <p>Create a <code>Duration</code> of type <code>xdt:dayTimeDuration</code> using the specified
- * <code>day</code>, <code>hour</code>, <code>minute</code> and <code>second</code> as defined in
+ * Create a {@code Duration} of type {@code xdt:dayTimeDuration} using the specified
+ * {@code day}, {@code hour}, {@code minute} and {@code second} as defined in
* <a href="http://www.w3.org/TR/xpath-datamodel#dayTimeDuration">
- * XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration</a>.</p>
+ * XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration</a>.
*
- * <p>The datatype <code>xdt:dayTimeDuration</code> is a subtype of <code>xs:duration</code>
+ * <p>The datatype {@code xdt:dayTimeDuration} is a subtype of {@code xs:duration}
* whose lexical representation contains only day, hour, minute, and second components.
- * This datatype resides in the namespace <code>http://www.w3.org/2003/11/xpath-datatypes</code>.</p>
+ * This datatype resides in the namespace {@code http://www.w3.org/2003/11/xpath-datatypes}.
*
- * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.</p>
+ * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.
*
- * @param isPositive Set to <code>false</code> to create a negative duration. When the length
+ * @param isPositive Set to {@code false} to create a negative duration. When the length
* of the duration is zero, this parameter will be ignored.
- * @param day Day of <code>Duration</code>.
- * @param hour Hour of <code>Duration</code>.
- * @param minute Minute of <code>Duration</code>.
- * @param second Second of <code>Duration</code>.
+ * @param day Day of {@code Duration}.
+ * @param hour Hour of {@code Duration}.
+ * @param minute Minute of {@code Duration}.
+ * @param second Second of {@code Duration}.
*
- * @return New <code>Duration</code> created with the specified <code>day</code>, <code>hour</code>, <code>minute</code>
- * and <code>second</code>.
+ * @return New {@code Duration} created with the specified {@code day}, {@code hour}, {@code minute}
+ * and {@code second}.
*
* @throws IllegalArgumentException If the values are not a valid representation of a
- * <code>Duration</code>: if any of the fields (day, hour, ...) is negative.
+ * {@code Duration}: if any of the fields (day, hour, ...) is negative.
*/
public Duration newDurationDayTime(
final boolean isPositive,
@@ -548,28 +549,30 @@
}
/**
- * <p>Create a <code>Duration</code> of type <code>xdt:yearMonthDuration</code> by parsing its <code>String</code> representation,
+ * Create a {@code Duration} of type {@code xdt:yearMonthDuration}
+ * by parsing its {@code String} representation,
* "<em>PnYnM</em>", <a href="http://www.w3.org/TR/xpath-datamodel#yearMonthDuration">
- * XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration</a>.</p>
+ * XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration</a>.
*
- * <p>The datatype <code>xdt:yearMonthDuration</code> is a subtype of <code>xs:duration</code>
+ * <p>The datatype {@code xdt:yearMonthDuration} is a subtype of {@code xs:duration}
* whose lexical representation contains only year and month components.
- * This datatype resides in the namespace {@link javax.xml.XMLConstants#W3C_XPATH_DATATYPE_NS_URI}.</p>
+ * This datatype resides in the namespace {@link javax.xml.XMLConstants#W3C_XPATH_DATATYPE_NS_URI}.
*
- * <p>Both values are set and available from the created {@link Duration}</p>
+ * <p>Both values are set and available from the created {@link Duration}
*
* <p>The XML Schema specification states that values can be of an arbitrary size.
- * Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values.
- * An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits
- * if implementation capacities are exceeded.</p>
+ * Implementations may chose not to or be incapable of supporting
+ * arbitrarily large and/or small values. An {@link UnsupportedOperationException}
+ * will be thrown with a message indicating implementation limits
+ * if implementation capacities are exceeded.
*
* @param lexicalRepresentation Lexical representation of a duration.
*
- * @return New <code>Duration</code> created using the specified <code>lexicalRepresentation</code>.
+ * @return New {@code Duration} created using the specified {@code lexicalRepresentation}.
*
- * @throws IllegalArgumentException If <code>lexicalRepresentation</code> is not a valid representation of a <code>Duration</code> expressed only in terms of years and months.
+ * @throws IllegalArgumentException If {@code lexicalRepresentation} is not a valid representation of a {@code Duration} expressed only in terms of years and months.
* @throws UnsupportedOperationException If implementation cannot support requested values.
- * @throws NullPointerException If <code>lexicalRepresentation</code> is <code>null</code>.
+ * @throws NullPointerException If {@code lexicalRepresentation} is {@code null}.
*/
public Duration newDurationYearMonth(
final String lexicalRepresentation) {
@@ -594,17 +597,18 @@
}
/**
- * <p>Create a <code>Duration</code> of type <code>xdt:yearMonthDuration</code> using the specified milliseconds as defined in
+ * Create a {@code Duration} of type {@code xdt:yearMonthDuration}
+ * using the specified milliseconds as defined in
* <a href="http://www.w3.org/TR/xpath-datamodel#yearMonthDuration">
- * XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration</a>.</p>
+ * XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration</a>.
*
- * <p>The datatype <code>xdt:yearMonthDuration</code> is a subtype of <code>xs:duration</code>
+ * <p>The datatype {@code xdt:yearMonthDuration} is a subtype of {@code xs:duration}
* whose lexical representation contains only year and month components.
- * This datatype resides in the namespace {@link javax.xml.XMLConstants#W3C_XPATH_DATATYPE_NS_URI}.</p>
+ * This datatype resides in the namespace {@link javax.xml.XMLConstants#W3C_XPATH_DATATYPE_NS_URI}.
*
* <p>Both values are set by computing their values from the specified milliseconds
- * and are available using the <code>get</code> methods of the created {@link Duration}.
- * The values conform to and are defined by:</p>
+ * and are available using the {@code get} methods of the created {@link Duration}.
+ * The values conform to and are defined by:
* <ul>
* <li>ISO 8601:2000(E) Section 5.5.3.2 Alternative format</li>
* <li><a href="http://www.w3.org/TR/xmlschema-2/#isoformats">
@@ -619,13 +623,13 @@
* {@link java.util.Calendar#DATE} = 1, etc.
* This is important as there are variations in the Gregorian Calendar,
* e.g. leap years have different days in the month = {@link java.util.Calendar#FEBRUARY}
- * so the result of {@link Duration#getMonths()} can be influenced.</p>
+ * so the result of {@link Duration#getMonths()} can be influenced.
*
- * <p>Any remaining milliseconds after determining the year and month are discarded.</p>
+ * <p>Any remaining milliseconds after determining the year and month are discarded.
*
- * @param durationInMilliseconds Milliseconds of <code>Duration</code> to create.
+ * @param durationInMilliseconds Milliseconds of {@code Duration} to create.
*
- * @return New <code>Duration</code> created using the specified <code>durationInMilliseconds</code>.
+ * @return New {@code Duration} created using the specified {@code durationInMilliseconds}.
*/
public Duration newDurationYearMonth(
final long durationInMilliseconds) {
@@ -646,27 +650,27 @@
}
/**
- * <p>Create a <code>Duration</code> of type <code>xdt:yearMonthDuration</code> using the specified
- * <code>year</code> and <code>month</code> as defined in
+ * Create a {@code Duration} of type {@code xdt:yearMonthDuration} using the specified
+ * {@code year} and {@code month} as defined in
* <a href="http://www.w3.org/TR/xpath-datamodel#yearMonthDuration">
- * XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration</a>.</p>
+ * XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration</a>.
*
* <p>The XML Schema specification states that values can be of an arbitrary size.
* Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values.
* An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits
- * if implementation capacities are exceeded.</p>
+ * if implementation capacities are exceeded.
*
- * <p>A <code>null</code> value indicates that field is not set.</p>
+ * <p>A {@code null} value indicates that field is not set.
*
- * @param isPositive Set to <code>false</code> to create a negative duration. When the length
+ * @param isPositive Set to {@code false} to create a negative duration. When the length
* of the duration is zero, this parameter will be ignored.
- * @param year Year of <code>Duration</code>.
- * @param month Month of <code>Duration</code>.
+ * @param year Year of {@code Duration}.
+ * @param month Month of {@code Duration}.
*
- * @return New <code>Duration</code> created using the specified <code>year</code> and <code>month</code>.
+ * @return New {@code Duration} created using the specified {@code year} and {@code month}.
*
* @throws IllegalArgumentException If the values are not a valid representation of a
- * <code>Duration</code>: if all of the fields (year, month) are null or
+ * {@code Duration}: if all of the fields (year, month) are null or
* if any of the fields is negative.
* @throws UnsupportedOperationException If implementation cannot support requested values.
*/
@@ -687,22 +691,22 @@
}
/**
- * <p>Create a <code>Duration</code> of type <code>xdt:yearMonthDuration</code> using the specified
- * <code>year</code> and <code>month</code> as defined in
+ * Create a {@code Duration} of type {@code xdt:yearMonthDuration} using the specified
+ * {@code year} and {@code month} as defined in
* <a href="http://www.w3.org/TR/xpath-datamodel#yearMonthDuration">
- * XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration</a>.</p>
+ * XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration</a>.
*
- * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.</p>
+ * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.
*
- * @param isPositive Set to <code>false</code> to create a negative duration. When the length
+ * @param isPositive Set to {@code false} to create a negative duration. When the length
* of the duration is zero, this parameter will be ignored.
- * @param year Year of <code>Duration</code>.
- * @param month Month of <code>Duration</code>.
+ * @param year Year of {@code Duration}.
+ * @param month Month of {@code Duration}.
*
- * @return New <code>Duration</code> created using the specified <code>year</code> and <code>month</code>.
+ * @return New {@code Duration} created using the specified {@code year} and {@code month}.
*
* @throws IllegalArgumentException If the values are not a valid representation of a
- * <code>Duration</code>: if any of the fields (year, month) is negative.
+ * {@code Duration}: if any of the fields (year, month) is negative.
*/
public Duration newDurationYearMonth(
final boolean isPositive,
@@ -716,44 +720,44 @@
}
/**
- * <p>Create a new instance of an <code>XMLGregorianCalendar</code>.</p>
+ * Create a new instance of an {@code XMLGregorianCalendar}.
*
- * <p>All date/time datatype fields set to {@link DatatypeConstants#FIELD_UNDEFINED} or null.</p>
+ * <p>All date/time datatype fields set to {@link DatatypeConstants#FIELD_UNDEFINED} or null.
*
- * @return New <code>XMLGregorianCalendar</code> with all date/time datatype fields set to
+ * @return New {@code XMLGregorianCalendar} with all date/time datatype fields set to
* {@link DatatypeConstants#FIELD_UNDEFINED} or null.
*/
public abstract XMLGregorianCalendar newXMLGregorianCalendar();
/**
- * <p>Create a new XMLGregorianCalendar by parsing the String as a lexical representation.</p>
+ * Create a new XMLGregorianCalendar by parsing the String as a lexical representation.
*
* <p>Parsing the lexical string representation is defined in
* <a href="http://www.w3.org/TR/xmlschema-2/#dateTime-order">XML Schema 1.0 Part 2, Section 3.2.[7-14].1,
- * <em>Lexical Representation</em>.</a></p>
+ * <em>Lexical Representation</em>.</a>
*
- * <p>The string representation may not have any leading and trailing whitespaces.</p>
+ * <p>The string representation may not have any leading and trailing whitespaces.
*
* <p>The parsing is done field by field so that
- * the following holds for any lexically correct String x:</p>
+ * the following holds for any lexically correct String x:
* <pre>
* newXMLGregorianCalendar(x).toXMLFormat().equals(x)
* </pre>
* <p>Except for the noted lexical/canonical representation mismatches
* listed in <a href="http://www.w3.org/2001/05/xmlschema-errata#e2-45">
- * XML Schema 1.0 errata, Section 3.2.7.2</a>.</p>
+ * XML Schema 1.0 errata, Section 3.2.7.2</a>.
*
* @param lexicalRepresentation Lexical representation of one the eight XML Schema date/time datatypes.
*
- * @return <code>XMLGregorianCalendar</code> created from the <code>lexicalRepresentation</code>.
+ * @return {@code XMLGregorianCalendar} created from the {@code lexicalRepresentation}.
*
- * @throws IllegalArgumentException If the <code>lexicalRepresentation</code> is not a valid <code>XMLGregorianCalendar</code>.
- * @throws NullPointerException If <code>lexicalRepresentation</code> is <code>null</code>.
+ * @throws IllegalArgumentException If the {@code lexicalRepresentation} is not a valid {@code XMLGregorianCalendar}.
+ * @throws NullPointerException If {@code lexicalRepresentation} is {@code null}.
*/
public abstract XMLGregorianCalendar newXMLGregorianCalendar(final String lexicalRepresentation);
/**
- * <p>Create an <code>XMLGregorianCalendar</code> from a {@link GregorianCalendar}.</p>
+ * Create an {@code XMLGregorianCalendar} from a {@link GregorianCalendar}.
*
* <table border="2" rules="all" cellpadding="2">
* <thead>
@@ -764,30 +768,30 @@
* </th>
* </tr>
* <tr>
- * <th><code>java.util.GregorianCalendar</code> field</th>
- * <th><code>javax.xml.datatype.XMLGregorianCalendar</code> field</th>
+ * <th>{@code java.util.GregorianCalendar} field</th>
+ * <th>{@code javax.xml.datatype.XMLGregorianCalendar} field</th>
* </tr>
* </thead>
* <tbody>
* <tr>
- * <td><code>ERA == GregorianCalendar.BC ? -YEAR : YEAR</code></td>
+ * <td>{@code ERA == GregorianCalendar.BC ? -YEAR : YEAR}</td>
* <td>{@link XMLGregorianCalendar#setYear(int year)}</td>
* </tr>
* <tr>
- * <td><code>MONTH + 1</code></td>
+ * <td>{@code MONTH + 1}</td>
* <td>{@link XMLGregorianCalendar#setMonth(int month)}</td>
* </tr>
* <tr>
- * <td><code>DAY_OF_MONTH</code></td>
+ * <td>{@code DAY_OF_MONTH}</td>
* <td>{@link XMLGregorianCalendar#setDay(int day)}</td>
* </tr>
* <tr>
- * <td><code>HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND</code></td>
+ * <td>{@code HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND}</td>
* <td>{@link XMLGregorianCalendar#setTime(int hour, int minute, int second, BigDecimal fractional)}</td>
* </tr>
* <tr>
* <td>
- * <code>(ZONE_OFFSET + DST_OFFSET) / (60*1000)</code><br/>
+ * {@code (ZONE_OFFSET + DST_OFFSET) / (60*1000)}<br>
* <em>(in minutes)</em>
* </td>
* <td>{@link XMLGregorianCalendar#setTimezone(int offset)}<sup><em>*</em></sup>
@@ -796,49 +800,50 @@
* </tbody>
* </table>
* <p><em>*</em>conversion loss of information. It is not possible to represent
- * a <code>java.util.GregorianCalendar</code> daylight savings timezone id in the
- * XML Schema 1.0 date/time datatype representation.</p>
+ * a {@code java.util.GregorianCalendar} daylight savings timezone id in the
+ * XML Schema 1.0 date/time datatype representation.
*
- * <p>To compute the return value's <code>TimeZone</code> field,
+ * <p>To compute the return value's {@code TimeZone} field,
* <ul>
- * <li>when <code>this.getTimezone() != FIELD_UNDEFINED</code>,
- * create a <code>java.util.TimeZone</code> with a custom timezone id
- * using the <code>this.getTimezone()</code>.</li>
- * <li>else use the <code>GregorianCalendar</code> default timezone value
+ * <li>when {@code this.getTimezone() != FIELD_UNDEFINED},
+ * create a {@code java.util.TimeZone} with a custom timezone id
+ * using the {@code this.getTimezone()}.</li>
+ * <li>else use the {@code GregorianCalendar} default timezone value
* for the host is defined as specified by
- * <code>java.util.TimeZone.getDefault()</code>.</li></p>
- *
- * @param cal <code>java.util.GregorianCalendar</code> used to create <code>XMLGregorianCalendar</code>
+ * {@code java.util.TimeZone.getDefault()}.</li>
+ * </ul>
*
- * @return <code>XMLGregorianCalendar</code> created from <code>java.util.GregorianCalendar</code>
+ * @param cal {@code java.util.GregorianCalendar} used to create {@code XMLGregorianCalendar}
*
- * @throws NullPointerException If <code>cal</code> is <code>null</code>.
+ * @return {@code XMLGregorianCalendar} created from {@code java.util.GregorianCalendar}
+ *
+ * @throws NullPointerException If {@code cal} is {@code null}.
*/
public abstract XMLGregorianCalendar newXMLGregorianCalendar(final GregorianCalendar cal);
/**
- * <p>Constructor allowing for complete value spaces allowed by
+ * Constructor allowing for complete value spaces allowed by
* W3C XML Schema 1.0 recommendation for xsd:dateTime and related
- * builtin datatypes. Note that <code>year</code> parameter supports
+ * builtin datatypes. Note that {@code year} parameter supports
* arbitrarily large numbers and fractionalSecond has infinite
- * precision.</p>
+ * precision.
*
- * <p>A <code>null</code> value indicates that field is not set.</p>
+ * <p>A {@code null} value indicates that field is not set.
*
- * @param year of <code>XMLGregorianCalendar</code> to be created.
- * @param month of <code>XMLGregorianCalendar</code> to be created.
- * @param day of <code>XMLGregorianCalendar</code> to be created.
- * @param hour of <code>XMLGregorianCalendar</code> to be created.
- * @param minute of <code>XMLGregorianCalendar</code> to be created.
- * @param second of <code>XMLGregorianCalendar</code> to be created.
- * @param fractionalSecond of <code>XMLGregorianCalendar</code> to be created.
- * @param timezone of <code>XMLGregorianCalendar</code> to be created.
+ * @param year of {@code XMLGregorianCalendar} to be created.
+ * @param month of {@code XMLGregorianCalendar} to be created.
+ * @param day of {@code XMLGregorianCalendar} to be created.
+ * @param hour of {@code XMLGregorianCalendar} to be created.
+ * @param minute of {@code XMLGregorianCalendar} to be created.
+ * @param second of {@code XMLGregorianCalendar} to be created.
+ * @param fractionalSecond of {@code XMLGregorianCalendar} to be created.
+ * @param timezone of {@code XMLGregorianCalendar} to be created.
*
- * @return <code>XMLGregorianCalendar</code> created from specified values.
+ * @return {@code XMLGregorianCalendar} created from specified values.
*
* @throws IllegalArgumentException If any individual parameter's value is outside the maximum value constraint for the field
* as determined by the Date/Time Data Mapping table in {@link XMLGregorianCalendar}
- * or if the composite values constitute an invalid <code>XMLGregorianCalendar</code> instance
+ * or if the composite values constitute an invalid {@code XMLGregorianCalendar} instance
* as determined by {@link XMLGregorianCalendar#isValid()}.
*/
public abstract XMLGregorianCalendar newXMLGregorianCalendar(
@@ -852,29 +857,29 @@
final int timezone);
/**
- * <p>Constructor of value spaces that a
- * <code>java.util.GregorianCalendar</code> instance would need to convert to an
- * <code>XMLGregorianCalendar</code> instance.</p>
+ * Constructor of value spaces that a
+ * {@code java.util.GregorianCalendar} instance would need to convert to an
+ * {@code XMLGregorianCalendar} instance.
*
- * <p><code>XMLGregorianCalendar eon</code> and
- * <code>fractionalSecond</code> are set to <code>null</code></p>
+ * <p>{@code XMLGregorianCalendar eon} and
+ * {@code fractionalSecond} are set to {@code null}
*
- * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.</p>
+ * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.
*
- * @param year of <code>XMLGregorianCalendar</code> to be created.
- * @param month of <code>XMLGregorianCalendar</code> to be created.
- * @param day of <code>XMLGregorianCalendar</code> to be created.
- * @param hour of <code>XMLGregorianCalendar</code> to be created.
- * @param minute of <code>XMLGregorianCalendar</code> to be created.
- * @param second of <code>XMLGregorianCalendar</code> to be created.
- * @param millisecond of <code>XMLGregorianCalendar</code> to be created.
- * @param timezone of <code>XMLGregorianCalendar</code> to be created.
+ * @param year of {@code XMLGregorianCalendar} to be created.
+ * @param month of {@code XMLGregorianCalendar} to be created.
+ * @param day of {@code XMLGregorianCalendar} to be created.
+ * @param hour of {@code XMLGregorianCalendar} to be created.
+ * @param minute of {@code XMLGregorianCalendar} to be created.
+ * @param second of {@code XMLGregorianCalendar} to be created.
+ * @param millisecond of {@code XMLGregorianCalendar} to be created.
+ * @param timezone of {@code XMLGregorianCalendar} to be created.
*
- * @return <code>XMLGregorianCalendar</code> created from specified values.
+ * @return {@code XMLGregorianCalendar} created from specified values.
*
* @throws IllegalArgumentException If any individual parameter's value is outside the maximum value constraint for the field
* as determined by the Date/Time Data Mapping table in {@link XMLGregorianCalendar}
- * or if the composite values constitute an invalid <code>XMLGregorianCalendar</code> instance
+ * or if the composite values constitute an invalid {@code XMLGregorianCalendar} instance
* as determined by {@link XMLGregorianCalendar#isValid()}.
*/
public XMLGregorianCalendar newXMLGregorianCalendar(
@@ -918,26 +923,26 @@
}
/**
- * <p>Create a Java representation of XML Schema builtin datatype <code>date</code> or <code>g*</code>.</p>
+ * Create a Java representation of XML Schema builtin datatype {@code date} or {@code g*}.
*
- * <p>For example, an instance of <code>gYear</code> can be created invoking this factory
- * with <code>month</code> and <code>day</code> parameters set to
- * {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * <p>For example, an instance of {@code gYear} can be created invoking this factory
+ * with {@code month} and {@code day} parameters set to
+ * {@link DatatypeConstants#FIELD_UNDEFINED}.
*
- * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.</p>
+ * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.
*
- * @param year of <code>XMLGregorianCalendar</code> to be created.
- * @param month of <code>XMLGregorianCalendar</code> to be created.
- * @param day of <code>XMLGregorianCalendar</code> to be created.
+ * @param year of {@code XMLGregorianCalendar} to be created.
+ * @param month of {@code XMLGregorianCalendar} to be created.
+ * @param day of {@code XMLGregorianCalendar} to be created.
* @param timezone offset in minutes. {@link DatatypeConstants#FIELD_UNDEFINED} indicates optional field is not set.
*
- * @return <code>XMLGregorianCalendar</code> created from parameter values.
+ * @return {@code XMLGregorianCalendar} created from parameter values.
*
* @see DatatypeConstants#FIELD_UNDEFINED
*
* @throws IllegalArgumentException If any individual parameter's value is outside the maximum value constraint for the field
* as determined by the Date/Time Data Mapping table in {@link XMLGregorianCalendar}
- * or if the composite values constitute an invalid <code>XMLGregorianCalendar</code> instance
+ * or if the composite values constitute an invalid {@code XMLGregorianCalendar} instance
* as determined by {@link XMLGregorianCalendar#isValid()}.
*/
public XMLGregorianCalendar newXMLGregorianCalendarDate(
@@ -958,20 +963,20 @@
}
/**
- * <p>Create a Java instance of XML Schema builtin datatype <code>time</code>.</p>
+ * Create a Java instance of XML Schema builtin datatype {@code time}.
*
- * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.</p>
+ * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.
*
* @param hours number of hours
* @param minutes number of minutes
* @param seconds number of seconds
* @param timezone offset in minutes. {@link DatatypeConstants#FIELD_UNDEFINED} indicates optional field is not set.
*
- * @return <code>XMLGregorianCalendar</code> created from parameter values.
+ * @return {@code XMLGregorianCalendar} created from parameter values.
*
* @throws IllegalArgumentException If any individual parameter's value is outside the maximum value constraint for the field
* as determined by the Date/Time Data Mapping table in {@link XMLGregorianCalendar}
- * or if the composite values constitute an invalid <code>XMLGregorianCalendar</code> instance
+ * or if the composite values constitute an invalid {@code XMLGregorianCalendar} instance
* as determined by {@link XMLGregorianCalendar#isValid()}.
*
* @see DatatypeConstants#FIELD_UNDEFINED
@@ -994,24 +999,24 @@
}
/**
- * <p>Create a Java instance of XML Schema builtin datatype time.</p>
+ * Create a Java instance of XML Schema builtin datatype time.
*
- * <p>A <code>null</code> value indicates that field is not set.</p>
- * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.</p>
+ * <p>A {@code null} value indicates that field is not set.
+ * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.
*
* @param hours number of hours
* @param minutes number of minutes
* @param seconds number of seconds
- * @param fractionalSecond value of <code>null</code> indicates that this optional field is not set.
+ * @param fractionalSecond value of {@code null} indicates that this optional field is not set.
* @param timezone offset in minutes. {@link DatatypeConstants#FIELD_UNDEFINED} indicates optional field is not set.
*
- * @return <code>XMLGregorianCalendar</code> created from parameter values.
+ * @return {@code XMLGregorianCalendar} created from parameter values.
*
* @see DatatypeConstants#FIELD_UNDEFINED
*
* @throws IllegalArgumentException If any individual parameter's value is outside the maximum value constraint for the field
* as determined by the Date/Time Data Mapping table in {@link XMLGregorianCalendar}
- * or if the composite values constitute an invalid <code>XMLGregorianCalendar</code> instance
+ * or if the composite values constitute an invalid {@code XMLGregorianCalendar} instance
* as determined by {@link XMLGregorianCalendar#isValid()}.
*/
public XMLGregorianCalendar newXMLGregorianCalendarTime(
@@ -1033,9 +1038,9 @@
}
/**
- * <p>Create a Java instance of XML Schema builtin datatype time.</p>
+ * Create a Java instance of XML Schema builtin datatype time.
*
- * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.</p>
+ * <p>A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.
*
* @param hours number of hours
* @param minutes number of minutes
@@ -1043,13 +1048,13 @@
* @param milliseconds number of milliseconds
* @param timezone offset in minutes. {@link DatatypeConstants#FIELD_UNDEFINED} indicates optional field is not set.
*
- * @return <code>XMLGregorianCalendar</code> created from parameter values.
+ * @return {@code XMLGregorianCalendar} created from parameter values.
*
* @see DatatypeConstants#FIELD_UNDEFINED
*
* @throws IllegalArgumentException If any individual parameter's value is outside the maximum value constraint for the field
* as determined by the Date/Time Data Mapping table in {@link XMLGregorianCalendar}
- * or if the composite values constitute an invalid <code>XMLGregorianCalendar</code> instance
+ * or if the composite values constitute an invalid {@code XMLGregorianCalendar} instance
* as determined by {@link XMLGregorianCalendar#isValid()}.
*/
public XMLGregorianCalendar newXMLGregorianCalendarTime(
--- a/jaxp/src/java.xml/share/classes/javax/xml/datatype/Duration.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/datatype/Duration.java Mon Apr 27 09:17:39 2015 -0700
@@ -35,37 +35,37 @@
/**
* <p>Immutable representation of a time span as defined in
- * the W3C XML Schema 1.0 specification.</p>
+ * the W3C XML Schema 1.0 specification.
*
* <p>A Duration object represents a period of Gregorian time,
* which consists of six fields (years, months, days, hours,
- * minutes, and seconds) plus a sign (+/-) field.</p>
+ * minutes, and seconds) plus a sign (+/-) field.
*
- * <p>The first five fields have non-negative (>=0) integers or null
+ * <p>The first five fields have non-negative ({@literal >=}0) integers or null
* (which represents that the field is not set),
* and the seconds field has a non-negative decimal or null.
- * A negative sign indicates a negative duration.</p>
+ * A negative sign indicates a negative duration.
*
* <p>This class provides a number of methods that make it easy
* to use for the duration datatype of XML Schema 1.0 with
- * the errata.</p>
+ * the errata.
*
* <h2>Order relationship</h2>
* <p>Duration objects only have partial order, where two values A and B
- * maybe either:</p>
+ * maybe either:
* <ol>
- * <li>A<B (A is shorter than B)
- * <li>A>B (A is longer than B)
+ * <li>A{@literal <}B (A is shorter than B)
+ * <li>A{@literal >}B (A is longer than B)
* <li>A==B (A and B are of the same duration)
- * <li>A<>B (Comparison between A and B is indeterminate)
+ * <li>A{@literal <>}B (Comparison between A and B is indeterminate)
* </ol>
*
* <p>For example, 30 days cannot be meaningfully compared to one month.
* The {@link #compare(Duration duration)} method implements this
- * relationship.</p>
+ * relationship.
*
* <p>See the {@link #isLongerThan(Duration)} method for details about
- * the order relationship among <code>Duration</code> objects.</p>
+ * the order relationship among {@code Duration} objects.
*
* <h2>Operations over Duration</h2>
* <p>This class provides a set of basic arithmetic operations, such
@@ -73,20 +73,20 @@
* Because durations don't have total order, an operation could
* fail for some combinations of operations. For example, you cannot
* subtract 15 days from 1 month. See the javadoc of those methods
- * for detailed conditions where this could happen.</p>
+ * for detailed conditions where this could happen.
*
* <p>Also, division of a duration by a number is not provided because
- * the <code>Duration</code> class can only deal with finite precision
- * decimal numbers. For example, one cannot represent 1 sec divided by 3.</p>
+ * the {@code Duration} class can only deal with finite precision
+ * decimal numbers. For example, one cannot represent 1 sec divided by 3.
*
* <p>However, you could substitute a division by 3 with multiplying
- * by numbers such as 0.3 or 0.333.</p>
+ * by numbers such as 0.3 or 0.333.
*
* <h2>Range of allowed values</h2>
* <p>
- * Because some operations of <code>Duration</code> rely on {@link Calendar}
+ * Because some operations of {@code Duration} rely on {@link Calendar}
* even though {@link Duration} can hold very large or very small values,
- * some of the methods may not work correctly on such <code>Duration</code>s.
+ * some of the methods may not work correctly on such {@code Duration}s.
* The impacted methods document their dependency on {@link Calendar}.
*
* @author <a href="mailto:Joseph.Fialli@Sun.COM">Joseph Fialli</a>
@@ -99,7 +99,7 @@
public abstract class Duration {
/**
- * <p>Debugging <code>true</code> or <code>false</code>.</p>
+ * Debugging {@code true} or {@code false}.
*/
private static final boolean DEBUG = true;
@@ -107,24 +107,24 @@
* Default no-arg constructor.
*
* <p>Note: Always use the {@link DatatypeFactory} to
- * construct an instance of <code>Duration</code>.
+ * construct an instance of {@code Duration}.
* The constructor on this class cannot be guaranteed to
* produce an object with a consistent state and may be
- * removed in the future.</p>
+ * removed in the future.
*/
public Duration() {
}
/**
- * <p>Return the name of the XML Schema date/time type that this instance
+ * Return the name of the XML Schema date/time type that this instance
* maps to. Type is computed based on fields that are set,
- * i.e. {@link #isSet(DatatypeConstants.Field field)} == <code>true</code>.</p>
+ * i.e. {@link #isSet(DatatypeConstants.Field field)} == {@code true}.
*
* <table border="2" rules="all" cellpadding="2">
* <thead>
* <tr>
* <th align="center" colspan="7">
- * Required fields for XML Schema 1.0 Date/Time Datatypes.<br/>
+ * Required fields for XML Schema 1.0 Date/Time Datatypes.<br>
* <i>(timezone is optional for all date/time datatypes)</i>
* </th>
* </tr>
@@ -238,16 +238,16 @@
public abstract int getSign();
/**
- * <p>Get the years value of this <code>Duration</code> as an <code>int</code> or <code>0</code> if not present.</p>
+ * Get the years value of this {@code Duration} as an {@code int} or {@code 0} if not present.
*
- * <p><code>getYears()</code> is a convenience method for
- * {@link #getField(DatatypeConstants.Field field) getField(DatatypeConstants.YEARS)}.</p>
+ * <p>{@code getYears()} is a convenience method for
+ * {@link #getField(DatatypeConstants.Field field) getField(DatatypeConstants.YEARS)}.
*
- * <p>As the return value is an <code>int</code>, an incorrect value will be returned for <code>Duration</code>s
- * with years that go beyond the range of an <code>int</code>.
- * Use {@link #getField(DatatypeConstants.Field field) getField(DatatypeConstants.YEARS)} to avoid possible loss of precision.</p>
+ * <p>As the return value is an {@code int}, an incorrect value will be returned for {@code Duration}s
+ * with years that go beyond the range of an {@code int}.
+ * Use {@link #getField(DatatypeConstants.Field field) getField(DatatypeConstants.YEARS)} to avoid possible loss of precision.
*
- * @return If the years field is present, return its value as an <code>int</code>, else return <code>0</code>.
+ * @return If the years field is present, return its value as an {@code int}, else return {@code 0}.
*/
public int getYears() {
return getField(DatatypeConstants.YEARS).intValue();
@@ -260,7 +260,7 @@
* This method works just like {@link #getYears()} except
* that this method works on the MONTHS field.
*
- * @return Months of this <code>Duration</code>.
+ * @return Months of this {@code Duration}.
*/
public int getMonths() {
return getField(DatatypeConstants.MONTHS).intValue();
@@ -273,7 +273,7 @@
* This method works just like {@link #getYears()} except
* that this method works on the DAYS field.
*
- * @return Days of this <code>Duration</code>.
+ * @return Days of this {@code Duration}.
*/
public int getDays() {
return getField(DatatypeConstants.DAYS).intValue();
@@ -286,7 +286,7 @@
* This method works just like {@link #getYears()} except
* that this method works on the HOURS field.
*
- * @return Hours of this <code>Duration</code>.
+ * @return Hours of this {@code Duration}.
*
*/
public int getHours() {
@@ -300,7 +300,7 @@
* This method works just like {@link #getYears()} except
* that this method works on the MINUTES field.
*
- * @return Minutes of this <code>Duration</code>.
+ * @return Minutes of this {@code Duration}.
*
*/
public int getMinutes() {
@@ -323,32 +323,32 @@
}
/**
- * <p>Returns the length of the duration in milli-seconds.</p>
+ * Returns the length of the duration in milli-seconds.
*
* <p>If the seconds field carries more digits than milli-second order,
* those will be simply discarded (or in other words, rounded to zero.)
- * For example, for any Calendar value <code>x</code>,</p>
+ * For example, for any Calendar value {@code x},
* <pre>
- * <code>new Duration("PT10.00099S").getTimeInMills(x) == 10000</code>.
- * <code>new Duration("-PT10.00099S").getTimeInMills(x) == -10000</code>.
+ * {@code new Duration("PT10.00099S").getTimeInMills(x) == 10000}
+ * {@code new Duration("-PT10.00099S").getTimeInMills(x) == -10000}
* </pre>
*
* <p>
* Note that this method uses the {@link #addTo(Calendar)} method,
- * which may work incorrectly with <code>Duration</code> objects with
+ * which may work incorrectly with {@code Duration} objects with
* very large values in its fields. See the {@link #addTo(Calendar)}
* method for details.
*
* @param startInstant
- * The length of a month/year varies. The <code>startInstant</code> is
+ * The length of a month/year varies. The {@code startInstant} is
* used to disambiguate this variance. Specifically, this method
- * returns the difference between <code>startInstant</code> and
- * <code>startInstant+duration</code>
+ * returns the difference between {@code startInstant} and
+ * {@code startInstant+duration}
*
- * @return milliseconds between <code>startInstant</code> and
- * <code>startInstant</code> plus this <code>Duration</code>
+ * @return milliseconds between {@code startInstant} and
+ * {@code startInstant} plus this {@code Duration}
*
- * @throws NullPointerException if <code>startInstant</code> parameter
+ * @throws NullPointerException if {@code startInstant} parameter
* is null.
*
*/
@@ -360,33 +360,33 @@
}
/**
- * <p>Returns the length of the duration in milli-seconds.</p>
+ * Returns the length of the duration in milli-seconds.
*
* <p>If the seconds field carries more digits than milli-second order,
* those will be simply discarded (or in other words, rounded to zero.)
- * For example, for any <code>Date</code> value <code>x</code>,</p>
+ * For example, for any {@code Date} value {@code x},
* <pre>
- * <code>new Duration("PT10.00099S").getTimeInMills(x) == 10000</code>.
- * <code>new Duration("-PT10.00099S").getTimeInMills(x) == -10000</code>.
+ * {@code new Duration("PT10.00099S").getTimeInMills(x) == 10000}
+ * {@code new Duration("-PT10.00099S").getTimeInMills(x) == -10000}
* </pre>
*
* <p>
* Note that this method uses the {@link #addTo(Date)} method,
- * which may work incorrectly with <code>Duration</code> objects with
+ * which may work incorrectly with {@code Duration} objects with
* very large values in its fields. See the {@link #addTo(Date)}
* method for details.
*
* @param startInstant
- * The length of a month/year varies. The <code>startInstant</code> is
+ * The length of a month/year varies. The {@code startInstant} is
* used to disambiguate this variance. Specifically, this method
- * returns the difference between <code>startInstant</code> and
- * <code>startInstant+duration</code>.
+ * returns the difference between {@code startInstant} and
+ * {@code startInstant+duration}.
*
* @throws NullPointerException
* If the startInstant parameter is null.
*
- * @return milliseconds between <code>startInstant</code> and
- * <code>startInstant</code> plus this <code>Duration</code>
+ * @return milliseconds between {@code startInstant} and
+ * {@code startInstant} plus this {@code Duration}
*
* @see #getTimeInMillis(Calendar)
*/
@@ -418,7 +418,7 @@
* returns a {@link java.math.BigInteger} object. For SECONDS, this
* method returns a {@link java.math.BigDecimal}.
*
- * @throws NullPointerException If the <code>field</code> is <code>null</code>.
+ * @throws NullPointerException If the {@code field} is {@code null}.
*/
public abstract Number getField(final DatatypeConstants.Field field);
@@ -440,9 +440,9 @@
public abstract boolean isSet(final DatatypeConstants.Field field);
/**
- * <p>Computes a new duration whose value is <code>this+rhs</code>.</p>
+ * Computes a new duration whose value is {@code this+rhs}.
*
- * <p>For example,</p>
+ * <p>For example,
* <pre>
* "1 day" + "-3 days" = "-2 days"
* "1 year" + "1 day" = "1 year and 1 day"
@@ -453,28 +453,28 @@
*
* <p>Since there's no way to meaningfully subtract 1 day from 1 month,
* there are cases where the operation fails in
- * {@link IllegalStateException}.</p>
+ * {@link IllegalStateException}.
*
* <p>
- * Formally, the computation is defined as follows.</p>
+ * Formally, the computation is defined as follows.
* <p>
- * Firstly, we can assume that two <code>Duration</code>s to be added
+ * Firstly, we can assume that two {@code Duration}s to be added
* are both positive without losing generality (i.e.,
- * <code>(-X)+Y=Y-X</code>, <code>X+(-Y)=X-Y</code>,
- * <code>(-X)+(-Y)=-(X+Y)</code>)
+ * {@code (-X)+Y=Y-X}, {@code X+(-Y)=X-Y},
+ * {@code (-X)+(-Y)=-(X+Y)})
*
* <p>
- * Addition of two positive <code>Duration</code>s are simply defined as
+ * Addition of two positive {@code Duration}s are simply defined as
* field by field addition where missing fields are treated as 0.
* <p>
- * A field of the resulting <code>Duration</code> will be unset if and
- * only if respective fields of two input <code>Duration</code>s are unset.
+ * A field of the resulting {@code Duration} will be unset if and
+ * only if respective fields of two input {@code Duration}s are unset.
* <p>
- * Note that <code>lhs.add(rhs)</code> will be always successful if
- * <code>lhs.signum()*rhs.signum()!=-1</code> or both of them are
- * normalized.</p>
+ * Note that {@code lhs.add(rhs)} will be always successful if
+ * {@code lhs.signum()*rhs.signum()!=-1} or both of them are
+ * normalized.
*
- * @param rhs <code>Duration</code> to add to this <code>Duration</code>
+ * @param rhs {@code Duration} to add to this {@code Duration}
*
* @return
* non-null valid Duration object.
@@ -501,25 +501,22 @@
* uses int to hold values, there are cases where this method
* won't work correctly (for example if values of fields
* exceed the range of int.)
- * </p>
*
* <p>
* Also, since this duration class is a Gregorian duration, this
* method will not work correctly if the given {@link Calendar}
* object is based on some other calendar systems.
- * </p>
*
* <p>
- * Any fractional parts of this <code>Duration</code> object
+ * Any fractional parts of this {@code Duration} object
* beyond milliseconds will be simply ignored. For example, if
* this duration is "P1.23456S", then 1 is added to SECONDS,
* 234 is added to MILLISECONDS, and the rest will be unused.
- * </p>
*
* <p>
* Note that because {@link Calendar#add(int, int)} is using
- * <code>int</code>, <code>Duration</code> with values beyond the
- * range of <code>int</code> in its fields
+ * {@code int}, {@code Duration} with values beyond the
+ * range of {@code int} in its fields
* will cause overflow/underflow to the given {@link Calendar}.
* {@link XMLGregorianCalendar#add(Duration)} provides the same
* basic operation as this method while avoiding
@@ -571,9 +568,9 @@
}
/**
- * <p>Computes a new duration whose value is <code>this-rhs</code>.</p>
+ * Computes a new duration whose value is {@code this-rhs}.
*
- * <p>For example:</p>
+ * <p>For example:
* <pre>
* "1 day" - "-3 days" = "4 days"
* "1 year" - "1 day" = IllegalStateException
@@ -583,31 +580,31 @@
* </pre>
*
* <p>Since there's no way to meaningfully subtract 1 day from 1 month,
- * there are cases where the operation fails in {@link IllegalStateException}.</p>
+ * there are cases where the operation fails in {@link IllegalStateException}.
*
* <p>Formally the computation is defined as follows.
- * First, we can assume that two <code>Duration</code>s are both positive
+ * First, we can assume that two {@code Duration}s are both positive
* without losing generality. (i.e.,
- * <code>(-X)-Y=-(X+Y)</code>, <code>X-(-Y)=X+Y</code>,
- * <code>(-X)-(-Y)=-(X-Y)</code>)</p>
+ * {@code (-X)-Y=-(X+Y)}, {@code X-(-Y)=X+Y},
+ * {@code (-X)-(-Y)=-(X-Y)})
*
* <p>Then two durations are subtracted field by field.
- * If the sign of any non-zero field <code>F</code> is different from
+ * If the sign of any non-zero field {@code F} is different from
* the sign of the most significant field,
- * 1 (if <code>F</code> is negative) or -1 (otherwise)
- * will be borrowed from the next bigger unit of <code>F</code>.</p>
+ * 1 (if {@code F} is negative) or -1 (otherwise)
+ * will be borrowed from the next bigger unit of {@code F}.
*
* <p>This process is repeated until all the non-zero fields have
- * the same sign.</p>
+ * the same sign.
*
* <p>If a borrow occurs in the days field (in other words, if
* the computation needs to borrow 1 or -1 month to compensate
* days), then the computation fails by throwing an
- * {@link IllegalStateException}.</p>
+ * {@link IllegalStateException}.
*
- * @param rhs <code>Duration</code> to subtract from this <code>Duration</code>.
+ * @param rhs {@code Duration} to subtract from this {@code Duration}.
*
- * @return New <code>Duration</code> created from subtracting <code>rhs</code> from this <code>Duration</code>.
+ * @return New {@code Duration} created from subtracting {@code rhs} from this {@code Duration}.
*
* @throws IllegalStateException
* If two durations cannot be meaningfully subtracted. For
@@ -624,18 +621,18 @@
}
/**
- * <p>Computes a new duration whose value is <code>factor</code> times
- * longer than the value of this duration.</p>
+ * Computes a new duration whose value is {@code factor} times
+ * longer than the value of this duration.
*
* <p>This method is provided for the convenience.
- * It is functionally equivalent to the following code:</p>
+ * It is functionally equivalent to the following code:
* <pre>
* multiply(new BigDecimal(String.valueOf(factor)))
* </pre>
*
- * @param factor Factor times longer of new <code>Duration</code> to create.
+ * @param factor Factor times longer of new {@code Duration} to create.
*
- * @return New <code>Duration</code> that is <code>factor</code>times longer than this <code>Duration</code>.
+ * @return New {@code Duration} that is {@code factor}times longer than this {@code Duration}.
*
* @see #multiply(BigDecimal)
*/
@@ -644,7 +641,7 @@
}
/**
- * Computes a new duration whose value is <code>factor</code> times
+ * Computes a new duration whose value is {@code factor} times
* longer than the value of this duration.
*
* <p>
@@ -656,7 +653,7 @@
* </pre>
*
* <p>
- * Since the <code>Duration</code> class is immutable, this method
+ * Since the {@code Duration} class is immutable, this method
* doesn't change the value of this object. It simply computes
* a new Duration object and returns it.
*
@@ -671,7 +668,7 @@
* When fractions of month cannot be meaningfully carried down
* to days, or year to months, this will cause an
* {@link IllegalStateException} to be thrown.
- * For example if you multiple one month by 0.5.</p>
+ * For example if you multiple one month by 0.5.
*
* <p>
* To avoid {@link IllegalStateException}, use
@@ -681,39 +678,39 @@
* @param factor to multiply by
*
* @return
- * returns a non-null valid <code>Duration</code> object
+ * returns a non-null valid {@code Duration} object
*
* @throws IllegalStateException if operation produces fraction in
* the months field.
*
- * @throws NullPointerException if the <code>factor</code> parameter is
- * <code>null</code>.
+ * @throws NullPointerException if the {@code factor} parameter is
+ * {@code null}.
*
*/
public abstract Duration multiply(final BigDecimal factor);
/**
- * Returns a new <code>Duration</code> object whose
- * value is <code>-this</code>.
+ * Returns a new {@code Duration} object whose
+ * value is {@code -this}.
*
* <p>
- * Since the <code>Duration</code> class is immutable, this method
+ * Since the {@code Duration} class is immutable, this method
* doesn't change the value of this object. It simply computes
* a new Duration object and returns it.
*
* @return
- * always return a non-null valid <code>Duration</code> object.
+ * always return a non-null valid {@code Duration} object.
*/
public abstract Duration negate();
/**
- * <p>Converts the years and months fields into the days field
- * by using a specific time instant as the reference point.</p>
+ * Converts the years and months fields into the days field
+ * by using a specific time instant as the reference point.
*
* <p>For example, duration of one month normalizes to 31 days
- * given the start time instance "July 8th 2003, 17:40:32".</p>
+ * given the start time instance "July 8th 2003, 17:40:32".
*
- * <p>Formally, the computation is done as follows:</p>
+ * <p>Formally, the computation is done as follows:
* <ol>
* <li>the given Calendar object is cloned</li>
* <li>the years, months and days fields will be added to the {@link Calendar} object
@@ -725,37 +722,37 @@
* Duration object.</li>
* </ol>
*
- * <p>Note that since the Calendar class uses <code>int</code> to
+ * <p>Note that since the Calendar class uses {@code int} to
* hold the value of year and month, this method may produce
* an unexpected result if this duration object holds
- * a very large value in the years or months fields.</p>
+ * a very large value in the years or months fields.
*
- * @param startTimeInstant <code>Calendar</code> reference point.
+ * @param startTimeInstant {@code Calendar} reference point.
*
- * @return <code>Duration</code> of years and months of this <code>Duration</code> as days.
+ * @return {@code Duration} of years and months of this {@code Duration} as days.
*
* @throws NullPointerException If the startTimeInstant parameter is null.
*/
public abstract Duration normalizeWith(final Calendar startTimeInstant);
/**
- * <p>Partial order relation comparison with this <code>Duration</code> instance.</p>
+ * Partial order relation comparison with this {@code Duration} instance.
*
* <p>Comparison result must be in accordance with
* <a href="http://www.w3.org/TR/xmlschema-2/#duration-order">W3C XML Schema 1.0 Part 2, Section 3.2.7.6.2,
- * <i>Order relation on duration</i></a>.</p>
+ * <i>Order relation on duration</i></a>.
*
- * <p>Return:</p>
+ * <p>Return:
* <ul>
- * <li>{@link DatatypeConstants#LESSER} if this <code>Duration</code> is shorter than <code>duration</code> parameter</li>
- * <li>{@link DatatypeConstants#EQUAL} if this <code>Duration</code> is equal to <code>duration</code> parameter</li>
- * <li>{@link DatatypeConstants#GREATER} if this <code>Duration</code> is longer than <code>duration</code> parameter</li>
+ * <li>{@link DatatypeConstants#LESSER} if this {@code Duration} is shorter than {@code duration} parameter</li>
+ * <li>{@link DatatypeConstants#EQUAL} if this {@code Duration} is equal to {@code duration} parameter</li>
+ * <li>{@link DatatypeConstants#GREATER} if this {@code Duration} is longer than {@code duration} parameter</li>
* <li>{@link DatatypeConstants#INDETERMINATE} if a conclusive partial order relation cannot be determined</li>
* </ul>
*
* @param duration to compare
*
- * @return the relationship between <code>this</code> <code>Duration</code>and <code>duration</code> parameter as
+ * @return the relationship between {@code this Duration} and {@code duration} parameter as
* {@link DatatypeConstants#LESSER}, {@link DatatypeConstants#EQUAL}, {@link DatatypeConstants#GREATER}
* or {@link DatatypeConstants#INDETERMINATE}.
*
@@ -763,7 +760,7 @@
* cannot reasonably process the request, e.g. W3C XML Schema allows for
* arbitrarily large/small/precise values, the request may be beyond the
* implementations capability.
- * @throws NullPointerException if <code>duration</code> is <code>null</code>.
+ * @throws NullPointerException if {@code duration} is {@code null}.
*
* @see #isShorterThan(Duration)
* @see #isLongerThan(Duration)
@@ -771,23 +768,23 @@
public abstract int compare(final Duration duration);
/**
- * <p>Checks if this duration object is strictly longer than
- * another <code>Duration</code> object.</p>
+ * Checks if this duration object is strictly longer than
+ * another {@code Duration} object.
*
- * <p>Duration X is "longer" than Y if and only if X>Y
+ * <p>Duration X is "longer" than Y if and only if X {@literal >} Y
* as defined in the section 3.2.6.2 of the XML Schema 1.0
- * specification.</p>
+ * specification.
*
- * <p>For example, "P1D" (one day) > "PT12H" (12 hours) and
- * "P2Y" (two years) > "P23M" (23 months).</p>
+ * <p>For example, "P1D" (one day) {@literal >} "PT12H" (12 hours) and
+ * "P2Y" (two years) {@literal >} "P23M" (23 months).
*
- * @param duration <code>Duration</code> to test this <code>Duration</code> against.
+ * @param duration {@code Duration} to test this {@code Duration} against.
*
* @throws UnsupportedOperationException If the underlying implementation
* cannot reasonably process the request, e.g. W3C XML Schema allows for
* arbitrarily large/small/precise values, the request may be beyond the
* implementations capability.
- * @throws NullPointerException If <code>duration</code> is null.
+ * @throws NullPointerException If {@code duration} is null.
*
* @return
* true if the duration represented by this object
@@ -801,19 +798,19 @@
}
/**
- * <p>Checks if this duration object is strictly shorter than
- * another <code>Duration</code> object.</p>
+ * Checks if this duration object is strictly shorter than
+ * another {@code Duration} object.
*
- * @param duration <code>Duration</code> to test this <code>Duration</code> against.
+ * @param duration {@code Duration} to test this {@code Duration} against.
*
- * @return <code>true</code> if <code>duration</code> parameter is shorter than this <code>Duration</code>,
- * else <code>false</code>.
+ * @return {@code true} if {@code duration} parameter is shorter than this {@code Duration},
+ * else {@code false}.
*
* @throws UnsupportedOperationException If the underlying implementation
* cannot reasonably process the request, e.g. W3C XML Schema allows for
* arbitrarily large/small/precise values, the request may be beyond the
* implementations capability.
- * @throws NullPointerException if <code>duration</code> is null.
+ * @throws NullPointerException if {@code duration} is null.
*
* @see #isLongerThan(Duration duration)
* @see #compare(Duration duration)
@@ -823,19 +820,19 @@
}
/**
- * <p>Checks if this duration object has the same duration
- * as another <code>Duration</code> object.</p>
+ * Checks if this duration object has the same duration
+ * as another {@code Duration} object.
*
- * <p>For example, "P1D" (1 day) is equal to "PT24H" (24 hours).</p>
+ * <p>For example, "P1D" (1 day) is equal to "PT24H" (24 hours).
*
* <p>Duration X is equal to Y if and only if time instant
* t+X and t+Y are the same for all the test time instants
* specified in the section 3.2.6.2 of the XML Schema 1.0
- * specification.</p>
+ * specification.
*
- * <p>Note that there are cases where two <code>Duration</code>s are
+ * <p>Note that there are cases where two {@code Duration}s are
* "incomparable" to each other, like one month and 30 days.
- * For example,</p>
+ * For example,
* <pre>
* !new Duration("P1M").isShorterThan(new Duration("P30D"))
* !new Duration("P1M").isLongerThan(new Duration("P30D"))
@@ -843,14 +840,14 @@
* </pre>
*
* @param duration
- * The object to compare this <code>Duration</code> against.
+ * The object to compare this {@code Duration} against.
*
* @return
- * <code>true</code> if this duration is the same length as
- * <code>duration</code>.
- * <code>false</code> if <code>duration</code> is <code>null</code>,
+ * {@code true} if this duration is the same length as
+ * {@code duration}.
+ * {@code false} if {@code duration} is {@code null},
* is not a
- * <code>Duration</code> object,
+ * {@code Duration} object,
* or its length is different from this duration.
*
* @throws UnsupportedOperationException If the underlying implementation
@@ -877,18 +874,19 @@
public abstract int hashCode();
/**
- * <p>Returns a <code>String</code> representation of this <code>Duration</code> <code>Object</code>.</p>
+ * Returns a {@code String} representation of this {@code Duration Object}.
*
- * <p>The result is formatted according to the XML Schema 1.0 spec and can be always parsed back later into the
- * equivalent <code>Duration</code> <code>Object</code> by {@link DatatypeFactory#newDuration(String lexicalRepresentation)}.</p>
+ * <p>The result is formatted according to the XML Schema 1.0 spec
+ * and can be always parsed back later into the
+ * equivalent {@code Duration Object} by {@link DatatypeFactory#newDuration(String lexicalRepresentation)}.
*
- * <p>Formally, the following holds for any <code>Duration</code>
- * <code>Object</code> x:</p>
+ * <p>Formally, the following holds for any {@code Duration}
+ * {@code Object} x:
* <pre>
* new Duration(x.toString()).equals(x)
* </pre>
*
- * @return A non-<code>null</code> valid <code>String</code> representation of this <code>Duration</code>.
+ * @return A non-{@code null} valid {@code String} representation of this {@code Duration}.
*/
public String toString() {
@@ -934,14 +932,14 @@
}
/**
- * <p>Turns {@link BigDecimal} to a string representation.</p>
+ * Turns {@link BigDecimal} to a string representation.
*
* <p>Due to a behavior change in the {@link BigDecimal#toString()}
- * method in JDK1.5, this had to be implemented here.</p>
+ * method in JDK1.5, this had to be implemented here.
*
- * @param bd <code>BigDecimal</code> to format as a <code>String</code>
+ * @param bd {@code BigDecimal} to format as a {@code String}
*
- * @return <code>String</code> representation of <code>BigDecimal</code>
+ * @return {@code String} representation of {@code BigDecimal}
*/
private String toString(BigDecimal bd) {
String intString = bd.unscaledValue().toString();
@@ -972,15 +970,15 @@
/**
- * <p>Calls the {@link Calendar#getTimeInMillis} method.
+ * Calls the {@link Calendar#getTimeInMillis} method.
* Prior to JDK1.4, this method was protected and therefore
- * cannot be invoked directly.</p>
+ * cannot be invoked directly.
*
- * <p>TODO: In future, this should be replaced by <code>cal.getTimeInMillis()</code>.</p>
+ * <p>TODO: In future, this should be replaced by {@code cal.getTimeInMillis()}.
*
- * @param cal <code>Calendar</code> to get time in milliseconds.
+ * @param cal {@code Calendar} to get time in milliseconds.
*
- * @return Milliseconds of <code>cal</code>.
+ * @return Milliseconds of {@code cal}.
*/
private static long getCalendarTimeInMillis(final Calendar cal) {
return cal.getTime().getTime();
--- a/jaxp/src/java.xml/share/classes/javax/xml/datatype/XMLGregorianCalendar.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/datatype/XMLGregorianCalendar.java Mon Apr 27 09:17:39 2015 -0700
@@ -43,17 +43,17 @@
* {@link DatatypeConstants#GMONTH}, and
* {@link DatatypeConstants#GDAY}
* defined in the XML Namespace
- * <code>"http://www.w3.org/2001/XMLSchema"</code>.
+ * {@code "http://www.w3.org/2001/XMLSchema"}.
* These datatypes are normatively defined in
- * <a href="http://www.w3.org/TR/xmlschema-2/#dateTime">W3C XML Schema 1.0 Part 2, Section 3.2.7-14</a>.</p>
+ * <a href="http://www.w3.org/TR/xmlschema-2/#dateTime">W3C XML Schema 1.0 Part 2, Section 3.2.7-14</a>.
*
* <p>The table below defines the mapping between XML Schema 1.0
* date/time datatype fields and this class' fields. It also summarizes
* the value constraints for the date and time fields defined in
* <a href="http://www.w3.org/TR/xmlschema-2/#isoformats">W3C XML Schema 1.0 Part 2, Appendix D,
- * <i>ISO 8601 Date and Time Formats</i></a>.</p>
+ * <i>ISO 8601 Date and Time Formats</i></a>.
*
- * <a name="datetimefieldmapping"/>
+ * <a name="datetimefieldmapping"></a>
* <table border="2" rules="all" cellpadding="2">
* <thead>
* <tr>
@@ -64,22 +64,22 @@
* </thead>
* <tbody>
* <tr>
- * <th>XML Schema 1.0<br/>
- * datatype<br/>
+ * <th>XML Schema 1.0<br>
+ * datatype<br>
* field</th>
- * <th>Related<br/>XMLGregorianCalendar<br/>Accessor(s)</th>
+ * <th>Related<br>XMLGregorianCalendar<br>Accessor(s)</th>
* <th>Value Range</th>
* </tr>
* <tr>
- * <td><a name="datetimefield-year"/>year</td>
- * <td> {@link #getYear()} + {@link #getEon()} or<br/>
+ * <td><a name="datetimefield-year">year</a></td>
+ * <td> {@link #getYear()} + {@link #getEon()} or<br>
* {@link #getEonAndYear}
* </td>
- * <td> <code>getYear()</code> is a value between -(10^9-1) to (10^9)-1
- * or {@link DatatypeConstants#FIELD_UNDEFINED}.<br/>
- * {@link #getEon()} is high order year value in billion of years.<br/>
- * <code>getEon()</code> has values greater than or equal to (10^9) or less than or equal to -(10^9).
- * A value of null indicates field is undefined.</br>
+ * <td> {@code getYear()} is a value between -(10^9-1) to (10^9)-1
+ * or {@link DatatypeConstants#FIELD_UNDEFINED}.<br>
+ * {@link #getEon()} is high order year value in billion of years.<br>
+ * {@code getEon()} has values greater than or equal to (10^9) or less than or equal to -(10^9).
+ * A value of null indicates field is undefined.<br>
* Given that <a href="http://www.w3.org/2001/05/xmlschema-errata#e2-63">XML Schema 1.0 errata</a> states that the year zero
* will be a valid lexical value in a future version of XML Schema,
* this class allows the year field to be set to zero. Otherwise,
@@ -89,20 +89,20 @@
* </td>
* </tr>
* <tr>
- * <td><a name="datetimefield-month"/>month</td>
+ * <td><a name="datetimefield-month">month</a></td>
* <td> {@link #getMonth()} </td>
* <td> 1 to 12 or {@link DatatypeConstants#FIELD_UNDEFINED} </td>
* </tr>
* <tr>
- * <td><a name="datetimefield-day"/>day</td>
+ * <td><a name="datetimefield-day">day</a></td>
* <td> {@link #getDay()} </td>
- * <td> Independent of month, max range is 1 to 31 or {@link DatatypeConstants#FIELD_UNDEFINED}.<br/>
+ * <td> Independent of month, max range is 1 to 31 or {@link DatatypeConstants#FIELD_UNDEFINED}.<br>
* The normative value constraint stated relative to month
* field's value is in <a href="http://www.w3.org/TR/xmlschema-2/#isoformats">W3C XML Schema 1.0 Part 2, Appendix D</a>.
* </td>
* </tr>
* <tr>
- * <td><a name="datetimefield-hour"/>hour</td>
+ * <td><a name="datetimefield-hour">hour</a></td>
* <td>{@link #getHour()}</td>
* <td>
* 0 to 23 or {@link DatatypeConstants#FIELD_UNDEFINED}.
@@ -114,28 +114,28 @@
* </td>
* </tr>
* <tr>
- * <td><a name="datetimefield-minute"/>minute</td>
+ * <td><a name="datetimefield-minute">minute</a></td>
* <td> {@link #getMinute()} </td>
* <td> 0 to 59 or {@link DatatypeConstants#FIELD_UNDEFINED} </td>
* </tr>
* <tr>
- * <td><a name="datetimefield-second"/>second</td>
+ * <td><a name="datetimefield-second">second</a></td>
* <td>
- * {@link #getSecond()} + {@link #getMillisecond()}/1000 or<br/>
+ * {@link #getSecond()} + {@link #getMillisecond()}/1000 or<br>
* {@link #getSecond()} + {@link #getFractionalSecond()}
* </td>
* <td>
- * {@link #getSecond()} from 0 to 60 or {@link DatatypeConstants#FIELD_UNDEFINED}.<br/>
- * <i>(Note: 60 only allowable for leap second.)</i><br/>
+ * {@link #getSecond()} from 0 to 60 or {@link DatatypeConstants#FIELD_UNDEFINED}.<br>
+ * <i>(Note: 60 only allowable for leap second.)</i><br>
* {@link #getFractionalSecond()} allows for infinite precision over the range from 0.0 to 1.0 when
- * the {@link #getSecond()} is defined.<br/>
- * <code>FractionalSecond</code> is optional and has a value of <code>null</code> when it is undefined.<br />
+ * the {@link #getSecond()} is defined.<br>
+ * {@code FractionalSecond} is optional and has a value of {@code null} when it is undefined.<br>
* {@link #getMillisecond()} is the convenience
* millisecond precision of value of {@link #getFractionalSecond()}.
* </td>
* </tr>
* <tr>
- * <td><a name="datetimefield-timezone"/>timezone</td>
+ * <td><a name="datetimefield-timezone">timezone</a></td>
* <td> {@link #getTimezone()} </td>
* <td> Number of minutes or {@link DatatypeConstants#FIELD_UNDEFINED}.
* Value range from -14 hours (-14 * 60 minutes) to 14 hours (14 * 60 minutes).
@@ -145,14 +145,13 @@
* </table>
*
* <p>All maximum value space constraints listed for the fields in the table
- * above are checked by factory methods, @{link DatatypeFactory},
+ * above are checked by factory methods, {@link DatatypeFactory},
* setter methods and parse methods of
- * this class. <code>IllegalArgumentException</code> is thrown when a
+ * this class. {@code IllegalArgumentException} is thrown when a
* parameter's value is outside the value constraint for the field or
* if the composite
* values constitute an invalid XMLGregorianCalendar instance (for example, if
* the 31st of June is specified).
- * </p>
*
* <p>The following operations are defined for this class:
* <ul>
@@ -169,7 +168,6 @@
* W3C XML Schema 1.0 Part 2, Appendix E, <i>Adding durations to dateTimes</i></a>.
* </li>
* </ul>
- * </p>
*
* @author <a href="mailto:Joseph.Fialli@Sun.com">Joseph Fialli</a>
* @author <a href="mailto:Kohsuke.Kawaguchi@Sun.com">Kohsuke Kawaguchi</a>
@@ -187,26 +185,26 @@
* Default no-arg constructor.
*
* <p>Note: Always use the {@link DatatypeFactory} to
- * construct an instance of <code>XMLGregorianCalendar</code>.
+ * construct an instance of {@code XMLGregorianCalendar}.
* The constructor on this class cannot be guaranteed to
* produce an object with a consistent state and may be
- * removed in the future.</p>
+ * removed in the future.
*/
public XMLGregorianCalendar() {
}
/**
- * <p>Unset all fields to undefined.</p>
+ * Unset all fields to undefined.
*
* <p>Set all int fields to {@link DatatypeConstants#FIELD_UNDEFINED} and reference fields
- * to null.</p>
+ * to null.
*/
public abstract void clear();
/**
- * <p>Reset this <code>XMLGregorianCalendar</code> to its original values.</p>
+ * Reset this {@code XMLGregorianCalendar} to its original values.
*
- * <p><code>XMLGregorianCalendar</code> is reset to the same values as when it was created with
+ * <p>{@code XMLGregorianCalendar} is reset to the same values as when it was created with
* {@link DatatypeFactory#newXMLGregorianCalendar()},
* {@link DatatypeFactory#newXMLGregorianCalendar(String lexicalRepresentation)},
* {@link DatatypeFactory#newXMLGregorianCalendar(
@@ -250,83 +248,82 @@
* int seconds,
* int milliseconds,
* int timezone)}.
- * </p>
*
- * <p><code>reset()</code> is designed to allow the reuse of existing <code>XMLGregorianCalendar</code>s
- * thus saving resources associated with the creation of new <code>XMLGregorianCalendar</code>s.</p>
+ * <p>{@code reset()} is designed to allow the reuse of existing {@code XMLGregorianCalendar}s
+ * thus saving resources associated with the creation of new {@code XMLGregorianCalendar}s.
*/
public abstract void reset();
/**
- * <p>Set low and high order component of XSD <code>dateTime</code> year field.</p>
+ * Set low and high order component of XSD {@code dateTime} year field.
*
- * <p>Unset this field by invoking the setter with a parameter value of <code>null</code>.</p>
+ * <p>Unset this field by invoking the setter with a parameter value of {@code null}.
*
* @param year value constraints summarized in <a href="#datetimefield-year">year field of date/time field mapping table</a>.
*
- * @throws IllegalArgumentException if <code>year</code> parameter is
+ * @throws IllegalArgumentException if {@code year} parameter is
* outside value constraints for the field as specified in
* <a href="#datetimefieldmapping">date/time field mapping table</a>.
*/
public abstract void setYear(BigInteger year);
/**
- * <p>Set year of XSD <code>dateTime</code> year field.</p>
+ * Set year of XSD {@code dateTime} year field.
*
* <p>Unset this field by invoking the setter with a parameter value of
- * {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * {@link DatatypeConstants#FIELD_UNDEFINED}.
*
- * <p>Note: if the absolute value of the <code>year</code> parameter
+ * <p>Note: if the absolute value of the {@code year} parameter
* is less than 10^9, the eon component of the XSD year field is set to
- * <code>null</code> by this method.</p>
+ * {@code null} by this method.
*
* @param year value constraints are summarized in <a href="#datetimefield-year">year field of date/time field mapping table</a>.
- * If year is {@link DatatypeConstants#FIELD_UNDEFINED}, then eon is set to <code>null</code>.
+ * If year is {@link DatatypeConstants#FIELD_UNDEFINED}, then eon is set to {@code null}.
*/
public abstract void setYear(int year);
/**
- * <p>Set month.</p>
+ * Set month.
*
- * <p>Unset this field by invoking the setter with a parameter value of {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * <p>Unset this field by invoking the setter with a parameter value of {@link DatatypeConstants#FIELD_UNDEFINED}.
*
* @param month value constraints summarized in <a href="#datetimefield-month">month field of date/time field mapping table</a>.
*
- * @throws IllegalArgumentException if <code>month</code> parameter is
+ * @throws IllegalArgumentException if {@code month} parameter is
* outside value constraints for the field as specified in
* <a href="#datetimefieldmapping">date/time field mapping table</a>.
*/
public abstract void setMonth(int month);
/**
- * <p>Set days in month.</p>
+ * Set days in month.
*
- * <p>Unset this field by invoking the setter with a parameter value of {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * <p>Unset this field by invoking the setter with a parameter value of {@link DatatypeConstants#FIELD_UNDEFINED}.
*
* @param day value constraints summarized in <a href="#datetimefield-day">day field of date/time field mapping table</a>.
*
- * @throws IllegalArgumentException if <code>day</code> parameter is
+ * @throws IllegalArgumentException if {@code day} parameter is
* outside value constraints for the field as specified in
* <a href="#datetimefieldmapping">date/time field mapping table</a>.
*/
public abstract void setDay(int day);
/**
- * <p>Set the number of minutes in the timezone offset.</p>
+ * Set the number of minutes in the timezone offset.
*
- * <p>Unset this field by invoking the setter with a parameter value of {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * <p>Unset this field by invoking the setter with a parameter value of {@link DatatypeConstants#FIELD_UNDEFINED}.
*
* @param offset value constraints summarized in <a href="#datetimefield-timezone">
* timezone field of date/time field mapping table</a>.
*
- * @throws IllegalArgumentException if <code>offset</code> parameter is
+ * @throws IllegalArgumentException if {@code offset} parameter is
* outside value constraints for the field as specified in
* <a href="#datetimefieldmapping">date/time field mapping table</a>.
*/
public abstract void setTimezone(int offset);
/**
- * <p>Set time as one unit.</p>
+ * Set time as one unit.
*
* @param hour value constraints are summarized in
* <a href="#datetimefield-hour">hour field of date/time field mapping table</a>.
@@ -352,71 +349,71 @@
}
/**
- * <p>Set hours.</p>
+ * Set hours.
*
- * <p>Unset this field by invoking the setter with a parameter value of {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * <p>Unset this field by invoking the setter with a parameter value of {@link DatatypeConstants#FIELD_UNDEFINED}.
*
* @param hour value constraints summarized in <a href="#datetimefield-hour">hour field of date/time field mapping table</a>.
*
- * @throws IllegalArgumentException if <code>hour</code> parameter is outside value constraints for the field as specified in
+ * @throws IllegalArgumentException if {@code hour} parameter is outside value constraints for the field as specified in
* <a href="#datetimefieldmapping">date/time field mapping table</a>.
*/
public abstract void setHour(int hour);
/**
- * <p>Set minutes.</p>
+ * Set minutes.
*
- * <p>Unset this field by invoking the setter with a parameter value of {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * <p>Unset this field by invoking the setter with a parameter value of {@link DatatypeConstants#FIELD_UNDEFINED}.
*
* @param minute value constraints summarized in <a href="#datetimefield-minute">minute field of date/time field mapping table</a>.
*
- * @throws IllegalArgumentException if <code>minute</code> parameter is outside value constraints for the field as specified in
+ * @throws IllegalArgumentException if {@code minute} parameter is outside value constraints for the field as specified in
* <a href="#datetimefieldmapping">date/time field mapping table</a>.
*/
public abstract void setMinute(int minute);
/**
- * <p>Set seconds.</p>
+ * Set seconds.
*
- * <p>Unset this field by invoking the setter with a parameter value of {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * <p>Unset this field by invoking the setter with a parameter value of {@link DatatypeConstants#FIELD_UNDEFINED}.
*
* @param second value constraints summarized in <a href="#datetimefield-second">second field of date/time field mapping table</a>.
*
- * @throws IllegalArgumentException if <code>second</code> parameter is outside value constraints for the field as specified in
+ * @throws IllegalArgumentException if {@code second} parameter is outside value constraints for the field as specified in
* <a href="#datetimefieldmapping">date/time field mapping table</a>.
*/
public abstract void setSecond(int second);
/**
- * <p>Set milliseconds.</p>
+ * Set milliseconds.
*
- * <p>Unset this field by invoking the setter with a parameter value of {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * <p>Unset this field by invoking the setter with a parameter value of {@link DatatypeConstants#FIELD_UNDEFINED}.
*
* @param millisecond value constraints summarized in
* <a href="#datetimefield-second">second field of date/time field mapping table</a>.
*
- * @throws IllegalArgumentException if <code>millisecond</code> parameter is outside value constraints for the field as specified
+ * @throws IllegalArgumentException if {@code millisecond} parameter is outside value constraints for the field as specified
* in <a href="#datetimefieldmapping">date/time field mapping table</a>.
*/
public abstract void setMillisecond(int millisecond);
/**
- * <p>Set fractional seconds.</p>
+ * Set fractional seconds.
*
- * <p>Unset this field by invoking the setter with a parameter value of <code>null</code>.</p>
+ * <p>Unset this field by invoking the setter with a parameter value of {@code null}.
*
* @param fractional value constraints summarized in
* <a href="#datetimefield-second">second field of date/time field mapping table</a>.
*
- * @throws IllegalArgumentException if <code>fractional</code> parameter is outside value constraints for the field as specified
+ * @throws IllegalArgumentException if {@code fractional} parameter is outside value constraints for the field as specified
* in <a href="#datetimefieldmapping">date/time field mapping table</a>.
*/
public abstract void setFractionalSecond(BigDecimal fractional);
/**
- * <p>Set time as one unit, including the optional infinite precision
- * fractional seconds.</p>
+ * Set time as one unit, including the optional infinite precision
+ * fractional seconds.
*
* @param hour value constraints are summarized in
* <a href="#datetimefield-hour">hour field of date/time field mapping table</a>.
@@ -424,7 +421,7 @@
* <a href="#datetimefield-minute">minute field of date/time field mapping table</a>.
* @param second value constraints are summarized in
* <a href="#datetimefield-second">second field of date/time field mapping table</a>.
- * @param fractional value of <code>null</code> indicates this optional
+ * @param fractional value of {@code null} indicates this optional
* field is not set.
*
* @throws IllegalArgumentException if any parameter is
@@ -445,7 +442,7 @@
/**
- * <p>Set time as one unit, including optional milliseconds.</p>
+ * Set time as one unit, including optional milliseconds.
*
* @param hour value constraints are summarized in
* <a href="#datetimefield-hour">hour field of date/time field mapping table</a>.
@@ -469,13 +466,13 @@
}
/**
- * <p>Return high order component for XML Schema 1.0 dateTime datatype field for
- * <code>year</code>.
- * <code>null</code> if this optional part of the year field is not defined.</p>
+ * Return high order component for XML Schema 1.0 dateTime datatype field for
+ * {@code year}.
+ * {@code null} if this optional part of the year field is not defined.
*
* <p>Value constraints for this value are summarized in
- * <a href="#datetimefield-year">year field of date/time field mapping table</a>.</p>
- * @return eon of this <code>XMLGregorianCalendar</code>. The value
+ * <a href="#datetimefield-year">year field of date/time field mapping table</a>.
+ * @return eon of this {@code XMLGregorianCalendar}. The value
* returned is an integer multiple of 10^9.
*
* @see #getYear()
@@ -484,13 +481,13 @@
public abstract BigInteger getEon();
/**
- * <p>Return low order component for XML Schema 1.0 dateTime datatype field for
- * <code>year</code> or {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * Return low order component for XML Schema 1.0 dateTime datatype field for
+ * {@code year} or {@link DatatypeConstants#FIELD_UNDEFINED}.
*
* <p>Value constraints for this value are summarized in
- * <a href="#datetimefield-year">year field of date/time field mapping table</a>.</p>
+ * <a href="#datetimefield-year">year field of date/time field mapping table</a>.
*
- * @return year of this <code>XMLGregorianCalendar</code>.
+ * @return year of this {@code XMLGregorianCalendar}.
*
* @see #getEon()
* @see #getEonAndYear()
@@ -498,16 +495,16 @@
public abstract int getYear();
/**
- * <p>Return XML Schema 1.0 dateTime datatype field for
- * <code>year</code>.</p>
+ * Return XML Schema 1.0 dateTime datatype field for
+ * {@code year}.
*
* <p>Value constraints for this value are summarized in
- * <a href="#datetimefield-year">year field of date/time field mapping table</a>.</p>
+ * <a href="#datetimefield-year">year field of date/time field mapping table</a>.
*
- * @return sum of <code>eon</code> and <code>BigInteger.valueOf(year)</code>
- * when both fields are defined. When only <code>year</code> is defined,
- * return it. When both <code>eon</code> and <code>year</code> are not
- * defined, return <code>null</code>.
+ * @return sum of {@code eon} and {@code BigInteger.valueOf(year)}
+ * when both fields are defined. When only {@code year} is defined,
+ * return it. When both {@code eon} and {@code year} are not
+ * defined, return {@code null}.
*
* @see #getEon()
* @see #getYear()
@@ -515,21 +512,21 @@
public abstract BigInteger getEonAndYear();
/**
- * <p>Return number of month or {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * Return number of month or {@link DatatypeConstants#FIELD_UNDEFINED}.
*
* <p>Value constraints for this value are summarized in
- * <a href="#datetimefield-month">month field of date/time field mapping table</a>.</p>
+ * <a href="#datetimefield-month">month field of date/time field mapping table</a>.
*
- * @return year of this <code>XMLGregorianCalendar</code>.
+ * @return year of this {@code XMLGregorianCalendar}.
*
*/
public abstract int getMonth();
/**
- * Return day in month or {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * Return day in month or {@link DatatypeConstants#FIELD_UNDEFINED}.
*
* <p>Value constraints for this value are summarized in
- * <a href="#datetimefield-day">day field of date/time field mapping table</a>.</p>
+ * <a href="#datetimefield-day">day field of date/time field mapping table</a>.
*
* @see #setDay(int)
*/
@@ -540,7 +537,7 @@
* {@link DatatypeConstants#FIELD_UNDEFINED} if this optional field is not defined.
*
* <p>Value constraints for this value are summarized in
- * <a href="#datetimefield-timezone">timezone field of date/time field mapping table</a>.</p>
+ * <a href="#datetimefield-timezone">timezone field of date/time field mapping table</a>.
*
* @see #setTimezone(int)
*/
@@ -551,34 +548,34 @@
* Returns {@link DatatypeConstants#FIELD_UNDEFINED} if this field is not defined.
*
* <p>Value constraints for this value are summarized in
- * <a href="#datetimefield-hour">hour field of date/time field mapping table</a>.</p>
+ * <a href="#datetimefield-hour">hour field of date/time field mapping table</a>.
* @see #setTime(int, int, int)
*/
public abstract int getHour();
/**
- * Return minutes or {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * Return minutes or {@link DatatypeConstants#FIELD_UNDEFINED}.
* Returns {@link DatatypeConstants#FIELD_UNDEFINED} if this field is not defined.
*
* <p>Value constraints for this value are summarized in
- * <a href="#datetimefield-minute">minute field of date/time field mapping table</a>.</p>
+ * <a href="#datetimefield-minute">minute field of date/time field mapping table</a>.
* @see #setTime(int, int, int)
*/
public abstract int getMinute();
/**
- * <p>Return seconds or {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * Return seconds or {@link DatatypeConstants#FIELD_UNDEFINED}.
*
* <p>Returns {@link DatatypeConstants#FIELD_UNDEFINED} if this field is not defined.
* When this field is not defined, the optional xs:dateTime
* fractional seconds field, represented by
* {@link #getFractionalSecond()} and {@link #getMillisecond()},
- * must not be defined.</p>
+ * must not be defined.
*
* <p>Value constraints for this value are summarized in
- * <a href="#datetimefield-second">second field of date/time field mapping table</a>.</p>
+ * <a href="#datetimefield-second">second field of date/time field mapping table</a>.
*
- * @return Second of this <code>XMLGregorianCalendar</code>.
+ * @return Second of this {@code XMLGregorianCalendar}.
*
* @see #getFractionalSecond()
* @see #getMillisecond()
@@ -587,20 +584,20 @@
public abstract int getSecond();
/**
- * <p>Return millisecond precision of {@link #getFractionalSecond()}.</p>
+ * Return millisecond precision of {@link #getFractionalSecond()}.
*
* <p>This method represents a convenience accessor to infinite
* precision fractional second value returned by
* {@link #getFractionalSecond()}. The returned value is the rounded
* down to milliseconds value of
* {@link #getFractionalSecond()}. When {@link #getFractionalSecond()}
- * returns <code>null</code>, this method must return
- * {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * returns {@code null}, this method must return
+ * {@link DatatypeConstants#FIELD_UNDEFINED}.
*
* <p>Value constraints for this value are summarized in
- * <a href="#datetimefield-second">second field of date/time field mapping table</a>.</p>
+ * <a href="#datetimefield-second">second field of date/time field mapping table</a>.
*
- * @return Millisecond of this <code>XMLGregorianCalendar</code>.
+ * @return Millisecond of this {@code XMLGregorianCalendar}.
*
* @see #getFractionalSecond()
* @see #setTime(int, int, int)
@@ -618,18 +615,18 @@
}
/**
- * <p>Return fractional seconds.</p>
+ * Return fractional seconds.
*
- * <p><code>null</code> is returned when this optional field is not defined.</p>
+ * <p>{@code null} is returned when this optional field is not defined.
*
* <p>Value constraints are detailed in
- * <a href="#datetimefield-second">second field of date/time field mapping table</a>.</p>
+ * <a href="#datetimefield-second">second field of date/time field mapping table</a>.
*
* <p>This optional field can only have a defined value when the
* xs:dateTime second field, represented by {@link #getSecond()},
- * does not return {@link DatatypeConstants#FIELD_UNDEFINED}.</p>
+ * does not return {@link DatatypeConstants#FIELD_UNDEFINED}.
*
- * @return fractional seconds of this <code>XMLGregorianCalendar</code>.
+ * @return fractional seconds of this {@code XMLGregorianCalendar}.
*
* @see #getSecond()
* @see #setTime(int, int, int, BigDecimal)
@@ -638,51 +635,51 @@
// comparisons
/**
- * <p>Compare two instances of W3C XML Schema 1.0 date/time datatypes
+ * Compare two instances of W3C XML Schema 1.0 date/time datatypes
* according to partial order relation defined in
* <a href="http://www.w3.org/TR/xmlschema-2/#dateTime-order">W3C XML Schema 1.0 Part 2, Section 3.2.7.3,
- * <i>Order relation on dateTime</i></a>.</p>
+ * <i>Order relation on dateTime</i></a>.
*
- * <p><code>xsd:dateTime</code> datatype field mapping to accessors of
+ * <p>{@code xsd:dateTime} datatype field mapping to accessors of
* this class are defined in
- * <a href="#datetimefieldmapping">date/time field mapping table</a>.</p>
+ * <a href="#datetimefieldmapping">date/time field mapping table</a>.
*
- * @param xmlGregorianCalendar Instance of <code>XMLGregorianCalendar</code> to compare
+ * @param xmlGregorianCalendar Instance of {@code XMLGregorianCalendar} to compare
*
- * @return The relationship between <code>this</code> <code>XMLGregorianCalendar</code> and
- * the specified <code>xmlGregorianCalendar</code> as
+ * @return The relationship between {@code this} {@code XMLGregorianCalendar} and
+ * the specified {@code xmlGregorianCalendar} as
* {@link DatatypeConstants#LESSER},
* {@link DatatypeConstants#EQUAL},
* {@link DatatypeConstants#GREATER} or
* {@link DatatypeConstants#INDETERMINATE}.
*
- * @throws NullPointerException if <code>xmlGregorianCalendar</code> is null.
+ * @throws NullPointerException if {@code xmlGregorianCalendar} is null.
*/
public abstract int compare(XMLGregorianCalendar xmlGregorianCalendar);
/**
- * <p>Normalize this instance to UTC.</p>
+ * Normalize this instance to UTC.
*
- * <p>2000-03-04T23:00:00+03:00 normalizes to 2000-03-04T20:00:00Z</p>
- * <p>Implements W3C XML Schema Part 2, Section 3.2.7.3 (A).</p>
+ * <p>2000-03-04T23:00:00+03:00 normalizes to 2000-03-04T20:00:00Z
+ * <p>Implements W3C XML Schema Part 2, Section 3.2.7.3 (A).
*
- * @return <code>this</code> <code>XMLGregorianCalendar</code> normalized to UTC.
+ * @return {@code this} {@code XMLGregorianCalendar} normalized to UTC.
*/
public abstract XMLGregorianCalendar normalize();
/**
- * <p>Compares this calendar to the specified object. The result is
- * <code>true</code> if and only if the argument is not null and is an
- * <code>XMLGregorianCalendar</code> object that represents the same
- * instant in time as this object.</p>
+ * Compares this calendar to the specified object. The result is
+ * {@code true} if and only if the argument is not null and is an
+ * {@code XMLGregorianCalendar} object that represents the same
+ * instant in time as this object.
*
* @param obj to compare.
*
- * @return <code>true</code> when <code>obj</code> is an instance of
- * <code>XMLGregorianCalendar</code> and
+ * @return {@code true} when {@code obj} is an instance of
+ * {@code XMLGregorianCalendar} and
* {@link #compare(XMLGregorianCalendar obj)}
* returns {@link DatatypeConstants#EQUAL},
- * otherwise <code>false</code>.
+ * otherwise {@code false}.
*/
public boolean equals(Object obj) {
@@ -693,7 +690,7 @@
}
/**
- * <p>Returns a hash code consistent with the definition of the equals method.</p>
+ * Returns a hash code consistent with the definition of the equals method.
*
* @return hash code of this object.
*/
@@ -721,15 +718,15 @@
}
/**
- * <p>Return the lexical representation of <code>this</code> instance.
+ * Return the lexical representation of {@code this} instance.
* The format is specified in
* <a href="http://www.w3.org/TR/xmlschema-2/#dateTime-order">XML Schema 1.0 Part 2, Section 3.2.[7-14].1,
- * <i>Lexical Representation</i>".</a></p>
+ * <i>Lexical Representation</i>".</a>
*
* <p>Specific target lexical representation format is determined by
- * {@link #getXMLSchemaType()}.</p>
+ * {@link #getXMLSchemaType()}.
*
- * @return XML, as <code>String</code>, representation of this <code>XMLGregorianCalendar</code>
+ * @return XML, as {@code String}, representation of this {@code XMLGregorianCalendar}
*
* @throws IllegalStateException if the combination of set fields
* does not match one of the eight defined XML Schema builtin date/time datatypes.
@@ -737,14 +734,14 @@
public abstract String toXMLFormat();
/**
- * <p>Return the name of the XML Schema date/time type that this instance
- * maps to. Type is computed based on fields that are set.</p>
+ * Return the name of the XML Schema date/time type that this instance
+ * maps to. Type is computed based on fields that are set.
*
* <table border="2" rules="all" cellpadding="2">
* <thead>
* <tr>
* <th align="center" colspan="7">
- * Required fields for XML Schema 1.0 Date/Time Datatypes.<br/>
+ * Required fields for XML Schema 1.0 Date/Time Datatypes.<br>
* <i>(timezone is optional for all date/time datatypes)</i>
* </th>
* </tr>
@@ -850,11 +847,11 @@
public abstract QName getXMLSchemaType();
/**
- * <p>Returns a <code>String</code> representation of this <code>XMLGregorianCalendar</code> <code>Object</code>.</p>
+ * Returns a {@code String} representation of this {@code XMLGregorianCalendar} {@code Object}.
*
- * <p>The result is a lexical representation generated by {@link #toXMLFormat()}.</p>
+ * <p>The result is a lexical representation generated by {@link #toXMLFormat()}.
*
- * @return A non-<code>null</code> valid <code>String</code> representation of this <code>XMLGregorianCalendar</code>.
+ * @return A non-{@code null} valid {@code String} representation of this {@code XMLGregorianCalendar}.
*
* @throws IllegalStateException if the combination of set fields
* does not match one of the eight defined XML Schema builtin date/time datatypes.
@@ -867,89 +864,89 @@
}
/**
- * Validate instance by <code>getXMLSchemaType()</code> constraints.
+ * Validate instance by {@code getXMLSchemaType()} constraints.
* @return true if data values are valid.
*/
public abstract boolean isValid();
/**
- * <p>Add <code>duration</code> to this instance.</p>
+ * Add {@code duration} to this instance.
*
* <p>The computation is specified in
* <a href="http://www.w3.org/TR/xmlschema-2/#adding-durations-to-dateTimes">XML Schema 1.0 Part 2, Appendix E,
- * <i>Adding durations to dateTimes</i>></a>.
+ * <i>Adding durations to dateTimes</i></a>.
* <a href="#datetimefieldmapping">date/time field mapping table</a>
- * defines the mapping from XML Schema 1.0 <code>dateTime</code> fields
- * to this class' representation of those fields.</p>
+ * defines the mapping from XML Schema 1.0 {@code dateTime} fields
+ * to this class' representation of those fields.
*
- * @param duration Duration to add to this <code>XMLGregorianCalendar</code>.
+ * @param duration Duration to add to this {@code XMLGregorianCalendar}.
*
- * @throws NullPointerException when <code>duration</code> parameter is <code>null</code>.
+ * @throws NullPointerException when {@code duration} parameter is {@code null}.
*/
public abstract void add(Duration duration);
/**
- * <p>Convert this <code>XMLGregorianCalendar</code> to a {@link GregorianCalendar}.</p>
+ * Convert this {@code XMLGregorianCalendar} to a {@link GregorianCalendar}.
*
- * <p>When <code>this</code> instance has an undefined field, this
- * conversion relies on the <code>java.util.GregorianCalendar</code> default
+ * <p>When {@code this} instance has an undefined field, this
+ * conversion relies on the {@code java.util.GregorianCalendar} default
* for its corresponding field. A notable difference between
- * XML Schema 1.0 date/time datatypes and <code>java.util.GregorianCalendar</code>
+ * XML Schema 1.0 date/time datatypes and {@code java.util.GregorianCalendar}
* is that Timezone value is optional for date/time datatypes and it is
- * a required field for <code>java.util.GregorianCalendar</code>. See javadoc
- * for <code>java.util.TimeZone.getDefault()</code> on how the default
- * is determined. To explicitly specify the <code>TimeZone</code>
+ * a required field for {@code java.util.GregorianCalendar}. See javadoc
+ * for {@code java.util.TimeZone.getDefault()} on how the default
+ * is determined. To explicitly specify the {@code TimeZone}
* instance, see
- * {@link #toGregorianCalendar(TimeZone, Locale, XMLGregorianCalendar)}.</p>
+ * {@link #toGregorianCalendar(TimeZone, Locale, XMLGregorianCalendar)}.
*
* <table border="2" rules="all" cellpadding="2">
* <thead>
* <tr>
* <th align="center" colspan="2">
* Field by Field Conversion from this class to
- * <code>java.util.GregorianCalendar</code>
+ * {@code java.util.GregorianCalendar}
* </th>
* </tr>
* </thead>
* <tbody>
* <tr>
- * <td><code>java.util.GregorianCalendar</code> field</td>
- * <td><code>javax.xml.datatype.XMLGregorianCalendar</code> field</td>
+ * <td>{@code java.util.GregorianCalendar} field</td>
+ * <td>{@code javax.xml.datatype.XMLGregorianCalendar} field</td>
* </tr>
* <tr>
- * <td><code>ERA</code></td>
- * <td>{@link #getEonAndYear()}<code>.signum() < 0 ? GregorianCalendar.BC : GregorianCalendar.AD</code></td>
+ * <td>{@code ERA}</td>
+ * <td>{@link #getEonAndYear()}{@code .signum() < 0 ? GregorianCalendar.BC : GregorianCalendar.AD}</td>
* </tr>
* <tr>
- * <td><code>YEAR</code></td>
- * <td>{@link #getEonAndYear()}<code>.abs().intValue()</code><i>*</i></td>
+ * <td>{@code YEAR}</td>
+ * <td>{@link #getEonAndYear()}{@code .abs().intValue()}<i>*</i></td>
* </tr>
* <tr>
- * <td><code>MONTH</code></td>
+ * <td>{@code MONTH}</td>
* <td>{@link #getMonth()} - {@link DatatypeConstants#JANUARY} + {@link GregorianCalendar#JANUARY}</td>
* </tr>
* <tr>
- * <td><code>DAY_OF_MONTH</code></td>
+ * <td>{@code DAY_OF_MONTH}</td>
* <td>{@link #getDay()}</td>
* </tr>
* <tr>
- * <td><code>HOUR_OF_DAY</code></td>
+ * <td>{@code HOUR_OF_DAY}</td>
* <td>{@link #getHour()}</td>
* </tr>
* <tr>
- * <td><code>MINUTE</code></td>
+ * <td>{@code MINUTE}</td>
* <td>{@link #getMinute()}</td>
* </tr>
* <tr>
- * <td><code>SECOND</code></td>
+ * <td>{@code SECOND}</td>
* <td>{@link #getSecond()}</td>
* </tr>
* <tr>
- * <td><code>MILLISECOND</code></td>
+ * <td>{@code MILLISECOND}</td>
* <td>get millisecond order from {@link #getFractionalSecond()}<i>*</i> </td>
* </tr>
* <tr>
- * <td><code>GregorianCalendar.setTimeZone(TimeZone)</code></td>
+ * <td>{@code GregorianCalendar.setTimeZone(TimeZone)}</td>
* <td>{@link #getTimezone()} formatted into Custom timezone id</td>
* </tr>
* </tbody>
@@ -958,74 +955,74 @@
* to source datatype having higher precision than target datatype.
*
* <p>To ensure consistency in conversion implementations, the new
- * <code>GregorianCalendar</code> should be instantiated in following
+ * {@code GregorianCalendar} should be instantiated in following
* manner.
* <ul>
- * <li>Using <code>timeZone</code> value as defined above, create a new
- * <code>java.util.GregorianCalendar(timeZone,Locale.getDefault())</code>.
+ * <li>Using {@code timeZone} value as defined above, create a new
+ * {@code java.util.GregorianCalendar(timeZone,Locale.getDefault())}.
* </li>
* <li>Initialize all GregorianCalendar fields by calling {@link java.util.GregorianCalendar#clear()}.</li>
* <li>Obtain a pure Gregorian Calendar by invoking
- * <code>GregorianCalendar.setGregorianChange(
- * new Date(Long.MIN_VALUE))</code>.</li>
+ * {@code GregorianCalendar.setGregorianChange(
+ * new Date(Long.MIN_VALUE))}.</li>
* <li>Its fields ERA, YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY,
* MINUTE, SECOND and MILLISECOND are set using the method
- * <code>Calendar.set(int,int)</code></li>
+ * {@code Calendar.set(int,int)}</li>
* </ul>
- * </p>
*
* @see #toGregorianCalendar(java.util.TimeZone, java.util.Locale, XMLGregorianCalendar)
*/
public abstract GregorianCalendar toGregorianCalendar();
/**
- * <p>Convert this <code>XMLGregorianCalendar</code> along with provided parameters
- * to a {@link GregorianCalendar} instance.</p>
+ * Convert this {@code XMLGregorianCalendar} along with provided parameters
+ * to a {@link GregorianCalendar} instance.
*
* <p> Since XML Schema 1.0 date/time datetypes has no concept of
* timezone ids or daylight savings timezone ids, this conversion operation
* allows the user to explicitly specify one with
- * <code>timezone</code> parameter.</p>
+ * {@code timezone} parameter.
*
- * <p>To compute the return value's <code>TimeZone</code> field,
+ * <p>To compute the return value's {@code TimeZone} field,
* <ul>
- * <li>when parameter <code>timeZone</code> is non-null,
+ * <li>when parameter {@code timeZone} is non-null,
* it is the timezone field.</li>
- * <li>else when <code>this.getTimezone() != FIELD_UNDEFINED</code>,
- * create a <code>java.util.TimeZone</code> with a custom timezone id
- * using the <code>this.getTimezone()</code>.</li>
- * <li>else when <code>defaults.getTimezone() != FIELD_UNDEFINED</code>,
- * create a <code>java.util.TimeZone</code> with a custom timezone id
- * using <code>defaults.getTimezone()</code>.</li>
- * <li>else use the <code>GregorianCalendar</code> default timezone value
+ * <li>else when {@code this.getTimezone() != FIELD_UNDEFINED},
+ * create a {@code java.util.TimeZone} with a custom timezone id
+ * using the {@code this.getTimezone()}.</li>
+ * <li>else when {@code defaults.getTimezone() != FIELD_UNDEFINED},
+ * create a {@code java.util.TimeZone} with a custom timezone id
+ * using {@code defaults.getTimezone()}.</li>
+ * <li>else use the {@code GregorianCalendar} default timezone value
* for the host is defined as specified by
- * <code>java.util.TimeZone.getDefault()</code>.</li></p>
+ * {@code java.util.TimeZone.getDefault()}.</li>
+ * </ul>
*
* <p>To ensure consistency in conversion implementations, the new
- * <code>GregorianCalendar</code> should be instantiated in following
+ * {@code GregorianCalendar} should be instantiated in following
* manner.
* <ul>
- * <li>Create a new <code>java.util.GregorianCalendar(TimeZone,
- * Locale)</code> with TimeZone set as specified above and the
- * <code>Locale</code> parameter.
+ * <li>Create a new {@code java.util.GregorianCalendar(TimeZone,
+ * Locale)} with TimeZone set as specified above and the
+ * {@code Locale} parameter.
* </li>
* <li>Initialize all GregorianCalendar fields by calling {@link GregorianCalendar#clear()}</li>
* <li>Obtain a pure Gregorian Calendar by invoking
- * <code>GregorianCalendar.setGregorianChange(
- * new Date(Long.MIN_VALUE))</code>.</li>
+ * {@code GregorianCalendar.setGregorianChange(
+ * new Date(Long.MIN_VALUE))}.</li>
* <li>Its fields ERA, YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY,
* MINUTE, SECOND and MILLISECOND are set using the method
- * <code>Calendar.set(int,int)</code></li>
+ * {@code Calendar.set(int,int)}</li>
* </ul>
*
- * @param timezone provide Timezone. <code>null</code> is a legal value.
+ * @param timezone provide Timezone. {@code null} is a legal value.
* @param aLocale provide explicit Locale. Use default GregorianCalendar locale if
- * value is <code>null</code>.
+ * value is {@code null}.
* @param defaults provide default field values to use when corresponding
* field for this instance is FIELD_UNDEFINED or null.
- * If <code>defaults</code>is <code>null</code> or a field
- * within the specified <code>defaults</code> is undefined,
- * just use <code>java.util.GregorianCalendar</code> defaults.
+ * If {@code defaults}is {@code null} or a field
+ * within the specified {@code defaults} is undefined,
+ * just use {@code java.util.GregorianCalendar} defaults.
* @return a java.util.GregorianCalendar conversion of this instance.
*/
public abstract GregorianCalendar toGregorianCalendar(
@@ -1034,7 +1031,7 @@
XMLGregorianCalendar defaults);
/**
- * <p>Returns a <code>java.util.TimeZone</code> for this class.</p>
+ * Returns a {@code java.util.TimeZone} for this class.
*
* <p>If timezone field is defined for this instance,
* returns TimeZone initialized with custom timezone id
@@ -1042,7 +1039,7 @@
* try the defaultZoneoffset that was passed in.
* If defaultZoneoffset is FIELD_UNDEFINED, return
* default timezone for this host.
- * (Same default as java.util.GregorianCalendar).</p>
+ * (Same default as java.util.GregorianCalendar).
*
* @param defaultZoneoffset default zoneoffset if this zoneoffset is
* {@link DatatypeConstants#FIELD_UNDEFINED}.
@@ -1054,9 +1051,9 @@
/**
- * <p>Creates and returns a copy of this object.</p>
+ * Creates and returns a copy of this object.
*
- * @return copy of this <code>Object</code>
+ * @return copy of this {@code Object}
*/
public abstract Object clone();
}
--- a/jaxp/src/java.xml/share/classes/javax/xml/namespace/NamespaceContext.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/namespace/NamespaceContext.java Mon Apr 27 09:17:39 2015 -0700
@@ -28,44 +28,44 @@
import java.util.Iterator;
/**
- * <p>Interface for read only XML Namespace context processing.</p>
+ * Interface for read only XML Namespace context processing.
*
- * <p>An XML Namespace has the properties:</p>
+ * <p>An XML Namespace has the properties:
* <ul>
* <li>Namespace URI:
* Namespace name expressed as a URI to which the prefix is bound</li>
* <li>prefix: syntactically, this is the part of the attribute name
- * following the <code>XMLConstants.XMLNS_ATTRIBUTE</code>
+ * following the {@code XMLConstants.XMLNS_ATTRIBUTE}
* ("xmlns") in the Namespace declaration</li>
* </ul>
* <p>example:
- * <code><element xmlns:prefix="http://Namespace-name-URI"></code></p>
+ * {@code <element xmlns:prefix="http://Namespace-name-URI">}
*
- * <p>All <code>get*(*)</code> methods operate in the current scope
- * for Namespace URI and prefix resolution.</p>
+ * <p>All {@code get*(*)} methods operate in the current scope
+ * for Namespace URI and prefix resolution.
*
* <p>Note that a Namespace URI can be bound to
* <strong>multiple</strong> prefixes in the current scope. This can
- * occur when multiple <code>XMLConstants.XMLNS_ATTRIBUTE</code>
+ * occur when multiple {@code XMLConstants.XMLNS_ATTRIBUTE}
* ("xmlns") Namespace declarations occur in the same Start-Tag and
- * refer to the same Namespace URI. e.g.<br />
- * <pre>
- * <element xmlns:prefix1="http://Namespace-name-URI"
- * xmlns:prefix2="http://Namespace-name-URI">
+ * refer to the same Namespace URI. e.g.<br>
+ * <pre> {@code
+ * <element xmlns:prefix1="http://Namespace-name-URI"
+ * xmlns:prefix2="http://Namespace-name-URI"> }
* </pre>
* This can also occur when the same Namespace URI is used in multiple
- * <code>XMLConstants.XMLNS_ATTRIBUTE</code> ("xmlns") Namespace
- * declarations in the logical parent element hierarchy. e.g.<br />
- * <pre>
- * <parent xmlns:prefix1="http://Namespace-name-URI">
- * <child xmlns:prefix2="http://Namespace-name-URI">
+ * {@code XMLConstants.XMLNS_ATTRIBUTE} ("xmlns") Namespace
+ * declarations in the logical parent element hierarchy. e.g.<br>
+ * <pre> {@code
+ * <parent xmlns:prefix1="http://Namespace-name-URI">
+ * <child xmlns:prefix2="http://Namespace-name-URI">
* ...
- * </child>
- * </parent>
- * </pre></p>
+ * </child>
+ * </parent> }
+ * </pre>
*
* <p>A prefix can only be bound to a <strong>single</strong>
- * Namespace URI in the current scope.</p>
+ * Namespace URI in the current scope.
*
* @author <a href="mailto:Jeff.Suttor@Sun.com">Jeff Suttor</a>
* @see javax.xml.XMLConstants
@@ -82,17 +82,17 @@
public interface NamespaceContext {
/**
- * <p>Get Namespace URI bound to a prefix in the current scope.</p>
+ * Get Namespace URI bound to a prefix in the current scope.
*
* <p>When requesting a Namespace URI by prefix, the following
* table describes the returned Namespace URI value for all
- * possible prefix values:</p>
+ * possible prefix values:
*
* <table border="2" rules="all" cellpadding="4">
* <thead>
* <tr>
* <td align="center" colspan="2">
- * <code>getNamespaceURI(prefix)</code>
+ * {@code getNamespaceURI(prefix)}
* return value for specified prefixes
* </td>
* </tr>
@@ -103,9 +103,9 @@
* </thead>
* <tbody>
* <tr>
- * <td><code>DEFAULT_NS_PREFIX</code> ("")</td>
+ * <td>{@code DEFAULT_NS_PREFIX} ("")</td>
* <td>default Namespace URI in the current scope or
- * <code>{@link
+ * <code> {@link
* javax.xml.XMLConstants#NULL_NS_URI XMLConstants.NULL_NS_URI("")}
* </code>
* when there is no default Namespace URI in the current scope</td>
@@ -117,24 +117,24 @@
* <tr>
* <td>unbound prefix</td>
* <td>
- * <code>{@link
+ * <code> {@link
* javax.xml.XMLConstants#NULL_NS_URI XMLConstants.NULL_NS_URI("")}
* </code>
* </td>
* </tr>
* <tr>
- * <td><code>XMLConstants.XML_NS_PREFIX</code> ("xml")</td>
- * <td><code>XMLConstants.XML_NS_URI</code>
+ * <td>{@code XMLConstants.XML_NS_PREFIX} ("xml")</td>
+ * <td>{@code XMLConstants.XML_NS_URI}
* ("http://www.w3.org/XML/1998/namespace")</td>
* </tr>
* <tr>
- * <td><code>XMLConstants.XMLNS_ATTRIBUTE</code> ("xmlns")</td>
- * <td><code>XMLConstants.XMLNS_ATTRIBUTE_NS_URI</code>
+ * <td>{@code XMLConstants.XMLNS_ATTRIBUTE} ("xmlns")</td>
+ * <td>{@code XMLConstants.XMLNS_ATTRIBUTE_NS_URI}
* ("http://www.w3.org/2000/xmlns/")</td>
* </tr>
* <tr>
- * <td><code>null</code></td>
- * <td><code>IllegalArgumentException</code> is thrown</td>
+ * <td>{@code null}</td>
+ * <td>{@code IllegalArgumentException} is thrown</td>
* </tr>
* </tbody>
* </table>
@@ -143,26 +143,26 @@
*
* @return Namespace URI bound to prefix in the current scope
*
- * @throws IllegalArgumentException When <code>prefix</code> is
- * <code>null</code>
+ * @throws IllegalArgumentException When {@code prefix} is
+ * {@code null}
*/
String getNamespaceURI(String prefix);
/**
- * <p>Get prefix bound to Namespace URI in the current scope.</p>
+ * Get prefix bound to Namespace URI in the current scope.
*
* <p>To get all prefixes bound to a Namespace URI in the current
- * scope, use {@link #getPrefixes(String namespaceURI)}.</p>
+ * scope, use {@link #getPrefixes(String namespaceURI)}.
*
* <p>When requesting a prefix by Namespace URI, the following
* table describes the returned prefix value for all Namespace URI
- * values:</p>
+ * values:
*
* <table border="2" rules="all" cellpadding="4">
* <thead>
* <tr>
* <th align="center" colspan="2">
- * <code>getPrefix(namespaceURI)</code> return value for
+ * {@code getPrefix(namespaceURI)} return value for
* specified Namespace URIs
* </th>
* </tr>
@@ -173,8 +173,8 @@
* </thead>
* <tbody>
* <tr>
- * <td><default Namespace URI></td>
- * <td><code>XMLConstants.DEFAULT_NS_PREFIX</code> ("")
+ * <td>{@code <default Namespace URI>}</td>
+ * <td>{@code XMLConstants.DEFAULT_NS_PREFIX} ("")
* </td>
* </tr>
* <tr>
@@ -186,21 +186,21 @@
* </tr>
* <tr>
* <td>unbound Namespace URI</td>
- * <td><code>null</code></td>
+ * <td>{@code null}</td>
* </tr>
* <tr>
- * <td><code>XMLConstants.XML_NS_URI</code>
+ * <td>{@code XMLConstants.XML_NS_URI}
* ("http://www.w3.org/XML/1998/namespace")</td>
- * <td><code>XMLConstants.XML_NS_PREFIX</code> ("xml")</td>
+ * <td>{@code XMLConstants.XML_NS_PREFIX} ("xml")</td>
* </tr>
* <tr>
- * <td><code>XMLConstants.XMLNS_ATTRIBUTE_NS_URI</code>
+ * <td>{@code XMLConstants.XMLNS_ATTRIBUTE_NS_URI}
* ("http://www.w3.org/2000/xmlns/")</td>
- * <td><code>XMLConstants.XMLNS_ATTRIBUTE</code> ("xmlns")</td>
+ * <td>{@code XMLConstants.XMLNS_ATTRIBUTE} ("xmlns")</td>
* </tr>
* <tr>
- * <td><code>null</code></td>
- * <td><code>IllegalArgumentException</code> is thrown</td>
+ * <td>{@code null}</td>
+ * <td>{@code IllegalArgumentException} is thrown</td>
* </tr>
* </tbody>
* </table>
@@ -209,32 +209,32 @@
*
* @return prefix bound to Namespace URI in current context
*
- * @throws IllegalArgumentException When <code>namespaceURI</code> is
- * <code>null</code>
+ * @throws IllegalArgumentException When {@code namespaceURI} is
+ * {@code null}
*/
String getPrefix(String namespaceURI);
/**
- * <p>Get all prefixes bound to a Namespace URI in the current
- * scope.</p>
+ * Get all prefixes bound to a Namespace URI in the current
+ * scope.
*
* <p>An Iterator over String elements is returned in an arbitrary,
- * <strong>implementation dependent</strong>, order.</p>
+ * <strong>implementation dependent</strong>, order.
*
- * <p><strong>The <code>Iterator</code> is
+ * <p><strong>The {@code Iterator} is
* <em>not</em> modifiable. e.g. the
- * <code>remove()</code> method will throw
- * <code>UnsupportedOperationException</code>.</strong></p>
+ * {@code remove()} method will throw
+ * {@code UnsupportedOperationException}.</strong>
*
* <p>When requesting prefixes by Namespace URI, the following
* table describes the returned prefixes value for all Namespace
- * URI values:</p>
+ * URI values:
*
* <table border="2" rules="all" cellpadding="4">
* <thead>
* <tr>
- * <th align="center" colspan="2"><code>
- * getPrefixes(namespaceURI)</code> return value for
+ * <th align="center" colspan="2">{@code
+ * getPrefixes(namespaceURI)} return value for
* specified Namespace URIs</th>
* </tr>
* <tr>
@@ -245,9 +245,9 @@
* <tbody>
* <tr>
* <td>bound Namespace URI,
- * including the <default Namespace URI></td>
+ * including the {@code <default Namespace URI>}</td>
* <td>
- * <code>Iterator</code> over prefixes bound to Namespace URI in
+ * {@code Iterator} over prefixes bound to Namespace URI in
* the current scope in an arbitrary,
* <strong>implementation dependent</strong>,
* order
@@ -255,34 +255,34 @@
* </tr>
* <tr>
* <td>unbound Namespace URI</td>
- * <td>empty <code>Iterator</code></td>
+ * <td>empty {@code Iterator}</td>
* </tr>
* <tr>
- * <td><code>XMLConstants.XML_NS_URI</code>
+ * <td>{@code XMLConstants.XML_NS_URI}
* ("http://www.w3.org/XML/1998/namespace")</td>
- * <td><code>Iterator</code> with one element set to
- * <code>XMLConstants.XML_NS_PREFIX</code> ("xml")</td>
+ * <td>{@code Iterator} with one element set to
+ * {@code XMLConstants.XML_NS_PREFIX} ("xml")</td>
* </tr>
* <tr>
- * <td><code>XMLConstants.XMLNS_ATTRIBUTE_NS_URI</code>
+ * <td>{@code XMLConstants.XMLNS_ATTRIBUTE_NS_URI}
* ("http://www.w3.org/2000/xmlns/")</td>
- * <td><code>Iterator</code> with one element set to
- * <code>XMLConstants.XMLNS_ATTRIBUTE</code> ("xmlns")</td>
+ * <td>{@code Iterator} with one element set to
+ * {@code XMLConstants.XMLNS_ATTRIBUTE} ("xmlns")</td>
* </tr>
* <tr>
- * <td><code>null</code></td>
- * <td><code>IllegalArgumentException</code> is thrown</td>
+ * <td>{@code null}</td>
+ * <td>{@code IllegalArgumentException} is thrown</td>
* </tr>
* </tbody>
* </table>
*
* @param namespaceURI URI of Namespace to lookup
*
- * @return <code>Iterator</code> for all prefixes bound to the
+ * @return {@code Iterator} for all prefixes bound to the
* Namespace URI in the current scope
*
- * @throws IllegalArgumentException When <code>namespaceURI</code> is
- * <code>null</code>
+ * @throws IllegalArgumentException When {@code namespaceURI} is
+ * {@code null}
*/
Iterator getPrefixes(String namespaceURI);
}
--- a/jaxp/src/java.xml/share/classes/javax/xml/parsers/DocumentBuilderFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/parsers/DocumentBuilderFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -47,8 +47,8 @@
private boolean coalescing = false;
/**
- * <p>Protected constructor to prevent instantiation.
- * Use {@link #newInstance()}.</p>
+ * Protected constructor to prevent instantiation.
+ * Use {@link #newInstance()}.
*/
protected DocumentBuilderFactory () {
}
@@ -60,7 +60,6 @@
* This method uses the following ordered lookup procedure to determine
* the {@code DocumentBuilderFactory} implementation class to
* load:
- * <p>
* <ul>
* <li>
* Use the {@code javax.xml.parsers.DocumentBuilderFactory} system
@@ -131,7 +130,7 @@
}
/**
- * <p>Obtain a new instance of a {@code DocumentBuilderFactory} from class name.
+ * Obtain a new instance of a {@code DocumentBuilderFactory} from class name.
* This function is useful when there are multiple providers in the classpath.
* It gives more control to the application as it can specify which provider
* should be loaded.
@@ -143,21 +142,22 @@
* <h2>Tip for Trouble-shooting</h2>
* <p>Setting the {@code jaxp.debug} system property will cause
* this method to print a lot of debug messages
- * to {@code System.err} about what it is doing and where it is looking at.</p>
+ * to {@code System.err} about what it is doing and where it is looking at.
*
- * <p> If you have problems try:</p>
+ * <p> If you have problems try:
* <pre>
* java -Djaxp.debug=1 YourProgram ....
* </pre>
*
- * @param factoryClassName fully qualified factory class name that provides implementation of {@code javax.xml.parsers.DocumentBuilderFactory}.
+ * @param factoryClassName fully qualified factory class name that provides
+ * implementation of {@code javax.xml.parsers.DocumentBuilderFactory}.
*
- * @param classLoader <code>ClassLoader</code> used to load the factory class. If <code>null</code>
- * current <code>Thread</code>'s context classLoader is used to load the factory class.
+ * @param classLoader {@code ClassLoader} used to load the factory class. If {@code null}
+ * current {@code Thread}'s context classLoader is used to load the factory class.
*
* @return New instance of a {@code DocumentBuilderFactory}
*
- * @throws FactoryConfigurationError if <code>factoryClassName</code> is <code>null</code>, or
+ * @throws FactoryConfigurationError if {@code factoryClassName} is {@code null}, or
* the factory class cannot be loaded, instantiated.
*
* @see #newInstance()
@@ -187,7 +187,7 @@
/**
* Specifies that the parser produced by this code will
* provide support for XML namespaces. By default the value of this is set
- * to <code>false</code>
+ * to {@code false}
*
* @param awareness true if the parser produced will provide support
* for XML namespaces; false otherwise.
@@ -200,7 +200,7 @@
/**
* Specifies that the parser produced by this code will
* validate documents as they are parsed. By default the value of this
- * is set to <code>false</code>.
+ * is set to {@code false}.
*
* <p>
* Note that "the validation" here means
@@ -208,15 +208,13 @@
* parser</a> as defined in the XML recommendation.
* In other words, it essentially just controls the DTD validation.
* (except the legacy two properties defined in JAXP 1.2.)
- * </p>
*
* <p>
* To use modern schema languages such as W3C XML Schema or
* RELAX NG instead of DTD, you can configure your parser to be
* a non-validating parser by leaving the {@link #setValidating(boolean)}
- * method <code>false</code>, then use the {@link #setSchema(Schema)}
+ * method {@code false}, then use the {@link #setSchema(Schema)}
* method to associate a schema to a parser.
- * </p>
*
* @param validating true if the parser produced will validate documents
* as they are parsed; false otherwise.
@@ -234,7 +232,7 @@
* element content that has an element only content model (see XML
* Rec 3.2.1) will be eliminated. Due to reliance on the content model
* this setting requires the parser to be in validating mode. By default
- * the value of this is set to <code>false</code>.
+ * the value of this is set to {@code false}.
*
* @param whitespace true if the parser created must eliminate whitespace
* in the element content when parsing XML documents;
@@ -248,7 +246,7 @@
/**
* Specifies that the parser produced by this code will
* expand entity reference nodes. By default the value of this is set to
- * <code>true</code>
+ * {@code true}
*
* @param expandEntityRef true if the parser produced will expand entity
* reference nodes; false otherwise.
@@ -259,11 +257,10 @@
}
/**
- * <p>Specifies that the parser produced by this code will
- * ignore comments. By default the value of this is set to <code>false
- * </code>.</p>
+ * Specifies that the parser produced by this code will
+ * ignore comments. By default the value of this is set to {@code false}.
*
- * @param ignoreComments <code>boolean</code> value to ignore comments during processing
+ * @param ignoreComments {@code boolean} value to ignore comments during processing
*/
public void setIgnoringComments(boolean ignoreComments) {
@@ -274,7 +271,7 @@
* Specifies that the parser produced by this code will
* convert CDATA nodes to Text nodes and append it to the
* adjacent (if any) text node. By default the value of this is set to
- * <code>false</code>
+ * {@code false}
*
* @param coalescing true if the parser produced will convert CDATA nodes
* to Text nodes and append it to the adjacent (if any)
@@ -367,25 +364,23 @@
* All implementations that implement JAXP 1.5 or newer are required to
* support the {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_DTD} and
* {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_SCHEMA} properties.
- * </p>
+ *
* <ul>
* <li>
- * <p>
* Setting the {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_DTD} property
* restricts the access to external DTDs, external Entity References to the
* protocols specified by the property.
* If access is denied during parsing due to the restriction of this property,
* {@link org.xml.sax.SAXException} will be thrown by the parse methods defined by
* {@link javax.xml.parsers.DocumentBuilder}.
- * </p>
- * <p>
+ * </li>
+ * <li>
* Setting the {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_SCHEMA} property
* restricts the access to external Schema set by the schemaLocation attribute to
* the protocols specified by the property. If access is denied during parsing
* due to the restriction of this property, {@link org.xml.sax.SAXException}
* will be thrown by the parse methods defined by
* {@link javax.xml.parsers.DocumentBuilder}.
- * </p>
* </li>
* </ul>
*
@@ -413,61 +408,61 @@
throws IllegalArgumentException;
/**
- * <p>Set a feature for this {@code DocumentBuilderFactory} and <code>DocumentBuilder</code>s created by this factory.</p>
+ * Set a feature for this {@code DocumentBuilderFactory}
+ * and {@code DocumentBuilder}s created by this factory.
*
* <p>
* Feature names are fully qualified {@link java.net.URI}s.
* Implementations may define their own features.
* A {@link ParserConfigurationException} is thrown if this {@code DocumentBuilderFactory} or the
- * <code>DocumentBuilder</code>s it creates cannot support the feature.
+ * {@code DocumentBuilder}s it creates cannot support the feature.
* It is possible for a {@code DocumentBuilderFactory} to expose a feature value but be unable to change its state.
- * </p>
+ *
*
* <p>
* All implementations are required to support the {@link javax.xml.XMLConstants#FEATURE_SECURE_PROCESSING} feature.
- * When the feature is:</p>
+ * When the feature is:
* <ul>
* <li>
- * <code>true</code>: the implementation will limit XML processing to conform to implementation limits.
+ * {@code true}: the implementation will limit XML processing to conform to implementation limits.
* Examples include entity expansion limits and XML Schema constructs that would consume large amounts of resources.
* If XML processing is limited for security reasons, it will be reported via a call to the registered
* {@link org.xml.sax.ErrorHandler#fatalError(SAXParseException exception)}.
* See {@link DocumentBuilder#setErrorHandler(org.xml.sax.ErrorHandler errorHandler)}.
* </li>
* <li>
- * <code>false</code>: the implementation will processing XML according to the XML specifications without
+ * {@code false}: the implementation will processing XML according to the XML specifications without
* regard to possible implementation limits.
* </li>
* </ul>
*
* @param name Feature name.
- * @param value Is feature state <code>true</code> or <code>false</code>.
+ * @param value Is feature state {@code true} or {@code false}.
*
- * @throws ParserConfigurationException if this {@code DocumentBuilderFactory} or the <code>DocumentBuilder</code>s
+ * @throws ParserConfigurationException if this {@code DocumentBuilderFactory} or the {@code DocumentBuilder}s
* it creates cannot support this feature.
- * @throws NullPointerException If the <code>name</code> parameter is null.
+ * @throws NullPointerException If the {@code name} parameter is null.
* @since 1.5
*/
public abstract void setFeature(String name, boolean value)
throws ParserConfigurationException;
/**
- * <p>Get the state of the named feature.</p>
+ * Get the state of the named feature.
*
* <p>
* Feature names are fully qualified {@link java.net.URI}s.
* Implementations may define their own features.
* An {@link ParserConfigurationException} is thrown if this {@code DocumentBuilderFactory} or the
- * <code>DocumentBuilder</code>s it creates cannot support the feature.
+ * {@code DocumentBuilder}s it creates cannot support the feature.
* It is possible for an {@code DocumentBuilderFactory} to expose a feature value but be unable to change its state.
- * </p>
*
* @param name Feature name.
*
* @return State of the named feature.
*
* @throws ParserConfigurationException if this {@code DocumentBuilderFactory}
- * or the <code>DocumentBuilder</code>s it creates cannot support this feature.
+ * or the {@code DocumentBuilder}s it creates cannot support this feature.
* @since 1.5
*/
public abstract boolean getFeature(String name)
@@ -501,7 +496,7 @@
}
/**
- * <p>Set the {@link Schema} to be used by parsers created
+ * Set the {@link Schema} to be used by parsers created
* from this factory.
*
* <p>
@@ -529,26 +524,26 @@
*
* <p>
* This processing will take effect even if
- * the {@link #isValidating()} method returns <code>false</code>.
+ * the {@link #isValidating()} method returns {@code false}.
*
* <p>It is an error to use
- * the <code>http://java.sun.com/xml/jaxp/properties/schemaSource</code>
- * property and/or the <code>http://java.sun.com/xml/jaxp/properties/schemaLanguage</code>
+ * the {@code http://java.sun.com/xml/jaxp/properties/schemaSource}
+ * property and/or the {@code http://java.sun.com/xml/jaxp/properties/schemaLanguage}
* property in conjunction with a {@link Schema} object.
* Such configuration will cause a {@link ParserConfigurationException}
- * exception when the {@link #newDocumentBuilder()} is invoked.</p>
+ * exception when the {@link #newDocumentBuilder()} is invoked.
*
*
- * <h4>Note for implementors</h4>
+ * <h3>Note for implementors</h3>
*
* <p>
* A parser must be able to work with any {@link Schema}
* implementation. However, parsers and schemas are allowed
* to use implementation-specific custom mechanisms
* as long as they yield the result described in the specification.
- * </p>
+ *
*
- * @param schema <code>Schema</code> to use or <code>null</code>
+ * @param schema {@code Schema} to use or {@code null}
* to remove a schema.
*
* @throws UnsupportedOperationException When implementation does not
@@ -569,16 +564,16 @@
/**
- * <p>Set state of XInclude processing.</p>
+ * Set state of XInclude processing.
*
* <p>If XInclude markup is found in the document instance, should it be
* processed as specified in <a href="http://www.w3.org/TR/xinclude/">
- * XML Inclusions (XInclude) Version 1.0</a>.</p>
+ * XML Inclusions (XInclude) Version 1.0</a>.
*
- * <p>XInclude processing defaults to <code>false</code>.</p>
+ * <p>XInclude processing defaults to {@code false}.
*
- * @param state Set XInclude processing to <code>true</code> or
- * <code>false</code>
+ * @param state Set XInclude processing to {@code true} or
+ * {@code false}
*
* @throws UnsupportedOperationException When implementation does not
* override this method.
@@ -594,7 +589,7 @@
}
/**
- * <p>Get state of XInclude processing.</p>
+ * Get state of XInclude processing.
*
* @return current state of XInclude processing
*
--- a/jaxp/src/java.xml/share/classes/javax/xml/parsers/SAXParserFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/parsers/SAXParserFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -42,17 +42,17 @@
public abstract class SAXParserFactory {
/**
- * <p>Should Parsers be validating?</p>
+ * Should Parsers be validating?
*/
private boolean validating = false;
/**
- * <p>Should Parsers be namespace aware?</p>
+ * Should Parsers be namespace aware?
*/
private boolean namespaceAware = false;
/**
- * <p>Protected constructor to force use of {@link #newInstance()}.</p>
+ * Protected constructor to force use of {@link #newInstance()}.
*/
protected SAXParserFactory () {
@@ -64,7 +64,6 @@
* This method uses the following ordered lookup procedure to determine
* the {@code SAXParserFactory} implementation class to
* load:
- * <p>
* <ul>
* <li>
* Use the {@code javax.xml.parsers.SAXParserFactory} system
@@ -138,19 +137,19 @@
}
/**
- * <p>Obtain a new instance of a {@code SAXParserFactory} from class name.
+ * Obtain a new instance of a {@code SAXParserFactory} from class name.
* This function is useful when there are multiple providers in the classpath.
* It gives more control to the application as it can specify which provider
- * should be loaded.</p>
+ * should be loaded.
*
* <p>Once an application has obtained a reference to a {@code SAXParserFactory}
- * it can use the factory to configure and obtain parser instances.</p>
+ * it can use the factory to configure and obtain parser instances.
*
*
* <h2>Tip for Trouble-shooting</h2>
* <p>Setting the {@code jaxp.debug} system property will cause
* this method to print a lot of debug messages
- * to {@code System.err} about what it is doing and where it is looking at.</p>
+ * to {@code System.err} about what it is doing and where it is looking at.
*
* <p>
* If you have problems, try:
@@ -160,12 +159,12 @@
*
* @param factoryClassName fully qualified factory class name that provides implementation of {@code javax.xml.parsers.SAXParserFactory}.
*
- * @param classLoader <code>ClassLoader</code> used to load the factory class. If <code>null</code>
- * current <code>Thread</code>'s context classLoader is used to load the factory class.
+ * @param classLoader {@code ClassLoader} used to load the factory class. If {@code null}
+ * current {@code Thread}'s context classLoader is used to load the factory class.
*
* @return New instance of a {@code SAXParserFactory}
*
- * @throws FactoryConfigurationError if <code>factoryClassName</code> is <code>null</code>, or
+ * @throws FactoryConfigurationError if {@code factoryClassName} is {@code null}, or
* the factory class cannot be loaded, instantiated.
*
* @see #newInstance()
@@ -179,8 +178,8 @@
}
/**
- * <p>Creates a new instance of a SAXParser using the currently
- * configured factory parameters.</p>
+ * Creates a new instance of a SAXParser using the currently
+ * configured factory parameters.
*
* @return A new instance of a SAXParser.
*
@@ -196,7 +195,7 @@
/**
* Specifies that the parser produced by this code will
* provide support for XML namespaces. By default the value of this is set
- * to <code>false</code>.
+ * to {@code false}.
*
* @param awareness true if the parser produced by this code will
* provide support for XML namespaces; false otherwise.
@@ -209,7 +208,7 @@
/**
* Specifies that the parser produced by this code will
* validate documents as they are parsed. By default the value of this is
- * set to <code>false</code>.
+ * set to {@code false}.
*
* <p>
* Note that "the validation" here means
@@ -217,15 +216,13 @@
* parser</a> as defined in the XML recommendation.
* In other words, it essentially just controls the DTD validation.
* (except the legacy two properties defined in JAXP 1.2.)
- * </p>
*
* <p>
* To use modern schema languages such as W3C XML Schema or
* RELAX NG instead of DTD, you can configure your parser to be
* a non-validating parser by leaving the {@link #setValidating(boolean)}
- * method <code>false</code>, then use the {@link #setSchema(Schema)}
+ * method {@code false}, then use the {@link #setSchema(Schema)}
* method to associate a schema to a parser.
- * </p>
*
* @param validating true if the parser produced by this code will
* validate documents as they are parsed; false otherwise.
@@ -260,24 +257,23 @@
}
/**
- *
- * <p>Sets the particular feature in the underlying implementation of
+ * Sets the particular feature in the underlying implementation of
* org.xml.sax.XMLReader.
* A list of the core features and properties can be found at
- * <a href="http://www.saxproject.org/">http://www.saxproject.org/</a></p>
+ * <a href="http://www.saxproject.org/">http://www.saxproject.org/</a>
*
* <p>All implementations are required to support the {@link javax.xml.XMLConstants#FEATURE_SECURE_PROCESSING} feature.
- * When the feature is</p>
+ * When the feature is
* <ul>
* <li>
- * <code>true</code>: the implementation will limit XML processing to conform to implementation limits.
+ * {@code true}: the implementation will limit XML processing to conform to implementation limits.
* Examples include entity expansion limits and XML Schema constructs that would consume large amounts of resources.
* If XML processing is limited for security reasons, it will be reported via a call to the registered
* {@link org.xml.sax.ErrorHandler#fatalError(SAXParseException exception)}.
- * See {@link SAXParser} <code>parse</code> methods for handler specification.
+ * See {@link SAXParser} {@code parse} methods for handler specification.
* </li>
* <li>
- * When the feature is <code>false</code>, the implementation will processing XML according to the XML specifications without
+ * When the feature is {@code false}, the implementation will processing XML according to the XML specifications without
* regard to possible implementation limits.
* </li>
* </ul>
@@ -292,7 +288,7 @@
* @throws SAXNotSupportedException When the underlying XMLReader
* recognizes the property name but doesn't support the
* property.
- * @throws NullPointerException If the <code>name</code> parameter is null.
+ * @throws NullPointerException If the {@code name} parameter is null.
*
* @see org.xml.sax.XMLReader#setFeature
*/
@@ -302,8 +298,8 @@
/**
*
- * <p>Returns the particular property requested for in the underlying
- * implementation of org.xml.sax.XMLReader.</p>
+ * Returns the particular property requested for in the underlying
+ * implementation of org.xml.sax.XMLReader.
*
* @param name The name of the property to be retrieved.
*
@@ -347,12 +343,12 @@
}
/**
- * <p>Set the {@link Schema} to be used by parsers created
- * from this factory.</p>
+ * Set the {@link Schema} to be used by parsers created
+ * from this factory.
*
* <p>When a {@link Schema} is non-null, a parser will use a validator
* created from it to validate documents before it passes information
- * down to the application.</p>
+ * down to the application.
*
* <p>When warnings/errors/fatal errors are found by the validator, the parser must
* handle them as if those errors were found by the parser itself.
@@ -364,29 +360,28 @@
* <p>A validator may modify the SAX event stream (for example by
* adding default values that were missing in documents), and a parser
* is responsible to make sure that the application will receive
- * those modified event stream.</p>
+ * those modified event stream.
*
- * <p>Initially, <code>null</code> is set as the {@link Schema}.</p>
+ * <p>Initially, {@code null} is set as the {@link Schema}.
*
* <p>This processing will take effect even if
- * the {@link #isValidating()} method returns <code>false</code>.
+ * the {@link #isValidating()} method returns {@code false}.
*
* <p>It is an error to use
- * the <code>http://java.sun.com/xml/jaxp/properties/schemaSource</code>
- * property and/or the <code>http://java.sun.com/xml/jaxp/properties/schemaLanguage</code>
+ * the {@code http://java.sun.com/xml/jaxp/properties/schemaSource}
+ * property and/or the {@code http://java.sun.com/xml/jaxp/properties/schemaLanguage}
* property in conjunction with a non-null {@link Schema} object.
* Such configuration will cause a {@link SAXException}
- * exception when those properties are set on a {@link SAXParser}.</p>
+ * exception when those properties are set on a {@link SAXParser}.
*
- * <h4>Note for implementors</h4>
+ * <h3>Note for implementors</h3>
* <p>
* A parser must be able to work with any {@link Schema}
* implementation. However, parsers and schemas are allowed
* to use implementation-specific custom mechanisms
* as long as they yield the result described in the specification.
- * </p>
*
- * @param schema <code>Schema</code> to use, <code>null</code> to remove a schema.
+ * @param schema {@code Schema} to use, {@code null} to remove a schema.
*
* @throws UnsupportedOperationException When implementation does not
* override this method
@@ -404,16 +399,16 @@
}
/**
- * <p>Set state of XInclude processing.</p>
+ * Set state of XInclude processing.
*
* <p>If XInclude markup is found in the document instance, should it be
* processed as specified in <a href="http://www.w3.org/TR/xinclude/">
- * XML Inclusions (XInclude) Version 1.0</a>.</p>
+ * XML Inclusions (XInclude) Version 1.0</a>.
*
- * <p>XInclude processing defaults to <code>false</code>.</p>
+ * <p>XInclude processing defaults to {@code false}.
*
- * @param state Set XInclude processing to <code>true</code> or
- * <code>false</code>
+ * @param state Set XInclude processing to {@code true} or
+ * {@code false}
*
* @throws UnsupportedOperationException When implementation does not
* override this method
@@ -429,7 +424,7 @@
}
/**
- * <p>Get state of XInclude processing.</p>
+ * Get state of XInclude processing.
*
* @return current state of XInclude processing
*
--- a/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLEventFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLEventFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -70,7 +70,6 @@
* This static method creates a new factory instance.
* This method uses the following ordered lookup procedure to determine
* the XMLEventFactory implementation class to load:
- * <p>
* <ul>
* <li>
* Use the javax.xml.stream.XMLEventFactory system property.
@@ -158,7 +157,6 @@
* <p>
* This method uses the following ordered lookup procedure to determine
* the XMLEventFactory implementation class to load:
- * <p>
* <ul>
* <li>
* Use the value of the system property identified by {@code factoryId}.
--- a/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLInputFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLInputFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -160,7 +160,7 @@
* This static method creates a new factory instance.
* This method uses the following ordered lookup procedure to determine
* the XMLInputFactory implementation class to load:
- * </p>
+ *
* <ul>
* <li>
* <p>Use the javax.xml.stream.XMLInputFactory system property.
@@ -201,12 +201,11 @@
* <p>
* Once an application has obtained a reference to a XMLInputFactory it
* can use the factory to configure and obtain stream instances.
- * </p>
* <p>
* Note that this is a new method that replaces the deprecated newInstance() method.
* No changes in behavior are defined by this replacement method relative to
* the deprecated method.
- * </p>
+ *
* @throws FactoryConfigurationError in case of {@linkplain
* java.util.ServiceConfigurationError service configuration error} or if
* the implementation is not available or cannot be instantiated.
@@ -245,7 +244,6 @@
* <p>
* This method uses the following ordered lookup procedure to determine
* the XMLInputFactory implementation class to load:
- * <p>
* <ul>
* <li>
* <p>
@@ -488,7 +486,6 @@
* <p>
* All implementations that implement JAXP 1.5 or newer are required to
* support the {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_DTD} property.
- * </p>
* <ul>
* <li>
* <p>
@@ -497,7 +494,7 @@
* due to the restriction of this property, {@link javax.xml.stream.XMLStreamException}
* will be thrown by the {@link javax.xml.stream.XMLStreamReader#next()} or
* {@link javax.xml.stream.XMLEventReader#nextEvent()} method.
- * </p>
+ *
* </li>
* </ul>
* @param name The name of the property (may not be null)
--- a/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLOutputFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLOutputFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -54,17 +54,18 @@
* <th>Default Value</th>
* <th>Required</th>
* </tr>
- * <tr><td>javax.xml.stream.isRepairingNamespaces</td><td>defaults prefixes on the output side</td><td>Boolean</td><td>False</td><td>Yes</td></tr>
+ * <tr><td>javax.xml.stream.isRepairingNamespaces</td><td>defaults prefixes
+ * on the output side</td><td>Boolean</td><td>False</td><td>Yes</td></tr>
* </tbody>
* </table>
*
- * <p>The following paragraphs describe the namespace and prefix repair algorithm:</p>
+ * <p>The following paragraphs describe the namespace and prefix repair algorithm:
*
* <p>The property can be set with the following code line:
- * <code>setProperty("javax.xml.stream.isRepairingNamespaces",new Boolean(true|false));</code></p>
+ * {@code setProperty("javax.xml.stream.isRepairingNamespaces", new Boolean(true|false));}
*
* <p>This property specifies that the writer default namespace prefix declarations.
- * The default value is false. </p>
+ * The default value is false.
*
* <p>If a writer isRepairingNamespaces it will create a namespace declaration
* on the current StartElement for
@@ -74,11 +75,11 @@
* has not been declared in a parent of the current StartElement it will be declared
* on the current StartElement. If the defaultNamespace is bound and in scope
* and the default namespace matches the URI of the attribute or StartElement
- * QName no prefix will be assigned.</p>
+ * QName no prefix will be assigned.
*
* <p>If an element or attribute name has a prefix, but is not
* bound to any namespace URI, then the prefix will be removed
- * during serialization.</p>
+ * during serialization.
*
* <p>If element and/or attribute names in the same start or
* empty-element tag are bound to different namespace URIs and
@@ -86,20 +87,20 @@
* occurring attribute retains the original prefix and the
* following attributes have their prefixes replaced with a
* new prefix that is bound to the namespace URIs of those
- * attributes. </p>
+ * attributes.
*
* <p>If an element or attribute name uses a prefix that is
* bound to a different URI than that inherited from the
* namespace context of the parent of that element and there
* is no namespace declaration in the context of the current
- * element then such a namespace declaration is added. </p>
+ * element then such a namespace declaration is added.
*
* <p>If an element or attribute name is bound to a prefix and
* there is a namespace declaration that binds that prefix
* to a different URI then that namespace declaration is
* either removed if the correct mapping is inherited from
* the parent context of that element, or changed to the
- * namespace URI of the element or attribute using that prefix.</p>
+ * namespace URI of the element or attribute using that prefix.
*
* @version 1.2
* @author Copyright (c) 2009, 2015 by Oracle Corporation. All Rights Reserved.
@@ -136,7 +137,6 @@
* This static method creates a new factory instance. This method uses the
* following ordered lookup procedure to determine the XMLOutputFactory
* implementation class to load:
- * <p>
* <ul>
* <li>
* Use the javax.xml.stream.XMLOutputFactory system property.
@@ -177,6 +177,7 @@
* <p>
* Otherwise, the system-default implementation is returned.
* </li>
+ * </ul>
* <p>
* Once an application has obtained a reference to a XMLOutputFactory it
* can use the factory to configure and obtain stream instances.
@@ -222,7 +223,6 @@
* <p>
* This method uses the following ordered lookup procedure to determine
* the XMLOutputFactory implementation class to load:
- * <p>
* <ul>
* <li>
* Use the value of the system property identified by {@code factoryId}.
--- a/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLStreamReader.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLStreamReader.java Mon Apr 27 09:17:39 2015 -0700
@@ -57,9 +57,9 @@
* javax.xml.stream.notations and javax.xml.stream.entities.
* When the current event is a DTD the following call will return a
* list of Notations
- * <code>List l = (List) getProperty("javax.xml.stream.notations");</code>
+ * {@code List l = (List) getProperty("javax.xml.stream.notations");}
* The following call will return a list of entity declarations:
- * <code>List l = (List) getProperty("javax.xml.stream.entities");</code>
+ * {@code List l = (List) getProperty("javax.xml.stream.entities");}
* These properties can only be accessed during a DTD event and
* are defined to return null if the information is not available.
*
@@ -97,12 +97,13 @@
* getElementText(), nextTag()
* </td>
* </tr>
+ * <tr>
* <td> ATTRIBUTE </td>
* <td> next(), nextTag()
* getAttributeXXX(), isAttributeSpecified(),
* </td>
* </tr>
- * </tr>
+ * <tr>
* <td> NAMESPACE </td>
* <td> next(), nextTag()
* getNamespaceXXX()
@@ -184,7 +185,7 @@
* If element content is empty (i.e. content is "") then no CHARACTERS event will be reported.
*
* <p>Given the following XML:<br>
- * <foo><!--description-->content text<![CDATA[<greeting>Hello</greeting>]]>other content</foo><br>
+ * {@code <foo><!--description-->content text<![CDATA[<greeting>Hello>/greeting>]]>other content>/foo>}<br>
* The behavior of calling next() when being on foo will be:<br>
* 1- the comment (COMMENT)<br>
* 2- then the characters section (CHARACTERS)<br>
@@ -192,14 +193,14 @@
* 4- then the next characters section (another CHARACTERS)<br>
* 5- then the END_ELEMENT<br>
*
- * <p><b>NOTE:</b> empty element (such as <tag/>) will be reported
+ * <p><b>NOTE:</b> empty element (such as {@code <tag/>}) will be reported
* with two separate events: START_ELEMENT, END_ELEMENT - This preserves
- * parsing equivalency of empty element to <tag></tag>.
+ * parsing equivalency of empty element to {@code <tag></tag>}.
*
* This method will throw an IllegalStateException if it is called after hasNext() returns false.
* @see javax.xml.stream.events.XMLEvent
* @return the integer code corresponding to the current parse event
- * @throws NoSuchElementException if this is called when hasNext() returns false
+ * @throws java.util.NoSuchElementException if this is called when hasNext() returns false
* @throws XMLStreamException if there is an error processing the underlying XML source
*/
public int next() throws XMLStreamException;
@@ -219,38 +220,39 @@
* Reads the content of a text-only element, an exception is thrown if this is
* not a text-only element.
* Regardless of value of javax.xml.stream.isCoalescing this method always returns coalesced content.
- * <br /> Precondition: the current event is START_ELEMENT.
- * <br /> Postcondition: the current event is the corresponding END_ELEMENT.
+ * <br> Precondition: the current event is START_ELEMENT.
+ * <br> Postcondition: the current event is the corresponding END_ELEMENT.
*
- * <br />The method does the following (implementations are free to optimized
+ * <br>The method does the following (implementations are free to optimized
* but must do equivalent processing):
* <pre>
* if(getEventType() != XMLStreamConstants.START_ELEMENT) {
- * throw new XMLStreamException(
- * "parser must be on START_ELEMENT to read next text", getLocation());
+ * throw new XMLStreamException(
+ * "parser must be on START_ELEMENT to read next text", getLocation());
* }
+ *
* int eventType = next();
* StringBuffer content = new StringBuffer();
- * while(eventType != XMLStreamConstants.END_ELEMENT ) {
- * if(eventType == XMLStreamConstants.CHARACTERS
- * || eventType == XMLStreamConstants.CDATA
- * || eventType == XMLStreamConstants.SPACE
- * || eventType == XMLStreamConstants.ENTITY_REFERENCE) {
- * buf.append(getText());
- * } else if(eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
- * || eventType == XMLStreamConstants.COMMENT) {
- * // skipping
- * } else if(eventType == XMLStreamConstants.END_DOCUMENT) {
- * throw new XMLStreamException(
- * "unexpected end of document when reading element text content", this);
- * } else if(eventType == XMLStreamConstants.START_ELEMENT) {
- * throw new XMLStreamException(
- * "element text content may not contain START_ELEMENT", getLocation());
- * } else {
- * throw new XMLStreamException(
- * "Unexpected event type "+eventType, getLocation());
- * }
- * eventType = next();
+ * while(eventType != XMLStreamConstants.END_ELEMENT) {
+ * if(eventType == XMLStreamConstants.CHARACTERS
+ * || eventType == XMLStreamConstants.CDATA
+ * || eventType == XMLStreamConstants.SPACE
+ * || eventType == XMLStreamConstants.ENTITY_REFERENCE) {
+ * buf.append(getText());
+ * } else if(eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
+ * || eventType == XMLStreamConstants.COMMENT) {
+ * // skipping
+ * } else if(eventType == XMLStreamConstants.END_DOCUMENT) {
+ * throw new XMLStreamException(
+ * "unexpected end of document when reading element text content", this);
+ * } else if(eventType == XMLStreamConstants.START_ELEMENT) {
+ * throw new XMLStreamException(
+ * "element text content may not contain START_ELEMENT", getLocation());
+ * } else {
+ * throw new XMLStreamException(
+ * "Unexpected event type "+eventType, getLocation());
+ * }
+ * eventType = next();
* }
* return buf.toString();
* </pre>
@@ -268,33 +270,33 @@
* are encountered, an exception is thrown. This method should
* be used when processing element-only content seperated by white space.
*
- * <br /> Precondition: none
- * <br /> Postcondition: the current event is START_ELEMENT or END_ELEMENT
+ * <br> Precondition: none
+ * <br> Postcondition: the current event is START_ELEMENT or END_ELEMENT
* and cursor may have moved over any whitespace event.
*
- * <br />Essentially it does the following (implementations are free to optimized
+ * <br>Essentially it does the following (implementations are free to optimized
* but must do equivalent processing):
- * <pre>
+ * <pre> {@code
* int eventType = next();
- * while((eventType == XMLStreamConstants.CHARACTERS && isWhiteSpace()) // skip whitespace
- * || (eventType == XMLStreamConstants.CDATA && isWhiteSpace())
+ * while((eventType == XMLStreamConstants.CHARACTERS && isWhiteSpace()) // skip whitespace
+ * || (eventType == XMLStreamConstants.CDATA && isWhiteSpace())
* // skip whitespace
* || eventType == XMLStreamConstants.SPACE
* || eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
* || eventType == XMLStreamConstants.COMMENT
* ) {
- * eventType = next();
+ * eventType = next();
* }
- * if (eventType != XMLStreamConstants.START_ELEMENT && eventType != XMLStreamConstants.END_ELEMENT) {
- * throw new String XMLStreamException("expected start or end tag", getLocation());
+ * if (eventType != XMLStreamConstants.START_ELEMENT && eventType != XMLStreamConstants.END_ELEMENT) {
+ * throw new String XMLStreamException("expected start or end tag", getLocation());
* }
- * return eventType;
+ * return eventType; }
* </pre>
*
* @return the event type of the element read (START_ELEMENT or END_ELEMENT)
* @throws XMLStreamException if the current event is not white space, PROCESSING_INSTRUCTION,
* START_ELEMENT or END_ELEMENT
- * @throws NoSuchElementException if this is called when hasNext() returns false
+ * @throws java.util.NoSuchElementException if this is called when hasNext() returns false
*/
public int nextTag() throws XMLStreamException;
@@ -309,7 +311,7 @@
public boolean hasNext() throws XMLStreamException;
/**
- * Frees any resources associated with this Reader. This method does not close the
+ * Frees any resources associated with this Reader. This method does not close the
* underlying input source.
* @throws XMLStreamException if there are errors freeing associated resources
*/
@@ -542,7 +544,7 @@
* If the number of characters actually copied is less than the "length", then there is no more text.
* Otherwise, subsequent calls need to be made until all text has been retrieved. For example:
*
- *<code>
+ * <pre>{@code
* int length = 1024;
* char[] myBuffer = new char[ length ];
*
@@ -553,7 +555,7 @@
* if (nCopied < length)
* break;
* }
- * </code>
+ * } </pre>
* XMLStreamException may be thrown if there are any XML errors in the underlying source.
* The "targetStart" argument must be greater than or equal to 0 and less than the length of "target",
* Length must be greater than 0 and "targetStart + length" must be less than or equal to length of "target".
@@ -564,8 +566,8 @@
* @param length the number of characters to copy
* @return the number of characters actually copied
* @throws XMLStreamException if the underlying XML source is not well-formed
- * @throws IndexOutOfBoundsException if targetStart < 0 or > than the length of target
- * @throws IndexOutOfBoundsException if length < 0 or targetStart + length > length of target
+ * @throws IndexOutOfBoundsException if targetStart {@literal <} 0 or {@literal >} than the length of target
+ * @throws IndexOutOfBoundsException if length {@literal <} 0 or targetStart + length {@literal >} length of target
* @throws UnsupportedOperationException if this method is not supported
* @throws NullPointerException is if target is null
*/
--- a/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLStreamWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLStreamWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -33,9 +33,9 @@
/**
* The XMLStreamWriter interface specifies how to write XML. The XMLStreamWriter does
* not perform well formedness checking on its input. However
- * the writeCharacters method is required to escape & , < and >
+ * the writeCharacters method is required to escape {@literal &, < and >}
* For attribute values the writeAttribute method will escape the
- * above characters plus " to ensure that all character content
+ * above characters plus {@literal "} to ensure that all character content
* and attribute values are well formed.
*
* Each NAMESPACE
@@ -44,12 +44,12 @@
* <table border="1" cellpadding="2" cellspacing="0">
* <thead>
* <tr>
- * <th colspan="5">XML Namespaces, <code>javax.xml.stream.isRepairingNamespaces</code> and write method behaviour</th>
+ * <th colspan="5">XML Namespaces, {@code javax.xml.stream.isRepairingNamespaces} and write method behaviour</th>
* </tr>
* <tr>
* <th>Method</th> <!-- method -->
- * <th colspan="2"><code>isRepairingNamespaces</code> == true</th>
- * <th colspan="2"><code>isRepairingNamespaces</code> == false</th>
+ * <th colspan="2">{@code isRepairingNamespaces} == true</th>
+ * <th colspan="2">{@code isRepairingNamespaces} == false</th>
* </tr>
* <tr>
* <th></th> <!-- method -->
@@ -62,7 +62,7 @@
*
* <tbody>
* <tr>
- * <th><code>writeAttribute(namespaceURI, localName, value)</code></th>
+ * <th>{@code writeAttribute(namespaceURI, localName, value)}</th>
* <!-- isRepairingNamespaces == true -->
* <td>
* <!-- namespaceURI bound -->
@@ -79,19 +79,19 @@
* </td>
* <td>
* <!-- namespaceURI unbound -->
- * <code>XMLStreamException</code>
+ * {@code XMLStreamException}
* </td>
* </tr>
*
* <tr>
- * <th><code>writeAttribute(prefix, namespaceURI, localName, value)</code></th>
+ * <th>{@code writeAttribute(prefix, namespaceURI, localName, value)}</th>
* <!-- isRepairingNamespaces == true -->
* <td>
* <!-- namespaceURI bound -->
- * bound to same prefix:<br />
- * prefix:localName="value" <sup>[1]</sup><br />
- * <br />
- * bound to different prefix:<br />
+ * bound to same prefix:<br>
+ * prefix:localName="value" <sup>[1]</sup><br>
+ * <br>
+ * bound to different prefix:<br>
* xmlns:{generated}="namespaceURI" {generated}:localName="value"
* </td>
* <td>
@@ -101,11 +101,11 @@
* <!-- isRepairingNamespaces == false -->
* <td>
* <!-- namespaceURI bound -->
- * bound to same prefix:<br />
- * prefix:localName="value" <sup>[1][2]</sup><br />
- * <br />
- * bound to different prefix:<br />
- * <code>XMLStreamException</code><sup>[2]</sup>
+ * bound to same prefix:<br>
+ * prefix:localName="value" <sup>[1][2]</sup><br>
+ * <br>
+ * bound to different prefix:<br>
+ * {@code XMLStreamException}<sup>[2]</sup>
* </td>
* <td>
* <!-- namespaceURI unbound -->
@@ -114,58 +114,58 @@
* </tr>
*
* <tr>
- * <th><code>writeStartElement(namespaceURI, localName)</code><br />
- * <br />
- * <code>writeEmptyElement(namespaceURI, localName)</code></th>
+ * <th>{@code writeStartElement(namespaceURI, localName)}<br>
+ * <br>
+ * {@code writeEmptyElement(namespaceURI, localName)}</th>
* <!-- isRepairingNamespaces == true -->
* <td >
* <!-- namespaceURI bound -->
- * <prefix:localName> <sup>[1]</sup>
+ * {@code <prefix:localName>} <sup>[1]</sup>
* </td>
* <td>
* <!-- namespaceURI unbound -->
- * <{generated}:localName xmlns:{generated}="namespaceURI">
+ * {@code <{generated}:localName xmlns:{generated}="namespaceURI">}
* </td>
* <!-- isRepairingNamespaces == false -->
* <td>
* <!-- namespaceURI bound -->
- * <prefix:localName> <sup>[1]</sup>
+ * {@code prefix:localName>} <sup>[1]</sup>
* </td>
* <td>
* <!-- namespaceURI unbound -->
- * <code>XMLStreamException</code>
+ * {@code XMLStreamException}
* </td>
* </tr>
*
* <tr>
- * <th><code>writeStartElement(prefix, localName, namespaceURI)</code><br />
- * <br />
- * <code>writeEmptyElement(prefix, localName, namespaceURI)</code></th>
+ * <th>{@code writeStartElement(prefix, localName, namespaceURI)}<br>
+ * <br>
+ * {@code writeEmptyElement(prefix, localName, namespaceURI)}</th>
* <!-- isRepairingNamespaces == true -->
* <td>
* <!-- namespaceURI bound -->
- * bound to same prefix:<br />
- * <prefix:localName> <sup>[1]</sup><br />
- * <br />
- * bound to different prefix:<br />
- * <{generated}:localName xmlns:{generated}="namespaceURI">
+ * bound to same prefix:<br>
+ * {@code <prefix:localName>} <sup>[1]</sup><br>
+ * <br>
+ * bound to different prefix:<br>
+ * {@code <{generated}:localName xmlns:{generated}="namespaceURI">}
* </td>
* <td>
* <!-- namespaceURI unbound -->
- * <prefix:localName xmlns:prefix="namespaceURI"> <sup>[4]</sup>
+ * {@code <prefix:localName xmlns:prefix="namespaceURI">} <sup>[4]</sup>
* </td>
* <!-- isRepairingNamespaces == false -->
* <td>
* <!-- namespaceURI bound -->
- * bound to same prefix:<br />
- * <prefix:localName> <sup>[1]</sup><br />
- * <br />
- * bound to different prefix:<br />
- * <code>XMLStreamException</code>
+ * bound to same prefix:<br>
+ * {@code <prefix:localName>} <sup>[1]</sup><br>
+ * <br>
+ * bound to different prefix:<br>
+ * {@code XMLStreamException}
* </td>
* <td>
* <!-- namespaceURI unbound -->
- * <prefix:localName>
+ * {@code <prefix:localName>}
* </td>
* </tr>
* </tbody>
@@ -175,10 +175,14 @@
* Notes:
* <ul>
* <li>[1] if namespaceURI == default Namespace URI, then no prefix is written</li>
- * <li>[2] if prefix == "" || null && namespaceURI == "", then no prefix or Namespace declaration is generated or written</li>
+ * <li>[2] if prefix == "" || null {@literal &&} namespaceURI == "", then
+ * no prefix or Namespace declaration is generated or written</li>
* <li>[3] if prefix == "" || null, then a prefix is randomly generated</li>
- * <li>[4] if prefix == "" || null, then it is treated as the default Namespace and no prefix is generated or written, an xmlns declaration is generated and written if the namespaceURI is unbound</li>
- * <li>[5] if prefix == "" || null, then it is treated as an invalid attempt to define the default Namespace and an XMLStreamException is thrown</li>
+ * <li>[4] if prefix == "" || null, then it is treated as the default Namespace and
+ * no prefix is generated or written, an xmlns declaration is generated
+ * and written if the namespaceURI is unbound</li>
+ * <li>[5] if prefix == "" || null, then it is treated as an invalid attempt to
+ * define the default Namespace and an XMLStreamException is thrown</li>
* </ul>
* </td>
* </tr>
--- a/jaxp/src/java.xml/share/classes/javax/xml/transform/Result.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/transform/Result.java Mon Apr 27 09:17:39 2015 -0700
@@ -27,7 +27,7 @@
/**
* <p>An object that implements this interface contains the information
- * needed to build a transformation result tree.</p>
+ * needed to build a transformation result tree.
*
* @author <a href="Jeff.Suttor@Sun.com">Jeff Suttor</a>
* @since 1.4
@@ -38,7 +38,7 @@
* The name of the processing instruction that is sent if the
* result tree disables output escaping.
*
- * <p>Normally, result tree serialization escapes & and < (and
+ * <p>Normally, result tree serialization escapes{@literal & and <} (and
* possibly other characters) when outputting text nodes.
* This ensures that the output is well-formed XML. However,
* it is sometimes convenient to be able to produce output that is
@@ -46,10 +46,10 @@
* the output may include ill-formed sections that will
* be transformed into well-formed XML by a subsequent non-XML aware
* process. If a processing instruction is sent with this name,
- * serialization should be output without any escaping. </p>
+ * serialization should be output without any escaping.
*
* <p>Result DOM trees may also have PI_DISABLE_OUTPUT_ESCAPING and
- * PI_ENABLE_OUTPUT_ESCAPING inserted into the tree.</p>
+ * PI_ENABLE_OUTPUT_ESCAPING inserted into the tree.
*
* @see <a href="http://www.w3.org/TR/xslt#disable-output-escaping">disable-output-escaping in XSLT Specification</a>
*/
@@ -71,7 +71,7 @@
*
* <p>If the Result is not to be written to a file, the system identifier is optional.
* The application may still want to provide one, however, for use in error messages
- * and warnings, or to resolve relative output identifiers.</p>
+ * and warnings, or to resolve relative output identifiers.
*
* @param systemId The system identifier as a URI string.
*/
--- a/jaxp/src/java.xml/share/classes/javax/xml/transform/TransformerFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/transform/TransformerFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -28,13 +28,13 @@
/**
* <p>A TransformerFactory instance can be used to create
* {@link javax.xml.transform.Transformer} and
- * {@link javax.xml.transform.Templates} objects.</p>
+ * {@link javax.xml.transform.Templates} objects.
*
* <p>The system property that determines which Factory implementation
- * to create is named <code>"javax.xml.transform.TransformerFactory"</code>.
+ * to create is named {@code "javax.xml.transform.TransformerFactory"}.
* This property names a concrete subclass of the
* {@code TransformerFactory} abstract class. If the property is not
- * defined, a platform default is be used.</p>
+ * defined, a platform default is be used.
*
* @author <a href="mailto:Jeff.Suttor@Sun.com">Jeff Suttor</a>
* @author <a href="mailto:Neeraj.Bajaj@sun.com">Neeraj Bajaj</a>
@@ -51,14 +51,11 @@
/**
- * <p>
* Obtain a new instance of a {@code TransformerFactory}.
* This static method creates a new factory instance.
* <p>
* This method uses the following ordered lookup procedure to determine
- * the {@code TransformerFactory} implementation class to
- * load:
- * <p>
+ * the {@code TransformerFactory} implementation class to load:
* <ul>
* <li>
* Use the {@code javax.xml.transform.TransformerFactory} system
@@ -118,34 +115,34 @@
}
/**
- * <p>Obtain a new instance of a {@code TransformerFactory} from factory class name.
+ * Obtain a new instance of a {@code TransformerFactory} from factory class name.
* This function is useful when there are multiple providers in the classpath.
* It gives more control to the application as it can specify which provider
- * should be loaded.</p>
+ * should be loaded.
*
* <p>Once an application has obtained a reference to a
* {@code TransformerFactory} it can use the factory to configure
- * and obtain transformer instances.</p>
+ * and obtain transformer instances.
*
* <h2>Tip for Trouble-shooting</h2>
- * <p>Setting the <code>jaxp.debug</code> system property will cause
+ * <p>Setting the {@code jaxp.debug} system property will cause
* this method to print a lot of debug messages
- * to <code>System.err</code> about what it is doing and where it is looking at.</p>
+ * to {@code System.err} about what it is doing and where it is looking at.
*
- * <p> If you have problems try:</p>
+ * <p> If you have problems try:
* <pre>
* java -Djaxp.debug=1 YourProgram ....
* </pre>
*
* @param factoryClassName fully qualified factory class name that provides implementation of {@code javax.xml.transform.TransformerFactory}.
*
- * @param classLoader <code>ClassLoader</code> used to load the factory class. If <code>null</code>
- * current <code>Thread</code>'s context classLoader is used to load the factory class.
+ * @param classLoader {@code ClassLoader} used to load the factory class. If {@code null}
+ * current {@code Thread}'s context classLoader is used to load the factory class.
*
* @return new TransformerFactory instance, never null.
*
* @throws TransformerFactoryConfigurationError
- * if <code>factoryClassName</code> is <code>null</code>, or
+ * if {@code factoryClassName} is {@code null}, or
* the factory class cannot be loaded, instantiated.
*
* @see #newInstance()
@@ -160,29 +157,29 @@
factoryClassName, classLoader, false, false);
}
/**
- * <p>Process the <code>Source</code> into a <code>Transformer</code>
- * <code>Object</code>. The <code>Source</code> is an XSLT document that
+ * Process the {@code Source} into a {@code Transformer}
+ * {@code Object}. The {@code Source} is an XSLT document that
* conforms to <a href="http://www.w3.org/TR/xslt">
* XSL Transformations (XSLT) Version 1.0</a>. Care must
- * be taken not to use this <code>Transformer</code> in multiple
- * <code>Thread</code>s running concurrently.
- * Different <code>TransformerFactories</code> can be used concurrently by
- * different <code>Thread</code>s.</p>
+ * be taken not to use this {@code Transformer} in multiple
+ * {@code Thread}s running concurrently.
+ * Different {@code TransformerFactories} can be used concurrently by
+ * different {@code Thread}s.
*
- * @param source <code>Source </code> of XSLT document used to create
- * <code>Transformer</code>.
- * Examples of XML <code>Source</code>s include
+ * @param source {@code Source } of XSLT document used to create
+ * {@code Transformer}.
+ * Examples of XML {@code Source}s include
* {@link javax.xml.transform.dom.DOMSource DOMSource},
* {@link javax.xml.transform.sax.SAXSource SAXSource}, and
* {@link javax.xml.transform.stream.StreamSource StreamSource}.
*
- * @return A <code>Transformer</code> object that may be used to perform
- * a transformation in a single <code>Thread</code>, never
- * <code>null</code>.
+ * @return A {@code Transformer} object that may be used to perform
+ * a transformation in a single {@code Thread}, never
+ * {@code null}.
*
* @throws TransformerConfigurationException Thrown if there are errors when
- * parsing the <code>Source</code> or it is not possible to create a
- * <code>Transformer</code> instance.
+ * parsing the {@code Source} or it is not possible to create a
+ * {@code Transformer} instance.
*
* @see <a href="http://www.w3.org/TR/xslt">
* XSL Transformations (XSLT) Version 1.0</a>
@@ -191,15 +188,15 @@
throws TransformerConfigurationException;
/**
- * <p>Create a new <code>Transformer</code> that performs a copy
- * of the <code>Source</code> to the <code>Result</code>.
- * i.e. the "<em>identity transform</em>".</p>
+ * Create a new {@code Transformer} that performs a copy
+ * of the {@code Source} to the {@code Result}.
+ * i.e. the "<em>identity transform</em>".
*
* @return A Transformer object that may be used to perform a transformation
* in a single thread, never null.
*
* @throws TransformerConfigurationException When it is not
- * possible to create a <code>Transformer</code> instance.
+ * possible to create a {@code Transformer} instance.
*/
public abstract Transformer newTransformer()
throws TransformerConfigurationException;
@@ -215,7 +212,7 @@
* @param source An object that holds a URL, input stream, etc.
*
* @return A Templates object capable of being used for transformation
- * purposes, never <code>null</code>.
+ * purposes, never {@code null}.
*
* @throws TransformerConfigurationException When parsing to
* construct the Templates object fails.
@@ -224,13 +221,13 @@
throws TransformerConfigurationException;
/**
- * <p>Get the stylesheet specification(s) associated with the
- * XML <code>Source</code> document via the
+ * Get the stylesheet specification(s) associated with the
+ * XML {@code Source} document via the
* <a href="http://www.w3.org/TR/xml-stylesheet/">
* xml-stylesheet processing instruction</a> that match the given criteria.
* Note that it is possible to return several stylesheets, in which case
* they are applied as if they were a list of imports or cascades in a
- * single stylesheet.</p>
+ * single stylesheet.
*
* @param source The XML source document.
* @param media The media attribute to be matched. May be null, in which
@@ -238,12 +235,12 @@
* @param title The value of the title attribute to match. May be null.
* @param charset The value of the charset attribute to match. May be null.
*
- * @return A <code>Source</code> <code>Object</code> suitable for passing
+ * @return A {@code Source} {@code Object} suitable for passing
* to the {@code TransformerFactory}.
*
- * @throws TransformerConfigurationException An <code>Exception</code>
+ * @throws TransformerConfigurationException An {@code Exception}
* is thrown if an error occurings during parsing of the
- * <code>source</code>.
+ * {@code source}.
*
* @see <a href="http://www.w3.org/TR/xml-stylesheet/">
* Associating Style Sheets with XML documents Version 1.0</a>
@@ -275,22 +272,21 @@
//======= CONFIGURATION METHODS =======
/**
- * <p>Set a feature for this {@code TransformerFactory} and <code>Transformer</code>s
- * or <code>Template</code>s created by this factory.</p>
+ * <p>Set a feature for this {@code TransformerFactory} and {@code Transformer}s
+ * or {@code Template}s created by this factory.
*
* <p>
* Feature names are fully qualified {@link java.net.URI}s.
* Implementations may define their own features.
* An {@link TransformerConfigurationException} is thrown if this {@code TransformerFactory} or the
- * <code>Transformer</code>s or <code>Template</code>s it creates cannot support the feature.
+ * {@code Transformer}s or {@code Template}s it creates cannot support the feature.
* It is possible for an {@code TransformerFactory} to expose a feature value but be unable to change its state.
- * </p>
*
* <p>All implementations are required to support the {@link javax.xml.XMLConstants#FEATURE_SECURE_PROCESSING} feature.
- * When the feature is:</p>
+ * When the feature is:
* <ul>
* <li>
- * <code>true</code>: the implementation will limit XML processing to conform to implementation limits
+ * {@code true}: the implementation will limit XML processing to conform to implementation limits
* and behave in a secure fashion as defined by the implementation.
* Examples include resolving user defined style sheets and functions.
* If XML processing is limited for security reasons, it will be reported via a call to the registered
@@ -298,17 +294,17 @@
* See {@link #setErrorListener(ErrorListener listener)}.
* </li>
* <li>
- * <code>false</code>: the implementation will processing XML according to the XML specifications without
+ * {@code false}: the implementation will processing XML according to the XML specifications without
* regard to possible implementation limits.
* </li>
* </ul>
*
* @param name Feature name.
- * @param value Is feature state <code>true</code> or <code>false</code>.
+ * @param value Is feature state {@code true} or {@code false}.
*
* @throws TransformerConfigurationException if this {@code TransformerFactory}
- * or the <code>Transformer</code>s or <code>Template</code>s it creates cannot support this feature.
- * @throws NullPointerException If the <code>name</code> parameter is null.
+ * or the {@code Transformer}s or {@code Template}s it creates cannot support this feature.
+ * @throws NullPointerException If the {@code name} parameter is null.
*/
public abstract void setFeature(String name, boolean value)
throws TransformerConfigurationException;
@@ -319,16 +315,15 @@
* <p>
* Feature names are fully qualified {@link java.net.URI}s.
* Implementations may define their own features.
- * <code>false</code> is returned if this {@code TransformerFactory} or the
- * <code>Transformer</code>s or <code>Template</code>s it creates cannot support the feature.
+ * {@code false} is returned if this {@code TransformerFactory} or the
+ * {@code Transformer}s or {@code Template}s it creates cannot support the feature.
* It is possible for an {@code TransformerFactory} to expose a feature value but be unable to change its state.
- * </p>
*
* @param name Feature name.
*
- * @return The current state of the feature, <code>true</code> or <code>false</code>.
+ * @return The current state of the feature, {@code true} or {@code false}.
*
- * @throws NullPointerException If the <code>name</code> parameter is null.
+ * @throws NullPointerException If the {@code name} parameter is null.
*/
public abstract boolean getFeature(String name);
@@ -336,13 +331,13 @@
* Allows the user to set specific attributes on the underlying
* implementation. An attribute in this context is defined to
* be an option that the implementation provides.
- * An <code>IllegalArgumentException</code> is thrown if the underlying
+ * An {@code IllegalArgumentException} is thrown if the underlying
* implementation doesn't recognize the attribute.
* <p>
* All implementations that implement JAXP 1.5 or newer are required to
* support the {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_DTD} and
* {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_STYLESHEET} properties.
- * </p>
+ *
* <ul>
* <li>
* <p>
@@ -351,7 +346,7 @@
* If access is denied during transformation due to the restriction of this property,
* {@link javax.xml.transform.TransformerException} will be thrown by
* {@link javax.xml.transform.Transformer#transform(Source, Result)}.
- * </p>
+ *
* <p>
* Access to external DTDs in the stylesheet is restricted to the protocols
* specified by the {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_DTD} property.
@@ -359,7 +354,7 @@
* restriction of this property,
* {@link javax.xml.transform.TransformerConfigurationException} will be thrown
* by the {@link #newTransformer(Source)} method.
- * </p>
+ *
* <p>
* Access to external reference set by the stylesheet processing instruction,
* Import and Include element is restricted to the protocols specified by the
@@ -368,14 +363,14 @@
* restriction of this property,
* {@link javax.xml.transform.TransformerConfigurationException} will be thrown
* by the {@link #newTransformer(Source)} method.
- * </p>
+ *
* <p>
* Access to external document through XSLT document function is restricted
* to the protocols specified by the property. If access is denied during
* the transformation due to the restriction of this property,
* {@link javax.xml.transform.TransformerException} will be thrown by the
* {@link javax.xml.transform.Transformer#transform(Source, Result)} method.
- * </p>
+ *
* </li>
* </ul>
*
@@ -390,7 +385,7 @@
/**
* Allows the user to retrieve specific attributes on the underlying
* implementation.
- * An <code>IllegalArgumentException</code> is thrown if the underlying
+ * An {@code IllegalArgumentException} is thrown if the underlying
* implementation doesn't recognize the attribute.
*
* @param name The name of the attribute.
@@ -406,13 +401,13 @@
* Set the error event listener for the TransformerFactory, which
* is used for the processing of transformation instructions,
* and not for the transformation itself.
- * An <code>IllegalArgumentException</code> is thrown if the
- * <code>ErrorListener</code> listener is <code>null</code>.
+ * An {@code IllegalArgumentException} is thrown if the
+ * {@code ErrorListener} listener is {@code null}.
*
* @param listener The new error listener.
*
- * @throws IllegalArgumentException When <code>listener</code> is
- * <code>null</code>
+ * @throws IllegalArgumentException When {@code listener} is
+ * {@code null}
*/
public abstract void setErrorListener(ErrorListener listener);
--- a/jaxp/src/java.xml/share/classes/javax/xml/transform/dom/DOMResult.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/transform/dom/DOMResult.java Mon Apr 27 09:17:39 2015 -0700
@@ -29,29 +29,32 @@
import org.w3c.dom.Node;
/**
- * <p>Acts as a holder for a transformation result tree in the form of a Document Object Model (DOM) tree.</p>
+ * Acts as a holder for a transformation result tree
+ * in the form of a Document Object Model (DOM) tree.
*
- * <p>If no output DOM source is set, the transformation will create a Document node as the holder for the result of the transformation,
- * which may be retrieved with {@link #getNode()}.</p>
+ * <p>If no output DOM source is set, the transformation will create
+ * a Document node as the holder for the result of the transformation,
+ * which may be retrieved with {@link #getNode()}.
*
* @author <a href="Jeff.Suttor@Sun.com">Jeff Suttor</a>
* @since 1.4
*/
public class DOMResult implements Result {
- /** <p>If {@link javax.xml.transform.TransformerFactory#getFeature}
- * returns <code>true</code> when passed this value as an argument,
- * the <code>Transformer</code> supports <code>Result</code> output of this type.</p>
+ /**
+ * If {@link javax.xml.transform.TransformerFactory#getFeature}
+ * returns {@code true} when passed this value as an argument,
+ * the {@code Transformer} supports {@code Result} output of this type.
*/
public static final String FEATURE = "http://javax.xml.transform.dom.DOMResult/feature";
/**
- * <p>Zero-argument default constructor.</p>
+ * Zero-argument default constructor.
*
- * <p><code>node</code>,
- * <code>siblingNode</code> and
- * <code>systemId</code>
- * will be set to <code>null</code>.</p>
+ * <p>{@code node},
+ * {@code siblingNode} and
+ * {@code systemId}
+ * will be set to {@code null}.
*/
public DOMResult() {
setNode(null);
@@ -60,17 +63,17 @@
}
/**
- * <p>Use a DOM node to create a new output target.</p>
+ * Use a DOM node to create a new output target.
*
* <p>In practice, the node should be
* a {@link org.w3c.dom.Document} node,
* a {@link org.w3c.dom.DocumentFragment} node, or
* a {@link org.w3c.dom.Element} node.
- * In other words, a node that accepts children.</p>
+ * In other words, a node that accepts children.
*
- * <p><code>siblingNode</code> and
- * <code>systemId</code>
- * will be set to <code>null</code>.</p>
+ * <p>{@code siblingNode} and
+ * {@code systemId}
+ * will be set to {@code null}.
*
* @param node The DOM node that will contain the result tree.
*/
@@ -81,15 +84,15 @@
}
/**
- * <p>Use a DOM node to create a new output target with the specified System ID.<p>
+ * Use a DOM node to create a new output target with the specified System ID.
*
* <p>In practice, the node should be
* a {@link org.w3c.dom.Document} node,
* a {@link org.w3c.dom.DocumentFragment} node, or
* a {@link org.w3c.dom.Element} node.
- * In other words, a node that accepts children.</p>
+ * In other words, a node that accepts children.
*
- * <p><code>siblingNode</code> will be set to <code>null</code>.</p>
+ * <p>{@code siblingNode} will be set to {@code null}.
*
* @param node The DOM node that will contain the result tree.
* @param systemId The system identifier which may be used in association with this node.
@@ -101,32 +104,33 @@
}
/**
- * <p>Use a DOM node to create a new output target specifying the child node where the result nodes should be inserted before.</p>
+ * Use a DOM node to create a new output target specifying
+ * the child node where the result nodes should be inserted before.
*
- * <p>In practice, <code>node</code> and <code>nextSibling</code> should be
+ * <p>In practice, {@code node} and {@code nextSibling} should be
* a {@link org.w3c.dom.Document} node,
* a {@link org.w3c.dom.DocumentFragment} node, or
* a {@link org.w3c.dom.Element} node.
- * In other words, a node that accepts children.</p>
+ * In other words, a node that accepts children.
*
- * <p>Use <code>nextSibling</code> to specify the child node
+ * <p>Use {@code nextSibling} to specify the child node
* where the result nodes should be inserted before.
- * If <code>nextSibling</code> is not a sibling of <code>node</code>,
- * then an <code>IllegalArgumentException</code> is thrown.
- * If <code>node</code> is <code>null</code> and <code>nextSibling</code> is not <code>null</code>,
- * then an <code>IllegalArgumentException</code> is thrown.
- * If <code>nextSibling</code> is <code>null</code>,
+ * If {@code nextSibling} is not a sibling of {@code node},
+ * then an {@code IllegalArgumentException} is thrown.
+ * If {@code node} is {@code null} and {@code nextSibling} is not {@code null},
+ * then an {@code IllegalArgumentException} is thrown.
+ * If {@code nextSibling} is {@code null},
* then the behavior is the same as calling {@link #DOMResult(Node node)},
- * i.e. append the result nodes as the last child of the specified <code>node</code>.</p>
+ * i.e. append the result nodes as the last child of the specified {@code node}.
*
- * <p><code>systemId</code> will be set to <code>null</code>.</p>
+ * <p>{@code systemId} will be set to {@code null}.
*
* @param node The DOM node that will contain the result tree.
* @param nextSibling The child node where the result nodes should be inserted before.
*
- * @throws IllegalArgumentException If <code>nextSibling</code> is not a sibling of <code>node</code> or
- * <code>node</code> is <code>null</code> and <code>nextSibling</code>
- * is not <code>null</code>.
+ * @throws IllegalArgumentException If {@code nextSibling} is not a sibling of {@code node} or
+ * {@code node} is {@code null} and {@code nextSibling}
+ * is not {@code null}.
*
* @since 1.5
*/
@@ -151,33 +155,35 @@
}
/**
- * <p>Use a DOM node to create a new output target specifying the child node where the result nodes should be inserted before and
- * the specified System ID.</p>
+ * Use a DOM node to create a new output target specifying the child
+ * node where the result nodes should be inserted before and
+ * the specified System ID.
*
- * <p>In practice, <code>node</code> and <code>nextSibling</code> should be
+ * <p>In practice, {@code node} and {@code nextSibling} should be
* a {@link org.w3c.dom.Document} node,
* a {@link org.w3c.dom.DocumentFragment} node, or a
* {@link org.w3c.dom.Element} node.
- * In other words, a node that accepts children.</p>
+ * In other words, a node that accepts children.
*
- * <p>Use <code>nextSibling</code> to specify the child node
+ * <p>Use {@code nextSibling} to specify the child node
* where the result nodes should be inserted before.
- * If <code>nextSibling</code> is not a sibling of <code>node</code>,
- * then an <code>IllegalArgumentException</code> is thrown.
- * If <code>node</code> is <code>null</code> and <code>nextSibling</code> is not <code>null</code>,
- * then an <code>IllegalArgumentException</code> is thrown.
- * If <code>nextSibling</code> is <code>null</code>,
+ * If {@code nextSibling} is not a sibling of {@code node},
+ * then an {@code IllegalArgumentException} is thrown.
+ * If {@code node} is {@code null} and {@code nextSibling} is not {@code null},
+ * then an {@code IllegalArgumentException} is thrown.
+ * If {@code nextSibling} is {@code null},
* then the behavior is the same as calling {@link #DOMResult(Node node, String systemId)},
- * i.e. append the result nodes as the last child of the specified node and use the specified System ID.</p>
+ * i.e. append the result nodes as the last child of the specified
+ * node and use the specified System ID.
*
* @param node The DOM node that will contain the result tree.
* @param nextSibling The child node where the result nodes should be inserted before.
* @param systemId The system identifier which may be used in association with this node.
*
- * @throws IllegalArgumentException If <code>nextSibling</code> is not a
- * sibling of <code>node</code> or
- * <code>node</code> is <code>null</code> and <code>nextSibling</code>
- * is not <code>null</code>.
+ * @throws IllegalArgumentException If {@code nextSibling} is not a
+ * sibling of {@code node} or
+ * {@code node} is {@code null} and {@code nextSibling}
+ * is not {@code null}.
*
* @since 1.5
*/
@@ -202,27 +208,27 @@
}
/**
- * <p>Set the node that will contain the result DOM tree.<p>
+ * Set the node that will contain the result DOM tree.
*
* <p>In practice, the node should be
* a {@link org.w3c.dom.Document} node,
* a {@link org.w3c.dom.DocumentFragment} node, or
* a {@link org.w3c.dom.Element} node.
- * In other words, a node that accepts children.</p>
+ * In other words, a node that accepts children.
*
- * <p>An <code>IllegalStateException</code> is thrown if
- * <code>nextSibling</code> is not <code>null</code> and
- * <code>node</code> is not a parent of <code>nextSibling</code>.
- * An <code>IllegalStateException</code> is thrown if <code>node</code> is <code>null</code> and
- * <code>nextSibling</code> is not <code>null</code>.</p>
+ * <p>An {@code IllegalStateException} is thrown if
+ * {@code nextSibling} is not {@code null} and
+ * {@code node} is not a parent of {@code nextSibling}.
+ * An {@code IllegalStateException} is thrown if {@code node} is {@code null} and
+ * {@code nextSibling} is not {@code null}.
*
* @param node The node to which the transformation will be appended.
*
- * @throws IllegalStateException If <code>nextSibling</code> is not
- * <code>null</code> and
- * <code>nextSibling</code> is not a child of <code>node</code> or
- * <code>node</code> is <code>null</code> and
- * <code>nextSibling</code> is not <code>null</code>.
+ * @throws IllegalStateException If {@code nextSibling} is not
+ * {@code null} and
+ * {@code nextSibling} is not a child of {@code node} or
+ * {@code node} is {@code null} and
+ * {@code nextSibling} is not {@code null}.
*/
public void setNode(Node node) {
// does the corrent parent/child relationship exist?
@@ -242,7 +248,7 @@
}
/**
- * <p>Get the node that will contain the result DOM tree.</p>
+ * Get the node that will contain the result DOM tree.
*
* <p>If no node was set via
* {@link #DOMResult(Node node)},
@@ -251,7 +257,7 @@
* {@link #DOMResult(Node node, Node nextSibling, String systemId)} or
* {@link #setNode(Node node)},
* then the node will be set by the transformation, and may be obtained from this method once the transformation is complete.
- * Calling this method before the transformation will return <code>null</code>.</p>
+ * Calling this method before the transformation will return {@code null}.
*
* @return The node to which the transformation will be appended.
*/
@@ -260,24 +266,24 @@
}
/**
- * <p>Set the child node before which the result nodes will be inserted.</p>
+ * Set the child node before which the result nodes will be inserted.
*
- * <p>Use <code>nextSibling</code> to specify the child node
+ * <p>Use {@code nextSibling} to specify the child node
* before which the result nodes should be inserted.
- * If <code>nextSibling</code> is not a descendant of <code>node</code>,
- * then an <code>IllegalArgumentException</code> is thrown.
- * If <code>node</code> is <code>null</code> and <code>nextSibling</code> is not <code>null</code>,
- * then an <code>IllegalStateException</code> is thrown.
- * If <code>nextSibling</code> is <code>null</code>,
+ * If {@code nextSibling} is not a descendant of {@code node},
+ * then an {@code IllegalArgumentException} is thrown.
+ * If {@code node} is {@code null} and {@code nextSibling} is not {@code null},
+ * then an {@code IllegalStateException} is thrown.
+ * If {@code nextSibling} is {@code null},
* then the behavior is the same as calling {@link #DOMResult(Node node)},
- * i.e. append the result nodes as the last child of the specified <code>node</code>.</p>
+ * i.e. append the result nodes as the last child of the specified {@code node}.
*
* @param nextSibling The child node before which the result nodes will be inserted.
*
- * @throws IllegalArgumentException If <code>nextSibling</code> is not a
- * descendant of <code>node</code>.
- * @throws IllegalStateException If <code>node</code> is <code>null</code>
- * and <code>nextSibling</code> is not <code>null</code>.
+ * @throws IllegalArgumentException If {@code nextSibling} is not a
+ * descendant of {@code node}.
+ * @throws IllegalStateException If {@code node} is {@code null}
+ * and {@code nextSibling} is not {@code null}.
*
* @since 1.5
*/
@@ -300,13 +306,13 @@
}
/**
- * <p>Get the child node before which the result nodes will be inserted.</p>
+ * Get the child node before which the result nodes will be inserted.
*
* <p>If no node was set via
* {@link #DOMResult(Node node, Node nextSibling)},
* {@link #DOMResult(Node node, Node nextSibling, String systemId)} or
* {@link #setNextSibling(Node nextSibling)},
- * then <code>null</code> will be returned.</p>
+ * then {@code null} will be returned.
*
* @return The child node before which the result nodes will be inserted.
*
@@ -317,7 +323,7 @@
}
/**
- * <p>Set the systemId that may be used in association with the node.</p>
+ * Set the systemId that may be used in association with the node.
*
* @param systemId The system identifier as a URI string.
*/
@@ -326,13 +332,13 @@
}
/**
- * <p>Get the System Identifier.</p>
+ * Get the System Identifier.
*
* <p>If no System ID was set via
* {@link #DOMResult(Node node, String systemId)},
* {@link #DOMResult(Node node, Node nextSibling, String systemId)} or
* {@link #setSystemId(String systemId)},
- * then <code>null</code> will be returned.</p>
+ * then {@code null} will be returned.
*
* @return The system identifier.
*/
@@ -345,19 +351,19 @@
//////////////////////////////////////////////////////////////////////
/**
- * <p>The node to which the transformation will be appended.</p>
+ * The node to which the transformation will be appended.
*/
private Node node = null;
/**
- * <p>The child node before which the result nodes will be inserted.</p>
+ * The child node before which the result nodes will be inserted.
*
* @since 1.5
*/
private Node nextSibling = null;
/**
- * <p>The System ID that may be used in association with the node.</p>
+ * The System ID that may be used in association with the node.
*/
private String systemId = null;
}
--- a/jaxp/src/java.xml/share/classes/javax/xml/transform/stax/package.html Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/transform/stax/package.html Mon Apr 27 09:17:39 2015 -0700
@@ -65,9 +65,6 @@
<li>@see XMLEventReader</li>
</ul>
- <p>
- @since 1.6
- </p>
-
+ @since 1.6
</body>
</html>
--- a/jaxp/src/java.xml/share/classes/javax/xml/validation/SchemaFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/validation/SchemaFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -37,7 +37,7 @@
import org.xml.sax.SAXParseException;
/**
- * Factory that creates {@link Schema} objects. Entry-point to
+ * Factory that creates {@link Schema} objects. Entry-point to
* the validation API.
*
* <p>
@@ -49,12 +49,12 @@
* it is the application's responsibility to ensure that at most
* one thread is using a {@link SchemaFactory} object at any
* given moment. Implementations are encouraged to mark methods
- * as <code>synchronized</code> to protect themselves from broken clients.
+ * as {@code synchronized} to protect themselves from broken clients.
*
* <p>
* {@link SchemaFactory} is not re-entrant. While one of the
- * <code>newSchema</code> methods is being invoked, applications
- * may not attempt to recursively invoke the <code>newSchema</code> method,
+ * {@code newSchema} methods is being invoked, applications
+ * may not attempt to recursively invoke the {@code newSchema} method,
* even from the same thread.
*
* <h2><a name="schemaLanguage"></a>Schema Language</h2>
@@ -92,11 +92,11 @@
* </thead>
* <tbody>
* <tr>
- * <td>{@link javax.xml.XMLConstants#W3C_XML_SCHEMA_NS_URI} ("<code>http://www.w3.org/2001/XMLSchema</code>")</td>
+ * <td>{@link javax.xml.XMLConstants#W3C_XML_SCHEMA_NS_URI} ("{@code http://www.w3.org/2001/XMLSchema}")</td>
* <td><a href="http://www.w3.org/TR/xmlschema-1">W3C XML Schema 1.0</a></td>
* </tr>
* <tr>
- * <td>{@link javax.xml.XMLConstants#RELAXNG_NS_URI} ("<code>http://relaxng.org/ns/structure/1.0</code>")</td>
+ * <td>{@link javax.xml.XMLConstants#RELAXNG_NS_URI} ("{@code http://relaxng.org/ns/structure/1.0}")</td>
* <td><a href="http://www.relaxng.org/">RELAX NG 1.0</a></td>
* </tr>
* </tbody>
@@ -112,24 +112,24 @@
private static SecuritySupport ss = new SecuritySupport();
/**
- * <p>Constructor for derived classes.</p>
+ * Constructor for derived classes.
*
- * <p>The constructor does nothing.</p>
+ * <p>The constructor does nothing.
*
* <p>Derived classes must create {@link SchemaFactory} objects that have
- * <code>null</code> {@link ErrorHandler} and
- * <code>null</code> {@link LSResourceResolver}.</p>
+ * {@code null} {@link ErrorHandler} and
+ * {@code null} {@link LSResourceResolver}.
*/
protected SchemaFactory() {
}
/**
- * <p>Lookup an implementation of the <code>SchemaFactory</code> that supports the specified
- * schema language and return it.</p>
+ * Lookup an implementation of the {@code SchemaFactory} that supports the specified
+ * schema language and return it.
*
- * <p>To find a <code>SchemaFactory</code> object for a given schema language,
+ * <p>To find a {@code SchemaFactory} object for a given schema language,
* this method looks the following places in the following order
- * where "the class loader" refers to the context class loader:</p>
+ * where "the class loader" refers to the context class loader:
* <ol>
* <li>
* <p>
@@ -178,9 +178,9 @@
* </li>
* <li>
* <p>
- * Platform default <code>SchemaFactory</code> is located
+ * Platform default {@code SchemaFactory} is located
* in a implementation specific way. There must be a platform default
- * <code>SchemaFactory</code> for W3C XML Schema.
+ * {@code SchemaFactory} for W3C XML Schema.
* </li>
* </ol>
*
@@ -201,12 +201,12 @@
* <a href="#schemaLanguage">the list of available
* schema languages</a> for the possible values.
*
- * @return New instance of a <code>SchemaFactory</code>
+ * @return New instance of a {@code SchemaFactory}
*
* @throws IllegalArgumentException
* If no implementation of the schema language is available.
* @throws NullPointerException
- * If the <code>schemaLanguage</code> parameter is null.
+ * If the {@code schemaLanguage} parameter is null.
* @throws SchemaFactoryConfigurationError
* If a configuration error is encountered.
*
@@ -233,42 +233,42 @@
}
/**
- * <p>Obtain a new instance of a <code>SchemaFactory</code> from class name. <code>SchemaFactory</code>
+ * Obtain a new instance of a {@code SchemaFactory} from class name. {@code SchemaFactory}
* is returned if specified factory class name supports the specified schema language.
* This function is useful when there are multiple providers in the classpath.
* It gives more control to the application as it can specify which provider
- * should be loaded.</p>
+ * should be loaded.
*
* <h2>Tip for Trouble-shooting</h2>
- * <p>Setting the <code>jaxp.debug</code> system property will cause
+ * <p>Setting the {@code jaxp.debug} system property will cause
* this method to print a lot of debug messages
- * to <code>System.err</code> about what it is doing and where it is looking at.</p>
+ * to {@code System.err} about what it is doing and where it is looking at.
*
- * <p> If you have problems try:</p>
+ * <p> If you have problems try:
* <pre>
* java -Djaxp.debug=1 YourProgram ....
* </pre>
*
* @param schemaLanguage Specifies the schema language which the returned
- * <code>SchemaFactory</code> will understand. See
+ * {@code SchemaFactory} will understand. See
* <a href="#schemaLanguage">the list of available
* schema languages</a> for the possible values.
*
- * @param factoryClassName fully qualified factory class name that provides implementation of <code>javax.xml.validation.SchemaFactory</code>.
+ * @param factoryClassName fully qualified factory class name that provides implementation of {@code javax.xml.validation.SchemaFactory}.
*
- * @param classLoader <code>ClassLoader</code> used to load the factory class. If <code>null</code>
- * current <code>Thread</code>'s context classLoader is used to load the factory class.
+ * @param classLoader {@code ClassLoader} used to load the factory class. If {@code null}
+ * current {@code Thread}'s context classLoader is used to load the factory class.
*
- * @return New instance of a <code>SchemaFactory</code>
+ * @return New instance of a {@code SchemaFactory}
*
* @throws IllegalArgumentException
- * if <code>factoryClassName</code> is <code>null</code>, or
+ * if {@code factoryClassName} is {@code null}, or
* the factory class cannot be loaded, instantiated or doesn't
- * support the schema language specified in <code>schemLanguage</code>
+ * support the schema language specified in {@code schemLanguage}
* parameter.
*
* @throws NullPointerException
- * If the <code>schemaLanguage</code> parameter is null.
+ * If the {@code schemaLanguage} parameter is null.
*
* @see #newInstance(String schemaLanguage)
*
@@ -299,16 +299,16 @@
}
/**
- * <p>Is specified schema supported by this <code>SchemaFactory</code>?</p>
+ * Is specified schema supported by this {@code SchemaFactory}?
*
- * @param schemaLanguage Specifies the schema language which the returned <code>SchemaFactory</code> will understand.
- * <code>schemaLanguage</code> must specify a <a href="#schemaLanguage">valid</a> schema language.
+ * @param schemaLanguage Specifies the schema language which the returned {@code SchemaFactory} will understand.
+ * {@code schemaLanguage} must specify a <a href="#schemaLanguage">valid</a> schema language.
*
- * @return <code>true</code> if <code>SchemaFactory</code> supports <code>schemaLanguage</code>, else <code>false</code>.
+ * @return {@code true} if {@code SchemaFactory} supports {@code schemaLanguage}, else {@code false}.
*
- * @throws NullPointerException If <code>schemaLanguage</code> is <code>null</code>.
- * @throws IllegalArgumentException If <code>schemaLanguage.length() == 0</code>
- * or <code>schemaLanguage</code> does not specify a <a href="#schemaLanguage">valid</a> schema language.
+ * @throws NullPointerException If {@code schemaLanguage} is {@code null}.
+ * @throws IllegalArgumentException If {@code schemaLanguage.length() == 0}
+ * or {@code schemaLanguage} does not specify a <a href="#schemaLanguage">valid</a> schema language.
*/
public abstract boolean isSchemaLanguageSupported(String schemaLanguage);
@@ -320,7 +320,7 @@
* temporarily be unable to return its value.
*
* <p>Implementors are free (and encouraged) to invent their own features,
- * using names built on their own URIs.</p>
+ * using names built on their own URIs.
*
* @param name The feature name, which is a non-null fully-qualified URI.
*
@@ -331,7 +331,7 @@
* @throws SAXNotSupportedException When the
* {@link SchemaFactory} recognizes the feature name but
* cannot determine its value at this time.
- * @throws NullPointerException If <code>name</code> is <code>null</code>.
+ * @throws NullPointerException If {@code name} is {@code null}.
*
* @see #setFeature(String, boolean)
*/
@@ -345,38 +345,37 @@
}
/**
- * <p>Set a feature for this <code>SchemaFactory</code>,
+ * Set a feature for this {@code SchemaFactory},
* {@link Schema}s created by this factory, and by extension,
* {@link Validator}s and {@link ValidatorHandler}s created by
* those {@link Schema}s.
- * </p>
*
* <p>Implementors and developers should pay particular attention
* to how the special {@link Schema} object returned by {@link
* #newSchema()} is processed. In some cases, for example, when the
- * <code>SchemaFactory</code> and the class actually loading the
+ * {@code SchemaFactory} and the class actually loading the
* schema come from different implementations, it may not be possible
- * for <code>SchemaFactory</code> features to be inherited automatically.
+ * for {@code SchemaFactory} features to be inherited automatically.
* Developers should
* make sure that features, such as secure processing, are explicitly
- * set in both places.</p>
+ * set in both places.
*
* <p>The feature name is any fully-qualified URI. It is
* possible for a {@link SchemaFactory} to expose a feature value but
- * to be unable to change the current value.</p>
+ * to be unable to change the current value.
*
* <p>All implementations are required to support the {@link javax.xml.XMLConstants#FEATURE_SECURE_PROCESSING} feature.
- * When the feature is:</p>
+ * When the feature is:
* <ul>
* <li>
- * <code>true</code>: the implementation will limit XML processing to conform to implementation limits.
+ * {@code true}: the implementation will limit XML processing to conform to implementation limits.
* Examples include entity expansion limits and XML Schema constructs that would consume large amounts of resources.
* If XML processing is limited for security reasons, it will be reported via a call to the registered
* {@link ErrorHandler#fatalError(SAXParseException exception)}.
* See {@link #setErrorHandler(ErrorHandler errorHandler)}.
* </li>
* <li>
- * <code>false</code>: the implementation will processing XML according to the XML specifications without
+ * {@code false}: the implementation will processing XML according to the XML specifications without
* regard to possible implementation limits.
* </li>
* </ul>
@@ -389,7 +388,7 @@
* @throws SAXNotSupportedException When the
* {@link SchemaFactory} recognizes the feature name but
* cannot set the requested value.
- * @throws NullPointerException If <code>name</code> is <code>null</code>.
+ * @throws NullPointerException If {@code name} is {@code null}.
*
* @see #getFeature(String)
*/
@@ -405,15 +404,15 @@
/**
* Set the value of a property.
*
- * <p>The property name is any fully-qualified URI. It is
+ * <p>The property name is any fully-qualified URI. It is
* possible for a {@link SchemaFactory} to recognize a property name but
- * to be unable to change the current value.</p>
+ * to be unable to change the current value.
*
* <p>
* All implementations that implement JAXP 1.5 or newer are required to
* support the {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_DTD} and
* {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_SCHEMA} properties.
- * </p>
+ *
* <ul>
* <li>
* <p>Access to external DTDs in Schema files is restricted to the protocols
@@ -421,14 +420,14 @@
* If access is denied during the creation of new Schema due to the restriction
* of this property, {@link org.xml.sax.SAXException} will be thrown by the
* {@link #newSchema(Source)} or {@link #newSchema(File)}
- * or {@link #newSchema(URL)} or or {@link #newSchema(Source[])} method.</p>
+ * or {@link #newSchema(URL)} or {@link #newSchema(Source[])} method.
*
* <p>Access to external DTDs in xml source files is restricted to the protocols
* specified by the {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_DTD} property.
* If access is denied during validation due to the restriction
* of this property, {@link org.xml.sax.SAXException} will be thrown by the
* {@link javax.xml.validation.Validator#validate(Source)} or
- * {@link javax.xml.validation.Validator#validate(Source, Result)} method.</p>
+ * {@link javax.xml.validation.Validator#validate(Source, Result)} method.
*
* <p>Access to external reference set by the schemaLocation attribute is
* restricted to the protocols specified by the
@@ -436,7 +435,7 @@
* If access is denied during validation due to the restriction of this property,
* {@link org.xml.sax.SAXException} will be thrown by the
* {@link javax.xml.validation.Validator#validate(Source)} or
- * {@link javax.xml.validation.Validator#validate(Source, Result)} method.</p>
+ * {@link javax.xml.validation.Validator#validate(Source, Result)} method.
*
* <p>Access to external reference set by the Import
* and Include element is restricted to the protocols specified by the
@@ -444,7 +443,7 @@
* If access is denied during the creation of new Schema due to the restriction
* of this property, {@link org.xml.sax.SAXException} will be thrown by the
* {@link #newSchema(Source)} or {@link #newSchema(File)}
- * or {@link #newSchema(URL)} or {@link #newSchema(Source[])} method.</p>
+ * or {@link #newSchema(URL)} or {@link #newSchema(Source[])} method.
* </li>
* </ul>
*
@@ -456,7 +455,7 @@
* @throws SAXNotSupportedException When the
* {@link SchemaFactory} recognizes the property name but
* cannot set the requested value.
- * @throws NullPointerException If <code>name</code> is <code>null</code>.
+ * @throws NullPointerException If {@code name} is {@code null}.
*/
public void setProperty(String name, Object object)
throws SAXNotRecognizedException, SAXNotSupportedException {
@@ -472,13 +471,13 @@
*
* <p>The property name is any fully-qualified URI. It is
* possible for a {@link SchemaFactory} to recognize a property name but
- * temporarily be unable to return its value.</p>
+ * temporarily be unable to return its value.
*
* <p>{@link SchemaFactory}s are not required to recognize any specific
- * property names.</p>
+ * property names.
*
* <p>Implementors are free (and encouraged) to invent their own properties,
- * using names built on their own URIs.</p>
+ * using names built on their own URIs.
*
* @param name The property name, which is a non-null fully-qualified URI.
*
@@ -489,7 +488,7 @@
* @throws SAXNotSupportedException When the
* XMLReader recognizes the property name but
* cannot determine its value at this time.
- * @throws NullPointerException If <code>name</code> is <code>null</code>.
+ * @throws NullPointerException If {@code name} is {@code null}.
*
* @see #setProperty(String, Object)
*/
@@ -504,7 +503,7 @@
/**
* Sets the {@link ErrorHandler} to receive errors encountered
- * during the <code>newSchema</code> method invocation.
+ * during the {@code newSchema} method invocation.
*
* <p>
* Error handler can be used to customize the error handling process
@@ -521,7 +520,7 @@
* <p>
* If any {@link Throwable} (or instances of its derived classes)
* is thrown from an {@link ErrorHandler},
- * the caller of the <code>newSchema</code> method will be thrown
+ * the caller of the {@code newSchema} method will be thrown
* the same {@link Throwable} object.
*
* <p>
@@ -557,7 +556,7 @@
* {@link ValidatorHandler}s that are created from this {@link SchemaFactory}.
*
* @param errorHandler A new error handler to be set.
- * This parameter can be <code>null</code>.
+ * This parameter can be {@code null}.
*/
public abstract void setErrorHandler(ErrorHandler errorHandler);
@@ -583,7 +582,7 @@
* when it needs to locate external resources while parsing schemas,
* although exactly what constitutes "locating external resources" is
* up to each schema language. For example, for W3C XML Schema,
- * this includes files <code><include></code>d or <code><import></code>ed,
+ * this includes files {@code <include>}d or {@code <import>}ed,
* and DTD referenced from schema files, etc.
*
* <p>
@@ -607,7 +606,7 @@
* If a {@link LSResourceResolver} throws a {@link RuntimeException}
* (or instances of its derived classes),
* then the {@link SchemaFactory} will abort the parsing and
- * the caller of the <code>newSchema</code> method will receive
+ * the caller of the {@code newSchema} method will receive
* the same {@link RuntimeException}.
*
* <p>
@@ -635,48 +634,48 @@
public abstract LSResourceResolver getResourceResolver();
/**
- * <p>Parses the specified source as a schema and returns it as a schema.</p>
+ * Parses the specified source as a schema and returns it as a schema.
*
- * <p>This is a convenience method for {@link #newSchema(Source[] schemas)}.</p>
+ * <p>This is a convenience method for {@link #newSchema(Source[] schemas)}.
*
* @param schema Source that represents a schema.
*
- * @return New <code>Schema</code> from parsing <code>schema</code>.
+ * @return New {@code Schema} from parsing {@code schema}.
*
* @throws SAXException If a SAX error occurs during parsing.
- * @throws NullPointerException if <code>schema</code> is null.
+ * @throws NullPointerException if {@code schema} is null.
*/
public Schema newSchema(Source schema) throws SAXException {
return newSchema(new Source[]{schema});
}
/**
- * <p>Parses the specified <code>File</code> as a schema and returns it as a <code>Schema</code>.</p>
+ * Parses the specified {@code File} as a schema and returns it as a {@code Schema}.
*
- * <p>This is a convenience method for {@link #newSchema(Source schema)}.</p>
+ * <p>This is a convenience method for {@link #newSchema(Source schema)}.
*
* @param schema File that represents a schema.
*
- * @return New <code>Schema</code> from parsing <code>schema</code>.
+ * @return New {@code Schema} from parsing {@code schema}.
*
* @throws SAXException If a SAX error occurs during parsing.
- * @throws NullPointerException if <code>schema</code> is null.
+ * @throws NullPointerException if {@code schema} is null.
*/
public Schema newSchema(File schema) throws SAXException {
return newSchema(new StreamSource(schema));
}
/**
- * <p>Parses the specified <code>URL</code> as a schema and returns it as a <code>Schema</code>.</p>
+ * Parses the specified {@code URL} as a schema and returns it as a {@code Schema}.
*
- * <p>This is a convenience method for {@link #newSchema(Source schema)}.</p>
+ * <p>This is a convenience method for {@link #newSchema(Source schema)}.
*
- * @param schema <code>URL</code> that represents a schema.
+ * @param schema {@code URL} that represents a schema.
*
- * @return New <code>Schema</code> from parsing <code>schema</code>.
+ * @return New {@code Schema} from parsing {@code schema}.
*
* @throws SAXException If a SAX error occurs during parsing.
- * @throws NullPointerException if <code>schema</code> is null.
+ * @throws NullPointerException if {@code schema} is null.
*/
public Schema newSchema(URL schema) throws SAXException {
return newSchema(new StreamSource(schema.toExternalForm()));
@@ -710,7 +709,7 @@
* regard. While a processor should be consistent in its treatment of
* JAXP schema sources and XML Schema imports, the behaviour between
* JAXP-compliant parsers may vary; in particular, parsers may choose
- * to ignore all but the first <import> for a given namespace,
+ * to ignore all but the first {@code <import>} for a given namespace,
* regardless of information provided in schemaLocation.
*
* <p>
@@ -721,7 +720,7 @@
* <h2>RELAX NG</h2>
*
* <p>For RELAX NG, this method must throw {@link UnsupportedOperationException}
- * if <code>schemas.length!=1</code>.
+ * if {@code schemas.length!=1}.
*
*
* @param schemas
@@ -748,7 +747,7 @@
* When an {@link ErrorHandler} is set, errors are reported to
* there first. See {@link #setErrorHandler(ErrorHandler)}.
* @throws NullPointerException
- * If the <code>schemas</code> parameter itself is null or
+ * If the {@code schemas} parameter itself is null or
* any item in the array is null.
* @throws IllegalArgumentException
* If any item in the array is not recognized by this method.
@@ -765,7 +764,7 @@
* is created.
*
* <p>Also, implementations are allowed to use implementation-specific
- * property/feature to alter the semantics of this method.</p>
+ * property/feature to alter the semantics of this method.
*
* <p>Implementors and developers should pay particular attention
* to how the features set on this {@link SchemaFactory} are
@@ -776,7 +775,7 @@
* for {@link SchemaFactory} features to be inherited automatically.
* Developers should
* make sure that features, such as secure processing, are explicitly
- * set in both places.</p>
+ * set in both places.
*
* <h2>W3C XML Schema 1.0</h2>
* <p>
--- a/jaxp/src/java.xml/share/classes/javax/xml/validation/Validator.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/validation/Validator.java Mon Apr 27 09:17:39 2015 -0700
@@ -37,16 +37,15 @@
import org.xml.sax.SAXNotSupportedException;
/**
- * <p>A processor that checks an XML document against {@link Schema}.</p>
+ * A processor that checks an XML document against {@link Schema}.
*
* <p>
* A validator object is not thread-safe and not reentrant.
* In other words, it is the application's responsibility to make
* sure that one {@link Validator} object is not used from
- * more than one thread at any given time, and while the <code>validate</code>
+ * more than one thread at any given time, and while the {@code validate}
* method is invoked, applications may not recursively call
- * the <code>validate</code> method.
- * <p>
+ * the {@code validate} method.
*
*
* @author <a href="mailto:Kohsuke.Kawaguchi@Sun.com">Kohsuke Kawaguchi</a>
@@ -57,27 +56,28 @@
/**
* Constructor for derived classes.
*
- * <p>The constructor does nothing.</p>
+ * <p>The constructor does nothing.
*
* <p>Derived classes must create {@link Validator} objects that have
- * <code>null</code> {@link ErrorHandler} and
- * <code>null</code> {@link LSResourceResolver}.
- * </p>
+ * {@code null} {@link ErrorHandler} and
+ * {@code null} {@link LSResourceResolver}.
*/
protected Validator() {
}
/**
- * <p>Reset this <code>Validator</code> to its original configuration.</p>
+ * Reset this {@code Validator} to its original configuration.
*
- * <p><code>Validator</code> is reset to the same state as when it was created with
+ * <p>{@code Validator} is reset to the same state as when it was created with
* {@link Schema#newValidator()}.
- * <code>reset()</code> is designed to allow the reuse of existing <code>Validator</code>s
- * thus saving resources associated with the creation of new <code>Validator</code>s.</p>
+ * {@code reset()} is designed to allow the reuse of existing {@code Validator}s
+ * thus saving resources associated with the creation of new {@code Validator}s.
*
- * <p>The reset <code>Validator</code> is not guaranteed to have the same {@link LSResourceResolver} or {@link ErrorHandler}
- * <code>Object</code>s, e.g. {@link Object#equals(Object obj)}. It is guaranteed to have a functionally equal
- * <code>LSResourceResolver</code> and <code>ErrorHandler</code>.</p>
+ * <p>The reset {@code Validator} is not guaranteed to have
+ * the same {@link LSResourceResolver} or {@link ErrorHandler}
+ * {@code Object}s, e.g. {@link Object#equals(Object obj)}.
+ * It is guaranteed to have a functionally equal
+ * {@code LSResourceResolver} and {@code ErrorHandler}.
*/
public abstract void reset();
@@ -86,7 +86,7 @@
*
* <p>This is just a convenience method for
* {@link #validate(Source source, Result result)}
- * with <code>result</code> of <code>null</code>.</p>
+ * with {@code result} of {@code null}.
*
* @param source
* XML to be validated. Must be an XML document or
@@ -97,7 +97,7 @@
* or throw an IllegalArgumentException.
*
* @throws IllegalArgumentException
- * If the <code>Source</code>
+ * If the {@code Source}
* is an XML artifact that the implementation cannot
* validate (for example, a processing instruction).
*
@@ -113,8 +113,8 @@
* {@link IOException}.
*
*
- * @throws NullPointerException If <code>source</code> is
- * <code>null</code>.
+ * @throws NullPointerException If {@code source} is
+ * {@code null}.
*
* @see #validate(Source source, Result result)
*/
@@ -125,16 +125,16 @@
}
/**
- * <p>Validates the specified input and send the augmented validation
- * result to the specified output.</p>
+ * Validates the specified input and send the augmented validation
+ * result to the specified output.
*
* <p>This method places the following restrictions on the types of
- * the {@link Source}/{@link Result} accepted.</p>
+ * the {@link Source}/{@link Result} accepted.
*
* <table border=1>
* <thead>
* <tr>
- * <th colspan="5"><code>Source</code> / <code>Result</code> Accepted</th>
+ * <th colspan="5">{@code Source} / {@code Result} Accepted</th>
* </tr>
* <tr>
* <th></th>
@@ -146,7 +146,7 @@
* </thead>
* <tbody align="center">
* <tr>
- * <td><code>null</code></td>
+ * <td>{@code null}</td>
* <td>OK</td>
* <td>OK</td>
* <td>OK</td>
@@ -155,44 +155,44 @@
* <tr>
* <th>{@link javax.xml.transform.stream.StreamResult}</th>
* <td>OK</td>
- * <td><code>IllegalArgumentException</code></td>
- * <td><code>IllegalArgumentException</code></td>
- * <td><code>IllegalArgumentException</code></td>
+ * <td>{@code IllegalArgumentException}</td>
+ * <td>{@code IllegalArgumentException}</td>
+ * <td>{@code IllegalArgumentException}</td>
* </tr>
* <tr>
* <th>{@link javax.xml.transform.sax.SAXResult}</th>
- * <td><code>IllegalArgumentException</code></td>
+ * <td>{@code IllegalArgumentException}</td>
* <td>OK</td>
- * <td><code>IllegalArgumentException</code></td>
- * <td><code>IllegalArgumentException</code></td>
+ * <td>{@code IllegalArgumentException}</td>
+ * <td>{@code IllegalArgumentException}</td>
* </tr>
* <tr>
* <th>{@link javax.xml.transform.dom.DOMResult}</th>
- * <td><code>IllegalArgumentException</code></td>
- * <td><code>IllegalArgumentException</code></td>
+ * <td>{@code IllegalArgumentException}</td>
+ * <td>{@code IllegalArgumentException}</td>
* <td>OK</td>
- * <td><code>IllegalArgumentException</code></td>
+ * <td>{@code IllegalArgumentException}</td>
* </tr>
* <tr>
* <th>{@link javax.xml.transform.stax.StAXResult}</th>
- * <td><code>IllegalArgumentException</code></td>
- * <td><code>IllegalArgumentException</code></td>
- * <td><code>IllegalArgumentException</code></td>
+ * <td>{@code IllegalArgumentException}</td>
+ * <td>{@code IllegalArgumentException}</td>
+ * <td>{@code IllegalArgumentException}</td>
* <td>OK</td>
* </tr>
* </tbody>
* </table>
*
- * <p>To validate one <code>Source</code> into another kind of
- * <code>Result</code>, use the identity transformer (see
- * {@link javax.xml.transform.TransformerFactory#newTransformer()}).</p>
+ * <p>To validate one {@code Source} into another kind of
+ * {@code Result}, use the identity transformer (see
+ * {@link javax.xml.transform.TransformerFactory#newTransformer()}).
*
* <p>Errors found during the validation is sent to the specified
- * {@link ErrorHandler}.</p>
+ * {@link ErrorHandler}.
*
* <p>If a document is valid, or if a document contains some errors
- * but none of them were fatal and the <code>ErrorHandler</code> didn't
- * throw any exception, then the method returns normally.</p>
+ * but none of them were fatal and the {@code ErrorHandler} didn't
+ * throw any exception, then the method returns normally.
*
* @param source
* XML to be validated. Must be an XML document or
@@ -203,34 +203,34 @@
* or throw an IllegalArgumentException.
*
* @param result
- * The <code>Result</code> object that receives (possibly augmented)
+ * The {@code Result} object that receives (possibly augmented)
* XML. This parameter can be null if the caller is not interested
* in it.
*
- * Note that when a <code>DOMResult</code> is used,
+ * Note that when a {@code DOMResult} is used,
* a validator might just pass the same DOM node from
- * <code>DOMSource</code> to <code>DOMResult</code>
- * (in which case <code>source.getNode()==result.getNode()</code>),
+ * {@code DOMSource} to {@code DOMResult}
+ * (in which case {@code source.getNode()==result.getNode()}),
* it might copy the entire DOM tree, or it might alter the
* node given by the source.
*
* @throws IllegalArgumentException
- * If the <code>Result</code> type doesn't match the
- * <code>Source</code> type of if the <code>Source</code>
+ * If the {@code Result} type doesn't match the
+ * {@code Source} type of if the {@code Source}
* is an XML artifact that the implementation cannot
* validate (for example, a processing instruction).
* @throws SAXException
- * If the <code>ErrorHandler</code> throws a
- * <code>SAXException</code> or
- * if a fatal error is found and the <code>ErrorHandler</code> returns
+ * If the {@code ErrorHandler} throws a
+ * {@code SAXException} or
+ * if a fatal error is found and the {@code ErrorHandler} returns
* normally.
* @throws IOException
* If the validator is processing a
- * <code>SAXSource</code> and the
+ * {@code SAXSource} and the
* underlying {@link org.xml.sax.XMLReader} throws an
- * <code>IOException</code>.
+ * {@code IOException}.
* @throws NullPointerException
- * If the <code>source</code> parameter is <code>null</code>.
+ * If the {@code source} parameter is {@code null}.
*
* @see #validate(Source source)
*/
@@ -239,7 +239,7 @@
/**
* Sets the {@link ErrorHandler} to receive errors encountered
- * during the <code>validate</code> method invocation.
+ * during the {@code validate} method invocation.
*
* <p>
* Error handler can be used to customize the error handling process
@@ -255,7 +255,7 @@
*
* <p>
* If any {@link Throwable} is thrown from an {@link ErrorHandler},
- * the caller of the <code>validate</code> method will be thrown
+ * the caller of the {@code validate} method will be thrown
* the same {@link Throwable} object.
*
* <p>
@@ -329,7 +329,7 @@
* If a {@link LSResourceResolver} throws a {@link RuntimeException}
* (or instances of its derived classes),
* then the {@link Validator} will abort the parsing and
- * the caller of the <code>validate</code> method will receive
+ * the caller of the {@code validate} method will receive
* the same {@link RuntimeException}.
*
* <p>
@@ -366,7 +366,7 @@
* contexts, such as before, during, or after a validation.
*
* <p>Implementors are free (and encouraged) to invent their own features,
- * using names built on their own URIs.</p>
+ * using names built on their own URIs.
*
* @param name The feature name, which is a non-null fully-qualified URI.
*
@@ -398,14 +398,14 @@
* <p>
* Feature can be used to control the way a {@link Validator}
* parses schemas, although {@link Validator}s are not required
- * to recognize any specific feature names.</p>
+ * to recognize any specific feature names.
*
* <p>The feature name is any fully-qualified URI. It is
* possible for a {@link Validator} to expose a feature value but
* to be unable to change the current value.
* Some feature values may be immutable or mutable only
* in specific contexts, such as before, during, or after
- * a validation.</p>
+ * a validation.
*
* @param name The feature name, which is a non-null fully-qualified URI.
* @param value The requested value of the feature (true or false).
@@ -438,27 +438,27 @@
* to be unable to change the current value.
* Some property values may be immutable or mutable only
* in specific contexts, such as before, during, or after
- * a validation.</p>
+ * a validation.
*
* <p>
* All implementations that implement JAXP 1.5 or newer are required to
* support the {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_DTD} and
* {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_SCHEMA} properties.
- * </p>
+ *
* <ul>
* <li>
* <p>Access to external DTDs in source or Schema file is restricted to
* the protocols specified by the {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_DTD}
* property. If access is denied during validation due to the restriction
* of this property, {@link org.xml.sax.SAXException} will be thrown by the
- * {@link #validate(Source)} method.</p>
+ * {@link #validate(Source)} method.
*
* <p>Access to external reference set by the schemaLocation attribute is
* restricted to the protocols specified by the
* {@link javax.xml.XMLConstants#ACCESS_EXTERNAL_SCHEMA} property.
* If access is denied during validation due to the restriction of this property,
* {@link org.xml.sax.SAXException} will be thrown by the
- * {@link #validate(Source)} method.</p>
+ * {@link #validate(Source)} method.
* </li>
* </ul>
*
@@ -490,13 +490,13 @@
* possible for a {@link Validator} to recognize a property name but
* temporarily be unable to return its value.
* Some property values may be available only in specific
- * contexts, such as before, during, or after a validation.</p>
+ * contexts, such as before, during, or after a validation.
*
* <p>{@link Validator}s are not required to recognize any specific
- * property names.</p>
+ * property names.
*
* <p>Implementors are free (and encouraged) to invent their own properties,
- * using names built on their own URIs.</p>
+ * using names built on their own URIs.
*
* @param name The property name, which is a non-null fully-qualified URI.
*
--- a/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPath.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPath.java Mon Apr 27 09:17:39 2015 -0700
@@ -32,7 +32,7 @@
/**
* {@code XPath} provides access to the XPath evaluation environment and expressions.
*
- * <a name="XPath-evaluation"/>
+ * <a name="XPath-evaluation"></a>
* <table border="1" cellpadding="2">
* <thead>
* <tr>
@@ -90,7 +90,6 @@
* more than one thread at any given time, and while the {@code evaluate}
* method is invoked, applications may not recursively call
* the {@code evaluate} method.
- * <p>
*
* @author <a href="Norman.Walsh@Sun.com">Norman Walsh</a>
* @author <a href="Jeff.Suttor@Sun.com">Jeff Suttor</a>
@@ -462,7 +461,6 @@
* <pre> {@code
* evaluateExpression(expression, item, XPathEvaluationResult.class);
* }</pre>
- * <p>
*
* @implSpec
* The default implementation in the XPath API is equivalent to:
--- a/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathEvaluationResult.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathEvaluationResult.java Mon Apr 27 09:17:39 2015 -0700
@@ -32,7 +32,6 @@
* evaluation of an XPath expression within the context of a particular node.
* The evaluation of an XPath expression can result in various result types as
* defined in XML Path Language (XPath) Version 1.0.
- * <p>
*
* @param <T> the object type returned by the XPath evaluation.
* @see <a href="http://www.w3.org/TR/xpath">XML Path Language (XPath) Version
@@ -121,7 +120,7 @@
public XPathResultType type();
/**
- * Returns the value of the result as the type <T> specified for the class.
+ * Returns the value of the result as the type {@code <T>} specified for the class.
*
* @return The value of the result.
*/
--- a/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathException.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathException.java Mon Apr 27 09:17:39 2015 -0700
@@ -33,7 +33,7 @@
import java.io.InvalidClassException;
/**
- * <code>XPathException</code> represents a generic XPath exception.</p>
+ * {@code XPathException} represents a generic XPath exception.
*
* @author <a href="Norman.Walsh@Sun.com">Norman Walsh</a>
* @author <a href="mailto:Jeff.Suttor@Sun.COM">Jeff Suttor</a>
@@ -46,23 +46,23 @@
};
/**
- * <p>Stream Unique Identifier.</p>
+ * Stream Unique Identifier.
*/
private static final long serialVersionUID = -1837080260374986980L;
/**
- * <p>Constructs a new <code>XPathException</code>
- * with the specified detail <code>message</code>.</p>
+ * Constructs a new {@code XPathException}
+ * with the specified detail {@code message}.
*
- * <p>The <code>cause</code> is not initialized.</p>
+ * <p>The {@code cause} is not initialized.
*
- * <p>If <code>message</code> is <code>null</code>,
- * then a <code>NullPointerException</code> is thrown.</p>
+ * <p>If {@code message} is {@code null},
+ * then a {@code NullPointerException} is thrown.
*
* @param message The detail message.
*
- * @throws NullPointerException When <code>message</code> is
- * <code>null</code>.
+ * @throws NullPointerException When {@code message} is
+ * {@code null}.
*/
public XPathException(String message) {
super(message);
@@ -72,15 +72,15 @@
}
/**
- * <p>Constructs a new <code>XPathException</code>
- * with the specified <code>cause</code>.</p>
+ * Constructs a new {@code XPathException}
+ * with the specified {@code cause}.
*
- * <p>If <code>cause</code> is <code>null</code>,
- * then a <code>NullPointerException</code> is thrown.</p>
+ * <p>If {@code cause} is {@code null},
+ * then a {@code NullPointerException} is thrown.
*
* @param cause The cause.
*
- * @throws NullPointerException if <code>cause</code> is <code>null</code>.
+ * @throws NullPointerException if {@code cause} is {@code null}.
*/
public XPathException(Throwable cause) {
super(cause);
@@ -90,7 +90,7 @@
}
/**
- * <p>Get the cause of this XPathException.</p>
+ * Get the cause of this XPathException.
*
* @return Cause of this XPathException.
*/
@@ -103,7 +103,7 @@
* The cause is got from the parent class.
*
* @param out stream used for serialization.
- * @throws IOException thrown by <code>ObjectOutputStream</code>
+ * @throws IOException thrown by {@code ObjectOutputStream}
*
*/
private void writeObject(ObjectOutputStream out)
@@ -120,8 +120,8 @@
* done before.
*
* @param in stream used for deserialization
- * @throws IOException thrown by <code>ObjectInputStream</code>
- * @throws ClassNotFoundException thrown by <code>ObjectInputStream</code>
+ * @throws IOException thrown by {@code ObjectInputStream}
+ * @throws ClassNotFoundException thrown by {@code ObjectInputStream}
*/
private void readObject(ObjectInputStream in)
throws IOException, ClassNotFoundException
@@ -139,9 +139,9 @@
}
/**
- * <p>Print stack trace to specified <code>PrintStream</code>.</p>
+ * Print stack trace to specified {@code PrintStream}.
*
- * @param s Print stack trace to this <code>PrintStream</code>.
+ * @param s Print stack trace to this {@code PrintStream}.
*/
public void printStackTrace(java.io.PrintStream s) {
if (getCause() != null) {
@@ -153,16 +153,16 @@
}
/**
- * <p>Print stack trace to <code>System.err</code>.</p>
+ * Print stack trace to {@code System.err}.
*/
public void printStackTrace() {
printStackTrace(System.err);
}
/**
- * <p>Print stack trace to specified <code>PrintWriter</code>.</p>
+ * Print stack trace to specified {@code PrintWriter}.
*
- * @param s Print stack trace to this <code>PrintWriter</code>.
+ * @param s Print stack trace to this {@code PrintWriter}.
*/
public void printStackTrace(PrintWriter s) {
--- a/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathExpression.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathExpression.java Mon Apr 27 09:17:39 2015 -0700
@@ -29,9 +29,9 @@
import org.xml.sax.InputSource;
/**
- * <p>{@code XPathExpression} provides access to compiled XPath expressions.</p>
+ * {@code XPathExpression} provides access to compiled XPath expressions.
*
- * <a name="XPathExpression-evaluation"/>
+ * <a name="XPathExpression-evaluation"></a>
* <table border="1" cellpadding="2">
* <thead>
* <tr>
@@ -54,7 +54,7 @@
* If the expression contains a variable reference, its value will be found through the {@link XPathVariableResolver}.
* An {@link XPathExpressionException} is raised if the variable resolver is undefined or
* the resolver returns {@code null} for the variable.
- * The value of a variable must be immutable through the course of any single evaluation.</p>
+ * The value of a variable must be immutable through the course of any single evaluation.
* </td>
* </tr>
* <tr>
@@ -62,7 +62,7 @@
* <td>
* If the expression contains a function reference, the function will be found through the {@link XPathFunctionResolver}.
* An {@link XPathExpressionException} is raised if the function resolver is undefined or
- * the function resolver returns {@code null} for the function.</p>
+ * the function resolver returns {@code null} for the function.
* </td>
* </tr>
* <tr>
@@ -76,9 +76,10 @@
* <td>
* This result of evaluating an expression is converted to an instance of the desired return type.
* Valid return types are defined in {@link XPathConstants}.
- * Conversion to the return type follows XPath conversion rules.</p>
+ * Conversion to the return type follows XPath conversion rules.
* </td>
* </tr>
+ * </tbody>
* </table>
*
* <p>An XPath expression is not thread-safe and not reentrant.
@@ -87,7 +88,6 @@
* more than one thread at any given time, and while the {@code evaluate}
* method is invoked, applications may not recursively call
* the {@code evaluate} method.
- * <p>
*
* @author <a href="mailto:Norman.Walsh@Sun.com">Norman Walsh</a>
* @author <a href="mailto:Jeff.Suttor@Sun.com">Jeff Suttor</a>
@@ -98,10 +98,10 @@
/**
- * <p>Evaluate the compiled XPath expression in the specified context and return the result as the specified type.</p>
+ * Evaluate the compiled XPath expression in the specified context and return the result as the specified type.
*
* <p>See <a href="#XPathExpression-evaluation">Evaluation of XPath Expressions</a> for context item evaluation,
- * variable, function and QName resolution and return type conversion.</p>
+ * variable, function and QName resolution and return type conversion.
*
* <p>
* The parameter {@code item} represents the context the XPath expression
@@ -126,13 +126,13 @@
throws XPathExpressionException;
/**
- * <p>Evaluate the compiled XPath expression in the specified context and return the result as a {@code String}.</p>
+ * Evaluate the compiled XPath expression in the specified context and return the result as a {@code String}.
*
* <p>This method calls {@link #evaluate(Object item, QName returnType)} with a {@code returnType} of
- * {@link XPathConstants#STRING}.</p>
+ * {@link XPathConstants#STRING}.
*
* <p>See <a href="#XPathExpression-evaluation">Evaluation of XPath Expressions</a> for context item evaluation,
- * variable, function and QName resolution and return type conversion.</p>
+ * variable, function and QName resolution and return type conversion.
*
* <p>
* The parameter {@code item} represents the context the XPath expression
@@ -153,20 +153,21 @@
throws XPathExpressionException;
/**
- * <p>Evaluate the compiled XPath expression in the context of the specified {@code InputSource} and return the result as the
- * specified type.</p>
+ * Evaluate the compiled XPath expression in the context
+ * of the specified {@code InputSource} and return the result as the
+ * specified type.
*
* <p>This method builds a data model for the {@link InputSource} and calls
- * {@link #evaluate(Object item, QName returnType)} on the resulting document object.</p>
+ * {@link #evaluate(Object item, QName returnType)} on the resulting document object.
*
* <p>See <a href="#XPathExpression-evaluation">Evaluation of XPath Expressions</a> for context item evaluation,
- * variable, function and QName resolution and return type conversion.</p>
+ * variable, function and QName resolution and return type conversion.
*
* <p>If {@code returnType} is not one of the types defined in {@link XPathConstants},
- * then an {@code IllegalArgumentException} is thrown.</p>
+ * then an {@code IllegalArgumentException} is thrown.
*
* <p>If {@code source} or {@code returnType} is {@code null},
- * then a {@code NullPointerException} is thrown.</p>
+ * then a {@code NullPointerException} is thrown.
*
* @param source The {@code InputSource} of the document to evaluate over.
* @param returnType The desired return type.
@@ -182,16 +183,17 @@
throws XPathExpressionException;
/**
- * <p>Evaluate the compiled XPath expression in the context of the specified {@code InputSource} and return the result as a
- * {@code String}.</p>
+ * Evaluate the compiled XPath expression in the context
+ * of the specified {@code InputSource} and return the result as a
+ * {@code String}.
*
* <p>This method calls {@link #evaluate(InputSource source, QName returnType)} with a {@code returnType} of
- * {@link XPathConstants#STRING}.</p>
+ * {@link XPathConstants#STRING}.
*
* <p>See <a href="#XPathExpression-evaluation">Evaluation of XPath Expressions</a> for context item evaluation,
- * variable, function and QName resolution and return type conversion.</p>
+ * variable, function and QName resolution and return type conversion.
*
- * <p>If {@code source} is {@code null}, then a {@code NullPointerException} is thrown.</p>
+ * <p>If {@code source} is {@code null}, then a {@code NullPointerException} is thrown.
*
* @param source The {@code InputSource} of the document to evaluate over.
*
@@ -351,7 +353,6 @@
* <pre> {@code
* evaluateExpression(source, XPathEvaluationResult.class);
* }</pre>
- * <p>
*
* @implSpec
* The default implementation in the XPath API is equivalent to:
--- a/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathExpressionException.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathExpressionException.java Mon Apr 27 09:17:39 2015 -0700
@@ -26,7 +26,7 @@
package javax.xml.xpath;
/**
- * <code>XPathExpressionException</code> represents an error in an XPath expression.</p>
+ * {@code XPathExpressionException} represents an error in an XPath expression.
*
* @author <a href="mailto:Norman.Walsh@Sun.com">Norman Walsh</a>
* @author <a href="mailto:Jeff.Suttor@Sun.com">Jeff Suttor</a>
@@ -35,38 +35,38 @@
public class XPathExpressionException extends XPathException {
/**
- * <p>Stream Unique Identifier.</p>
+ * Stream Unique Identifier.
*/
private static final long serialVersionUID = -1837080260374986980L;
/**
- * <p>Constructs a new <code>XPathExpressionException</code>
- * with the specified detail <code>message</code>.</p>
+ * Constructs a new {@code XPathExpressionException}
+ * with the specified detail {@code message}.
*
- * <p>The <code>cause</code> is not initialized.</p>
+ * <p>The {@code cause} is not initialized.
*
- * <p>If <code>message</code> is <code>null</code>,
- * then a <code>NullPointerException</code> is thrown.</p>
+ * <p>If {@code message} is {@code null},
+ * then a {@code NullPointerException} is thrown.
*
* @param message The detail message.
*
- * @throws NullPointerException When <code>message</code> is
- * <code>null</code>.
+ * @throws NullPointerException When {@code message} is
+ * {@code null}.
*/
public XPathExpressionException(String message) {
super(message);
}
/**
- * <p>Constructs a new <code>XPathExpressionException</code>
- * with the specified <code>cause</code>.</p>
+ * Constructs a new {@code XPathExpressionException}
+ * with the specified {@code cause}.
*
- * <p>If <code>cause</code> is <code>null</code>,
- * then a <code>NullPointerException</code> is thrown.</p>
+ * <p>If {@code cause} is {@code null},
+ * then a {@code NullPointerException} is thrown.
*
* @param cause The cause.
*
- * @throws NullPointerException if <code>cause</code> is <code>null</code>.
+ * @throws NullPointerException if {@code cause} is {@code null}.
*/
public XPathExpressionException(Throwable cause) {
super(cause);
--- a/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathFactoryConfigurationException.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathFactoryConfigurationException.java Mon Apr 27 09:17:39 2015 -0700
@@ -26,7 +26,8 @@
package javax.xml.xpath;
/**
- * <code>XPathFactoryConfigurationException</code> represents a configuration error in a <code>XPathFactory</code> environment.</p>
+ * {@code XPathFactoryConfigurationException} represents
+ * a configuration error in a {@code XPathFactory} environment.
*
* @author <a href="mailto:Norman.Walsh@Sun.com">Norman Walsh</a>
* @author <a href="mailto:Jeff.Suttor@Sun.com">Jeff Suttor</a>
@@ -35,37 +36,38 @@
public class XPathFactoryConfigurationException extends XPathException {
/**
- * <p>Stream Unique Identifier.</p>
+ * Stream Unique Identifier.
*/
private static final long serialVersionUID = -1837080260374986980L;
/**
- * <p>Constructs a new <code>XPathFactoryConfigurationException</code> with the specified detail <code>message</code>.</p>
+ * Constructs a new {@code XPathFactoryConfigurationException}
+ * with the specified detail {@code message}.
*
- * <p>The <code>cause</code> is not initialized.</p>
+ * <p>The {@code cause} is not initialized.
*
- * <p>If <code>message</code> is <code>null</code>,
- * then a <code>NullPointerException</code> is thrown.</p>
+ * <p>If {@code message} is {@code null},
+ * then a {@code NullPointerException} is thrown.
*
* @param message The detail message.
*
- * @throws NullPointerException When <code>message</code> is
- * <code>null</code>.
+ * @throws NullPointerException When {@code message} is
+ * {@code null}.
*/
public XPathFactoryConfigurationException(String message) {
super(message);
}
/**
- * <p>Constructs a new <code>XPathFactoryConfigurationException</code>
- * with the specified <code>cause</code>.</p>
+ * Constructs a new {@code XPathFactoryConfigurationException}
+ * with the specified {@code cause}.
*
- * <p>If <code>cause</code> is <code>null</code>,
- * then a <code>NullPointerException</code> is thrown.</p>
+ * <p>If {@code cause} is {@code null},
+ * then a {@code NullPointerException} is thrown.
*
* @param cause The cause.
*
- * @throws NullPointerException if <code>cause</code> is <code>null</code>.
+ * @throws NullPointerException if {@code cause} is {@code null}.
*/
public XPathFactoryConfigurationException(Throwable cause) {
super(cause);
--- a/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathFunctionException.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathFunctionException.java Mon Apr 27 09:17:39 2015 -0700
@@ -26,7 +26,7 @@
package javax.xml.xpath;
/**
- * <code>XPathFunctionException</code> represents an error with an XPath function.</p>
+ * {@code XPathFunctionException} represents an error with an XPath function.
*
* @author <a href="mailto:Norman.Walsh@Sun.com">Norman Walsh</a>
* @author <a href="mailto:Jeff.Suttor@Sun.com">Jeff Suttor</a>
@@ -35,36 +35,36 @@
public class XPathFunctionException extends XPathExpressionException {
/**
- * <p>Stream Unique Identifier.</p>
+ * Stream Unique Identifier.
*/
private static final long serialVersionUID = -1837080260374986980L;
/**
- * <p>Constructs a new <code>XPathFunctionException</code> with the specified detail <code>message</code>.</p>
+ * Constructs a new {@code XPathFunctionException} with the specified detail {@code message}.
*
- * <p>The <code>cause</code> is not initialized.</p>
+ * <p>The {@code cause} is not initialized.
*
- * <p>If <code>message</code> is <code>null</code>,
- * then a <code>NullPointerException</code> is thrown.</p>
+ * <p>If {@code message} is {@code null},
+ * then a {@code NullPointerException} is thrown.
*
* @param message The detail message.
*
- * @throws NullPointerException When <code>message</code> is
- * <code>null</code>.
+ * @throws NullPointerException When {@code message} is
+ * {@code null}.
*/
public XPathFunctionException(String message) {
super(message);
}
/**
- * <p>Constructs a new <code>XPathFunctionException</code> with the specified <code>cause</code>.</p>
+ * Constructs a new {@code XPathFunctionException} with the specified {@code cause}.
*
- * <p>If <code>cause</code> is <code>null</code>,
- * then a <code>NullPointerException</code> is thrown.</p>
+ * <p>If {@code cause} is {@code null},
+ * then a {@code NullPointerException} is thrown.
*
* @param cause The cause.
*
- * @throws NullPointerException if <code>cause</code> is <code>null</code>.
+ * @throws NullPointerException if {@code cause} is {@code null}.
*/
public XPathFunctionException(Throwable cause) {
super(cause);
--- a/jaxp/src/java.xml/share/classes/javax/xml/xpath/package.html Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/javax/xml/xpath/package.html Mon Apr 27 09:17:39 2015 -0700
@@ -282,7 +282,6 @@
<h3>5. Using the XPath API</h3>
Consider the following XML document:
-<p>
<blockquote>
<pre>
<widgets>
@@ -366,7 +365,6 @@
specification also provides functions that returns Integer type. To facilitate
such operations, the XPath API allows Integer and Long to be used in
{@code evaluateExpression} method such as the following code:
-<p>
<blockquote>
<pre>
int count = xpath.evaluate("count(/widgets/widget)", document, Integer.class);
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSS2Properties.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1806 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSS2Properties</code> interface represents a convenience
- * mechanism for retrieving and setting properties within a
- * <code>CSSStyleDeclaration</code>. The attributes of this interface
- * correspond to all the properties specified in CSS2. Getting an attribute
- * of this interface is equivalent to calling the
- * <code>getPropertyValue</code> method of the
- * <code>CSSStyleDeclaration</code> interface. Setting an attribute of this
- * interface is equivalent to calling the <code>setProperty</code> method of
- * the <code>CSSStyleDeclaration</code> interface.
- * <p> A conformant implementation of the CSS module is not required to
- * implement the <code>CSS2Properties</code> interface. If an implementation
- * does implement this interface, the expectation is that language-specific
- * methods can be used to cast from an instance of the
- * <code>CSSStyleDeclaration</code> interface to the
- * <code>CSS2Properties</code> interface.
- * <p> If an implementation does implement this interface, it is expected to
- * understand the specific syntax of the shorthand properties, and apply
- * their semantics; when the <code>margin</code> property is set, for
- * example, the <code>marginTop</code>, <code>marginRight</code>,
- * <code>marginBottom</code> and <code>marginLeft</code> properties are
- * actually being set by the underlying implementation.
- * <p> When dealing with CSS "shorthand" properties, the shorthand properties
- * should be decomposed into their component longhand properties as
- * appropriate, and when querying for their value, the form returned should
- * be the shortest form exactly equivalent to the declarations made in the
- * ruleset. However, if there is no shorthand declaration that could be
- * added to the ruleset without changing in any way the rules already
- * declared in the ruleset (i.e., by adding longhand rules that were
- * previously not declared in the ruleset), then the empty string should be
- * returned for the shorthand property.
- * <p> For example, querying for the <code>font</code> property should not
- * return "normal normal normal 14pt/normal Arial, sans-serif", when "14pt
- * Arial, sans-serif" suffices. (The normals are initial values, and are
- * implied by use of the longhand property.)
- * <p> If the values for all the longhand properties that compose a particular
- * string are the initial values, then a string consisting of all the
- * initial values should be returned (e.g. a <code>border-width</code> value
- * of "medium" should be returned as such, not as "").
- * <p> For some shorthand properties that take missing values from other
- * sides, such as the <code>margin</code>, <code>padding</code>, and
- * <code>border-[width|style|color]</code> properties, the minimum number of
- * sides possible should be used; i.e., "0px 10px" will be returned instead
- * of "0px 10px 0px 10px".
- * <p> If the value of a shorthand property can not be decomposed into its
- * component longhand properties, as is the case for the <code>font</code>
- * property with a value of "menu", querying for the values of the component
- * longhand properties should return the empty string.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSS2Properties {
- /**
- * See the azimuth property definition in CSS2.
- */
- public String getAzimuth();
- /**
- * See the azimuth property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setAzimuth(String azimuth)
- throws DOMException;
-
- /**
- * See the background property definition in CSS2.
- */
- public String getBackground();
- /**
- * See the background property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBackground(String background)
- throws DOMException;
-
- /**
- * See the background-attachment property definition in CSS2.
- */
- public String getBackgroundAttachment();
- /**
- * See the background-attachment property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBackgroundAttachment(String backgroundAttachment)
- throws DOMException;
-
- /**
- * See the background-color property definition in CSS2.
- */
- public String getBackgroundColor();
- /**
- * See the background-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBackgroundColor(String backgroundColor)
- throws DOMException;
-
- /**
- * See the background-image property definition in CSS2.
- */
- public String getBackgroundImage();
- /**
- * See the background-image property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBackgroundImage(String backgroundImage)
- throws DOMException;
-
- /**
- * See the background-position property definition in CSS2.
- */
- public String getBackgroundPosition();
- /**
- * See the background-position property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBackgroundPosition(String backgroundPosition)
- throws DOMException;
-
- /**
- * See the background-repeat property definition in CSS2.
- */
- public String getBackgroundRepeat();
- /**
- * See the background-repeat property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBackgroundRepeat(String backgroundRepeat)
- throws DOMException;
-
- /**
- * See the border property definition in CSS2.
- */
- public String getBorder();
- /**
- * See the border property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorder(String border)
- throws DOMException;
-
- /**
- * See the border-collapse property definition in CSS2.
- */
- public String getBorderCollapse();
- /**
- * See the border-collapse property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderCollapse(String borderCollapse)
- throws DOMException;
-
- /**
- * See the border-color property definition in CSS2.
- */
- public String getBorderColor();
- /**
- * See the border-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderColor(String borderColor)
- throws DOMException;
-
- /**
- * See the border-spacing property definition in CSS2.
- */
- public String getBorderSpacing();
- /**
- * See the border-spacing property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderSpacing(String borderSpacing)
- throws DOMException;
-
- /**
- * See the border-style property definition in CSS2.
- */
- public String getBorderStyle();
- /**
- * See the border-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderStyle(String borderStyle)
- throws DOMException;
-
- /**
- * See the border-top property definition in CSS2.
- */
- public String getBorderTop();
- /**
- * See the border-top property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderTop(String borderTop)
- throws DOMException;
-
- /**
- * See the border-right property definition in CSS2.
- */
- public String getBorderRight();
- /**
- * See the border-right property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderRight(String borderRight)
- throws DOMException;
-
- /**
- * See the border-bottom property definition in CSS2.
- */
- public String getBorderBottom();
- /**
- * See the border-bottom property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderBottom(String borderBottom)
- throws DOMException;
-
- /**
- * See the border-left property definition in CSS2.
- */
- public String getBorderLeft();
- /**
- * See the border-left property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderLeft(String borderLeft)
- throws DOMException;
-
- /**
- * See the border-top-color property definition in CSS2.
- */
- public String getBorderTopColor();
- /**
- * See the border-top-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderTopColor(String borderTopColor)
- throws DOMException;
-
- /**
- * See the border-right-color property definition in CSS2.
- */
- public String getBorderRightColor();
- /**
- * See the border-right-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderRightColor(String borderRightColor)
- throws DOMException;
-
- /**
- * See the border-bottom-color property definition in CSS2.
- */
- public String getBorderBottomColor();
- /**
- * See the border-bottom-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderBottomColor(String borderBottomColor)
- throws DOMException;
-
- /**
- * See the border-left-color property definition in CSS2.
- */
- public String getBorderLeftColor();
- /**
- * See the border-left-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderLeftColor(String borderLeftColor)
- throws DOMException;
-
- /**
- * See the border-top-style property definition in CSS2.
- */
- public String getBorderTopStyle();
- /**
- * See the border-top-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderTopStyle(String borderTopStyle)
- throws DOMException;
-
- /**
- * See the border-right-style property definition in CSS2.
- */
- public String getBorderRightStyle();
- /**
- * See the border-right-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderRightStyle(String borderRightStyle)
- throws DOMException;
-
- /**
- * See the border-bottom-style property definition in CSS2.
- */
- public String getBorderBottomStyle();
- /**
- * See the border-bottom-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderBottomStyle(String borderBottomStyle)
- throws DOMException;
-
- /**
- * See the border-left-style property definition in CSS2.
- */
- public String getBorderLeftStyle();
- /**
- * See the border-left-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderLeftStyle(String borderLeftStyle)
- throws DOMException;
-
- /**
- * See the border-top-width property definition in CSS2.
- */
- public String getBorderTopWidth();
- /**
- * See the border-top-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderTopWidth(String borderTopWidth)
- throws DOMException;
-
- /**
- * See the border-right-width property definition in CSS2.
- */
- public String getBorderRightWidth();
- /**
- * See the border-right-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderRightWidth(String borderRightWidth)
- throws DOMException;
-
- /**
- * See the border-bottom-width property definition in CSS2.
- */
- public String getBorderBottomWidth();
- /**
- * See the border-bottom-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderBottomWidth(String borderBottomWidth)
- throws DOMException;
-
- /**
- * See the border-left-width property definition in CSS2.
- */
- public String getBorderLeftWidth();
- /**
- * See the border-left-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderLeftWidth(String borderLeftWidth)
- throws DOMException;
-
- /**
- * See the border-width property definition in CSS2.
- */
- public String getBorderWidth();
- /**
- * See the border-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderWidth(String borderWidth)
- throws DOMException;
-
- /**
- * See the bottom property definition in CSS2.
- */
- public String getBottom();
- /**
- * See the bottom property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBottom(String bottom)
- throws DOMException;
-
- /**
- * See the caption-side property definition in CSS2.
- */
- public String getCaptionSide();
- /**
- * See the caption-side property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCaptionSide(String captionSide)
- throws DOMException;
-
- /**
- * See the clear property definition in CSS2.
- */
- public String getClear();
- /**
- * See the clear property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setClear(String clear)
- throws DOMException;
-
- /**
- * See the clip property definition in CSS2.
- */
- public String getClip();
- /**
- * See the clip property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setClip(String clip)
- throws DOMException;
-
- /**
- * See the color property definition in CSS2.
- */
- public String getColor();
- /**
- * See the color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setColor(String color)
- throws DOMException;
-
- /**
- * See the content property definition in CSS2.
- */
- public String getContent();
- /**
- * See the content property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setContent(String content)
- throws DOMException;
-
- /**
- * See the counter-increment property definition in CSS2.
- */
- public String getCounterIncrement();
- /**
- * See the counter-increment property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCounterIncrement(String counterIncrement)
- throws DOMException;
-
- /**
- * See the counter-reset property definition in CSS2.
- */
- public String getCounterReset();
- /**
- * See the counter-reset property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCounterReset(String counterReset)
- throws DOMException;
-
- /**
- * See the cue property definition in CSS2.
- */
- public String getCue();
- /**
- * See the cue property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCue(String cue)
- throws DOMException;
-
- /**
- * See the cue-after property definition in CSS2.
- */
- public String getCueAfter();
- /**
- * See the cue-after property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCueAfter(String cueAfter)
- throws DOMException;
-
- /**
- * See the cue-before property definition in CSS2.
- */
- public String getCueBefore();
- /**
- * See the cue-before property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCueBefore(String cueBefore)
- throws DOMException;
-
- /**
- * See the cursor property definition in CSS2.
- */
- public String getCursor();
- /**
- * See the cursor property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCursor(String cursor)
- throws DOMException;
-
- /**
- * See the direction property definition in CSS2.
- */
- public String getDirection();
- /**
- * See the direction property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setDirection(String direction)
- throws DOMException;
-
- /**
- * See the display property definition in CSS2.
- */
- public String getDisplay();
- /**
- * See the display property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setDisplay(String display)
- throws DOMException;
-
- /**
- * See the elevation property definition in CSS2.
- */
- public String getElevation();
- /**
- * See the elevation property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setElevation(String elevation)
- throws DOMException;
-
- /**
- * See the empty-cells property definition in CSS2.
- */
- public String getEmptyCells();
- /**
- * See the empty-cells property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setEmptyCells(String emptyCells)
- throws DOMException;
-
- /**
- * See the float property definition in CSS2.
- */
- public String getCssFloat();
- /**
- * See the float property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCssFloat(String cssFloat)
- throws DOMException;
-
- /**
- * See the font property definition in CSS2.
- */
- public String getFont();
- /**
- * See the font property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFont(String font)
- throws DOMException;
-
- /**
- * See the font-family property definition in CSS2.
- */
- public String getFontFamily();
- /**
- * See the font-family property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFontFamily(String fontFamily)
- throws DOMException;
-
- /**
- * See the font-size property definition in CSS2.
- */
- public String getFontSize();
- /**
- * See the font-size property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFontSize(String fontSize)
- throws DOMException;
-
- /**
- * See the font-size-adjust property definition in CSS2.
- */
- public String getFontSizeAdjust();
- /**
- * See the font-size-adjust property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFontSizeAdjust(String fontSizeAdjust)
- throws DOMException;
-
- /**
- * See the font-stretch property definition in CSS2.
- */
- public String getFontStretch();
- /**
- * See the font-stretch property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFontStretch(String fontStretch)
- throws DOMException;
-
- /**
- * See the font-style property definition in CSS2.
- */
- public String getFontStyle();
- /**
- * See the font-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFontStyle(String fontStyle)
- throws DOMException;
-
- /**
- * See the font-variant property definition in CSS2.
- */
- public String getFontVariant();
- /**
- * See the font-variant property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFontVariant(String fontVariant)
- throws DOMException;
-
- /**
- * See the font-weight property definition in CSS2.
- */
- public String getFontWeight();
- /**
- * See the font-weight property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFontWeight(String fontWeight)
- throws DOMException;
-
- /**
- * See the height property definition in CSS2.
- */
- public String getHeight();
- /**
- * See the height property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setHeight(String height)
- throws DOMException;
-
- /**
- * See the left property definition in CSS2.
- */
- public String getLeft();
- /**
- * See the left property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setLeft(String left)
- throws DOMException;
-
- /**
- * See the letter-spacing property definition in CSS2.
- */
- public String getLetterSpacing();
- /**
- * See the letter-spacing property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setLetterSpacing(String letterSpacing)
- throws DOMException;
-
- /**
- * See the line-height property definition in CSS2.
- */
- public String getLineHeight();
- /**
- * See the line-height property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setLineHeight(String lineHeight)
- throws DOMException;
-
- /**
- * See the list-style property definition in CSS2.
- */
- public String getListStyle();
- /**
- * See the list-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setListStyle(String listStyle)
- throws DOMException;
-
- /**
- * See the list-style-image property definition in CSS2.
- */
- public String getListStyleImage();
- /**
- * See the list-style-image property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setListStyleImage(String listStyleImage)
- throws DOMException;
-
- /**
- * See the list-style-position property definition in CSS2.
- */
- public String getListStylePosition();
- /**
- * See the list-style-position property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setListStylePosition(String listStylePosition)
- throws DOMException;
-
- /**
- * See the list-style-type property definition in CSS2.
- */
- public String getListStyleType();
- /**
- * See the list-style-type property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setListStyleType(String listStyleType)
- throws DOMException;
-
- /**
- * See the margin property definition in CSS2.
- */
- public String getMargin();
- /**
- * See the margin property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMargin(String margin)
- throws DOMException;
-
- /**
- * See the margin-top property definition in CSS2.
- */
- public String getMarginTop();
- /**
- * See the margin-top property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMarginTop(String marginTop)
- throws DOMException;
-
- /**
- * See the margin-right property definition in CSS2.
- */
- public String getMarginRight();
- /**
- * See the margin-right property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMarginRight(String marginRight)
- throws DOMException;
-
- /**
- * See the margin-bottom property definition in CSS2.
- */
- public String getMarginBottom();
- /**
- * See the margin-bottom property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMarginBottom(String marginBottom)
- throws DOMException;
-
- /**
- * See the margin-left property definition in CSS2.
- */
- public String getMarginLeft();
- /**
- * See the margin-left property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMarginLeft(String marginLeft)
- throws DOMException;
-
- /**
- * See the marker-offset property definition in CSS2.
- */
- public String getMarkerOffset();
- /**
- * See the marker-offset property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMarkerOffset(String markerOffset)
- throws DOMException;
-
- /**
- * See the marks property definition in CSS2.
- */
- public String getMarks();
- /**
- * See the marks property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMarks(String marks)
- throws DOMException;
-
- /**
- * See the max-height property definition in CSS2.
- */
- public String getMaxHeight();
- /**
- * See the max-height property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMaxHeight(String maxHeight)
- throws DOMException;
-
- /**
- * See the max-width property definition in CSS2.
- */
- public String getMaxWidth();
- /**
- * See the max-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMaxWidth(String maxWidth)
- throws DOMException;
-
- /**
- * See the min-height property definition in CSS2.
- */
- public String getMinHeight();
- /**
- * See the min-height property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMinHeight(String minHeight)
- throws DOMException;
-
- /**
- * See the min-width property definition in CSS2.
- */
- public String getMinWidth();
- /**
- * See the min-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMinWidth(String minWidth)
- throws DOMException;
-
- /**
- * See the orphans property definition in CSS2.
- */
- public String getOrphans();
- /**
- * See the orphans property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setOrphans(String orphans)
- throws DOMException;
-
- /**
- * See the outline property definition in CSS2.
- */
- public String getOutline();
- /**
- * See the outline property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setOutline(String outline)
- throws DOMException;
-
- /**
- * See the outline-color property definition in CSS2.
- */
- public String getOutlineColor();
- /**
- * See the outline-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setOutlineColor(String outlineColor)
- throws DOMException;
-
- /**
- * See the outline-style property definition in CSS2.
- */
- public String getOutlineStyle();
- /**
- * See the outline-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setOutlineStyle(String outlineStyle)
- throws DOMException;
-
- /**
- * See the outline-width property definition in CSS2.
- */
- public String getOutlineWidth();
- /**
- * See the outline-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setOutlineWidth(String outlineWidth)
- throws DOMException;
-
- /**
- * See the overflow property definition in CSS2.
- */
- public String getOverflow();
- /**
- * See the overflow property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setOverflow(String overflow)
- throws DOMException;
-
- /**
- * See the padding property definition in CSS2.
- */
- public String getPadding();
- /**
- * See the padding property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPadding(String padding)
- throws DOMException;
-
- /**
- * See the padding-top property definition in CSS2.
- */
- public String getPaddingTop();
- /**
- * See the padding-top property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPaddingTop(String paddingTop)
- throws DOMException;
-
- /**
- * See the padding-right property definition in CSS2.
- */
- public String getPaddingRight();
- /**
- * See the padding-right property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPaddingRight(String paddingRight)
- throws DOMException;
-
- /**
- * See the padding-bottom property definition in CSS2.
- */
- public String getPaddingBottom();
- /**
- * See the padding-bottom property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPaddingBottom(String paddingBottom)
- throws DOMException;
-
- /**
- * See the padding-left property definition in CSS2.
- */
- public String getPaddingLeft();
- /**
- * See the padding-left property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPaddingLeft(String paddingLeft)
- throws DOMException;
-
- /**
- * See the page property definition in CSS2.
- */
- public String getPage();
- /**
- * See the page property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPage(String page)
- throws DOMException;
-
- /**
- * See the page-break-after property definition in CSS2.
- */
- public String getPageBreakAfter();
- /**
- * See the page-break-after property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPageBreakAfter(String pageBreakAfter)
- throws DOMException;
-
- /**
- * See the page-break-before property definition in CSS2.
- */
- public String getPageBreakBefore();
- /**
- * See the page-break-before property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPageBreakBefore(String pageBreakBefore)
- throws DOMException;
-
- /**
- * See the page-break-inside property definition in CSS2.
- */
- public String getPageBreakInside();
- /**
- * See the page-break-inside property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPageBreakInside(String pageBreakInside)
- throws DOMException;
-
- /**
- * See the pause property definition in CSS2.
- */
- public String getPause();
- /**
- * See the pause property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPause(String pause)
- throws DOMException;
-
- /**
- * See the pause-after property definition in CSS2.
- */
- public String getPauseAfter();
- /**
- * See the pause-after property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPauseAfter(String pauseAfter)
- throws DOMException;
-
- /**
- * See the pause-before property definition in CSS2.
- */
- public String getPauseBefore();
- /**
- * See the pause-before property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPauseBefore(String pauseBefore)
- throws DOMException;
-
- /**
- * See the pitch property definition in CSS2.
- */
- public String getPitch();
- /**
- * See the pitch property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPitch(String pitch)
- throws DOMException;
-
- /**
- * See the pitch-range property definition in CSS2.
- */
- public String getPitchRange();
- /**
- * See the pitch-range property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPitchRange(String pitchRange)
- throws DOMException;
-
- /**
- * See the play-during property definition in CSS2.
- */
- public String getPlayDuring();
- /**
- * See the play-during property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPlayDuring(String playDuring)
- throws DOMException;
-
- /**
- * See the position property definition in CSS2.
- */
- public String getPosition();
- /**
- * See the position property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPosition(String position)
- throws DOMException;
-
- /**
- * See the quotes property definition in CSS2.
- */
- public String getQuotes();
- /**
- * See the quotes property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setQuotes(String quotes)
- throws DOMException;
-
- /**
- * See the richness property definition in CSS2.
- */
- public String getRichness();
- /**
- * See the richness property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setRichness(String richness)
- throws DOMException;
-
- /**
- * See the right property definition in CSS2.
- */
- public String getRight();
- /**
- * See the right property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setRight(String right)
- throws DOMException;
-
- /**
- * See the size property definition in CSS2.
- */
- public String getSize();
- /**
- * See the size property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setSize(String size)
- throws DOMException;
-
- /**
- * See the speak property definition in CSS2.
- */
- public String getSpeak();
- /**
- * See the speak property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setSpeak(String speak)
- throws DOMException;
-
- /**
- * See the speak-header property definition in CSS2.
- */
- public String getSpeakHeader();
- /**
- * See the speak-header property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setSpeakHeader(String speakHeader)
- throws DOMException;
-
- /**
- * See the speak-numeral property definition in CSS2.
- */
- public String getSpeakNumeral();
- /**
- * See the speak-numeral property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setSpeakNumeral(String speakNumeral)
- throws DOMException;
-
- /**
- * See the speak-punctuation property definition in CSS2.
- */
- public String getSpeakPunctuation();
- /**
- * See the speak-punctuation property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setSpeakPunctuation(String speakPunctuation)
- throws DOMException;
-
- /**
- * See the speech-rate property definition in CSS2.
- */
- public String getSpeechRate();
- /**
- * See the speech-rate property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setSpeechRate(String speechRate)
- throws DOMException;
-
- /**
- * See the stress property definition in CSS2.
- */
- public String getStress();
- /**
- * See the stress property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setStress(String stress)
- throws DOMException;
-
- /**
- * See the table-layout property definition in CSS2.
- */
- public String getTableLayout();
- /**
- * See the table-layout property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setTableLayout(String tableLayout)
- throws DOMException;
-
- /**
- * See the text-align property definition in CSS2.
- */
- public String getTextAlign();
- /**
- * See the text-align property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setTextAlign(String textAlign)
- throws DOMException;
-
- /**
- * See the text-decoration property definition in CSS2.
- */
- public String getTextDecoration();
- /**
- * See the text-decoration property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setTextDecoration(String textDecoration)
- throws DOMException;
-
- /**
- * See the text-indent property definition in CSS2.
- */
- public String getTextIndent();
- /**
- * See the text-indent property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setTextIndent(String textIndent)
- throws DOMException;
-
- /**
- * See the text-shadow property definition in CSS2.
- */
- public String getTextShadow();
- /**
- * See the text-shadow property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setTextShadow(String textShadow)
- throws DOMException;
-
- /**
- * See the text-transform property definition in CSS2.
- */
- public String getTextTransform();
- /**
- * See the text-transform property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setTextTransform(String textTransform)
- throws DOMException;
-
- /**
- * See the top property definition in CSS2.
- */
- public String getTop();
- /**
- * See the top property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setTop(String top)
- throws DOMException;
-
- /**
- * See the unicode-bidi property definition in CSS2.
- */
- public String getUnicodeBidi();
- /**
- * See the unicode-bidi property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setUnicodeBidi(String unicodeBidi)
- throws DOMException;
-
- /**
- * See the vertical-align property definition in CSS2.
- */
- public String getVerticalAlign();
- /**
- * See the vertical-align property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setVerticalAlign(String verticalAlign)
- throws DOMException;
-
- /**
- * See the visibility property definition in CSS2.
- */
- public String getVisibility();
- /**
- * See the visibility property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setVisibility(String visibility)
- throws DOMException;
-
- /**
- * See the voice-family property definition in CSS2.
- */
- public String getVoiceFamily();
- /**
- * See the voice-family property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setVoiceFamily(String voiceFamily)
- throws DOMException;
-
- /**
- * See the volume property definition in CSS2.
- */
- public String getVolume();
- /**
- * See the volume property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setVolume(String volume)
- throws DOMException;
-
- /**
- * See the white-space property definition in CSS2.
- */
- public String getWhiteSpace();
- /**
- * See the white-space property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setWhiteSpace(String whiteSpace)
- throws DOMException;
-
- /**
- * See the widows property definition in CSS2.
- */
- public String getWidows();
- /**
- * See the widows property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setWidows(String widows)
- throws DOMException;
-
- /**
- * See the width property definition in CSS2.
- */
- public String getWidth();
- /**
- * See the width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setWidth(String width)
- throws DOMException;
-
- /**
- * See the word-spacing property definition in CSS2.
- */
- public String getWordSpacing();
- /**
- * See the word-spacing property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setWordSpacing(String wordSpacing)
- throws DOMException;
-
- /**
- * See the z-index property definition in CSS2.
- */
- public String getZIndex();
- /**
- * See the z-index property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setZIndex(String zIndex)
- throws DOMException;
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSSCharsetRule.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSCharsetRule</code> interface represents a @charset rule in a
- * CSS style sheet. The value of the <code>encoding</code> attribute does
- * not affect the encoding of text data in the DOM objects; this encoding is
- * always UTF-16. After a stylesheet is loaded, the value of the
- * <code>encoding</code> attribute is the value found in the
- * <code>@charset</code> rule. If there was no <code>@charset</code> in the
- * original document, then no <code>CSSCharsetRule</code> is created. The
- * value of the <code>encoding</code> attribute may also be used as a hint
- * for the encoding used on serialization of the style sheet.
- * <p> The value of the @charset rule (and therefore of the
- * <code>CSSCharsetRule</code>) may not correspond to the encoding the
- * document actually came in; character encoding information e.g. in an HTTP
- * header, has priority (see CSS document representation) but this is not
- * reflected in the <code>CSSCharsetRule</code>.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSCharsetRule extends CSSRule {
- /**
- * The encoding information used in this <code>@charset</code> rule.
- */
- public String getEncoding();
- /**
- * The encoding information used in this <code>@charset</code> rule.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified encoding value has a syntax error
- * and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this encoding rule is
- * readonly.
- */
- public void setEncoding(String encoding)
- throws DOMException;
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSSFontFaceRule.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>CSSFontFaceRule</code> interface represents a @font-face rule in
- * a CSS style sheet. The <code>@font-face</code> rule is used to hold a set
- * of font descriptions.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSFontFaceRule extends CSSRule {
- /**
- * The declaration-block of this rule.
- */
- public CSSStyleDeclaration getStyle();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSSImportRule.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.stylesheets.MediaList;
-
-/**
- * The <code>CSSImportRule</code> interface represents a @import rule within
- * a CSS style sheet. The <code>@import</code> rule is used to import style
- * rules from other style sheets.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSImportRule extends CSSRule {
- /**
- * The location of the style sheet to be imported. The attribute will not
- * contain the <code>"url(...)"</code> specifier around the URI.
- */
- public String getHref();
-
- /**
- * A list of media types for which this style sheet may be used.
- */
- public MediaList getMedia();
-
- /**
- * The style sheet referred to by this rule, if it has been loaded. The
- * value of this attribute is <code>null</code> if the style sheet has
- * not yet been loaded or if it will not be loaded (e.g. if the style
- * sheet is for a media type not supported by the user agent).
- */
- public CSSStyleSheet getStyleSheet();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSSMediaRule.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.stylesheets.MediaList;
-
-/**
- * The <code>CSSMediaRule</code> interface represents a @media rule in a CSS
- * style sheet. A <code>@media</code> rule can be used to delimit style
- * rules for specific media types.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSMediaRule extends CSSRule {
- /**
- * A list of media types for this rule.
- */
- public MediaList getMedia();
-
- /**
- * A list of all CSS rules contained within the media block.
- */
- public CSSRuleList getCssRules();
-
- /**
- * Used to insert a new rule into the media block.
- * @param rule The parsable text representing the rule. For rule sets
- * this contains both the selector and the style declaration. For
- * at-rules, this specifies both the at-identifier and the rule
- * content.
- * @param index The index within the media block's rule collection of
- * the rule before which to insert the specified rule. If the
- * specified index is equal to the length of the media blocks's rule
- * collection, the rule will be added to the end of the media block.
- * @return The index within the media block's rule collection of the
- * newly inserted rule.
- * @exception DOMException
- * HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the
- * specified index, e.g., if an <code>@import</code> rule is inserted
- * after a standard rule set or other at-rule.
- * <br>INDEX_SIZE_ERR: Raised if the specified index is not a valid
- * insertion point.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is
- * readonly.
- * <br>SYNTAX_ERR: Raised if the specified rule has a syntax error and
- * is unparsable.
- */
- public int insertRule(String rule,
- int index)
- throws DOMException;
-
- /**
- * Used to delete a rule from the media block.
- * @param index The index within the media block's rule collection of
- * the rule to remove.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified index does not correspond to
- * a rule in the media rule list.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is
- * readonly.
- */
- public void deleteRule(int index)
- throws DOMException;
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSSPageRule.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSPageRule</code> interface represents a @page rule within a
- * CSS style sheet. The <code>@page</code> rule is used to specify the
- * dimensions, orientation, margins, etc. of a page box for paged media.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSPageRule extends CSSRule {
- /**
- * The parsable textual representation of the page selector for the rule.
- */
- public String getSelectorText();
- /**
- * The parsable textual representation of the page selector for the rule.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is readonly.
- */
- public void setSelectorText(String selectorText)
- throws DOMException;
-
- /**
- * The declaration-block of this rule.
- */
- public CSSStyleDeclaration getStyle();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSSPrimitiveValue.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,325 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSPrimitiveValue</code> interface represents a single CSS value
- * . This interface may be used to determine the value of a specific style
- * property currently set in a block or to set a specific style property
- * explicitly within the block. An instance of this interface might be
- * obtained from the <code>getPropertyCSSValue</code> method of the
- * <code>CSSStyleDeclaration</code> interface. A
- * <code>CSSPrimitiveValue</code> object only occurs in a context of a CSS
- * property.
- * <p> Conversions are allowed between absolute values (from millimeters to
- * centimeters, from degrees to radians, and so on) but not between relative
- * values. (For example, a pixel value cannot be converted to a centimeter
- * value.) Percentage values can't be converted since they are relative to
- * the parent value (or another property value). There is one exception for
- * color percentage values: since a color percentage value is relative to
- * the range 0-255, a color percentage value can be converted to a number;
- * (see also the <code>RGBColor</code> interface).
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSPrimitiveValue extends CSSValue {
- // UnitTypes
- /**
- * The value is not a recognized CSS2 value. The value can only be
- * obtained by using the <code>cssText</code> attribute.
- */
- public static final short CSS_UNKNOWN = 0;
- /**
- * The value is a simple number. The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_NUMBER = 1;
- /**
- * The value is a percentage. The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_PERCENTAGE = 2;
- /**
- * The value is a length (ems). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_EMS = 3;
- /**
- * The value is a length (exs). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_EXS = 4;
- /**
- * The value is a length (px). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_PX = 5;
- /**
- * The value is a length (cm). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_CM = 6;
- /**
- * The value is a length (mm). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_MM = 7;
- /**
- * The value is a length (in). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_IN = 8;
- /**
- * The value is a length (pt). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_PT = 9;
- /**
- * The value is a length (pc). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_PC = 10;
- /**
- * The value is an angle (deg). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_DEG = 11;
- /**
- * The value is an angle (rad). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_RAD = 12;
- /**
- * The value is an angle (grad). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_GRAD = 13;
- /**
- * The value is a time (ms). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_MS = 14;
- /**
- * The value is a time (s). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_S = 15;
- /**
- * The value is a frequency (Hz). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_HZ = 16;
- /**
- * The value is a frequency (kHz). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_KHZ = 17;
- /**
- * The value is a number with an unknown dimension. The value can be
- * obtained by using the <code>getFloatValue</code> method.
- */
- public static final short CSS_DIMENSION = 18;
- /**
- * The value is a STRING. The value can be obtained by using the
- * <code>getStringValue</code> method.
- */
- public static final short CSS_STRING = 19;
- /**
- * The value is a URI. The value can be obtained by using the
- * <code>getStringValue</code> method.
- */
- public static final short CSS_URI = 20;
- /**
- * The value is an identifier. The value can be obtained by using the
- * <code>getStringValue</code> method.
- */
- public static final short CSS_IDENT = 21;
- /**
- * The value is a attribute function. The value can be obtained by using
- * the <code>getStringValue</code> method.
- */
- public static final short CSS_ATTR = 22;
- /**
- * The value is a counter or counters function. The value can be obtained
- * by using the <code>getCounterValue</code> method.
- */
- public static final short CSS_COUNTER = 23;
- /**
- * The value is a rect function. The value can be obtained by using the
- * <code>getRectValue</code> method.
- */
- public static final short CSS_RECT = 24;
- /**
- * The value is a RGB color. The value can be obtained by using the
- * <code>getRGBColorValue</code> method.
- */
- public static final short CSS_RGBCOLOR = 25;
-
- /**
- * The type of the value as defined by the constants specified above.
- */
- public short getPrimitiveType();
-
- /**
- * A method to set the float value with a specified unit. If the property
- * attached with this value can not accept the specified unit or the
- * float value, the value will be unchanged and a
- * <code>DOMException</code> will be raised.
- * @param unitType A unit code as defined above. The unit code can only
- * be a float unit type (i.e. <code>CSS_NUMBER</code>,
- * <code>CSS_PERCENTAGE</code>, <code>CSS_EMS</code>,
- * <code>CSS_EXS</code>, <code>CSS_PX</code>, <code>CSS_CM</code>,
- * <code>CSS_MM</code>, <code>CSS_IN</code>, <code>CSS_PT</code>,
- * <code>CSS_PC</code>, <code>CSS_DEG</code>, <code>CSS_RAD</code>,
- * <code>CSS_GRAD</code>, <code>CSS_MS</code>, <code>CSS_S</code>,
- * <code>CSS_HZ</code>, <code>CSS_KHZ</code>,
- * <code>CSS_DIMENSION</code>).
- * @param floatValue The new float value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the attached property doesn't support
- * the float value or the unit type.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFloatValue(short unitType,
- float floatValue)
- throws DOMException;
-
- /**
- * This method is used to get a float value in a specified unit. If this
- * CSS value doesn't contain a float value or can't be converted into
- * the specified unit, a <code>DOMException</code> is raised.
- * @param unitType A unit code to get the float value. The unit code can
- * only be a float unit type (i.e. <code>CSS_NUMBER</code>,
- * <code>CSS_PERCENTAGE</code>, <code>CSS_EMS</code>,
- * <code>CSS_EXS</code>, <code>CSS_PX</code>, <code>CSS_CM</code>,
- * <code>CSS_MM</code>, <code>CSS_IN</code>, <code>CSS_PT</code>,
- * <code>CSS_PC</code>, <code>CSS_DEG</code>, <code>CSS_RAD</code>,
- * <code>CSS_GRAD</code>, <code>CSS_MS</code>, <code>CSS_S</code>,
- * <code>CSS_HZ</code>, <code>CSS_KHZ</code>,
- * <code>CSS_DIMENSION</code>).
- * @return The float value in the specified unit.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a float
- * value or if the float value can't be converted into the specified
- * unit.
- */
- public float getFloatValue(short unitType)
- throws DOMException;
-
- /**
- * A method to set the string value with the specified unit. If the
- * property attached to this value can't accept the specified unit or
- * the string value, the value will be unchanged and a
- * <code>DOMException</code> will be raised.
- * @param stringType A string code as defined above. The string code can
- * only be a string unit type (i.e. <code>CSS_STRING</code>,
- * <code>CSS_URI</code>, <code>CSS_IDENT</code>, and
- * <code>CSS_ATTR</code>).
- * @param stringValue The new string value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string
- * value or if the string value can't be converted into the specified
- * unit.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setStringValue(short stringType,
- String stringValue)
- throws DOMException;
-
- /**
- * This method is used to get the string value. If the CSS value doesn't
- * contain a string value, a <code>DOMException</code> is raised. Some
- * properties (like 'font-family' or 'voice-family') convert a
- * whitespace separated list of idents to a string.
- * @return The string value in the current unit. The current
- * <code>primitiveType</code> can only be a string unit type (i.e.
- * <code>CSS_STRING</code>, <code>CSS_URI</code>,
- * <code>CSS_IDENT</code> and <code>CSS_ATTR</code>).
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string
- * value.
- */
- public String getStringValue()
- throws DOMException;
-
- /**
- * This method is used to get the Counter value. If this CSS value
- * doesn't contain a counter value, a <code>DOMException</code> is
- * raised. Modification to the corresponding style property can be
- * achieved using the <code>Counter</code> interface.
- * @return The Counter value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a
- * Counter value (e.g. this is not <code>CSS_COUNTER</code>).
- */
- public Counter getCounterValue()
- throws DOMException;
-
- /**
- * This method is used to get the Rect value. If this CSS value doesn't
- * contain a rect value, a <code>DOMException</code> is raised.
- * Modification to the corresponding style property can be achieved
- * using the <code>Rect</code> interface.
- * @return The Rect value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a Rect
- * value. (e.g. this is not <code>CSS_RECT</code>).
- */
- public Rect getRectValue()
- throws DOMException;
-
- /**
- * This method is used to get the RGB color. If this CSS value doesn't
- * contain a RGB color value, a <code>DOMException</code> is raised.
- * Modification to the corresponding style property can be achieved
- * using the <code>RGBColor</code> interface.
- * @return the RGB color value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the attached property can't return a
- * RGB color value (e.g. this is not <code>CSS_RGBCOLOR</code>).
- */
- public RGBColor getRGBColorValue()
- throws DOMException;
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSSRule.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSRule</code> interface is the abstract base interface for any
- * type of CSS statement. This includes both rule sets and at-rules. An
- * implementation is expected to preserve all rules specified in a CSS style
- * sheet, even if the rule is not recognized by the parser. Unrecognized
- * rules are represented using the <code>CSSUnknownRule</code> interface.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSRule {
- // RuleType
- /**
- * The rule is a <code>CSSUnknownRule</code>.
- */
- public static final short UNKNOWN_RULE = 0;
- /**
- * The rule is a <code>CSSStyleRule</code>.
- */
- public static final short STYLE_RULE = 1;
- /**
- * The rule is a <code>CSSCharsetRule</code>.
- */
- public static final short CHARSET_RULE = 2;
- /**
- * The rule is a <code>CSSImportRule</code>.
- */
- public static final short IMPORT_RULE = 3;
- /**
- * The rule is a <code>CSSMediaRule</code>.
- */
- public static final short MEDIA_RULE = 4;
- /**
- * The rule is a <code>CSSFontFaceRule</code>.
- */
- public static final short FONT_FACE_RULE = 5;
- /**
- * The rule is a <code>CSSPageRule</code>.
- */
- public static final short PAGE_RULE = 6;
-
- /**
- * The type of the rule, as defined above. The expectation is that
- * binding-specific casting methods can be used to cast down from an
- * instance of the <code>CSSRule</code> interface to the specific
- * derived interface implied by the <code>type</code>.
- */
- public short getType();
-
- /**
- * The parsable textual representation of the rule. This reflects the
- * current state of the rule and not its initial value.
- */
- public String getCssText();
- /**
- * The parsable textual representation of the rule. This reflects the
- * current state of the rule and not its initial value.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br>INVALID_MODIFICATION_ERR: Raised if the specified CSS string
- * value represents a different type of rule than the current one.
- * <br>HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at
- * this point in the style sheet.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if the rule is readonly.
- */
- public void setCssText(String cssText)
- throws DOMException;
-
- /**
- * The style sheet that contains this rule.
- */
- public CSSStyleSheet getParentStyleSheet();
-
- /**
- * If this rule is contained inside another rule (e.g. a style rule
- * inside an @media block), this is the containing rule. If this rule is
- * not nested inside any other rules, this returns <code>null</code>.
- */
- public CSSRule getParentRule();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSSRuleList.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>CSSRuleList</code> interface provides the abstraction of an
- * ordered collection of CSS rules.
- * <p> The items in the <code>CSSRuleList</code> are accessible via an
- * integral index, starting from 0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSRuleList {
- /**
- * The number of <code>CSSRules</code> in the list. The range of valid
- * child rule indices is <code>0</code> to <code>length-1</code>
- * inclusive.
- */
- public int getLength();
-
- /**
- * Used to retrieve a CSS rule by ordinal index. The order in this
- * collection represents the order of the rules in the CSS style sheet.
- * If index is greater than or equal to the number of rules in the list,
- * this returns <code>null</code>.
- * @param index Index into the collection
- * @return The style rule at the <code>index</code> position in the
- * <code>CSSRuleList</code>, or <code>null</code> if that is not a
- * valid index.
- */
- public CSSRule item(int index);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSSStyleDeclaration.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSStyleDeclaration</code> interface represents a single CSS
- * declaration block. This interface may be used to determine the style
- * properties currently set in a block or to set style properties explicitly
- * within the block.
- * <p> While an implementation may not recognize all CSS properties within a
- * CSS declaration block, it is expected to provide access to all specified
- * properties in the style sheet through the <code>CSSStyleDeclaration</code>
- * interface. Furthermore, implementations that support a specific level of
- * CSS should correctly handle CSS shorthand properties for that level. For
- * a further discussion of shorthand properties, see the
- * <code>CSS2Properties</code> interface.
- * <p> This interface is also used to provide a read-only access to the
- * computed values of an element. See also the <code>ViewCSS</code>
- * interface. The CSS Object Model doesn't provide an access to the
- * specified or actual values of the CSS cascade.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSStyleDeclaration {
- /**
- * The parsable textual representation of the declaration block
- * (excluding the surrounding curly braces). Setting this attribute will
- * result in the parsing of the new value and resetting of all the
- * properties in the declaration block including the removal or addition
- * of properties.
- */
- public String getCssText();
- /**
- * The parsable textual representation of the declaration block
- * (excluding the surrounding curly braces). Setting this attribute will
- * result in the parsing of the new value and resetting of all the
- * properties in the declaration block including the removal or addition
- * of properties.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
- * readonly or a property is readonly.
- */
- public void setCssText(String cssText)
- throws DOMException;
-
- /**
- * Used to retrieve the value of a CSS property if it has been explicitly
- * set within this declaration block.
- * @param propertyName The name of the CSS property. See the CSS
- * property index.
- * @return Returns the value of the property if it has been explicitly
- * set for this declaration block. Returns the empty string if the
- * property has not been set.
- */
- public String getPropertyValue(String propertyName);
-
- /**
- * Used to retrieve the object representation of the value of a CSS
- * property if it has been explicitly set within this declaration block.
- * This method returns <code>null</code> if the property is a shorthand
- * property. Shorthand property values can only be accessed and modified
- * as strings, using the <code>getPropertyValue</code> and
- * <code>setProperty</code> methods.
- * @param propertyName The name of the CSS property. See the CSS
- * property index.
- * @return Returns the value of the property if it has been explicitly
- * set for this declaration block. Returns <code>null</code> if the
- * property has not been set.
- */
- public CSSValue getPropertyCSSValue(String propertyName);
-
- /**
- * Used to remove a CSS property if it has been explicitly set within
- * this declaration block.
- * @param propertyName The name of the CSS property. See the CSS
- * property index.
- * @return Returns the value of the property if it has been explicitly
- * set for this declaration block. Returns the empty string if the
- * property has not been set or the property name does not correspond
- * to a known CSS property.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is readonly
- * or the property is readonly.
- */
- public String removeProperty(String propertyName)
- throws DOMException;
-
- /**
- * Used to retrieve the priority of a CSS property (e.g. the
- * <code>"important"</code> qualifier) if the priority has been
- * explicitly set in this declaration block.
- * @param propertyName The name of the CSS property. See the CSS
- * property index.
- * @return A string representing the priority (e.g.
- * <code>"important"</code>) if the property has been explicitly set
- * in this declaration block and has a priority specified. The empty
- * string otherwise.
- */
- public String getPropertyPriority(String propertyName);
-
- /**
- * Used to set a property value and priority within this declaration
- * block. <code>setProperty</code> permits to modify a property or add a
- * new one in the declaration block. Any call to this method may modify
- * the order of properties in the <code>item</code> method.
- * @param propertyName The name of the CSS property. See the CSS
- * property index.
- * @param value The new value of the property.
- * @param priority The new priority of the property (e.g.
- * <code>"important"</code>) or the empty string if none.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
- * readonly or the property is readonly.
- */
- public void setProperty(String propertyName,
- String value,
- String priority)
- throws DOMException;
-
- /**
- * The number of properties that have been explicitly set in this
- * declaration block. The range of valid indices is 0 to length-1
- * inclusive.
- */
- public int getLength();
-
- /**
- * Used to retrieve the properties that have been explicitly set in this
- * declaration block. The order of the properties retrieved using this
- * method does not have to be the order in which they were set. This
- * method can be used to iterate over all properties in this declaration
- * block.
- * @param index Index of the property name to retrieve.
- * @return The name of the property at this ordinal position. The empty
- * string if no property exists at this position.
- */
- public String item(int index);
-
- /**
- * The CSS rule that contains this declaration block or <code>null</code>
- * if this <code>CSSStyleDeclaration</code> is not attached to a
- * <code>CSSRule</code>.
- */
- public CSSRule getParentRule();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSSStyleRule.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSStyleRule</code> interface represents a single rule set in a
- * CSS style sheet.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSStyleRule extends CSSRule {
- /**
- * The textual representation of the selector for the rule set. The
- * implementation may have stripped out insignificant whitespace while
- * parsing the selector.
- */
- public String getSelectorText();
- /**
- * The textual representation of the selector for the rule set. The
- * implementation may have stripped out insignificant whitespace while
- * parsing the selector.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is readonly.
- */
- public void setSelectorText(String selectorText)
- throws DOMException;
-
- /**
- * The declaration-block of this rule set.
- */
- public CSSStyleDeclaration getStyle();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSSStyleSheet.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.stylesheets.StyleSheet;
-
-/**
- * The <code>CSSStyleSheet</code> interface is a concrete interface used to
- * represent a CSS style sheet i.e., a style sheet whose content type is
- * "text/css".
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSStyleSheet extends StyleSheet {
- /**
- * If this style sheet comes from an <code>@import</code> rule, the
- * <code>ownerRule</code> attribute will contain the
- * <code>CSSImportRule</code>. In that case, the <code>ownerNode</code>
- * attribute in the <code>StyleSheet</code> interface will be
- * <code>null</code>. If the style sheet comes from an element or a
- * processing instruction, the <code>ownerRule</code> attribute will be
- * <code>null</code> and the <code>ownerNode</code> attribute will
- * contain the <code>Node</code>.
- */
- public CSSRule getOwnerRule();
-
- /**
- * The list of all CSS rules contained within the style sheet. This
- * includes both rule sets and at-rules.
- */
- public CSSRuleList getCssRules();
-
- /**
- * Used to insert a new rule into the style sheet. The new rule now
- * becomes part of the cascade.
- * @param rule The parsable text representing the rule. For rule sets
- * this contains both the selector and the style declaration. For
- * at-rules, this specifies both the at-identifier and the rule
- * content.
- * @param index The index within the style sheet's rule list of the rule
- * before which to insert the specified rule. If the specified index
- * is equal to the length of the style sheet's rule collection, the
- * rule will be added to the end of the style sheet.
- * @return The index within the style sheet's rule collection of the
- * newly inserted rule.
- * @exception DOMException
- * HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the
- * specified index e.g. if an <code>@import</code> rule is inserted
- * after a standard rule set or other at-rule.
- * <br>INDEX_SIZE_ERR: Raised if the specified index is not a valid
- * insertion point.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is
- * readonly.
- * <br>SYNTAX_ERR: Raised if the specified rule has a syntax error and
- * is unparsable.
- */
- public int insertRule(String rule,
- int index)
- throws DOMException;
-
- /**
- * Used to delete a rule from the style sheet.
- * @param index The index within the style sheet's rule list of the rule
- * to remove.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified index does not correspond to
- * a rule in the style sheet's rule list.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is
- * readonly.
- */
- public void deleteRule(int index)
- throws DOMException;
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSSUnknownRule.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>CSSUnknownRule</code> interface represents an at-rule not
- * supported by this user agent.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSUnknownRule extends CSSRule {
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSSValue.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSValue</code> interface represents a simple or a complex
- * value. A <code>CSSValue</code> object only occurs in a context of a CSS
- * property.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSValue {
- // UnitTypes
- /**
- * The value is inherited and the <code>cssText</code> contains "inherit".
- */
- public static final short CSS_INHERIT = 0;
- /**
- * The value is a primitive value and an instance of the
- * <code>CSSPrimitiveValue</code> interface can be obtained by using
- * binding-specific casting methods on this instance of the
- * <code>CSSValue</code> interface.
- */
- public static final short CSS_PRIMITIVE_VALUE = 1;
- /**
- * The value is a <code>CSSValue</code> list and an instance of the
- * <code>CSSValueList</code> interface can be obtained by using
- * binding-specific casting methods on this instance of the
- * <code>CSSValue</code> interface.
- */
- public static final short CSS_VALUE_LIST = 2;
- /**
- * The value is a custom value.
- */
- public static final short CSS_CUSTOM = 3;
-
- /**
- * A string representation of the current value.
- */
- public String getCssText();
- /**
- * A string representation of the current value.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error (according to the attached property) or is unparsable.
- * <br>INVALID_MODIFICATION_ERR: Raised if the specified CSS string
- * value represents a different type of values than the values allowed
- * by the CSS property.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this value is readonly.
- */
- public void setCssText(String cssText)
- throws DOMException;
-
- /**
- * A code defining the type of the value as defined above.
- */
- public short getCssValueType();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/CSSValueList.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>CSSValueList</code> interface provides the abstraction of an
- * ordered collection of CSS values.
- * <p> Some properties allow an empty list into their syntax. In that case,
- * these properties take the <code>none</code> identifier. So, an empty list
- * means that the property has the value <code>none</code>.
- * <p> The items in the <code>CSSValueList</code> are accessible via an
- * integral index, starting from 0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSValueList extends CSSValue {
- /**
- * The number of <code>CSSValues</code> in the list. The range of valid
- * values of the indices is <code>0</code> to <code>length-1</code>
- * inclusive.
- */
- public int getLength();
-
- /**
- * Used to retrieve a <code>CSSValue</code> by ordinal index. The order in
- * this collection represents the order of the values in the CSS style
- * property. If index is greater than or equal to the number of values
- * in the list, this returns <code>null</code>.
- * @param index Index into the collection.
- * @return The <code>CSSValue</code> at the <code>index</code> position
- * in the <code>CSSValueList</code>, or <code>null</code> if that is
- * not a valid index.
- */
- public CSSValue item(int index);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/Counter.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>Counter</code> interface is used to represent any counter or
- * counters function value. This interface reflects the values in the
- * underlying style property.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface Counter {
- /**
- * This attribute is used for the identifier of the counter.
- */
- public String getIdentifier();
-
- /**
- * This attribute is used for the style of the list.
- */
- public String getListStyle();
-
- /**
- * This attribute is used for the separator of the nested counters.
- */
- public String getSeparator();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/DOMImplementationCSS.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.DOMException;
-
-/**
- * This interface allows the DOM user to create a <code>CSSStyleSheet</code>
- * outside the context of a document. There is no way to associate the new
- * <code>CSSStyleSheet</code> with a document in DOM Level 2.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface DOMImplementationCSS extends DOMImplementation {
- /**
- * Creates a new <code>CSSStyleSheet</code>.
- * @param title The advisory title. See also the section.
- * @param media The comma-separated list of media associated with the
- * new style sheet. See also the section.
- * @return A new CSS style sheet.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified media string value has a syntax
- * error and is unparsable.
- */
- public CSSStyleSheet createCSSStyleSheet(String title,
- String media)
- throws DOMException;
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/DocumentCSS.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.stylesheets.DocumentStyle;
-
-/**
- * This interface represents a document with a CSS view.
- * <p> The <code>getOverrideStyle</code> method provides a mechanism through
- * which a DOM author could effect immediate change to the style of an
- * element without modifying the explicitly linked style sheets of a
- * document or the inline style of elements in the style sheets. This style
- * sheet comes after the author style sheet in the cascade algorithm and is
- * called override style sheet. The override style sheet takes precedence
- * over author style sheets. An "!important" declaration still takes
- * precedence over a normal declaration. Override, author, and user style
- * sheets all may contain "!important" declarations. User "!important" rules
- * take precedence over both override and author "!important" rules, and
- * override "!important" rules take precedence over author "!important"
- * rules.
- * <p> The expectation is that an instance of the <code>DocumentCSS</code>
- * interface can be obtained by using binding-specific casting methods on an
- * instance of the <code>Document</code> interface.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface DocumentCSS extends DocumentStyle {
- /**
- * This method is used to retrieve the override style declaration for a
- * specified element and a specified pseudo-element.
- * @param elt The element whose style is to be modified. This parameter
- * cannot be null.
- * @param pseudoElt The pseudo-element or <code>null</code> if none.
- * @return The override style declaration.
- */
- public CSSStyleDeclaration getOverrideStyle(Element elt,
- String pseudoElt);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/ElementCSSInlineStyle.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * Inline style information attached to elements is exposed through the
- * <code>style</code> attribute. This represents the contents of the STYLE
- * attribute for HTML elements (or elements in other schemas or DTDs which
- * use the STYLE attribute in the same way). The expectation is that an
- * instance of the ElementCSSInlineStyle interface can be obtained by using
- * binding-specific casting methods on an instance of the Element interface
- * when the element supports inline CSS style informations.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface ElementCSSInlineStyle {
- /**
- * The style attribute.
- */
- public CSSStyleDeclaration getStyle();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/RGBColor.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>RGBColor</code> interface is used to represent any RGB color
- * value. This interface reflects the values in the underlying style
- * property. Hence, modifications made to the <code>CSSPrimitiveValue</code>
- * objects modify the style property.
- * <p> A specified RGB color is not clipped (even if the number is outside the
- * range 0-255 or 0%-100%). A computed RGB color is clipped depending on the
- * device.
- * <p> Even if a style sheet can only contain an integer for a color value,
- * the internal storage of this integer is a float, and this can be used as
- * a float in the specified or the computed style.
- * <p> A color percentage value can always be converted to a number and vice
- * versa.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface RGBColor {
- /**
- * This attribute is used for the red value of the RGB color.
- */
- public CSSPrimitiveValue getRed();
-
- /**
- * This attribute is used for the green value of the RGB color.
- */
- public CSSPrimitiveValue getGreen();
-
- /**
- * This attribute is used for the blue value of the RGB color.
- */
- public CSSPrimitiveValue getBlue();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/Rect.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>Rect</code> interface is used to represent any rect value. This
- * interface reflects the values in the underlying style property. Hence,
- * modifications made to the <code>CSSPrimitiveValue</code> objects modify
- * the style property.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface Rect {
- /**
- * This attribute is used for the top of the rect.
- */
- public CSSPrimitiveValue getTop();
-
- /**
- * This attribute is used for the right of the rect.
- */
- public CSSPrimitiveValue getRight();
-
- /**
- * This attribute is used for the bottom of the rect.
- */
- public CSSPrimitiveValue getBottom();
-
- /**
- * This attribute is used for the left of the rect.
- */
- public CSSPrimitiveValue getLeft();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/css/ViewCSS.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.views.AbstractView;
-
-/**
- * This interface represents a CSS view. The <code>getComputedStyle</code>
- * method provides a read only access to the computed values of an element.
- * <p> The expectation is that an instance of the <code>ViewCSS</code>
- * interface can be obtained by using binding-specific casting methods on an
- * instance of the <code>AbstractView</code> interface.
- * <p> Since a computed style is related to an <code>Element</code> node, if
- * this element is removed from the document, the associated
- * <code>CSSStyleDeclaration</code> and <code>CSSValue</code> related to
- * this declaration are no longer valid.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface ViewCSS extends AbstractView {
- /**
- * This method is used to get the computed style as it is defined in [<a href='http://www.w3.org/TR/1998/REC-CSS2-19980512'>CSS2</a>].
- * @param elt The element whose style is to be computed. This parameter
- * cannot be null.
- * @param pseudoElt The pseudo-element or <code>null</code> if none.
- * @return The computed style. The <code>CSSStyleDeclaration</code> is
- * read-only and contains only absolute values.
- */
- public CSSStyleDeclaration getComputedStyle(Element elt,
- String pseudoElt);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLAnchorElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * The anchor element. See the A element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLAnchorElement extends HTMLElement {
- /**
- * A single character access key to give access to the form control. See
- * the accesskey attribute definition in HTML 4.0.
- */
- public String getAccessKey();
- public void setAccessKey(String accessKey);
-
- /**
- * The character encoding of the linked resource. See the charset
- * attribute definition in HTML 4.0.
- */
- public String getCharset();
- public void setCharset(String charset);
-
- /**
- * Comma-separated list of lengths, defining an active region geometry.
- * See also <code>shape</code> for the shape of the region. See the
- * coords attribute definition in HTML 4.0.
- */
- public String getCoords();
- public void setCoords(String coords);
-
- /**
- * The URI of the linked resource. See the href attribute definition in
- * HTML 4.0.
- */
- public String getHref();
- public void setHref(String href);
-
- /**
- * Language code of the linked resource. See the hreflang attribute
- * definition in HTML 4.0.
- */
- public String getHreflang();
- public void setHreflang(String hreflang);
-
- /**
- * Anchor name. See the name attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Forward link type. See the rel attribute definition in HTML 4.0.
- */
- public String getRel();
- public void setRel(String rel);
-
- /**
- * Reverse link type. See the rev attribute definition in HTML 4.0.
- */
- public String getRev();
- public void setRev(String rev);
-
- /**
- * The shape of the active area. The coordinates are given by
- * <code>coords</code> . See the shape attribute definition in HTML 4.0.
- */
- public String getShape();
- public void setShape(String shape);
-
- /**
- * Index that represents the element's position in the tabbing order. See
- * the tabindex attribute definition in HTML 4.0.
- */
- public int getTabIndex();
- public void setTabIndex(int tabIndex);
-
- /**
- * Frame to render the resource in. See the target attribute definition
- * in HTML 4.0.
- */
- public String getTarget();
- public void setTarget(String target);
-
- /**
- * Advisory content type. See the type attribute definition in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
- /**
- * Removes keyboard focus from this element.
- */
- public void blur();
-
- /**
- * Gives keyboard focus to this element.
- */
- public void focus();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLAppletElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * An embedded Java applet. See the APPLET element definition in HTML 4.0.
- * This element is deprecated in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLAppletElement extends HTMLElement {
- /**
- * Aligns this object (vertically or horizontally) with respect to its
- * surrounding text. See the align attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Alternate text for user agents not rendering the normal content of
- * this element. See the alt attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getAlt();
- public void setAlt(String alt);
-
- /**
- * Comma-separated archive list. See the archive attribute definition in
- * HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getArchive();
- public void setArchive(String archive);
-
- /**
- * Applet class file. See the code attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getCode();
- public void setCode(String code);
-
- /**
- * Optional base URI for applet. See the codebase attribute definition
- * in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getCodeBase();
- public void setCodeBase(String codeBase);
-
- /**
- * Override height. See the height attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getHeight();
- public void setHeight(String height);
-
- /**
- * Horizontal space to the left and right of this image, applet, or
- * object. See the hspace attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getHspace();
- public void setHspace(String hspace);
-
- /**
- * The name of the applet. See the name attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Serialized applet file. See the object attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getObject();
- public void setObject(String object);
-
- /**
- * Vertical space above and below this image, applet, or object. See the
- * vspace attribute definition in HTML 4.0. This attribute is deprecated
- * in HTML 4.0.
- */
- public String getVspace();
- public void setVspace(String vspace);
-
- /**
- * Override width. See the width attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLAreaElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Client-side image map area definition. See the AREA element definition in
- * HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLAreaElement extends HTMLElement {
- /**
- * A single character access key to give access to the form control. See
- * the accesskey attribute definition in HTML 4.0.
- */
- public String getAccessKey();
- public void setAccessKey(String accessKey);
-
- /**
- * Alternate text for user agents not rendering the normal content of
- * this element. See the alt attribute definition in HTML 4.0.
- */
- public String getAlt();
- public void setAlt(String alt);
-
- /**
- * Comma-separated list of lengths, defining an active region geometry.
- * See also <code>shape</code> for the shape of the region. See the
- * coords attribute definition in HTML 4.0.
- */
- public String getCoords();
- public void setCoords(String coords);
-
- /**
- * The URI of the linked resource. See the href attribute definition in
- * HTML 4.0.
- */
- public String getHref();
- public void setHref(String href);
-
- /**
- * Specifies that this area is inactive, i.e., has no associated action.
- * See the nohref attribute definition in HTML 4.0.
- */
- public boolean getNoHref();
- public void setNoHref(boolean noHref);
-
- /**
- * The shape of the active area. The coordinates are given by
- * <code>coords</code> . See the shape attribute definition in HTML 4.0.
- */
- public String getShape();
- public void setShape(String shape);
-
- /**
- * Index that represents the element's position in the tabbing order. See
- * the tabindex attribute definition in HTML 4.0.
- */
- public int getTabIndex();
- public void setTabIndex(int tabIndex);
-
- /**
- * Frame to render the resource in. See the target attribute definition
- * in HTML 4.0.
- */
- public String getTarget();
- public void setTarget(String target);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLBRElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Force a line break. See the BR element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLBRElement extends HTMLElement {
- /**
- * Control flow of text around floats. See the clear attribute definition
- * in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getClear();
- public void setClear(String clear);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLBaseElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Document base URI. See the BASE element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLBaseElement extends HTMLElement {
- /**
- * The base URI. See the href attribute definition in HTML 4.0.
- */
- public String getHref();
- public void setHref(String href);
-
- /**
- * The default target frame. See the target attribute definition in HTML
- * 4.0.
- */
- public String getTarget();
- public void setTarget(String target);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLBaseFontElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Base font. See the BASEFONT element definition in HTML 4.0. This element
- * is deprecated in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLBaseFontElement extends HTMLElement {
- /**
- * Font color. See the color attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getColor();
- public void setColor(String color);
-
- /**
- * Font face identifier. See the face attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getFace();
- public void setFace(String face);
-
- /**
- * Font size. See the size attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getSize();
- public void setSize(String size);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLBodyElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * The HTML document body. This element is always present in the DOM API,
- * even if the tags are not present in the source document. See the BODY
- * element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLBodyElement extends HTMLElement {
- /**
- * Color of active links (after mouse-button down, but before
- * mouse-button up). See the alink attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getALink();
- public void setALink(String aLink);
-
- /**
- * URI of the background texture tile image. See the background
- * attribute definition in HTML 4.0. This attribute is deprecated in HTML
- * 4.0.
- */
- public String getBackground();
- public void setBackground(String background);
-
- /**
- * Document background color. See the bgcolor attribute definition in
- * HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getBgColor();
- public void setBgColor(String bgColor);
-
- /**
- * Color of links that are not active and unvisited. See the link
- * attribute definition in HTML 4.0. This attribute is deprecated in HTML
- * 4.0.
- */
- public String getLink();
- public void setLink(String link);
-
- /**
- * Document text color. See the text attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getText();
- public void setText(String text);
-
- /**
- * Color of links that have been visited by the user. See the vlink
- * attribute definition in HTML 4.0. This attribute is deprecated in HTML
- * 4.0.
- */
- public String getVLink();
- public void setVLink(String vLink);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLButtonElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Push button. See the BUTTON element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLButtonElement extends HTMLElement {
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * A single character access key to give access to the form control. See
- * the accesskey attribute definition in HTML 4.0.
- */
- public String getAccessKey();
- public void setAccessKey(String accessKey);
-
- /**
- * The control is unavailable in this context. See the disabled
- * attribute definition in HTML 4.0.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * Form control or object name when submitted with a form. See the name
- * attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Index that represents the element's position in the tabbing order. See
- * the tabindex attribute definition in HTML 4.0.
- */
- public int getTabIndex();
- public void setTabIndex(int tabIndex);
-
- /**
- * The type of button. See the type attribute definition in HTML 4.0.
- */
- public String getType();
-
- /**
- * The current form control value. See the value attribute definition in
- * HTML 4.0.
- */
- public String getValue();
- public void setValue(String value);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLCollection.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.Node;
-
-/**
- * An <code>HTMLCollection</code> is a list of nodes. An individual node may
- * be accessed by either ordinal index or the node's<code>name</code> or
- * <code>id</code> attributes. Note: Collections in the HTML DOM are assumed
- * to be live meaning that they are automatically updated when the
- * underlying document is changed.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLCollection {
- /**
- * This attribute specifies the length or size of the list.
- */
- public int getLength();
-
- /**
- * This method retrieves a node specified by ordinal index. Nodes are
- * numbered in tree order (depth-first traversal order).
- * @param index The index of the node to be fetched. The index origin is
- * 0.
- * @return The <code>Node</code> at the corresponding position upon
- * success. A value of <code>null</code> is returned if the index is
- * out of range.
- */
- public Node item(int index);
-
- /**
- * This method retrieves a <code>Node</code> using a name. It first
- * searches for a <code>Node</code> with a matching <code>id</code>
- * attribute. If it doesn't find one, it then searches for a
- * <code>Node</code> with a matching <code>name</code> attribute, but
- * only on those elements that are allowed a name attribute.
- * @param name The name of the <code>Node</code> to be fetched.
- * @return The <code>Node</code> with a <code>name</code> or
- * <code>id</code> attribute whose value corresponds to the specified
- * string. Upon failure (e.g., no node with this name exists), returns
- * <code>null</code> .
- */
- public Node namedItem(String name);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLDListElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Definition list. See the DL element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLDListElement extends HTMLElement {
- /**
- * Reduce spacing between list items. See the compact attribute
- * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public boolean getCompact();
- public void setCompact(boolean compact);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLDOMImplementation.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.DOMImplementation;
-
-/**
- * The <code>HTMLDOMImplementation</code> interface extends the
- * <code>DOMImplementation</code> interface with a method for creating an
- * HTML document instance.
- * @since DOM Level 2
- */
-public interface HTMLDOMImplementation extends DOMImplementation {
- /**
- * Creates an <code>HTMLDocument</code> object with the minimal tree made
- * of the following elements: <code>HTML</code> , <code>HEAD</code> ,
- * <code>TITLE</code> , and <code>BODY</code> .
- * @param title The title of the document to be set as the content of the
- * <code>TITLE</code> element, through a child <code>Text</code> node.
- * @return A new <code>HTMLDocument</code> object.
- */
- public HTMLDocument createHTMLDocument(String title);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLDirectoryElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Directory list. See the DIR element definition in HTML 4.0. This element
- * is deprecated in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLDirectoryElement extends HTMLElement {
- /**
- * Reduce spacing between list items. See the compact attribute
- * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public boolean getCompact();
- public void setCompact(boolean compact);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLDivElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Generic block container. See the DIV element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLDivElement extends HTMLElement {
- /**
- * Horizontal text alignment. See the align attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLDocument.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-
-/**
- * An <code>HTMLDocument</code> is the root of the HTML hierarchy and holds
- * the entire content. Besides providing access to the hierarchy, it also
- * provides some convenience methods for accessing certain sets of
- * information from the document.
- * <p> The following properties have been deprecated in favor of the
- * corresponding ones for the <code>BODY</code> element: alinkColor background
- * bgColor fgColor linkColor vlinkColor In DOM Level 2, the method
- * <code>getElementById</code> is inherited from the <code>Document</code>
- * interface where it was moved.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLDocument extends Document {
- /**
- * The title of a document as specified by the <code>TITLE</code> element
- * in the head of the document.
- */
- public String getTitle();
- public void setTitle(String title);
-
- /**
- * Returns the URI of the page that linked to this page. The value is an
- * empty string if the user navigated to the page directly (not through a
- * link, but, for example, via a bookmark).
- */
- public String getReferrer();
-
- /**
- * The domain name of the server that served the document, or
- * <code>null</code> if the server cannot be identified by a domain name.
- */
- public String getDomain();
-
- /**
- * The complete URI of the document.
- */
- public String getURL();
-
- /**
- * The element that contains the content for the document. In documents
- * with <code>BODY</code> contents, returns the <code>BODY</code>
- * element. In frameset documents, this returns the outermost
- * <code>FRAMESET</code> element.
- */
- public HTMLElement getBody();
- public void setBody(HTMLElement body);
-
- /**
- * A collection of all the <code>IMG</code> elements in a document. The
- * behavior is limited to <code>IMG</code> elements for backwards
- * compatibility.
- */
- public HTMLCollection getImages();
-
- /**
- * A collection of all the <code>OBJECT</code> elements that include
- * applets and <code>APPLET</code> ( deprecated ) elements in a document.
- */
- public HTMLCollection getApplets();
-
- /**
- * A collection of all <code>AREA</code> elements and anchor (
- * <code>A</code> ) elements in a document with a value for the
- * <code>href</code> attribute.
- */
- public HTMLCollection getLinks();
-
- /**
- * A collection of all the forms of a document.
- */
- public HTMLCollection getForms();
-
- /**
- * A collection of all the anchor (<code>A</code> ) elements in a document
- * with a value for the <code>name</code> attribute. Note. For reasons
- * of backwards compatibility, the returned set of anchors only contains
- * those anchors created with the <code>name</code> attribute, not those
- * created with the <code>id</code> attribute.
- */
- public HTMLCollection getAnchors();
-
- /**
- * The cookies associated with this document. If there are none, the
- * value is an empty string. Otherwise, the value is a string: a
- * semicolon-delimited list of "name, value" pairs for all the cookies
- * associated with the page. For example,
- * <code>name=value;expires=date</code> .
- */
- public String getCookie();
- public void setCookie(String cookie);
-
- /**
- * Note. This method and the ones following allow a user to add to or
- * replace the structure model of a document using strings of unparsed
- * HTML. At the time of writing alternate methods for providing similar
- * functionality for both HTML and XML documents were being considered.
- * The following methods may be deprecated at some point in the future in
- * favor of a more general-purpose mechanism.
- * <br> Open a document stream for writing. If a document exists in the
- * target, this method clears it.
- */
- public void open();
-
- /**
- * Closes a document stream opened by <code>open()</code> and forces
- * rendering.
- */
- public void close();
-
- /**
- * Write a string of text to a document stream opened by
- * <code>open()</code> . The text is parsed into the document's structure
- * model.
- * @param text The string to be parsed into some structure in the
- * document structure model.
- */
- public void write(String text);
-
- /**
- * Write a string of text followed by a newline character to a document
- * stream opened by <code>open()</code> . The text is parsed into the
- * document's structure model.
- * @param text The string to be parsed into some structure in the
- * document structure model.
- */
- public void writeln(String text);
-
- /**
- * Returns the (possibly empty) collection of elements whose
- * <code>name</code> value is given by <code>elementName</code> .
- * @param elementName The <code>name</code> attribute value for an
- * element.
- * @return The matching elements.
- */
- public NodeList getElementsByName(String elementName);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.Element;
-
-/**
- * All HTML element interfaces derive from this class. Elements that only
- * expose the HTML core attributes are represented by the base
- * <code>HTMLElement</code> interface. These elements are as follows: HEAD
- * special: SUB, SUP, SPAN, BDO font: TT, I, B, U, S, STRIKE, BIG, SMALL
- * phrase: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ACRONYM, ABBR list:
- * DD, DT NOFRAMES, NOSCRIPT ADDRESS, CENTER The <code>style</code> attribute
- * of an HTML element is accessible through the
- * <code>ElementCSSInlineStyle</code> interface which is defined in the .
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLElement extends Element {
- /**
- * The element's identifier. See the id attribute definition in HTML 4.0.
- */
- public String getId();
- public void setId(String id);
-
- /**
- * The element's advisory title. See the title attribute definition in
- * HTML 4.0.
- */
- public String getTitle();
- public void setTitle(String title);
-
- /**
- * Language code defined in RFC 1766. See the lang attribute definition
- * in HTML 4.0.
- */
- public String getLang();
- public void setLang(String lang);
-
- /**
- * Specifies the base direction of directionally neutral text and the
- * directionality of tables. See the dir attribute definition in HTML
- * 4.0.
- */
- public String getDir();
- public void setDir(String dir);
-
- /**
- * The class attribute of the element. This attribute has been renamed
- * due to conflicts with the "class" keyword exposed by many languages.
- * See the class attribute definition in HTML 4.0.
- */
- public String getClassName();
- public void setClassName(String className);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLFieldSetElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Organizes form controls into logical groups. See the FIELDSET element
- * definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLFieldSetElement extends HTMLElement {
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLFontElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Local change to font. See the FONT element definition in HTML 4.0. This
- * element is deprecated in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLFontElement extends HTMLElement {
- /**
- * Font color. See the color attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getColor();
- public void setColor(String color);
-
- /**
- * Font face identifier. See the face attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getFace();
- public void setFace(String face);
-
- /**
- * Font size. See the size attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getSize();
- public void setSize(String size);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLFormElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * The <code>FORM</code> element encompasses behavior similar to a collection
- * and an element. It provides direct access to the contained input elements
- * as well as the attributes of the form element. See the FORM element
- * definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLFormElement extends HTMLElement {
- /**
- * Returns a collection of all control elements in the form.
- */
- public HTMLCollection getElements();
-
- /**
- * The number of form controls in the form.
- */
- public int getLength();
-
- /**
- * Names the form.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * List of character sets supported by the server. See the
- * accept-charset attribute definition in HTML 4.0.
- */
- public String getAcceptCharset();
- public void setAcceptCharset(String acceptCharset);
-
- /**
- * Server-side form handler. See the action attribute definition in HTML
- * 4.0.
- */
- public String getAction();
- public void setAction(String action);
-
- /**
- * The content type of the submitted form, generally
- * "application/x-www-form-urlencoded". See the enctype attribute
- * definition in HTML 4.0.
- */
- public String getEnctype();
- public void setEnctype(String enctype);
-
- /**
- * HTTP method used to submit form. See the method attribute definition
- * in HTML 4.0.
- */
- public String getMethod();
- public void setMethod(String method);
-
- /**
- * Frame to render the resource in. See the target attribute definition
- * in HTML 4.0.
- */
- public String getTarget();
- public void setTarget(String target);
-
- /**
- * Submits the form. It performs the same action as a submit button.
- */
- public void submit();
-
- /**
- * Restores a form element's default values. It performs the same action
- * as a reset button.
- */
- public void reset();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLFrameElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.Document;
-
-/**
- * Create a frame. See the FRAME element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLFrameElement extends HTMLElement {
- /**
- * Request frame borders. See the frameborder attribute definition in
- * HTML 4.0.
- */
- public String getFrameBorder();
- public void setFrameBorder(String frameBorder);
-
- /**
- * URI designating a long description of this image or frame. See the
- * longdesc attribute definition in HTML 4.0.
- */
- public String getLongDesc();
- public void setLongDesc(String longDesc);
-
- /**
- * Frame margin height, in pixels. See the marginheight attribute
- * definition in HTML 4.0.
- */
- public String getMarginHeight();
- public void setMarginHeight(String marginHeight);
-
- /**
- * Frame margin width, in pixels. See the marginwidth attribute
- * definition in HTML 4.0.
- */
- public String getMarginWidth();
- public void setMarginWidth(String marginWidth);
-
- /**
- * The frame name (object of the <code>target</code> attribute). See the
- * name attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * When true, forbid user from resizing frame. See the noresize
- * attribute definition in HTML 4.0.
- */
- public boolean getNoResize();
- public void setNoResize(boolean noResize);
-
- /**
- * Specify whether or not the frame should have scrollbars. See the
- * scrolling attribute definition in HTML 4.0.
- */
- public String getScrolling();
- public void setScrolling(String scrolling);
-
- /**
- * A URI designating the initial frame contents. See the src attribute
- * definition in HTML 4.0.
- */
- public String getSrc();
- public void setSrc(String src);
-
- /**
- * The document this frame contains, if there is any and it is available,
- * or <code>null</code> otherwise.
- * @since DOM Level 2
- */
- public Document getContentDocument();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLFrameSetElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Create a grid of frames. See the FRAMESET element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLFrameSetElement extends HTMLElement {
- /**
- * The number of columns of frames in the frameset. See the cols
- * attribute definition in HTML 4.0.
- */
- public String getCols();
- public void setCols(String cols);
-
- /**
- * The number of rows of frames in the frameset. See the rows attribute
- * definition in HTML 4.0.
- */
- public String getRows();
- public void setRows(String rows);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLHRElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Create a horizontal rule. See the HR element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLHRElement extends HTMLElement {
- /**
- * Align the rule on the page. See the align attribute definition in
- * HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Indicates to the user agent that there should be no shading in the
- * rendering of this element. See the noshade attribute definition in
- * HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public boolean getNoShade();
- public void setNoShade(boolean noShade);
-
- /**
- * The height of the rule. See the size attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getSize();
- public void setSize(String size);
-
- /**
- * The width of the rule. See the width attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLHeadElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Document head information. See the HEAD element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLHeadElement extends HTMLElement {
- /**
- * URI designating a metadata profile. See the profile attribute
- * definition in HTML 4.0.
- */
- public String getProfile();
- public void setProfile(String profile);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLHeadingElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * For the <code>H1</code> to <code>H6</code> elements. See the H1 element
- * definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLHeadingElement extends HTMLElement {
- /**
- * Horizontal text alignment. See the align attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLHtmlElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Root of an HTML document. See the HTML element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLHtmlElement extends HTMLElement {
- /**
- * Version information about the document's DTD. See the version
- * attribute definition in HTML 4.0. This attribute is deprecated in HTML
- * 4.0.
- */
- public String getVersion();
- public void setVersion(String version);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLIFrameElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.Document;
-
-/**
- * Inline subwindows. See the IFRAME element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLIFrameElement extends HTMLElement {
- /**
- * Aligns this object (vertically or horizontally) with respect to its
- * surrounding text. See the align attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Request frame borders. See the frameborder attribute definition in
- * HTML 4.0.
- */
- public String getFrameBorder();
- public void setFrameBorder(String frameBorder);
-
- /**
- * Frame height. See the height attribute definition in HTML 4.0.
- */
- public String getHeight();
- public void setHeight(String height);
-
- /**
- * URI designating a long description of this image or frame. See the
- * longdesc attribute definition in HTML 4.0.
- */
- public String getLongDesc();
- public void setLongDesc(String longDesc);
-
- /**
- * Frame margin height, in pixels. See the marginheight attribute
- * definition in HTML 4.0.
- */
- public String getMarginHeight();
- public void setMarginHeight(String marginHeight);
-
- /**
- * Frame margin width, in pixels. See the marginwidth attribute
- * definition in HTML 4.0.
- */
- public String getMarginWidth();
- public void setMarginWidth(String marginWidth);
-
- /**
- * The frame name (object of the <code>target</code> attribute). See the
- * name attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Specify whether or not the frame should have scrollbars. See the
- * scrolling attribute definition in HTML 4.0.
- */
- public String getScrolling();
- public void setScrolling(String scrolling);
-
- /**
- * A URI designating the initial frame contents. See the src attribute
- * definition in HTML 4.0.
- */
- public String getSrc();
- public void setSrc(String src);
-
- /**
- * Frame width. See the width attribute definition in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
- /**
- * The document this frame contains, if there is any and it is available,
- * or <code>null</code> otherwise.
- * @since DOM Level 2
- */
- public Document getContentDocument();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLImageElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Embedded image. See the IMG element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLImageElement extends HTMLElement {
- /**
- * URI designating the source of this image, for low-resolution output.
- */
- public String getLowSrc();
- public void setLowSrc(String lowSrc);
-
- /**
- * The name of the element (for backwards compatibility).
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Aligns this object (vertically or horizontally) with respect to its
- * surrounding text. See the align attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Alternate text for user agents not rendering the normal content of
- * this element. See the alt attribute definition in HTML 4.0.
- */
- public String getAlt();
- public void setAlt(String alt);
-
- /**
- * Width of border around image. See the border attribute definition in
- * HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getBorder();
- public void setBorder(String border);
-
- /**
- * Override height. See the height attribute definition in HTML 4.0.
- */
- public String getHeight();
- public void setHeight(String height);
-
- /**
- * Horizontal space to the left and right of this image. See the hspace
- * attribute definition in HTML 4.0. This attribute is deprecated in HTML
- * 4.0.
- */
- public String getHspace();
- public void setHspace(String hspace);
-
- /**
- * Use server-side image map. See the ismap attribute definition in HTML
- * 4.0.
- */
- public boolean getIsMap();
- public void setIsMap(boolean isMap);
-
- /**
- * URI designating a long description of this image or frame. See the
- * longdesc attribute definition in HTML 4.0.
- */
- public String getLongDesc();
- public void setLongDesc(String longDesc);
-
- /**
- * URI designating the source of this image. See the src attribute
- * definition in HTML 4.0.
- */
- public String getSrc();
- public void setSrc(String src);
-
- /**
- * Use client-side image map. See the usemap attribute definition in
- * HTML 4.0.
- */
- public String getUseMap();
- public void setUseMap(String useMap);
-
- /**
- * Vertical space above and below this image. See the vspace attribute
- * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getVspace();
- public void setVspace(String vspace);
-
- /**
- * Override width. See the width attribute definition in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLInputElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Form control. Note. Depending upon the environment in which the page is
- * being viewed, the value property may be read-only for the file upload
- * input type. For the "password" input type, the actual value returned may
- * be masked to prevent unauthorized use. See the INPUT element definition
- * in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLInputElement extends HTMLElement {
- /**
- * When the <code>type</code> attribute of the element has the value
- * "Text", "File" or "Password", this represents the HTML value attribute
- * of the element. The value of this attribute does not change if the
- * contents of the corresponding form control, in an interactive user
- * agent, changes. Changing this attribute, however, resets the contents
- * of the form control. See the value attribute definition in HTML 4.0.
- */
- public String getDefaultValue();
- public void setDefaultValue(String defaultValue);
-
- /**
- * When <code>type</code> has the value "Radio" or "Checkbox", this
- * represents the HTML checked attribute of the element. The value of
- * this attribute does not change if the state of the corresponding form
- * control, in an interactive user agent, changes. Changes to this
- * attribute, however, resets the state of the form control. See the
- * checked attribute definition in HTML 4.0.
- */
- public boolean getDefaultChecked();
- public void setDefaultChecked(boolean defaultChecked);
-
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * A comma-separated list of content types that a server processing this
- * form will handle correctly. See the accept attribute definition in
- * HTML 4.0.
- */
- public String getAccept();
- public void setAccept(String accept);
-
- /**
- * A single character access key to give access to the form control. See
- * the accesskey attribute definition in HTML 4.0.
- */
- public String getAccessKey();
- public void setAccessKey(String accessKey);
-
- /**
- * Aligns this object (vertically or horizontally) with respect to its
- * surrounding text. See the align attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Alternate text for user agents not rendering the normal content of
- * this element. See the alt attribute definition in HTML 4.0.
- */
- public String getAlt();
- public void setAlt(String alt);
-
- /**
- * When the <code>type</code> attribute of the element has the value
- * "Radio" or "Checkbox", this represents the current state of the form
- * control, in an interactive user agent. Changes to this attribute
- * change the state of the form control, but do not change the value of
- * the HTML value attribute of the element.
- */
- public boolean getChecked();
- public void setChecked(boolean checked);
-
- /**
- * The control is unavailable in this context. See the disabled
- * attribute definition in HTML 4.0.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * Maximum number of characters for text fields, when <code>type</code>
- * has the value "Text" or "Password". See the maxlength attribute
- * definition in HTML 4.0.
- */
- public int getMaxLength();
- public void setMaxLength(int maxLength);
-
- /**
- * Form control or object name when submitted with a form. See the name
- * attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * This control is read-only. Relevant only when <code>type</code> has
- * the value "Text" or "Password". See the readonly attribute definition
- * in HTML 4.0.
- */
- public boolean getReadOnly();
- public void setReadOnly(boolean readOnly);
-
- /**
- * Size information. The precise meaning is specific to each type of
- * field. See the size attribute definition in HTML 4.0.
- */
- public String getSize();
- public void setSize(String size);
-
- /**
- * When the <code>type</code> attribute has the value "Image", this
- * attribute specifies the location of the image to be used to decorate
- * the graphical submit button. See the src attribute definition in HTML
- * 4.0.
- */
- public String getSrc();
- public void setSrc(String src);
-
- /**
- * Index that represents the element's position in the tabbing order. See
- * the tabindex attribute definition in HTML 4.0.
- */
- public int getTabIndex();
- public void setTabIndex(int tabIndex);
-
- /**
- * The type of control created. See the type attribute definition in
- * HTML 4.0.
- */
- public String getType();
-
- /**
- * Use client-side image map. See the usemap attribute definition in
- * HTML 4.0.
- */
- public String getUseMap();
- public void setUseMap(String useMap);
-
- /**
- * When the <code>type</code> attribute of the element has the value
- * "Text", "File" or "Password", this represents the current contents of
- * the corresponding form control, in an interactive user agent. Changing
- * this attribute changes the contents of the form control, but does not
- * change the value of the HTML value attribute of the element. When the
- * <code>type</code> attribute of the element has the value "Button",
- * "Hidden", "Submit", "Reset", "Image", "Checkbox" or "Radio", this
- * represents the HTML value attribute of the element. See the value
- * attribute definition in HTML 4.0.
- */
- public String getValue();
- public void setValue(String value);
-
- /**
- * Removes keyboard focus from this element.
- */
- public void blur();
-
- /**
- * Gives keyboard focus to this element.
- */
- public void focus();
-
- /**
- * Select the contents of the text area. For <code>INPUT</code> elements
- * whose <code>type</code> attribute has one of the following values:
- * "Text", "File", or "Password".
- */
- public void select();
-
- /**
- * Simulate a mouse-click. For <code>INPUT</code> elements whose
- * <code>type</code> attribute has one of the following values: "Button",
- * "Checkbox", "Radio", "Reset", or "Submit".
- */
- public void click();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLIsIndexElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * This element is used for single-line text input. See the ISINDEX element
- * definition in HTML 4.0. This element is deprecated in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLIsIndexElement extends HTMLElement {
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * The prompt message. See the prompt attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getPrompt();
- public void setPrompt(String prompt);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLLIElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * List item. See the LI element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLLIElement extends HTMLElement {
- /**
- * List item bullet style. See the type attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
- /**
- * Reset sequence number when used in <code>OL</code> . See the value
- * attribute definition in HTML 4.0. This attribute is deprecated in HTML
- * 4.0.
- */
- public int getValue();
- public void setValue(int value);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLLabelElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Form field label text. See the LABEL element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLLabelElement extends HTMLElement {
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * A single character access key to give access to the form control. See
- * the accesskey attribute definition in HTML 4.0.
- */
- public String getAccessKey();
- public void setAccessKey(String accessKey);
-
- /**
- * This attribute links this label with another form control by
- * <code>id</code> attribute. See the for attribute definition in HTML
- * 4.0.
- */
- public String getHtmlFor();
- public void setHtmlFor(String htmlFor);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLLegendElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Provides a caption for a <code>FIELDSET</code> grouping. See the LEGEND
- * element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLLegendElement extends HTMLElement {
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * A single character access key to give access to the form control. See
- * the accesskey attribute definition in HTML 4.0.
- */
- public String getAccessKey();
- public void setAccessKey(String accessKey);
-
- /**
- * Text alignment relative to <code>FIELDSET</code> . See the align
- * attribute definition in HTML 4.0. This attribute is deprecated in HTML
- * 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLLinkElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * The <code>LINK</code> element specifies a link to an external resource,
- * and defines this document's relationship to that resource (or vice versa).
- * See the LINK element definition in HTML 4.0 (see also the
- * <code>LinkStyle</code> interface in the module).
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLLinkElement extends HTMLElement {
- /**
- * Enables/disables the link. This is currently only used for style sheet
- * links, and may be used to activate or deactivate style sheets.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * The character encoding of the resource being linked to. See the
- * charset attribute definition in HTML 4.0.
- */
- public String getCharset();
- public void setCharset(String charset);
-
- /**
- * The URI of the linked resource. See the href attribute definition in
- * HTML 4.0.
- */
- public String getHref();
- public void setHref(String href);
-
- /**
- * Language code of the linked resource. See the hreflang attribute
- * definition in HTML 4.0.
- */
- public String getHreflang();
- public void setHreflang(String hreflang);
-
- /**
- * Designed for use with one or more target media. See the media
- * attribute definition in HTML 4.0.
- */
- public String getMedia();
- public void setMedia(String media);
-
- /**
- * Forward link type. See the rel attribute definition in HTML 4.0.
- */
- public String getRel();
- public void setRel(String rel);
-
- /**
- * Reverse link type. See the rev attribute definition in HTML 4.0.
- */
- public String getRev();
- public void setRev(String rev);
-
- /**
- * Frame to render the resource in. See the target attribute definition
- * in HTML 4.0.
- */
- public String getTarget();
- public void setTarget(String target);
-
- /**
- * Advisory content type. See the type attribute definition in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLMapElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Client-side image map. See the MAP element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLMapElement extends HTMLElement {
- /**
- * The list of areas defined for the image map.
- */
- public HTMLCollection getAreas();
-
- /**
- * Names the map (for use with <code>usemap</code> ). See the name
- * attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLMenuElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Menu list. See the MENU element definition in HTML 4.0. This element is
- * deprecated in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLMenuElement extends HTMLElement {
- /**
- * Reduce spacing between list items. See the compact attribute
- * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public boolean getCompact();
- public void setCompact(boolean compact);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLMetaElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * This contains generic meta-information about the document. See the META
- * element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLMetaElement extends HTMLElement {
- /**
- * Associated information. See the content attribute definition in HTML
- * 4.0.
- */
- public String getContent();
- public void setContent(String content);
-
- /**
- * HTTP response header name. See the http-equiv attribute definition in
- * HTML 4.0.
- */
- public String getHttpEquiv();
- public void setHttpEquiv(String httpEquiv);
-
- /**
- * Meta information name. See the name attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Select form of content. See the scheme attribute definition in HTML
- * 4.0.
- */
- public String getScheme();
- public void setScheme(String scheme);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLModElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Notice of modification to part of a document. See the INS and DEL
- * element definitions in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLModElement extends HTMLElement {
- /**
- * A URI designating a document that describes the reason for the change.
- * See the cite attribute definition in HTML 4.0.
- */
- public String getCite();
- public void setCite(String cite);
-
- /**
- * The date and time of the change. See the datetime attribute definition
- * in HTML 4.0.
- */
- public String getDateTime();
- public void setDateTime(String dateTime);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLOListElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Ordered list. See the OL element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLOListElement extends HTMLElement {
- /**
- * Reduce spacing between list items. See the compact attribute
- * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public boolean getCompact();
- public void setCompact(boolean compact);
-
- /**
- * Starting sequence number. See the start attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public int getStart();
- public void setStart(int start);
-
- /**
- * Numbering style. See the type attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLObjectElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.Document;
-
-/**
- * Generic embedded object. Note. In principle, all properties on the object
- * element are read-write but in some environments some properties may be
- * read-only once the underlying object is instantiated. See the OBJECT
- * element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLObjectElement extends HTMLElement {
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * Applet class file. See the <code>code</code> attribute for
- * HTMLAppletElement.
- */
- public String getCode();
- public void setCode(String code);
-
- /**
- * Aligns this object (vertically or horizontally) with respect to its
- * surrounding text. See the align attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Space-separated list of archives. See the archive attribute definition
- * in HTML 4.0.
- */
- public String getArchive();
- public void setArchive(String archive);
-
- /**
- * Width of border around the object. See the border attribute definition
- * in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getBorder();
- public void setBorder(String border);
-
- /**
- * Base URI for <code>classid</code> , <code>data</code> , and
- * <code>archive</code> attributes. See the codebase attribute definition
- * in HTML 4.0.
- */
- public String getCodeBase();
- public void setCodeBase(String codeBase);
-
- /**
- * Content type for data downloaded via <code>classid</code> attribute.
- * See the codetype attribute definition in HTML 4.0.
- */
- public String getCodeType();
- public void setCodeType(String codeType);
-
- /**
- * A URI specifying the location of the object's data. See the data
- * attribute definition in HTML 4.0.
- */
- public String getData();
- public void setData(String data);
-
- /**
- * Declare (for future reference), but do not instantiate, this object.
- * See the declare attribute definition in HTML 4.0.
- */
- public boolean getDeclare();
- public void setDeclare(boolean declare);
-
- /**
- * Override height. See the height attribute definition in HTML 4.0.
- */
- public String getHeight();
- public void setHeight(String height);
-
- /**
- * Horizontal space to the left and right of this image, applet, or
- * object. See the hspace attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getHspace();
- public void setHspace(String hspace);
-
- /**
- * Form control or object name when submitted with a form. See the name
- * attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Message to render while loading the object. See the standby attribute
- * definition in HTML 4.0.
- */
- public String getStandby();
- public void setStandby(String standby);
-
- /**
- * Index that represents the element's position in the tabbing order. See
- * the tabindex attribute definition in HTML 4.0.
- */
- public int getTabIndex();
- public void setTabIndex(int tabIndex);
-
- /**
- * Content type for data downloaded via <code>data</code> attribute. See
- * the type attribute definition in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
- /**
- * Use client-side image map. See the usemap attribute definition in
- * HTML 4.0.
- */
- public String getUseMap();
- public void setUseMap(String useMap);
-
- /**
- * Vertical space above and below this image, applet, or object. See the
- * vspace attribute definition in HTML 4.0. This attribute is deprecated
- * in HTML 4.0.
- */
- public String getVspace();
- public void setVspace(String vspace);
-
- /**
- * Override width. See the width attribute definition in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
- /**
- * The document this object contains, if there is any and it is
- * available, or <code>null</code> otherwise.
- * @since DOM Level 2
- */
- public Document getContentDocument();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLOptGroupElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Group options together in logical subdivisions. See the OPTGROUP element
- * definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLOptGroupElement extends HTMLElement {
- /**
- * The control is unavailable in this context. See the disabled
- * attribute definition in HTML 4.0.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * Assigns a label to this option group. See the label attribute
- * definition in HTML 4.0.
- */
- public String getLabel();
- public void setLabel(String label);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLOptionElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * A selectable choice. See the OPTION element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLOptionElement extends HTMLElement {
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * Represents the value of the HTML selected attribute. The value of this
- * attribute does not change if the state of the corresponding form
- * control, in an interactive user agent, changes. Changing
- * <code>defaultSelected</code> , however, resets the state of the form
- * control. See the selected attribute definition in HTML 4.0.
- */
- public boolean getDefaultSelected();
- public void setDefaultSelected(boolean defaultSelected);
-
- /**
- * The text contained within the option element.
- */
- public String getText();
-
- /**
- * The index of this <code>OPTION</code> in its parent <code>SELECT</code>
- * , starting from 0.
- */
- public int getIndex();
-
- /**
- * The control is unavailable in this context. See the disabled
- * attribute definition in HTML 4.0.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * Option label for use in hierarchical menus. See the label attribute
- * definition in HTML 4.0.
- */
- public String getLabel();
- public void setLabel(String label);
-
- /**
- * Represents the current state of the corresponding form control, in an
- * interactive user agent. Changing this attribute changes the state of
- * the form control, but does not change the value of the HTML selected
- * attribute of the element.
- */
- public boolean getSelected();
- public void setSelected(boolean selected);
-
- /**
- * The current form control value. See the value attribute definition in
- * HTML 4.0.
- */
- public String getValue();
- public void setValue(String value);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLParagraphElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Paragraphs. See the P element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLParagraphElement extends HTMLElement {
- /**
- * Horizontal text alignment. See the align attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLParamElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Parameters fed to the <code>OBJECT</code> element. See the PARAM element
- * definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLParamElement extends HTMLElement {
- /**
- * The name of a run-time parameter. See the name attribute definition
- * in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Content type for the <code>value</code> attribute when
- * <code>valuetype</code> has the value "ref". See the type attribute
- * definition in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
- /**
- * The value of a run-time parameter. See the value attribute definition
- * in HTML 4.0.
- */
- public String getValue();
- public void setValue(String value);
-
- /**
- * Information about the meaning of the <code>value</code> attribute
- * value. See the valuetype attribute definition in HTML 4.0.
- */
- public String getValueType();
- public void setValueType(String valueType);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLPreElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Preformatted text. See the PRE element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLPreElement extends HTMLElement {
- /**
- * Fixed width for content. See the width attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public int getWidth();
- public void setWidth(int width);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLQuoteElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * For the <code>Q</code> and <code>BLOCKQUOTE</code> elements. See the Q
- * element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLQuoteElement extends HTMLElement {
- /**
- * A URI designating a source document or message. See the cite
- * attribute definition in HTML 4.0.
- */
- public String getCite();
- public void setCite(String cite);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLScriptElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Script statements. See the SCRIPT element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLScriptElement extends HTMLElement {
- /**
- * The script content of the element.
- */
- public String getText();
- public void setText(String text);
-
- /**
- * Reserved for future use.
- */
- public String getHtmlFor();
- public void setHtmlFor(String htmlFor);
-
- /**
- * Reserved for future use.
- */
- public String getEvent();
- public void setEvent(String event);
-
- /**
- * The character encoding of the linked resource. See the charset
- * attribute definition in HTML 4.0.
- */
- public String getCharset();
- public void setCharset(String charset);
-
- /**
- * Indicates that the user agent can defer processing of the script. See
- * the defer attribute definition in HTML 4.0.
- */
- public boolean getDefer();
- public void setDefer(boolean defer);
-
- /**
- * URI designating an external script. See the src attribute definition
- * in HTML 4.0.
- */
- public String getSrc();
- public void setSrc(String src);
-
- /**
- * The content type of the script language. See the type attribute
- * definition in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLSelectElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The select element allows the selection of an option. The contained
- * options can be directly accessed through the select element as a
- * collection. See the SELECT element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLSelectElement extends HTMLElement {
- /**
- * The type of this form control. This is the string "select-multiple"
- * when the multiple attribute is <code>true</code> and the string
- * "select-one" when <code>false</code> .
- */
- public String getType();
-
- /**
- * The ordinal index of the selected option, starting from 0. The value
- * -1 is returned if no element is selected. If multiple options are
- * selected, the index of the first selected option is returned.
- */
- public int getSelectedIndex();
- public void setSelectedIndex(int selectedIndex);
-
- /**
- * The current form control value.
- */
- public String getValue();
- public void setValue(String value);
-
- /**
- * The number of options in this <code>SELECT</code> .
- */
- public int getLength();
-
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * The collection of <code>OPTION</code> elements contained by this
- * element.
- */
- public HTMLCollection getOptions();
-
- /**
- * The control is unavailable in this context. See the disabled
- * attribute definition in HTML 4.0.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * If true, multiple <code>OPTION</code> elements may be selected in
- * this <code>SELECT</code> . See the multiple attribute definition in
- * HTML 4.0.
- */
- public boolean getMultiple();
- public void setMultiple(boolean multiple);
-
- /**
- * Form control or object name when submitted with a form. See the name
- * attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Number of visible rows. See the size attribute definition in HTML 4.0.
- */
- public int getSize();
- public void setSize(int size);
-
- /**
- * Index that represents the element's position in the tabbing order. See
- * the tabindex attribute definition in HTML 4.0.
- */
- public int getTabIndex();
- public void setTabIndex(int tabIndex);
-
- /**
- * Add a new element to the collection of <code>OPTION</code> elements
- * for this <code>SELECT</code> . This method is the equivalent of the
- * <code>appendChild</code> method of the <code>Node</code> interface if
- * the <code>before</code> parameter is <code>null</code> . It is
- * equivalent to the <code>insertBefore</code> method on the parent of
- * <code>before</code> in all other cases.
- * @param element The element to add.
- * @param before The element to insert before, or <code>null</code> for
- * the tail of the list.
- * @exception DOMException
- * NOT_FOUND_ERR: Raised if <code>before</code> is not a descendant of
- * the <code>SELECT</code> element.
- */
- public void add(HTMLElement element,
- HTMLElement before)
- throws DOMException;
-
- /**
- * Remove an element from the collection of <code>OPTION</code> elements
- * for this <code>SELECT</code> . Does nothing if no element has the given
- * index.
- * @param index The index of the item to remove, starting from 0.
- */
- public void remove(int index);
-
- /**
- * Removes keyboard focus from this element.
- */
- public void blur();
-
- /**
- * Gives keyboard focus to this element.
- */
- public void focus();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLStyleElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Style information. See the STYLE element definition in HTML 4.0, the
- * module and the <code>LinkStyle</code> interface in the module.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLStyleElement extends HTMLElement {
- /**
- * Enables/disables the style sheet.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * Designed for use with one or more target media. See the media
- * attribute definition in HTML 4.0.
- */
- public String getMedia();
- public void setMedia(String media);
-
- /**
- * The content type pf the style sheet language. See the type attribute
- * definition in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLTableCaptionElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Table caption See the CAPTION element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTableCaptionElement extends HTMLElement {
- /**
- * Caption alignment with respect to the table. See the align attribute
- * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLTableCellElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * The object used to represent the <code>TH</code> and <code>TD</code>
- * elements. See the TD element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTableCellElement extends HTMLElement {
- /**
- * The index of this cell in the row, starting from 0. This index is in
- * document tree order and not display order.
- */
- public int getCellIndex();
-
- /**
- * Abbreviation for header cells. See the abbr attribute definition in
- * HTML 4.0.
- */
- public String getAbbr();
- public void setAbbr(String abbr);
-
- /**
- * Horizontal alignment of data in cell. See the align attribute
- * definition in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Names group of related headers. See the axis attribute definition in
- * HTML 4.0.
- */
- public String getAxis();
- public void setAxis(String axis);
-
- /**
- * Cell background color. See the bgcolor attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getBgColor();
- public void setBgColor(String bgColor);
-
- /**
- * Alignment character for cells in a column. See the char attribute
- * definition in HTML 4.0.
- */
- public String getCh();
- public void setCh(String ch);
-
- /**
- * Offset of alignment character. See the charoff attribute definition
- * in HTML 4.0.
- */
- public String getChOff();
- public void setChOff(String chOff);
-
- /**
- * Number of columns spanned by cell. See the colspan attribute
- * definition in HTML 4.0.
- */
- public int getColSpan();
- public void setColSpan(int colSpan);
-
- /**
- * List of <code>id</code> attribute values for header cells. See the
- * headers attribute definition in HTML 4.0.
- */
- public String getHeaders();
- public void setHeaders(String headers);
-
- /**
- * Cell height. See the height attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getHeight();
- public void setHeight(String height);
-
- /**
- * Suppress word wrapping. See the nowrap attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public boolean getNoWrap();
- public void setNoWrap(boolean noWrap);
-
- /**
- * Number of rows spanned by cell. See the rowspan attribute definition
- * in HTML 4.0.
- */
- public int getRowSpan();
- public void setRowSpan(int rowSpan);
-
- /**
- * Scope covered by header cells. See the scope attribute definition in
- * HTML 4.0.
- */
- public String getScope();
- public void setScope(String scope);
-
- /**
- * Vertical alignment of data in cell. See the valign attribute
- * definition in HTML 4.0.
- */
- public String getVAlign();
- public void setVAlign(String vAlign);
-
- /**
- * Cell width. See the width attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLTableColElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Regroups the <code>COL</code> and <code>COLGROUP</code> elements. See the
- * COL element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTableColElement extends HTMLElement {
- /**
- * Horizontal alignment of cell data in column. See the align attribute
- * definition in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Alignment character for cells in a column. See the char attribute
- * definition in HTML 4.0.
- */
- public String getCh();
- public void setCh(String ch);
-
- /**
- * Offset of alignment character. See the charoff attribute definition
- * in HTML 4.0.
- */
- public String getChOff();
- public void setChOff(String chOff);
-
- /**
- * Indicates the number of columns in a group or affected by a grouping.
- * See the span attribute definition in HTML 4.0.
- */
- public int getSpan();
- public void setSpan(int span);
-
- /**
- * Vertical alignment of cell data in column. See the valign attribute
- * definition in HTML 4.0.
- */
- public String getVAlign();
- public void setVAlign(String vAlign);
-
- /**
- * Default column width. See the width attribute definition in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLTableElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The create* and delete* methods on the table allow authors to construct
- * and modify tables. HTML 4.0 specifies that only one of each of the
- * <code>CAPTION</code> , <code>THEAD</code> , and <code>TFOOT</code>
- * elements may exist in a table. Therefore, if one exists, and the
- * createTHead() or createTFoot() method is called, the method returns the
- * existing THead or TFoot element. See the TABLE element definition in HTML
- * 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTableElement extends HTMLElement {
- /**
- * Returns the table's <code>CAPTION</code> , or void if none exists.
- */
- public HTMLTableCaptionElement getCaption();
- public void setCaption(HTMLTableCaptionElement caption);
-
- /**
- * Returns the table's <code>THEAD</code> , or <code>null</code> if none
- * exists.
- */
- public HTMLTableSectionElement getTHead();
- public void setTHead(HTMLTableSectionElement tHead);
-
- /**
- * Returns the table's <code>TFOOT</code> , or <code>null</code> if none
- * exists.
- */
- public HTMLTableSectionElement getTFoot();
- public void setTFoot(HTMLTableSectionElement tFoot);
-
- /**
- * Returns a collection of all the rows in the table, including all in
- * <code>THEAD</code> , <code>TFOOT</code> , all <code>TBODY</code>
- * elements.
- */
- public HTMLCollection getRows();
-
- /**
- * Returns a collection of the defined table bodies.
- */
- public HTMLCollection getTBodies();
-
- /**
- * Specifies the table's position with respect to the rest of the
- * document. See the align attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Cell background color. See the bgcolor attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getBgColor();
- public void setBgColor(String bgColor);
-
- /**
- * The width of the border around the table. See the border attribute
- * definition in HTML 4.0.
- */
- public String getBorder();
- public void setBorder(String border);
-
- /**
- * Specifies the horizontal and vertical space between cell content and
- * cell borders. See the cellpadding attribute definition in HTML 4.0.
- */
- public String getCellPadding();
- public void setCellPadding(String cellPadding);
-
- /**
- * Specifies the horizontal and vertical separation between cells. See
- * the cellspacing attribute definition in HTML 4.0.
- */
- public String getCellSpacing();
- public void setCellSpacing(String cellSpacing);
-
- /**
- * Specifies which external table borders to render. See the frame
- * attribute definition in HTML 4.0.
- */
- public String getFrame();
- public void setFrame(String frame);
-
- /**
- * Specifies which internal table borders to render. See the rules
- * attribute definition in HTML 4.0.
- */
- public String getRules();
- public void setRules(String rules);
-
- /**
- * Description about the purpose or structure of a table. See the
- * summary attribute definition in HTML 4.0.
- */
- public String getSummary();
- public void setSummary(String summary);
-
- /**
- * Specifies the desired table width. See the width attribute definition
- * in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
- /**
- * Create a table header row or return an existing one.
- * @return A new table header element (<code>THEAD</code> ).
- */
- public HTMLElement createTHead();
-
- /**
- * Delete the header from the table, if one exists.
- */
- public void deleteTHead();
-
- /**
- * Create a table footer row or return an existing one.
- * @return A footer element (<code>TFOOT</code> ).
- */
- public HTMLElement createTFoot();
-
- /**
- * Delete the footer from the table, if one exists.
- */
- public void deleteTFoot();
-
- /**
- * Create a new table caption object or return an existing one.
- * @return A <code>CAPTION</code> element.
- */
- public HTMLElement createCaption();
-
- /**
- * Delete the table caption, if one exists.
- */
- public void deleteCaption();
-
- /**
- * Insert a new empty row in the table. The new row is inserted
- * immediately before and in the same section as the current
- * <code>index</code> th row in the table. If <code>index</code> is equal
- * to the number of rows, the new row is appended. In addition, when the
- * table is empty the row is inserted into a <code>TBODY</code> which is
- * created and inserted into the table. Note. A table row cannot be empty
- * according to HTML 4.0 Recommendation.
- * @param index The row number where to insert a new row. This index
- * starts from 0 and is relative to all the rows contained inside the
- * table, regardless of section parentage.
- * @return The newly created row.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified index is greater than the
- * number of rows or if the index is negative.
- */
- public HTMLElement insertRow(int index)
- throws DOMException;
-
- /**
- * Delete a table row.
- * @param index The index of the row to be deleted. This index starts
- * from 0 and is relative to all the rows contained inside the table,
- * regardless of section parentage.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified index is greater than or
- * equal to the number of rows or if the index is negative.
- */
- public void deleteRow(int index)
- throws DOMException;
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLTableRowElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.DOMException;
-
-/**
- * A row in a table. See the TR element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTableRowElement extends HTMLElement {
- /**
- * The index of this row, relative to the entire table, starting from 0.
- * This is in document tree order and not display order. The
- * <code>rowIndex</code> does not take into account sections (
- * <code>THEAD</code> , <code>TFOOT</code> , or <code>TBODY</code> )
- * within the table.
- */
- public int getRowIndex();
-
- /**
- * The index of this row, relative to the current section (
- * <code>THEAD</code> , <code>TFOOT</code> , or <code>TBODY</code> ),
- * starting from 0.
- */
- public int getSectionRowIndex();
-
- /**
- * The collection of cells in this row.
- */
- public HTMLCollection getCells();
-
- /**
- * Horizontal alignment of data within cells of this row. See the align
- * attribute definition in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Background color for rows. See the bgcolor attribute definition in
- * HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getBgColor();
- public void setBgColor(String bgColor);
-
- /**
- * Alignment character for cells in a column. See the char attribute
- * definition in HTML 4.0.
- */
- public String getCh();
- public void setCh(String ch);
-
- /**
- * Offset of alignment character. See the charoff attribute definition
- * in HTML 4.0.
- */
- public String getChOff();
- public void setChOff(String chOff);
-
- /**
- * Vertical alignment of data within cells of this row. See the valign
- * attribute definition in HTML 4.0.
- */
- public String getVAlign();
- public void setVAlign(String vAlign);
-
- /**
- * Insert an empty <code>TD</code> cell into this row. If
- * <code>index</code> is equal to the number of cells, the new cell is
- * appended
- * @param index The place to insert the cell, starting from 0.
- * @return The newly created cell.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified <code>index</code> is
- * greater than the number of cells or if the index is negative.
- */
- public HTMLElement insertCell(int index)
- throws DOMException;
-
- /**
- * Delete a cell from the current row.
- * @param index The index of the cell to delete, starting from 0.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified <code>index</code> is
- * greater than or equal to the number of cells or if the index is
- * negative.
- */
- public void deleteCell(int index)
- throws DOMException;
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLTableSectionElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>THEAD</code> , <code>TFOOT</code> , and <code>TBODY</code>
- * elements.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTableSectionElement extends HTMLElement {
- /**
- * Horizontal alignment of data in cells. See the <code>align</code>
- * attribute for HTMLTheadElement for details.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Alignment character for cells in a column. See the char attribute
- * definition in HTML 4.0.
- */
- public String getCh();
- public void setCh(String ch);
-
- /**
- * Offset of alignment character. See the charoff attribute definition
- * in HTML 4.0.
- */
- public String getChOff();
- public void setChOff(String chOff);
-
- /**
- * Vertical alignment of data in cells. See the <code>valign</code>
- * attribute for HTMLTheadElement for details.
- */
- public String getVAlign();
- public void setVAlign(String vAlign);
-
- /**
- * The collection of rows in this table section.
- */
- public HTMLCollection getRows();
-
- /**
- * Insert a row into this section. The new row is inserted immediately
- * before the current <code>index</code> th row in this section. If
- * <code>index</code> is equal to the number of rows in this section, the
- * new row is appended.
- * @param index The row number where to insert a new row. This index
- * starts from 0 and is relative only to the rows contained inside this
- * section, not all the rows in the table.
- * @return The newly created row.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified index is greater than the
- * number of rows of if the index is neagative.
- */
- public HTMLElement insertRow(int index)
- throws DOMException;
-
- /**
- * Delete a row from this section.
- * @param index The index of the row to be deleted. This index starts
- * from 0 and is relative only to the rows contained inside this
- * section, not all the rows in the table.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified index is greater than or
- * equal to the number of rows or if the index is negative.
- */
- public void deleteRow(int index)
- throws DOMException;
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLTextAreaElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Multi-line text field. See the TEXTAREA element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTextAreaElement extends HTMLElement {
- /**
- * Represents the contents of the element. The value of this attribute
- * does not change if the contents of the corresponding form control, in
- * an interactive user agent, changes. Changing this attribute, however,
- * resets the contents of the form control.
- */
- public String getDefaultValue();
- public void setDefaultValue(String defaultValue);
-
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * A single character access key to give access to the form control. See
- * the accesskey attribute definition in HTML 4.0.
- */
- public String getAccessKey();
- public void setAccessKey(String accessKey);
-
- /**
- * Width of control (in characters). See the cols attribute definition
- * in HTML 4.0.
- */
- public int getCols();
- public void setCols(int cols);
-
- /**
- * The control is unavailable in this context. See the disabled
- * attribute definition in HTML 4.0.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * Form control or object name when submitted with a form. See the name
- * attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * This control is read-only. See the readonly attribute definition in
- * HTML 4.0.
- */
- public boolean getReadOnly();
- public void setReadOnly(boolean readOnly);
-
- /**
- * Number of text rows. See the rows attribute definition in HTML 4.0.
- */
- public int getRows();
- public void setRows(int rows);
-
- /**
- * Index that represents the element's position in the tabbing order. See
- * the tabindex attribute definition in HTML 4.0.
- */
- public int getTabIndex();
- public void setTabIndex(int tabIndex);
-
- /**
- * The type of this form control. This the string "textarea".
- */
- public String getType();
-
- /**
- * Represents the current contents of the corresponding form control, in
- * an interactive user agent. Changing this attribute changes the
- * contents of the form control, but does not change the contents of the
- * element. If the entirety of the data can not fit into a single
- * <code>DOMString</code> , the implementation may truncate the data.
- */
- public String getValue();
- public void setValue(String value);
-
- /**
- * Removes keyboard focus from this element.
- */
- public void blur();
-
- /**
- * Gives keyboard focus to this element.
- */
- public void focus();
-
- /**
- * Select the contents of the <code>TEXTAREA</code> .
- */
- public void select();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLTitleElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * The document title. See the TITLE element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTitleElement extends HTMLElement {
- /**
- * The specified title as a string.
- */
- public String getText();
- public void setText(String text);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/html/HTMLUListElement.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Unordered list. See the UL element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLUListElement extends HTMLElement {
- /**
- * Reduce spacing between list items. See the compact attribute
- * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public boolean getCompact();
- public void setCompact(boolean compact);
-
- /**
- * Bullet style. See the type attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/ranges/package.html Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/org/w3c/dom/ranges/package.html Mon Apr 27 09:17:39 2015 -0700
@@ -21,11 +21,11 @@
W3C IPR SOFTWARE NOTICE
</h1>
<h3>
- Copyright © 2000 <loc href="http://www.w3.org/">World Wide Web
- Consortium</loc>, (<loc href="http://www.lcs.mit.edu/">Massachusetts
- Institute of Technology</loc>, <loc href="http://www.inria.fr/">Institut
- National de Recherche en Informatique et en Automatique</loc>, <loc
- href="http://www.keio.ac.jp/">Keio University</loc>). All Rights
+ Copyright © 2000 <a href="http://www.w3.org/">World Wide Web
+ Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
+ Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
+ National de Recherche en Informatique et en Automatique</a>, <a
+ href="http://www.keio.ac.jp/">Keio University</a>). All Rights
Reserved.
</h3>
<p>
@@ -66,25 +66,25 @@
</p>
<ol>
<li>
- The full text of this NOTICE in a location viewable to users of the
- redistributed or derivative work.
+ The full text of this NOTICE in a location viewable to users of the
+ redistributed or derivative work.
</li>
<li>
- Any pre-existing intellectual property disclaimers, notices, or terms
- and conditions. If none exist, a short notice of the following form
- (hypertext is preferred, text is permitted) should be used within the
- body of any redistributed or derivative code: "Copyright ©
- [$date-of-software] <a href="http://www.w3.org/">World Wide Web
- Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
- Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
- National de Recherche en Informatique et en Automatique</a>, <a
- href="http://www.keio.ac.jp/">Keio University</a>). All Rights
- Reserved. http://www.w3.org/Consortium/Legal/"
+ Any pre-existing intellectual property disclaimers, notices, or terms
+ and conditions. If none exist, a short notice of the following form
+ (hypertext is preferred, text is permitted) should be used within the
+ body of any redistributed or derivative code: "Copyright ©
+ [$date-of-software] <a href="http://www.w3.org/">World Wide Web
+ Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
+ Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
+ National de Recherche en Informatique et en Automatique</a>, <a
+ href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+ Reserved. http://www.w3.org/Consortium/Legal/"
</li>
<li>
- Notice of any changes or modifications to the W3C files, including the
- date changes were made. (We recommend you provide URIs to the location
- from which the code is derived.)
+ Notice of any changes or modifications to the W3C files, including the
+ date changes were made. (We recommend you provide URIs to the location
+ from which the code is derived.)
</li>
</ol>
<p>
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/stylesheets/DocumentStyle.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-/**
- * The <code>DocumentStyle</code> interface provides a mechanism by which the
- * style sheets embedded in a document can be retrieved. The expectation is
- * that an instance of the <code>DocumentStyle</code> interface can be
- * obtained by using binding-specific casting methods on an instance of the
- * <code>Document</code> interface.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface DocumentStyle {
- /**
- * A list containing all the style sheets explicitly linked into or
- * embedded in a document. For HTML documents, this includes external
- * style sheets, included via the HTML LINK element, and inline STYLE
- * elements. In XML, this includes external style sheets, included via
- * style sheet processing instructions (see [XML StyleSheet]).
- */
- public StyleSheetList getStyleSheets();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/stylesheets/LinkStyle.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-/**
- * The <code>LinkStyle</code> interface provides a mechanism by which a style
- * sheet can be retrieved from the node responsible for linking it into a
- * document. An instance of the <code>LinkStyle</code> interface can be
- * obtained using binding-specific casting methods on an instance of a
- * linking node (<code>HTMLLinkElement</code>, <code>HTMLStyleElement</code>
- * or <code>ProcessingInstruction</code> in DOM Level 2).
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface LinkStyle {
- /**
- * The style sheet.
- */
- public StyleSheet getSheet();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/stylesheets/MediaList.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>MediaList</code> interface provides the abstraction of an
- * ordered collection of media, without defining or constraining how this
- * collection is implemented. An empty list is the same as a list that
- * contains the medium <code>"all"</code>.
- * <p> The items in the <code>MediaList</code> are accessible via an integral
- * index, starting from 0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface MediaList {
- /**
- * The parsable textual representation of the media list. This is a
- * comma-separated list of media.
- */
- public String getMediaText();
- /**
- * The parsable textual representation of the media list. This is a
- * comma-separated list of media.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified string value has a syntax error
- * and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this media list is
- * readonly.
- */
- public void setMediaText(String mediaText)
- throws DOMException;
-
- /**
- * The number of media in the list. The range of valid media is
- * <code>0</code> to <code>length-1</code> inclusive.
- */
- public int getLength();
-
- /**
- * Returns the <code>index</code>th in the list. If <code>index</code> is
- * greater than or equal to the number of media in the list, this
- * returns <code>null</code>.
- * @param index Index into the collection.
- * @return The medium at the <code>index</code>th position in the
- * <code>MediaList</code>, or <code>null</code> if that is not a valid
- * index.
- */
- public String item(int index);
-
- /**
- * Deletes the medium indicated by <code>oldMedium</code> from the list.
- * @param oldMedium The medium to delete in the media list.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this list is readonly.
- * <br> NOT_FOUND_ERR: Raised if <code>oldMedium</code> is not in the
- * list.
- */
- public void deleteMedium(String oldMedium)
- throws DOMException;
-
- /**
- * Adds the medium <code>newMedium</code> to the end of the list. If the
- * <code>newMedium</code> is already used, it is first removed.
- * @param newMedium The new medium to add.
- * @exception DOMException
- * INVALID_CHARACTER_ERR: If the medium contains characters that are
- * invalid in the underlying style language.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this list is readonly.
- */
- public void appendMedium(String newMedium)
- throws DOMException;
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/stylesheets/StyleSheet.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-import org.w3c.dom.Node;
-
-/**
- * The <code>StyleSheet</code> interface is the abstract base interface for
- * any type of style sheet. It represents a single style sheet associated
- * with a structured document. In HTML, the StyleSheet interface represents
- * either an external style sheet, included via the HTML LINK element, or
- * an inline STYLE element. In XML, this interface represents an external
- * style sheet, included via a style sheet processing instruction.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface StyleSheet {
- /**
- * This specifies the style sheet language for this style sheet. The
- * style sheet language is specified as a content type (e.g.
- * "text/css"). The content type is often specified in the
- * <code>ownerNode</code>. Also see the type attribute definition for
- * the <code>LINK</code> element in HTML 4.0, and the type
- * pseudo-attribute for the XML style sheet processing instruction.
- */
- public String getType();
-
- /**
- * <code>false</code> if the style sheet is applied to the document.
- * <code>true</code> if it is not. Modifying this attribute may cause a
- * new resolution of style for the document. A stylesheet only applies
- * if both an appropriate medium definition is present and the disabled
- * attribute is false. So, if the media doesn't apply to the current
- * user agent, the <code>disabled</code> attribute is ignored.
- */
- public boolean getDisabled();
- /**
- * <code>false</code> if the style sheet is applied to the document.
- * <code>true</code> if it is not. Modifying this attribute may cause a
- * new resolution of style for the document. A stylesheet only applies
- * if both an appropriate medium definition is present and the disabled
- * attribute is false. So, if the media doesn't apply to the current
- * user agent, the <code>disabled</code> attribute is ignored.
- */
- public void setDisabled(boolean disabled);
-
- /**
- * The node that associates this style sheet with the document. For HTML,
- * this may be the corresponding <code>LINK</code> or <code>STYLE</code>
- * element. For XML, it may be the linking processing instruction. For
- * style sheets that are included by other style sheets, the value of
- * this attribute is <code>null</code>.
- */
- public Node getOwnerNode();
-
- /**
- * For style sheet languages that support the concept of style sheet
- * inclusion, this attribute represents the including style sheet, if
- * one exists. If the style sheet is a top-level style sheet, or the
- * style sheet language does not support inclusion, the value of this
- * attribute is <code>null</code>.
- */
- public StyleSheet getParentStyleSheet();
-
- /**
- * If the style sheet is a linked style sheet, the value of its attribute
- * is its location. For inline style sheets, the value of this attribute
- * is <code>null</code>. See the href attribute definition for the
- * <code>LINK</code> element in HTML 4.0, and the href pseudo-attribute
- * for the XML style sheet processing instruction.
- */
- public String getHref();
-
- /**
- * The advisory title. The title is often specified in the
- * <code>ownerNode</code>. See the title attribute definition for the
- * <code>LINK</code> element in HTML 4.0, and the title pseudo-attribute
- * for the XML style sheet processing instruction.
- */
- public String getTitle();
-
- /**
- * The intended destination media for style information. The media is
- * often specified in the <code>ownerNode</code>. If no media has been
- * specified, the <code>MediaList</code> will be empty. See the media
- * attribute definition for the <code>LINK</code> element in HTML 4.0,
- * and the media pseudo-attribute for the XML style sheet processing
- * instruction . Modifying the media list may cause a change to the
- * attribute <code>disabled</code>.
- */
- public MediaList getMedia();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/stylesheets/StyleSheetList.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-/**
- * The <code>StyleSheetList</code> interface provides the abstraction of an
- * ordered collection of style sheets.
- * <p> The items in the <code>StyleSheetList</code> are accessible via an
- * integral index, starting from 0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface StyleSheetList {
- /**
- * The number of <code>StyleSheets</code> in the list. The range of valid
- * child stylesheet indices is <code>0</code> to <code>length-1</code>
- * inclusive.
- */
- public int getLength();
-
- /**
- * Used to retrieve a style sheet by ordinal index. If index is greater
- * than or equal to the number of style sheets in the list, this returns
- * <code>null</code>.
- * @param index Index into the collection
- * @return The style sheet at the <code>index</code> position in the
- * <code>StyleSheetList</code>, or <code>null</code> if that is not a
- * valid index.
- */
- public StyleSheet item(int index);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/xpath/XPathEvaluator.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2002 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.xpath;
-
-
-import org.w3c.dom.Node;
-import org.w3c.dom.DOMException;
-
-/**
- * The evaluation of XPath expressions is provided by
- * <code>XPathEvaluator</code>. In a DOM implementation which supports the
- * XPath 3.0 feature, as described above, the <code>XPathEvaluator</code>
- * interface will be implemented on the same object which implements the
- * <code>Document</code> interface permitting it to be obtained by the usual
- * binding-specific method such as casting or by using the DOM Level 3
- * getInterface method. In this case the implementation obtained from the
- * Document supports the XPath DOM module and is compatible with the XPath
- * 1.0 specification.
- * <p>Evaluation of expressions with specialized extension functions or
- * variables may not work in all implementations and is, therefore, not
- * portable. <code>XPathEvaluator</code> implementations may be available
- * from other sources that could provide specific support for specialized
- * extension functions or variables as would be defined by other
- * specifications.
- * <p>See also the <a href='http://www.w3.org/2002/08/WD-DOM-Level-3-XPath-20020820'>Document Object Model (DOM) Level 3 XPath Specification</a>.
- */
-public interface XPathEvaluator {
- /**
- * Creates a parsed XPath expression with resolved namespaces. This is
- * useful when an expression will be reused in an application since it
- * makes it possible to compile the expression string into a more
- * efficient internal form and preresolve all namespace prefixes which
- * occur within the expression.
- * @param expression The XPath expression string to be parsed.
- * @param resolver The <code>resolver</code> permits translation of
- * prefixes within the XPath expression into appropriate namespace URIs
- * . If this is specified as <code>null</code>, any namespace prefix
- * within the expression will result in <code>DOMException</code>
- * being thrown with the code <code>NAMESPACE_ERR</code>.
- * @return The compiled form of the XPath expression.
- * @exception XPathException
- * INVALID_EXPRESSION_ERR: Raised if the expression is not legal
- * according to the rules of the <code>XPathEvaluator</code>i
- * @exception DOMException
- * NAMESPACE_ERR: Raised if the expression contains namespace prefixes
- * which cannot be resolved by the specified
- * <code>XPathNSResolver</code>.
- */
- public XPathExpression createExpression(String expression,
- XPathNSResolver resolver)
- throws XPathException, DOMException;
-
- /**
- * Adapts any DOM node to resolve namespaces so that an XPath expression
- * can be easily evaluated relative to the context of the node where it
- * appeared within the document. This adapter works like the DOM Level 3
- * method <code>lookupNamespaceURI</code> on nodes in resolving the
- * namespaceURI from a given prefix using the current information
- * available in the node's hierarchy at the time lookupNamespaceURI is
- * called. also correctly resolving the implicit xml prefix.
- * @param nodeResolver The node to be used as a context for namespace
- * resolution.
- * @return <code>XPathNSResolver</code> which resolves namespaces with
- * respect to the definitions in scope for a specified node.
- */
- public XPathNSResolver createNSResolver(Node nodeResolver);
-
- /**
- * Evaluates an XPath expression string and returns a result of the
- * specified type if possible.
- * @param expression The XPath expression string to be parsed and
- * evaluated.
- * @param contextNode The <code>context</code> is context node for the
- * evaluation of this XPath expression. If the XPathEvaluator was
- * obtained by casting the <code>Document</code> then this must be
- * owned by the same document and must be a <code>Document</code>,
- * <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
- * <code>CDATASection</code>, <code>Comment</code>,
- * <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
- * node. If the context node is a <code>Text</code> or a
- * <code>CDATASection</code>, then the context is interpreted as the
- * whole logical text node as seen by XPath, unless the node is empty
- * in which case it may not serve as the XPath context.
- * @param resolver The <code>resolver</code> permits translation of
- * prefixes within the XPath expression into appropriate namespace URIs
- * . If this is specified as <code>null</code>, any namespace prefix
- * within the expression will result in <code>DOMException</code>
- * being thrown with the code <code>NAMESPACE_ERR</code>.
- * @param type If a specific <code>type</code> is specified, then the
- * result will be returned as the corresponding type.For XPath 1.0
- * results, this must be one of the codes of the
- * <code>XPathResult</code> interface.
- * @param result The <code>result</code> specifies a specific result
- * object which may be reused and returned by this method. If this is
- * specified as <code>null</code>or the implementation does not reuse
- * the specified result, a new result object will be constructed and
- * returned.For XPath 1.0 results, this object will be of type
- * <code>XPathResult</code>.
- * @return The result of the evaluation of the XPath expression.For XPath
- * 1.0 results, this object will be of type <code>XPathResult</code>.
- * @exception XPathException
- * INVALID_EXPRESSION_ERR: Raised if the expression is not legal
- * according to the rules of the <code>XPathEvaluator</code>i
- * <br>TYPE_ERR: Raised if the result cannot be converted to return the
- * specified type.
- * @exception DOMException
- * NAMESPACE_ERR: Raised if the expression contains namespace prefixes
- * which cannot be resolved by the specified
- * <code>XPathNSResolver</code>.
- * <br>WRONG_DOCUMENT_ERR: The Node is from a document that is not
- * supported by this <code>XPathEvaluator</code>.
- * <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
- * context node or the request type is not permitted by this
- * <code>XPathEvaluator</code>.
- */
- public Object evaluate(String expression,
- Node contextNode,
- XPathNSResolver resolver,
- short type,
- Object result)
- throws XPathException, DOMException;
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/xpath/XPathException.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2002 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.xpath;
-
-/**
- * A new exception has been created for exceptions specific to these XPath
- * interfaces.
- * <p>See also the <a href='http://www.w3.org/2002/08/WD-DOM-Level-3-XPath-20020820'>Document Object Model (DOM) Level 3 XPath Specification</a>.
- */
-public class XPathException extends RuntimeException {
- public XPathException(short code, String message) {
- super(message);
- this.code = code;
- }
- public short code;
- // XPathExceptionCode
- /**
- * If the expression has a syntax error or otherwise is not a legal
- * expression according to the rules of the specific
- * <code>XPathEvaluator</code> or contains specialized extension
- * functions or variables not supported by this implementation.
- */
- public static final short INVALID_EXPRESSION_ERR = 1;
- /**
- * If the expression cannot be converted to return the specified type.
- */
- public static final short TYPE_ERR = 2;
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/xpath/XPathExpression.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2002 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.xpath;
-
-
-import org.w3c.dom.Node;
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>XPathExpression</code> interface represents a parsed and resolved
- * XPath expression.
- * <p>See also the <a href='http://www.w3.org/2002/08/WD-DOM-Level-3-XPath-20020820'>Document Object Model (DOM) Level 3 XPath Specification</a>.
- */
-public interface XPathExpression {
- /**
- * Evaluates this XPath expression and returns a result.
- * @param contextNode The <code>context</code> is context node for the
- * evaluation of this XPath expression.If the XPathEvaluator was
- * obtained by casting the <code>Document</code> then this must be
- * owned by the same document and must be a <code>Document</code>,
- * <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
- * <code>CDATASection</code>, <code>Comment</code>,
- * <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
- * node.If the context node is a <code>Text</code> or a
- * <code>CDATASection</code>, then the context is interpreted as the
- * whole logical text node as seen by XPath, unless the node is empty
- * in which case it may not serve as the XPath context.
- * @param type If a specific <code>type</code> is specified, then the
- * result will be coerced to return the specified type relying on
- * XPath conversions and fail if the desired coercion is not possible.
- * This must be one of the type codes of <code>XPathResult</code>.
- * @param result The <code>result</code> specifies a specific result
- * object which may be reused and returned by this method. If this is
- * specified as <code>null</code>or the implementation does not reuse
- * the specified result, a new result object will be constructed and
- * returned.For XPath 1.0 results, this object will be of type
- * <code>XPathResult</code>.
- * @return The result of the evaluation of the XPath expression.For XPath
- * 1.0 results, this object will be of type <code>XPathResult</code>.
- * @exception XPathException
- * TYPE_ERR: Raised if the result cannot be converted to return the
- * specified type.
- * @exception DOMException
- * WRONG_DOCUMENT_ERR: The Node is from a document that is not supported
- * by the XPathEvaluator that created this <code>XPathExpression</code>
- * .
- * <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
- * context node or the request type is not permitted by this
- * <code>XPathExpression</code>.
- */
- public Object evaluate(Node contextNode,
- short type,
- Object result)
- throws XPathException, DOMException;
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/xpath/XPathNSResolver.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2002 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.xpath;
-
-
-/**
- * The <code>XPathNSResolver</code> interface permit <code>prefix</code>
- * strings in the expression to be properly bound to
- * <code>namespaceURI</code> strings. <code>XPathEvaluator</code> can
- * construct an implementation of <code>XPathNSResolver</code> from a node,
- * or the interface may be implemented by any application.
- * <p>See also the <a href='http://www.w3.org/2002/08/WD-DOM-Level-3-XPath-20020820'>Document Object Model (DOM) Level 3 XPath Specification</a>.
- */
-public interface XPathNSResolver {
- /**
- * Look up the namespace URI associated to the given namespace prefix. The
- * XPath evaluator must never call this with a <code>null</code> or
- * empty argument, because the result of doing this is undefined.
- * @param prefix The prefix to look for.
- * @return Returns the associated namespace URI or <code>null</code> if
- * none is found.
- */
- public String lookupNamespaceURI(String prefix);
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/xpath/XPathNamespace.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2002 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.xpath;
-
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * The <code>XPathNamespace</code> interface is returned by
- * <code>XPathResult</code> interfaces to represent the XPath namespace node
- * type that DOM lacks. There is no public constructor for this node type.
- * Attempts to place it into a hierarchy or a NamedNodeMap result in a
- * <code>DOMException</code> with the code <code>HIERARCHY_REQUEST_ERR</code>
- * . This node is read only, so methods or setting of attributes that would
- * mutate the node result in a DOMException with the code
- * <code>NO_MODIFICATION_ALLOWED_ERR</code>.
- * <p>The core specification describes attributes of the <code>Node</code>
- * interface that are different for different node node types but does not
- * describe <code>XPATH_NAMESPACE_NODE</code>, so here is a description of
- * those attributes for this node type. All attributes of <code>Node</code>
- * not described in this section have a <code>null</code> or
- * <code>false</code> value.
- * <p><code>ownerDocument</code> matches the <code>ownerDocument</code> of the
- * <code>ownerElement</code> even if the element is later adopted.
- * <p><code>prefix</code> is the prefix of the namespace represented by the
- * node.
- * <p><code>nodeName</code> is the same as <code>prefix</code>.
- * <p><code>nodeType</code> is equal to <code>XPATH_NAMESPACE_NODE</code>.
- * <p><code>namespaceURI</code> is the namespace URI of the namespace
- * represented by the node.
- * <p><code>adoptNode</code>, <code>cloneNode</code>, and
- * <code>importNode</code> fail on this node type by raising a
- * <code>DOMException</code> with the code <code>NOT_SUPPORTED_ERR</code>.In
- * future versions of the XPath specification, the definition of a namespace
- * node may be changed incomatibly, in which case incompatible changes to
- * field values may be required to implement versions beyond XPath 1.0.
- * <p>See also the <a href='http://www.w3.org/2002/08/WD-DOM-Level-3-XPath-20020820'>Document Object Model (DOM) Level 3 XPath Specification</a>.
- */
-public interface XPathNamespace extends Node {
- // XPathNodeType
- /**
- * The node is a <code>Namespace</code>.
- */
- public static final short XPATH_NAMESPACE_NODE = 13;
-
- /**
- * The <code>Element</code> on which the namespace was in scope when it
- * was requested. This does not change on a returned namespace node even
- * if the document changes such that the namespace goes out of scope on
- * that element and this node is no longer found there by XPath.
- */
- public Element getOwnerElement();
-
-}
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/xpath/XPathResult.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * This file is available under and governed by the GNU General Public
- * License version 2 only, as published by the Free Software Foundation.
- * However, the following notice accompanied the original version of this
- * file and, per its terms, should not be removed:
- *
- * Copyright (c) 2002 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.xpath;
-
-
-import org.w3c.dom.Node;
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>XPathResult</code> interface represents the result of the
- * evaluation of an XPath 1.0 expression within the context of a particular
- * node. Since evaluation of an XPath expression can result in various
- * result types, this object makes it possible to discover and manipulate
- * the type and value of the result.
- * <p>See also the <a href='http://www.w3.org/2002/08/WD-DOM-Level-3-XPath-20020820'>Document Object Model (DOM) Level 3 XPath Specification</a>.
- */
-public interface XPathResult {
- // XPathResultType
- /**
- * This code does not represent a specific type. An evaluation of an XPath
- * expression will never produce this type. If this type is requested,
- * then the evaluation returns whatever type naturally results from
- * evaluation of the expression.
- * <br>If the natural result is a node set when <code>ANY_TYPE</code> was
- * requested, then <code>UNORDERED_NODE_ITERATOR_TYPE</code> is always
- * the resulting type. Any other representation of a node set must be
- * explicitly requested.
- */
- public static final short ANY_TYPE = 0;
- /**
- * The result is a number as defined by . Document modification does not
- * invalidate the number, but may mean that reevaluation would not yield
- * the same number.
- */
- public static final short NUMBER_TYPE = 1;
- /**
- * The result is a string as defined by . Document modification does not
- * invalidate the string, but may mean that the string no longer
- * corresponds to the current document.
- */
- public static final short STRING_TYPE = 2;
- /**
- * The result is a boolean as defined by . Document modification does not
- * invalidate the boolean, but may mean that reevaluation would not
- * yield the same boolean.
- */
- public static final short BOOLEAN_TYPE = 3;
- /**
- * The result is a node set as defined by that will be accessed
- * iteratively, which may not produce nodes in a particular order.
- * Document modification invalidates the iteration.
- * <br>This is the default type returned if the result is a node set and
- * <code>ANY_TYPE</code> is requested.
- */
- public static final short UNORDERED_NODE_ITERATOR_TYPE = 4;
- /**
- * The result is a node set as defined by that will be accessed
- * iteratively, which will produce document-ordered nodes. Document
- * modification invalidates the iteration.
- */
- public static final short ORDERED_NODE_ITERATOR_TYPE = 5;
- /**
- * The result is a node set as defined by that will be accessed as a
- * snapshot list of nodes that may not be in a particular order.
- * Document modification does not invalidate the snapshot but may mean
- * that reevaluation would not yield the same snapshot and nodes in the
- * snapshot may have been altered, moved, or removed from the document.
- */
- public static final short UNORDERED_NODE_SNAPSHOT_TYPE = 6;
- /**
- * The result is a node set as defined by that will be accessed as a
- * snapshot list of nodes that will be in original document order.
- * Document modification does not invalidate the snapshot but may mean
- * that reevaluation would not yield the same snapshot and nodes in the
- * snapshot may have been altered, moved, or removed from the document.
- */
- public static final short ORDERED_NODE_SNAPSHOT_TYPE = 7;
- /**
- * The result is a node set as defined by and will be accessed as a
- * single node, which may be <code>null</code>if the node set is empty.
- * Document modification does not invalidate the node, but may mean that
- * the result node no longer corresponds to the current document. This
- * is a convenience that permits optimization since the implementation
- * can stop once any node in the in the resulting set has been found.
- * <br>If there are more than one node in the actual result, the single
- * node returned might not be the first in document order.
- */
- public static final short ANY_UNORDERED_NODE_TYPE = 8;
- /**
- * The result is a node set as defined by and will be accessed as a
- * single node, which may be <code>null</code> if the node set is empty.
- * Document modification does not invalidate the node, but may mean that
- * the result node no longer corresponds to the current document. This
- * is a convenience that permits optimization since the implementation
- * can stop once the first node in document order of the resulting set
- * has been found.
- * <br>If there are more than one node in the actual result, the single
- * node returned will be the first in document order.
- */
- public static final short FIRST_ORDERED_NODE_TYPE = 9;
-
- /**
- * A code representing the type of this result, as defined by the type
- * constants.
- */
- public short getResultType();
-
- /**
- * The value of this number result. If the native double type of the DOM
- * binding does not directly support the exact IEEE 754 result of the
- * XPath expression, then it is up to the definition of the binding
- * binding to specify how the XPath number is converted to the native
- * binding number.
- * @exception XPathException
- * TYPE_ERR: raised if <code>resultType</code> is not
- * <code>NUMBER_TYPE</code>.
- */
- public double getNumberValue()
- throws XPathException;
-
- /**
- * The value of this string result.
- * @exception XPathException
- * TYPE_ERR: raised if <code>resultType</code> is not
- * <code>STRING_TYPE</code>.
- */
- public String getStringValue()
- throws XPathException;
-
- /**
- * The value of this boolean result.
- * @exception XPathException
- * TYPE_ERR: raised if <code>resultType</code> is not
- * <code>BOOLEAN_TYPE</code>.
- */
- public boolean getBooleanValue()
- throws XPathException;
-
- /**
- * The value of this single node result, which may be <code>null</code>.
- * @exception XPathException
- * TYPE_ERR: raised if <code>resultType</code> is not
- * <code>ANY_UNORDERED_NODE_TYPE</code> or
- * <code>FIRST_ORDERED_NODE_TYPE</code>.
- */
- public Node getSingleNodeValue()
- throws XPathException;
-
- /**
- * Signifies that the iterator has become invalid. True if
- * <code>resultType</code> is <code>UNORDERED_NODE_ITERATOR_TYPE</code>
- * or <code>ORDERED_NODE_ITERATOR_TYPE</code> and the document has been
- * modified since this result was returned.
- */
- public boolean getInvalidIteratorState();
-
- /**
- * The number of nodes in the result snapshot. Valid values for
- * snapshotItem indices are <code>0</code> to
- * <code>snapshotLength-1</code> inclusive.
- * @exception XPathException
- * TYPE_ERR: raised if <code>resultType</code> is not
- * <code>UNORDERED_NODE_SNAPSHOT_TYPE</code> or
- * <code>ORDERED_NODE_SNAPSHOT_TYPE</code>.
- */
- public int getSnapshotLength()
- throws XPathException;
-
- /**
- * Iterates and returns the next node from the node set or
- * <code>null</code>if there are no more nodes.
- * @return Returns the next node.
- * @exception XPathException
- * TYPE_ERR: raised if <code>resultType</code> is not
- * <code>UNORDERED_NODE_ITERATOR_TYPE</code> or
- * <code>ORDERED_NODE_ITERATOR_TYPE</code>.
- * @exception DOMException
- * INVALID_STATE_ERR: The document has been mutated since the result was
- * returned.
- */
- public Node iterateNext()
- throws XPathException, DOMException;
-
- /**
- * Returns the <code>index</code>th item in the snapshot collection. If
- * <code>index</code> is greater than or equal to the number of nodes in
- * the list, this method returns <code>null</code>. Unlike the iterator
- * result, the snapshot does not become invalid, but may not correspond
- * to the current document if it is mutated.
- * @param index Index into the snapshot collection.
- * @return The node at the <code>index</code>th position in the
- * <code>NodeList</code>, or <code>null</code> if that is not a valid
- * index.
- * @exception XPathException
- * TYPE_ERR: raised if <code>resultType</code> is not
- * <code>UNORDERED_NODE_SNAPSHOT_TYPE</code> or
- * <code>ORDERED_NODE_SNAPSHOT_TYPE</code>.
- */
- public Node snapshotItem(int index)
- throws XPathException;
-
-}
--- a/jaxp/src/java.xml/share/classes/org/xml/sax/AttributeList.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/org/xml/sax/AttributeList.java Mon Apr 27 09:17:39 2015 -0700
@@ -42,7 +42,7 @@
*
* <p>This is the original SAX1 interface for reporting an element's
* attributes. Unlike the new {@link org.xml.sax.Attributes Attributes}
- * interface, it does not support Namespace-related information.</p>
+ * interface, it does not support Namespace-related information.
*
* <p>When an attribute list is supplied as part of a
* {@link org.xml.sax.DocumentHandler#startElement startElement}
@@ -51,16 +51,16 @@
* to the parser, the attribute list is invalid. To save a
* persistent copy of the attribute list, use the SAX1
* {@link org.xml.sax.helpers.AttributeListImpl AttributeListImpl}
- * helper class.</p>
+ * helper class.
*
* <p>An attribute list includes only attributes that have been
- * specified or defaulted: #IMPLIED attributes will not be included.</p>
+ * specified or defaulted: #IMPLIED attributes will not be included.
*
* <p>There are two ways for the SAX application to obtain information
* from the AttributeList. First, it can iterate through the entire
- * list:</p>
+ * list:
*
- * <pre>
+ * <pre>{@code
* public void startElement (String name, AttributeList atts) {
* for (int i = 0; i < atts.getLength(); i++) {
* String name = atts.getName(i);
@@ -69,13 +69,13 @@
* [...]
* }
* }
- * </pre>
+ * }</pre>
*
* <p>(Note that the result of getLength() will be zero if there
* are no attributes.)
*
* <p>As an alternative, the application can request the value or
- * type of specific attributes:</p>
+ * type of specific attributes:
*
* <pre>
* public void startElement (String name, AttributeList atts) {
@@ -107,7 +107,7 @@
* <p>The SAX parser may provide attributes in any
* arbitrary order, regardless of the order in which they were
* declared or specified. The number of attributes may be
- * zero.</p>
+ * zero.
*
* @return The number of attributes in the list.
*/
@@ -120,10 +120,10 @@
* <p>The names must be unique: the SAX parser shall not include the
* same attribute twice. Attributes without values (those declared
* #IMPLIED without a value specified in the start tag) will be
- * omitted from the list.</p>
+ * omitted from the list.
*
* <p>If the attribute name has a namespace prefix, the prefix
- * will still be attached.</p>
+ * will still be attached.
*
* @param i The index of the attribute in the list (starting at 0).
* @return The name of the indexed attribute, or null
@@ -138,15 +138,15 @@
*
* <p>The attribute type is one of the strings "CDATA", "ID",
* "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES",
- * or "NOTATION" (always in upper case).</p>
+ * or "NOTATION" (always in upper case).
*
* <p>If the parser has not read a declaration for the attribute,
* or if the parser does not report attribute types, then it must
* return the value "CDATA" as stated in the XML 1.0 Recommentation
- * (clause 3.3.3, "Attribute-Value Normalization").</p>
+ * (clause 3.3.3, "Attribute-Value Normalization").
*
* <p>For an enumerated attribute that is not a notation, the
- * parser will report the type as "NMTOKEN".</p>
+ * parser will report the type as "NMTOKEN".
*
* @param i The index of the attribute in the list (starting at 0).
* @return The attribute type as a string, or
@@ -162,7 +162,7 @@
*
* <p>If the attribute value is a list of tokens (IDREFS,
* ENTITIES, or NMTOKENS), the tokens will be concatenated
- * into a single string separated by whitespace.</p>
+ * into a single string separated by whitespace.
*
* @param i The index of the attribute in the list (starting at 0).
* @return The attribute value as a string, or
@@ -183,10 +183,10 @@
* Return the type of an attribute in the list (by name).
*
* <p>The return value is the same as the return value for
- * getType(int).</p>
+ * getType(int).
*
* <p>If the attribute name has a namespace prefix in the document,
- * the application must include the prefix here.</p>
+ * the application must include the prefix here.
*
* @param name The name of the attribute.
* @return The attribute type as a string, or null if no
@@ -200,10 +200,10 @@
* Return the value of an attribute in the list (by name).
*
* <p>The return value is the same as the return value for
- * getValue(int).</p>
+ * getValue(int).
*
* <p>If the attribute name has a namespace prefix in the document,
- * the application must include the prefix here.</p>
+ * the application must include the prefix here.
*
* @param name the name of the attribute to return
* @return The attribute value as a string, or null if
--- a/jaxp/src/java.xml/share/classes/org/xml/sax/ext/EntityResolver2.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/org/xml/sax/ext/EntityResolver2.java Mon Apr 27 09:17:39 2015 -0700
@@ -61,7 +61,6 @@
* recognized). If that flag is unrecognized, or its value is false,
* or the resolver does not implement this interface, then only the
* {@link EntityResolver} method will be used.
- * </p>
*
* <p>That supports three categories of application that modify entity
* resolution. <em>Old Style</em> applications won't know about this interface;
@@ -76,7 +75,6 @@
* They will insist that feature flag have a value of "true", and the
* EntityResolver2 implementation they provide might throw an exception
* if the original SAX 1.0 style entity resolution method is invoked.
- * </p>
*
* @see org.xml.sax.XMLReader#setEntityResolver
*
@@ -95,7 +93,7 @@
* through the {@link LexicalHandler#startDTD startDTD()} method as if
* the document text had originally included the external subset;
* this callback is made before any internal subset data or errors
- * are reported.</p>
+ * are reported.
*
* <p>This method can also be used with documents that have no DOCTYPE
* declaration. When the root element is encountered,
@@ -104,7 +102,7 @@
* element is declared to be the root element, giving the effect of
* splicing a DOCTYPE declaration at the end the prolog of a document
* that could not otherwise be valid. The sequence of parser callbacks
- * in that case logically resembles this:</p>
+ * in that case logically resembles this:
*
* <pre>
* ... comments and PIs from the prolog (as usual)
@@ -122,7 +120,7 @@
* {@link #resolveEntity resolveEntity()} to gain benefits such as use
* of local caches of DTD entities. Also, this method will never be
* used by a (non-validating) processor that is not including external
- * parameter entities. </p>
+ * parameter entities.
*
* <p>Uses for this method include facilitating data validation when
* interoperating with XML processors that would always require
@@ -131,12 +129,11 @@
* Non-validation motives include forcing documents to include DTDs so
* that attributes are handled consistently.
* For example, an XPath processor needs to know which attibutes have
- * type "ID" before it can process a widely used type of reference.</p>
+ * type "ID" before it can process a widely used type of reference.
*
* <p><strong>Warning:</strong> Returning an external subset modifies
* the input document. By providing definitions for general entities,
* it can make a malformed document appear to be well formed.
- * </p>
*
* @param name Identifies the document root element. This name comes
* from a DOCTYPE declaration (where available) or from the actual
@@ -166,8 +163,8 @@
* This method provides more flexibility than the {@link EntityResolver}
* interface, supporting implementations of more complex catalogue
* schemes such as the one defined by the <a href=
- "http://www.oasis-open.org/committees/entity/spec-2001-08-06.html"
- >OASIS XML Catalogs</a> specification.</p>
+ * "http://www.oasis-open.org/committees/entity/spec-2001-08-06.html"
+ * >OASIS XML Catalogs</a> specification.
*
* <p>Parsers configured to use this resolver method will call it
* to determine the input source to use for any external entity
@@ -176,13 +173,13 @@
* by {@link #getExternalSubset getExternalSubset()}.
* When a (non-validating) processor is configured not to include
* a class of entities (parameter or general) through use of feature
- * flags, this method is not invoked for such entities. </p>
+ * flags, this method is not invoked for such entities.
*
* <p>Note that the entity naming scheme used here is the same one
* used in the {@link LexicalHandler}, or in the {@link
- org.xml.sax.ContentHandler#skippedEntity
- ContentHandler.skippedEntity()}
- * method. </p>
+ * org.xml.sax.ContentHandler#skippedEntity
+ * ContentHandler.skippedEntity()}
+ * method.
*
* @param name Identifies the external entity being resolved.
* Either "[dtd]" for the external subset, or a name starting
@@ -196,7 +193,7 @@
* are interpreted. This is always an absolute URI, unless it is
* null (likely because the XMLReader was given an InputSource without
* one). This URI is defined by the XML specification to be the one
- * associated with the "<" starting the relevant declaration.
+ * associated with the "{@literal <}" starting the relevant declaration.
* @param systemId The system identifier of the external entity
* being referenced; either a relative or absolute URI.
* This is never null when invoked by a SAX2 parser; only declared
--- a/jaxp/src/java.xml/share/classes/org/xml/sax/helpers/XMLReaderFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxp/src/java.xml/share/classes/org/xml/sax/helpers/XMLReaderFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -49,7 +49,7 @@
* </blockquote>
*
* <p>This class contains static methods for creating an XML reader
- * from an explicit class name, or based on runtime defaults:</p>
+ * from an explicit class name, or based on runtime defaults:
*
* <pre>
* try {
@@ -64,8 +64,8 @@
* <em>createXMLReader</em> to handle cases where the external
* configuration mechanisms aren't set up. That method should do its
* best to return a parser when one is in the class path, even when
- * nothing bound its class name to <code>org.xml.sax.driver</code> so
- * those configuration mechanisms would see it.</p>
+ * nothing bound its class name to {@code org.xml.sax.driver} so
+ * those configuration mechanisms would see it.
*
* @since 1.4, SAX 2.0
* @author David Megginson, David Brownell
@@ -76,7 +76,7 @@
/**
* Private constructor.
*
- * <p>This constructor prevents the class from being instantiated.</p>
+ * <p>This constructor prevents the class from being instantiated.
*/
private XMLReaderFactory ()
{
@@ -91,9 +91,10 @@
* Attempt to create an XMLReader from system defaults.
* In environments which can support it, the name of the XMLReader
* class is determined by trying each these options in order, and
- * using the first one which succeeds:</p> <ul>
+ * using the first one which succeeds:
+ * <ul>
*
- * <li>If the system property <code>org.xml.sax.driver</code>
+ * <li>If the system property {@code org.xml.sax.driver}
* has a value, that is used as an XMLReader class name. </li>
*
* <li>The JAR "Services API" is used to look for a class name
@@ -107,14 +108,13 @@
* <li>Finally, if {@link ParserFactory#makeParser()} can
* return a system default SAX1 parser, that parser is wrapped in
* a {@link ParserAdapter}. (This is a migration aid for SAX1
- * environments, where the <code>org.xml.sax.parser</code> system
+ * environments, where the {@code org.xml.sax.parser} system
* property will often be usable.) </li>
- *
* </ul>
*
* <p> In environments such as small embedded systems, which can not
* support that flexibility, other mechanisms to determine the default
- * may be used. </p>
+ * may be used.
*
* <p>Note that many Java environments allow system properties to be
* initialized on a command line. This means that <em>in most cases</em>
@@ -122,7 +122,6 @@
* method will succeed, except when security policies intervene.
* This will also maximize application portability to older SAX
* environments, with less robust implementations of this method.
- * </p>
*
* @return A new XMLReader.
* @exception org.xml.sax.SAXException If no default XMLReader class
@@ -204,11 +203,11 @@
* Attempt to create an XML reader from a class name.
*
* <p>Given a class name, this method attempts to load
- * and instantiate the class as an XML reader.</p>
+ * and instantiate the class as an XML reader.
*
* <p>Note that this method will not be usable in environments where
* the caller (perhaps an applet) is not permitted to load classes
- * dynamically.</p>
+ * dynamically.
*
* @return A new XML reader.
* @exception org.xml.sax.SAXException If the class cannot be
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSS2Properties.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,1806 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+/**
+ * The <code>CSS2Properties</code> interface represents a convenience
+ * mechanism for retrieving and setting properties within a
+ * <code>CSSStyleDeclaration</code>. The attributes of this interface
+ * correspond to all the properties specified in CSS2. Getting an attribute
+ * of this interface is equivalent to calling the
+ * <code>getPropertyValue</code> method of the
+ * <code>CSSStyleDeclaration</code> interface. Setting an attribute of this
+ * interface is equivalent to calling the <code>setProperty</code> method of
+ * the <code>CSSStyleDeclaration</code> interface.
+ * <p> A conformant implementation of the CSS module is not required to
+ * implement the <code>CSS2Properties</code> interface. If an implementation
+ * does implement this interface, the expectation is that language-specific
+ * methods can be used to cast from an instance of the
+ * <code>CSSStyleDeclaration</code> interface to the
+ * <code>CSS2Properties</code> interface.
+ * <p> If an implementation does implement this interface, it is expected to
+ * understand the specific syntax of the shorthand properties, and apply
+ * their semantics; when the <code>margin</code> property is set, for
+ * example, the <code>marginTop</code>, <code>marginRight</code>,
+ * <code>marginBottom</code> and <code>marginLeft</code> properties are
+ * actually being set by the underlying implementation.
+ * <p> When dealing with CSS "shorthand" properties, the shorthand properties
+ * should be decomposed into their component longhand properties as
+ * appropriate, and when querying for their value, the form returned should
+ * be the shortest form exactly equivalent to the declarations made in the
+ * ruleset. However, if there is no shorthand declaration that could be
+ * added to the ruleset without changing in any way the rules already
+ * declared in the ruleset (i.e., by adding longhand rules that were
+ * previously not declared in the ruleset), then the empty string should be
+ * returned for the shorthand property.
+ * <p> For example, querying for the <code>font</code> property should not
+ * return "normal normal normal 14pt/normal Arial, sans-serif", when "14pt
+ * Arial, sans-serif" suffices. (The normals are initial values, and are
+ * implied by use of the longhand property.)
+ * <p> If the values for all the longhand properties that compose a particular
+ * string are the initial values, then a string consisting of all the
+ * initial values should be returned (e.g. a <code>border-width</code> value
+ * of "medium" should be returned as such, not as "").
+ * <p> For some shorthand properties that take missing values from other
+ * sides, such as the <code>margin</code>, <code>padding</code>, and
+ * <code>border-[width|style|color]</code> properties, the minimum number of
+ * sides possible should be used; i.e., "0px 10px" will be returned instead
+ * of "0px 10px 0px 10px".
+ * <p> If the value of a shorthand property can not be decomposed into its
+ * component longhand properties, as is the case for the <code>font</code>
+ * property with a value of "menu", querying for the values of the component
+ * longhand properties should return the empty string.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSS2Properties {
+ /**
+ * See the azimuth property definition in CSS2.
+ */
+ public String getAzimuth();
+ /**
+ * See the azimuth property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setAzimuth(String azimuth)
+ throws DOMException;
+
+ /**
+ * See the background property definition in CSS2.
+ */
+ public String getBackground();
+ /**
+ * See the background property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBackground(String background)
+ throws DOMException;
+
+ /**
+ * See the background-attachment property definition in CSS2.
+ */
+ public String getBackgroundAttachment();
+ /**
+ * See the background-attachment property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBackgroundAttachment(String backgroundAttachment)
+ throws DOMException;
+
+ /**
+ * See the background-color property definition in CSS2.
+ */
+ public String getBackgroundColor();
+ /**
+ * See the background-color property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBackgroundColor(String backgroundColor)
+ throws DOMException;
+
+ /**
+ * See the background-image property definition in CSS2.
+ */
+ public String getBackgroundImage();
+ /**
+ * See the background-image property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBackgroundImage(String backgroundImage)
+ throws DOMException;
+
+ /**
+ * See the background-position property definition in CSS2.
+ */
+ public String getBackgroundPosition();
+ /**
+ * See the background-position property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBackgroundPosition(String backgroundPosition)
+ throws DOMException;
+
+ /**
+ * See the background-repeat property definition in CSS2.
+ */
+ public String getBackgroundRepeat();
+ /**
+ * See the background-repeat property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBackgroundRepeat(String backgroundRepeat)
+ throws DOMException;
+
+ /**
+ * See the border property definition in CSS2.
+ */
+ public String getBorder();
+ /**
+ * See the border property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorder(String border)
+ throws DOMException;
+
+ /**
+ * See the border-collapse property definition in CSS2.
+ */
+ public String getBorderCollapse();
+ /**
+ * See the border-collapse property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderCollapse(String borderCollapse)
+ throws DOMException;
+
+ /**
+ * See the border-color property definition in CSS2.
+ */
+ public String getBorderColor();
+ /**
+ * See the border-color property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderColor(String borderColor)
+ throws DOMException;
+
+ /**
+ * See the border-spacing property definition in CSS2.
+ */
+ public String getBorderSpacing();
+ /**
+ * See the border-spacing property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderSpacing(String borderSpacing)
+ throws DOMException;
+
+ /**
+ * See the border-style property definition in CSS2.
+ */
+ public String getBorderStyle();
+ /**
+ * See the border-style property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderStyle(String borderStyle)
+ throws DOMException;
+
+ /**
+ * See the border-top property definition in CSS2.
+ */
+ public String getBorderTop();
+ /**
+ * See the border-top property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderTop(String borderTop)
+ throws DOMException;
+
+ /**
+ * See the border-right property definition in CSS2.
+ */
+ public String getBorderRight();
+ /**
+ * See the border-right property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderRight(String borderRight)
+ throws DOMException;
+
+ /**
+ * See the border-bottom property definition in CSS2.
+ */
+ public String getBorderBottom();
+ /**
+ * See the border-bottom property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderBottom(String borderBottom)
+ throws DOMException;
+
+ /**
+ * See the border-left property definition in CSS2.
+ */
+ public String getBorderLeft();
+ /**
+ * See the border-left property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderLeft(String borderLeft)
+ throws DOMException;
+
+ /**
+ * See the border-top-color property definition in CSS2.
+ */
+ public String getBorderTopColor();
+ /**
+ * See the border-top-color property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderTopColor(String borderTopColor)
+ throws DOMException;
+
+ /**
+ * See the border-right-color property definition in CSS2.
+ */
+ public String getBorderRightColor();
+ /**
+ * See the border-right-color property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderRightColor(String borderRightColor)
+ throws DOMException;
+
+ /**
+ * See the border-bottom-color property definition in CSS2.
+ */
+ public String getBorderBottomColor();
+ /**
+ * See the border-bottom-color property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderBottomColor(String borderBottomColor)
+ throws DOMException;
+
+ /**
+ * See the border-left-color property definition in CSS2.
+ */
+ public String getBorderLeftColor();
+ /**
+ * See the border-left-color property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderLeftColor(String borderLeftColor)
+ throws DOMException;
+
+ /**
+ * See the border-top-style property definition in CSS2.
+ */
+ public String getBorderTopStyle();
+ /**
+ * See the border-top-style property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderTopStyle(String borderTopStyle)
+ throws DOMException;
+
+ /**
+ * See the border-right-style property definition in CSS2.
+ */
+ public String getBorderRightStyle();
+ /**
+ * See the border-right-style property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderRightStyle(String borderRightStyle)
+ throws DOMException;
+
+ /**
+ * See the border-bottom-style property definition in CSS2.
+ */
+ public String getBorderBottomStyle();
+ /**
+ * See the border-bottom-style property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderBottomStyle(String borderBottomStyle)
+ throws DOMException;
+
+ /**
+ * See the border-left-style property definition in CSS2.
+ */
+ public String getBorderLeftStyle();
+ /**
+ * See the border-left-style property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderLeftStyle(String borderLeftStyle)
+ throws DOMException;
+
+ /**
+ * See the border-top-width property definition in CSS2.
+ */
+ public String getBorderTopWidth();
+ /**
+ * See the border-top-width property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderTopWidth(String borderTopWidth)
+ throws DOMException;
+
+ /**
+ * See the border-right-width property definition in CSS2.
+ */
+ public String getBorderRightWidth();
+ /**
+ * See the border-right-width property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderRightWidth(String borderRightWidth)
+ throws DOMException;
+
+ /**
+ * See the border-bottom-width property definition in CSS2.
+ */
+ public String getBorderBottomWidth();
+ /**
+ * See the border-bottom-width property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderBottomWidth(String borderBottomWidth)
+ throws DOMException;
+
+ /**
+ * See the border-left-width property definition in CSS2.
+ */
+ public String getBorderLeftWidth();
+ /**
+ * See the border-left-width property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderLeftWidth(String borderLeftWidth)
+ throws DOMException;
+
+ /**
+ * See the border-width property definition in CSS2.
+ */
+ public String getBorderWidth();
+ /**
+ * See the border-width property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBorderWidth(String borderWidth)
+ throws DOMException;
+
+ /**
+ * See the bottom property definition in CSS2.
+ */
+ public String getBottom();
+ /**
+ * See the bottom property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setBottom(String bottom)
+ throws DOMException;
+
+ /**
+ * See the caption-side property definition in CSS2.
+ */
+ public String getCaptionSide();
+ /**
+ * See the caption-side property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setCaptionSide(String captionSide)
+ throws DOMException;
+
+ /**
+ * See the clear property definition in CSS2.
+ */
+ public String getClear();
+ /**
+ * See the clear property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setClear(String clear)
+ throws DOMException;
+
+ /**
+ * See the clip property definition in CSS2.
+ */
+ public String getClip();
+ /**
+ * See the clip property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setClip(String clip)
+ throws DOMException;
+
+ /**
+ * See the color property definition in CSS2.
+ */
+ public String getColor();
+ /**
+ * See the color property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setColor(String color)
+ throws DOMException;
+
+ /**
+ * See the content property definition in CSS2.
+ */
+ public String getContent();
+ /**
+ * See the content property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setContent(String content)
+ throws DOMException;
+
+ /**
+ * See the counter-increment property definition in CSS2.
+ */
+ public String getCounterIncrement();
+ /**
+ * See the counter-increment property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setCounterIncrement(String counterIncrement)
+ throws DOMException;
+
+ /**
+ * See the counter-reset property definition in CSS2.
+ */
+ public String getCounterReset();
+ /**
+ * See the counter-reset property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setCounterReset(String counterReset)
+ throws DOMException;
+
+ /**
+ * See the cue property definition in CSS2.
+ */
+ public String getCue();
+ /**
+ * See the cue property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setCue(String cue)
+ throws DOMException;
+
+ /**
+ * See the cue-after property definition in CSS2.
+ */
+ public String getCueAfter();
+ /**
+ * See the cue-after property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setCueAfter(String cueAfter)
+ throws DOMException;
+
+ /**
+ * See the cue-before property definition in CSS2.
+ */
+ public String getCueBefore();
+ /**
+ * See the cue-before property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setCueBefore(String cueBefore)
+ throws DOMException;
+
+ /**
+ * See the cursor property definition in CSS2.
+ */
+ public String getCursor();
+ /**
+ * See the cursor property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setCursor(String cursor)
+ throws DOMException;
+
+ /**
+ * See the direction property definition in CSS2.
+ */
+ public String getDirection();
+ /**
+ * See the direction property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setDirection(String direction)
+ throws DOMException;
+
+ /**
+ * See the display property definition in CSS2.
+ */
+ public String getDisplay();
+ /**
+ * See the display property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setDisplay(String display)
+ throws DOMException;
+
+ /**
+ * See the elevation property definition in CSS2.
+ */
+ public String getElevation();
+ /**
+ * See the elevation property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setElevation(String elevation)
+ throws DOMException;
+
+ /**
+ * See the empty-cells property definition in CSS2.
+ */
+ public String getEmptyCells();
+ /**
+ * See the empty-cells property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setEmptyCells(String emptyCells)
+ throws DOMException;
+
+ /**
+ * See the float property definition in CSS2.
+ */
+ public String getCssFloat();
+ /**
+ * See the float property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setCssFloat(String cssFloat)
+ throws DOMException;
+
+ /**
+ * See the font property definition in CSS2.
+ */
+ public String getFont();
+ /**
+ * See the font property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setFont(String font)
+ throws DOMException;
+
+ /**
+ * See the font-family property definition in CSS2.
+ */
+ public String getFontFamily();
+ /**
+ * See the font-family property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setFontFamily(String fontFamily)
+ throws DOMException;
+
+ /**
+ * See the font-size property definition in CSS2.
+ */
+ public String getFontSize();
+ /**
+ * See the font-size property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setFontSize(String fontSize)
+ throws DOMException;
+
+ /**
+ * See the font-size-adjust property definition in CSS2.
+ */
+ public String getFontSizeAdjust();
+ /**
+ * See the font-size-adjust property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setFontSizeAdjust(String fontSizeAdjust)
+ throws DOMException;
+
+ /**
+ * See the font-stretch property definition in CSS2.
+ */
+ public String getFontStretch();
+ /**
+ * See the font-stretch property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setFontStretch(String fontStretch)
+ throws DOMException;
+
+ /**
+ * See the font-style property definition in CSS2.
+ */
+ public String getFontStyle();
+ /**
+ * See the font-style property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setFontStyle(String fontStyle)
+ throws DOMException;
+
+ /**
+ * See the font-variant property definition in CSS2.
+ */
+ public String getFontVariant();
+ /**
+ * See the font-variant property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setFontVariant(String fontVariant)
+ throws DOMException;
+
+ /**
+ * See the font-weight property definition in CSS2.
+ */
+ public String getFontWeight();
+ /**
+ * See the font-weight property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setFontWeight(String fontWeight)
+ throws DOMException;
+
+ /**
+ * See the height property definition in CSS2.
+ */
+ public String getHeight();
+ /**
+ * See the height property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setHeight(String height)
+ throws DOMException;
+
+ /**
+ * See the left property definition in CSS2.
+ */
+ public String getLeft();
+ /**
+ * See the left property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setLeft(String left)
+ throws DOMException;
+
+ /**
+ * See the letter-spacing property definition in CSS2.
+ */
+ public String getLetterSpacing();
+ /**
+ * See the letter-spacing property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setLetterSpacing(String letterSpacing)
+ throws DOMException;
+
+ /**
+ * See the line-height property definition in CSS2.
+ */
+ public String getLineHeight();
+ /**
+ * See the line-height property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setLineHeight(String lineHeight)
+ throws DOMException;
+
+ /**
+ * See the list-style property definition in CSS2.
+ */
+ public String getListStyle();
+ /**
+ * See the list-style property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setListStyle(String listStyle)
+ throws DOMException;
+
+ /**
+ * See the list-style-image property definition in CSS2.
+ */
+ public String getListStyleImage();
+ /**
+ * See the list-style-image property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setListStyleImage(String listStyleImage)
+ throws DOMException;
+
+ /**
+ * See the list-style-position property definition in CSS2.
+ */
+ public String getListStylePosition();
+ /**
+ * See the list-style-position property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setListStylePosition(String listStylePosition)
+ throws DOMException;
+
+ /**
+ * See the list-style-type property definition in CSS2.
+ */
+ public String getListStyleType();
+ /**
+ * See the list-style-type property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setListStyleType(String listStyleType)
+ throws DOMException;
+
+ /**
+ * See the margin property definition in CSS2.
+ */
+ public String getMargin();
+ /**
+ * See the margin property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setMargin(String margin)
+ throws DOMException;
+
+ /**
+ * See the margin-top property definition in CSS2.
+ */
+ public String getMarginTop();
+ /**
+ * See the margin-top property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setMarginTop(String marginTop)
+ throws DOMException;
+
+ /**
+ * See the margin-right property definition in CSS2.
+ */
+ public String getMarginRight();
+ /**
+ * See the margin-right property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setMarginRight(String marginRight)
+ throws DOMException;
+
+ /**
+ * See the margin-bottom property definition in CSS2.
+ */
+ public String getMarginBottom();
+ /**
+ * See the margin-bottom property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setMarginBottom(String marginBottom)
+ throws DOMException;
+
+ /**
+ * See the margin-left property definition in CSS2.
+ */
+ public String getMarginLeft();
+ /**
+ * See the margin-left property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setMarginLeft(String marginLeft)
+ throws DOMException;
+
+ /**
+ * See the marker-offset property definition in CSS2.
+ */
+ public String getMarkerOffset();
+ /**
+ * See the marker-offset property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setMarkerOffset(String markerOffset)
+ throws DOMException;
+
+ /**
+ * See the marks property definition in CSS2.
+ */
+ public String getMarks();
+ /**
+ * See the marks property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setMarks(String marks)
+ throws DOMException;
+
+ /**
+ * See the max-height property definition in CSS2.
+ */
+ public String getMaxHeight();
+ /**
+ * See the max-height property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setMaxHeight(String maxHeight)
+ throws DOMException;
+
+ /**
+ * See the max-width property definition in CSS2.
+ */
+ public String getMaxWidth();
+ /**
+ * See the max-width property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setMaxWidth(String maxWidth)
+ throws DOMException;
+
+ /**
+ * See the min-height property definition in CSS2.
+ */
+ public String getMinHeight();
+ /**
+ * See the min-height property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setMinHeight(String minHeight)
+ throws DOMException;
+
+ /**
+ * See the min-width property definition in CSS2.
+ */
+ public String getMinWidth();
+ /**
+ * See the min-width property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setMinWidth(String minWidth)
+ throws DOMException;
+
+ /**
+ * See the orphans property definition in CSS2.
+ */
+ public String getOrphans();
+ /**
+ * See the orphans property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setOrphans(String orphans)
+ throws DOMException;
+
+ /**
+ * See the outline property definition in CSS2.
+ */
+ public String getOutline();
+ /**
+ * See the outline property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setOutline(String outline)
+ throws DOMException;
+
+ /**
+ * See the outline-color property definition in CSS2.
+ */
+ public String getOutlineColor();
+ /**
+ * See the outline-color property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setOutlineColor(String outlineColor)
+ throws DOMException;
+
+ /**
+ * See the outline-style property definition in CSS2.
+ */
+ public String getOutlineStyle();
+ /**
+ * See the outline-style property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setOutlineStyle(String outlineStyle)
+ throws DOMException;
+
+ /**
+ * See the outline-width property definition in CSS2.
+ */
+ public String getOutlineWidth();
+ /**
+ * See the outline-width property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setOutlineWidth(String outlineWidth)
+ throws DOMException;
+
+ /**
+ * See the overflow property definition in CSS2.
+ */
+ public String getOverflow();
+ /**
+ * See the overflow property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setOverflow(String overflow)
+ throws DOMException;
+
+ /**
+ * See the padding property definition in CSS2.
+ */
+ public String getPadding();
+ /**
+ * See the padding property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPadding(String padding)
+ throws DOMException;
+
+ /**
+ * See the padding-top property definition in CSS2.
+ */
+ public String getPaddingTop();
+ /**
+ * See the padding-top property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPaddingTop(String paddingTop)
+ throws DOMException;
+
+ /**
+ * See the padding-right property definition in CSS2.
+ */
+ public String getPaddingRight();
+ /**
+ * See the padding-right property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPaddingRight(String paddingRight)
+ throws DOMException;
+
+ /**
+ * See the padding-bottom property definition in CSS2.
+ */
+ public String getPaddingBottom();
+ /**
+ * See the padding-bottom property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPaddingBottom(String paddingBottom)
+ throws DOMException;
+
+ /**
+ * See the padding-left property definition in CSS2.
+ */
+ public String getPaddingLeft();
+ /**
+ * See the padding-left property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPaddingLeft(String paddingLeft)
+ throws DOMException;
+
+ /**
+ * See the page property definition in CSS2.
+ */
+ public String getPage();
+ /**
+ * See the page property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPage(String page)
+ throws DOMException;
+
+ /**
+ * See the page-break-after property definition in CSS2.
+ */
+ public String getPageBreakAfter();
+ /**
+ * See the page-break-after property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPageBreakAfter(String pageBreakAfter)
+ throws DOMException;
+
+ /**
+ * See the page-break-before property definition in CSS2.
+ */
+ public String getPageBreakBefore();
+ /**
+ * See the page-break-before property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPageBreakBefore(String pageBreakBefore)
+ throws DOMException;
+
+ /**
+ * See the page-break-inside property definition in CSS2.
+ */
+ public String getPageBreakInside();
+ /**
+ * See the page-break-inside property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPageBreakInside(String pageBreakInside)
+ throws DOMException;
+
+ /**
+ * See the pause property definition in CSS2.
+ */
+ public String getPause();
+ /**
+ * See the pause property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPause(String pause)
+ throws DOMException;
+
+ /**
+ * See the pause-after property definition in CSS2.
+ */
+ public String getPauseAfter();
+ /**
+ * See the pause-after property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPauseAfter(String pauseAfter)
+ throws DOMException;
+
+ /**
+ * See the pause-before property definition in CSS2.
+ */
+ public String getPauseBefore();
+ /**
+ * See the pause-before property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPauseBefore(String pauseBefore)
+ throws DOMException;
+
+ /**
+ * See the pitch property definition in CSS2.
+ */
+ public String getPitch();
+ /**
+ * See the pitch property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPitch(String pitch)
+ throws DOMException;
+
+ /**
+ * See the pitch-range property definition in CSS2.
+ */
+ public String getPitchRange();
+ /**
+ * See the pitch-range property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPitchRange(String pitchRange)
+ throws DOMException;
+
+ /**
+ * See the play-during property definition in CSS2.
+ */
+ public String getPlayDuring();
+ /**
+ * See the play-during property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPlayDuring(String playDuring)
+ throws DOMException;
+
+ /**
+ * See the position property definition in CSS2.
+ */
+ public String getPosition();
+ /**
+ * See the position property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setPosition(String position)
+ throws DOMException;
+
+ /**
+ * See the quotes property definition in CSS2.
+ */
+ public String getQuotes();
+ /**
+ * See the quotes property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setQuotes(String quotes)
+ throws DOMException;
+
+ /**
+ * See the richness property definition in CSS2.
+ */
+ public String getRichness();
+ /**
+ * See the richness property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setRichness(String richness)
+ throws DOMException;
+
+ /**
+ * See the right property definition in CSS2.
+ */
+ public String getRight();
+ /**
+ * See the right property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setRight(String right)
+ throws DOMException;
+
+ /**
+ * See the size property definition in CSS2.
+ */
+ public String getSize();
+ /**
+ * See the size property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setSize(String size)
+ throws DOMException;
+
+ /**
+ * See the speak property definition in CSS2.
+ */
+ public String getSpeak();
+ /**
+ * See the speak property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setSpeak(String speak)
+ throws DOMException;
+
+ /**
+ * See the speak-header property definition in CSS2.
+ */
+ public String getSpeakHeader();
+ /**
+ * See the speak-header property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setSpeakHeader(String speakHeader)
+ throws DOMException;
+
+ /**
+ * See the speak-numeral property definition in CSS2.
+ */
+ public String getSpeakNumeral();
+ /**
+ * See the speak-numeral property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setSpeakNumeral(String speakNumeral)
+ throws DOMException;
+
+ /**
+ * See the speak-punctuation property definition in CSS2.
+ */
+ public String getSpeakPunctuation();
+ /**
+ * See the speak-punctuation property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setSpeakPunctuation(String speakPunctuation)
+ throws DOMException;
+
+ /**
+ * See the speech-rate property definition in CSS2.
+ */
+ public String getSpeechRate();
+ /**
+ * See the speech-rate property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setSpeechRate(String speechRate)
+ throws DOMException;
+
+ /**
+ * See the stress property definition in CSS2.
+ */
+ public String getStress();
+ /**
+ * See the stress property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setStress(String stress)
+ throws DOMException;
+
+ /**
+ * See the table-layout property definition in CSS2.
+ */
+ public String getTableLayout();
+ /**
+ * See the table-layout property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setTableLayout(String tableLayout)
+ throws DOMException;
+
+ /**
+ * See the text-align property definition in CSS2.
+ */
+ public String getTextAlign();
+ /**
+ * See the text-align property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setTextAlign(String textAlign)
+ throws DOMException;
+
+ /**
+ * See the text-decoration property definition in CSS2.
+ */
+ public String getTextDecoration();
+ /**
+ * See the text-decoration property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setTextDecoration(String textDecoration)
+ throws DOMException;
+
+ /**
+ * See the text-indent property definition in CSS2.
+ */
+ public String getTextIndent();
+ /**
+ * See the text-indent property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setTextIndent(String textIndent)
+ throws DOMException;
+
+ /**
+ * See the text-shadow property definition in CSS2.
+ */
+ public String getTextShadow();
+ /**
+ * See the text-shadow property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setTextShadow(String textShadow)
+ throws DOMException;
+
+ /**
+ * See the text-transform property definition in CSS2.
+ */
+ public String getTextTransform();
+ /**
+ * See the text-transform property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setTextTransform(String textTransform)
+ throws DOMException;
+
+ /**
+ * See the top property definition in CSS2.
+ */
+ public String getTop();
+ /**
+ * See the top property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setTop(String top)
+ throws DOMException;
+
+ /**
+ * See the unicode-bidi property definition in CSS2.
+ */
+ public String getUnicodeBidi();
+ /**
+ * See the unicode-bidi property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setUnicodeBidi(String unicodeBidi)
+ throws DOMException;
+
+ /**
+ * See the vertical-align property definition in CSS2.
+ */
+ public String getVerticalAlign();
+ /**
+ * See the vertical-align property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setVerticalAlign(String verticalAlign)
+ throws DOMException;
+
+ /**
+ * See the visibility property definition in CSS2.
+ */
+ public String getVisibility();
+ /**
+ * See the visibility property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setVisibility(String visibility)
+ throws DOMException;
+
+ /**
+ * See the voice-family property definition in CSS2.
+ */
+ public String getVoiceFamily();
+ /**
+ * See the voice-family property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setVoiceFamily(String voiceFamily)
+ throws DOMException;
+
+ /**
+ * See the volume property definition in CSS2.
+ */
+ public String getVolume();
+ /**
+ * See the volume property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setVolume(String volume)
+ throws DOMException;
+
+ /**
+ * See the white-space property definition in CSS2.
+ */
+ public String getWhiteSpace();
+ /**
+ * See the white-space property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setWhiteSpace(String whiteSpace)
+ throws DOMException;
+
+ /**
+ * See the widows property definition in CSS2.
+ */
+ public String getWidows();
+ /**
+ * See the widows property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setWidows(String widows)
+ throws DOMException;
+
+ /**
+ * See the width property definition in CSS2.
+ */
+ public String getWidth();
+ /**
+ * See the width property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setWidth(String width)
+ throws DOMException;
+
+ /**
+ * See the word-spacing property definition in CSS2.
+ */
+ public String getWordSpacing();
+ /**
+ * See the word-spacing property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setWordSpacing(String wordSpacing)
+ throws DOMException;
+
+ /**
+ * See the z-index property definition in CSS2.
+ */
+ public String getZIndex();
+ /**
+ * See the z-index property definition in CSS2.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the new value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setZIndex(String zIndex)
+ throws DOMException;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSSCharsetRule.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,80 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+/**
+ * The <code>CSSCharsetRule</code> interface represents a @charset rule in a
+ * CSS style sheet. The value of the <code>encoding</code> attribute does
+ * not affect the encoding of text data in the DOM objects; this encoding is
+ * always UTF-16. After a stylesheet is loaded, the value of the
+ * <code>encoding</code> attribute is the value found in the
+ * <code>@charset</code> rule. If there was no <code>@charset</code> in the
+ * original document, then no <code>CSSCharsetRule</code> is created. The
+ * value of the <code>encoding</code> attribute may also be used as a hint
+ * for the encoding used on serialization of the style sheet.
+ * <p> The value of the @charset rule (and therefore of the
+ * <code>CSSCharsetRule</code>) may not correspond to the encoding the
+ * document actually came in; character encoding information e.g. in an HTTP
+ * header, has priority (see CSS document representation) but this is not
+ * reflected in the <code>CSSCharsetRule</code>.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSSCharsetRule extends CSSRule {
+ /**
+ * The encoding information used in this <code>@charset</code> rule.
+ */
+ public String getEncoding();
+ /**
+ * The encoding information used in this <code>@charset</code> rule.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the specified encoding value has a syntax error
+ * and is unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this encoding rule is
+ * readonly.
+ */
+ public void setEncoding(String encoding)
+ throws DOMException;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSSFontFaceRule.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,57 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+/**
+ * The <code>CSSFontFaceRule</code> interface represents a @font-face rule in
+ * a CSS style sheet. The <code>@font-face</code> rule is used to hold a set
+ * of font descriptions.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSSFontFaceRule extends CSSRule {
+ /**
+ * The declaration-block of this rule.
+ */
+ public CSSStyleDeclaration getStyle();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSSImportRule.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,73 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.stylesheets.MediaList;
+
+/**
+ * The <code>CSSImportRule</code> interface represents a @import rule within
+ * a CSS style sheet. The <code>@import</code> rule is used to import style
+ * rules from other style sheets.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSSImportRule extends CSSRule {
+ /**
+ * The location of the style sheet to be imported. The attribute will not
+ * contain the <code>"url(...)"</code> specifier around the URI.
+ */
+ public String getHref();
+
+ /**
+ * A list of media types for which this style sheet may be used.
+ */
+ public MediaList getMedia();
+
+ /**
+ * The style sheet referred to by this rule, if it has been loaded. The
+ * value of this attribute is <code>null</code> if the style sheet has
+ * not yet been loaded or if it will not be loaded (e.g. if the style
+ * sheet is for a media type not supported by the user agent).
+ */
+ public CSSStyleSheet getStyleSheet();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSSMediaRule.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,105 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.stylesheets.MediaList;
+
+/**
+ * The <code>CSSMediaRule</code> interface represents a @media rule in a CSS
+ * style sheet. A <code>@media</code> rule can be used to delimit style
+ * rules for specific media types.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSSMediaRule extends CSSRule {
+ /**
+ * A list of media types for this rule.
+ */
+ public MediaList getMedia();
+
+ /**
+ * A list of all CSS rules contained within the media block.
+ */
+ public CSSRuleList getCssRules();
+
+ /**
+ * Used to insert a new rule into the media block.
+ * @param rule The parsable text representing the rule. For rule sets
+ * this contains both the selector and the style declaration. For
+ * at-rules, this specifies both the at-identifier and the rule
+ * content.
+ * @param index The index within the media block's rule collection of
+ * the rule before which to insert the specified rule. If the
+ * specified index is equal to the length of the media blocks's rule
+ * collection, the rule will be added to the end of the media block.
+ * @return The index within the media block's rule collection of the
+ * newly inserted rule.
+ * @exception DOMException
+ * HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the
+ * specified index, e.g., if an <code>@import</code> rule is inserted
+ * after a standard rule set or other at-rule.
+ * <br>INDEX_SIZE_ERR: Raised if the specified index is not a valid
+ * insertion point.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is
+ * readonly.
+ * <br>SYNTAX_ERR: Raised if the specified rule has a syntax error and
+ * is unparsable.
+ */
+ public int insertRule(String rule,
+ int index)
+ throws DOMException;
+
+ /**
+ * Used to delete a rule from the media block.
+ * @param index The index within the media block's rule collection of
+ * the rule to remove.
+ * @exception DOMException
+ * INDEX_SIZE_ERR: Raised if the specified index does not correspond to
+ * a rule in the media rule list.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is
+ * readonly.
+ */
+ public void deleteRule(int index)
+ throws DOMException;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSSPageRule.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,73 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+/**
+ * The <code>CSSPageRule</code> interface represents a @page rule within a
+ * CSS style sheet. The <code>@page</code> rule is used to specify the
+ * dimensions, orientation, margins, etc. of a page box for paged media.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSSPageRule extends CSSRule {
+ /**
+ * The parsable textual representation of the page selector for the rule.
+ */
+ public String getSelectorText();
+ /**
+ * The parsable textual representation of the page selector for the rule.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
+ * error and is unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is readonly.
+ */
+ public void setSelectorText(String selectorText)
+ throws DOMException;
+
+ /**
+ * The declaration-block of this rule.
+ */
+ public CSSStyleDeclaration getStyle();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSSPrimitiveValue.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,325 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+/**
+ * The <code>CSSPrimitiveValue</code> interface represents a single CSS value
+ * . This interface may be used to determine the value of a specific style
+ * property currently set in a block or to set a specific style property
+ * explicitly within the block. An instance of this interface might be
+ * obtained from the <code>getPropertyCSSValue</code> method of the
+ * <code>CSSStyleDeclaration</code> interface. A
+ * <code>CSSPrimitiveValue</code> object only occurs in a context of a CSS
+ * property.
+ * <p> Conversions are allowed between absolute values (from millimeters to
+ * centimeters, from degrees to radians, and so on) but not between relative
+ * values. (For example, a pixel value cannot be converted to a centimeter
+ * value.) Percentage values can't be converted since they are relative to
+ * the parent value (or another property value). There is one exception for
+ * color percentage values: since a color percentage value is relative to
+ * the range 0-255, a color percentage value can be converted to a number;
+ * (see also the <code>RGBColor</code> interface).
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSSPrimitiveValue extends CSSValue {
+ // UnitTypes
+ /**
+ * The value is not a recognized CSS2 value. The value can only be
+ * obtained by using the <code>cssText</code> attribute.
+ */
+ public static final short CSS_UNKNOWN = 0;
+ /**
+ * The value is a simple number. The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_NUMBER = 1;
+ /**
+ * The value is a percentage. The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_PERCENTAGE = 2;
+ /**
+ * The value is a length (ems). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_EMS = 3;
+ /**
+ * The value is a length (exs). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_EXS = 4;
+ /**
+ * The value is a length (px). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_PX = 5;
+ /**
+ * The value is a length (cm). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_CM = 6;
+ /**
+ * The value is a length (mm). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_MM = 7;
+ /**
+ * The value is a length (in). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_IN = 8;
+ /**
+ * The value is a length (pt). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_PT = 9;
+ /**
+ * The value is a length (pc). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_PC = 10;
+ /**
+ * The value is an angle (deg). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_DEG = 11;
+ /**
+ * The value is an angle (rad). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_RAD = 12;
+ /**
+ * The value is an angle (grad). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_GRAD = 13;
+ /**
+ * The value is a time (ms). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_MS = 14;
+ /**
+ * The value is a time (s). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_S = 15;
+ /**
+ * The value is a frequency (Hz). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_HZ = 16;
+ /**
+ * The value is a frequency (kHz). The value can be obtained by using the
+ * <code>getFloatValue</code> method.
+ */
+ public static final short CSS_KHZ = 17;
+ /**
+ * The value is a number with an unknown dimension. The value can be
+ * obtained by using the <code>getFloatValue</code> method.
+ */
+ public static final short CSS_DIMENSION = 18;
+ /**
+ * The value is a STRING. The value can be obtained by using the
+ * <code>getStringValue</code> method.
+ */
+ public static final short CSS_STRING = 19;
+ /**
+ * The value is a URI. The value can be obtained by using the
+ * <code>getStringValue</code> method.
+ */
+ public static final short CSS_URI = 20;
+ /**
+ * The value is an identifier. The value can be obtained by using the
+ * <code>getStringValue</code> method.
+ */
+ public static final short CSS_IDENT = 21;
+ /**
+ * The value is a attribute function. The value can be obtained by using
+ * the <code>getStringValue</code> method.
+ */
+ public static final short CSS_ATTR = 22;
+ /**
+ * The value is a counter or counters function. The value can be obtained
+ * by using the <code>getCounterValue</code> method.
+ */
+ public static final short CSS_COUNTER = 23;
+ /**
+ * The value is a rect function. The value can be obtained by using the
+ * <code>getRectValue</code> method.
+ */
+ public static final short CSS_RECT = 24;
+ /**
+ * The value is a RGB color. The value can be obtained by using the
+ * <code>getRGBColorValue</code> method.
+ */
+ public static final short CSS_RGBCOLOR = 25;
+
+ /**
+ * The type of the value as defined by the constants specified above.
+ */
+ public short getPrimitiveType();
+
+ /**
+ * A method to set the float value with a specified unit. If the property
+ * attached with this value can not accept the specified unit or the
+ * float value, the value will be unchanged and a
+ * <code>DOMException</code> will be raised.
+ * @param unitType A unit code as defined above. The unit code can only
+ * be a float unit type (i.e. <code>CSS_NUMBER</code>,
+ * <code>CSS_PERCENTAGE</code>, <code>CSS_EMS</code>,
+ * <code>CSS_EXS</code>, <code>CSS_PX</code>, <code>CSS_CM</code>,
+ * <code>CSS_MM</code>, <code>CSS_IN</code>, <code>CSS_PT</code>,
+ * <code>CSS_PC</code>, <code>CSS_DEG</code>, <code>CSS_RAD</code>,
+ * <code>CSS_GRAD</code>, <code>CSS_MS</code>, <code>CSS_S</code>,
+ * <code>CSS_HZ</code>, <code>CSS_KHZ</code>,
+ * <code>CSS_DIMENSION</code>).
+ * @param floatValue The new float value.
+ * @exception DOMException
+ * INVALID_ACCESS_ERR: Raised if the attached property doesn't support
+ * the float value or the unit type.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setFloatValue(short unitType,
+ float floatValue)
+ throws DOMException;
+
+ /**
+ * This method is used to get a float value in a specified unit. If this
+ * CSS value doesn't contain a float value or can't be converted into
+ * the specified unit, a <code>DOMException</code> is raised.
+ * @param unitType A unit code to get the float value. The unit code can
+ * only be a float unit type (i.e. <code>CSS_NUMBER</code>,
+ * <code>CSS_PERCENTAGE</code>, <code>CSS_EMS</code>,
+ * <code>CSS_EXS</code>, <code>CSS_PX</code>, <code>CSS_CM</code>,
+ * <code>CSS_MM</code>, <code>CSS_IN</code>, <code>CSS_PT</code>,
+ * <code>CSS_PC</code>, <code>CSS_DEG</code>, <code>CSS_RAD</code>,
+ * <code>CSS_GRAD</code>, <code>CSS_MS</code>, <code>CSS_S</code>,
+ * <code>CSS_HZ</code>, <code>CSS_KHZ</code>,
+ * <code>CSS_DIMENSION</code>).
+ * @return The float value in the specified unit.
+ * @exception DOMException
+ * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a float
+ * value or if the float value can't be converted into the specified
+ * unit.
+ */
+ public float getFloatValue(short unitType)
+ throws DOMException;
+
+ /**
+ * A method to set the string value with the specified unit. If the
+ * property attached to this value can't accept the specified unit or
+ * the string value, the value will be unchanged and a
+ * <code>DOMException</code> will be raised.
+ * @param stringType A string code as defined above. The string code can
+ * only be a string unit type (i.e. <code>CSS_STRING</code>,
+ * <code>CSS_URI</code>, <code>CSS_IDENT</code>, and
+ * <code>CSS_ATTR</code>).
+ * @param stringValue The new string value.
+ * @exception DOMException
+ * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string
+ * value or if the string value can't be converted into the specified
+ * unit.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
+ */
+ public void setStringValue(short stringType,
+ String stringValue)
+ throws DOMException;
+
+ /**
+ * This method is used to get the string value. If the CSS value doesn't
+ * contain a string value, a <code>DOMException</code> is raised. Some
+ * properties (like 'font-family' or 'voice-family') convert a
+ * whitespace separated list of idents to a string.
+ * @return The string value in the current unit. The current
+ * <code>primitiveType</code> can only be a string unit type (i.e.
+ * <code>CSS_STRING</code>, <code>CSS_URI</code>,
+ * <code>CSS_IDENT</code> and <code>CSS_ATTR</code>).
+ * @exception DOMException
+ * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string
+ * value.
+ */
+ public String getStringValue()
+ throws DOMException;
+
+ /**
+ * This method is used to get the Counter value. If this CSS value
+ * doesn't contain a counter value, a <code>DOMException</code> is
+ * raised. Modification to the corresponding style property can be
+ * achieved using the <code>Counter</code> interface.
+ * @return The Counter value.
+ * @exception DOMException
+ * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a
+ * Counter value (e.g. this is not <code>CSS_COUNTER</code>).
+ */
+ public Counter getCounterValue()
+ throws DOMException;
+
+ /**
+ * This method is used to get the Rect value. If this CSS value doesn't
+ * contain a rect value, a <code>DOMException</code> is raised.
+ * Modification to the corresponding style property can be achieved
+ * using the <code>Rect</code> interface.
+ * @return The Rect value.
+ * @exception DOMException
+ * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a Rect
+ * value. (e.g. this is not <code>CSS_RECT</code>).
+ */
+ public Rect getRectValue()
+ throws DOMException;
+
+ /**
+ * This method is used to get the RGB color. If this CSS value doesn't
+ * contain a RGB color value, a <code>DOMException</code> is raised.
+ * Modification to the corresponding style property can be achieved
+ * using the <code>RGBColor</code> interface.
+ * @return the RGB color value.
+ * @exception DOMException
+ * INVALID_ACCESS_ERR: Raised if the attached property can't return a
+ * RGB color value (e.g. this is not <code>CSS_RGBCOLOR</code>).
+ */
+ public RGBColor getRGBColorValue()
+ throws DOMException;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSSRule.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,126 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+/**
+ * The <code>CSSRule</code> interface is the abstract base interface for any
+ * type of CSS statement. This includes both rule sets and at-rules. An
+ * implementation is expected to preserve all rules specified in a CSS style
+ * sheet, even if the rule is not recognized by the parser. Unrecognized
+ * rules are represented using the <code>CSSUnknownRule</code> interface.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSSRule {
+ // RuleType
+ /**
+ * The rule is a <code>CSSUnknownRule</code>.
+ */
+ public static final short UNKNOWN_RULE = 0;
+ /**
+ * The rule is a <code>CSSStyleRule</code>.
+ */
+ public static final short STYLE_RULE = 1;
+ /**
+ * The rule is a <code>CSSCharsetRule</code>.
+ */
+ public static final short CHARSET_RULE = 2;
+ /**
+ * The rule is a <code>CSSImportRule</code>.
+ */
+ public static final short IMPORT_RULE = 3;
+ /**
+ * The rule is a <code>CSSMediaRule</code>.
+ */
+ public static final short MEDIA_RULE = 4;
+ /**
+ * The rule is a <code>CSSFontFaceRule</code>.
+ */
+ public static final short FONT_FACE_RULE = 5;
+ /**
+ * The rule is a <code>CSSPageRule</code>.
+ */
+ public static final short PAGE_RULE = 6;
+
+ /**
+ * The type of the rule, as defined above. The expectation is that
+ * binding-specific casting methods can be used to cast down from an
+ * instance of the <code>CSSRule</code> interface to the specific
+ * derived interface implied by the <code>type</code>.
+ */
+ public short getType();
+
+ /**
+ * The parsable textual representation of the rule. This reflects the
+ * current state of the rule and not its initial value.
+ */
+ public String getCssText();
+ /**
+ * The parsable textual representation of the rule. This reflects the
+ * current state of the rule and not its initial value.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
+ * error and is unparsable.
+ * <br>INVALID_MODIFICATION_ERR: Raised if the specified CSS string
+ * value represents a different type of rule than the current one.
+ * <br>HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at
+ * this point in the style sheet.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if the rule is readonly.
+ */
+ public void setCssText(String cssText)
+ throws DOMException;
+
+ /**
+ * The style sheet that contains this rule.
+ */
+ public CSSStyleSheet getParentStyleSheet();
+
+ /**
+ * If this rule is contained inside another rule (e.g. a style rule
+ * inside an @media block), this is the containing rule. If this rule is
+ * not nested inside any other rules, this returns <code>null</code>.
+ */
+ public CSSRule getParentRule();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSSRuleList.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,72 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+/**
+ * The <code>CSSRuleList</code> interface provides the abstraction of an
+ * ordered collection of CSS rules.
+ * <p> The items in the <code>CSSRuleList</code> are accessible via an
+ * integral index, starting from 0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSSRuleList {
+ /**
+ * The number of <code>CSSRules</code> in the list. The range of valid
+ * child rule indices is <code>0</code> to <code>length-1</code>
+ * inclusive.
+ */
+ public int getLength();
+
+ /**
+ * Used to retrieve a CSS rule by ordinal index. The order in this
+ * collection represents the order of the rules in the CSS style sheet.
+ * If index is greater than or equal to the number of rules in the list,
+ * this returns <code>null</code>.
+ * @param index Index into the collection
+ * @return The style rule at the <code>index</code> position in the
+ * <code>CSSRuleList</code>, or <code>null</code> if that is not a
+ * valid index.
+ */
+ public CSSRule item(int index);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSSStyleDeclaration.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,191 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+/**
+ * The <code>CSSStyleDeclaration</code> interface represents a single CSS
+ * declaration block. This interface may be used to determine the style
+ * properties currently set in a block or to set style properties explicitly
+ * within the block.
+ * <p> While an implementation may not recognize all CSS properties within a
+ * CSS declaration block, it is expected to provide access to all specified
+ * properties in the style sheet through the <code>CSSStyleDeclaration</code>
+ * interface. Furthermore, implementations that support a specific level of
+ * CSS should correctly handle CSS shorthand properties for that level. For
+ * a further discussion of shorthand properties, see the
+ * <code>CSS2Properties</code> interface.
+ * <p> This interface is also used to provide a read-only access to the
+ * computed values of an element. See also the <code>ViewCSS</code>
+ * interface. The CSS Object Model doesn't provide an access to the
+ * specified or actual values of the CSS cascade.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSSStyleDeclaration {
+ /**
+ * The parsable textual representation of the declaration block
+ * (excluding the surrounding curly braces). Setting this attribute will
+ * result in the parsing of the new value and resetting of all the
+ * properties in the declaration block including the removal or addition
+ * of properties.
+ */
+ public String getCssText();
+ /**
+ * The parsable textual representation of the declaration block
+ * (excluding the surrounding curly braces). Setting this attribute will
+ * result in the parsing of the new value and resetting of all the
+ * properties in the declaration block including the removal or addition
+ * of properties.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
+ * error and is unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
+ * readonly or a property is readonly.
+ */
+ public void setCssText(String cssText)
+ throws DOMException;
+
+ /**
+ * Used to retrieve the value of a CSS property if it has been explicitly
+ * set within this declaration block.
+ * @param propertyName The name of the CSS property. See the CSS
+ * property index.
+ * @return Returns the value of the property if it has been explicitly
+ * set for this declaration block. Returns the empty string if the
+ * property has not been set.
+ */
+ public String getPropertyValue(String propertyName);
+
+ /**
+ * Used to retrieve the object representation of the value of a CSS
+ * property if it has been explicitly set within this declaration block.
+ * This method returns <code>null</code> if the property is a shorthand
+ * property. Shorthand property values can only be accessed and modified
+ * as strings, using the <code>getPropertyValue</code> and
+ * <code>setProperty</code> methods.
+ * @param propertyName The name of the CSS property. See the CSS
+ * property index.
+ * @return Returns the value of the property if it has been explicitly
+ * set for this declaration block. Returns <code>null</code> if the
+ * property has not been set.
+ */
+ public CSSValue getPropertyCSSValue(String propertyName);
+
+ /**
+ * Used to remove a CSS property if it has been explicitly set within
+ * this declaration block.
+ * @param propertyName The name of the CSS property. See the CSS
+ * property index.
+ * @return Returns the value of the property if it has been explicitly
+ * set for this declaration block. Returns the empty string if the
+ * property has not been set or the property name does not correspond
+ * to a known CSS property.
+ * @exception DOMException
+ * NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is readonly
+ * or the property is readonly.
+ */
+ public String removeProperty(String propertyName)
+ throws DOMException;
+
+ /**
+ * Used to retrieve the priority of a CSS property (e.g. the
+ * <code>"important"</code> qualifier) if the priority has been
+ * explicitly set in this declaration block.
+ * @param propertyName The name of the CSS property. See the CSS
+ * property index.
+ * @return A string representing the priority (e.g.
+ * <code>"important"</code>) if the property has been explicitly set
+ * in this declaration block and has a priority specified. The empty
+ * string otherwise.
+ */
+ public String getPropertyPriority(String propertyName);
+
+ /**
+ * Used to set a property value and priority within this declaration
+ * block. <code>setProperty</code> permits to modify a property or add a
+ * new one in the declaration block. Any call to this method may modify
+ * the order of properties in the <code>item</code> method.
+ * @param propertyName The name of the CSS property. See the CSS
+ * property index.
+ * @param value The new value of the property.
+ * @param priority The new priority of the property (e.g.
+ * <code>"important"</code>) or the empty string if none.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the specified value has a syntax error and is
+ * unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
+ * readonly or the property is readonly.
+ */
+ public void setProperty(String propertyName,
+ String value,
+ String priority)
+ throws DOMException;
+
+ /**
+ * The number of properties that have been explicitly set in this
+ * declaration block. The range of valid indices is 0 to length-1
+ * inclusive.
+ */
+ public int getLength();
+
+ /**
+ * Used to retrieve the properties that have been explicitly set in this
+ * declaration block. The order of the properties retrieved using this
+ * method does not have to be the order in which they were set. This
+ * method can be used to iterate over all properties in this declaration
+ * block.
+ * @param index Index of the property name to retrieve.
+ * @return The name of the property at this ordinal position. The empty
+ * string if no property exists at this position.
+ */
+ public String item(int index);
+
+ /**
+ * The CSS rule that contains this declaration block or <code>null</code>
+ * if this <code>CSSStyleDeclaration</code> is not attached to a
+ * <code>CSSRule</code>.
+ */
+ public CSSRule getParentRule();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSSStyleRule.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,76 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+/**
+ * The <code>CSSStyleRule</code> interface represents a single rule set in a
+ * CSS style sheet.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSSStyleRule extends CSSRule {
+ /**
+ * The textual representation of the selector for the rule set. The
+ * implementation may have stripped out insignificant whitespace while
+ * parsing the selector.
+ */
+ public String getSelectorText();
+ /**
+ * The textual representation of the selector for the rule set. The
+ * implementation may have stripped out insignificant whitespace while
+ * parsing the selector.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
+ * error and is unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is readonly.
+ */
+ public void setSelectorText(String selectorText)
+ throws DOMException;
+
+ /**
+ * The declaration-block of this rule set.
+ */
+ public CSSStyleDeclaration getStyle();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSSStyleSheet.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,114 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.stylesheets.StyleSheet;
+
+/**
+ * The <code>CSSStyleSheet</code> interface is a concrete interface used to
+ * represent a CSS style sheet i.e., a style sheet whose content type is
+ * "text/css".
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSSStyleSheet extends StyleSheet {
+ /**
+ * If this style sheet comes from an <code>@import</code> rule, the
+ * <code>ownerRule</code> attribute will contain the
+ * <code>CSSImportRule</code>. In that case, the <code>ownerNode</code>
+ * attribute in the <code>StyleSheet</code> interface will be
+ * <code>null</code>. If the style sheet comes from an element or a
+ * processing instruction, the <code>ownerRule</code> attribute will be
+ * <code>null</code> and the <code>ownerNode</code> attribute will
+ * contain the <code>Node</code>.
+ */
+ public CSSRule getOwnerRule();
+
+ /**
+ * The list of all CSS rules contained within the style sheet. This
+ * includes both rule sets and at-rules.
+ */
+ public CSSRuleList getCssRules();
+
+ /**
+ * Used to insert a new rule into the style sheet. The new rule now
+ * becomes part of the cascade.
+ * @param rule The parsable text representing the rule. For rule sets
+ * this contains both the selector and the style declaration. For
+ * at-rules, this specifies both the at-identifier and the rule
+ * content.
+ * @param index The index within the style sheet's rule list of the rule
+ * before which to insert the specified rule. If the specified index
+ * is equal to the length of the style sheet's rule collection, the
+ * rule will be added to the end of the style sheet.
+ * @return The index within the style sheet's rule collection of the
+ * newly inserted rule.
+ * @exception DOMException
+ * HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the
+ * specified index e.g. if an <code>@import</code> rule is inserted
+ * after a standard rule set or other at-rule.
+ * <br>INDEX_SIZE_ERR: Raised if the specified index is not a valid
+ * insertion point.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is
+ * readonly.
+ * <br>SYNTAX_ERR: Raised if the specified rule has a syntax error and
+ * is unparsable.
+ */
+ public int insertRule(String rule,
+ int index)
+ throws DOMException;
+
+ /**
+ * Used to delete a rule from the style sheet.
+ * @param index The index within the style sheet's rule list of the rule
+ * to remove.
+ * @exception DOMException
+ * INDEX_SIZE_ERR: Raised if the specified index does not correspond to
+ * a rule in the style sheet's rule list.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is
+ * readonly.
+ */
+ public void deleteRule(int index)
+ throws DOMException;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSSUnknownRule.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,51 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+/**
+ * The <code>CSSUnknownRule</code> interface represents an at-rule not
+ * supported by this user agent.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSSUnknownRule extends CSSRule {
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSSValue.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,100 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+/**
+ * The <code>CSSValue</code> interface represents a simple or a complex
+ * value. A <code>CSSValue</code> object only occurs in a context of a CSS
+ * property.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSSValue {
+ // UnitTypes
+ /**
+ * The value is inherited and the <code>cssText</code> contains "inherit".
+ */
+ public static final short CSS_INHERIT = 0;
+ /**
+ * The value is a primitive value and an instance of the
+ * <code>CSSPrimitiveValue</code> interface can be obtained by using
+ * binding-specific casting methods on this instance of the
+ * <code>CSSValue</code> interface.
+ */
+ public static final short CSS_PRIMITIVE_VALUE = 1;
+ /**
+ * The value is a <code>CSSValue</code> list and an instance of the
+ * <code>CSSValueList</code> interface can be obtained by using
+ * binding-specific casting methods on this instance of the
+ * <code>CSSValue</code> interface.
+ */
+ public static final short CSS_VALUE_LIST = 2;
+ /**
+ * The value is a custom value.
+ */
+ public static final short CSS_CUSTOM = 3;
+
+ /**
+ * A string representation of the current value.
+ */
+ public String getCssText();
+ /**
+ * A string representation of the current value.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
+ * error (according to the attached property) or is unparsable.
+ * <br>INVALID_MODIFICATION_ERR: Raised if the specified CSS string
+ * value represents a different type of values than the values allowed
+ * by the CSS property.
+ * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this value is readonly.
+ */
+ public void setCssText(String cssText)
+ throws DOMException;
+
+ /**
+ * A code defining the type of the value as defined above.
+ */
+ public short getCssValueType();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/CSSValueList.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,75 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+/**
+ * The <code>CSSValueList</code> interface provides the abstraction of an
+ * ordered collection of CSS values.
+ * <p> Some properties allow an empty list into their syntax. In that case,
+ * these properties take the <code>none</code> identifier. So, an empty list
+ * means that the property has the value <code>none</code>.
+ * <p> The items in the <code>CSSValueList</code> are accessible via an
+ * integral index, starting from 0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface CSSValueList extends CSSValue {
+ /**
+ * The number of <code>CSSValues</code> in the list. The range of valid
+ * values of the indices is <code>0</code> to <code>length-1</code>
+ * inclusive.
+ */
+ public int getLength();
+
+ /**
+ * Used to retrieve a <code>CSSValue</code> by ordinal index. The order in
+ * this collection represents the order of the values in the CSS style
+ * property. If index is greater than or equal to the number of values
+ * in the list, this returns <code>null</code>.
+ * @param index Index into the collection.
+ * @return The <code>CSSValue</code> at the <code>index</code> position
+ * in the <code>CSSValueList</code>, or <code>null</code> if that is
+ * not a valid index.
+ */
+ public CSSValue item(int index);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/Counter.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,67 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+/**
+ * The <code>Counter</code> interface is used to represent any counter or
+ * counters function value. This interface reflects the values in the
+ * underlying style property.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface Counter {
+ /**
+ * This attribute is used for the identifier of the counter.
+ */
+ public String getIdentifier();
+
+ /**
+ * This attribute is used for the style of the list.
+ */
+ public String getListStyle();
+
+ /**
+ * This attribute is used for the separator of the nested counters.
+ */
+ public String getSeparator();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/DOMImplementationCSS.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,69 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMImplementation;
+import org.w3c.dom.DOMException;
+
+/**
+ * This interface allows the DOM user to create a <code>CSSStyleSheet</code>
+ * outside the context of a document. There is no way to associate the new
+ * <code>CSSStyleSheet</code> with a document in DOM Level 2.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface DOMImplementationCSS extends DOMImplementation {
+ /**
+ * Creates a new <code>CSSStyleSheet</code>.
+ * @param title The advisory title. See also the section.
+ * @param media The comma-separated list of media associated with the
+ * new style sheet. See also the section.
+ * @return A new CSS style sheet.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the specified media string value has a syntax
+ * error and is unparsable.
+ */
+ public CSSStyleSheet createCSSStyleSheet(String title,
+ String media)
+ throws DOMException;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/DocumentCSS.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,79 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.stylesheets.DocumentStyle;
+
+/**
+ * This interface represents a document with a CSS view.
+ * <p> The <code>getOverrideStyle</code> method provides a mechanism through
+ * which a DOM author could effect immediate change to the style of an
+ * element without modifying the explicitly linked style sheets of a
+ * document or the inline style of elements in the style sheets. This style
+ * sheet comes after the author style sheet in the cascade algorithm and is
+ * called override style sheet. The override style sheet takes precedence
+ * over author style sheets. An "!important" declaration still takes
+ * precedence over a normal declaration. Override, author, and user style
+ * sheets all may contain "!important" declarations. User "!important" rules
+ * take precedence over both override and author "!important" rules, and
+ * override "!important" rules take precedence over author "!important"
+ * rules.
+ * <p> The expectation is that an instance of the <code>DocumentCSS</code>
+ * interface can be obtained by using binding-specific casting methods on an
+ * instance of the <code>Document</code> interface.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface DocumentCSS extends DocumentStyle {
+ /**
+ * This method is used to retrieve the override style declaration for a
+ * specified element and a specified pseudo-element.
+ * @param elt The element whose style is to be modified. This parameter
+ * cannot be null.
+ * @param pseudoElt The pseudo-element or <code>null</code> if none.
+ * @return The override style declaration.
+ */
+ public CSSStyleDeclaration getOverrideStyle(Element elt,
+ String pseudoElt);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/ElementCSSInlineStyle.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,61 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+/**
+ * Inline style information attached to elements is exposed through the
+ * <code>style</code> attribute. This represents the contents of the STYLE
+ * attribute for HTML elements (or elements in other schemas or DTDs which
+ * use the STYLE attribute in the same way). The expectation is that an
+ * instance of the ElementCSSInlineStyle interface can be obtained by using
+ * binding-specific casting methods on an instance of the Element interface
+ * when the element supports inline CSS style informations.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface ElementCSSInlineStyle {
+ /**
+ * The style attribute.
+ */
+ public CSSStyleDeclaration getStyle();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/RGBColor.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,76 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+/**
+ * The <code>RGBColor</code> interface is used to represent any RGB color
+ * value. This interface reflects the values in the underlying style
+ * property. Hence, modifications made to the <code>CSSPrimitiveValue</code>
+ * objects modify the style property.
+ * <p> A specified RGB color is not clipped (even if the number is outside the
+ * range 0-255 or 0%-100%). A computed RGB color is clipped depending on the
+ * device.
+ * <p> Even if a style sheet can only contain an integer for a color value,
+ * the internal storage of this integer is a float, and this can be used as
+ * a float in the specified or the computed style.
+ * <p> A color percentage value can always be converted to a number and vice
+ * versa.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface RGBColor {
+ /**
+ * This attribute is used for the red value of the RGB color.
+ */
+ public CSSPrimitiveValue getRed();
+
+ /**
+ * This attribute is used for the green value of the RGB color.
+ */
+ public CSSPrimitiveValue getGreen();
+
+ /**
+ * This attribute is used for the blue value of the RGB color.
+ */
+ public CSSPrimitiveValue getBlue();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/Rect.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,73 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+/**
+ * The <code>Rect</code> interface is used to represent any rect value. This
+ * interface reflects the values in the underlying style property. Hence,
+ * modifications made to the <code>CSSPrimitiveValue</code> objects modify
+ * the style property.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface Rect {
+ /**
+ * This attribute is used for the top of the rect.
+ */
+ public CSSPrimitiveValue getTop();
+
+ /**
+ * This attribute is used for the right of the rect.
+ */
+ public CSSPrimitiveValue getRight();
+
+ /**
+ * This attribute is used for the bottom of the rect.
+ */
+ public CSSPrimitiveValue getBottom();
+
+ /**
+ * This attribute is used for the left of the rect.
+ */
+ public CSSPrimitiveValue getLeft();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/css/ViewCSS.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,72 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.views.AbstractView;
+
+/**
+ * This interface represents a CSS view. The <code>getComputedStyle</code>
+ * method provides a read only access to the computed values of an element.
+ * <p> The expectation is that an instance of the <code>ViewCSS</code>
+ * interface can be obtained by using binding-specific casting methods on an
+ * instance of the <code>AbstractView</code> interface.
+ * <p> Since a computed style is related to an <code>Element</code> node, if
+ * this element is removed from the document, the associated
+ * <code>CSSStyleDeclaration</code> and <code>CSSValue</code> related to
+ * this declaration are no longer valid.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface ViewCSS extends AbstractView {
+ /**
+ * This method is used to get the computed style as it is defined in [<a href='http://www.w3.org/TR/1998/REC-CSS2-19980512'>CSS2</a>].
+ * @param elt The element whose style is to be computed. This parameter
+ * cannot be null.
+ * @param pseudoElt The pseudo-element or <code>null</code> if none.
+ * @return The computed style. The <code>CSSStyleDeclaration</code> is
+ * read-only and contains only absolute values.
+ */
+ public CSSStyleDeclaration getComputedStyle(Element elt,
+ String pseudoElt);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLAnchorElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,140 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * The anchor element. See the A element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLAnchorElement extends HTMLElement {
+ /**
+ * A single character access key to give access to the form control. See
+ * the accesskey attribute definition in HTML 4.0.
+ */
+ public String getAccessKey();
+ public void setAccessKey(String accessKey);
+
+ /**
+ * The character encoding of the linked resource. See the charset
+ * attribute definition in HTML 4.0.
+ */
+ public String getCharset();
+ public void setCharset(String charset);
+
+ /**
+ * Comma-separated list of lengths, defining an active region geometry.
+ * See also <code>shape</code> for the shape of the region. See the
+ * coords attribute definition in HTML 4.0.
+ */
+ public String getCoords();
+ public void setCoords(String coords);
+
+ /**
+ * The URI of the linked resource. See the href attribute definition in
+ * HTML 4.0.
+ */
+ public String getHref();
+ public void setHref(String href);
+
+ /**
+ * Language code of the linked resource. See the hreflang attribute
+ * definition in HTML 4.0.
+ */
+ public String getHreflang();
+ public void setHreflang(String hreflang);
+
+ /**
+ * Anchor name. See the name attribute definition in HTML 4.0.
+ */
+ public String getName();
+ public void setName(String name);
+
+ /**
+ * Forward link type. See the rel attribute definition in HTML 4.0.
+ */
+ public String getRel();
+ public void setRel(String rel);
+
+ /**
+ * Reverse link type. See the rev attribute definition in HTML 4.0.
+ */
+ public String getRev();
+ public void setRev(String rev);
+
+ /**
+ * The shape of the active area. The coordinates are given by
+ * <code>coords</code> . See the shape attribute definition in HTML 4.0.
+ */
+ public String getShape();
+ public void setShape(String shape);
+
+ /**
+ * Index that represents the element's position in the tabbing order. See
+ * the tabindex attribute definition in HTML 4.0.
+ */
+ public int getTabIndex();
+ public void setTabIndex(int tabIndex);
+
+ /**
+ * Frame to render the resource in. See the target attribute definition
+ * in HTML 4.0.
+ */
+ public String getTarget();
+ public void setTarget(String target);
+
+ /**
+ * Advisory content type. See the type attribute definition in HTML 4.0.
+ */
+ public String getType();
+ public void setType(String type);
+
+ /**
+ * Removes keyboard focus from this element.
+ */
+ public void blur();
+
+ /**
+ * Gives keyboard focus to this element.
+ */
+ public void focus();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLAppletElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,131 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * An embedded Java applet. See the APPLET element definition in HTML 4.0.
+ * This element is deprecated in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLAppletElement extends HTMLElement {
+ /**
+ * Aligns this object (vertically or horizontally) with respect to its
+ * surrounding text. See the align attribute definition in HTML 4.0.
+ * This attribute is deprecated in HTML 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+ /**
+ * Alternate text for user agents not rendering the normal content of
+ * this element. See the alt attribute definition in HTML 4.0. This
+ * attribute is deprecated in HTML 4.0.
+ */
+ public String getAlt();
+ public void setAlt(String alt);
+
+ /**
+ * Comma-separated archive list. See the archive attribute definition in
+ * HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getArchive();
+ public void setArchive(String archive);
+
+ /**
+ * Applet class file. See the code attribute definition in HTML 4.0.
+ * This attribute is deprecated in HTML 4.0.
+ */
+ public String getCode();
+ public void setCode(String code);
+
+ /**
+ * Optional base URI for applet. See the codebase attribute definition
+ * in HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getCodeBase();
+ public void setCodeBase(String codeBase);
+
+ /**
+ * Override height. See the height attribute definition in HTML 4.0.
+ * This attribute is deprecated in HTML 4.0.
+ */
+ public String getHeight();
+ public void setHeight(String height);
+
+ /**
+ * Horizontal space to the left and right of this image, applet, or
+ * object. See the hspace attribute definition in HTML 4.0. This
+ * attribute is deprecated in HTML 4.0.
+ */
+ public String getHspace();
+ public void setHspace(String hspace);
+
+ /**
+ * The name of the applet. See the name attribute definition in HTML
+ * 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getName();
+ public void setName(String name);
+
+ /**
+ * Serialized applet file. See the object attribute definition in HTML
+ * 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getObject();
+ public void setObject(String object);
+
+ /**
+ * Vertical space above and below this image, applet, or object. See the
+ * vspace attribute definition in HTML 4.0. This attribute is deprecated
+ * in HTML 4.0.
+ */
+ public String getVspace();
+ public void setVspace(String vspace);
+
+ /**
+ * Override width. See the width attribute definition in HTML 4.0. This
+ * attribute is deprecated in HTML 4.0.
+ */
+ public String getWidth();
+ public void setWidth(String width);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLAreaElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,107 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Client-side image map area definition. See the AREA element definition in
+ * HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLAreaElement extends HTMLElement {
+ /**
+ * A single character access key to give access to the form control. See
+ * the accesskey attribute definition in HTML 4.0.
+ */
+ public String getAccessKey();
+ public void setAccessKey(String accessKey);
+
+ /**
+ * Alternate text for user agents not rendering the normal content of
+ * this element. See the alt attribute definition in HTML 4.0.
+ */
+ public String getAlt();
+ public void setAlt(String alt);
+
+ /**
+ * Comma-separated list of lengths, defining an active region geometry.
+ * See also <code>shape</code> for the shape of the region. See the
+ * coords attribute definition in HTML 4.0.
+ */
+ public String getCoords();
+ public void setCoords(String coords);
+
+ /**
+ * The URI of the linked resource. See the href attribute definition in
+ * HTML 4.0.
+ */
+ public String getHref();
+ public void setHref(String href);
+
+ /**
+ * Specifies that this area is inactive, i.e., has no associated action.
+ * See the nohref attribute definition in HTML 4.0.
+ */
+ public boolean getNoHref();
+ public void setNoHref(boolean noHref);
+
+ /**
+ * The shape of the active area. The coordinates are given by
+ * <code>coords</code> . See the shape attribute definition in HTML 4.0.
+ */
+ public String getShape();
+ public void setShape(String shape);
+
+ /**
+ * Index that represents the element's position in the tabbing order. See
+ * the tabindex attribute definition in HTML 4.0.
+ */
+ public int getTabIndex();
+ public void setTabIndex(int tabIndex);
+
+ /**
+ * Frame to render the resource in. See the target attribute definition
+ * in HTML 4.0.
+ */
+ public String getTarget();
+ public void setTarget(String target);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLBRElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,56 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Force a line break. See the BR element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLBRElement extends HTMLElement {
+ /**
+ * Control flow of text around floats. See the clear attribute definition
+ * in HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getClear();
+ public void setClear(String clear);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLBaseElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,62 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Document base URI. See the BASE element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLBaseElement extends HTMLElement {
+ /**
+ * The base URI. See the href attribute definition in HTML 4.0.
+ */
+ public String getHref();
+ public void setHref(String href);
+
+ /**
+ * The default target frame. See the target attribute definition in HTML
+ * 4.0.
+ */
+ public String getTarget();
+ public void setTarget(String target);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLBaseFontElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,71 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Base font. See the BASEFONT element definition in HTML 4.0. This element
+ * is deprecated in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLBaseFontElement extends HTMLElement {
+ /**
+ * Font color. See the color attribute definition in HTML 4.0. This
+ * attribute is deprecated in HTML 4.0.
+ */
+ public String getColor();
+ public void setColor(String color);
+
+ /**
+ * Font face identifier. See the face attribute definition in HTML 4.0.
+ * This attribute is deprecated in HTML 4.0.
+ */
+ public String getFace();
+ public void setFace(String face);
+
+ /**
+ * Font size. See the size attribute definition in HTML 4.0. This
+ * attribute is deprecated in HTML 4.0.
+ */
+ public String getSize();
+ public void setSize(String size);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLBodyElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,97 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * The HTML document body. This element is always present in the DOM API,
+ * even if the tags are not present in the source document. See the BODY
+ * element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLBodyElement extends HTMLElement {
+ /**
+ * Color of active links (after mouse-button down, but before
+ * mouse-button up). See the alink attribute definition in HTML 4.0.
+ * This attribute is deprecated in HTML 4.0.
+ */
+ public String getALink();
+ public void setALink(String aLink);
+
+ /**
+ * URI of the background texture tile image. See the background
+ * attribute definition in HTML 4.0. This attribute is deprecated in HTML
+ * 4.0.
+ */
+ public String getBackground();
+ public void setBackground(String background);
+
+ /**
+ * Document background color. See the bgcolor attribute definition in
+ * HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getBgColor();
+ public void setBgColor(String bgColor);
+
+ /**
+ * Color of links that are not active and unvisited. See the link
+ * attribute definition in HTML 4.0. This attribute is deprecated in HTML
+ * 4.0.
+ */
+ public String getLink();
+ public void setLink(String link);
+
+ /**
+ * Document text color. See the text attribute definition in HTML 4.0.
+ * This attribute is deprecated in HTML 4.0.
+ */
+ public String getText();
+ public void setText(String text);
+
+ /**
+ * Color of links that have been visited by the user. See the vlink
+ * attribute definition in HTML 4.0. This attribute is deprecated in HTML
+ * 4.0.
+ */
+ public String getVLink();
+ public void setVLink(String vLink);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLButtonElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,95 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Push button. See the BUTTON element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLButtonElement extends HTMLElement {
+ /**
+ * Returns the <code>FORM</code> element containing this control. Returns
+ * <code>null</code> if this control is not within the context of a form.
+ */
+ public HTMLFormElement getForm();
+
+ /**
+ * A single character access key to give access to the form control. See
+ * the accesskey attribute definition in HTML 4.0.
+ */
+ public String getAccessKey();
+ public void setAccessKey(String accessKey);
+
+ /**
+ * The control is unavailable in this context. See the disabled
+ * attribute definition in HTML 4.0.
+ */
+ public boolean getDisabled();
+ public void setDisabled(boolean disabled);
+
+ /**
+ * Form control or object name when submitted with a form. See the name
+ * attribute definition in HTML 4.0.
+ */
+ public String getName();
+ public void setName(String name);
+
+ /**
+ * Index that represents the element's position in the tabbing order. See
+ * the tabindex attribute definition in HTML 4.0.
+ */
+ public int getTabIndex();
+ public void setTabIndex(int tabIndex);
+
+ /**
+ * The type of button. See the type attribute definition in HTML 4.0.
+ */
+ public String getType();
+
+ /**
+ * The current form control value. See the value attribute definition in
+ * HTML 4.0.
+ */
+ public String getValue();
+ public void setValue(String value);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLCollection.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,85 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+import org.w3c.dom.Node;
+
+/**
+ * An <code>HTMLCollection</code> is a list of nodes. An individual node may
+ * be accessed by either ordinal index or the node's<code>name</code> or
+ * <code>id</code> attributes. Note: Collections in the HTML DOM are assumed
+ * to be live meaning that they are automatically updated when the
+ * underlying document is changed.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLCollection {
+ /**
+ * This attribute specifies the length or size of the list.
+ */
+ public int getLength();
+
+ /**
+ * This method retrieves a node specified by ordinal index. Nodes are
+ * numbered in tree order (depth-first traversal order).
+ * @param index The index of the node to be fetched. The index origin is
+ * 0.
+ * @return The <code>Node</code> at the corresponding position upon
+ * success. A value of <code>null</code> is returned if the index is
+ * out of range.
+ */
+ public Node item(int index);
+
+ /**
+ * This method retrieves a <code>Node</code> using a name. It first
+ * searches for a <code>Node</code> with a matching <code>id</code>
+ * attribute. If it doesn't find one, it then searches for a
+ * <code>Node</code> with a matching <code>name</code> attribute, but
+ * only on those elements that are allowed a name attribute.
+ * @param name The name of the <code>Node</code> to be fetched.
+ * @return The <code>Node</code> with a <code>name</code> or
+ * <code>id</code> attribute whose value corresponds to the specified
+ * string. Upon failure (e.g., no node with this name exists), returns
+ * <code>null</code> .
+ */
+ public Node namedItem(String name);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLDListElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,56 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Definition list. See the DL element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLDListElement extends HTMLElement {
+ /**
+ * Reduce spacing between list items. See the compact attribute
+ * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public boolean getCompact();
+ public void setCompact(boolean compact);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLDOMImplementation.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,63 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+import org.w3c.dom.DOMImplementation;
+
+/**
+ * The <code>HTMLDOMImplementation</code> interface extends the
+ * <code>DOMImplementation</code> interface with a method for creating an
+ * HTML document instance.
+ * @since DOM Level 2
+ */
+public interface HTMLDOMImplementation extends DOMImplementation {
+ /**
+ * Creates an <code>HTMLDocument</code> object with the minimal tree made
+ * of the following elements: <code>HTML</code> , <code>HEAD</code> ,
+ * <code>TITLE</code> , and <code>BODY</code> .
+ * @param title The title of the document to be set as the content of the
+ * <code>TITLE</code> element, through a child <code>Text</code> node.
+ * @return A new <code>HTMLDocument</code> object.
+ */
+ public HTMLDocument createHTMLDocument(String title);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLDirectoryElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,57 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Directory list. See the DIR element definition in HTML 4.0. This element
+ * is deprecated in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLDirectoryElement extends HTMLElement {
+ /**
+ * Reduce spacing between list items. See the compact attribute
+ * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public boolean getCompact();
+ public void setCompact(boolean compact);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLDivElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,56 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Generic block container. See the DIV element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLDivElement extends HTMLElement {
+ /**
+ * Horizontal text alignment. See the align attribute definition in HTML
+ * 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLDocument.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,183 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+
+/**
+ * An <code>HTMLDocument</code> is the root of the HTML hierarchy and holds
+ * the entire content. Besides providing access to the hierarchy, it also
+ * provides some convenience methods for accessing certain sets of
+ * information from the document.
+ * <p> The following properties have been deprecated in favor of the
+ * corresponding ones for the <code>BODY</code> element: alinkColor background
+ * bgColor fgColor linkColor vlinkColor In DOM Level 2, the method
+ * <code>getElementById</code> is inherited from the <code>Document</code>
+ * interface where it was moved.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLDocument extends Document {
+ /**
+ * The title of a document as specified by the <code>TITLE</code> element
+ * in the head of the document.
+ */
+ public String getTitle();
+ public void setTitle(String title);
+
+ /**
+ * Returns the URI of the page that linked to this page. The value is an
+ * empty string if the user navigated to the page directly (not through a
+ * link, but, for example, via a bookmark).
+ */
+ public String getReferrer();
+
+ /**
+ * The domain name of the server that served the document, or
+ * <code>null</code> if the server cannot be identified by a domain name.
+ */
+ public String getDomain();
+
+ /**
+ * The complete URI of the document.
+ */
+ public String getURL();
+
+ /**
+ * The element that contains the content for the document. In documents
+ * with <code>BODY</code> contents, returns the <code>BODY</code>
+ * element. In frameset documents, this returns the outermost
+ * <code>FRAMESET</code> element.
+ */
+ public HTMLElement getBody();
+ public void setBody(HTMLElement body);
+
+ /**
+ * A collection of all the <code>IMG</code> elements in a document. The
+ * behavior is limited to <code>IMG</code> elements for backwards
+ * compatibility.
+ */
+ public HTMLCollection getImages();
+
+ /**
+ * A collection of all the <code>OBJECT</code> elements that include
+ * applets and <code>APPLET</code> ( deprecated ) elements in a document.
+ */
+ public HTMLCollection getApplets();
+
+ /**
+ * A collection of all <code>AREA</code> elements and anchor (
+ * <code>A</code> ) elements in a document with a value for the
+ * <code>href</code> attribute.
+ */
+ public HTMLCollection getLinks();
+
+ /**
+ * A collection of all the forms of a document.
+ */
+ public HTMLCollection getForms();
+
+ /**
+ * A collection of all the anchor (<code>A</code> ) elements in a document
+ * with a value for the <code>name</code> attribute. Note. For reasons
+ * of backwards compatibility, the returned set of anchors only contains
+ * those anchors created with the <code>name</code> attribute, not those
+ * created with the <code>id</code> attribute.
+ */
+ public HTMLCollection getAnchors();
+
+ /**
+ * The cookies associated with this document. If there are none, the
+ * value is an empty string. Otherwise, the value is a string: a
+ * semicolon-delimited list of "name, value" pairs for all the cookies
+ * associated with the page. For example,
+ * <code>name=value;expires=date</code> .
+ */
+ public String getCookie();
+ public void setCookie(String cookie);
+
+ /**
+ * Note. This method and the ones following allow a user to add to or
+ * replace the structure model of a document using strings of unparsed
+ * HTML. At the time of writing alternate methods for providing similar
+ * functionality for both HTML and XML documents were being considered.
+ * The following methods may be deprecated at some point in the future in
+ * favor of a more general-purpose mechanism.
+ * <br> Open a document stream for writing. If a document exists in the
+ * target, this method clears it.
+ */
+ public void open();
+
+ /**
+ * Closes a document stream opened by <code>open()</code> and forces
+ * rendering.
+ */
+ public void close();
+
+ /**
+ * Write a string of text to a document stream opened by
+ * <code>open()</code> . The text is parsed into the document's structure
+ * model.
+ * @param text The string to be parsed into some structure in the
+ * document structure model.
+ */
+ public void write(String text);
+
+ /**
+ * Write a string of text followed by a newline character to a document
+ * stream opened by <code>open()</code> . The text is parsed into the
+ * document's structure model.
+ * @param text The string to be parsed into some structure in the
+ * document structure model.
+ */
+ public void writeln(String text);
+
+ /**
+ * Returns the (possibly empty) collection of elements whose
+ * <code>name</code> value is given by <code>elementName</code> .
+ * @param elementName The <code>name</code> attribute value for an
+ * element.
+ * @return The matching elements.
+ */
+ public NodeList getElementsByName(String elementName);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,94 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+import org.w3c.dom.Element;
+
+/**
+ * All HTML element interfaces derive from this class. Elements that only
+ * expose the HTML core attributes are represented by the base
+ * <code>HTMLElement</code> interface. These elements are as follows: HEAD
+ * special: SUB, SUP, SPAN, BDO font: TT, I, B, U, S, STRIKE, BIG, SMALL
+ * phrase: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ACRONYM, ABBR list:
+ * DD, DT NOFRAMES, NOSCRIPT ADDRESS, CENTER The <code>style</code> attribute
+ * of an HTML element is accessible through the
+ * <code>ElementCSSInlineStyle</code> interface which is defined in the .
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLElement extends Element {
+ /**
+ * The element's identifier. See the id attribute definition in HTML 4.0.
+ */
+ public String getId();
+ public void setId(String id);
+
+ /**
+ * The element's advisory title. See the title attribute definition in
+ * HTML 4.0.
+ */
+ public String getTitle();
+ public void setTitle(String title);
+
+ /**
+ * Language code defined in RFC 1766. See the lang attribute definition
+ * in HTML 4.0.
+ */
+ public String getLang();
+ public void setLang(String lang);
+
+ /**
+ * Specifies the base direction of directionally neutral text and the
+ * directionality of tables. See the dir attribute definition in HTML
+ * 4.0.
+ */
+ public String getDir();
+ public void setDir(String dir);
+
+ /**
+ * The class attribute of the element. This attribute has been renamed
+ * due to conflicts with the "class" keyword exposed by many languages.
+ * See the class attribute definition in HTML 4.0.
+ */
+ public String getClassName();
+ public void setClassName(String className);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLFieldSetElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,56 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Organizes form controls into logical groups. See the FIELDSET element
+ * definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLFieldSetElement extends HTMLElement {
+ /**
+ * Returns the <code>FORM</code> element containing this control. Returns
+ * <code>null</code> if this control is not within the context of a form.
+ */
+ public HTMLFormElement getForm();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLFontElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,71 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Local change to font. See the FONT element definition in HTML 4.0. This
+ * element is deprecated in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLFontElement extends HTMLElement {
+ /**
+ * Font color. See the color attribute definition in HTML 4.0. This
+ * attribute is deprecated in HTML 4.0.
+ */
+ public String getColor();
+ public void setColor(String color);
+
+ /**
+ * Font face identifier. See the face attribute definition in HTML 4.0.
+ * This attribute is deprecated in HTML 4.0.
+ */
+ public String getFace();
+ public void setFace(String face);
+
+ /**
+ * Font size. See the size attribute definition in HTML 4.0. This
+ * attribute is deprecated in HTML 4.0.
+ */
+ public String getSize();
+ public void setSize(String size);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLFormElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,115 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * The <code>FORM</code> element encompasses behavior similar to a collection
+ * and an element. It provides direct access to the contained input elements
+ * as well as the attributes of the form element. See the FORM element
+ * definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLFormElement extends HTMLElement {
+ /**
+ * Returns a collection of all control elements in the form.
+ */
+ public HTMLCollection getElements();
+
+ /**
+ * The number of form controls in the form.
+ */
+ public int getLength();
+
+ /**
+ * Names the form.
+ */
+ public String getName();
+ public void setName(String name);
+
+ /**
+ * List of character sets supported by the server. See the
+ * accept-charset attribute definition in HTML 4.0.
+ */
+ public String getAcceptCharset();
+ public void setAcceptCharset(String acceptCharset);
+
+ /**
+ * Server-side form handler. See the action attribute definition in HTML
+ * 4.0.
+ */
+ public String getAction();
+ public void setAction(String action);
+
+ /**
+ * The content type of the submitted form, generally
+ * "application/x-www-form-urlencoded". See the enctype attribute
+ * definition in HTML 4.0.
+ */
+ public String getEnctype();
+ public void setEnctype(String enctype);
+
+ /**
+ * HTTP method used to submit form. See the method attribute definition
+ * in HTML 4.0.
+ */
+ public String getMethod();
+ public void setMethod(String method);
+
+ /**
+ * Frame to render the resource in. See the target attribute definition
+ * in HTML 4.0.
+ */
+ public String getTarget();
+ public void setTarget(String target);
+
+ /**
+ * Submits the form. It performs the same action as a submit button.
+ */
+ public void submit();
+
+ /**
+ * Restores a form element's default values. It performs the same action
+ * as a reset button.
+ */
+ public void reset();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLFrameElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,114 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+import org.w3c.dom.Document;
+
+/**
+ * Create a frame. See the FRAME element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLFrameElement extends HTMLElement {
+ /**
+ * Request frame borders. See the frameborder attribute definition in
+ * HTML 4.0.
+ */
+ public String getFrameBorder();
+ public void setFrameBorder(String frameBorder);
+
+ /**
+ * URI designating a long description of this image or frame. See the
+ * longdesc attribute definition in HTML 4.0.
+ */
+ public String getLongDesc();
+ public void setLongDesc(String longDesc);
+
+ /**
+ * Frame margin height, in pixels. See the marginheight attribute
+ * definition in HTML 4.0.
+ */
+ public String getMarginHeight();
+ public void setMarginHeight(String marginHeight);
+
+ /**
+ * Frame margin width, in pixels. See the marginwidth attribute
+ * definition in HTML 4.0.
+ */
+ public String getMarginWidth();
+ public void setMarginWidth(String marginWidth);
+
+ /**
+ * The frame name (object of the <code>target</code> attribute). See the
+ * name attribute definition in HTML 4.0.
+ */
+ public String getName();
+ public void setName(String name);
+
+ /**
+ * When true, forbid user from resizing frame. See the noresize
+ * attribute definition in HTML 4.0.
+ */
+ public boolean getNoResize();
+ public void setNoResize(boolean noResize);
+
+ /**
+ * Specify whether or not the frame should have scrollbars. See the
+ * scrolling attribute definition in HTML 4.0.
+ */
+ public String getScrolling();
+ public void setScrolling(String scrolling);
+
+ /**
+ * A URI designating the initial frame contents. See the src attribute
+ * definition in HTML 4.0.
+ */
+ public String getSrc();
+ public void setSrc(String src);
+
+ /**
+ * The document this frame contains, if there is any and it is available,
+ * or <code>null</code> otherwise.
+ * @since DOM Level 2
+ */
+ public Document getContentDocument();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLFrameSetElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,63 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Create a grid of frames. See the FRAMESET element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLFrameSetElement extends HTMLElement {
+ /**
+ * The number of columns of frames in the frameset. See the cols
+ * attribute definition in HTML 4.0.
+ */
+ public String getCols();
+ public void setCols(String cols);
+
+ /**
+ * The number of rows of frames in the frameset. See the rows attribute
+ * definition in HTML 4.0.
+ */
+ public String getRows();
+ public void setRows(String rows);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLHRElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,78 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Create a horizontal rule. See the HR element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLHRElement extends HTMLElement {
+ /**
+ * Align the rule on the page. See the align attribute definition in
+ * HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+ /**
+ * Indicates to the user agent that there should be no shading in the
+ * rendering of this element. See the noshade attribute definition in
+ * HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public boolean getNoShade();
+ public void setNoShade(boolean noShade);
+
+ /**
+ * The height of the rule. See the size attribute definition in HTML
+ * 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getSize();
+ public void setSize(String size);
+
+ /**
+ * The width of the rule. See the width attribute definition in HTML
+ * 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getWidth();
+ public void setWidth(String width);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLHeadElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,56 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Document head information. See the HEAD element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLHeadElement extends HTMLElement {
+ /**
+ * URI designating a metadata profile. See the profile attribute
+ * definition in HTML 4.0.
+ */
+ public String getProfile();
+ public void setProfile(String profile);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLHeadingElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,57 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * For the <code>H1</code> to <code>H6</code> elements. See the H1 element
+ * definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLHeadingElement extends HTMLElement {
+ /**
+ * Horizontal text alignment. See the align attribute definition in HTML
+ * 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLHtmlElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,57 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Root of an HTML document. See the HTML element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLHtmlElement extends HTMLElement {
+ /**
+ * Version information about the document's DTD. See the version
+ * attribute definition in HTML 4.0. This attribute is deprecated in HTML
+ * 4.0.
+ */
+ public String getVersion();
+ public void setVersion(String version);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLIFrameElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,127 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+import org.w3c.dom.Document;
+
+/**
+ * Inline subwindows. See the IFRAME element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLIFrameElement extends HTMLElement {
+ /**
+ * Aligns this object (vertically or horizontally) with respect to its
+ * surrounding text. See the align attribute definition in HTML 4.0.
+ * This attribute is deprecated in HTML 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+ /**
+ * Request frame borders. See the frameborder attribute definition in
+ * HTML 4.0.
+ */
+ public String getFrameBorder();
+ public void setFrameBorder(String frameBorder);
+
+ /**
+ * Frame height. See the height attribute definition in HTML 4.0.
+ */
+ public String getHeight();
+ public void setHeight(String height);
+
+ /**
+ * URI designating a long description of this image or frame. See the
+ * longdesc attribute definition in HTML 4.0.
+ */
+ public String getLongDesc();
+ public void setLongDesc(String longDesc);
+
+ /**
+ * Frame margin height, in pixels. See the marginheight attribute
+ * definition in HTML 4.0.
+ */
+ public String getMarginHeight();
+ public void setMarginHeight(String marginHeight);
+
+ /**
+ * Frame margin width, in pixels. See the marginwidth attribute
+ * definition in HTML 4.0.
+ */
+ public String getMarginWidth();
+ public void setMarginWidth(String marginWidth);
+
+ /**
+ * The frame name (object of the <code>target</code> attribute). See the
+ * name attribute definition in HTML 4.0.
+ */
+ public String getName();
+ public void setName(String name);
+
+ /**
+ * Specify whether or not the frame should have scrollbars. See the
+ * scrolling attribute definition in HTML 4.0.
+ */
+ public String getScrolling();
+ public void setScrolling(String scrolling);
+
+ /**
+ * A URI designating the initial frame contents. See the src attribute
+ * definition in HTML 4.0.
+ */
+ public String getSrc();
+ public void setSrc(String src);
+
+ /**
+ * Frame width. See the width attribute definition in HTML 4.0.
+ */
+ public String getWidth();
+ public void setWidth(String width);
+
+ /**
+ * The document this frame contains, if there is any and it is available,
+ * or <code>null</code> otherwise.
+ * @since DOM Level 2
+ */
+ public Document getContentDocument();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLImageElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,138 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Embedded image. See the IMG element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLImageElement extends HTMLElement {
+ /**
+ * URI designating the source of this image, for low-resolution output.
+ */
+ public String getLowSrc();
+ public void setLowSrc(String lowSrc);
+
+ /**
+ * The name of the element (for backwards compatibility).
+ */
+ public String getName();
+ public void setName(String name);
+
+ /**
+ * Aligns this object (vertically or horizontally) with respect to its
+ * surrounding text. See the align attribute definition in HTML 4.0.
+ * This attribute is deprecated in HTML 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+ /**
+ * Alternate text for user agents not rendering the normal content of
+ * this element. See the alt attribute definition in HTML 4.0.
+ */
+ public String getAlt();
+ public void setAlt(String alt);
+
+ /**
+ * Width of border around image. See the border attribute definition in
+ * HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getBorder();
+ public void setBorder(String border);
+
+ /**
+ * Override height. See the height attribute definition in HTML 4.0.
+ */
+ public String getHeight();
+ public void setHeight(String height);
+
+ /**
+ * Horizontal space to the left and right of this image. See the hspace
+ * attribute definition in HTML 4.0. This attribute is deprecated in HTML
+ * 4.0.
+ */
+ public String getHspace();
+ public void setHspace(String hspace);
+
+ /**
+ * Use server-side image map. See the ismap attribute definition in HTML
+ * 4.0.
+ */
+ public boolean getIsMap();
+ public void setIsMap(boolean isMap);
+
+ /**
+ * URI designating a long description of this image or frame. See the
+ * longdesc attribute definition in HTML 4.0.
+ */
+ public String getLongDesc();
+ public void setLongDesc(String longDesc);
+
+ /**
+ * URI designating the source of this image. See the src attribute
+ * definition in HTML 4.0.
+ */
+ public String getSrc();
+ public void setSrc(String src);
+
+ /**
+ * Use client-side image map. See the usemap attribute definition in
+ * HTML 4.0.
+ */
+ public String getUseMap();
+ public void setUseMap(String useMap);
+
+ /**
+ * Vertical space above and below this image. See the vspace attribute
+ * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getVspace();
+ public void setVspace(String vspace);
+
+ /**
+ * Override width. See the width attribute definition in HTML 4.0.
+ */
+ public String getWidth();
+ public void setWidth(String width);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLInputElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,225 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Form control. Note. Depending upon the environment in which the page is
+ * being viewed, the value property may be read-only for the file upload
+ * input type. For the "password" input type, the actual value returned may
+ * be masked to prevent unauthorized use. See the INPUT element definition
+ * in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLInputElement extends HTMLElement {
+ /**
+ * When the <code>type</code> attribute of the element has the value
+ * "Text", "File" or "Password", this represents the HTML value attribute
+ * of the element. The value of this attribute does not change if the
+ * contents of the corresponding form control, in an interactive user
+ * agent, changes. Changing this attribute, however, resets the contents
+ * of the form control. See the value attribute definition in HTML 4.0.
+ */
+ public String getDefaultValue();
+ public void setDefaultValue(String defaultValue);
+
+ /**
+ * When <code>type</code> has the value "Radio" or "Checkbox", this
+ * represents the HTML checked attribute of the element. The value of
+ * this attribute does not change if the state of the corresponding form
+ * control, in an interactive user agent, changes. Changes to this
+ * attribute, however, resets the state of the form control. See the
+ * checked attribute definition in HTML 4.0.
+ */
+ public boolean getDefaultChecked();
+ public void setDefaultChecked(boolean defaultChecked);
+
+ /**
+ * Returns the <code>FORM</code> element containing this control. Returns
+ * <code>null</code> if this control is not within the context of a form.
+ */
+ public HTMLFormElement getForm();
+
+ /**
+ * A comma-separated list of content types that a server processing this
+ * form will handle correctly. See the accept attribute definition in
+ * HTML 4.0.
+ */
+ public String getAccept();
+ public void setAccept(String accept);
+
+ /**
+ * A single character access key to give access to the form control. See
+ * the accesskey attribute definition in HTML 4.0.
+ */
+ public String getAccessKey();
+ public void setAccessKey(String accessKey);
+
+ /**
+ * Aligns this object (vertically or horizontally) with respect to its
+ * surrounding text. See the align attribute definition in HTML 4.0.
+ * This attribute is deprecated in HTML 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+ /**
+ * Alternate text for user agents not rendering the normal content of
+ * this element. See the alt attribute definition in HTML 4.0.
+ */
+ public String getAlt();
+ public void setAlt(String alt);
+
+ /**
+ * When the <code>type</code> attribute of the element has the value
+ * "Radio" or "Checkbox", this represents the current state of the form
+ * control, in an interactive user agent. Changes to this attribute
+ * change the state of the form control, but do not change the value of
+ * the HTML value attribute of the element.
+ */
+ public boolean getChecked();
+ public void setChecked(boolean checked);
+
+ /**
+ * The control is unavailable in this context. See the disabled
+ * attribute definition in HTML 4.0.
+ */
+ public boolean getDisabled();
+ public void setDisabled(boolean disabled);
+
+ /**
+ * Maximum number of characters for text fields, when <code>type</code>
+ * has the value "Text" or "Password". See the maxlength attribute
+ * definition in HTML 4.0.
+ */
+ public int getMaxLength();
+ public void setMaxLength(int maxLength);
+
+ /**
+ * Form control or object name when submitted with a form. See the name
+ * attribute definition in HTML 4.0.
+ */
+ public String getName();
+ public void setName(String name);
+
+ /**
+ * This control is read-only. Relevant only when <code>type</code> has
+ * the value "Text" or "Password". See the readonly attribute definition
+ * in HTML 4.0.
+ */
+ public boolean getReadOnly();
+ public void setReadOnly(boolean readOnly);
+
+ /**
+ * Size information. The precise meaning is specific to each type of
+ * field. See the size attribute definition in HTML 4.0.
+ */
+ public String getSize();
+ public void setSize(String size);
+
+ /**
+ * When the <code>type</code> attribute has the value "Image", this
+ * attribute specifies the location of the image to be used to decorate
+ * the graphical submit button. See the src attribute definition in HTML
+ * 4.0.
+ */
+ public String getSrc();
+ public void setSrc(String src);
+
+ /**
+ * Index that represents the element's position in the tabbing order. See
+ * the tabindex attribute definition in HTML 4.0.
+ */
+ public int getTabIndex();
+ public void setTabIndex(int tabIndex);
+
+ /**
+ * The type of control created. See the type attribute definition in
+ * HTML 4.0.
+ */
+ public String getType();
+
+ /**
+ * Use client-side image map. See the usemap attribute definition in
+ * HTML 4.0.
+ */
+ public String getUseMap();
+ public void setUseMap(String useMap);
+
+ /**
+ * When the <code>type</code> attribute of the element has the value
+ * "Text", "File" or "Password", this represents the current contents of
+ * the corresponding form control, in an interactive user agent. Changing
+ * this attribute changes the contents of the form control, but does not
+ * change the value of the HTML value attribute of the element. When the
+ * <code>type</code> attribute of the element has the value "Button",
+ * "Hidden", "Submit", "Reset", "Image", "Checkbox" or "Radio", this
+ * represents the HTML value attribute of the element. See the value
+ * attribute definition in HTML 4.0.
+ */
+ public String getValue();
+ public void setValue(String value);
+
+ /**
+ * Removes keyboard focus from this element.
+ */
+ public void blur();
+
+ /**
+ * Gives keyboard focus to this element.
+ */
+ public void focus();
+
+ /**
+ * Select the contents of the text area. For <code>INPUT</code> elements
+ * whose <code>type</code> attribute has one of the following values:
+ * "Text", "File", or "Password".
+ */
+ public void select();
+
+ /**
+ * Simulate a mouse-click. For <code>INPUT</code> elements whose
+ * <code>type</code> attribute has one of the following values: "Button",
+ * "Checkbox", "Radio", "Reset", or "Submit".
+ */
+ public void click();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLIsIndexElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,63 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * This element is used for single-line text input. See the ISINDEX element
+ * definition in HTML 4.0. This element is deprecated in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLIsIndexElement extends HTMLElement {
+ /**
+ * Returns the <code>FORM</code> element containing this control. Returns
+ * <code>null</code> if this control is not within the context of a form.
+ */
+ public HTMLFormElement getForm();
+
+ /**
+ * The prompt message. See the prompt attribute definition in HTML 4.0.
+ * This attribute is deprecated in HTML 4.0.
+ */
+ public String getPrompt();
+ public void setPrompt(String prompt);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLLIElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,64 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * List item. See the LI element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLLIElement extends HTMLElement {
+ /**
+ * List item bullet style. See the type attribute definition in HTML
+ * 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getType();
+ public void setType(String type);
+
+ /**
+ * Reset sequence number when used in <code>OL</code> . See the value
+ * attribute definition in HTML 4.0. This attribute is deprecated in HTML
+ * 4.0.
+ */
+ public int getValue();
+ public void setValue(int value);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLLabelElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,70 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Form field label text. See the LABEL element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLLabelElement extends HTMLElement {
+ /**
+ * Returns the <code>FORM</code> element containing this control. Returns
+ * <code>null</code> if this control is not within the context of a form.
+ */
+ public HTMLFormElement getForm();
+
+ /**
+ * A single character access key to give access to the form control. See
+ * the accesskey attribute definition in HTML 4.0.
+ */
+ public String getAccessKey();
+ public void setAccessKey(String accessKey);
+
+ /**
+ * This attribute links this label with another form control by
+ * <code>id</code> attribute. See the for attribute definition in HTML
+ * 4.0.
+ */
+ public String getHtmlFor();
+ public void setHtmlFor(String htmlFor);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLLegendElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,71 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Provides a caption for a <code>FIELDSET</code> grouping. See the LEGEND
+ * element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLLegendElement extends HTMLElement {
+ /**
+ * Returns the <code>FORM</code> element containing this control. Returns
+ * <code>null</code> if this control is not within the context of a form.
+ */
+ public HTMLFormElement getForm();
+
+ /**
+ * A single character access key to give access to the form control. See
+ * the accesskey attribute definition in HTML 4.0.
+ */
+ public String getAccessKey();
+ public void setAccessKey(String accessKey);
+
+ /**
+ * Text alignment relative to <code>FIELDSET</code> . See the align
+ * attribute definition in HTML 4.0. This attribute is deprecated in HTML
+ * 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLLinkElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,112 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * The <code>LINK</code> element specifies a link to an external resource,
+ * and defines this document's relationship to that resource (or vice versa).
+ * See the LINK element definition in HTML 4.0 (see also the
+ * <code>LinkStyle</code> interface in the module).
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLLinkElement extends HTMLElement {
+ /**
+ * Enables/disables the link. This is currently only used for style sheet
+ * links, and may be used to activate or deactivate style sheets.
+ */
+ public boolean getDisabled();
+ public void setDisabled(boolean disabled);
+
+ /**
+ * The character encoding of the resource being linked to. See the
+ * charset attribute definition in HTML 4.0.
+ */
+ public String getCharset();
+ public void setCharset(String charset);
+
+ /**
+ * The URI of the linked resource. See the href attribute definition in
+ * HTML 4.0.
+ */
+ public String getHref();
+ public void setHref(String href);
+
+ /**
+ * Language code of the linked resource. See the hreflang attribute
+ * definition in HTML 4.0.
+ */
+ public String getHreflang();
+ public void setHreflang(String hreflang);
+
+ /**
+ * Designed for use with one or more target media. See the media
+ * attribute definition in HTML 4.0.
+ */
+ public String getMedia();
+ public void setMedia(String media);
+
+ /**
+ * Forward link type. See the rel attribute definition in HTML 4.0.
+ */
+ public String getRel();
+ public void setRel(String rel);
+
+ /**
+ * Reverse link type. See the rev attribute definition in HTML 4.0.
+ */
+ public String getRev();
+ public void setRev(String rev);
+
+ /**
+ * Frame to render the resource in. See the target attribute definition
+ * in HTML 4.0.
+ */
+ public String getTarget();
+ public void setTarget(String target);
+
+ /**
+ * Advisory content type. See the type attribute definition in HTML 4.0.
+ */
+ public String getType();
+ public void setType(String type);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLMapElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,61 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Client-side image map. See the MAP element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLMapElement extends HTMLElement {
+ /**
+ * The list of areas defined for the image map.
+ */
+ public HTMLCollection getAreas();
+
+ /**
+ * Names the map (for use with <code>usemap</code> ). See the name
+ * attribute definition in HTML 4.0.
+ */
+ public String getName();
+ public void setName(String name);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLMenuElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,57 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Menu list. See the MENU element definition in HTML 4.0. This element is
+ * deprecated in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLMenuElement extends HTMLElement {
+ /**
+ * Reduce spacing between list items. See the compact attribute
+ * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public boolean getCompact();
+ public void setCompact(boolean compact);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLMetaElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,77 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * This contains generic meta-information about the document. See the META
+ * element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLMetaElement extends HTMLElement {
+ /**
+ * Associated information. See the content attribute definition in HTML
+ * 4.0.
+ */
+ public String getContent();
+ public void setContent(String content);
+
+ /**
+ * HTTP response header name. See the http-equiv attribute definition in
+ * HTML 4.0.
+ */
+ public String getHttpEquiv();
+ public void setHttpEquiv(String httpEquiv);
+
+ /**
+ * Meta information name. See the name attribute definition in HTML 4.0.
+ */
+ public String getName();
+ public void setName(String name);
+
+ /**
+ * Select form of content. See the scheme attribute definition in HTML
+ * 4.0.
+ */
+ public String getScheme();
+ public void setScheme(String scheme);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLModElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,64 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Notice of modification to part of a document. See the INS and DEL
+ * element definitions in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLModElement extends HTMLElement {
+ /**
+ * A URI designating a document that describes the reason for the change.
+ * See the cite attribute definition in HTML 4.0.
+ */
+ public String getCite();
+ public void setCite(String cite);
+
+ /**
+ * The date and time of the change. See the datetime attribute definition
+ * in HTML 4.0.
+ */
+ public String getDateTime();
+ public void setDateTime(String dateTime);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLOListElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,70 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Ordered list. See the OL element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLOListElement extends HTMLElement {
+ /**
+ * Reduce spacing between list items. See the compact attribute
+ * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public boolean getCompact();
+ public void setCompact(boolean compact);
+
+ /**
+ * Starting sequence number. See the start attribute definition in HTML
+ * 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public int getStart();
+ public void setStart(int start);
+
+ /**
+ * Numbering style. See the type attribute definition in HTML 4.0. This
+ * attribute is deprecated in HTML 4.0.
+ */
+ public String getType();
+ public void setType(String type);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLObjectElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,188 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+import org.w3c.dom.Document;
+
+/**
+ * Generic embedded object. Note. In principle, all properties on the object
+ * element are read-write but in some environments some properties may be
+ * read-only once the underlying object is instantiated. See the OBJECT
+ * element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLObjectElement extends HTMLElement {
+ /**
+ * Returns the <code>FORM</code> element containing this control. Returns
+ * <code>null</code> if this control is not within the context of a form.
+ */
+ public HTMLFormElement getForm();
+
+ /**
+ * Applet class file. See the <code>code</code> attribute for
+ * HTMLAppletElement.
+ */
+ public String getCode();
+ public void setCode(String code);
+
+ /**
+ * Aligns this object (vertically or horizontally) with respect to its
+ * surrounding text. See the align attribute definition in HTML 4.0.
+ * This attribute is deprecated in HTML 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+ /**
+ * Space-separated list of archives. See the archive attribute definition
+ * in HTML 4.0.
+ */
+ public String getArchive();
+ public void setArchive(String archive);
+
+ /**
+ * Width of border around the object. See the border attribute definition
+ * in HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getBorder();
+ public void setBorder(String border);
+
+ /**
+ * Base URI for <code>classid</code> , <code>data</code> , and
+ * <code>archive</code> attributes. See the codebase attribute definition
+ * in HTML 4.0.
+ */
+ public String getCodeBase();
+ public void setCodeBase(String codeBase);
+
+ /**
+ * Content type for data downloaded via <code>classid</code> attribute.
+ * See the codetype attribute definition in HTML 4.0.
+ */
+ public String getCodeType();
+ public void setCodeType(String codeType);
+
+ /**
+ * A URI specifying the location of the object's data. See the data
+ * attribute definition in HTML 4.0.
+ */
+ public String getData();
+ public void setData(String data);
+
+ /**
+ * Declare (for future reference), but do not instantiate, this object.
+ * See the declare attribute definition in HTML 4.0.
+ */
+ public boolean getDeclare();
+ public void setDeclare(boolean declare);
+
+ /**
+ * Override height. See the height attribute definition in HTML 4.0.
+ */
+ public String getHeight();
+ public void setHeight(String height);
+
+ /**
+ * Horizontal space to the left and right of this image, applet, or
+ * object. See the hspace attribute definition in HTML 4.0. This
+ * attribute is deprecated in HTML 4.0.
+ */
+ public String getHspace();
+ public void setHspace(String hspace);
+
+ /**
+ * Form control or object name when submitted with a form. See the name
+ * attribute definition in HTML 4.0.
+ */
+ public String getName();
+ public void setName(String name);
+
+ /**
+ * Message to render while loading the object. See the standby attribute
+ * definition in HTML 4.0.
+ */
+ public String getStandby();
+ public void setStandby(String standby);
+
+ /**
+ * Index that represents the element's position in the tabbing order. See
+ * the tabindex attribute definition in HTML 4.0.
+ */
+ public int getTabIndex();
+ public void setTabIndex(int tabIndex);
+
+ /**
+ * Content type for data downloaded via <code>data</code> attribute. See
+ * the type attribute definition in HTML 4.0.
+ */
+ public String getType();
+ public void setType(String type);
+
+ /**
+ * Use client-side image map. See the usemap attribute definition in
+ * HTML 4.0.
+ */
+ public String getUseMap();
+ public void setUseMap(String useMap);
+
+ /**
+ * Vertical space above and below this image, applet, or object. See the
+ * vspace attribute definition in HTML 4.0. This attribute is deprecated
+ * in HTML 4.0.
+ */
+ public String getVspace();
+ public void setVspace(String vspace);
+
+ /**
+ * Override width. See the width attribute definition in HTML 4.0.
+ */
+ public String getWidth();
+ public void setWidth(String width);
+
+ /**
+ * The document this object contains, if there is any and it is
+ * available, or <code>null</code> otherwise.
+ * @since DOM Level 2
+ */
+ public Document getContentDocument();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLOptGroupElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,64 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Group options together in logical subdivisions. See the OPTGROUP element
+ * definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLOptGroupElement extends HTMLElement {
+ /**
+ * The control is unavailable in this context. See the disabled
+ * attribute definition in HTML 4.0.
+ */
+ public boolean getDisabled();
+ public void setDisabled(boolean disabled);
+
+ /**
+ * Assigns a label to this option group. See the label attribute
+ * definition in HTML 4.0.
+ */
+ public String getLabel();
+ public void setLabel(String label);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLOptionElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,106 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * A selectable choice. See the OPTION element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLOptionElement extends HTMLElement {
+ /**
+ * Returns the <code>FORM</code> element containing this control. Returns
+ * <code>null</code> if this control is not within the context of a form.
+ */
+ public HTMLFormElement getForm();
+
+ /**
+ * Represents the value of the HTML selected attribute. The value of this
+ * attribute does not change if the state of the corresponding form
+ * control, in an interactive user agent, changes. Changing
+ * <code>defaultSelected</code> , however, resets the state of the form
+ * control. See the selected attribute definition in HTML 4.0.
+ */
+ public boolean getDefaultSelected();
+ public void setDefaultSelected(boolean defaultSelected);
+
+ /**
+ * The text contained within the option element.
+ */
+ public String getText();
+
+ /**
+ * The index of this <code>OPTION</code> in its parent <code>SELECT</code>
+ * , starting from 0.
+ */
+ public int getIndex();
+
+ /**
+ * The control is unavailable in this context. See the disabled
+ * attribute definition in HTML 4.0.
+ */
+ public boolean getDisabled();
+ public void setDisabled(boolean disabled);
+
+ /**
+ * Option label for use in hierarchical menus. See the label attribute
+ * definition in HTML 4.0.
+ */
+ public String getLabel();
+ public void setLabel(String label);
+
+ /**
+ * Represents the current state of the corresponding form control, in an
+ * interactive user agent. Changing this attribute changes the state of
+ * the form control, but does not change the value of the HTML selected
+ * attribute of the element.
+ */
+ public boolean getSelected();
+ public void setSelected(boolean selected);
+
+ /**
+ * The current form control value. See the value attribute definition in
+ * HTML 4.0.
+ */
+ public String getValue();
+ public void setValue(String value);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLParagraphElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,56 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Paragraphs. See the P element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLParagraphElement extends HTMLElement {
+ /**
+ * Horizontal text alignment. See the align attribute definition in HTML
+ * 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLParamElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,79 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Parameters fed to the <code>OBJECT</code> element. See the PARAM element
+ * definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLParamElement extends HTMLElement {
+ /**
+ * The name of a run-time parameter. See the name attribute definition
+ * in HTML 4.0.
+ */
+ public String getName();
+ public void setName(String name);
+
+ /**
+ * Content type for the <code>value</code> attribute when
+ * <code>valuetype</code> has the value "ref". See the type attribute
+ * definition in HTML 4.0.
+ */
+ public String getType();
+ public void setType(String type);
+
+ /**
+ * The value of a run-time parameter. See the value attribute definition
+ * in HTML 4.0.
+ */
+ public String getValue();
+ public void setValue(String value);
+
+ /**
+ * Information about the meaning of the <code>value</code> attribute
+ * value. See the valuetype attribute definition in HTML 4.0.
+ */
+ public String getValueType();
+ public void setValueType(String valueType);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLPreElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,56 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Preformatted text. See the PRE element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLPreElement extends HTMLElement {
+ /**
+ * Fixed width for content. See the width attribute definition in HTML
+ * 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public int getWidth();
+ public void setWidth(int width);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLQuoteElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,57 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * For the <code>Q</code> and <code>BLOCKQUOTE</code> elements. See the Q
+ * element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLQuoteElement extends HTMLElement {
+ /**
+ * A URI designating a source document or message. See the cite
+ * attribute definition in HTML 4.0.
+ */
+ public String getCite();
+ public void setCite(String cite);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLScriptElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,95 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Script statements. See the SCRIPT element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLScriptElement extends HTMLElement {
+ /**
+ * The script content of the element.
+ */
+ public String getText();
+ public void setText(String text);
+
+ /**
+ * Reserved for future use.
+ */
+ public String getHtmlFor();
+ public void setHtmlFor(String htmlFor);
+
+ /**
+ * Reserved for future use.
+ */
+ public String getEvent();
+ public void setEvent(String event);
+
+ /**
+ * The character encoding of the linked resource. See the charset
+ * attribute definition in HTML 4.0.
+ */
+ public String getCharset();
+ public void setCharset(String charset);
+
+ /**
+ * Indicates that the user agent can defer processing of the script. See
+ * the defer attribute definition in HTML 4.0.
+ */
+ public boolean getDefer();
+ public void setDefer(boolean defer);
+
+ /**
+ * URI designating an external script. See the src attribute definition
+ * in HTML 4.0.
+ */
+ public String getSrc();
+ public void setSrc(String src);
+
+ /**
+ * The content type of the script language. See the type attribute
+ * definition in HTML 4.0.
+ */
+ public String getType();
+ public void setType(String type);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLSelectElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,162 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+import org.w3c.dom.DOMException;
+
+/**
+ * The select element allows the selection of an option. The contained
+ * options can be directly accessed through the select element as a
+ * collection. See the SELECT element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLSelectElement extends HTMLElement {
+ /**
+ * The type of this form control. This is the string "select-multiple"
+ * when the multiple attribute is <code>true</code> and the string
+ * "select-one" when <code>false</code> .
+ */
+ public String getType();
+
+ /**
+ * The ordinal index of the selected option, starting from 0. The value
+ * -1 is returned if no element is selected. If multiple options are
+ * selected, the index of the first selected option is returned.
+ */
+ public int getSelectedIndex();
+ public void setSelectedIndex(int selectedIndex);
+
+ /**
+ * The current form control value.
+ */
+ public String getValue();
+ public void setValue(String value);
+
+ /**
+ * The number of options in this <code>SELECT</code> .
+ */
+ public int getLength();
+
+ /**
+ * Returns the <code>FORM</code> element containing this control. Returns
+ * <code>null</code> if this control is not within the context of a form.
+ */
+ public HTMLFormElement getForm();
+
+ /**
+ * The collection of <code>OPTION</code> elements contained by this
+ * element.
+ */
+ public HTMLCollection getOptions();
+
+ /**
+ * The control is unavailable in this context. See the disabled
+ * attribute definition in HTML 4.0.
+ */
+ public boolean getDisabled();
+ public void setDisabled(boolean disabled);
+
+ /**
+ * If true, multiple <code>OPTION</code> elements may be selected in
+ * this <code>SELECT</code> . See the multiple attribute definition in
+ * HTML 4.0.
+ */
+ public boolean getMultiple();
+ public void setMultiple(boolean multiple);
+
+ /**
+ * Form control or object name when submitted with a form. See the name
+ * attribute definition in HTML 4.0.
+ */
+ public String getName();
+ public void setName(String name);
+
+ /**
+ * Number of visible rows. See the size attribute definition in HTML 4.0.
+ */
+ public int getSize();
+ public void setSize(int size);
+
+ /**
+ * Index that represents the element's position in the tabbing order. See
+ * the tabindex attribute definition in HTML 4.0.
+ */
+ public int getTabIndex();
+ public void setTabIndex(int tabIndex);
+
+ /**
+ * Add a new element to the collection of <code>OPTION</code> elements
+ * for this <code>SELECT</code> . This method is the equivalent of the
+ * <code>appendChild</code> method of the <code>Node</code> interface if
+ * the <code>before</code> parameter is <code>null</code> . It is
+ * equivalent to the <code>insertBefore</code> method on the parent of
+ * <code>before</code> in all other cases.
+ * @param element The element to add.
+ * @param before The element to insert before, or <code>null</code> for
+ * the tail of the list.
+ * @exception DOMException
+ * NOT_FOUND_ERR: Raised if <code>before</code> is not a descendant of
+ * the <code>SELECT</code> element.
+ */
+ public void add(HTMLElement element,
+ HTMLElement before)
+ throws DOMException;
+
+ /**
+ * Remove an element from the collection of <code>OPTION</code> elements
+ * for this <code>SELECT</code> . Does nothing if no element has the given
+ * index.
+ * @param index The index of the item to remove, starting from 0.
+ */
+ public void remove(int index);
+
+ /**
+ * Removes keyboard focus from this element.
+ */
+ public void blur();
+
+ /**
+ * Gives keyboard focus to this element.
+ */
+ public void focus();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLStyleElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,70 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Style information. See the STYLE element definition in HTML 4.0, the
+ * module and the <code>LinkStyle</code> interface in the module.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLStyleElement extends HTMLElement {
+ /**
+ * Enables/disables the style sheet.
+ */
+ public boolean getDisabled();
+ public void setDisabled(boolean disabled);
+
+ /**
+ * Designed for use with one or more target media. See the media
+ * attribute definition in HTML 4.0.
+ */
+ public String getMedia();
+ public void setMedia(String media);
+
+ /**
+ * The content type pf the style sheet language. See the type attribute
+ * definition in HTML 4.0.
+ */
+ public String getType();
+ public void setType(String type);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLTableCaptionElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,56 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Table caption See the CAPTION element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLTableCaptionElement extends HTMLElement {
+ /**
+ * Caption alignment with respect to the table. See the align attribute
+ * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLTableCellElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,154 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * The object used to represent the <code>TH</code> and <code>TD</code>
+ * elements. See the TD element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLTableCellElement extends HTMLElement {
+ /**
+ * The index of this cell in the row, starting from 0. This index is in
+ * document tree order and not display order.
+ */
+ public int getCellIndex();
+
+ /**
+ * Abbreviation for header cells. See the abbr attribute definition in
+ * HTML 4.0.
+ */
+ public String getAbbr();
+ public void setAbbr(String abbr);
+
+ /**
+ * Horizontal alignment of data in cell. See the align attribute
+ * definition in HTML 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+ /**
+ * Names group of related headers. See the axis attribute definition in
+ * HTML 4.0.
+ */
+ public String getAxis();
+ public void setAxis(String axis);
+
+ /**
+ * Cell background color. See the bgcolor attribute definition in HTML
+ * 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getBgColor();
+ public void setBgColor(String bgColor);
+
+ /**
+ * Alignment character for cells in a column. See the char attribute
+ * definition in HTML 4.0.
+ */
+ public String getCh();
+ public void setCh(String ch);
+
+ /**
+ * Offset of alignment character. See the charoff attribute definition
+ * in HTML 4.0.
+ */
+ public String getChOff();
+ public void setChOff(String chOff);
+
+ /**
+ * Number of columns spanned by cell. See the colspan attribute
+ * definition in HTML 4.0.
+ */
+ public int getColSpan();
+ public void setColSpan(int colSpan);
+
+ /**
+ * List of <code>id</code> attribute values for header cells. See the
+ * headers attribute definition in HTML 4.0.
+ */
+ public String getHeaders();
+ public void setHeaders(String headers);
+
+ /**
+ * Cell height. See the height attribute definition in HTML 4.0. This
+ * attribute is deprecated in HTML 4.0.
+ */
+ public String getHeight();
+ public void setHeight(String height);
+
+ /**
+ * Suppress word wrapping. See the nowrap attribute definition in HTML
+ * 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public boolean getNoWrap();
+ public void setNoWrap(boolean noWrap);
+
+ /**
+ * Number of rows spanned by cell. See the rowspan attribute definition
+ * in HTML 4.0.
+ */
+ public int getRowSpan();
+ public void setRowSpan(int rowSpan);
+
+ /**
+ * Scope covered by header cells. See the scope attribute definition in
+ * HTML 4.0.
+ */
+ public String getScope();
+ public void setScope(String scope);
+
+ /**
+ * Vertical alignment of data in cell. See the valign attribute
+ * definition in HTML 4.0.
+ */
+ public String getVAlign();
+ public void setVAlign(String vAlign);
+
+ /**
+ * Cell width. See the width attribute definition in HTML 4.0. This
+ * attribute is deprecated in HTML 4.0.
+ */
+ public String getWidth();
+ public void setWidth(String width);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLTableColElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,91 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Regroups the <code>COL</code> and <code>COLGROUP</code> elements. See the
+ * COL element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLTableColElement extends HTMLElement {
+ /**
+ * Horizontal alignment of cell data in column. See the align attribute
+ * definition in HTML 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+ /**
+ * Alignment character for cells in a column. See the char attribute
+ * definition in HTML 4.0.
+ */
+ public String getCh();
+ public void setCh(String ch);
+
+ /**
+ * Offset of alignment character. See the charoff attribute definition
+ * in HTML 4.0.
+ */
+ public String getChOff();
+ public void setChOff(String chOff);
+
+ /**
+ * Indicates the number of columns in a group or affected by a grouping.
+ * See the span attribute definition in HTML 4.0.
+ */
+ public int getSpan();
+ public void setSpan(int span);
+
+ /**
+ * Vertical alignment of cell data in column. See the valign attribute
+ * definition in HTML 4.0.
+ */
+ public String getVAlign();
+ public void setVAlign(String vAlign);
+
+ /**
+ * Default column width. See the width attribute definition in HTML 4.0.
+ */
+ public String getWidth();
+ public void setWidth(String width);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLTableElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,217 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+import org.w3c.dom.DOMException;
+
+/**
+ * The create* and delete* methods on the table allow authors to construct
+ * and modify tables. HTML 4.0 specifies that only one of each of the
+ * <code>CAPTION</code> , <code>THEAD</code> , and <code>TFOOT</code>
+ * elements may exist in a table. Therefore, if one exists, and the
+ * createTHead() or createTFoot() method is called, the method returns the
+ * existing THead or TFoot element. See the TABLE element definition in HTML
+ * 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLTableElement extends HTMLElement {
+ /**
+ * Returns the table's <code>CAPTION</code> , or void if none exists.
+ */
+ public HTMLTableCaptionElement getCaption();
+ public void setCaption(HTMLTableCaptionElement caption);
+
+ /**
+ * Returns the table's <code>THEAD</code> , or <code>null</code> if none
+ * exists.
+ */
+ public HTMLTableSectionElement getTHead();
+ public void setTHead(HTMLTableSectionElement tHead);
+
+ /**
+ * Returns the table's <code>TFOOT</code> , or <code>null</code> if none
+ * exists.
+ */
+ public HTMLTableSectionElement getTFoot();
+ public void setTFoot(HTMLTableSectionElement tFoot);
+
+ /**
+ * Returns a collection of all the rows in the table, including all in
+ * <code>THEAD</code> , <code>TFOOT</code> , all <code>TBODY</code>
+ * elements.
+ */
+ public HTMLCollection getRows();
+
+ /**
+ * Returns a collection of the defined table bodies.
+ */
+ public HTMLCollection getTBodies();
+
+ /**
+ * Specifies the table's position with respect to the rest of the
+ * document. See the align attribute definition in HTML 4.0. This
+ * attribute is deprecated in HTML 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+ /**
+ * Cell background color. See the bgcolor attribute definition in HTML
+ * 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getBgColor();
+ public void setBgColor(String bgColor);
+
+ /**
+ * The width of the border around the table. See the border attribute
+ * definition in HTML 4.0.
+ */
+ public String getBorder();
+ public void setBorder(String border);
+
+ /**
+ * Specifies the horizontal and vertical space between cell content and
+ * cell borders. See the cellpadding attribute definition in HTML 4.0.
+ */
+ public String getCellPadding();
+ public void setCellPadding(String cellPadding);
+
+ /**
+ * Specifies the horizontal and vertical separation between cells. See
+ * the cellspacing attribute definition in HTML 4.0.
+ */
+ public String getCellSpacing();
+ public void setCellSpacing(String cellSpacing);
+
+ /**
+ * Specifies which external table borders to render. See the frame
+ * attribute definition in HTML 4.0.
+ */
+ public String getFrame();
+ public void setFrame(String frame);
+
+ /**
+ * Specifies which internal table borders to render. See the rules
+ * attribute definition in HTML 4.0.
+ */
+ public String getRules();
+ public void setRules(String rules);
+
+ /**
+ * Description about the purpose or structure of a table. See the
+ * summary attribute definition in HTML 4.0.
+ */
+ public String getSummary();
+ public void setSummary(String summary);
+
+ /**
+ * Specifies the desired table width. See the width attribute definition
+ * in HTML 4.0.
+ */
+ public String getWidth();
+ public void setWidth(String width);
+
+ /**
+ * Create a table header row or return an existing one.
+ * @return A new table header element (<code>THEAD</code> ).
+ */
+ public HTMLElement createTHead();
+
+ /**
+ * Delete the header from the table, if one exists.
+ */
+ public void deleteTHead();
+
+ /**
+ * Create a table footer row or return an existing one.
+ * @return A footer element (<code>TFOOT</code> ).
+ */
+ public HTMLElement createTFoot();
+
+ /**
+ * Delete the footer from the table, if one exists.
+ */
+ public void deleteTFoot();
+
+ /**
+ * Create a new table caption object or return an existing one.
+ * @return A <code>CAPTION</code> element.
+ */
+ public HTMLElement createCaption();
+
+ /**
+ * Delete the table caption, if one exists.
+ */
+ public void deleteCaption();
+
+ /**
+ * Insert a new empty row in the table. The new row is inserted
+ * immediately before and in the same section as the current
+ * <code>index</code> th row in the table. If <code>index</code> is equal
+ * to the number of rows, the new row is appended. In addition, when the
+ * table is empty the row is inserted into a <code>TBODY</code> which is
+ * created and inserted into the table. Note. A table row cannot be empty
+ * according to HTML 4.0 Recommendation.
+ * @param index The row number where to insert a new row. This index
+ * starts from 0 and is relative to all the rows contained inside the
+ * table, regardless of section parentage.
+ * @return The newly created row.
+ * @exception DOMException
+ * INDEX_SIZE_ERR: Raised if the specified index is greater than the
+ * number of rows or if the index is negative.
+ */
+ public HTMLElement insertRow(int index)
+ throws DOMException;
+
+ /**
+ * Delete a table row.
+ * @param index The index of the row to be deleted. This index starts
+ * from 0 and is relative to all the rows contained inside the table,
+ * regardless of section parentage.
+ * @exception DOMException
+ * INDEX_SIZE_ERR: Raised if the specified index is greater than or
+ * equal to the number of rows or if the index is negative.
+ */
+ public void deleteRow(int index)
+ throws DOMException;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLTableRowElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,131 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+import org.w3c.dom.DOMException;
+
+/**
+ * A row in a table. See the TR element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLTableRowElement extends HTMLElement {
+ /**
+ * The index of this row, relative to the entire table, starting from 0.
+ * This is in document tree order and not display order. The
+ * <code>rowIndex</code> does not take into account sections (
+ * <code>THEAD</code> , <code>TFOOT</code> , or <code>TBODY</code> )
+ * within the table.
+ */
+ public int getRowIndex();
+
+ /**
+ * The index of this row, relative to the current section (
+ * <code>THEAD</code> , <code>TFOOT</code> , or <code>TBODY</code> ),
+ * starting from 0.
+ */
+ public int getSectionRowIndex();
+
+ /**
+ * The collection of cells in this row.
+ */
+ public HTMLCollection getCells();
+
+ /**
+ * Horizontal alignment of data within cells of this row. See the align
+ * attribute definition in HTML 4.0.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+ /**
+ * Background color for rows. See the bgcolor attribute definition in
+ * HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public String getBgColor();
+ public void setBgColor(String bgColor);
+
+ /**
+ * Alignment character for cells in a column. See the char attribute
+ * definition in HTML 4.0.
+ */
+ public String getCh();
+ public void setCh(String ch);
+
+ /**
+ * Offset of alignment character. See the charoff attribute definition
+ * in HTML 4.0.
+ */
+ public String getChOff();
+ public void setChOff(String chOff);
+
+ /**
+ * Vertical alignment of data within cells of this row. See the valign
+ * attribute definition in HTML 4.0.
+ */
+ public String getVAlign();
+ public void setVAlign(String vAlign);
+
+ /**
+ * Insert an empty <code>TD</code> cell into this row. If
+ * <code>index</code> is equal to the number of cells, the new cell is
+ * appended
+ * @param index The place to insert the cell, starting from 0.
+ * @return The newly created cell.
+ * @exception DOMException
+ * INDEX_SIZE_ERR: Raised if the specified <code>index</code> is
+ * greater than the number of cells or if the index is negative.
+ */
+ public HTMLElement insertCell(int index)
+ throws DOMException;
+
+ /**
+ * Delete a cell from the current row.
+ * @param index The index of the cell to delete, starting from 0.
+ * @exception DOMException
+ * INDEX_SIZE_ERR: Raised if the specified <code>index</code> is
+ * greater than or equal to the number of cells or if the index is
+ * negative.
+ */
+ public void deleteCell(int index)
+ throws DOMException;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLTableSectionElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,113 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+import org.w3c.dom.DOMException;
+
+/**
+ * The <code>THEAD</code> , <code>TFOOT</code> , and <code>TBODY</code>
+ * elements.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLTableSectionElement extends HTMLElement {
+ /**
+ * Horizontal alignment of data in cells. See the <code>align</code>
+ * attribute for HTMLTheadElement for details.
+ */
+ public String getAlign();
+ public void setAlign(String align);
+
+ /**
+ * Alignment character for cells in a column. See the char attribute
+ * definition in HTML 4.0.
+ */
+ public String getCh();
+ public void setCh(String ch);
+
+ /**
+ * Offset of alignment character. See the charoff attribute definition
+ * in HTML 4.0.
+ */
+ public String getChOff();
+ public void setChOff(String chOff);
+
+ /**
+ * Vertical alignment of data in cells. See the <code>valign</code>
+ * attribute for HTMLTheadElement for details.
+ */
+ public String getVAlign();
+ public void setVAlign(String vAlign);
+
+ /**
+ * The collection of rows in this table section.
+ */
+ public HTMLCollection getRows();
+
+ /**
+ * Insert a row into this section. The new row is inserted immediately
+ * before the current <code>index</code> th row in this section. If
+ * <code>index</code> is equal to the number of rows in this section, the
+ * new row is appended.
+ * @param index The row number where to insert a new row. This index
+ * starts from 0 and is relative only to the rows contained inside this
+ * section, not all the rows in the table.
+ * @return The newly created row.
+ * @exception DOMException
+ * INDEX_SIZE_ERR: Raised if the specified index is greater than the
+ * number of rows of if the index is neagative.
+ */
+ public HTMLElement insertRow(int index)
+ throws DOMException;
+
+ /**
+ * Delete a row from this section.
+ * @param index The index of the row to be deleted. This index starts
+ * from 0 and is relative only to the rows contained inside this
+ * section, not all the rows in the table.
+ * @exception DOMException
+ * INDEX_SIZE_ERR: Raised if the specified index is greater than or
+ * equal to the number of rows or if the index is negative.
+ */
+ public void deleteRow(int index)
+ throws DOMException;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLTextAreaElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,142 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Multi-line text field. See the TEXTAREA element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLTextAreaElement extends HTMLElement {
+ /**
+ * Represents the contents of the element. The value of this attribute
+ * does not change if the contents of the corresponding form control, in
+ * an interactive user agent, changes. Changing this attribute, however,
+ * resets the contents of the form control.
+ */
+ public String getDefaultValue();
+ public void setDefaultValue(String defaultValue);
+
+ /**
+ * Returns the <code>FORM</code> element containing this control. Returns
+ * <code>null</code> if this control is not within the context of a form.
+ */
+ public HTMLFormElement getForm();
+
+ /**
+ * A single character access key to give access to the form control. See
+ * the accesskey attribute definition in HTML 4.0.
+ */
+ public String getAccessKey();
+ public void setAccessKey(String accessKey);
+
+ /**
+ * Width of control (in characters). See the cols attribute definition
+ * in HTML 4.0.
+ */
+ public int getCols();
+ public void setCols(int cols);
+
+ /**
+ * The control is unavailable in this context. See the disabled
+ * attribute definition in HTML 4.0.
+ */
+ public boolean getDisabled();
+ public void setDisabled(boolean disabled);
+
+ /**
+ * Form control or object name when submitted with a form. See the name
+ * attribute definition in HTML 4.0.
+ */
+ public String getName();
+ public void setName(String name);
+
+ /**
+ * This control is read-only. See the readonly attribute definition in
+ * HTML 4.0.
+ */
+ public boolean getReadOnly();
+ public void setReadOnly(boolean readOnly);
+
+ /**
+ * Number of text rows. See the rows attribute definition in HTML 4.0.
+ */
+ public int getRows();
+ public void setRows(int rows);
+
+ /**
+ * Index that represents the element's position in the tabbing order. See
+ * the tabindex attribute definition in HTML 4.0.
+ */
+ public int getTabIndex();
+ public void setTabIndex(int tabIndex);
+
+ /**
+ * The type of this form control. This the string "textarea".
+ */
+ public String getType();
+
+ /**
+ * Represents the current contents of the corresponding form control, in
+ * an interactive user agent. Changing this attribute changes the
+ * contents of the form control, but does not change the contents of the
+ * element. If the entirety of the data can not fit into a single
+ * <code>DOMString</code> , the implementation may truncate the data.
+ */
+ public String getValue();
+ public void setValue(String value);
+
+ /**
+ * Removes keyboard focus from this element.
+ */
+ public void blur();
+
+ /**
+ * Gives keyboard focus to this element.
+ */
+ public void focus();
+
+ /**
+ * Select the contents of the <code>TEXTAREA</code> .
+ */
+ public void select();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLTitleElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,55 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * The document title. See the TITLE element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLTitleElement extends HTMLElement {
+ /**
+ * The specified title as a string.
+ */
+ public String getText();
+ public void setText(String text);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/html/HTMLUListElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,63 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
+ * details.
+ */
+
+package org.w3c.dom.html;
+
+/**
+ * Unordered list. See the UL element definition in HTML 4.0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
+ */
+public interface HTMLUListElement extends HTMLElement {
+ /**
+ * Reduce spacing between list items. See the compact attribute
+ * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
+ */
+ public boolean getCompact();
+ public void setCompact(boolean compact);
+
+ /**
+ * Bullet style. See the type attribute definition in HTML 4.0. This
+ * attribute is deprecated in HTML 4.0.
+ */
+ public String getType();
+ public void setType(String type);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/stylesheets/DocumentStyle.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,63 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.stylesheets;
+
+/**
+ * The <code>DocumentStyle</code> interface provides a mechanism by which the
+ * style sheets embedded in a document can be retrieved. The expectation is
+ * that an instance of the <code>DocumentStyle</code> interface can be
+ * obtained by using binding-specific casting methods on an instance of the
+ * <code>Document</code> interface.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface DocumentStyle {
+ /**
+ * A list containing all the style sheets explicitly linked into or
+ * embedded in a document. For HTML documents, this includes external
+ * style sheets, included via the HTML LINK element, and inline STYLE
+ * elements. In XML, this includes external style sheets, included via
+ * style sheet processing instructions (see [XML StyleSheet]).
+ */
+ public StyleSheetList getStyleSheets();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/stylesheets/LinkStyle.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,60 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.stylesheets;
+
+/**
+ * The <code>LinkStyle</code> interface provides a mechanism by which a style
+ * sheet can be retrieved from the node responsible for linking it into a
+ * document. An instance of the <code>LinkStyle</code> interface can be
+ * obtained using binding-specific casting methods on an instance of a
+ * linking node (<code>HTMLLinkElement</code>, <code>HTMLStyleElement</code>
+ * or <code>ProcessingInstruction</code> in DOM Level 2).
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface LinkStyle {
+ /**
+ * The style sheet.
+ */
+ public StyleSheet getSheet();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/stylesheets/MediaList.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,114 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.stylesheets;
+
+import org.w3c.dom.DOMException;
+
+/**
+ * The <code>MediaList</code> interface provides the abstraction of an
+ * ordered collection of media, without defining or constraining how this
+ * collection is implemented. An empty list is the same as a list that
+ * contains the medium <code>"all"</code>.
+ * <p> The items in the <code>MediaList</code> are accessible via an integral
+ * index, starting from 0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface MediaList {
+ /**
+ * The parsable textual representation of the media list. This is a
+ * comma-separated list of media.
+ */
+ public String getMediaText();
+ /**
+ * The parsable textual representation of the media list. This is a
+ * comma-separated list of media.
+ * @exception DOMException
+ * SYNTAX_ERR: Raised if the specified string value has a syntax error
+ * and is unparsable.
+ * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this media list is
+ * readonly.
+ */
+ public void setMediaText(String mediaText)
+ throws DOMException;
+
+ /**
+ * The number of media in the list. The range of valid media is
+ * <code>0</code> to <code>length-1</code> inclusive.
+ */
+ public int getLength();
+
+ /**
+ * Returns the <code>index</code>th in the list. If <code>index</code> is
+ * greater than or equal to the number of media in the list, this
+ * returns <code>null</code>.
+ * @param index Index into the collection.
+ * @return The medium at the <code>index</code>th position in the
+ * <code>MediaList</code>, or <code>null</code> if that is not a valid
+ * index.
+ */
+ public String item(int index);
+
+ /**
+ * Deletes the medium indicated by <code>oldMedium</code> from the list.
+ * @param oldMedium The medium to delete in the media list.
+ * @exception DOMException
+ * NO_MODIFICATION_ALLOWED_ERR: Raised if this list is readonly.
+ * <br> NOT_FOUND_ERR: Raised if <code>oldMedium</code> is not in the
+ * list.
+ */
+ public void deleteMedium(String oldMedium)
+ throws DOMException;
+
+ /**
+ * Adds the medium <code>newMedium</code> to the end of the list. If the
+ * <code>newMedium</code> is already used, it is first removed.
+ * @param newMedium The new medium to add.
+ * @exception DOMException
+ * INVALID_CHARACTER_ERR: If the medium contains characters that are
+ * invalid in the underlying style language.
+ * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this list is readonly.
+ */
+ public void appendMedium(String newMedium)
+ throws DOMException;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/stylesheets/StyleSheet.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,132 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.stylesheets;
+
+import org.w3c.dom.Node;
+
+/**
+ * The <code>StyleSheet</code> interface is the abstract base interface for
+ * any type of style sheet. It represents a single style sheet associated
+ * with a structured document. In HTML, the StyleSheet interface represents
+ * either an external style sheet, included via the HTML LINK element, or
+ * an inline STYLE element. In XML, this interface represents an external
+ * style sheet, included via a style sheet processing instruction.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface StyleSheet {
+ /**
+ * This specifies the style sheet language for this style sheet. The
+ * style sheet language is specified as a content type (e.g.
+ * "text/css"). The content type is often specified in the
+ * <code>ownerNode</code>. Also see the type attribute definition for
+ * the <code>LINK</code> element in HTML 4.0, and the type
+ * pseudo-attribute for the XML style sheet processing instruction.
+ */
+ public String getType();
+
+ /**
+ * <code>false</code> if the style sheet is applied to the document.
+ * <code>true</code> if it is not. Modifying this attribute may cause a
+ * new resolution of style for the document. A stylesheet only applies
+ * if both an appropriate medium definition is present and the disabled
+ * attribute is false. So, if the media doesn't apply to the current
+ * user agent, the <code>disabled</code> attribute is ignored.
+ */
+ public boolean getDisabled();
+ /**
+ * <code>false</code> if the style sheet is applied to the document.
+ * <code>true</code> if it is not. Modifying this attribute may cause a
+ * new resolution of style for the document. A stylesheet only applies
+ * if both an appropriate medium definition is present and the disabled
+ * attribute is false. So, if the media doesn't apply to the current
+ * user agent, the <code>disabled</code> attribute is ignored.
+ */
+ public void setDisabled(boolean disabled);
+
+ /**
+ * The node that associates this style sheet with the document. For HTML,
+ * this may be the corresponding <code>LINK</code> or <code>STYLE</code>
+ * element. For XML, it may be the linking processing instruction. For
+ * style sheets that are included by other style sheets, the value of
+ * this attribute is <code>null</code>.
+ */
+ public Node getOwnerNode();
+
+ /**
+ * For style sheet languages that support the concept of style sheet
+ * inclusion, this attribute represents the including style sheet, if
+ * one exists. If the style sheet is a top-level style sheet, or the
+ * style sheet language does not support inclusion, the value of this
+ * attribute is <code>null</code>.
+ */
+ public StyleSheet getParentStyleSheet();
+
+ /**
+ * If the style sheet is a linked style sheet, the value of its attribute
+ * is its location. For inline style sheets, the value of this attribute
+ * is <code>null</code>. See the href attribute definition for the
+ * <code>LINK</code> element in HTML 4.0, and the href pseudo-attribute
+ * for the XML style sheet processing instruction.
+ */
+ public String getHref();
+
+ /**
+ * The advisory title. The title is often specified in the
+ * <code>ownerNode</code>. See the title attribute definition for the
+ * <code>LINK</code> element in HTML 4.0, and the title pseudo-attribute
+ * for the XML style sheet processing instruction.
+ */
+ public String getTitle();
+
+ /**
+ * The intended destination media for style information. The media is
+ * often specified in the <code>ownerNode</code>. If no media has been
+ * specified, the <code>MediaList</code> will be empty. See the media
+ * attribute definition for the <code>LINK</code> element in HTML 4.0,
+ * and the media pseudo-attribute for the XML style sheet processing
+ * instruction . Modifying the media list may cause a change to the
+ * attribute <code>disabled</code>.
+ */
+ public MediaList getMedia();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/stylesheets/StyleSheetList.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,71 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2000 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.stylesheets;
+
+/**
+ * The <code>StyleSheetList</code> interface provides the abstraction of an
+ * ordered collection of style sheets.
+ * <p> The items in the <code>StyleSheetList</code> are accessible via an
+ * integral index, starting from 0.
+ * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
+ * @since DOM Level 2
+ */
+public interface StyleSheetList {
+ /**
+ * The number of <code>StyleSheets</code> in the list. The range of valid
+ * child stylesheet indices is <code>0</code> to <code>length-1</code>
+ * inclusive.
+ */
+ public int getLength();
+
+ /**
+ * Used to retrieve a style sheet by ordinal index. If index is greater
+ * than or equal to the number of style sheets in the list, this returns
+ * <code>null</code>.
+ * @param index Index into the collection
+ * @return The style sheet at the <code>index</code> position in the
+ * <code>StyleSheetList</code>, or <code>null</code> if that is not a
+ * valid index.
+ */
+ public StyleSheet item(int index);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/xpath/COPYRIGHT.html Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
+ <title>W3C IPR SOFTWARE NOTICE</title>
+<style type="text/css">
+<!--
+html, body { background: #fff; color: #000; } /* body for Windows IE3 */
+-->
+</style>
+ </head>
+ <body>
+ <h1>
+ W3C IPR SOFTWARE NOTICE
+ </h1>
+ <h3>
+ Copyright © 2002 <a href="http://www.w3.org/">World Wide Web
+ Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
+ Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
+ National de Recherche en Informatique et en Automatique</a>, <a
+ href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+ Reserved.
+ </h3>
+ <p>
+ The DOM bindings are published under the W3C Software Copyright Notice
+ and License. The software license requires "Notice of any changes or
+ modifications to the W3C files, including the date changes were made."
+ Consequently, modified versions of the DOM bindings must document that
+ they do not conform to the W3C standard; in the case of the IDL
+ definitions, the pragma prefix can no longer be 'w3c.org'; in the case of
+ the Java language binding, the package names can no longer be in the
+ 'org.w3c' package.
+ </p>
+ <p>
+ <b>Note:</b> The original version of the W3C Software Copyright Notice
+ and License could be found at <a
+ href='http://www.w3.org/Consortium/Legal/copyright-software-19980720'>http://www.w3.org/Consortium/Legal/copyright-software-19980720</a>
+ </p>
+ <h3>
+ Copyright © 1994-2002 <a href="http://www.w3.org/">World Wide Web
+ Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
+ Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
+ National de Recherche en Informatique et en Automatique</a>, <a
+ href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+ Reserved. http://www.w3.org/Consortium/Legal/
+ </h3>
+ <p>
+ This W3C work (including software, documents, or other related items) is
+ being provided by the copyright holders under the following license. By
+ obtaining, using and/or copying this work, you (the licensee) agree that
+ you have read, understood, and will comply with the following terms and
+ conditions:
+ </p>
+ <p>
+ Permission to use, copy, and modify this software and its documentation,
+ with or without modification, for any purpose and without fee or
+ royalty is hereby granted, provided that you include the following on ALL
+ copies of the software and documentation or portions thereof, including
+ modifications, that you make:
+ </p>
+ <ol>
+ <li>
+ The full text of this NOTICE in a location viewable to users of the
+ redistributed or derivative work.
+ </li>
+ <li>
+ Any pre-existing intellectual property disclaimers, notices, or terms
+ and conditions. If none exist, a short notice of the following form
+ (hypertext is preferred, text is permitted) should be used within the
+ body of any redistributed or derivative code: "Copyright ©
+ [$date-of-software] <a href="http://www.w3.org/">World Wide Web
+ Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
+ Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
+ National de Recherche en Informatique et en Automatique</a>, <a
+ href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+ Reserved. http://www.w3.org/Consortium/Legal/"
+ </li>
+ <li>
+ Notice of any changes or modifications to the W3C files, including the
+ date changes were made. (We recommend you provide URIs to the location
+ from which the code is derived.)
+ </li>
+ </ol>
+ <p>
+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
+ HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS
+ FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR
+ DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
+ TRADEMARKS OR OTHER RIGHTS.
+ </p>
+ <p>
+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
+ CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
+ DOCUMENTATION.
+ </p>
+ <p>
+ The name and trademarks of copyright holders may NOT be used in
+ advertising or publicity pertaining to the software without specific,
+ written prior permission. Title to copyright in this software and any
+ associated documentation will at all times remain with copyright
+ holders.
+ </p>
+ </body>
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/xpath/XPathEvaluator.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,162 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2002 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.xpath;
+
+
+import org.w3c.dom.Node;
+import org.w3c.dom.DOMException;
+
+/**
+ * The evaluation of XPath expressions is provided by
+ * <code>XPathEvaluator</code>. In a DOM implementation which supports the
+ * XPath 3.0 feature, as described above, the <code>XPathEvaluator</code>
+ * interface will be implemented on the same object which implements the
+ * <code>Document</code> interface permitting it to be obtained by the usual
+ * binding-specific method such as casting or by using the DOM Level 3
+ * getInterface method. In this case the implementation obtained from the
+ * Document supports the XPath DOM module and is compatible with the XPath
+ * 1.0 specification.
+ * <p>Evaluation of expressions with specialized extension functions or
+ * variables may not work in all implementations and is, therefore, not
+ * portable. <code>XPathEvaluator</code> implementations may be available
+ * from other sources that could provide specific support for specialized
+ * extension functions or variables as would be defined by other
+ * specifications.
+ * <p>See also the <a href='http://www.w3.org/2002/08/WD-DOM-Level-3-XPath-20020820'>Document Object Model (DOM) Level 3 XPath Specification</a>.
+ */
+public interface XPathEvaluator {
+ /**
+ * Creates a parsed XPath expression with resolved namespaces. This is
+ * useful when an expression will be reused in an application since it
+ * makes it possible to compile the expression string into a more
+ * efficient internal form and preresolve all namespace prefixes which
+ * occur within the expression.
+ * @param expression The XPath expression string to be parsed.
+ * @param resolver The <code>resolver</code> permits translation of
+ * prefixes within the XPath expression into appropriate namespace URIs
+ * . If this is specified as <code>null</code>, any namespace prefix
+ * within the expression will result in <code>DOMException</code>
+ * being thrown with the code <code>NAMESPACE_ERR</code>.
+ * @return The compiled form of the XPath expression.
+ * @exception XPathException
+ * INVALID_EXPRESSION_ERR: Raised if the expression is not legal
+ * according to the rules of the <code>XPathEvaluator</code>i
+ * @exception DOMException
+ * NAMESPACE_ERR: Raised if the expression contains namespace prefixes
+ * which cannot be resolved by the specified
+ * <code>XPathNSResolver</code>.
+ */
+ public XPathExpression createExpression(String expression,
+ XPathNSResolver resolver)
+ throws XPathException, DOMException;
+
+ /**
+ * Adapts any DOM node to resolve namespaces so that an XPath expression
+ * can be easily evaluated relative to the context of the node where it
+ * appeared within the document. This adapter works like the DOM Level 3
+ * method <code>lookupNamespaceURI</code> on nodes in resolving the
+ * namespaceURI from a given prefix using the current information
+ * available in the node's hierarchy at the time lookupNamespaceURI is
+ * called. also correctly resolving the implicit xml prefix.
+ * @param nodeResolver The node to be used as a context for namespace
+ * resolution.
+ * @return <code>XPathNSResolver</code> which resolves namespaces with
+ * respect to the definitions in scope for a specified node.
+ */
+ public XPathNSResolver createNSResolver(Node nodeResolver);
+
+ /**
+ * Evaluates an XPath expression string and returns a result of the
+ * specified type if possible.
+ * @param expression The XPath expression string to be parsed and
+ * evaluated.
+ * @param contextNode The <code>context</code> is context node for the
+ * evaluation of this XPath expression. If the XPathEvaluator was
+ * obtained by casting the <code>Document</code> then this must be
+ * owned by the same document and must be a <code>Document</code>,
+ * <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
+ * <code>CDATASection</code>, <code>Comment</code>,
+ * <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
+ * node. If the context node is a <code>Text</code> or a
+ * <code>CDATASection</code>, then the context is interpreted as the
+ * whole logical text node as seen by XPath, unless the node is empty
+ * in which case it may not serve as the XPath context.
+ * @param resolver The <code>resolver</code> permits translation of
+ * prefixes within the XPath expression into appropriate namespace URIs
+ * . If this is specified as <code>null</code>, any namespace prefix
+ * within the expression will result in <code>DOMException</code>
+ * being thrown with the code <code>NAMESPACE_ERR</code>.
+ * @param type If a specific <code>type</code> is specified, then the
+ * result will be returned as the corresponding type.For XPath 1.0
+ * results, this must be one of the codes of the
+ * <code>XPathResult</code> interface.
+ * @param result The <code>result</code> specifies a specific result
+ * object which may be reused and returned by this method. If this is
+ * specified as <code>null</code>or the implementation does not reuse
+ * the specified result, a new result object will be constructed and
+ * returned.For XPath 1.0 results, this object will be of type
+ * <code>XPathResult</code>.
+ * @return The result of the evaluation of the XPath expression.For XPath
+ * 1.0 results, this object will be of type <code>XPathResult</code>.
+ * @exception XPathException
+ * INVALID_EXPRESSION_ERR: Raised if the expression is not legal
+ * according to the rules of the <code>XPathEvaluator</code>i
+ * <br>TYPE_ERR: Raised if the result cannot be converted to return the
+ * specified type.
+ * @exception DOMException
+ * NAMESPACE_ERR: Raised if the expression contains namespace prefixes
+ * which cannot be resolved by the specified
+ * <code>XPathNSResolver</code>.
+ * <br>WRONG_DOCUMENT_ERR: The Node is from a document that is not
+ * supported by this <code>XPathEvaluator</code>.
+ * <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
+ * context node or the request type is not permitted by this
+ * <code>XPathEvaluator</code>.
+ */
+ public Object evaluate(String expression,
+ Node contextNode,
+ XPathNSResolver resolver,
+ short type,
+ Object result)
+ throws XPathException, DOMException;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/xpath/XPathException.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,70 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2002 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.xpath;
+
+/**
+ * A new exception has been created for exceptions specific to these XPath
+ * interfaces.
+ * <p>See also the <a href='http://www.w3.org/2002/08/WD-DOM-Level-3-XPath-20020820'>Document Object Model (DOM) Level 3 XPath Specification</a>.
+ */
+public class XPathException extends RuntimeException {
+ private static final long serialVersionUID = 3471034171575979943L;
+
+ public XPathException(short code, String message) {
+ super(message);
+ this.code = code;
+ }
+ public short code;
+ // XPathExceptionCode
+ /**
+ * If the expression has a syntax error or otherwise is not a legal
+ * expression according to the rules of the specific
+ * <code>XPathEvaluator</code> or contains specialized extension
+ * functions or variables not supported by this implementation.
+ */
+ public static final short INVALID_EXPRESSION_ERR = 1;
+ /**
+ * If the expression cannot be converted to return the specified type.
+ */
+ public static final short TYPE_ERR = 2;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/xpath/XPathExpression.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,95 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2002 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.xpath;
+
+
+import org.w3c.dom.Node;
+import org.w3c.dom.DOMException;
+
+/**
+ * The <code>XPathExpression</code> interface represents a parsed and resolved
+ * XPath expression.
+ * <p>See also the <a href='http://www.w3.org/2002/08/WD-DOM-Level-3-XPath-20020820'>Document Object Model (DOM) Level 3 XPath Specification</a>.
+ */
+public interface XPathExpression {
+ /**
+ * Evaluates this XPath expression and returns a result.
+ * @param contextNode The <code>context</code> is context node for the
+ * evaluation of this XPath expression.If the XPathEvaluator was
+ * obtained by casting the <code>Document</code> then this must be
+ * owned by the same document and must be a <code>Document</code>,
+ * <code>Element</code>, <code>Attribute</code>, <code>Text</code>,
+ * <code>CDATASection</code>, <code>Comment</code>,
+ * <code>ProcessingInstruction</code>, or <code>XPathNamespace</code>
+ * node.If the context node is a <code>Text</code> or a
+ * <code>CDATASection</code>, then the context is interpreted as the
+ * whole logical text node as seen by XPath, unless the node is empty
+ * in which case it may not serve as the XPath context.
+ * @param type If a specific <code>type</code> is specified, then the
+ * result will be coerced to return the specified type relying on
+ * XPath conversions and fail if the desired coercion is not possible.
+ * This must be one of the type codes of <code>XPathResult</code>.
+ * @param result The <code>result</code> specifies a specific result
+ * object which may be reused and returned by this method. If this is
+ * specified as <code>null</code>or the implementation does not reuse
+ * the specified result, a new result object will be constructed and
+ * returned.For XPath 1.0 results, this object will be of type
+ * <code>XPathResult</code>.
+ * @return The result of the evaluation of the XPath expression.For XPath
+ * 1.0 results, this object will be of type <code>XPathResult</code>.
+ * @exception XPathException
+ * TYPE_ERR: Raised if the result cannot be converted to return the
+ * specified type.
+ * @exception DOMException
+ * WRONG_DOCUMENT_ERR: The Node is from a document that is not supported
+ * by the XPathEvaluator that created this <code>XPathExpression</code>
+ * .
+ * <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
+ * context node or the request type is not permitted by this
+ * <code>XPathExpression</code>.
+ */
+ public Object evaluate(Node contextNode,
+ short type,
+ Object result)
+ throws XPathException, DOMException;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/xpath/XPathNSResolver.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,64 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2002 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.xpath;
+
+
+/**
+ * The <code>XPathNSResolver</code> interface permit <code>prefix</code>
+ * strings in the expression to be properly bound to
+ * <code>namespaceURI</code> strings. <code>XPathEvaluator</code> can
+ * construct an implementation of <code>XPathNSResolver</code> from a node,
+ * or the interface may be implemented by any application.
+ * <p>See also the <a href='http://www.w3.org/2002/08/WD-DOM-Level-3-XPath-20020820'>Document Object Model (DOM) Level 3 XPath Specification</a>.
+ */
+public interface XPathNSResolver {
+ /**
+ * Look up the namespace URI associated to the given namespace prefix. The
+ * XPath evaluator must never call this with a <code>null</code> or
+ * empty argument, because the result of doing this is undefined.
+ * @param prefix The prefix to look for.
+ * @return Returns the associated namespace URI or <code>null</code> if
+ * none is found.
+ */
+ public String lookupNamespaceURI(String prefix);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/xpath/XPathNamespace.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,94 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2002 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.xpath;
+
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+/**
+ * The <code>XPathNamespace</code> interface is returned by
+ * <code>XPathResult</code> interfaces to represent the XPath namespace node
+ * type that DOM lacks. There is no public constructor for this node type.
+ * Attempts to place it into a hierarchy or a NamedNodeMap result in a
+ * <code>DOMException</code> with the code <code>HIERARCHY_REQUEST_ERR</code>
+ * . This node is read only, so methods or setting of attributes that would
+ * mutate the node result in a DOMException with the code
+ * <code>NO_MODIFICATION_ALLOWED_ERR</code>.
+ * <p>The core specification describes attributes of the <code>Node</code>
+ * interface that are different for different node node types but does not
+ * describe <code>XPATH_NAMESPACE_NODE</code>, so here is a description of
+ * those attributes for this node type. All attributes of <code>Node</code>
+ * not described in this section have a <code>null</code> or
+ * <code>false</code> value.
+ * <p><code>ownerDocument</code> matches the <code>ownerDocument</code> of the
+ * <code>ownerElement</code> even if the element is later adopted.
+ * <p><code>prefix</code> is the prefix of the namespace represented by the
+ * node.
+ * <p><code>nodeName</code> is the same as <code>prefix</code>.
+ * <p><code>nodeType</code> is equal to <code>XPATH_NAMESPACE_NODE</code>.
+ * <p><code>namespaceURI</code> is the namespace URI of the namespace
+ * represented by the node.
+ * <p><code>adoptNode</code>, <code>cloneNode</code>, and
+ * <code>importNode</code> fail on this node type by raising a
+ * <code>DOMException</code> with the code <code>NOT_SUPPORTED_ERR</code>.In
+ * future versions of the XPath specification, the definition of a namespace
+ * node may be changed incomatibly, in which case incompatible changes to
+ * field values may be required to implement versions beyond XPath 1.0.
+ * <p>See also the <a href='http://www.w3.org/2002/08/WD-DOM-Level-3-XPath-20020820'>Document Object Model (DOM) Level 3 XPath Specification</a>.
+ */
+public interface XPathNamespace extends Node {
+ // XPathNodeType
+ /**
+ * The node is a <code>Namespace</code>.
+ */
+ public static final short XPATH_NAMESPACE_NODE = 13;
+
+ /**
+ * The <code>Element</code> on which the namespace was in scope when it
+ * was requested. This does not change on a returned namespace node even
+ * if the document changes such that the namespace goes out of scope on
+ * that element and this node is no longer found there by XPath.
+ */
+ public Element getOwnerElement();
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/jdk.xml.dom/share/classes/org/w3c/dom/xpath/XPathResult.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,241 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * This file is available under and governed by the GNU General Public
+ * License version 2 only, as published by the Free Software Foundation.
+ * However, the following notice accompanied the original version of this
+ * file and, per its terms, should not be removed:
+ *
+ * Copyright (c) 2002 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+ */
+
+package org.w3c.dom.xpath;
+
+
+import org.w3c.dom.Node;
+import org.w3c.dom.DOMException;
+
+/**
+ * The <code>XPathResult</code> interface represents the result of the
+ * evaluation of an XPath 1.0 expression within the context of a particular
+ * node. Since evaluation of an XPath expression can result in various
+ * result types, this object makes it possible to discover and manipulate
+ * the type and value of the result.
+ * <p>See also the <a href='http://www.w3.org/2002/08/WD-DOM-Level-3-XPath-20020820'>Document Object Model (DOM) Level 3 XPath Specification</a>.
+ */
+public interface XPathResult {
+ // XPathResultType
+ /**
+ * This code does not represent a specific type. An evaluation of an XPath
+ * expression will never produce this type. If this type is requested,
+ * then the evaluation returns whatever type naturally results from
+ * evaluation of the expression.
+ * <br>If the natural result is a node set when <code>ANY_TYPE</code> was
+ * requested, then <code>UNORDERED_NODE_ITERATOR_TYPE</code> is always
+ * the resulting type. Any other representation of a node set must be
+ * explicitly requested.
+ */
+ public static final short ANY_TYPE = 0;
+ /**
+ * The result is a number as defined by . Document modification does not
+ * invalidate the number, but may mean that reevaluation would not yield
+ * the same number.
+ */
+ public static final short NUMBER_TYPE = 1;
+ /**
+ * The result is a string as defined by . Document modification does not
+ * invalidate the string, but may mean that the string no longer
+ * corresponds to the current document.
+ */
+ public static final short STRING_TYPE = 2;
+ /**
+ * The result is a boolean as defined by . Document modification does not
+ * invalidate the boolean, but may mean that reevaluation would not
+ * yield the same boolean.
+ */
+ public static final short BOOLEAN_TYPE = 3;
+ /**
+ * The result is a node set as defined by that will be accessed
+ * iteratively, which may not produce nodes in a particular order.
+ * Document modification invalidates the iteration.
+ * <br>This is the default type returned if the result is a node set and
+ * <code>ANY_TYPE</code> is requested.
+ */
+ public static final short UNORDERED_NODE_ITERATOR_TYPE = 4;
+ /**
+ * The result is a node set as defined by that will be accessed
+ * iteratively, which will produce document-ordered nodes. Document
+ * modification invalidates the iteration.
+ */
+ public static final short ORDERED_NODE_ITERATOR_TYPE = 5;
+ /**
+ * The result is a node set as defined by that will be accessed as a
+ * snapshot list of nodes that may not be in a particular order.
+ * Document modification does not invalidate the snapshot but may mean
+ * that reevaluation would not yield the same snapshot and nodes in the
+ * snapshot may have been altered, moved, or removed from the document.
+ */
+ public static final short UNORDERED_NODE_SNAPSHOT_TYPE = 6;
+ /**
+ * The result is a node set as defined by that will be accessed as a
+ * snapshot list of nodes that will be in original document order.
+ * Document modification does not invalidate the snapshot but may mean
+ * that reevaluation would not yield the same snapshot and nodes in the
+ * snapshot may have been altered, moved, or removed from the document.
+ */
+ public static final short ORDERED_NODE_SNAPSHOT_TYPE = 7;
+ /**
+ * The result is a node set as defined by and will be accessed as a
+ * single node, which may be <code>null</code>if the node set is empty.
+ * Document modification does not invalidate the node, but may mean that
+ * the result node no longer corresponds to the current document. This
+ * is a convenience that permits optimization since the implementation
+ * can stop once any node in the in the resulting set has been found.
+ * <br>If there are more than one node in the actual result, the single
+ * node returned might not be the first in document order.
+ */
+ public static final short ANY_UNORDERED_NODE_TYPE = 8;
+ /**
+ * The result is a node set as defined by and will be accessed as a
+ * single node, which may be <code>null</code> if the node set is empty.
+ * Document modification does not invalidate the node, but may mean that
+ * the result node no longer corresponds to the current document. This
+ * is a convenience that permits optimization since the implementation
+ * can stop once the first node in document order of the resulting set
+ * has been found.
+ * <br>If there are more than one node in the actual result, the single
+ * node returned will be the first in document order.
+ */
+ public static final short FIRST_ORDERED_NODE_TYPE = 9;
+
+ /**
+ * A code representing the type of this result, as defined by the type
+ * constants.
+ */
+ public short getResultType();
+
+ /**
+ * The value of this number result. If the native double type of the DOM
+ * binding does not directly support the exact IEEE 754 result of the
+ * XPath expression, then it is up to the definition of the binding
+ * binding to specify how the XPath number is converted to the native
+ * binding number.
+ * @exception XPathException
+ * TYPE_ERR: raised if <code>resultType</code> is not
+ * <code>NUMBER_TYPE</code>.
+ */
+ public double getNumberValue()
+ throws XPathException;
+
+ /**
+ * The value of this string result.
+ * @exception XPathException
+ * TYPE_ERR: raised if <code>resultType</code> is not
+ * <code>STRING_TYPE</code>.
+ */
+ public String getStringValue()
+ throws XPathException;
+
+ /**
+ * The value of this boolean result.
+ * @exception XPathException
+ * TYPE_ERR: raised if <code>resultType</code> is not
+ * <code>BOOLEAN_TYPE</code>.
+ */
+ public boolean getBooleanValue()
+ throws XPathException;
+
+ /**
+ * The value of this single node result, which may be <code>null</code>.
+ * @exception XPathException
+ * TYPE_ERR: raised if <code>resultType</code> is not
+ * <code>ANY_UNORDERED_NODE_TYPE</code> or
+ * <code>FIRST_ORDERED_NODE_TYPE</code>.
+ */
+ public Node getSingleNodeValue()
+ throws XPathException;
+
+ /**
+ * Signifies that the iterator has become invalid. True if
+ * <code>resultType</code> is <code>UNORDERED_NODE_ITERATOR_TYPE</code>
+ * or <code>ORDERED_NODE_ITERATOR_TYPE</code> and the document has been
+ * modified since this result was returned.
+ */
+ public boolean getInvalidIteratorState();
+
+ /**
+ * The number of nodes in the result snapshot. Valid values for
+ * snapshotItem indices are <code>0</code> to
+ * <code>snapshotLength-1</code> inclusive.
+ * @exception XPathException
+ * TYPE_ERR: raised if <code>resultType</code> is not
+ * <code>UNORDERED_NODE_SNAPSHOT_TYPE</code> or
+ * <code>ORDERED_NODE_SNAPSHOT_TYPE</code>.
+ */
+ public int getSnapshotLength()
+ throws XPathException;
+
+ /**
+ * Iterates and returns the next node from the node set or
+ * <code>null</code>if there are no more nodes.
+ * @return Returns the next node.
+ * @exception XPathException
+ * TYPE_ERR: raised if <code>resultType</code> is not
+ * <code>UNORDERED_NODE_ITERATOR_TYPE</code> or
+ * <code>ORDERED_NODE_ITERATOR_TYPE</code>.
+ * @exception DOMException
+ * INVALID_STATE_ERR: The document has been mutated since the result was
+ * returned.
+ */
+ public Node iterateNext()
+ throws XPathException, DOMException;
+
+ /**
+ * Returns the <code>index</code>th item in the snapshot collection. If
+ * <code>index</code> is greater than or equal to the number of nodes in
+ * the list, this method returns <code>null</code>. Unlike the iterator
+ * result, the snapshot does not become invalid, but may not correspond
+ * to the current document if it is mutated.
+ * @param index Index into the snapshot collection.
+ * @return The node at the <code>index</code>th position in the
+ * <code>NodeList</code>, or <code>null</code> if that is not a valid
+ * index.
+ * @exception XPathException
+ * TYPE_ERR: raised if <code>resultType</code> is not
+ * <code>UNORDERED_NODE_SNAPSHOT_TYPE</code> or
+ * <code>ORDERED_NODE_SNAPSHOT_TYPE</code>.
+ */
+ public Node snapshotItem(int index)
+ throws XPathException;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/AbstractCharacterDataTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,231 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom.ptests;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.fail;
+import static org.w3c.dom.DOMException.INDEX_SIZE_ERR;
+import static org.w3c.dom.ptests.DOMTestUtil.DOMEXCEPTION_EXPECTED;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.w3c.dom.CharacterData;
+import org.w3c.dom.DOMException;
+import org.xml.sax.SAXException;
+
+/*
+ * @summary common test for the CharacterData Interface
+ */
+public abstract class AbstractCharacterDataTest extends JAXPFileBaseTest {
+ @DataProvider(name = "data-for-length")
+ public Object[][] getDataForTestLength() {
+ return new Object[][] {
+ { "", 0 },
+ { "test", 4 } };
+ }
+
+ /*
+ * Verify getLength method works as the spec, for an empty string, should
+ * return zero
+ */
+ @Test(dataProvider = "data-for-length")
+ public void testGetLength(String text, int length) throws Exception {
+ CharacterData cd = createCharacterData(text);
+ assertEquals(cd.getLength(), length);
+
+ }
+
+ /*
+ * Test appendData method and verify by getData method.
+ */
+ @Test
+ public void testAppendData() throws Exception {
+ CharacterData cd = createCharacterData("DOM");
+ cd.appendData("2");
+ assertEquals(cd.getData(), "DOM2");
+
+ }
+
+ @DataProvider(name = "data-for-delete")
+ public Object[][] getDataForTestDelete() {
+ return new Object[][] {
+ { "DOM", 2, 1, "DO" },
+ { "DOM", 0, 2, "M" },
+ { "DOM", 2, 3, "DO" } };
+ }
+
+ /*
+ * Verify deleteData method works as the spec.
+ */
+ @Test(dataProvider = "data-for-delete")
+ public void testDeleteData(String text, int offset, int count, String result) throws Exception {
+ CharacterData cd = createCharacterData(text);
+ cd.deleteData(offset, count);
+ assertEquals(cd.getData(), result);
+ }
+
+ @DataProvider(name = "data-for-replace")
+ public Object[][] getDataForTestReplace() {
+ return new Object[][] {
+ { "DOM", 0, 3, "SAX", "SAX" },
+ { "DOM", 1, 1, "AA", "DAAM" },
+ { "DOM", 1, 2, "A", "DA" },
+ { "DOM", 2, 2, "SAX", "DOSAX" } };
+ }
+
+ /*
+ * Verify replaceData method works as the spec.
+ */
+ @Test(dataProvider = "data-for-replace")
+ public void testReplaceData(String text, int offset, int count, String arg, String result) throws Exception {
+ CharacterData cd = createCharacterData(text);
+ cd.replaceData(offset, count, arg);
+ assertEquals(cd.getData(), result);
+ }
+
+ @DataProvider(name = "data-for-replace-neg")
+ public Object[][] getDataForTestReplaceNeg() {
+ return new Object[][] {
+ { "DOM", -1, 3, "SAX" }, //offset if neg
+ { "DOM", 0, -1, "SAX" }, //count is neg
+ { "DOM", 4, 1, "SAX" } };//offset is greater than length
+ }
+
+ /*
+ * Test for replaceData method: verifies that DOMException with
+ * INDEX_SIZE_ERR is thrown if offset or count is out of the bound.
+ */
+ @Test(dataProvider = "data-for-replace-neg")
+ public void testReplaceDataNeg(String text, int offset, int count, String arg) throws Exception {
+ CharacterData cd = createCharacterData(text);
+ try {
+ cd.replaceData(offset, count, arg);
+ fail(DOMEXCEPTION_EXPECTED);
+ } catch (DOMException e) {
+ assertEquals(e.code, INDEX_SIZE_ERR);
+ }
+ }
+
+ @DataProvider(name = "data-for-insert")
+ public Object[][] getDataForTestInsert() {
+ return new Object[][] {
+ { "DOM", 0, "SAX", "SAXDOM" },
+ { "DOM", 3, "SAX", "DOMSAX" } };
+ }
+
+ /*
+ * Verify insertData method works as the spec.
+ */
+ @Test(dataProvider = "data-for-insert")
+ public void testInsertData(String text, int offset, String arg, String result) throws Exception {
+ CharacterData cd = createCharacterData(text);
+ cd.insertData(offset, arg);
+ assertEquals(cd.getData(), result);
+ }
+
+ @DataProvider(name = "data-for-insert-neg")
+ public Object[][] getDataForTestInsertNeg() {
+ return new Object[][] {
+ { "DOM", -1 }, //offset is neg
+ { "DOM", 4 } };//offset is greater than length
+ }
+
+ /*
+ * Test for insertData method: verifies that DOMException with
+ * INDEX_SIZE_ERR is thrown if offset is out of the bound.
+ */
+ @Test(dataProvider = "data-for-insert-neg")
+ public void testInsertDataNeg(String text, int offset) throws Exception {
+ CharacterData cd = createCharacterData(text);
+ try {
+ cd.insertData(offset, "TEST");
+ fail(DOMEXCEPTION_EXPECTED);
+ } catch (DOMException e) {
+ assertEquals(e.code, INDEX_SIZE_ERR);
+ }
+ }
+
+ /*
+ * Test setData method and verify by getData method.
+ */
+ @Test
+ public void testSetData() throws Exception {
+ CharacterData cd = createCharacterData("DOM");
+ cd.setData("SAX");
+ assertEquals(cd.getData(), "SAX");
+ }
+
+ @DataProvider(name = "data-for-substring")
+ public Object[][] getDataForTestSubstring() {
+ return new Object[][] {
+ { "DOM Level 2", 0, 3, "DOM" },
+ { "DOM", 0, 3, "DOM" },
+ { "DOM", 2, 5, "M" } };
+ }
+
+ /*
+ * Verify substringData method works as the spec.
+ */
+ @Test(dataProvider = "data-for-substring")
+ public void testSubstringData(String text, int offset, int count, String result) throws Exception {
+ CharacterData cd = createCharacterData(text);
+ String retStr = cd.substringData(offset, count);
+ assertEquals(retStr, result);
+ }
+
+ @DataProvider(name = "data-for-substring-neg")
+ public Object[][] getDataForTestSubstringNeg() {
+ return new Object[][] {
+ { "DOM Level 2", -1, 3 }, //offset is neg
+ { "DOM", 0, -1 }, //count is neg
+ { "DOM", 3, 1 } }; //offset exceeds length
+ }
+
+ /*
+ * Test for substringData method: verifies that DOMException with
+ * INDEX_SIZE_ERR is thrown if offset or count is out of the bound.
+ */
+ @Test(dataProvider = "data-for-substring-neg")
+ public void testSubstringDataNeg(String text, int offset, int count) throws Exception {
+ CharacterData cd = createCharacterData(text);
+ try {
+ cd.substringData(offset, count);
+ fail(DOMEXCEPTION_EXPECTED);
+ } catch (DOMException e) {
+ assertEquals(e.code, INDEX_SIZE_ERR);
+ }
+
+ }
+
+ /*
+ * Return a concrete CharacterData instance.
+ */
+ abstract protected CharacterData createCharacterData(String text) throws IOException, SAXException, ParserConfigurationException;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/AttrTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,148 @@
+/*
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package org.w3c.dom.ptests;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+import static org.w3c.dom.ptests.DOMTestUtil.createDOM;
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.annotations.Test;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+
+
+/*
+ * @summary Test for the Attr Interface
+ */
+public class AttrTest extends JAXPFileBaseTest {
+ /*
+ * Verify getName method against both existing Attr and new Attr.
+ */
+ @Test
+ public void testGetName() throws Exception {
+ Document document = createDOM("Attr01.xml");
+ //test a new created Attr
+ Attr attr = document.createAttribute("newAttribute");
+ assertEquals(attr.getName(), "newAttribute");
+
+ //test a Attr loaded from xml file
+ Element elemNode = (Element) document.getElementsByTagName("book").item(1);
+ Attr attr2 = (Attr) elemNode.getAttributes().item(0);
+ assertEquals(attr2.getName(), "category1");
+ }
+
+ /*
+ * Verify getOwnerElement method against both existing Attr and new Attr.
+ */
+ @Test
+ public void testGetOwnerElement() throws Exception {
+ Document document = createDOM("Attr01.xml");
+
+ //test Attr loaded from xml file
+ Element elemNode = (Element) document.getElementsByTagName("book").item(1);
+ NamedNodeMap nnMap = elemNode.getAttributes();
+ for (int i = 0; i < nnMap.getLength(); i++) {
+ Attr attr = (Attr) nnMap.item(i);
+ assertEquals(attr.getOwnerElement().getNodeName(), "book");
+ }
+
+ //test an Attr without owner node
+ Attr attr = document.createAttribute("newAttribute");
+ assertNull(attr.getOwnerElement());
+
+ }
+
+ /*
+ * Verify getSpecified method works as the spec.
+ */
+ @Test
+ public void testGetSpecified1() throws Exception {
+ Document document = createDOM("Attr01.xml");
+
+ Element elemNode = (Element) document.getElementsByTagName("book").item(1);
+ Attr attr = elemNode.getAttributeNode("category1");
+ assertTrue(attr.getSpecified());
+
+ }
+
+ /*
+ * In this xml file, the dtd has the value for the attrribute, but the xml
+ * element does not specify the value for the attrribute, as per the spec it
+ * should return false.
+ */
+ @Test
+ public void testGetSpecified2() throws Exception {
+
+ Document document = createDOM("Attr2.xml");
+ Element elemNode = (Element) document.getElementsByTagName("Name").item(0);
+ Attr attr = elemNode.getAttributeNode("type");
+
+ assertFalse(attr.getSpecified());
+ }
+
+ /*
+ * Creating a new attribute, the owner element is null since the attribute
+ * has just been created, getSpecified should return true.
+ */
+ @Test
+ public void testNewCreatedAttribute() throws Exception {
+ Document document = createDOM("Attr01.xml");
+ Attr attr = document.createAttribute("newAttribute");
+ assertTrue(attr.getSpecified());
+ assertNull(attr.getOwnerElement());
+
+ }
+
+ /*
+ * The xml file includes the dtd having the IMPLIED value for the attrribute
+ * and the xml element does not specify the value. As per the spec it should
+ * not be seen as a part of the structure model hence getAttributeNode
+ * rerurn null if the attribute is even found.
+ */
+ @Test
+ public void testIMPLIEDAttribute() throws Exception {
+ Document document = createDOM("Attr3.xml");
+ Element elemNode = (Element) document.getElementsByTagName("Name").item(0);
+ Attr attr = elemNode.getAttributeNode("type");
+ assertNull(attr);
+ }
+
+ /*
+ * Test setValue method and verify by getValue method.
+ */
+ @Test
+ public void testSetValue() throws Exception {
+ Document document = createDOM("Attr01.xml");
+ Attr attr = document.createAttribute("newAttribute");
+ attr.setValue("newVal");
+ assertEquals(attr.getValue(), "newVal");
+
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/CommentTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom.ptests;
+
+import static org.w3c.dom.ptests.DOMTestUtil.createNewDocument;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.CharacterData;
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
+
+/*
+ * @summary Test for Comment implementation returned by Document.createComment(String)
+ */
+public class CommentTest extends AbstractCharacterDataTest {
+ @Override
+ protected CharacterData createCharacterData(String text) throws IOException, SAXException, ParserConfigurationException {
+ Document document = createNewDocument();
+ return document.createComment(text);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/DocumentTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom.ptests;
+
+import static javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI;
+import static javax.xml.XMLConstants.XML_NS_URI;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.fail;
+import static org.w3c.dom.DOMException.NAMESPACE_ERR;
+import static org.w3c.dom.ptests.DOMTestUtil.DOMEXCEPTION_EXPECTED;
+import static org.w3c.dom.ptests.DOMTestUtil.createDOMWithNS;
+import static org.w3c.dom.ptests.DOMTestUtil.createNewDocument;
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.w3c.dom.Attr;
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/*
+ * @summary Test createAttributeNS, getElementsByTagNameNS and createElementNS method of Document
+ */
+public class DocumentTest extends JAXPFileBaseTest {
+
+ @DataProvider(name = "invalid-nsuri")
+ public Object[][] getInvalidNamespaceURI() {
+ return new Object[][] {
+ { " ", "xml:novel" }, //blank
+ { "hello", "xml:novel" }, //unqualified
+ { null, "xml:novel" }, //null
+ { "", "xmlns:novel" } };//empty
+ }
+
+ /*
+ * Test for createAttributeNS method: verifies that DOMException is thrown
+ * if reserved prefixes are used with an arbitrary namespace name.
+ */
+ @Test(dataProvider = "invalid-nsuri", expectedExceptions = DOMException.class)
+ public void testCreateAttributeNSNeg(String namespaceURI, String name) throws Exception {
+ Document document = createDOMWithNS("DocumentTest01.xml");
+ document.createAttributeNS(namespaceURI, name);
+ }
+
+ @DataProvider(name = "valid-nsuri")
+ public Object[][] getValidNamespaceURI() {
+ return new Object[][] {
+ { XML_NS_URI, "xml:novel" },
+ { XMLNS_ATTRIBUTE_NS_URI, "xmlns:novel" },
+ { "urn:BooksAreUs.org:BookInfo", "attributeNew"},
+ { "urn:BooksAreUs.org:BookInfonew", "attributeNew"} };
+ }
+
+ /*
+ * Verify the Attr from createAttributeNS.
+ */
+ @Test(dataProvider = "valid-nsuri")
+ public void testCreateAttributeNS(String namespaceURI, String name) throws Exception {
+ Document document = createDOMWithNS("DocumentTest01.xml");
+ Attr attr = document.createAttributeNS(namespaceURI, name);
+ assertEquals(attr.getNamespaceURI(), namespaceURI);
+ assertEquals(attr.getName(), name);
+ }
+
+ @DataProvider(name = "elementName")
+ public Object[][] getElementName() {
+ return new Object[][] {
+ { "author", 1 },
+ { "b:author", 0 } };
+ }
+
+ /*
+ * Verify the NodeList from getElementsByTagNameNS.
+ */
+ @Test(dataProvider = "elementName")
+ public void testGetElementsByTagNameNS(String localName, int number) throws Exception {
+ Document document = createDOMWithNS("DocumentTest01.xml");
+ NodeList nodeList = document.getElementsByTagNameNS("urn:BooksAreUs.org:BookInfo", localName);
+ assertEquals(nodeList.getLength(), number);
+ }
+
+ /*
+ * Test for createElementNS method: verifies that DOMException is thrown
+ * if reserved prefixes are used with an arbitrary namespace name.
+ */
+ @Test(dataProvider = "invalid-nsuri")
+ public void testCreateElementNSNeg(String namespaceURI, String name) throws Exception {
+ Document document = createDOMWithNS("DocumentTest01.xml");
+ try {
+ document.createElementNS(namespaceURI, name);
+ fail(DOMEXCEPTION_EXPECTED);
+ } catch (DOMException e) {
+ assertEquals(e.code, NAMESPACE_ERR);
+ }
+ }
+
+ /*
+ * Test createElementNS method works as the spec.
+ */
+ @Test
+ public void testCreateElementNS() throws Exception {
+ final String nsURI = "http://www.books.com";
+ final String name = "b:novel";
+ final String localName = "novel";
+ Document document = createDOMWithNS("DocumentTest01.xml");
+ Element element = document.createElementNS(nsURI, name);
+ assertEquals(element.getNamespaceURI(), nsURI);
+ assertEquals(element.getNodeName(), name);
+ assertEquals(element.getLocalName(), localName);
+ }
+
+ /*
+ * Test createAttributeNS and then append it with setAttributeNode.
+ */
+ @Test
+ public void testAddNewAttributeNode() throws Exception {
+ Document document = createDOMWithNS("DocumentTest01.xml");
+
+ NodeList nodeList = document.getElementsByTagNameNS("http://www.w3.org/TR/REC-html40", "body");
+ NodeList childList = nodeList.item(0).getChildNodes();
+ Element child = (Element) childList.item(1);
+ Attr a = document.createAttributeNS("urn:BooksAreUs.org:BookInfo", "attributeNew");
+ child.setAttributeNode(a);
+ assertNotNull(child.getAttributeNodeNS("urn:BooksAreUs.org:BookInfo", "attributeNew"));
+ }
+
+ /*
+ * Test createElementNS and then append it with appendChild.
+ */
+ @Test
+ public void testAddNewElement() throws Exception {
+ Document document = createDOMWithNS("DocumentTest01.xml");
+
+ NodeList nodeList = document.getElementsByTagNameNS("http://www.w3.org/TR/REC-html40", "body");
+ NodeList childList = nodeList.item(0).getChildNodes();
+ Element child = (Element) childList.item(1);
+ Element elem = document.createElementNS("urn:BooksAreUs.org:BookInfonew", "newElement");
+ assertNotNull(child.appendChild(elem));
+ }
+
+ /*
+ * Test createElement with unqualified xml name.
+ */
+ @Test(expectedExceptions = DOMException.class)
+ public void testCreateElementNeg() throws Exception {
+ Document doc = createNewDocument();
+ doc.createElement("!nc$%^*(!");
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/DocumentTypeTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package org.w3c.dom.ptests;
+
+import static org.testng.Assert.assertEquals;
+import static org.w3c.dom.ptests.DOMTestUtil.createDOM;
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.Assert;
+import org.testng.annotations.Test;
+import org.w3c.dom.DocumentType;
+import org.w3c.dom.NamedNodeMap;
+
+/*
+ * @summary Test DocumentType
+ */
+public class DocumentTypeTest extends JAXPFileBaseTest {
+
+ /*
+ * Test testGetEntities method, and verify the entity items.
+ */
+ @Test
+ public void testGetEntities() throws Exception {
+ DocumentType documentType = createDOM("DocumentType01.xml").getDoctype();
+ NamedNodeMap namedNodeMap = documentType.getEntities();
+ // should return both external and internal. Parameter entities are not
+ // contained. Duplicates are discarded.
+ assertEquals(namedNodeMap.getLength(), 3);
+ assertEquals(namedNodeMap.item(0).getNodeName(), "author");
+ assertEquals(namedNodeMap.item(1).getNodeName(), "test");
+ assertEquals(namedNodeMap.item(2).getNodeName(), "writer");
+ }
+
+ /*
+ * Test getNotations method, and verify the notation items.
+ */
+ @Test
+ public void testGetNotations() throws Exception {
+ DocumentType documentType = createDOM("DocumentType03.xml").getDoctype();
+ NamedNodeMap nm = documentType.getNotations();
+ assertEquals(nm.getLength(), 2); // should return 2 because the notation
+ // name is repeated and
+ // it considers only the first
+ // occurence
+ assertEquals(nm.item(0).getNodeName(), "gs");
+ assertEquals(nm.item(1).getNodeName(), "name");
+ }
+
+ /*
+ * Test getName method.
+ */
+ @Test
+ public void testGetName() throws Exception {
+ DocumentType documentType = createDOM("DocumentType03.xml").getDoctype();
+ assertEquals(documentType.getName(), "note");
+ }
+
+ /*
+ * Test getSystemId and getPublicId method.
+ */
+ @Test
+ public void testGetSystemId() throws Exception {
+ DocumentType documentType = createDOM("DocumentType05.xml").getDoctype();
+ assertEquals(documentType.getSystemId(), "DocumentBuilderImpl02.dtd");
+ Assert.assertNull(documentType.getPublicId());
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/DomImplementationTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,127 @@
+/*
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom.ptests;
+
+import static org.testng.Assert.assertEquals;
+import static org.w3c.dom.ptests.DOMTestUtil.createNewDocument;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import jaxp.library.JAXPBaseTest;
+
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.w3c.dom.DOMImplementation;
+import org.w3c.dom.Document;
+import org.w3c.dom.DocumentType;
+
+/*
+ * @summary Test DomImplementation API
+ */
+public class DomImplementationTest extends JAXPBaseTest {
+ /*
+ * Test createDocument method with a namespace uri, qualified name and null
+ * for the doctype
+ */
+ @Test
+ public void testCreateDocument() throws ParserConfigurationException {
+ final String nsURI = "http://www.document.com";
+ final String name = "document:localName";
+ DOMImplementation domImpl = getDOMImplementation();
+ Document document = domImpl.createDocument(nsURI, name, null);
+ assertEquals(document.getDocumentElement().getNamespaceURI(), nsURI);
+ assertEquals(document.getDocumentElement().getNodeName(), name);
+ }
+
+ /*
+ * Test createDocumentType method with name, public id and system id.
+ */
+ @Test
+ public void testCreateDocumentType01() throws ParserConfigurationException {
+ final String name = "document:localName";
+ final String publicId = "pubid";
+ final String systemId = "sysid";
+
+ DOMImplementation domImpl = getDOMImplementation();
+ DocumentType documentType = domImpl.createDocumentType(name, publicId, systemId);
+ verifyDocumentType(documentType, name, publicId, systemId);
+ }
+
+
+ /*
+ * Test createDocument method using a DocumentType, verify the document will
+ * take that Doctype.
+ */
+ @Test
+ public void testCreateDocumentType02() throws ParserConfigurationException {
+ final String name = "document:localName";
+ final String publicId = "-//W3C//DTD HTML 4.0 Transitional//EN";
+ final String systemId = "http://www.w3.org/TR/REC-html40/loose.dtd";
+ DOMImplementation domImpl = getDOMImplementation();
+
+ DocumentType documentType = domImpl.createDocumentType(name, publicId, systemId);
+ Document document = domImpl.createDocument("http://www.document.com", "document:localName", documentType);
+ verifyDocumentType(document.getDoctype(), name, publicId, systemId);
+ }
+
+ @DataProvider(name = "feature-supported")
+ public Object[][] getFeatureSupportedList() throws ParserConfigurationException {
+ DOMImplementation impl = getDOMImplementation();
+ return new Object[][] {
+ { impl, "XML", "2.0", true },
+ { impl, "HTML", "2.0", false },
+ { impl, "Views", "2.0", false },
+ { impl, "StyleSheets", "2.0", false },
+ { impl, "CSS", "2.0", false },
+ { impl, "CSS2", "2.0", false },
+ { impl, "Events", "2.0", true },
+ { impl, "UIEvents", "2.0", false },
+ { impl, "MouseEvents", "2.0", false },
+ { impl, "HTMLEvents", "2.0", false },
+ { impl, "Traversal", "2.0", true },
+ { impl, "Range", "2.0", true },
+ { impl, "Core", "2.0", true },
+ { impl, "XML", "", true } };
+ }
+
+
+ /*
+ * Verify DOMImplementation for feature supporting.
+ */
+ @Test(dataProvider = "feature-supported")
+ public void testHasFeature(DOMImplementation impl, String feature, String version, boolean isSupported) {
+ assertEquals(impl.hasFeature(feature,version), isSupported);
+ }
+
+
+ private DOMImplementation getDOMImplementation() throws ParserConfigurationException {
+ return createNewDocument().getImplementation();
+ }
+
+
+ private void verifyDocumentType(DocumentType documentType, String name, String publicId, String systemId) {
+ assertEquals(documentType.getPublicId(), publicId);
+ assertEquals(documentType.getSystemId(), systemId);
+ assertEquals(documentType.getName(), name);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/ElementTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,253 @@
+/*
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom.ptests;
+
+import static javax.xml.XMLConstants.XML_NS_URI;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+import static org.testng.Assert.fail;
+import static org.w3c.dom.DOMException.INUSE_ATTRIBUTE_ERR;
+import static org.w3c.dom.ptests.DOMTestUtil.DOMEXCEPTION_EXPECTED;
+import static org.w3c.dom.ptests.DOMTestUtil.createDOM;
+import static org.w3c.dom.ptests.DOMTestUtil.createDOMWithNS;
+import static org.w3c.dom.ptests.DOMTestUtil.createNewDocument;
+
+import java.io.StringReader;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.w3c.dom.Attr;
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
+
+/*
+ * @summary Test for the methods of Element Interface
+ */
+public class ElementTest extends JAXPFileBaseTest {
+ @Test
+ public void testGetAttributeNS() throws Exception {
+ Document document = createDOMWithNS("ElementSample01.xml");
+ Element elemNode = (Element) document.getElementsByTagName("book").item(0);
+ String s = elemNode.getAttributeNS("urn:BooksAreUs.org:BookInfo", "category");
+ assertEquals(s, "research");
+ }
+
+ @Test
+ public void testGetAttributeNodeNS() throws Exception {
+ Document document = createDOMWithNS("ElementSample01.xml");
+ Element elemNode = (Element) document.getElementsByTagName("book").item(0);
+ Attr attr = elemNode.getAttributeNodeNS("urn:BooksAreUs.org:BookInfo", "category");
+ assertEquals(attr.getValue(), "research");
+
+ }
+
+ /*
+ * Test getAttributeNode to get a Attr and then remove it successfully by
+ * removeAttributeNode.
+ */
+ @Test
+ public void testRemoveAttributeNode() throws Exception {
+ Document document = createDOMWithNS("ElementSample01.xml");
+ Element elemNode = (Element) document.getElementsByTagName("book").item(1);
+ Attr attr = elemNode.getAttributeNode("category1");
+ assertEquals(attr.getValue(), "research");
+
+ assertEquals(elemNode.getTagName(), "book");
+ elemNode.removeAttributeNode(attr);
+ assertEquals(elemNode.getAttribute("category1"), "");
+ }
+
+ /*
+ * Test removing an Attribute Node with removeAttributeNS(String
+ * namespaceURI, String localName).
+ */
+ @Test
+ public void testRemoveAttributeNS() throws Exception {
+ final String nsURI = "urn:BooksAreUs.org:BookInfo";
+ final String localName = "category";
+ Document document = createDOMWithNS("ElementSample01.xml");
+ Element elemNode = (Element) document.getElementsByTagName("book").item(0);
+ elemNode.removeAttributeNS(nsURI, localName);
+
+ assertNull(elemNode.getAttributeNodeNS(nsURI, localName));
+ }
+
+ /*
+ * Test getFirstChild and getLastChild.
+ */
+ @Test
+ public void testGetChild() throws Exception {
+ Document document = createDOMWithNS("ElementSample01.xml");
+ Element elemNode = (Element) document.getElementsByTagName("b:aaa").item(0);
+ elemNode.normalize();
+ Node firstChild = elemNode.getFirstChild();
+ Node lastChild = elemNode.getLastChild();
+ assertEquals(firstChild.getNodeValue(), "fjfjf");
+ assertEquals(lastChild.getNodeValue(), "fjfjf");
+ }
+
+ /*
+ * Test setAttributeNode with an Attr from createAttribute.
+ */
+ @Test
+ public void testSetAttributeNode() throws Exception {
+ final String attrName = "myAttr";
+ final String attrValue = "attrValue";
+ Document document = createDOM("ElementSample02.xml");
+ Element elemNode = document.createElement("pricetag2");
+ Attr myAttr = document.createAttribute(attrName);
+ myAttr.setValue(attrValue);
+
+ assertNull(elemNode.setAttributeNode(myAttr));
+ assertEquals(elemNode.getAttribute(attrName), attrValue);
+ }
+
+ @DataProvider(name = "attribute")
+ public Object[][] getAttributeData() {
+ return new Object[][] {
+ { "thisisname", "thisisitsvalue" },
+ { "style", "font-Family" } };
+ }
+
+ @Test(dataProvider = "attribute")
+ public void testSetAttribute(String name, String value) throws Exception {
+ Document document = createDOM("ElementSample02.xml");
+ Element elemNode = document.createElement("pricetag2");
+ elemNode.setAttribute(name, value);
+ assertEquals(elemNode.getAttribute(name), value);
+ }
+
+ /*
+ * Negative test for setAttribute, null is not a valid name.
+ */
+ @Test(expectedExceptions = DOMException.class)
+ public void testSetAttributeNeg() throws Exception {
+ Document document = createDOM("ElementSample02.xml");
+ Element elemNode = document.createElement("pricetag2");
+ elemNode.setAttribute(null, null);
+ }
+
+ /*
+ * Test setAttributeNode, newAttr can't be an attribute of another Element
+ * object, must explicitly clone Attr nodes to re-use them in other
+ * elements.
+ */
+ @Test
+ public void testDuplicateAttributeNode() throws Exception {
+ final String name = "testAttrName";
+ final String value = "testAttrValue";
+ Document document = createNewDocument();
+ Attr attr = document.createAttribute(name);
+ attr.setValue(value);
+
+ Element element1 = document.createElement("AFirstElement");
+ element1.setAttributeNode(attr);
+ Element element2 = document.createElement("ASecondElement");
+ Attr attr2 = (Attr) attr.cloneNode(true);
+ element2.setAttributeNode(attr2);
+ assertEquals(element1.getAttribute(name), element2.getAttribute(name));
+
+ Element element3 = document.createElement("AThirdElement");
+ try {
+ element3.setAttributeNode(attr);
+ fail(DOMEXCEPTION_EXPECTED);
+ } catch (DOMException doe) {
+ assertEquals(doe.code, INUSE_ATTRIBUTE_ERR);
+ }
+ }
+
+ /*
+ * If not setting the namsepace aware method of DocumentBuilderFactory to
+ * true, can't retrieve element by namespace and local name.
+ */
+ @Test
+ public void testNamespaceAware() throws Exception {
+ Document document = createDOM("ElementSample02.xml");
+
+ NodeList nl = document.getElementsByTagNameNS("urn:BooksAreUs.org:BookInfo", "author");
+ assertNull(nl.item(0));
+
+ nl = document.getDocumentElement().getElementsByTagNameNS("urn:BooksAreUs.org:BookInfo", "author");
+ assertNull(nl.item(0));
+ }
+
+ @DataProvider(name = "nsattribute")
+ public Object[][] getNSAttributeData() {
+ return new Object[][] {
+ { "h:html", "html", "attrValue" },
+ { "b:style", "style", "attrValue" } };
+ }
+
+ /*
+ * setAttributeNodeNS and verify it with getAttributeNS.
+ */
+ @Test(dataProvider = "nsattribute")
+ public void testSetAttributeNodeNS(String qualifiedName, String localName, String value) throws Exception {
+ Document document = createDOM("ElementSample03.xml");
+ Element elemNode = document.createElement("pricetag2");
+ Attr myAttr = document.createAttributeNS(XML_NS_URI, qualifiedName);
+ myAttr.setValue(value);
+ assertNull(elemNode.setAttributeNodeNS(myAttr));
+ assertEquals(elemNode.getAttributeNS(XML_NS_URI, localName), value);
+ }
+
+ @Test
+ public void testHasAttributeNS() throws Exception {
+ Document document = createDOMWithNS("ElementSample04.xml");
+ NodeList nodeList = document.getElementsByTagName("body");
+ NodeList childList = nodeList.item(0).getChildNodes();
+ Element child = (Element) childList.item(7);
+ assertTrue(child.hasAttributeNS("urn:BooksAreUs.org:BookInfo", "style"));
+ }
+
+ @Test
+ public void testToString() throws Exception {
+ final String xml =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"
+ + "<!DOCTYPE datacenterlist>"
+ + "<datacenterlist>"
+ + " <datacenterinfo"
+ + " id=\"0\""
+ + " naddrs=\"1\""
+ + " nnodes=\"1\""
+ + " ismaster=\"0\">\n"
+ + " <gateway ipaddr=\"192.168.100.27:26000\"/>"
+ + " </datacenterinfo>"
+ + "</datacenterlist>";
+
+ Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new StringReader(xml)));
+ Element root = doc.getDocumentElement();
+
+ assertEquals(root.toString(), "[datacenterlist: null]");
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/EntityChildTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom.ptests;
+
+import static org.testng.Assert.assertEquals;
+import static org.w3c.dom.ptests.DOMTestUtil.XML_DIR;
+
+import java.io.File;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.annotations.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/*
+ * @summary Test DOM Parser: parsing an xml file that contains external entities.
+ */
+public class EntityChildTest extends JAXPFileBaseTest {
+
+ @Test
+ public void test() throws Exception {
+
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ dbf.setValidating(true);
+ DocumentBuilder docBuilder = dbf.newDocumentBuilder();
+ Document document = docBuilder.parse(new File(XML_DIR + "entitychild.xml"));
+
+ Element root = document.getDocumentElement();
+ NodeList n = root.getElementsByTagName("table");
+ NodeList nl = n.item(0).getChildNodes();
+ assertEquals(n.getLength(), 1);
+ assertEquals(nl.getLength(), 3);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/NamedNodeMapTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom.ptests;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNull;
+import static org.w3c.dom.ptests.DOMTestUtil.createDOMWithNS;
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.annotations.Test;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/*
+ * @summary Test for the methods of NamedNodeMap Interface
+ */
+public class NamedNodeMapTest extends JAXPFileBaseTest {
+ /*
+ * Test setNamedItemNS method with a node having the same namespaceURI and
+ * qualified name as an existing one, and then test with a non-existing node.
+ */
+ @Test
+ public void testSetNamedItemNS() throws Exception {
+ final String nsURI = "urn:BooksAreUs.org:BookInfo";
+ Document document = createDOMWithNS("NamedNodeMap01.xml");
+ NodeList nodeList = document.getElementsByTagName("body");
+ nodeList = nodeList.item(0).getChildNodes();
+ Node n = nodeList.item(3);
+
+ NamedNodeMap namedNodeMap = n.getAttributes();
+
+ // creating an Attribute using createAttributeNS
+ // method having the same namespaceURI
+ // and the same qualified name as the existing one in the xml file
+ Attr attr = document.createAttributeNS(nsURI, "b:style");
+ // setting to a new Value
+ attr.setValue("newValue");
+ Node replacedAttr = namedNodeMap.setNamedItemNS(attr); // return the replaced attr
+ assertEquals(replacedAttr.getNodeValue(), "font-family");
+ Node updatedAttr = namedNodeMap.getNamedItemNS(nsURI, "style");
+ assertEquals(updatedAttr.getNodeValue(), "newValue");
+
+
+ // creating a non existing attribute node
+ attr = document.createAttributeNS(nsURI, "b:newNode");
+ attr.setValue("newValue");
+
+ assertNull(namedNodeMap.setNamedItemNS(attr)); // return null
+
+ // checking if the node could be accessed
+ // using the getNamedItemNS method
+ Node newAttr = namedNodeMap.getNamedItemNS(nsURI, "newNode");
+ assertEquals(newAttr.getNodeValue(), "newValue");
+ }
+
+ /*
+ * Verify getNamedItemNS works as the spec
+ */
+ @Test
+ public void testGetNamedItemNS() throws Exception {
+ Document document = createDOMWithNS("NamedNodeMap03.xml");
+ NodeList nodeList = document.getElementsByTagName("body");
+ nodeList = nodeList.item(0).getChildNodes();
+ Node n = nodeList.item(7);
+ NamedNodeMap namedNodeMap = n.getAttributes();
+ Node node = namedNodeMap.getNamedItemNS("urn:BooksAreUs.org:BookInfo", "aaa");
+ assertEquals(node.getNodeValue(), "value");
+
+ }
+
+ /*
+ * Test setNamedItem method with a node having the same name as an existing
+ * one, and then test with a non-existing node.
+ */
+ @Test
+ public void testSetNamedItem() throws Exception {
+ Document document = createDOMWithNS("NamedNodeMap03.xml");
+ NodeList nodeList = document.getElementsByTagName("body");
+ nodeList = nodeList.item(0).getChildNodes();
+ Node n = nodeList.item(1);
+
+ NamedNodeMap namedNodeMap = n.getAttributes();
+ Attr attr = document.createAttribute("name");
+ Node replacedAttr = namedNodeMap.setNamedItem(attr);
+ assertEquals(replacedAttr.getNodeValue(), "attributeValue");
+ Node updatedAttrNode = namedNodeMap.getNamedItem("name");
+ assertEquals(updatedAttrNode.getNodeValue(), "");
+
+ Attr newAttr = document.createAttribute("nonExistingName");
+ assertNull(namedNodeMap.setNamedItem(newAttr));
+ Node newAttrNode = namedNodeMap.getNamedItem("nonExistingName");
+ assertEquals(newAttrNode.getNodeValue(), "");
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/NodeListTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom.ptests;
+
+import static org.testng.Assert.assertEquals;
+import static org.w3c.dom.ptests.DOMTestUtil.createDOM;
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/*
+ * @summary Verifies a bug found in jaxp1.0.1 and 1.1FCS. After going out of
+ * bound, the last element of a NodeList returns null. The bug has been fixed
+ * in jaxp 1.1.1 build.
+ */
+public class NodeListTest extends JAXPFileBaseTest {
+
+ @DataProvider(name = "xml")
+ public Object[][] getTestData() {
+ return new Object[][] { { "nodelist.xml", "document" }, { "Node01.xml", "body" } };
+ }
+
+ @Test(dataProvider = "xml")
+ public void lastItemTest(String xmlFileName, String nodeName) throws Exception {
+ Document document = createDOM(xmlFileName);
+
+ NodeList nl = document.getElementsByTagName(nodeName);
+ int n = nl.getLength();
+
+ Element elem1 = (Element) nl.item(n - 1);
+ nl.item(n);
+ Element elem3 = (Element) nl.item(n - 1);
+ assertEquals(elem3, elem1);
+
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/NodeTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,207 @@
+/*
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom.ptests;
+
+import static jaxp.library.JAXPTestUtilities.compareWithGold;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNotEquals;
+import static org.testng.Assert.assertTrue;
+import static org.w3c.dom.ptests.DOMTestUtil.GOLDEN_DIR;
+import static org.w3c.dom.ptests.DOMTestUtil.createDOM;
+import static org.w3c.dom.ptests.DOMTestUtil.createDOMWithNS;
+import static org.w3c.dom.ptests.DOMTestUtil.createNewDocument;
+
+import java.io.File;
+
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.TransformerFactoryConfigurationError;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.DocumentFragment;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/*
+ * @summary Test Node interface
+ */
+public class NodeTest extends JAXPFileBaseTest {
+ @DataProvider(name = "feature-supported")
+ public Object[][] getFeatureSupportedList() throws Exception {
+ Document document = createDOMWithNS("Node01.xml");
+ Node node = document.getElementsByTagName("body").item(0);
+ return new Object[][] {
+ { node, "XML", "2.0", true },
+ { node, "HTML", "2.0", false },
+ { node, "Views", "2.0", false },
+ { node, "StyleSheets", "2.0", false },
+ { node, "CSS", "2.0", false },
+ { node, "CSS2", "2.0", false },
+ { node, "Events", "2.0", true },
+ { node, "UIEvents", "2.0", false },
+ { node, "MouseEvents", "2.0", false },
+ { node, "HTMLEvents", "2.0", false },
+ { node, "Traversal", "2.0", true },
+ { node, "Range", "2.0", true } };
+ }
+
+ /*
+ * Verify Node for feature supporting.
+ */
+ @Test(dataProvider = "feature-supported")
+ public void testHasFeature(Node node, String feature, String version, boolean supported) {
+ assertEquals(node.isSupported(feature, version), supported);
+ }
+
+ /*
+ * Test normalize method will merge adjacent Text nodes.
+ */
+ @Test
+ public void testNormalize() throws Exception {
+ Document document = createDOM("Node05.xml");
+
+ Element root = document.getDocumentElement();
+
+ Node node = document.getElementsByTagName("title").item(0);
+ node.appendChild(document.createTextNode("test"));
+ root.normalize();
+ assertEquals(node.getChildNodes().item(0).getNodeValue(), "Typographytest");
+ }
+
+ /*
+ * Test cloneNode deeply, and the clone node can be appended on the same document.
+ */
+ @Test
+ public void testCloneNode() throws Exception {
+ Document document = createDOMWithNS("Node02.xml");
+
+ NodeList nodeList = document.getElementsByTagName("body");
+ Node node = nodeList.item(0);
+ Node cloneNode = node.cloneNode(true);
+
+ assertTrue(node.isEqualNode(cloneNode));
+ assertNotEquals(node, cloneNode);
+
+ nodeList = document.getElementsByTagName("html");
+ Node node2 = nodeList.item(0);
+ node2.appendChild(cloneNode);
+ }
+
+ /*
+ * Test importing node from one document to another.
+ */
+ @Test
+ public void testImportNode() throws Exception {
+ Document document = createDOMWithNS("Node02.xml");
+ Document otherDocument = createDOMWithNS("ElementSample01.xml");
+
+ NodeList otherNodeList = otherDocument.getElementsByTagName("body");
+ Node importedNode = otherNodeList.item(0);
+ Node clone = importedNode.cloneNode(true);
+
+ Node retNode = document.importNode(importedNode, true);
+ assertTrue(clone.isEqualNode(importedNode)); //verify importedNode is not changed
+ assertNotEquals(retNode, importedNode);
+ assertTrue(importedNode.isEqualNode(retNode));
+
+ retNode = document.importNode(importedNode, false);
+ assertTrue(clone.isEqualNode(importedNode)); //verify importedNode is not changed
+ assertEquals(retNode.getNodeName(), importedNode.getNodeName());
+ assertFalse(importedNode.isEqualNode(retNode));
+ }
+
+ /*
+ * Test inserting a document fragment before a particular node.
+ */
+ @Test
+ public void testInsertBefore() throws Exception {
+ Document document = createDOM("Node04.xml");
+
+ Element parentElement = (Element) document.getElementsByTagName("to").item(0);
+ Element element = (Element) document.getElementsByTagName("sender").item(0);
+ parentElement.insertBefore(createTestDocumentFragment(document), element);
+
+ String outputfile = "InsertBefore.out";
+ String goldfile = GOLDEN_DIR + "InsertBeforeGF.out";
+ outputXml(document, outputfile);
+ assertTrue(compareWithGold(goldfile, outputfile));
+ }
+
+
+ /*
+ * Test replacing a particular node with a document fragment.
+ */
+ @Test
+ public void testReplaceChild() throws Exception {
+ Document document = createDOM("Node04.xml");
+
+ Element parentElement = (Element) document.getElementsByTagName("to").item(0);
+ Element element = (Element) document.getElementsByTagName("sender").item(0);
+ parentElement.replaceChild(createTestDocumentFragment(document), element);
+
+ String outputfile = "ReplaceChild3.out";
+ String goldfile = GOLDEN_DIR + "ReplaceChild3GF.out";
+ outputXml(document, outputfile);
+ assertTrue(compareWithGold(goldfile, outputfile));
+ }
+
+ /*
+ * This test case checks for the replaceChild replacing a particular node
+ * with a node which was created from a different document than the one
+ * which is trying to use this method. It should throw a DOMException.
+ */
+ @Test(expectedExceptions = DOMException.class)
+ public void testReplaceChildNeg() throws Exception {
+ Document document = createDOM("Node04.xml");
+ Document doc2 = createNewDocument();
+
+ Element parentElement = (Element) document.getElementsByTagName("to").item(0);
+ Element element = (Element) document.getElementsByTagName("sender").item(0);
+ parentElement.replaceChild(createTestDocumentFragment(doc2), element);
+ }
+
+ private DocumentFragment createTestDocumentFragment(Document document) {
+ DocumentFragment docFragment = document.createDocumentFragment();
+ Element elem = document.createElement("dfElement");
+ elem.appendChild(document.createTextNode("Text in it"));
+ docFragment.appendChild(elem);
+ return docFragment;
+ }
+
+ private void outputXml(Document document, String outputFileName) throws TransformerFactoryConfigurationError, TransformerException {
+ DOMSource domSource = new DOMSource(document);
+ Transformer transformer = TransformerFactory.newInstance().newTransformer();
+ StreamResult streamResult = new StreamResult(new File(outputFileName));
+ transformer.transform(domSource, streamResult);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/NotationTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom.ptests;
+
+import static org.testng.Assert.assertEquals;
+import static org.w3c.dom.ptests.DOMTestUtil.createDOM;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.annotations.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Notation;
+import org.xml.sax.SAXException;
+
+/*
+ * @summary Test for Notation interface
+ */
+public class NotationTest extends JAXPFileBaseTest {
+ /*
+ * Test getSystemId method.
+ */
+ @Test
+ public void testGetSystemId() throws Exception {
+ assertEquals(findNotation("gs").getSystemId(), "http://who.knows.where/");
+ }
+
+ /*
+ * Test getPublicId method.
+ */
+ @Test
+ public void testGetPublicId() throws Exception {
+ assertEquals(findNotation("pubname").getPublicId(), "pubId");
+ }
+
+ //find notation in Notation01.xml
+ private Notation findNotation(String name) throws SAXException, IOException, ParserConfigurationException {
+ Document document = createDOM("Notation01.xml");
+ NamedNodeMap nm = document.getDoctype().getNotations();
+ for (int i = 0; i < nm.getLength(); i++) {
+ if (nm.item(i).getNodeName().equals(name)) {
+ return (Notation) nm.item(i);
+ }
+ }
+ throw new RuntimeException("Notation: '" + name + "' not found.");
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/PITest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom.ptests;
+
+import static org.testng.Assert.assertEquals;
+import static org.w3c.dom.ptests.DOMTestUtil.createDOMWithNS;
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.annotations.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.ProcessingInstruction;
+
+/*
+ * @summary Test for the methods of Processing Instruction
+ */
+public class PITest extends JAXPFileBaseTest {
+ /*
+ * Test getData, setData and getTarget methods
+ */
+ @Test
+ public void test() throws Exception {
+ Document document = createDOMWithNS("PITest01.xml");
+ ProcessingInstruction pi = document.createProcessingInstruction("PI", "processing");
+ assertEquals(pi.getData(), "processing");
+ assertEquals(pi.getTarget(), "PI");
+
+ pi.setData("newProcessing");
+ assertEquals(pi.getData(), "newProcessing");
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/TextTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom.ptests;
+
+import static org.testng.Assert.assertEquals;
+import static org.w3c.dom.ptests.DOMTestUtil.createDOMWithNS;
+import static org.w3c.dom.ptests.DOMTestUtil.createNewDocument;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.testng.annotations.Test;
+import org.w3c.dom.CharacterData;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+import org.xml.sax.SAXException;
+
+/*
+ * @summary Test for Text implementation returned by Document.createTextNode(String)
+ */
+public class TextTest extends AbstractCharacterDataTest {
+ /*
+ * Verify splitText method works as the spec.
+ */
+ @Test
+ public void testSplitText() throws Exception {
+ Document document = createDOMWithNS("Text01.xml");
+
+ NodeList nodeList = document.getElementsByTagName("p");
+ Node node = nodeList.item(0);
+ Text textNode = document.createTextNode("This is a text node");
+ node.appendChild(textNode);
+ int rawChildNum = node.getChildNodes().getLength();
+
+ textNode.splitText(0);
+ int increased = node.getChildNodes().getLength() - rawChildNum;
+ assertEquals(increased, 1);
+
+ }
+
+ @Override
+ protected CharacterData createCharacterData(String text) throws IOException, SAXException, ParserConfigurationException {
+ Document document = createNewDocument();
+ return document.createTextNode(text);
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/ptests/TypeInfoTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom.ptests;
+
+import static javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI;
+import static org.testng.Assert.assertEquals;
+
+import java.io.StringReader;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import jaxp.library.JAXPBaseTest;
+
+import org.testng.annotations.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.TypeInfo;
+import org.xml.sax.InputSource;
+
+/*
+ * @summary Test getTypeName and getTypeNamespace methods of TypeInfo interface
+ */
+public class TypeInfoTest extends JAXPBaseTest {
+ /*
+ * Get the TypeInfo of the root element, and verify it.
+ */
+ @Test
+ public void test() throws Exception {
+ TypeInfo typeInfo = getTypeOfRoot(SCHEMA_INSTANCE, "<?xml version='1.0'?>\n" + "<test1 xmlns=\"testNS\"><code/></test1>\n");
+
+ assertEquals(typeInfo.getTypeName(), "Test");
+ assertEquals(typeInfo.getTypeNamespace(), "testNS");
+
+ }
+
+ private TypeInfo getTypeOfRoot(String schemaText, String docText) throws Exception {
+ Element root = getRoot(schemaText, docText);
+ return root.getSchemaTypeInfo();
+ }
+
+ private Element getRoot(String schemaText, String docText) throws Exception {
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+
+ InputSource inSchema = new InputSource(new StringReader(schemaText));
+ inSchema.setSystemId("schema.xsd");
+ dbf.setNamespaceAware(true);
+ dbf.setValidating(true);
+ dbf.setAttribute(SCHEMA_LANGUAGE, W3C_XML_SCHEMA_NS_URI);
+ dbf.setAttribute(SCHEMA_SOURCE, inSchema);
+
+ DocumentBuilder parser = dbf.newDocumentBuilder();
+
+ InputSource inSource = new InputSource(new StringReader(docText));
+ inSource.setSystemId("doc.xml");
+ Document document = parser.parse(inSource);
+
+ return document.getDocumentElement();
+ }
+
+ private static final String SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";
+
+ private static final String SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource";
+
+ /*
+ * Schema instance
+ */
+ private static final String SCHEMA_INSTANCE =
+ "<?xml version=\"1.0\"?>\n"
+ + "<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\n"
+ + " xmlns:testNS=\"testNS\"\n"
+ + " targetNamespace=\"testNS\" elementFormDefault=\"qualified\">\n"
+ + " <xsd:element name=\"test1\" type=\"testNS:Test\"/>\n"
+ + " \n"
+ + " <xsd:complexType name=\"Test\">\n"
+ + " <xsd:sequence>\n"
+ + " <xsd:element name=\"description\" minOccurs=\"0\"/>\n"
+ + " <xsd:element name=\"code\"/>\n"
+ + " </xsd:sequence>\n"
+ + " </xsd:complexType>\n"
+ + "\n"
+ + " <xsd:element name=\"test2\">\n"
+ + " <xsd:complexType>\n"
+ + " <xsd:sequence>\n"
+ + " <xsd:element name=\"description\" minOccurs=\"0\"/>\n"
+ + " <xsd:element name=\"code\"/>\n"
+ + " </xsd:sequence>\n"
+ + " </xsd:complexType>\n"
+ + " </xsd:element>\n"
+ + "\n"
+ + " <xsd:element name=\"test3\" type=\"xsd:string\"/>\n"
+ + "\n"
+ + " <xsd:element name=\"test4\" type=\"testNS:Test1\"/>\n"
+ + "\n"
+ + " <xsd:simpleType name=\"Test1\">\n"
+ + " <xsd:restriction base=\"xsd:string\"/>\n"
+ + " </xsd:simpleType>\n"
+ + "\n"
+ + " <xsd:element name=\"test5\">\n"
+ + " <xsd:simpleType>\n"
+ + " <xsd:restriction base=\"xsd:string\"/>\n"
+ + " </xsd:simpleType>\n"
+ + " </xsd:element>\n"
+ + "\n"
+ + " <xsd:element name=\"test6\">\n"
+ + " <xsd:complexType>\n"
+ + " <xsd:complexContent>\n"
+ + " <xsd:extension base=\"testNS:Test\">\n"
+ + " <xsd:attribute name=\"attr\" type=\"xsd:string\"/>\n"
+ + " </xsd:extension>\n"
+ + " </xsd:complexContent>\n"
+ + " </xsd:complexType>\n"
+ + " </xsd:element>\n"
+ + "\n"
+ + "</xsd:schema>\n";
+
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/Attr01.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/TR/REC-html40"
+ xmlns:b="urn:BooksAreUs.org:BookInfo">
+ <head>
+ <title>Typography</title>
+ </head>
+
+ <body>
+ <p> Welcome to the world of typography! Here is a book that you may find useful.</p>
+ <b:title style="font-family: sans-serif;">Digital Typography</b:title>
+ <b:author>Donald Knuth</b:author>
+ <b:aaa>fjfjf</b:aaa>
+ </body>
+ <book b:category="research">Numerical Analysis of Partial Differential Equations</book>
+ <book category1="research">Numerical Analysis of Partial Differential Equations</book>
+
+
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/Attr2.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE Book
+[
+ <!ELEMENT Name (#PCDATA)>
+ <!ATTLIST Name type CDATA "fiction">
+
+]>
+
+<Book>
+ <Name>World's best book </Name>
+</Book>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/Attr3.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE Book
+[
+ <!ELEMENT Name (#PCDATA)>
+ <!ATTLIST Name type CDATA #IMPLIED>
+]>
+
+<Book>
+ <Name>World's best book </Name>
+</Book>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/Comment01.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/TR/REC-html40"
+ xmlns:b="urn:BooksAreUs.org:BookInfo">
+ <head>
+ <title>Typography</title>
+ </head>
+
+ <body>
+ <p></p>
+ <b:title style="font-family: sans-serif;">Digital Typography</b:title>
+ <b:author>Donald Knuth</b:author>
+ <book b:aaa ="value">fjfjf</book>
+ </body>
+
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/DocumentBuilderImpl02.dtd Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,12 @@
+<!ELEMENT document ANY>
+<!ELEMENT title (#PCDATA)>
+<!ELEMENT publisher (#PCDATA)>
+<!ELEMENT book (#PCDATA)>
+<!ELEMENT bookurn (#PCDATA)>
+<!ATTLIST book price CDATA "$100">
+<!ATTLIST book author CDATA "Herold">
+<!ATTLIST book number ID #REQUIRED>
+<!ATTLIST bookurn xmlns CDATA "10">
+<!ATTLIST bookurn xmlns:isbn CDATA "10">
+<!ENTITY w "William">
+<!ENTITY s "Shakespeare">
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/DocumentTest01.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+ <html xmlns:h="http://www.w3.org/TR/REC-html40"
+ xmlns:b="urn:BooksAreUs.org:BookInfo">
+ <h:head>
+ <h:title>Typography</h:title>
+ </h:head>
+ <h:body>
+ <h:p>Welcome to the world of typography! Here is a book that you may find useful.</h:p>
+ <b:title h:style="font-family: sans-serif;">Digital Typography</b:title>
+ <b:author>Donald Knuth</b:author>
+ </h:body>
+ </html>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/DocumentType01.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<!DOCTYPE note [
+<!ELEMENT note (to,from,heading,body)>
+<!ELEMENT to (#PCDATA)>
+<!ENTITY writer "Albert Einstein">
+<!ENTITY author "Albert Einstein">
+<!ENTITY test SYSTEM "test.txt">
+<!ENTITY % test2 "test2">
+<!ENTITY author "author">
+]>
+<note>
+<to>&writer;</to>
+
+</note>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/DocumentType03.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<!DOCTYPE note [
+<!ELEMENT note (to,from,heading,body)>
+<!ELEMENT to (#PCDATA)>
+<!NOTATION gs SYSTEM "GhostScript">
+
+
+ <!NOTATION name PUBLIC "pubId">
+
+
+ <!NOTATION name PUBLIC "pubId" "sysId">
+
+
+ <!NOTATION name SYSTEM "sysId">
+]>
+<note>
+<to>lll</to>
+
+</note>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/DocumentType05.dtd Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,12 @@
+<!ELEMENT document ANY>
+<!ELEMENT title (#PCDATA)>
+<!ELEMENT publisher (#PCDATA)>
+<!ELEMENT book (#PCDATA)>
+<!ELEMENT bookurn (#PCDATA)>
+<!ATTLIST book price CDATA "$100">
+<!ATTLIST book author CDATA "Herold">
+<!ATTLIST book number ID #REQUIRED>
+<!ATTLIST bookurn xmlns CDATA "10">
+<!ATTLIST bookurn xmlns:isbn CDATA "10">
+<!ENTITY w "William">
+<!ENTITY s "Shakespeare">
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/DocumentType05.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,28 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE document SYSTEM "DocumentBuilderImpl02.dtd">
+<document>
+
+ Publishers of the Music of New York Women Composers
+
+ <title>The Publishers </title>
+
+ <publisher>
+ Alfred Publishing
+ &w;
+ 15535 Morrison
+ South Oaks CA 91403
+ </publisher>
+
+ <book price="$100" author = "Herold" number = "no_11">
+ eXtensible Markup Language
+ </book>
+
+ <bookurn xmlns='urn:loc.gov:books'
+ xmlns:isbn='urn:ISBN:0-395-36341-6'/>
+
+
+ Publishers are not noted in report by time.
+
+</document>
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/ElementSample01.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/TR/REC-html40"
+ xmlns:b="urn:BooksAreUs.org:BookInfo">
+ <head>
+ <title>Typography</title>
+ </head>
+
+ <body>
+ <p> Welcome to the world of typography! Here is a book that you may find useful.</p>
+ <b:title style="font-family: sans-serif;">Digital Typography</b:title>
+ <b:author>Donald Knuth</b:author>
+ <b:aaa>fjfjf</b:aaa>
+ </body>
+ <book b:category="research">Numerical Analysis of Partial Differential Equations</book>
+ <book category1="research">Numerical Analysis of Partial Differential Equations</book>
+
+
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/ElementSample02.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/TR/REC-html40"
+ xmlns:b="urn:BooksAreUs.org:BookInfo">
+ <head>
+ <title>Typography</title>
+ </head>
+
+ <body>
+ <p style = "font-family"> Welcome to the world of typography! Here is a book that you may find useful.</p>
+ <b:title style="font-family: sans-serif;">Digital Typography</b:title>
+ <b:author>Donald Knuth</b:author>
+ <b:aaa>fjfjf</b:aaa>
+ </body>
+
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/ElementSample03.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/TR/REC-html40"
+ xmlns:b="urn:BooksAreUs.org:BookInfo">
+ <head>
+ <title>Typography</title>
+ </head>
+
+ <body>
+ <p> Welcome to the world of typography! Here is a book that you may find useful.</p>
+ <b:title b:style="font-family: sans-serif;">Digital Typography</b:title>
+ <b:author>Donald Knuth</b:author>
+ <b:aaa>fjfjf</b:aaa>
+ </body>
+
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/ElementSample04.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/TR/REC-html40"
+ xmlns:b="urn:BooksAreUs.org:BookInfo">
+ <head>
+ <title>Typography</title>
+ </head>
+
+ <body>
+ <p name = "attributeValue"> Welcome to the world of typography! Here is a book that you may find useful.</p>
+ <b:title b:style="font-family: sans-serif;">Digital Typography</b:title>
+ <b:author>Donald Knuth</b:author>
+ <b:aaa b:style="font-family">this is it</b:aaa>
+ </body>
+
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/NamedNodeMap01.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/TR/REC-html40"
+ xmlns:b="urn:BooksAreUs.org:BookInfo">
+ <head>
+ <title>Typography</title>
+ </head>
+
+ <body>
+ <p name = "attributeValue"> Welcome to the world of typography! Here is a book that you may find useful.</p>
+ <world b:style="font-family">Digital Typography</world>
+ <b:author>Donald Knuth</b:author>
+ <book b:aaa ="value">fjfjf</book>
+ </body>
+
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/NamedNodeMap03.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/TR/REC-html40"
+ xmlns:b="urn:BooksAreUs.org:BookInfo">
+ <head>
+ <title>Typography</title>
+ </head>
+
+ <body>
+ <p name = "attributeValue"> Welcome to the world of typography! Here is a book that you may find useful.</p>
+ <b:title style="font-family: sans-serif;">Digital Typography</b:title>
+ <b:author>Donald Knuth</b:author>
+ <book b:aaa ="value">fjfjf</book>
+ </body>
+
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/Node01.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/TR/REC-html40"
+ xmlns:b="urn:BooksAreUs.org:BookInfo">
+ <head>
+ <title>Typography</title>
+ </head>
+
+ <body>
+ <p name = "attributeValue"> Welcome to the world of typography! Here is a book that you may find useful.</p>
+ <world b:style="font-family">Digital Typography</world>
+ <b:author>Donald Knuth</b:author>
+ <book b:aaa ="value">fjfjf</book>
+ </body>
+
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/Node02.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/TR/REC-html40"
+ xmlns:b="urn:BooksAreUs.org:BookInfo">
+ <head>
+ <title>Typography</title>
+ </head>
+
+ <body>
+ <p name = "attributeValue"> Welcome to the world of typography! Here is a book that you may find useful.</p>
+ <b:title style="font-family: sans-serif;">Digital Typography</b:title>
+ <b:author>Donald Knuth</b:author>
+ <book b:aaa ="value">fjfjf</book>
+ </body>
+
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/Node04.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<note>
+<to>
+<sender>John</sender>
+</to>
+<with>message </with>
+<body> weekend!</body>
+</note>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/Node05.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<html>
+ <head>
+ <title>Typography</title>
+</head>
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/Notation01.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<!DOCTYPE note [
+<!ELEMENT note (to,from,heading,body)>
+<!ELEMENT to (#PCDATA)>
+<!NOTATION gs SYSTEM "http://who.knows.where/">
+
+
+ <!NOTATION pubname PUBLIC "pubId">
+
+
+ <!NOTATION comname PUBLIC "pubId" "sysId">
+
+
+ <!NOTATION name SYSTEM "http://who.knows.where/">
+]>
+<note>
+<to>lll</to>
+
+</note>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/PITest01.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/TR/REC-html40"
+ xmlns:b="urn:BooksAreUs.org:BookInfo">
+ <head>
+ <title>Typography</title>
+ </head>
+
+ <body>
+ <p name = "attributeValue"> Welcome to the world of typography! Here is a book that you may find useful.</p>
+ <world b:style="font-family">Digital Typography</world>
+ <b:author>Donald Knuth</b:author>
+ <book b:aaa ="value">fjfjf</book>
+ </body>
+
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/Text01.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/TR/REC-html40"
+ xmlns:b="urn:BooksAreUs.org:BookInfo">
+ <head>
+ <title>Typography</title>
+ </head>
+
+ <body>
+ <p></p>
+ <b:title style="font-family: sans-serif;">Digital Typography</b:title>
+ <b:author>Donald Knuth</b:author>
+ <book b:aaa ="value">fjfjf</book>
+ </body>
+
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/ee.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<table name="table">
+<column name="Column" expr="col">
+&mkm;
+</column>
+</table>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/entitychild.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,15 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE main [
+<!ELEMENT main (table)*>
+<!ELEMENT table (column)*>
+<!ATTLIST table name NMTOKEN #REQUIRED>
+<!ELEMENT column ANY>
+<!ATTLIST column name NMTOKEN #REQUIRED>
+<!ATTLIST column expr CDATA #REQUIRED>
+<!ENTITY mkm "mkrishnamohan">
+<!ENTITY ee SYSTEM "ee.xml">
+]>
+
+<main>
+ⅇ
+</main>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/nodelist.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,2 @@
+<?xml version="1.0" standalone="no"?>
+<document>onenode</document>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/out/InsertBeforeGF.out Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><note>
+<to>
+<dfElement>Text in it</dfElement><sender>John</sender>
+</to>
+<with>message </with>
+<body> weekend!</body>
+</note>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/org/w3c/dom/xmlfiles/out/ReplaceChild3GF.out Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><note>
+<to>
+<dfElement>Text in it</dfElement>
+</to>
+<with>message </with>
+<body> weekend!</body>
+</note>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/AstroTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package test.astro;
+
+import static java.lang.String.valueOf;
+import static org.testng.Assert.assertEquals;
+import static test.astro.AstroConstants.ASTROCAT;
+import static test.astro.AstroConstants.GOLDEN_DIR;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.List;
+
+import javax.xml.transform.sax.TransformerHandler;
+
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+/*
+ * @summary run astro application, test xslt
+ *
+ * There are vast amounts of textual astronomical data, typically user is
+ * interested in a small subset, which is the result from carrying out a query.
+ * A query can be composed of one or more filters, for example, the user could
+ * query the database for all stars of visual magnitude down to 6.5 that lie
+ * between right ascensions 0 h to 2 h, and between declinations of 45 to 90 degrees.
+ *
+ * Astro application uses JAXP to query astronomical data saved in an XML dataset.
+ * A FilterFactory implementation creates filter(A filter is an instance of a JAXP
+ * TransformerHandler) from an XSL stylesheet.
+ * A InputSourceFactory implementation creates a new sax input source from an XML file.
+ * AstroProcessor leverages InputSourceFactory to parse catalog.xml, which saves
+ * textual astronomical data, and then creates filters with specified parameters
+ * from FilterFactory, all of the filters are chained together, AstroProcessor
+ * appends the HTML filter at the end of filter chain, and hooks up the chain to
+ * the input source, finally processes and outputs to the user specified output file.
+ *
+ * AstroTest drives AstroProcessor to run the specified queries(total 4 in setup),
+ * and then compares the output with the golden files to determine PASS or FAIL.
+ * It provides variant implementations of FilterFactory and InputSourceFactory to
+ * AstroProcessor to test different JAXP classes and features.
+ *
+ */
+public class AstroTest extends JAXPFileBaseTest {
+ private FiltersAndGolden[] data;
+
+ @BeforeClass
+ public void setup() throws Exception {
+ data = new FiltersAndGolden[4];
+ data[0] = new FiltersAndGolden(getGoldenFileContent(1), astro -> astro.getRAFilter(0.106, 0.108));
+ data[1] = new FiltersAndGolden(getGoldenFileContent(2), astro -> astro.getStellarTypeFilter("K0IIIbCN-0.5"));
+ data[2] = new FiltersAndGolden(getGoldenFileContent(3), astro -> astro.getStellarTypeFilter("G"), astro -> astro.getDecFilter(-5.0, 60.0));
+ data[3] = new FiltersAndGolden(getGoldenFileContent(4), astro -> astro.getRADECFilter(0.084, 0.096, -5.75, 14.0));
+ }
+
+ /*
+ * Provide permutations of InputSourceFactory and FilterFactory for test.
+ */
+ @DataProvider(name = "factories")
+ public Object[][] getQueryFactories() {
+ return new Object[][] {
+ { StreamFilterFactoryImpl.class, InputSourceFactoryImpl.class },
+ { SAXFilterFactoryImpl.class, InputSourceFactoryImpl.class },
+ { DOMFilterFactoryImpl.class, InputSourceFactoryImpl.class },
+ { TemplatesFilterFactoryImpl.class, InputSourceFactoryImpl.class },
+ { StreamFilterFactoryImpl.class, DOML3InputSourceFactoryImpl.class } };
+ }
+
+ @Test(dataProvider = "factories")
+ public void test(Class<FilterFactory> fFactClass, Class<InputSourceFactory> isFactClass) throws Exception {
+ System.out.println(fFactClass.getName() +" : " + isFactClass.getName());
+ AstroProcessor astro = new AstroProcessor(fFactClass, ASTROCAT, isFactClass);
+
+ for (int i = 0; i < data.length; i++) {
+ runProcess(astro, valueOf(i + 1), data[i].getGolden(), data[i].getFilters());
+ }
+ }
+
+ private void runProcess(AstroProcessor astro, String processNum, List<String> goldenfileContent, FilterCreator... filterCreators) throws Exception {
+ System.out.println("run process " + processNum);
+ TransformerHandler[] filters = new TransformerHandler[filterCreators.length];
+ for (int i = 0; i < filterCreators.length; i++)
+ filters[i] = filterCreators[i].createFilter(astro);
+
+ String outputfile = Files.createTempFile(Paths.get("").toAbsolutePath(), "query" + processNum + ".out.", null).toString();
+ System.out.println("output file: " + outputfile);
+ astro.process(outputfile, filters);
+ assertEquals(Files.readAllLines(Paths.get(outputfile)), goldenfileContent);
+ }
+
+ private List<String> getGoldenFileContent(int num) throws IOException {
+ return Files.readAllLines(Paths.get(GOLDEN_DIR + "query" + num + ".out"));
+ }
+
+ @FunctionalInterface
+ private interface FilterCreator {
+ TransformerHandler createFilter(AstroProcessor astro) throws Exception;
+ }
+
+ private static class FiltersAndGolden {
+ private FilterCreator[] filters;
+ private List<String> golden;
+
+ FiltersAndGolden(List<String> golden, FilterCreator... filters) {
+ this.filters = filters;
+ this.golden = golden;
+ }
+
+ FilterCreator[] getFilters() {
+ return filters;
+ }
+
+ List<String> getGolden() {
+ return golden;
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/DocumentLSTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,180 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import static jaxp.library.JAXPTestUtilities.filenameToURL;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+import static org.w3c.dom.ls.DOMImplementationLS.MODE_SYNCHRONOUS;
+import static test.astro.AstroConstants.ASTROCAT;
+
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.Writer;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.annotations.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.ls.DOMImplementationLS;
+import org.w3c.dom.ls.LSInput;
+import org.w3c.dom.ls.LSOutput;
+import org.w3c.dom.ls.LSParser;
+import org.w3c.dom.ls.LSSerializer;
+
+/*
+ * @summary org.w3c.dom.ls tests
+ */
+public class DocumentLSTest extends JAXPFileBaseTest {
+ /*
+ * Test creating an empty Document
+ */
+ @Test
+ public void testNewDocument() throws ParserConfigurationException {
+ Document doc = getDocumentBuilder().newDocument();
+ assertNull(doc.getDocumentElement());
+ }
+
+ /*
+ * Test creating an LSInput instance, and parsing ByteStream
+ */
+ @Test
+ public void testLSInputParsingByteStream() throws Exception {
+ DOMImplementationLS impl = (DOMImplementationLS) getDocumentBuilder().getDOMImplementation();
+ LSParser domParser = impl.createLSParser(MODE_SYNCHRONOUS, null);
+ LSInput src = impl.createLSInput();
+
+ try (InputStream is = new FileInputStream(ASTROCAT)) {
+ src.setByteStream(is);
+ assertNotNull(src.getByteStream());
+ // set certified accessor methods
+ boolean origCertified = src.getCertifiedText();
+ src.setCertifiedText(true);
+ assertTrue(src.getCertifiedText());
+ src.setCertifiedText(origCertified); // set back to orig
+
+ src.setSystemId(filenameToURL(ASTROCAT));
+
+ Document doc = domParser.parse(src);
+ Element result = doc.getDocumentElement();
+ assertEquals(result.getTagName(), "stardb");
+ }
+ }
+
+ /*
+ * Test creating an LSInput instance, and parsing String
+ */
+ @Test
+ public void testLSInputParsingString() throws Exception {
+ DOMImplementationLS impl = (DOMImplementationLS) getDocumentBuilder().getDOMImplementation();
+ String xml = "<?xml version='1.0'?><test>runDocumentLS_Q6</test>";
+
+ LSParser domParser = impl.createLSParser(MODE_SYNCHRONOUS, null);
+ LSSerializer domSerializer = impl.createLSSerializer();
+ // turn off xml decl in serialized string for comparison
+ domSerializer.getDomConfig().setParameter("xml-declaration", Boolean.FALSE);
+ LSInput src = impl.createLSInput();
+ src.setStringData(xml);
+ assertEquals(src.getStringData(), xml);
+
+ Document doc = domParser.parse(src);
+ String result = domSerializer.writeToString(doc);
+
+ assertEquals(result, "<test>runDocumentLS_Q6</test>");
+ }
+
+ /*
+ * Test writing with an LSOutput instance
+ */
+ @Test
+ public void testLSOutput() throws Exception {
+ DocumentBuilder db = getDocumentBuilder();
+ // Create the Document using the supplied builder...
+ Document doc = db.parse(ASTROCAT);
+
+ DOMImplementationLS impl = null;
+
+ impl = (DOMImplementationLS) db.getDOMImplementation();
+ LSSerializer domSerializer = impl.createLSSerializer();
+ MyDOMOutput mydomoutput = new MyDOMOutput();
+ try (OutputStream os = new FileOutputStream("test.out")) {
+ mydomoutput.setByteStream(os);
+ mydomoutput.setEncoding("UTF-8");
+ assertTrue(domSerializer.write(doc, mydomoutput));
+ }
+ }
+
+ private static class MyDOMOutput implements LSOutput {
+ private OutputStream bytestream = null;
+ private String encoding = null;
+ private String sysId = null;
+ private Writer writer = null;
+
+ public OutputStream getByteStream() {
+ return bytestream;
+ }
+
+ public Writer getCharacterStream() {
+ return writer;
+ }
+
+ public String getEncoding() {
+ return encoding;
+ }
+
+ public String getSystemId() {
+ return sysId;
+ }
+
+ public void setByteStream(OutputStream bs) {
+ bytestream = bs;
+ }
+
+ public void setCharacterStream(Writer cs) {
+ writer = cs;
+ }
+
+ public void setEncoding(String enc) {
+ encoding = enc;
+ }
+
+ public void setSystemId(String sysId) {
+ this.sysId = sysId;
+ }
+ }
+
+ private DocumentBuilder getDocumentBuilder() throws ParserConfigurationException {
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ dbf.setNamespaceAware(true);
+ return dbf.newDocumentBuilder();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/NamespaceContextTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import static javax.xml.XMLConstants.DEFAULT_NS_PREFIX;
+import static javax.xml.XMLConstants.NULL_NS_URI;
+import static org.testng.Assert.assertEquals;
+
+import javax.xml.namespace.QName;
+
+import jaxp.library.JAXPBaseTest;
+
+import org.testng.annotations.Test;
+
+/*
+ * @summary javax.xml.namespace.QName tests
+ */
+public class NamespaceContextTest extends JAXPBaseTest {
+ private static final String PREFIX = "astro";
+ private static final String LOCAL_PART = "stardb";
+ private static final String NS_URI = "http://www.astro.com";
+
+ /*
+ * Test QName(String, String, String) and accessors.
+ */
+ @Test
+ public void testQNameConstructor() {
+ QName qname = new QName(NS_URI, LOCAL_PART, PREFIX);
+ assertEquals(qname.getNamespaceURI(), NS_URI);
+ assertEquals(qname.getLocalPart(), LOCAL_PART);
+ assertEquals(qname.getPrefix(), PREFIX);
+ }
+
+ /*
+ * Construct QName(String localpart), then test for default ns_uri and
+ * prefix constant.
+ */
+ @Test
+ public void testDefaultFields() {
+ QName qname = new QName(LOCAL_PART); // just the local part specified
+ assertEquals(qname.getNamespaceURI(), NULL_NS_URI);
+ assertEquals(qname.getLocalPart(), LOCAL_PART);
+ assertEquals(qname.getPrefix(), DEFAULT_NS_PREFIX);
+ }
+
+ /*
+ * Construct QName(String ns,String localpart), then test for default prefix
+ * constant.
+ */
+ @Test
+ public void testDefaultPrefix() {
+ QName qname = new QName(NS_URI, LOCAL_PART); // no pref
+ assertEquals(qname.getNamespaceURI(), NS_URI);
+ assertEquals(qname.getLocalPart(), LOCAL_PART);
+ assertEquals(qname.getPrefix(), DEFAULT_NS_PREFIX);
+ }
+
+ /*
+ * Round trip testing of QName to String, String to QName and test for
+ * equality.
+ */
+ @Test
+ public void testQNameString() {
+ QName qname = new QName(NS_URI, LOCAL_PART, PREFIX);
+ assertEquals(QName.valueOf(qname.toString()), qname);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/SAX201Test.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import javax.xml.parsers.SAXParserFactory;
+
+import jaxp.library.JAXPBaseTest;
+
+import org.testng.annotations.Test;
+import org.xml.sax.XMLReader;
+
+/*
+ * @summary verify SAX 2.0.1 allows to use null in setters
+ */
+public class SAX201Test extends JAXPBaseTest {
+ @Test
+ public void test() throws Exception {
+ SAXParserFactory spf = SAXParserFactory.newInstance();
+ spf.setNamespaceAware(true);
+ XMLReader reader = spf.newSAXParser().getXMLReader();
+ reader.setErrorHandler(null); // SAX 2.0.1 allows
+ reader.setContentHandler(null); // SAX 2.0.1 allows
+ reader.setEntityResolver(null); // SAX 2.0.1 allows
+ reader.setDTDHandler(null); // SAX 2.0.1 allows
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/SchemaValidationTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import static javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI;
+import static test.astro.AstroConstants.ASTROCAT;
+import static test.astro.AstroConstants.JAXP_SCHEMA_LANGUAGE;
+import static test.astro.AstroConstants.JAXP_SCHEMA_SOURCE;
+
+import java.io.File;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.annotations.Test;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+/*
+ * @summary test parser sets schema related properties to do validation
+ */
+public class SchemaValidationTest extends JAXPFileBaseTest {
+ /*
+ * Only set the schemaLanguage, without setting schemaSource. It should
+ * work.
+ */
+ @Test
+ public void testSchemaValidation() throws Exception {
+ SAXParser sp = getValidatingParser();
+ sp.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA_NS_URI);
+ sp.parse(new File(ASTROCAT), new DefaultHandler());
+ }
+
+ /*
+ * Test SAXException shall be thrown if schemaSource is set but
+ * schemaLanguage is not set.
+ */
+ @Test(expectedExceptions = SAXException.class)
+ public void testSchemaValidationNeg() throws Exception {
+ SAXParser sp = getValidatingParser();
+ sp.setProperty(JAXP_SCHEMA_SOURCE, "catalog.xsd");
+ sp.parse(new File(ASTROCAT), new DefaultHandler());
+ }
+
+ private SAXParser getValidatingParser() throws ParserConfigurationException, SAXException {
+ SAXParserFactory spf = SAXParserFactory.newInstance();
+ spf.setNamespaceAware(true);
+ spf.setValidating(true);
+ return spf.newSAXParser();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/XPathAPITest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import static javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI;
+import static javax.xml.xpath.XPathConstants.DOM_OBJECT_MODEL;
+import static javax.xml.xpath.XPathConstants.NODESET;
+import static jaxp.library.JAXPTestUtilities.filenameToURL;
+import static org.testng.Assert.assertEquals;
+import static test.astro.AstroConstants.ASTROCAT;
+import static test.astro.AstroConstants.JAXP_SCHEMA_LANGUAGE;
+import static test.astro.AstroConstants.JAXP_SCHEMA_SOURCE;
+
+import java.net.MalformedURLException;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import javax.xml.namespace.NamespaceContext;
+import javax.xml.namespace.QName;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathExpression;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+import javax.xml.xpath.XPathVariableResolver;
+
+import jaxp.library.JAXPFileBaseTest;
+
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
+
+/*
+ * @summary test XPath API
+ */
+@Test(singleThreaded = true)
+public class XPathAPITest extends JAXPFileBaseTest {
+ private static final String STARDB_STAR_3_CONSTELLATION = "//astro:stardb/astro:star[3]/astro:constellation";
+ private static final String STARDB_STAR = "//astro:stardb/astro:star";
+ private Document doc;
+ private XPathFactory xpf;
+ private NamespaceContext nsContext;
+
+ @BeforeClass
+ public void setup() throws Exception {
+ DocumentBuilderFactory df = DocumentBuilderFactory.newInstance();
+ df.setNamespaceAware(true);
+ df.setValidating(true);
+ df.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA_NS_URI);
+ df.setAttribute(JAXP_SCHEMA_SOURCE, "catalog.xsd");
+ DocumentBuilder bldr = df.newDocumentBuilder();
+ doc = bldr.parse(ASTROCAT);
+
+ xpf = XPathFactory.newInstance(DOM_OBJECT_MODEL);
+
+ nsContext = new MyNamespaceContext();
+ }
+
+ @DataProvider(name = "nodelist-evaluator")
+ public Object[][] getNodeListEvaluator() throws MalformedURLException {
+ return new Object[][] { { (XPathEvaluator) expression -> getXPath().evaluate(expression, doc.getDocumentElement(), NODESET) },
+ { (XPathEvaluator) expression -> getXPath().evaluate(expression, createXMLInputSource(), NODESET) },
+ { (XPathEvaluator) expression -> getXPathExpression(expression).evaluate(doc.getDocumentElement(), NODESET) },
+ { (XPathEvaluator) expression -> getXPathExpression(expression).evaluate(createXMLInputSource(), NODESET) } };
+ }
+
+ /*
+ * Test xpath expression evaluations method that returns type indicated by
+ * QName
+ */
+ @Test(dataProvider = "nodelist-evaluator")
+ public void testEvaluateNodeList(XPathEvaluator evaluator) throws Exception {
+ NodeList o = (NodeList) evaluator.evaluate(STARDB_STAR);
+ assertEquals(o.getLength(), 10);
+ }
+
+ @DataProvider(name = "string-evaluator")
+ public Object[][] getStringEvaluator() throws MalformedURLException {
+ return new Object[][] { { (XPathEvaluator) expression -> getXPath().evaluate(expression, doc.getDocumentElement()) },
+ { (XPathEvaluator) expression -> getXPath().evaluate(expression, createXMLInputSource()) },
+ { (XPathEvaluator) expression -> getXPathExpression(expression).evaluate(doc.getDocumentElement()) },
+ { (XPathEvaluator) expression -> getXPathExpression(expression).evaluate(createXMLInputSource()) } };
+ }
+
+ /*
+ * Test xpath expression evaluations method that returns String
+ */
+ @Test(dataProvider = "string-evaluator")
+ public void testEvaluateString(XPathEvaluator evaluator) throws Exception {
+ assertEquals(evaluator.evaluate(STARDB_STAR_3_CONSTELLATION), "Psc");
+ }
+
+ @Test
+ public void testXPathVariableResolver() throws Exception {
+ XPath xpath = getXPath();
+ xpath.setXPathVariableResolver(new MyXPathVariableResolver());
+ assertEquals(xpath.evaluate("//astro:stardb/astro:star[astro:hr=$id]/astro:constellation", doc.getDocumentElement()), "Peg");
+
+ }
+
+ private static class MyXPathVariableResolver implements XPathVariableResolver {
+ public Object resolveVariable(QName vname) {
+ return "4"; // resolve $id as 4, xpath will locate to star[hr=4]
+ }
+ }
+
+ /*
+ * Implementation of a NamespaceContext interface for the Xpath api tests.
+ * Used in xpath.setNamespaceContext(...)
+ */
+ private static class MyNamespaceContext implements NamespaceContext {
+ public String getNamespaceURI(String prefix) {
+ return "astro".equals(prefix) ? "http://www.astro.com/astro" : "";
+ }
+
+ public String getPrefix(String nsURI) {
+ return "http://www.astro.com/astro".equals(nsURI) ? "astro" : "";
+ }
+
+ public Iterator getPrefixes(String nsURI) {
+ ArrayList list = new ArrayList();
+ list.add("astro");
+ return list.iterator();
+ }
+ }
+
+ @FunctionalInterface
+ private interface XPathEvaluator {
+ Object evaluate(String expression) throws XPathExpressionException;
+ }
+
+ private XPath getXPath() {
+ XPath xpath = xpf.newXPath();
+ xpath.setNamespaceContext(nsContext);
+ return xpath;
+ }
+
+ private XPathExpression getXPathExpression(String expression) throws XPathExpressionException {
+ return getXPath().compile(expression);
+ }
+
+ private InputSource createXMLInputSource() {
+ return new InputSource(filenameToURL(ASTROCAT));
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/catalog.xml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,17 @@
+<?xml version="1.1" encoding="UTF-8"?>
+<stardb xmlns="http://www.astro.com/astro" xmlns:astro="http://www.astro.com/astro" xsi:schemaLocation="http://www.astro.com/astro catalog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <_test01></_test01>
+ <test-02 xmlns:xsi=""></test-02>
+ <test.03></test.03>
+ <_test-04>T%e!s#t$</_test-04>
+ <star><hr>1</hr><constellation/><fullname/><ra><h>00</h><m>05</m><s>09.9</s><dv>0.08608333333333333</dv></ra><dec><sgn/><d>45</d><m>13</m><s>45</s><dv>45.22916666666667</dv></dec><glng>114.44</glng><glat>-16.88</glat><vmag>6.70</vmag><spec>A1Vn</spec></star>
+ <star><hr>2</hr><constellation/><fullname/><ra><h>00</h><m>05</m><s>03.8</s><dv>0.08438888888888889</dv></ra><dec><sgn>-</sgn><d>00</d><m>30</m><s>11</s><dv>-0.5030555555555556</dv></dec><glng>98.33</glng><glat>-61.14</glat><vmag>6.29</vmag><spec>gG9</spec></star>
+ <star><hr>3</hr><constellation>Psc</constellation><fullname>33 Psc</fullname><ra><h>00</h><m>05</m><s>20.1</s><dv>0.08891666666666666</dv></ra><dec><sgn>-</sgn><d>05</d><m>42</m><s>27</s><dv>-5.7075000000000005</dv></dec><glng>93.75</glng><glat>-65.93</glat><vmag>4.61</vmag><spec>K0IIIbCN-0.5</spec></star>
+ <star><hr>4</hr><constellation>Peg</constellation><fullname>86 Peg</fullname><ra><h>00</h><m>05</m><s>42.0</s><dv>0.095</dv></ra><dec><sgn/><d>13</d><m>23</m><s>46</s><dv>13.39611111111111</dv></dec><glng>106.19</glng><glat>-47.98</glat><vmag>5.51</vmag><spec>G5III</spec></star>
+ <star><hr>5</hr><constellation/><fullname/><ra><h>00</h><m>06</m><s>16.0</s><dv>0.10444444444444445</dv></ra><dec><sgn/><d>58</d><m>26</m><s>12</s><dv>58.43666666666666</dv></dec><glng>117.03</glng><glat>-03.92</glat><vmag>5.96</vmag><spec>G5V</spec></star>
+ <star><hr>6</hr><constellation/><fullname/><ra><h>00</h><m>06</m><s>19.0</s><dv>0.10527777777777779</dv></ra><dec><sgn>-</sgn><d>49</d><m>04</m><s>30</s><dv>-49.075</dv></dec><glng>321.61</glng><glat>-66.38</glat><vmag>5.70</vmag><spec>G1IV</spec></star>
+ <star><hr>7</hr><constellation>Cas</constellation><fullname>10 Cas</fullname><ra><h>00</h><m>06</m><s>26.5</s><dv>0.10736111111111112</dv></ra><dec><sgn/><d>64</d><m>11</m><s>46</s><dv>64.19611111111111</dv></dec><glng>118.06</glng><glat>1.75</glat><vmag>5.59</vmag><spec>B9III</spec></star>
+ <star><hr>8</hr><constellation/><fullname/><ra><h>00</h><m>06</m><s>36.8</s><dv>0.11022222222222222</dv></ra><dec><sgn/><d>29</d><m>01</m><s>17</s><dv>29.02138888888889</dv></dec><glng>111.26</glng><glat>-32.83</glat><vmag>6.13</vmag><spec>K0V</spec></star>
+ <star><hr>9</hr><constellation/><fullname/><ra><h>00</h><m>06</m><s>50.1</s><dv>0.11391666666666667</dv></ra><dec><sgn>-</sgn><d>23</d><m>06</m><s>27</s><dv>-23.1075</dv></dec><glng>52.21</glng><glat>-79.14</glat><vmag>6.18</vmag><spec>A7V</spec></star>
+ <star><hr>10</hr><constellation/><fullname/><ra><h>00</h><m>07</m><s>18.2</s><dv>0.12172222222222222</dv></ra><dec><sgn>-</sgn><d>17</d><m>23</m><s>11</s><dv>-17.386388888888888</dv></dec><glng>74.36</glng><glat>-75.90</glat><vmag>6.19</vmag><spec>A6Vn</spec></star>
+</stardb>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/catalog.xml.bak Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,2 @@
+<?xml version="1.1" encoding="UTF-8"?>
+<stardb xmlns="http://www.astro.com/astro" xmlns:astro="http://www.astro.com/astro" xsi:schemaLocation="http://www.astro.com/astro catalog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><_test01></_test01><test-02 xmlns:xsi=""></test-02><test.03></test.03><_test-04>T%e!s#t$</_test-04><star><hr>1</hr><constellation/><fullname/><ra><h>00</h><m>05</m><s>09.9</s><dv>0.08608333333333333</dv></ra><dec><sgn/><d>45</d><m>13</m><s>45</s><dv>45.22916666666667</dv></dec><glng>114.44</glng><glat>-16.88</glat><vmag>6.70</vmag><spec>A1Vn</spec></star><star><hr>2</hr><constellation/><fullname/><ra><h>00</h><m>05</m><s>03.8</s><dv>0.08438888888888889</dv></ra><dec><sgn>-</sgn><d>00</d><m>30</m><s>11</s><dv>-0.5030555555555556</dv></dec><glng>98.33</glng><glat>-61.14</glat><vmag>6.29</vmag><spec>gG9</spec></star><star><hr>3</hr><constellation>Psc</constellation><fullname>33 Psc</fullname><ra><h>00</h><m>05</m><s>20.1</s><dv>0.08891666666666666</dv></ra><dec><sgn>-</sgn><d>05</d><m>42</m><s>27</s><dv>-5.7075000000000005</dv></dec><glng>93.75</glng><glat>-65.93</glat><vmag>4.61</vmag><spec>K0IIIbCN-0.5</spec></star><star><hr>4</hr><constellation>Peg</constellation><fullname>86 Peg</fullname><ra><h>00</h><m>05</m><s>42.0</s><dv>0.095</dv></ra><dec><sgn/><d>13</d><m>23</m><s>46</s><dv>13.39611111111111</dv></dec><glng>106.19</glng><glat>-47.98</glat><vmag>5.51</vmag><spec>G5III</spec></star><star><hr>5</hr><constellation/><fullname/><ra><h>00</h><m>06</m><s>16.0</s><dv>0.10444444444444445</dv></ra><dec><sgn/><d>58</d><m>26</m><s>12</s><dv>58.43666666666666</dv></dec><glng>117.03</glng><glat>-03.92</glat><vmag>5.96</vmag><spec>G5V</spec></star><star><hr>6</hr><constellation/><fullname/><ra><h>00</h><m>06</m><s>19.0</s><dv>0.10527777777777779</dv></ra><dec><sgn>-</sgn><d>49</d><m>04</m><s>30</s><dv>-49.075</dv></dec><glng>321.61</glng><glat>-66.38</glat><vmag>5.70</vmag><spec>G1IV</spec></star><star><hr>7</hr><constellation>Cas</constellation><fullname>10 Cas</fullname><ra><h>00</h><m>06</m><s>26.5</s><dv>0.10736111111111112</dv></ra><dec><sgn/><d>64</d><m>11</m><s>46</s><dv>64.19611111111111</dv></dec><glng>118.06</glng><glat>1.75</glat><vmag>5.59</vmag><spec>B9III</spec></star><star><hr>8</hr><constellation/><fullname/><ra><h>00</h><m>06</m><s>36.8</s><dv>0.11022222222222222</dv></ra><dec><sgn/><d>29</d><m>01</m><s>17</s><dv>29.02138888888889</dv></dec><glng>111.26</glng><glat>-32.83</glat><vmag>6.13</vmag><spec>K0V</spec></star><star><hr>9</hr><constellation/><fullname/><ra><h>00</h><m>06</m><s>50.1</s><dv>0.11391666666666667</dv></ra><dec><sgn>-</sgn><d>23</d><m>06</m><s>27</s><dv>-23.1075</dv></dec><glng>52.21</glng><glat>-79.14</glat><vmag>6.18</vmag><spec>A7V</spec></star><star><hr>10</hr><constellation/><fullname/><ra><h>00</h><m>07</m><s>18.2</s><dv>0.12172222222222222</dv></ra><dec><sgn>-</sgn><d>17</d><m>23</m><s>11</s><dv>-17.386388888888888</dv></dec><glng>74.36</glng><glat>-75.90</glat><vmag>6.19</vmag><spec>A6Vn</spec></star></stardb>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/catalog.xsd Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,122 @@
+<xs:schema
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.astro.com/astro"
+ xmlns:astro="http://www.astro.com/astro"
+ elementFormDefault="qualified"
+ attributeFormDefault="qualified"
+>
+ <!-- Star Identification String Type -->
+ <xs:simpleType name="staridType">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- Hour Type -->
+ <xs:simpleType name="hourType">
+ <xs:restriction base="xs:decimal">
+ <xs:minInclusive value="0.0"/>
+ <xs:maxInclusive value="24.0"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- Minute Type -->
+ <xs:simpleType name="minuteType">
+ <xs:restriction base="xs:decimal">
+ <xs:minInclusive value="0.0"/>
+ <xs:maxInclusive value="60.0"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- Second Type -->
+ <xs:simpleType name="secondType">
+ <xs:restriction base="xs:decimal">
+ <xs:minInclusive value="0.0"/>
+ <xs:maxInclusive value="60.0"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="decimalValueType">
+ <xs:restriction base="xs:decimal">
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="degType">
+ <xs:restriction base="xs:decimal">
+ <xs:minInclusive value="-90.0"/>
+ <xs:maxInclusive value="90.0"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="vmagType">
+ <xs:restriction base="xs:decimal">
+ <xs:minInclusive value="-3.0"/>
+ <xs:maxInclusive value="12.0"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+
+ <xs:simpleType name="signType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="+"/>
+ <xs:enumeration value="-"/>
+ <xs:enumeration value=""/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="raType">
+ <xs:sequence>
+ <xs:element name="h" type="astro:hourType"/>
+ <xs:element name="m" type="astro:minuteType"/>
+ <xs:element name="s" type="astro:secondType"/>
+ <xs:element name="dv" type="astro:decimalValueType"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="decType">
+ <xs:sequence>
+ <xs:element name="sgn" type="astro:signType"/>
+ <xs:element name="d" type="astro:degType"/>
+ <xs:element name="m" type="astro:minuteType"/>
+ <xs:element name="s" type="astro:secondType"/>
+ <xs:element name="dv" type="astro:decimalValueType"/>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="starType">
+ <xs:sequence>
+ <xs:element name="hr" type="astro:staridType"/>
+ <xs:element name="constellation" type="xs:string"/>
+ <xs:element name="fullname" type="xs:string"/>
+ <xs:element name="ra" type="astro:raType"/>
+ <xs:element name="dec" type="astro:decType"/>
+ <xs:element name="glng" type="xs:decimal"/>
+ <xs:element name="glat" type="xs:decimal"/>
+ <xs:element name="vmag" type="astro:vmagType"/>
+ <xs:element name="spec" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <!-- The real part of the catalog starts here -->
+ <xs:element name="stardb">
+ <xs:complexType>
+ <xs:sequence>
+
+ <!-- for testing purposes -->
+ <xs:element name="_test01" type="xs:string"
+ minOccurs="0" maxOccurs="1"/>
+ <xs:element name="test-02" type="xs:string"/>
+ <xs:element name="test.03" type="xs:string"/>
+ <xs:element name="_test-04" type="xs:string"/>
+
+ <!-- astro data elements -->
+ <xs:element name="star" type="astro:starType"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- The real part of the catalog ends here -->
+
+</xs:schema>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/gold/query1.out Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,15 @@
+<html xmlns:astro="http://www.astro.com/astro">
+<h1>Bright Star Catalog Extract</h1>
+<body>
+<b>Star Id: </b>7<br>
+<b>Constellation: </b>Cas<br>
+<b>Description: </b>10 Cas<br>
+<b>RA J2000: </b>00:06:26.5<br>
+<b>DEC J2000: </b>64:11:46<br>
+<b>Visual Magnitude: </b>5.59<br>
+<b>Spectral Type: </b>B9III<br>
+<b>Galactic Longitude: </b>118.06<br>
+<b>Galactic Latitude: </b>1.75<br>
+<hr>
+</body>
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/gold/query2.out Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,15 @@
+<html xmlns:astro="http://www.astro.com/astro">
+<h1>Bright Star Catalog Extract</h1>
+<body>
+<b>Star Id: </b>3<br>
+<b>Constellation: </b>Psc<br>
+<b>Description: </b>33 Psc<br>
+<b>RA J2000: </b>00:05:20.1<br>
+<b>DEC J2000: </b>05:42:27<br>
+<b>Visual Magnitude: </b>4.61<br>
+<b>Spectral Type: </b>K0IIIbCN-0.5<br>
+<b>Galactic Longitude: </b>93.75<br>
+<b>Galactic Latitude: </b>-65.93<br>
+<hr>
+</body>
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/gold/query3.out Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,39 @@
+<html xmlns:astro="http://www.astro.com/astro">
+<h1>Bright Star Catalog Extract</h1>
+<body>
+<b>Star Id: </b>2<br>
+<b>Constellation: </b>
+<br>
+<b>Description: </b>
+<br>
+<b>RA J2000: </b>00:05:03.8<br>
+<b>DEC J2000: </b>00:30:11<br>
+<b>Visual Magnitude: </b>6.29<br>
+<b>Spectral Type: </b>gG9<br>
+<b>Galactic Longitude: </b>98.33<br>
+<b>Galactic Latitude: </b>-61.14<br>
+<hr>
+<b>Star Id: </b>4<br>
+<b>Constellation: </b>Peg<br>
+<b>Description: </b>86 Peg<br>
+<b>RA J2000: </b>00:05:42.0<br>
+<b>DEC J2000: </b>13:23:46<br>
+<b>Visual Magnitude: </b>5.51<br>
+<b>Spectral Type: </b>G5III<br>
+<b>Galactic Longitude: </b>106.19<br>
+<b>Galactic Latitude: </b>-47.98<br>
+<hr>
+<b>Star Id: </b>5<br>
+<b>Constellation: </b>
+<br>
+<b>Description: </b>
+<br>
+<b>RA J2000: </b>00:06:16.0<br>
+<b>DEC J2000: </b>58:26:12<br>
+<b>Visual Magnitude: </b>5.96<br>
+<b>Spectral Type: </b>G5V<br>
+<b>Galactic Longitude: </b>117.03<br>
+<b>Galactic Latitude: </b>-03.92<br>
+<hr>
+</body>
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/gold/query4.out Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,37 @@
+<html xmlns:astro="http://www.astro.com/astro">
+<h1>Bright Star Catalog Extract</h1>
+<body>
+<b>Star Id: </b>2<br>
+<b>Constellation: </b>
+<br>
+<b>Description: </b>
+<br>
+<b>RA J2000: </b>00:05:03.8<br>
+<b>DEC J2000: </b>00:30:11<br>
+<b>Visual Magnitude: </b>6.29<br>
+<b>Spectral Type: </b>gG9<br>
+<b>Galactic Longitude: </b>98.33<br>
+<b>Galactic Latitude: </b>-61.14<br>
+<hr>
+<b>Star Id: </b>3<br>
+<b>Constellation: </b>Psc<br>
+<b>Description: </b>33 Psc<br>
+<b>RA J2000: </b>00:05:20.1<br>
+<b>DEC J2000: </b>05:42:27<br>
+<b>Visual Magnitude: </b>4.61<br>
+<b>Spectral Type: </b>K0IIIbCN-0.5<br>
+<b>Galactic Longitude: </b>93.75<br>
+<b>Galactic Latitude: </b>-65.93<br>
+<hr>
+<b>Star Id: </b>4<br>
+<b>Constellation: </b>Peg<br>
+<b>Description: </b>86 Peg<br>
+<b>RA J2000: </b>00:05:42.0<br>
+<b>DEC J2000: </b>13:23:46<br>
+<b>Visual Magnitude: </b>5.51<br>
+<b>Spectral Type: </b>G5III<br>
+<b>Galactic Longitude: </b>106.19<br>
+<b>Galactic Latitude: </b>-47.98<br>
+<hr>
+</body>
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/xsl/dec-ent.xsl Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,36 @@
+<!-- This is the external entity version of dec.xsl
+ in which the top level template has been removed
+ and referenced as an external entity
+-->
+
+<!DOCTYPE xsl:transform [
+ <!ENTITY toplevel SYSTEM "http://astro.com/stylesheets/toptemplate">
+]>
+
+<xsl:transform
+ xmlns:astro="http://www.astro.com/astro"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:output method="xml"/>
+
+ <!-- dec between 00:00:00 and 01:00:00 -->
+ <xsl:param name="dec_min_deg" select="0.0"/>
+ <xsl:param name="dec_max_deg" select="1.0"/>
+
+ <!-- introduce the external entity -->
+ &toplevel;
+
+ <xsl:template match="astro:star">
+ <xsl:if test="(
+ (number(astro:dec/astro:dv) >= $dec_min_deg) and
+ (number(astro:dec/astro:dv) <= $dec_max_deg))" >
+ <xsl:copy-of select="."/>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="astro:_test-04">
+ <!-- discard text contents -->
+ </xsl:template>
+
+</xsl:transform>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/xsl/dec.xsl Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,32 @@
+<xsl:transform
+ xmlns:astro="http://www.astro.com/astro"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:output method="xml"/>
+
+ <!-- dec between 00:00:00 and 01:00:00 -->
+ <xsl:param name="dec_min_deg" select="0.0"/>
+ <xsl:param name="dec_max_deg" select="1.0"/>
+
+ <xsl:template match="astro:stardb">
+ <stardb xmlns="http://www.astro.com/astro"
+ xsi:schemaLocation="http://www.astro.com/astro catalog.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <xsl:apply-templates/>
+ </stardb>
+ </xsl:template>
+
+ <xsl:template match="astro:star">
+ <xsl:if test="(
+ (number(astro:dec/astro:dv) >= $dec_min_deg) and
+ (number(astro:dec/astro:dv) <= $dec_max_deg))" >
+ <xsl:copy-of select="."/>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="astro:_test-04">
+ <!-- discard text contents -->
+ </xsl:template>
+
+</xsl:transform>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/xsl/dec_frag.xsl Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,26 @@
+<xsl:transform
+ xmlns:astro="http://www.astro.com/astro"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <!-- dec_frag.xsl = fragment used in radec.xsl -->
+
+ <xsl:output method="xml"/>
+
+ <xsl:param name="dec_min_deg" select="-5.75"/>
+ <xsl:param name="dec_max_deg" select="14.0"/>
+
+
+ <xsl:template match="astro:star" mode="RA_PASSED" >
+ <xsl:if test="(
+ (number(astro:dec/astro:dv) >= $dec_min_deg) and
+ (number(astro:dec/astro:dv) <= $dec_max_deg))" >
+ <xsl:copy-of select="."/>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="astro:_test-04">
+ <!-- discard text contents -->
+ </xsl:template>
+
+</xsl:transform>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/xsl/html.xsl Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,38 @@
+<xsl:transform
+ xmlns=""
+ xmlns:astro="http://www.astro.com/astro"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:strip-space elements="*"/>
+
+ <xsl:output method="html"/>
+
+ <xsl:template match="astro:stardb">
+ <html>
+ <h1>Bright Star Catalog Extract</h1>
+ <body>
+ <xsl:apply-templates/>
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="astro:star">
+ <b>Star Id: </b><xsl:value-of select="astro:hr"/><br/>
+ <b>Constellation: </b><xsl:value-of select="astro:constellation"/><br/>
+ <b>Description: </b><xsl:value-of select="astro:fullname"/><br/>
+ <b>RA J2000: </b><xsl:value-of select="astro:ra/astro:h"/><xsl:text>:</xsl:text><xsl:value-of select="astro:ra/astro:m"/><xsl:text>:</xsl:text><xsl:value-of select="astro:ra/astro:s"/><br/>
+ <b>DEC J2000: </b><xsl:value-of select="astro:ra/astro:sgn"/><xsl:value-of select="astro:dec/astro:d"/><xsl:text>:</xsl:text><xsl:value-of select="astro:dec/astro:m"/><xsl:text>:</xsl:text><xsl:value-of select="astro:dec/astro:s"/><br/>
+ <b>Visual Magnitude: </b><xsl:value-of select="astro:vmag"/><br/>
+ <b>Spectral Type: </b><xsl:value-of select="astro:spec"/><br/>
+ <b>Galactic Longitude: </b><xsl:value-of select="astro:glng"/><br/>
+ <b>Galactic Latitude: </b><xsl:value-of select="astro:glat"/><br/>
+ <hr></hr>
+ </xsl:template>
+
+
+ <xsl:template match="astro:_test-04">
+ <!-- discard text contents -->
+ </xsl:template>
+
+</xsl:transform>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/xsl/ra-ent.xsl Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,29 @@
+<!DOCTYPE xsl:transform [
+ <!ENTITY toplevel SYSTEM "http://astro.com/stylesheets/toptemplate">
+]>
+<xsl:transform
+ xmlns:astro="http://www.astro.com/astro"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:output method="xml"/>
+
+ <!-- ra between 00:00:00 and 01:00:00 -->
+ <xsl:param name="ra_min_hr" select="0.106"/>
+ <xsl:param name="ra_max_hr" select="0.108"/>
+
+ &toplevel;
+
+ <xsl:template match="astro:star">
+ <xsl:if test="(
+ (number(astro:ra/astro:dv) >= $ra_min_hr) and
+ (number(astro:ra/astro:dv) <= $ra_max_hr))" >
+ <xsl:copy-of select="."/>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="astro:_test-04">
+ <!-- discard text contents -->
+ </xsl:template>
+
+</xsl:transform>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/xsl/ra-uri.xsl Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,27 @@
+<xsl:transform
+ xmlns:astro="http://www.astro.com/astro"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:output method="xml"/>
+
+ <!-- ra between 00:00:00 and 01:00:00 -->
+ <xsl:param name="ra_min_hr" select="0.106"/>
+ <xsl:param name="ra_max_hr" select="0.108"/>
+
+ <!-- will use the uri resolver to resolve to 'toptemplate.xsl' -->
+ <xsl:include href="http://astro.com/stylesheets/topleveltemplate"/>
+
+ <xsl:template match="astro:star">
+ <xsl:if test="(
+ (number(astro:ra/astro:dv) >= $ra_min_hr) and
+ (number(astro:ra/astro:dv) <= $ra_max_hr))" >
+ <xsl:copy-of select="."/>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="astro:_test-04">
+ <!-- discard text contents -->
+ </xsl:template>
+
+</xsl:transform>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/xsl/ra.xsl Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,32 @@
+<xsl:transform
+ xmlns:astro="http://www.astro.com/astro"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:output method="xml"/>
+
+ <!-- ra between 00:00:00 and 01:00:00 -->
+ <xsl:param name="ra_min_hr" select="0.106"/>
+ <xsl:param name="ra_max_hr" select="0.108"/>
+
+ <xsl:template match="astro:stardb">
+ <stardb xmlns="http://www.astro.com/astro"
+ xsi:schemaLocation="http://www.astro.com/astro catalog.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <xsl:apply-templates/>
+ </stardb>
+ </xsl:template>
+
+ <xsl:template match="astro:star">
+ <xsl:if test="(
+ (number(astro:ra/astro:dv) >= $ra_min_hr) and
+ (number(astro:ra/astro:dv) <= $ra_max_hr))" >
+ <xsl:copy-of select="."/>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="astro:_test-04">
+ <!-- discard text contents -->
+ </xsl:template>
+
+</xsl:transform>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/xsl/ra_frag.xsl Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,26 @@
+<xsl:transform
+ xmlns:astro="http://www.astro.com/astro"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <!-- ra_frag = fragment used in radec.xsl -->
+
+ <xsl:output method="xml"/>
+
+ <xsl:param name="ra_min_hr" select="0.084"/>
+ <xsl:param name="ra_max_hr" select="0.096"/>
+
+
+ <xsl:template match="astro:star">
+ <xsl:if test="(
+ (number(astro:ra/astro:dv) >= $ra_min_hr) and
+ (number(astro:ra/astro:dv) <= $ra_max_hr))" >
+ <xsl:apply-templates select="." mode="RA_PASSED"/>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="astro:_test-04">
+ <!-- discard text contents -->
+ </xsl:template>
+
+</xsl:transform>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/xsl/radec.xsl Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,28 @@
+<xsl:transform
+ xmlns:astro="http://www.astro.com/astro"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <!-- radec.xsl = filters on both RA and DEC using modes -->
+
+ <xsl:output method="xml"/>
+
+ <!-- include the fragments for ra and dec filtering -->
+
+ <xsl:include href="ra_frag.xsl"/>
+ <xsl:include href="dec_frag.xsl"/>
+
+ <xsl:template match="astro:stardb">
+ <stardb xmlns="http://www.astro.com/astro"
+ xsi:schemaLocation="http://www.astro.com/astro catalog.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
+ <xsl:apply-templates/>
+ </stardb>
+ </xsl:template>
+
+ <xsl:template match="astro:_test-04">
+ <!-- discard text contents -->
+ </xsl:template>
+
+
+</xsl:transform>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/xsl/stellartype.xsl Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,29 @@
+<xsl:transform
+ xmlns:astro="http://www.astro.com/astro"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:output method="xml"/>
+
+ <!-- search stars of a particular type -->
+ <xsl:param name="type" select="G"/>
+
+ <xsl:template match="astro:stardb">
+ <stardb xmlns="http://www.astro.com/astro"
+ xsi:schemaLocation="http://www.astro.com/astro catalog.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
+ <xsl:apply-templates/>
+ </stardb>
+ </xsl:template>
+
+ <xsl:template match="astro:star">
+ <xsl:if test="(contains(astro:spec,$type))" >
+ <xsl:copy-of select="."/>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="astro:_test-04">
+ <!-- discard text contents -->
+ </xsl:template>
+
+</xsl:transform>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/xsl/toptemplate.xsl Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,17 @@
+
+<!--
+<xsl:transform
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+-->
+
+<xsl:template match="astro:stardb">
+ <stardb xmlns="http://www.astro.com/astro"
+ xsi:schemaLocation="http://www.astro.com/astro catalog.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
+ <xsl:apply-templates/>
+ </stardb>
+</xsl:template>
+
+<!--
+</xsl:transform>
+-->
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/functional/test/astro/xmlfiles/xsl/toptemplateinc.xsl Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,24 @@
+<xsl:transform
+ xmlns:astro="http://www.astro.com/astro"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <!--
+ - toptemplateinc.xsl = toptemplate used in an xsl:include element
+ - which demands that this is a complete stylesheet.
+ - The related toptemplate.xsl is not a complete stylesheet
+ - as it is used in ext entity references.
+ -->
+
+ <xsl:template match="astro:stardb">
+ <stardb xmlns="http://www.astro.com/astro"
+ xsi:schemaLocation="http://www.astro.com/astro catalog.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
+ <xsl:apply-templates/>
+ </stardb>
+ </xsl:template>
+
+ <xsl:template match="astro:_test-04">
+ <!-- discard text contents -->
+ </xsl:template>
+
+</xsl:transform>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/libs/org/w3c/dom/ptests/DOMTestUtil.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom.ptests;
+
+import static jaxp.library.JAXPTestUtilities.FILE_SEP;
+import static jaxp.library.JAXPTestUtilities.getPathByClassName;
+
+import java.io.File;
+import java.io.IOException;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
+
+/*
+ * This class defines the path constant and common method
+ */
+public class DOMTestUtil {
+ /*
+ * XML source file directory.
+ */
+ public static final String XML_DIR = getPathByClassName(DOMTestUtil.class, ".." + FILE_SEP + "xmlfiles");
+
+ /*
+ * Golden validation files directory.
+ */
+ public static final String GOLDEN_DIR = getPathByClassName(DOMTestUtil.class, ".." + FILE_SEP + "xmlfiles" + FILE_SEP + "out");
+
+ /*
+ * Error Message for DOMException being expected.
+ */
+ public static final String DOMEXCEPTION_EXPECTED = "Should throw DOMException";
+
+ /*
+ * Create DOM Document from an xml file.
+ */
+ public static Document createDOM(String xmlFileName) throws SAXException, IOException, ParserConfigurationException {
+ return DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(XML_DIR + xmlFileName));
+ }
+
+ /*
+ * Create DOM Document from an xml file with setNamespaceAware(true).
+ */
+ public static Document createDOMWithNS(String xmlFileName) throws IOException, SAXException, ParserConfigurationException {
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ dbf.setNamespaceAware(true);
+ return dbf.newDocumentBuilder().parse(new File(XML_DIR + xmlFileName));
+ }
+
+ /*
+ * Create a new DOM Document.
+ */
+ public static Document createNewDocument() throws ParserConfigurationException {
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ DocumentBuilder db = dbf.newDocumentBuilder();
+ return db.newDocument();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/libs/test/astro/AbstractFilterFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import static test.astro.AstroConstants.HTMLXSL;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.sax.TransformerHandler;
+
+import org.xml.sax.SAXException;
+
+public abstract class AbstractFilterFactory implements FilterFactory {
+ @Override
+ public TransformerHandler newRAFilter(double min, double max) throws TransformerConfigurationException, SAXException, ParserConfigurationException,
+ IOException {
+ TransformerHandler retval = getTransformerHandler(getRAXsl());
+ Transformer xformer = retval.getTransformer();
+ xformer.setParameter("ra_min_hr", String.valueOf(min));
+ xformer.setParameter("ra_max_hr", String.valueOf(max));
+ return retval;
+ }
+
+ @Override
+ public TransformerHandler newDECFilter(double min, double max) throws TransformerConfigurationException, SAXException, ParserConfigurationException,
+ IOException {
+ TransformerHandler retval = getTransformerHandler(getDECXsl());
+ Transformer xformer = retval.getTransformer();
+ xformer.setParameter("dec_min_deg", String.valueOf(min));
+ xformer.setParameter("dec_max_deg", String.valueOf(max));
+ return retval;
+ }
+
+ @Override
+ public TransformerHandler newRADECFilter(double rmin, double rmax, double dmin, double dmax) throws TransformerConfigurationException, SAXException,
+ ParserConfigurationException, IOException {
+ TransformerHandler retval = getTransformerHandler(getRADECXsl());
+ Transformer xformer = retval.getTransformer();
+ xformer.setParameter("ra_min_hr", String.valueOf(rmin));
+ xformer.setParameter("ra_max_hr", String.valueOf(rmax));
+ xformer.setParameter("dec_min_deg", String.valueOf(dmin));
+ xformer.setParameter("dec_max_deg", String.valueOf(dmax));
+ return retval;
+ }
+
+ @Override
+ public TransformerHandler newStellarTypeFilter(String type) throws TransformerConfigurationException, SAXException, ParserConfigurationException,
+ IOException {
+ TransformerHandler retval = getTransformerHandler(getStellarXsl());
+ Transformer xformer = retval.getTransformer();
+ xformer.setParameter("type", type);
+ return retval;
+ }
+
+ @Override
+ public TransformerHandler newHTMLOutput() throws TransformerConfigurationException, SAXException, ParserConfigurationException, IOException {
+ return getTransformerHandler(HTMLXSL);
+ }
+
+ abstract protected TransformerHandler getTransformerHandler(String xslFileName) throws SAXException, ParserConfigurationException,
+ TransformerConfigurationException, IOException;
+
+ abstract protected String getRAXsl();
+
+ abstract protected String getDECXsl();
+
+ abstract protected String getRADECXsl();
+
+ abstract protected String getStellarXsl();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/libs/test/astro/AstroConstants.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package test.astro;
+
+import static java.io.File.separator;
+import static jaxp.library.JAXPTestUtilities.getPathByClassName;
+
+public class AstroConstants {
+ // Query parameters :
+
+ public static final double RA_MIN = 0.0; // hours
+ public static final double RA_MAX = 24.0; // hours
+ public static final double DEC_MIN = -90.000; // degrees
+ public static final double DEC_MAX = 90.000; // degrees
+
+ // Stylesheet source paths:
+
+ public static final String XSLPATH = getPathByClassName(AstroConstants.class, "xmlfiles" + separator + "xsl");
+ public static final String RAXSL = XSLPATH + "ra.xsl";
+ public static final String DECXSL = XSLPATH + "dec.xsl";
+ public static final String RADECXSL = XSLPATH + "radec.xsl";
+ public static final String STYPEXSL = XSLPATH + "stellartype.xsl";
+ public static final String HTMLXSL = XSLPATH + "html.xsl";
+
+ public static final String RAENTXSL = XSLPATH + "ra-ent.xsl";
+ public static final String DECENTXSL = XSLPATH + "dec-ent.xsl";
+ public static final String RAURIXSL = XSLPATH + "ra-uri.xsl";
+ public static final String TOPTEMPLXSL = XSLPATH + "toptemplate.xsl";
+ public static final String TOPTEMPLINCXSL = XSLPATH + "toptemplateinc.xsl";
+
+ // Catalog references
+
+ public static final String ASTROCAT = getPathByClassName(AstroConstants.class, "xmlfiles") + "catalog.xml";
+
+
+ public static final String GOLDEN_DIR = getPathByClassName(AstroConstants.class, "xmlfiles" + separator + "gold");
+ public static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";
+ public static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource";
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/libs/test/astro/AstroProcessor.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,279 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import static javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI;
+import static test.astro.AstroConstants.DEC_MAX;
+import static test.astro.AstroConstants.DEC_MIN;
+import static test.astro.AstroConstants.JAXP_SCHEMA_LANGUAGE;
+import static test.astro.AstroConstants.JAXP_SCHEMA_SOURCE;
+import static test.astro.AstroConstants.RA_MAX;
+import static test.astro.AstroConstants.RA_MIN;
+
+import java.io.File;
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.sax.SAXResult;
+import javax.xml.transform.sax.TransformerHandler;
+import javax.xml.transform.stream.StreamResult;
+
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.XMLReader;
+
+/*
+ * AstroProcessor is to carry out the user's query with filters and produce a table of
+ * star records that match the criterion, and finally output with HTML format.
+ */
+public class AstroProcessor {
+ private String catalogFileName;
+
+ private FilterFactory ffact;
+ private InputSourceFactory isfact;
+
+ private SAXParserFactory spf;
+
+ /*
+ * Constructor for the Main astro class.
+ *
+ * @param fFactClass the class of the FilterFactory implementation
+ *
+ * @param catalogfilename the name of the XML input document (database)
+ *
+ * @param isFactClass the class of the Input Source Factory implementation
+ */
+ public AstroProcessor(Class<FilterFactory> fFactClass, String catalogFileName, Class<InputSourceFactory> isFactClass) throws Exception {
+ // create the Filter Factory instance...
+
+ ffact = fFactClass.newInstance();
+
+ // create the Input Source Instance
+
+ isfact = isFactClass.newInstance();
+
+ spf = SAXParserFactory.newInstance();
+ spf.setNamespaceAware(true);
+ spf.setValidating(true);
+
+ // All XML Readers are required to recognize these two:
+ spf.setFeature("http://xml.org/sax/features/namespaces", true);
+ spf.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
+
+ // Other features...
+ spf.setFeature("http://xml.org/sax/features/validation", true);
+ spf.setFeature("http://apache.org/xml/features/validation/schema", true);
+ spf.setFeature("http://apache.org/xml/features/validation/schema-full-checking", true);
+
+ this.catalogFileName = catalogFileName;
+ }
+
+ /*
+ * Sets the star stellar type query.
+ *
+ * @param arg stellar type string, can be a substring.
+ */
+ public TransformerHandler getStellarTypeFilter(String arg) throws TransformerConfigurationException, SAXException, ParserConfigurationException,
+ IOException {
+ String stellarType = null;
+ if (arg != null && arg.length() != 0) {
+ stellarType = arg; // set value of query
+ } else {
+ throw new IllegalArgumentException("\n Stellar type string of length zero found.");
+ }
+
+ return ffact.newStellarTypeFilter(stellarType);
+ }
+
+ /*
+ * Sets the right ascension parameters for a query. Parameters are validated
+ * to be in the range of 0h and 24h inclusive.
+ *
+ * @param min minimum right ascension in hours.
+ *
+ * @param max maximum right ascension in hours.
+ */
+ public TransformerHandler getRAFilter(double min, double max) throws TransformerConfigurationException, SAXException, ParserConfigurationException,
+ IOException {
+ double raMin = RA_MIN; // hours
+ double raMax = RA_MAX; // hours
+ if (min < max) {
+ if ((min >= RA_MIN && min <= RA_MAX) && (max >= RA_MIN && max <= RA_MAX)) {
+ raMin = min; // set value of query
+ raMax = max; // set value of query
+
+ }
+ } else {
+ throw new IllegalArgumentException("min must be less than max.\n" + "min=" + min + ", max=" + max);
+ }
+
+ return ffact.newRAFilter(raMin, raMax);
+ }
+
+ /*
+ * Sets the right ascension and dec parameters for a query. Parameters are
+ * validated to be in the range of ra 0h and 24h and dec -90 to +90
+ * inclusive.
+ *
+ * @param rmin minimum right ascension in hours.
+ *
+ * @param rmax maximum right ascension in hours.
+ *
+ * @param dmin minimum declination in degs.
+ *
+ * @param dmax maximum declination in degs.
+ */
+ public TransformerHandler getRADECFilter(double rmin, double rmax, double dmin, double dmax) throws TransformerConfigurationException, SAXException,
+ ParserConfigurationException, IOException {
+ double raMin = RA_MIN; // hours
+ double raMax = RA_MAX; // hours
+ double decMin = DEC_MIN; // degrees
+ double decMax = DEC_MAX; // degrees
+ if (rmin < rmax && dmin < dmax) {
+ if ((rmin >= RA_MIN && rmin <= RA_MAX) && (rmax >= RA_MIN && rmax <= RA_MAX)) {
+ raMin = rmin; // set value of query
+ raMax = rmax; // set value of query
+ }
+ if ((dmin >= DEC_MIN && dmin <= DEC_MAX) && (dmax >= DEC_MIN && dmax <= DEC_MAX)) {
+ decMin = dmin; // set value of query
+ decMax = dmax; // set value of query
+ }
+
+ } else {
+ throw new IllegalArgumentException("min must be less than max.\n" + "rmin=" + rmin + ", rmax=" + rmax + ", dmin=" + dmin + ", dmax=" + dmax);
+ }
+
+ return ffact.newRADECFilter(raMin, raMax, decMin, decMax);
+ }
+
+ /*
+ * Sets the declination parameters for a query. Parameters are validated to
+ * be in the range of -90 and +90 degrees inclusive.
+ *
+ * @param min minimum declination in degrees.
+ *
+ * @param max maximum declination in degrees.
+ */
+ public TransformerHandler getDecFilter(double min, double max) throws TransformerConfigurationException, SAXException, ParserConfigurationException,
+ IOException {
+ double decMin = DEC_MIN; // degrees
+ double decMax = DEC_MAX; // degrees
+ if (min < max) {
+ if ((min >= DEC_MIN && min <= DEC_MAX) && (max >= DEC_MIN && max <= DEC_MAX)) {
+ decMin = min; // set value of query
+ decMax = max; // set value of query
+ }
+ } else {
+ throw new IllegalArgumentException("min must be less than max.\n" + "min=" + min + ", max=" + max);
+ }
+
+ return ffact.newDECFilter(decMin, decMax);
+ }
+
+ /*
+ * Runs the filter process against the astronomical database.
+ *
+ * @throws Exception
+ */
+ public void process(String outputfile, TransformerHandler... filters) throws Exception {
+ XMLReader catparser = getXMLReader();
+
+ File catalogfile = new File(catalogFileName);
+ InputSource catsrc = isfact.newInputSource(catalogfile.getPath());
+
+ TransformerHandler outfilter = ffact.newHTMLOutput();
+ // create an array from the Vector of filters...
+
+ // hook the filters up to each other, there may be zero filters
+ int nfilters = filters.length;
+ if (nfilters != 0) {
+ TransformerHandler prev = null;
+ for (int i = 0; i < filters.length; i++) {
+ TransformerHandler curr = filters[i];
+ if (prev != null) {
+ prev.setResult(new SAXResult(curr));
+ }
+ prev = curr;
+ }
+ // hook up the last filter to the output filter
+ prev.setResult(new SAXResult(outfilter));
+ // hook up the catalog parser to the first filter...
+ catparser.setContentHandler(filters[0]);
+ } else {
+ // There are no query filters,
+ // hook up the catalog parser directly to output filter...
+ catparser.setContentHandler(outfilter);
+ }
+ // hook up the output filter to the output file or std out
+ if (outputfile != null) {
+ outfilter.setResult(new StreamResult(outputfile));
+ } else {
+ outfilter.setResult(new StreamResult(System.out));
+ }
+
+ catparser.parse(catsrc);
+ }
+
+ private XMLReader getXMLReader() throws Exception {
+ SAXParser parser = spf.newSAXParser();
+ parser.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA_NS_URI);
+ parser.setProperty(JAXP_SCHEMA_SOURCE, "catalog.xsd");
+ XMLReader catparser = parser.getXMLReader();
+ catparser.setErrorHandler(new CatalogErrorHandler());
+ return catparser;
+ }
+
+ /*
+ * Error Handler for the parsing of the XML astronomical catalog.
+ */
+ private static class CatalogErrorHandler implements ErrorHandler {
+ private String getParseExceptionInfo(SAXParseException spe) {
+ String systemId = spe.getSystemId();
+ if (systemId == null) {
+ systemId = "null";
+ }
+ String info = "Catalog URI=" + systemId + " Line=" + spe.getLineNumber() + ": " + spe.getMessage();
+ return info;
+ }
+
+ public void warning(SAXParseException spe) throws SAXException {
+ String message = "Warning: " + getParseExceptionInfo(spe);
+ throw new SAXException(message);
+ }
+
+ public void error(SAXParseException spe) throws SAXException {
+ String message = "Error: " + getParseExceptionInfo(spe);
+ throw new SAXException(message);
+ }
+
+ public void fatalError(SAXParseException spe) throws SAXException {
+ String message = "Fatal Error: " + getParseExceptionInfo(spe);
+ throw new SAXException(message);
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/libs/test/astro/DOMFilterFactoryImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import static jaxp.library.JAXPTestUtilities.filenameToURL;
+import static test.astro.AstroConstants.DECXSL;
+import static test.astro.AstroConstants.RAXSL;
+import static test.astro.AstroConstants.STYPEXSL;
+
+import java.io.IOException;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Source;
+import javax.xml.transform.dom.DOMSource;
+
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
+
+/*
+ * Implementation of the filter factory interface that utilizes DOM
+ * sources rather than Stream or SAX sources. This factory utilizes a
+ * DocumentBuilder to read in the stylesheets and create the DOM used
+ * to create the filters for the query pipeline.
+ *
+ */
+public class DOMFilterFactoryImpl extends SourceFilterFactory {
+ @Override
+ protected Source getSource(String xslFileName) throws SAXException, ParserConfigurationException, IOException {
+ Document document = getStylesheetDOM(xslFileName);
+ return new DOMSource(document);
+ }
+
+
+ @Override
+ protected String getRAXsl() {
+ return RAXSL;
+ }
+
+ @Override
+ protected String getDECXsl() {
+ return DECXSL;
+ }
+
+ @Override
+ protected String getRADECXsl() {
+ return DECXSL;
+ }
+
+ @Override
+ protected String getStellarXsl() {
+ return STYPEXSL;
+ }
+
+ private Document getStylesheetDOM(String xslfilename) throws SAXException, IOException, ParserConfigurationException {
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ dbf.setNamespaceAware(true);
+ return dbf.newDocumentBuilder().parse(filenameToURL(xslfilename));
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/libs/test/astro/DOML3InputSourceFactoryImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import static jaxp.library.JAXPTestUtilities.filenameToURL;
+import static org.w3c.dom.ls.DOMImplementationLS.MODE_SYNCHRONOUS;
+import static org.w3c.dom.traversal.NodeFilter.SHOW_ELEMENT;
+
+import java.io.ByteArrayInputStream;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.w3c.dom.DOMConfiguration;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.ls.DOMImplementationLS;
+import org.w3c.dom.ls.LSInput;
+import org.w3c.dom.ls.LSParser;
+import org.w3c.dom.ls.LSParserFilter;
+import org.w3c.dom.ls.LSSerializer;
+import org.w3c.dom.ls.LSSerializerFilter;
+import org.xml.sax.InputSource;
+
+/*
+ * A specialized implementation of an Input Source factory that utilizes
+ * DOM Level 3 implementations to build a Document (DOM) from the
+ * astro input file (XML) and then will serialize the DOM. The serialized DOM
+ * of the astro input file is then used to create the sax InputSource
+ * and set it's system id. It is then returned to the caller.
+ *
+ */
+public class DOML3InputSourceFactoryImpl implements InputSourceFactory {
+ public InputSource newInputSource(String filename) throws Exception {
+ // Create DOMImplementationLS, and DOM L3 LSParser
+ DocumentBuilderFactory fact = DocumentBuilderFactory.newInstance();
+ DocumentBuilder bldr = fact.newDocumentBuilder();
+ DOMImplementationLS impl = (DOMImplementationLS) bldr.getDOMImplementation();
+ LSParser domparser = impl.createLSParser(MODE_SYNCHRONOUS, null);
+ domparser.setFilter(new MyDOMBuilderFilter());
+
+ // Parse the xml document to create the DOM Document using
+ // the DOM L3 LSParser and a LSInput (formerly LSInputSource)
+ Document doc = null;
+ LSInput src = impl.createLSInput();
+ // register the input file with the input source...
+ String systemId = filenameToURL(filename);
+ src.setSystemId(systemId);
+ try (Reader reader = new FileReader(filename)) {
+ src.setCharacterStream(reader);
+ src.setEncoding("UTF-8");
+ doc = domparser.parse(src);
+ }
+
+ // Use DOM L3 LSSerializer (previously called a DOMWriter)
+ // to serialize the xml doc DOM to a file stream.
+ String tmpCatalog = Files.createTempFile(Paths.get("").toAbsolutePath(), "catalog.xml", null).toString();
+
+ LSSerializer domserializer = impl.createLSSerializer();
+ domserializer.setFilter(new MyDOMWriterFilter());
+ domserializer.getNewLine();
+ DOMConfiguration config = domserializer.getDomConfig();
+ config.setParameter("xml-declaration", Boolean.TRUE);
+ String result = domserializer.writeToString(doc);
+ try (FileWriter os = new FileWriter(tmpCatalog, false)) {
+ os.write(result);
+ os.flush();
+ }
+
+ // Return the Input Source created from the Serialized DOM L3 Document.
+ InputSource catsrc = new InputSource(new InputStreamReader(new ByteArrayInputStream(Files.readAllBytes(Paths.get(tmpCatalog)))));
+ catsrc.setSystemId(systemId);
+ return catsrc;
+ }
+
+ /*
+ * Implementation of a DOM L3 DOM Builder Filter. The filter is capable of
+ * examining nodes as they are available during the parse. This
+ * implementation both rejects (filters) and modifies particular nodes
+ * during the parse of the document. As such, the document in memory will
+ * become a subset of the document on the stream in accordance with the DOM
+ * Level 3 Load and Save Specification, v1.0, sect. 1.3 Load Interfaces.
+ */
+ private static class MyDOMBuilderFilter implements LSParserFilter {
+
+ /*
+ * Filter the DOM. Define element(s) and their children that should be
+ * efficiently skipped thereby filtering them out of the stream.
+ */
+ @Override
+ public short startElement(Element e) {
+ return "_test01".equals(e.getTagName()) ? FILTER_REJECT : FILTER_ACCEPT;
+ }
+
+ /*
+ * Modify the DOM 'in situ'. Find a particular Node and change the Node
+ * value of its child, allow other nodes to pass through unchanged.
+ */
+ @Override
+ public short acceptNode(Node n) {
+ String localname = n.getLocalName();
+ if (localname.equals("_test-04")) {
+ Node child = n.getFirstChild();
+ String text = child.getNodeValue();
+ if (text.equals("T%e!s#t$")) {
+ child.setNodeValue("T%E!S#T$");
+ }
+ }
+ return FILTER_ACCEPT;
+ }
+
+ /*
+ * Tells the DOMBuilder what types of nodes to show to the filter.
+ */
+ @Override
+ public int getWhatToShow() {
+ return SHOW_ELEMENT;
+ }
+ }
+
+ /*
+ * Implementation of a DOM Serializer Filter (previously called a DOM Writer
+ * Filter) which is a specialization of the NodeFilter interface.
+ */
+ private static class MyDOMWriterFilter implements LSSerializerFilter {
+ public MyDOMWriterFilter() {
+ }
+
+ /*
+ * Must implement method from NodeFilter interface
+ */
+ @Override
+ public short acceptNode(Node node) {
+ return FILTER_ACCEPT;
+ }
+
+ /*
+ * Tells the DOMBuilder what types of nodes to show to the filter.
+ */
+ @Override
+ public int getWhatToShow() {
+ return SHOW_ELEMENT;
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/libs/test/astro/FilterFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.sax.TransformerHandler;
+import javax.xml.transform.TransformerConfigurationException;
+
+import org.xml.sax.SAXException;
+
+/*
+ * Defines the interface for all concrete implementations of a Filter
+ * Factory.
+ */
+public interface FilterFactory {
+ /*
+ * Allows only the stars between right ascension (R.A.) of min and max to
+ * pass. Filters out all stars that are not in that range of right
+ * ascension. Units of right ascension are hours (h), range of parameters is
+ * 0h to 24h.
+ *
+ * @param min minimum R.A.
+ *
+ * @param max maxmimum R.A.
+ */
+ TransformerHandler newRAFilter(double min, double max) throws TransformerConfigurationException, SAXException, ParserConfigurationException, IOException;
+
+ /*
+ * Allows only the stars between declination (DEC) of min and max to pass.
+ * Filters out all stars that are not in that range of declination. Units of
+ * declination are degrees (degs), range of parameters is -90 and +90 degs.
+ *
+ * @param min minimum DEC
+ *
+ * @param max maxmimum DEC
+ */
+ TransformerHandler newDECFilter(double min, double max) throws TransformerConfigurationException, SAXException, ParserConfigurationException, IOException;
+
+ /*
+ * Combines the usage of newRAFilter and newDECFilter into one.
+ *
+ * @param rmin minimum R.A.
+ *
+ * @param rmax maxmimum R.A.
+ *
+ * @param dmin minimum DEC
+ *
+ * @param dmax maxmimum DEC
+ */
+ TransformerHandler newRADECFilter(double rmin, double rmax, double dmin, double dmax) throws TransformerConfigurationException, SAXException,
+ ParserConfigurationException, IOException;
+
+ TransformerHandler newStellarTypeFilter(String type) throws TransformerConfigurationException, SAXException, ParserConfigurationException, IOException;
+
+ TransformerHandler newHTMLOutput() throws TransformerConfigurationException, SAXException, ParserConfigurationException, IOException;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/libs/test/astro/InputSourceFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import org.xml.sax.InputSource;
+
+/*
+ * Interface for all input source factory objects. The default implementation
+ * 'InputSourceFactoryImpl' is provided as a straight forward factory
+ * class that creates a new sax input source from a filename.
+ *
+ */
+public interface InputSourceFactory {
+ /*
+ * Creates a new sax InputSource object from a filename.
+ * Also sets the system id of the input source.
+ * @param file filename of the XML input to create the input source.
+ */
+ InputSource newInputSource(String file) throws Exception;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/libs/test/astro/InputSourceFactoryImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import static jaxp.library.JAXPTestUtilities.filenameToURL;
+
+import org.xml.sax.InputSource;
+
+/*
+ * Default implementation of a input source factory. This is the most
+ * straight forward way to create a sax input source and set it's
+ * system id.
+ *
+ */
+public class InputSourceFactoryImpl implements InputSourceFactory {
+ public InputSourceFactoryImpl() {
+ }
+
+ public InputSource newInputSource(String filename) {
+ InputSource catSrc = new InputSource(filename);
+ catSrc.setSystemId(filenameToURL(filename));
+ return catSrc;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/libs/test/astro/SAXFilterFactoryImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,119 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import static jaxp.library.JAXPTestUtilities.filenameToURL;
+import static test.astro.AstroConstants.DECENTXSL;
+import static test.astro.AstroConstants.DECXSL;
+import static test.astro.AstroConstants.RAENTXSL;
+import static test.astro.AstroConstants.STYPEXSL;
+import static test.astro.AstroConstants.TOPTEMPLXSL;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParserFactory;
+import javax.xml.transform.Source;
+import javax.xml.transform.sax.SAXSource;
+
+import org.xml.sax.EntityResolver;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+
+/*
+ * Implementation of the filter factory interface that utilizes SAX
+ * sources rather than Stream sources. This factory utilizes a
+ * SAX parser factory and XMLReader to read in the stylesheets used
+ * to create the filters for the query pipeline.
+ * The XMLReader has been equipped with an entity resolver
+ * SAXFilterFactoryEntityResolver, it is used to resolve external
+ * entities in two specialized stylesheets, ra-ent.xsl (derived from
+ * ra.xsl) and dec-ent.xsl (derived from dec.xsl).
+ *
+ */
+public class SAXFilterFactoryImpl extends SourceFilterFactory {
+ private EntityResolver entityResolver;
+
+ public SAXFilterFactoryImpl() {
+ super();
+ entityResolver = new SAXFilterFactoryEntityResolver();
+ }
+
+ @Override
+ protected Source getSource(String xslFileName) throws SAXException, ParserConfigurationException {
+ SAXSource saxsource = new SAXSource(new InputSource(filenameToURL(xslFileName)));
+ saxsource.setXMLReader(getXMLReader());
+ return saxsource;
+ }
+
+ @Override
+ protected String getRAXsl() {
+ return RAENTXSL;
+ }
+
+ @Override
+ protected String getDECXsl() {
+ return DECENTXSL;
+ }
+
+ @Override
+ protected String getRADECXsl() {
+ return DECXSL;
+ }
+
+ @Override
+ protected String getStellarXsl() {
+ return STYPEXSL;
+ }
+
+ /*
+ * Entity resolver implementation that is used in the SAXFilterFactory
+ * implementation for handling external entities that appear in two
+ * specialized stylesheets, 'ra-ent.xsl' and 'dec-ent.xsl'. Both of these
+ * stylesheets contain an external entity reference to the top level
+ * stylesheet template, which is stored in a separate file,
+ * 'toptemplate.xsl'.
+ */
+ private static class SAXFilterFactoryEntityResolver implements EntityResolver {
+ public InputSource resolveEntity(String publicid, String sysId) {
+ if (sysId.equals("http://astro.com/stylesheets/toptemplate")) {
+ InputSource retval = new InputSource(TOPTEMPLXSL);
+ retval.setSystemId(filenameToURL(TOPTEMPLXSL));
+ return retval;
+ } else {
+ return null; // use default behavior
+ }
+ }
+ }
+
+ private XMLReader getXMLReader() throws SAXException, ParserConfigurationException {
+ SAXParserFactory pfactory = SAXParserFactory.newInstance();
+ pfactory.setNamespaceAware(true);
+ // pfactory.setValidating(true);
+ XMLReader xmlreader = pfactory.newSAXParser().getXMLReader();
+ // entity resolver is used in stylesheets ra-ent.xsl,
+ // dec-ent.xsl. Other stylehsheets will not use it
+ // since they do not contain ext entities.
+ xmlreader.setEntityResolver(entityResolver);
+ return xmlreader;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/libs/test/astro/SourceFilterFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Source;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.sax.SAXTransformerFactory;
+import javax.xml.transform.sax.TransformerHandler;
+
+import org.xml.sax.SAXException;
+
+public abstract class SourceFilterFactory extends AbstractFilterFactory {
+ @Override
+ protected TransformerHandler getTransformerHandler(String xslFileName) throws SAXException, ParserConfigurationException,
+ TransformerConfigurationException, IOException {
+ return getFactory().newTransformerHandler(getSource(xslFileName));
+ }
+
+ abstract protected Source getSource(String xslFileName) throws SAXException, ParserConfigurationException, IOException;
+
+ private SAXTransformerFactory getFactory() {
+ return (SAXTransformerFactory) TransformerFactory.newInstance();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/libs/test/astro/StreamFilterFactoryImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import static jaxp.library.JAXPTestUtilities.filenameToURL;
+import static test.astro.AstroConstants.DECXSL;
+import static test.astro.AstroConstants.RADECXSL;
+import static test.astro.AstroConstants.RAXSL;
+import static test.astro.AstroConstants.STYPEXSL;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
+
+public class StreamFilterFactoryImpl extends SourceFilterFactory {
+ @Override
+ protected Source getSource(String xslFileName) {
+ return new StreamSource(filenameToURL(xslFileName));
+ }
+
+ @Override
+ protected String getRAXsl() {
+ return RAXSL;
+ }
+
+ @Override
+ protected String getDECXsl() {
+ return DECXSL;
+ }
+
+ @Override
+ protected String getRADECXsl() {
+ return RADECXSL;
+ }
+
+ @Override
+ protected String getStellarXsl() {
+ return STYPEXSL;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/libs/test/astro/TemplatesFilterFactoryImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,123 @@
+/*
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package test.astro;
+
+import static jaxp.library.JAXPTestUtilities.filenameToURL;
+import static test.astro.AstroConstants.DECXSL;
+import static test.astro.AstroConstants.RAURIXSL;
+import static test.astro.AstroConstants.STYPEXSL;
+import static test.astro.AstroConstants.TOPTEMPLINCXSL;
+
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParserFactory;
+import javax.xml.transform.Source;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.URIResolver;
+import javax.xml.transform.sax.SAXTransformerFactory;
+import javax.xml.transform.sax.TemplatesHandler;
+import javax.xml.transform.sax.TransformerHandler;
+import javax.xml.transform.stream.StreamSource;
+
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+
+/*
+ * Implementation of the filter factory interface that utilizes
+ * a TemplatesHandler and creates Templates from the stylesheets.
+ * The Templates objects are then used to create a TransformerHandler
+ * a.k.a Filter which is returned to the caller.
+ * This factory uses a Uri resolver which is registered with the
+ * Transformer factory.
+ *
+ */
+public class TemplatesFilterFactoryImpl extends AbstractFilterFactory {
+ private final URIResolver uriResolver = new TemplatesFilterFactoryURIResolver();
+
+ @Override
+ protected String getRAXsl() {
+ return RAURIXSL;
+ }
+
+ @Override
+ protected String getDECXsl() {
+ return DECXSL;
+ }
+
+ @Override
+ protected String getRADECXsl() {
+ return DECXSL;
+ }
+
+ @Override
+ protected String getStellarXsl() {
+ return STYPEXSL;
+ }
+
+ @Override
+ protected TransformerHandler getTransformerHandler(String xslFileName) throws SAXException, ParserConfigurationException,
+ TransformerConfigurationException, IOException {
+ SAXTransformerFactory factory = (SAXTransformerFactory) TransformerFactory.newInstance();
+ factory.setURIResolver(uriResolver);
+
+ TemplatesHandler templatesHandler = factory.newTemplatesHandler();
+
+ SAXParserFactory pFactory = SAXParserFactory.newInstance();
+ pFactory.setNamespaceAware(true);
+
+ XMLReader xmlreader = pFactory.newSAXParser().getXMLReader();
+
+ // create the stylesheet input source
+ InputSource xslSrc = new InputSource(xslFileName);
+
+ xslSrc.setSystemId(filenameToURL(xslFileName));
+ // hook up the templates handler as the xsl content handler
+ xmlreader.setContentHandler(templatesHandler);
+ // call parse on the xsl input source
+
+ xmlreader.parse(xslSrc);
+
+ // extract the Templates object created from the xsl input source
+ return factory.newTransformerHandler(templatesHandler.getTemplates());
+ }
+
+ /*
+ * Uri resolver used to resolve stylesheet used by the Templates filter
+ * factory.
+ */
+ private static class TemplatesFilterFactoryURIResolver implements URIResolver {
+ public Source resolve(String href, String base) throws TransformerException {
+ if ("http://astro.com/stylesheets/topleveltemplate".equals(href)) {
+ StreamSource ss = new StreamSource(TOPTEMPLINCXSL);
+ ss.setSystemId(filenameToURL(TOPTEMPLINCXSL));
+ return ss;
+ } else {
+ return null;
+ }
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/unittest/org/w3c/dom/DOMXPathTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+/*
+ * @bug 8042244
+ * @summary Verifies that the experimental DOM L3 XPath implementation is no longer available.
+ */
+public class DOMXPathTest {
+ /*
+ Verifies that DOMImplementation::hasFeature returns false and getFeature
+ returns null for DOM L3 XPath.
+ */
+ @Test
+ public void test() throws ParserConfigurationException {
+ DOMImplementation domImpl = DocumentBuilderFactory.newInstance()
+ .newDocumentBuilder()
+ .getDOMImplementation();
+
+ Assert.assertFalse(domImpl.hasFeature("+XPath", "3.0"));
+ Assert.assertEquals(domImpl.getFeature("+XPath", "3.0"), null);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/test/javax/xml/jaxp/unittest/org/w3c/dom/JdkXmlDomTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.w3c.dom;
+
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+/*
+ * @bug 8078139
+ * @summary Verifies that jdk.xml.dom classes are loaded by the ext class loader.
+ */
+public class JdkXmlDomTest {
+ @Test
+ public void test() throws ClassNotFoundException {
+ ClassLoader cl = ClassLoader.getSystemClassLoader().getParent();
+ Class<?> cls = Class.forName("org.w3c.dom.xpath.XPathEvaluator", false, cl);
+
+ Assert.assertTrue(cls.getClassLoader() != null);
+ }
+}
--- a/jaxws/.hgtags Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/.hgtags Mon Apr 27 09:17:39 2015 -0700
@@ -305,3 +305,5 @@
17c4241395e97312bd75e7acd693ffcdd41ae993 jdk9-b57
1e06b36bb396c0495e0774f1c6b0356d03847659 jdk9-b58
8a9ebae410bc388668fc203e559b5407bde757eb jdk9-b59
+f31835b59035377a220efc5a248b90f090ee1689 jdk9-b60
+77f44848c44c003205490bf5ab88035233b65418 jdk9-b61
--- a/jaxws/src/java.activation/share/classes/javax/activation/ActivationDataFlavor.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.activation/share/classes/javax/activation/ActivationDataFlavor.java Mon Apr 27 09:17:39 2015 -0700
@@ -31,10 +31,10 @@
/**
* The ActivationDataFlavor class is a special subclass of
- * <code>java.awt.datatransfer.DataFlavor</code>. It allows the JAF to
+ * {@code java.awt.datatransfer.DataFlavor}. It allows the JAF to
* set all three values stored by the DataFlavor class via a new
- * constructor. It also contains improved MIME parsing in the <code>equals
- * </code> method. Except for the improved parsing, its semantics are
+ * constructor. It also contains improved MIME parsing in the {@code equals}
+ * method. Except for the improved parsing, its semantics are
* identical to that of the JDK's DataFlavor class.
*
* @since 1.6
@@ -70,7 +70,6 @@
* representationClass = representationClass<br>
* mimeType = mimeType<br>
* humanName = humanName
- * <p>
*
* @param representationClass the class used in this DataFlavor
* @param mimeType the MIME type of the data represented by this class
@@ -98,7 +97,7 @@
* otherwise:
* <p>
* representationClass = InputStream<p>
- * mimeType = mimeType<p>
+ * mimeType = mimeType
*
* @param representationClass the class used in this DataFlavor
* @param humanPresentableName the human presentable name of the flavor
@@ -175,7 +174,7 @@
/**
* Compares the DataFlavor passed in with this DataFlavor; calls
- * the <code>isMimeTypeEqual</code> method.
+ * the {@code isMimeTypeEqual} method.
*
* @param dataFlavor the DataFlavor to compare with
* @return true if the MIME type and representation class
--- a/jaxws/src/java.activation/share/classes/javax/activation/CommandInfo.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.activation/share/classes/javax/activation/CommandInfo.java Mon Apr 27 09:17:39 2015 -0700
@@ -85,10 +85,10 @@
* Return the instantiated JavaBean component.
* <p>
* Begin by instantiating the component with
- * <code>Beans.instantiate()</code>.
+ * {@code Beans.instantiate()}.
* <p>
- * If the bean implements the <code>javax.activation.CommandObject</code>
- * interface, call its <code>setCommandContext</code> method.
+ * If the bean implements the {@code javax.activation.CommandObject}
+ * interface, call its {@code setCommandContext} method.
* <p>
* If the DataHandler parameter is null, then the bean is
* instantiated with no data. NOTE: this may be useful
@@ -102,7 +102,7 @@
* this method will check if it implements the
* java.io.Externalizable interface. If it does, the bean's
* readExternal method will be called if an InputStream
- * can be acquired from the DataHandler.<p>
+ * can be acquired from the DataHandler.
*
* @param dh The DataHandler that describes the data to be
* passed to the command.
--- a/jaxws/src/java.activation/share/classes/javax/activation/CommandMap.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.activation/share/classes/javax/activation/CommandMap.java Mon Apr 27 09:17:39 2015 -0700
@@ -46,7 +46,6 @@
/**
* Get the default CommandMap.
- * <p>
*
* <ul>
* <li> In cases where a CommandMap instance has been previously set
@@ -54,7 +53,7 @@
* return the CommandMap.
* <li>
* In cases where no CommandMap has been set, the CommandMap
- * creates an instance of <code>MailcapCommandMap</code> and
+ * creates an instance of {@code MailcapCommandMap} and
* set that to the default, returning its value.
*
* </ul>
@@ -77,7 +76,7 @@
/**
* Set the default CommandMap. Reset the CommandMap to the default by
- * calling this method with <code>null</code>.
+ * calling this method with {@code null}.
*
* @param commandMap The new default CommandMap.
* @exception SecurityException if the caller doesn't have permission
@@ -118,10 +117,10 @@
* Get the preferred command list from a MIME Type. The actual semantics
* are determined by the implementation of the CommandMap. <p>
*
- * The <code>DataSource</code> provides extra information, such as
+ * The {@code DataSource} provides extra information, such as
* the file name, that a CommandMap implementation may use to further
* refine the list of commands that are returned. The implementation
- * in this class simply calls the <code>getPreferredCommands</code>
+ * in this class simply calls the {@code getPreferredCommands}
* method that ignores this argument.
*
* @param mimeType the MIME type
@@ -146,10 +145,10 @@
* Get all the available commands for this type. This method
* should return all the possible commands for this MIME type. <p>
*
- * The <code>DataSource</code> provides extra information, such as
+ * The {@code DataSource} provides extra information, such as
* the file name, that a CommandMap implementation may use to further
* refine the list of commands that are returned. The implementation
- * in this class simply calls the <code>getAllCommands</code>
+ * in this class simply calls the {@code getAllCommands}
* method that ignores this argument.
*
* @param mimeType the MIME type
@@ -173,10 +172,10 @@
/**
* Get the default command corresponding to the MIME type. <p>
*
- * The <code>DataSource</code> provides extra information, such as
+ * The {@code DataSource} provides extra information, such as
* the file name, that a CommandMap implementation may use to further
* refine the command that is chosen. The implementation
- * in this class simply calls the <code>getCommand</code>
+ * in this class simply calls the {@code getCommand}
* method that ignores this argument.
*
* @param mimeType the MIME type
@@ -206,10 +205,10 @@
* The mechanism and semantics for determining this are determined
* by the implementation of the particular CommandMap. <p>
*
- * The <code>DataSource</code> provides extra information, such as
+ * The {@code DataSource} provides extra information, such as
* the file name, that a CommandMap implementation may use to further
* refine the choice of DataContentHandler. The implementation
- * in this class simply calls the <code>createDataContentHandler</code>
+ * in this class simply calls the {@code createDataContentHandler}
* method that ignores this argument.
*
* @param mimeType the MIME type
--- a/jaxws/src/java.activation/share/classes/javax/activation/CommandObject.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.activation/share/classes/javax/activation/CommandObject.java Mon Apr 27 09:17:39 2015 -0700
@@ -34,7 +34,7 @@
* data they should operate on. JavaBeans that don't implement
* this interface may be used as well. Such commands may obtain
* the data using the Externalizable interface, or using an
- * application-specific method.<p>
+ * application-specific method.
*
* @since 1.6
*/
@@ -44,7 +44,7 @@
* Initialize the Command with the verb it is requested to handle
* and the DataHandler that describes the data it will
* operate on. <b>NOTE:</b> it is acceptable for the caller
- * to pass <i>null</i> as the value for <code>DataHandler</code>.
+ * to pass <i>null</i> as the value for {@code DataHandler}.
*
* @param verb The Command Verb this object refers to.
* @param dh The DataHandler.
--- a/jaxws/src/java.activation/share/classes/javax/activation/DataHandler.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.activation/share/classes/javax/activation/DataHandler.java Mon Apr 27 09:17:39 2015 -0700
@@ -54,11 +54,11 @@
*
* <b>DataHandler and CommandMaps</b><p>
* The DataHandler keeps track of the current CommandMap that it uses to
- * service requests for commands (<code>getCommand</code>,
- * <code>getAllCommands</code>, <code>getPreferredCommands</code>).
+ * service requests for commands ({@code getCommand, getAllCommands,
+ * getPreferredCommands}).
* Each instance of a DataHandler may have a CommandMap associated with
- * it using the <code>setCommandMap</code> method. If a CommandMap was
- * not set, DataHandler calls the <code>getDefaultCommandMap</code>
+ * it using the {@code setCommandMap} method. If a CommandMap was
+ * not set, DataHandler calls the {@code getDefaultCommandMap}
* method in CommandMap and uses the value it returns. See
* <i>CommandMap</i> for more information. <p>
*
@@ -105,7 +105,7 @@
private String shortType = null;
/**
- * Create a <code>DataHandler</code> instance referencing the
+ * Create a {@code DataHandler} instance referencing the
* specified DataSource. The data exists in a byte stream form.
* The DataSource will provide an InputStream to access the data.
*
@@ -118,7 +118,7 @@
}
/**
- * Create a <code>DataHandler</code> instance representing an object
+ * Create a {@code DataHandler} instance representing an object
* of this MIME type. This constructor is
* used when the application already has an in-memory representation
* of the data in the form of a Java Object.
@@ -133,8 +133,8 @@
}
/**
- * Create a <code>DataHandler</code> instance referencing a URL.
- * The DataHandler internally creates a <code>URLDataSource</code>
+ * Create a {@code DataHandler} instance referencing a URL.
+ * The DataHandler internally creates a {@code URLDataSource}
* instance to represent the URL.
*
* @param url a URL object
@@ -181,7 +181,7 @@
/**
* Return the name of the data object. If this DataHandler
* was created with a DataSource, this method calls through
- * to the <code>DataSource.getName</code> method, otherwise it
+ * to the {@code DataSource.getName} method, otherwise it
* returns <i>null</i>.
*
* @return the name of the object
@@ -211,7 +211,7 @@
* Get the InputStream for this object. <p>
*
* For DataHandlers instantiated with a DataSource, the DataHandler
- * calls the <code>DataSource.getInputStream</code> method and
+ * calls the {@code DataSource.getInputStream} method and
* returns the result to the caller.
* <p>
* For DataHandlers instantiated with an Object, the DataHandler
@@ -219,11 +219,11 @@
* the DataHandler can not find a DataContentHandler for this MIME
* type, it throws an UnsupportedDataTypeException. If it is
* successful, it creates a pipe and a thread. The thread uses the
- * DataContentHandler's <code>writeTo</code> method to write the
+ * DataContentHandler's {@code writeTo} method to write the
* stream data into one end of the pipe. The other end of the pipe
* is returned to the caller. Because a thread is created to copy
* the data, IOExceptions that may occur during the copy can not be
- * propagated back to the caller. The result is an empty stream.<p>
+ * propagated back to the caller. The result is an empty stream.
*
* @return the InputStream representing this data
* @exception IOException if an I/O error occurs
@@ -281,7 +281,7 @@
}
/**
- * Write the data to an <code>OutputStream</code>.<p>
+ * Write the data to an {@code OutputStream}.<p>
*
* If the DataHandler was created with a DataSource, writeTo
* retrieves the InputStream and copies the bytes from the
@@ -290,7 +290,7 @@
* If the DataHandler was created with an object, writeTo
* retrieves the DataContentHandler for the object's type.
* If the DataContentHandler was found, it calls the
- * <code>writeTo</code> method on the <code>DataContentHandler</code>.
+ * {@code writeTo} method on the {@code DataContentHandler}.
*
* @param os the OutputStream to write to
* @exception IOException if an I/O error occurs
@@ -322,8 +322,8 @@
* Get an OutputStream for this DataHandler to allow overwriting
* the underlying data.
* If the DataHandler was created with a DataSource, the
- * DataSource's <code>getOutputStream</code> method is called.
- * Otherwise, <code>null</code> is returned.
+ * DataSource's {@code getOutputStream} method is called.
+ * Otherwise, {@code null} is returned.
*
* @return the OutputStream
*
@@ -348,12 +348,12 @@
* The DataHandler attempts to find a DataContentHandler that
* corresponds to the MIME type of the data. If one is located,
* the DataHandler calls the DataContentHandler's
- * <code>getTransferDataFlavors</code> method. <p>
+ * {@code getTransferDataFlavors} method. <p>
*
* If a DataContentHandler can <i>not</i> be located, and if the
* DataHandler was created with a DataSource (or URL), one
* DataFlavor is returned that represents this object's MIME type
- * and the <code>java.io.InputStream</code> class. If the
+ * and the {@code java.io.InputStream} class. If the
* DataHandler was created with an object and a MIME type,
* getTransferDataFlavors returns one DataFlavor that represents
* this object's MIME type and the object's class.
@@ -381,7 +381,7 @@
* for this object.<p>
*
* This method iterates through the DataFlavors returned from
- * <code>getTransferDataFlavors</code>, comparing each with
+ * {@code getTransferDataFlavors}, comparing each with
* the specified flavor.
*
* @param flavor the requested flavor for the data
@@ -407,10 +407,10 @@
*
* The DataHandler attempts to locate a DataContentHandler
* for this MIME type. If one is found, the passed in DataFlavor
- * and the type of the data are passed to its <code>getTransferData</code>
+ * and the type of the data are passed to its {@code getTransferData}
* method. If the DataHandler fails to locate a DataContentHandler
* and the flavor specifies this object's MIME type and the
- * <code>java.io.InputStream</code> class, this object's InputStream
+ * {@code java.io.InputStream} class, this object's InputStream
* is returned.
* Otherwise it throws an UnsupportedFlavorException. <p>
*
@@ -438,10 +438,10 @@
/**
* Set the CommandMap for use by this DataHandler.
- * Setting it to <code>null</code> causes the CommandMap to revert
+ * Setting it to {@code null} causes the CommandMap to revert
* to the CommandMap returned by the
- * <code>CommandMap.getDefaultCommandMap</code> method.
- * Changing the CommandMap, or setting it to <code>null</code>,
+ * {@code CommandMap.getDefaultCommandMap} method.
+ * Changing the CommandMap, or setting it to {@code null},
* clears out any data cached from the previous CommandMap.
*
* @param commandMap the CommandMap to use in this DataHandler
@@ -460,7 +460,7 @@
/**
* Return the <i>preferred</i> commands for this type of data.
- * This method calls the <code>getPreferredCommands</code> method
+ * This method calls the {@code getPreferredCommands} method
* in the CommandMap associated with this instance of DataHandler.
* This method returns an array that represents a subset of
* available commands. In cases where multiple commands for the
@@ -484,7 +484,7 @@
* This method returns an array containing all commands
* for the type of data represented by this DataHandler. The
* MIME type for the underlying data represented by this DataHandler
- * is used to call through to the <code>getAllCommands</code> method
+ * is used to call through to the {@code getAllCommands} method
* of the CommandMap associated with this DataHandler.
*
* @return the CommandInfo objects representing all the commands
@@ -502,7 +502,7 @@
* Get the command <i>cmdName</i>. Use the search semantics as
* defined by the CommandMap installed in this DataHandler. The
* MIME type for the underlying data represented by this DataHandler
- * is used to call through to the <code>getCommand</code> method
+ * is used to call through to the {@code getCommand} method
* of the CommandMap associated with this DataHandler.
*
* @param cmdName the command name
@@ -527,7 +527,7 @@
* If the DataHandler was instantiated with a DataSource,
* this method uses a DataContentHandler to return the content
* object for the data represented by this DataHandler. If no
- * <code>DataContentHandler</code> can be found for the
+ * {@code DataContentHandler} can be found for the
* the type of this data, the DataHandler returns an
* InputStream for the data.
*
@@ -547,9 +547,9 @@
* and instantiates the corresponding command, usually
* a JavaBean component.
* <p>
- * This method calls the CommandInfo's <code>getCommandObject</code>
- * method with the <code>ClassLoader</code> used to load
- * the <code>javax.activation.DataHandler</code> class itself.
+ * This method calls the CommandInfo's {@code getCommandObject}
+ * method with the {@code ClassLoader} used to load
+ * the {@code javax.activation.DataHandler} class itself.
*
* @param cmdinfo the CommandInfo corresponding to a command
* @return the instantiated command object
@@ -701,16 +701,16 @@
}
/**
- * Returns an <code>InputStream</code> representing this object.
- * @return the <code>InputStream</code>
+ * Returns an {@code InputStream} representing this object.
+ * @return the {@code InputStream}
*/
public InputStream getInputStream() throws IOException {
return dataHandler.getInputStream();
}
/**
- * Returns the <code>OutputStream</code> for this object.
- * @return the <code>OutputStream</code>
+ * Returns the {@code OutputStream} for this object.
+ * @return the {@code OutputStream}
*/
public OutputStream getOutputStream() throws IOException {
return dataHandler.getOutputStream();
@@ -754,7 +754,7 @@
}
/**
- * Return the DataFlavors for this <code>DataContentHandler</code>.
+ * Return the DataFlavors for this {@code DataContentHandler}.
* @return the DataFlavors
*/
public DataFlavor[] getTransferDataFlavors() {
@@ -842,7 +842,7 @@
}
/**
- * Return the DataFlavors for this <code>DataContentHandler</code>.
+ * Return the DataFlavors for this {@code DataContentHandler}.
* @return the DataFlavors
*/
public synchronized DataFlavor[] getTransferDataFlavors() {
--- a/jaxws/src/java.activation/share/classes/javax/activation/MailcapCommandMap.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.activation/share/classes/javax/activation/MailcapCommandMap.java Mon Apr 27 09:17:39 2015 -0700
@@ -45,14 +45,13 @@
* system for mailcap file entries. When requests are made
* to search for commands in the MailcapCommandMap, it searches
* mailcap files in the following order:
- * <p>
* <ol>
* <li> Programatically added entries to the MailcapCommandMap instance.
- * <li> The file <code>.mailcap</code> in the user's home directory.
- * <li> The file <<i>java.home</i>><code>/lib/mailcap</code>.
- * <li> The file or resources named <code>META-INF/mailcap</code>.
- * <li> The file or resource named <code>META-INF/mailcap.default</code>
- * (usually found only in the <code>activation.jar</code> file).
+ * <li> The file {@code .mailcap} in the user's home directory.
+ * <li> The file {@literal <}<i>java.home</i>{@literal >}{@code /lib/mailcap}.
+ * <li> The file or resources named {@code META-INF/mailcap}.
+ * <li> The file or resource named {@code META-INF/mailcap.default}
+ * (usually found only in the {@code activation.jar} file).
* </ol>
* <p>
* <b>Mailcap file format:</b><p>
@@ -70,46 +69,43 @@
*
* When a mailcap file is
* parsed, the MailcapCommandMap recognizes certain parameter signatures,
- * specifically those parameter names that begin with <code>x-java-</code>.
+ * specifically those parameter names that begin with {@code x-java-}.
* The MailcapCommandMap uses this signature to find
* command entries for inclusion into its registries.
- * Parameter names with the form <code>x-java-<name></code>
+ * Parameter names with the form {@code x-java-<name>}
* are read by the MailcapCommandMap as identifying a command
- * with the name <i>name</i>. When the <i>name</i> is <code>
- * content-handler</code> the MailcapCommandMap recognizes the class
+ * with the name <i>name</i>. When the <i>name</i> is {@code
+ * content-handler} the MailcapCommandMap recognizes the class
* signified by this parameter as a <i>DataContentHandler</i>.
* All other commands are handled generically regardless of command
* name. The command implementation is specified by a fully qualified
* class name of a JavaBean(tm) component. For example; a command for viewing
- * some data can be specified as: <code>x-java-view=com.foo.ViewBean</code>.<p>
+ * some data can be specified as: {@code x-java-view=com.foo.ViewBean}.<p>
*
- * When the command name is <code>fallback-entry</code>, the value of
- * the command may be <code>true</code> or <code>false</code>. An
+ * When the command name is {@code fallback-entry}, the value of
+ * the command may be {@code true} or {@code false}. An
* entry for a MIME type that includes a parameter of
- * <code>x-java-fallback-entry=true</code> defines fallback commands
+ * {@code x-java-fallback-entry=true} defines fallback commands
* for that MIME type that will only be used if no non-fallback entry
- * can be found. For example, an entry of the form <code>text/*; ;
- * x-java-fallback-entry=true; x-java-view=com.sun.TextViewer</code>
+ * can be found. For example, an entry of the form {@code text/*; ;
+ * x-java-fallback-entry=true; x-java-view=com.sun.TextViewer}
* specifies a view command to be used for any text MIME type. This
* view command would only be used if a non-fallback view command for
* the MIME type could not be found.<p>
*
* MailcapCommandMap aware mailcap files have the
- * following general form:<p>
- * <code>
- * # Comments begin with a '#' and continue to the end of the line.<br>
- * <mime type>; ; <parameter list><br>
- * # Where a parameter list consists of one or more parameters,<br>
- * # where parameters look like: x-java-view=com.sun.TextViewer<br>
- * # and a parameter list looks like: <br>
+ * following general form:
+ * <pre>{@code
+ * # Comments begin with a '#' and continue to the end of the line.
+ * <mime type>; ; <parameter list>
+ * # Where a parameter list consists of one or more parameters,
+ * # where parameters look like: x-java-view=com.sun.TextViewer
+ * # and a parameter list looks like:
* text/plain; ; x-java-view=com.sun.TextViewer; x-java-edit=com.sun.TextEdit
- * <br>
- * # Note that mailcap entries that do not contain 'x-java' parameters<br>
- * # and comply to RFC 1524 are simply ignored:<br>
- * image/gif; /usr/dt/bin/sdtimage %s<br>
- *
- * </code>
- * <p>
+ * # Note that mailcap entries that do not contain 'x-java' parameters
+ * # and comply to RFC 1524 are simply ignored:
+ * image/gif; /usr/dt/bin/sdtimage %s
+ * }</pre>
*
* @author Bart Calder
* @author Bill Shannon
@@ -451,7 +447,7 @@
}
/**
- * Get the command corresponding to <code>cmdName</code> for the MIME type.
+ * Get the command corresponding to {@code cmdName} for the MIME type.
*
* @param mimeType the MIME type
* @param cmdName the command name
--- a/jaxws/src/java.activation/share/classes/javax/activation/MimetypesFileTypeMap.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.activation/share/classes/javax/activation/MimetypesFileTypeMap.java Mon Apr 27 09:17:39 2015 -0700
@@ -33,33 +33,32 @@
/**
* This class extends FileTypeMap and provides data typing of files
- * via their file extension. It uses the <code>.mime.types</code> format. <p>
+ * via their file extension. It uses the {@code .mime.types} format. <p>
*
* <b>MIME types file search order:</b><p>
* The MimetypesFileTypeMap looks in various places in the user's
* system for MIME types file entries. When requests are made
* to search for MIME types in the MimetypesFileTypeMap, it searches
* MIME types files in the following order:
- * <p>
* <ol>
* <li> Programmatically added entries to the MimetypesFileTypeMap instance.
- * <li> The file <code>.mime.types</code> in the user's home directory.
- * <li> The file <<i>java.home</i>><code>/lib/mime.types</code>.
- * <li> The file or resources named <code>META-INF/mime.types</code>.
- * <li> The file or resource named <code>META-INF/mimetypes.default</code>
- * (usually found only in the <code>activation.jar</code> file).
+ * <li> The file {@code .mime.types} in the user's home directory.
+ * <li> The file {@literal <}<i>java.home</i>{@literal >}{@code /lib/mime.types}.
+ * <li> The file or resources named {@code META-INF/mime.types}.
+ * <li> The file or resource named {@code META-INF/mimetypes.default}
+ * (usually found only in the {@code activation.jar} file).
* </ol>
* <p>
- * <b>MIME types file format:</b><p>
+ * <b>MIME types file format:</b>
*
- * <code>
- * # comments begin with a '#'<br>
- * # the format is <mime type> <space separated file extensions><br>
- * # for example:<br>
- * text/plain txt text TXT<br>
- * # this would map file.txt, file.text, and file.TXT to<br>
- * # the mime type "text/plain"<br>
- * </code>
+ * <pre>{@code
+ * # comments begin with a '#'
+ * # the format is <mime type> <space separated file extensions>
+ * # for example:
+ * text/plain txt text TXT
+ * # this would map file.txt, file.text, and file.TXT to
+ * # the mime type "text/plain"
+ * }</pre>
*
* @author Bart Calder
* @author Bill Shannon
@@ -277,7 +276,7 @@
/**
* Return the MIME type of the file object.
* The implementation in this class calls
- * <code>getContentType(f.getName())</code>.
+ * {@code getContentType(f.getName())}.
*
* @param f the file
* @return the file's MIME type
--- a/jaxws/src/java.annotations.common/share/classes/javax/annotation/PostConstruct.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.annotations.common/share/classes/javax/annotation/PostConstruct.java Mon Apr 27 09:17:39 2015 -0700
@@ -39,7 +39,6 @@
* method can be annotated with this annotation. The method on which the
* PostConstruct annotation is applied MUST fulfill all of the following
* criteria:
- * <p>
* <ul>
* <li>The method MUST NOT have any parameters except in the case of
* interceptors in which case it takes an InvocationContext object as
--- a/jaxws/src/java.annotations.common/share/classes/javax/annotation/PreDestroy.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.annotations.common/share/classes/javax/annotation/PreDestroy.java Mon Apr 27 09:17:39 2015 -0700
@@ -38,7 +38,6 @@
* except the application client container in Java EE 5. The method on which
* the PreDestroy annotation is applied MUST fulfill all of the following
* criteria:
- * <p>
* <ul>
* <li>The method MUST NOT have any parameters except in the case of
* interceptors in which case it takes an InvocationContext object as
--- a/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/ClassFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/v2/ClassFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -30,6 +30,8 @@
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.ref.WeakReference;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.util.Map;
import java.util.WeakHashMap;
import java.util.logging.Level;
@@ -85,19 +87,25 @@
if(consRef!=null)
cons = consRef.get();
if(cons==null) {
- try {
- cons = clazz.getDeclaredConstructor(emptyClass);
- } catch (NoSuchMethodException e) {
- logger.log(Level.INFO,"No default constructor found on "+clazz,e);
- NoSuchMethodError exp;
- if(clazz.getDeclaringClass()!=null && !Modifier.isStatic(clazz.getModifiers())) {
- exp = new NoSuchMethodError(Messages.NO_DEFAULT_CONSTRUCTOR_IN_INNER_CLASS.format(clazz.getName()));
- } else {
- exp = new NoSuchMethodError(e.getMessage());
+ cons = AccessController.doPrivileged(new PrivilegedAction<Constructor<T>>() {
+ @Override
+ public Constructor<T> run() {
+ try {
+ return clazz.getDeclaredConstructor(emptyClass);
+ } catch (NoSuchMethodException e) {
+ logger.log(Level.INFO,"No default constructor found on "+clazz,e);
+ NoSuchMethodError exp;
+ if(clazz.getDeclaringClass()!=null && !Modifier.isStatic(clazz.getModifiers())) {
+ exp = new NoSuchMethodError(Messages.NO_DEFAULT_CONSTRUCTOR_IN_INNER_CLASS
+ .format(clazz.getName()));
+ } else {
+ exp = new NoSuchMethodError(e.getMessage());
+ }
+ exp.initCause(e);
+ throw exp;
+ }
}
- exp.initCause(e);
- throw exp;
- }
+ });
int classMod = clazz.getModifiers();
--- a/jaxws/src/java.xml.bind/share/classes/javax/xml/bind/DatatypeConverterInterface.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.bind/share/classes/javax/xml/bind/DatatypeConverterInterface.java Mon Apr 27 09:17:39 2015 -0700
@@ -38,19 +38,16 @@
* functionality. Calling this api repeatedly will have no effect - the
* DatatypeConverter instance passed into the first invocation is the one that
* will be used from then on.
- * </p>
*
* <p>
* This interface defines the parse and print methods. There is one
* parse and print method for each XML schema datatype specified in the
* the default binding Table 5-1 in the JAXB specification.
- * </p>
*
* <p>
* The parse and print methods defined here are invoked by the static parse
* and print methods defined in the {@link DatatypeConverter DatatypeConverter}
* class.
- * </p>
*
* <p>
* A parse method for a XML schema datatype must be capable of converting any
@@ -60,21 +57,23 @@
* If an error is encountered during conversion, then an IllegalArgumentException
* or a subclass of IllegalArgumentException must be thrown by the method.
*
- * </p>
- *
* <p>
* A print method for a XML schema datatype can output any lexical
* representation that is valid with respect to the XML schema datatype.
* If an error is encountered during conversion, then an IllegalArgumentException,
* or a subclass of IllegalArgumentException must be thrown by the method.
- * </p>
*
+ * <p>
* The prefix xsd: is used to refer to XML schema datatypes
* <a href="http://www.w3.org/TR/xmlschema-2/"> XML Schema Part2: Datatypes
* specification.</a>
*
- * <p>
- * @author <ul><li>Sekhar Vajjhala, Sun Microsystems, Inc.</li><li>Joe Fialli, Sun Microsystems Inc.</li><li>Kohsuke Kawaguchi, Sun Microsystems, Inc.</li><li>Ryan Shoemaker,Sun Microsystems Inc.</li></ul>
+ * @author <ul>
+ * <li>Sekhar Vajjhala, Sun Microsystems, Inc.</li>
+ * <li>Joe Fialli, Sun Microsystems Inc.</li>
+ * <li>Kohsuke Kawaguchi, Sun Microsystems, Inc.</li>
+ * <li>Ryan Shoemaker,Sun Microsystems Inc.</li>
+ * </ul>
* @see DatatypeConverter
* @see ParseConversionEvent
* @see PrintConversionEvent
@@ -83,7 +82,6 @@
public interface DatatypeConverterInterface {
/**
- * <p>
* Convert the string argument into a string.
* @param lexicalXSDString
* A lexical representation of the XML Schema datatype xsd:string
@@ -93,91 +91,83 @@
public String parseString( String lexicalXSDString );
/**
- * <p>
* Convert the string argument into a BigInteger value.
* @param lexicalXSDInteger
* A string containing a lexical representation of
* xsd:integer.
* @return
* A BigInteger value represented by the string argument.
- * @throws NumberFormatException <code>lexicalXSDInteger</code> is not a valid string representation of a {@link java.math.BigInteger} value.
+ * @throws NumberFormatException {@code lexicalXSDInteger} is not a valid string representation of a {@link java.math.BigInteger} value.
*/
public java.math.BigInteger parseInteger( String lexicalXSDInteger );
/**
- * <p>
* Convert the string argument into an int value.
* @param lexicalXSDInt
* A string containing a lexical representation of
* xsd:int.
* @return
* An int value represented byte the string argument.
- * @throws NumberFormatException <code>lexicalXSDInt</code> is not a valid string representation of an <code>int</code> value.
+ * @throws NumberFormatException {@code lexicalXSDInt} is not a valid string representation of an {@code int} value.
*/
public int parseInt( String lexicalXSDInt );
/**
- * <p>
* Converts the string argument into a long value.
* @param lexicalXSDLong
* A string containing lexical representation of
* xsd:long.
* @return
* A long value represented by the string argument.
- * @throws NumberFormatException <code>lexicalXSDLong</code> is not a valid string representation of a <code>long</code> value.
+ * @throws NumberFormatException {@code lexicalXSDLong} is not a valid string representation of a {@code long} value.
*/
public long parseLong( String lexicalXSDLong );
/**
- * <p>
* Converts the string argument into a short value.
* @param lexicalXSDShort
* A string containing lexical representation of
* xsd:short.
* @return
* A short value represented by the string argument.
- * @throws NumberFormatException <code>lexicalXSDShort</code> is not a valid string representation of a <code>short</code> value.
+ * @throws NumberFormatException {@code lexicalXSDShort} is not a valid string representation of a {@code short} value.
*/
public short parseShort( String lexicalXSDShort );
/**
- * <p>
* Converts the string argument into a BigDecimal value.
* @param lexicalXSDDecimal
* A string containing lexical representation of
* xsd:decimal.
* @return
* A BigDecimal value represented by the string argument.
- * @throws NumberFormatException <code>lexicalXSDDecimal</code> is not a valid string representation of {@link java.math.BigDecimal}.
+ * @throws NumberFormatException {@code lexicalXSDDecimal} is not a valid string representation of {@link java.math.BigDecimal}.
*/
public java.math.BigDecimal parseDecimal( String lexicalXSDDecimal );
/**
- * <p>
* Converts the string argument into a float value.
* @param lexicalXSDFloat
* A string containing lexical representation of
* xsd:float.
* @return
* A float value represented by the string argument.
- * @throws NumberFormatException <code>lexicalXSDFloat</code> is not a valid string representation of a <code>float</code> value.
+ * @throws NumberFormatException {@code lexicalXSDFloat} is not a valid string representation of a {@code float} value.
*/
public float parseFloat( String lexicalXSDFloat );
/**
- * <p>
* Converts the string argument into a double value.
* @param lexicalXSDDouble
* A string containing lexical representation of
* xsd:double.
* @return
* A double value represented by the string argument.
- * @throws NumberFormatException <code>lexicalXSDDouble</code> is not a valid string representation of a <code>double</code> value.
+ * @throws NumberFormatException {@code lexicalXSDDouble} is not a valid string representation of a {@code double} value.
*/
public double parseDouble( String lexicalXSDDouble );
/**
- * <p>
* Converts the string argument into a boolean value.
* @param lexicalXSDBoolean
* A string containing lexical representation of
@@ -189,20 +179,18 @@
public boolean parseBoolean( String lexicalXSDBoolean );
/**
- * <p>
* Converts the string argument into a byte value.
* @param lexicalXSDByte
* A string containing lexical representation of
* xsd:byte.
* @return
* A byte value represented by the string argument.
- * @throws NumberFormatException <code>lexicalXSDByte</code> does not contain a parseable byte.
+ * @throws NumberFormatException {@code lexicalXSDByte} does not contain a parseable byte.
* @throws IllegalArgumentException if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:byte.
*/
public byte parseByte( String lexicalXSDByte );
/**
- * <p>
* Converts the string argument into a QName value.
*
* <p>
@@ -222,7 +210,6 @@
javax.xml.namespace.NamespaceContext nsc);
/**
- * <p>
* Converts the string argument into a Calendar value.
* @param lexicalXSDDateTime
* A string containing lexical representation of
@@ -234,7 +221,6 @@
public java.util.Calendar parseDateTime( String lexicalXSDDateTime );
/**
- * <p>
* Converts the string argument into an array of bytes.
* @param lexicalXSDBase64Binary
* A string containing lexical representation
@@ -246,7 +232,6 @@
public byte[] parseBase64Binary( String lexicalXSDBase64Binary );
/**
- * <p>
* Converts the string argument into an array of bytes.
* @param lexicalXSDHexBinary
* A string containing lexical representation of
@@ -258,7 +243,6 @@
public byte[] parseHexBinary( String lexicalXSDHexBinary );
/**
- * <p>
* Converts the string argument into a long value.
* @param lexicalXSDUnsignedInt
* A string containing lexical representation
@@ -270,7 +254,6 @@
public long parseUnsignedInt( String lexicalXSDUnsignedInt );
/**
- * <p>
* Converts the string argument into an int value.
* @param lexicalXSDUnsignedShort
* A string containing lexical
@@ -282,7 +265,6 @@
public int parseUnsignedShort( String lexicalXSDUnsignedShort );
/**
- * <p>
* Converts the string argument into a Calendar value.
* @param lexicalXSDTime
* A string containing lexical representation of
@@ -294,7 +276,6 @@
public java.util.Calendar parseTime( String lexicalXSDTime );
/**
- * <p>
* Converts the string argument into a Calendar value.
* @param lexicalXSDDate
* A string containing lexical representation of
@@ -306,7 +287,6 @@
public java.util.Calendar parseDate( String lexicalXSDDate );
/**
- * <p>
* Return a string containing the lexical representation of the
* simple type.
* @param lexicalXSDAnySimpleType
@@ -319,7 +299,6 @@
public String parseAnySimpleType( String lexicalXSDAnySimpleType );
/**
- * <p>
* Converts the string argument into a string.
* @param val
* A string value.
@@ -329,7 +308,6 @@
public String printString( String val );
/**
- * <p>
* Converts a BigInteger value into a string.
* @param val
* A BigInteger value
@@ -340,7 +318,6 @@
public String printInteger( java.math.BigInteger val );
/**
- * <p>
* Converts an int value into a string.
* @param val
* An int value
@@ -351,7 +328,6 @@
/**
- * <p>
* Converts a long value into a string.
* @param val
* A long value
@@ -361,7 +337,6 @@
public String printLong( long val );
/**
- * <p>
* Converts a short value into a string.
* @param val
* A short value
@@ -371,7 +346,6 @@
public String printShort( short val );
/**
- * <p>
* Converts a BigDecimal value into a string.
* @param val
* A BigDecimal value
@@ -382,7 +356,6 @@
public String printDecimal( java.math.BigDecimal val );
/**
- * <p>
* Converts a float value into a string.
* @param val
* A float value
@@ -392,7 +365,6 @@
public String printFloat( float val );
/**
- * <p>
* Converts a double value into a string.
* @param val
* A double value
@@ -402,7 +374,6 @@
public String printDouble( double val );
/**
- * <p>
* Converts a boolean value into a string.
* @param val
* A boolean value
@@ -412,7 +383,6 @@
public String printBoolean( boolean val );
/**
- * <p>
* Converts a byte value into a string.
* @param val
* A byte value
@@ -422,7 +392,6 @@
public String printByte( byte val );
/**
- * <p>
* Converts a QName instance into a string.
* @param val
* A QName value
@@ -437,7 +406,6 @@
javax.xml.namespace.NamespaceContext nsc );
/**
- * <p>
* Converts a Calendar value into a string.
* @param val
* A Calendar value
@@ -448,7 +416,6 @@
public String printDateTime( java.util.Calendar val );
/**
- * <p>
* Converts an array of bytes into a string.
* @param val
* an array of bytes
@@ -459,7 +426,6 @@
public String printBase64Binary( byte[] val );
/**
- * <p>
* Converts an array of bytes into a string.
* @param val
* an array of bytes
@@ -470,7 +436,6 @@
public String printHexBinary( byte[] val );
/**
- * <p>
* Converts a long value into a string.
* @param val
* A long value
@@ -480,7 +445,6 @@
public String printUnsignedInt( long val );
/**
- * <p>
* Converts an int value into a string.
* @param val
* An int value
@@ -490,7 +454,6 @@
public String printUnsignedShort( int val );
/**
- * <p>
* Converts a Calendar value into a string.
* @param val
* A Calendar value
@@ -501,7 +464,6 @@
public String printTime( java.util.Calendar val );
/**
- * <p>
* Converts a Calendar value into a string.
* @param val
* A Calendar value
@@ -512,7 +474,6 @@
public String printDate( java.util.Calendar val );
/**
- * <p>
* Converts a string value into a string.
* @param val
* A string value
--- a/jaxws/src/java.xml.bind/share/classes/javax/xml/bind/JAXBPermission.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.bind/share/classes/javax/xml/bind/JAXBPermission.java Mon Apr 27 09:17:39 2015 -0700
@@ -40,7 +40,6 @@
* The following table lists all the possible {@code JAXBPermission} target names,
* and for each provides a description of what the permission allows
* and a discussion of the risks of granting code the permission.
- * <P>
*
* <table border=1 cellpadding=5 summary="Permission target name, what the permission allows, and associated risks">
* <tr>
--- a/jaxws/src/java.xml.bind/share/classes/javax/xml/bind/annotation/XmlElement.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.bind/share/classes/javax/xml/bind/annotation/XmlElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -36,7 +36,7 @@
/**
* Maps a JavaBean property to a XML element derived from property name.
*
- * <p> <b>Usage</b> </p>
+ * <p> <b>Usage</b>
* <p>
* <tt>@XmlElement</tt> annotation can be used with the following program
* elements:
@@ -44,8 +44,6 @@
* <li> a JavaBean property </li>
* <li> non static, non transient field </li>
* <li> within {@link XmlElements}
- * <p>
- *
* </ul>
*
* The usage is subject to the following constraints:
@@ -79,7 +77,7 @@
* <pre>
* //Example: Code fragment
* public class USPrice {
- * @XmlElement(name="itemprice")
+ * {@literal @}XmlElement(name="itemprice")
* public java.math.BigDecimal price;
* }
* {@code
@@ -95,10 +93,9 @@
*
* <b> Example 2: </b> Map a field to a nillable element.
* <pre>
- *
* //Example: Code fragment
* public class USPrice {
- * @XmlElement(nillable=true)
+ * {@literal @}XmlElement(nillable=true)
* public java.math.BigDecimal price;
* }
* {@code
@@ -113,10 +110,9 @@
* <p>
* <b> Example 3: </b> Map a field to a nillable, required element.
* <pre>
- *
* //Example: Code fragment
* public class USPrice {
- * @XmlElement(nillable=true, required=true)
+ * {@literal @}XmlElement(nillable=true, required=true)
* public java.math.BigDecimal price;
* }
* {@code
@@ -134,7 +130,6 @@
* <p>
* See Example 6 in @{@link XmlType}.
*
- * <p>
* @author Sekhar Vajjhala, Sun Microsystems, Inc.
* @since 1.6, JAXB 2.0
*/
--- a/jaxws/src/java.xml.bind/share/classes/javax/xml/bind/attachment/AttachmentMarshaller.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.bind/share/classes/javax/xml/bind/attachment/AttachmentMarshaller.java Mon Apr 27 09:17:39 2015 -0700
@@ -29,22 +29,22 @@
import javax.xml.bind.Marshaller;
/**
- * <p>Enable JAXB marshalling to optimize storage of binary data.</p>
+ * <p>Enable JAXB marshalling to optimize storage of binary data.
*
* <p>This API enables an efficient cooperative creation of optimized
* binary data formats between a JAXB marshalling process and a MIME-based package
* processor. A JAXB implementation marshals the root body of a MIME-based package,
* delegating the creation of referenceable MIME parts to
- * the MIME-based package processor that implements this abstraction.</p>
+ * the MIME-based package processor that implements this abstraction.
*
* <p>XOP processing is enabled when {@link #isXOPPackage()} is true.
* See {@link #addMtomAttachment(DataHandler, String, String)} for details.
- * </p>
+ *
*
* <p>WS-I Attachment Profile 1.0 is supported by
* {@link #addSwaRefAttachment(DataHandler)} being called by the
* marshaller for each JAXB property related to
- * {http://ws-i.org/profiles/basic/1.1/xsd}swaRef.</p>
+ * {http://ws-i.org/profiles/basic/1.1/xsd}swaRef.
*
*
* @author Marc Hadley
@@ -60,33 +60,33 @@
public abstract class AttachmentMarshaller {
/**
- * <p>Consider MIME content <code>data</code> for optimized binary storage as an attachment.
+ * <p>Consider MIME content {@code data} for optimized binary storage as an attachment.
*
* <p>
* This method is called by JAXB marshal process when {@link #isXOPPackage()} is
- * <code>true</code>, for each element whose datatype is "base64Binary", as described in
+ * {@code true}, for each element whose datatype is "base64Binary", as described in
* Step 3 in
* <a href="http://www.w3.org/TR/2005/REC-xop10-20050125/#creating_xop_packages">Creating XOP Packages</a>.
*
* <p>
- * The method implementor determines whether <code>data</code> shall be attached separately
+ * The method implementor determines whether {@code data} shall be attached separately
* or inlined as base64Binary data. If the implementation chooses to optimize the storage
- * of the binary data as a MIME part, it is responsible for attaching <code>data</code> to the
+ * of the binary data as a MIME part, it is responsible for attaching {@code data} to the
* MIME-based package, and then assigning an unique content-id, cid, that identifies
* the MIME part within the MIME message. This method returns the cid,
* which enables the JAXB marshaller to marshal a XOP element that refers to that cid in place
* of marshalling the binary data. When the method returns null, the JAXB marshaller
- * inlines <code>data</code> as base64binary data.
+ * inlines {@code data} as base64binary data.
*
* <p>
* The caller of this method is required to meet the following constraint.
- * If the element infoset item containing <code>data</code> has the attribute
- * <code>xmime:contentType</code> or if the JAXB property/field representing
- * <code>data</code>is annotated with a known MIME type,
- * <code>data.getContentType()</code> should be set to that MIME type.
+ * If the element infoset item containing {@code data} has the attribute
+ * {@code xmime:contentType} or if the JAXB property/field representing
+ * {@code data} is annotated with a known MIME type,
+ * {@code data.getContentType()} should be set to that MIME type.
*
* <p>
- * The <code>elementNamespace</code> and <code>elementLocalName</code>
+ * The {@code elementNamespace} and {@code elementLocalName}
* parameters provide the
* context that contains the binary data. This information could
* be used by the MIME-based package processor to determine if the
@@ -101,7 +101,7 @@
* The local name of the element. Always a non-null valid string.
*
* @return
- * a valid content-id URI (see <a href="http://www.w3.org/TR/xop10/#RFC2387">RFC 2387</a>) that identifies the attachment containing <code>data</code>.
+ * a valid content-id URI (see <a href="http://www.w3.org/TR/xop10/#RFC2387">RFC 2387</a>) that identifies the attachment containing {@code data}.
* Otherwise, null if the attachment was not added and should instead be inlined in the message.
*
* @see <a href="http://www.w3.org/TR/2005/REC-xop10-20050125/">XML-binary Optimized Packaging</a>
@@ -110,12 +110,12 @@
public abstract String addMtomAttachment(DataHandler data, String elementNamespace, String elementLocalName);
/**
- * <p>Consider binary <code>data</code> for optimized binary storage as an attachment.
+ * <p>Consider binary {@code data} for optimized binary storage as an attachment.
*
- * <p>Since content type is not known, the attachment's MIME content type must be set to "application/octet-stream".</p>
+ * <p>Since content type is not known, the attachment's MIME content type must be set to "application/octet-stream".
*
* <p>
- * The <code>elementNamespace</code> and <code>elementLocalName</code>
+ * The {@code elementNamespace} and {@code elementLocalName}
* parameters provide the
* context that contains the binary data. This information could
* be used by the MIME-based package processor to determine if the
@@ -146,21 +146,21 @@
* The local name of the element. Always a non-null valid string.
*
* @return content-id URI, cid, to the attachment containing
- * <code>data</code> or null if data should be inlined.
+ * {@code data} or null if data should be inlined.
*
* @see #addMtomAttachment(DataHandler, String, String)
*/
public abstract String addMtomAttachment(byte[] data, int offset, int length, String mimeType, String elementNamespace, String elementLocalName);
/**
- * <p>Read-only property that returns true if JAXB marshaller should enable XOP creation.</p>
+ * <p>Read-only property that returns true if JAXB marshaller should enable XOP creation.
*
* <p>This value must not change during the marshalling process. When this
- * value is true, the <code>addMtomAttachment(...)</code> method
+ * value is true, the {@code addMtomAttachment(...)} method
* is invoked when the appropriate binary datatypes are encountered by
- * the marshal process.</p>
+ * the marshal process.
*
- * <p>Marshaller.marshal() must throw IllegalStateException if this value is <code>true</code>
+ * <p>Marshaller.marshal() must throw IllegalStateException if this value is {@code true}
* and the XML content to be marshalled violates Step 1 in
* <a href="http://www.w3.org/TR/2005/REC-xop10-20050125/#creating_xop_packages">Creating XOP Pacakges</a>
* http://www.w3.org/TR/2005/REC-xop10-20050125/#creating_xop_packages.
@@ -168,18 +168,18 @@
* [namespace name] of "http://www.w3.org/2004/08/xop/include" and a [local name] of Include"</i>
*
* <p>When this method returns true and during the marshal process
- * at least one call to <code>addMtomAttachment(...)</code> returns
+ * at least one call to {@code addMtomAttachment(...)} returns
* a content-id, the MIME-based package processor must label the
* root part with the application/xop+xml media type as described in
* Step 5 of
- * <a href="http://www.w3.org/TR/2005/REC-xop10-20050125/#creating_xop_packages">Creating XOP Pacakges</a>.<p>
+ * <a href="http://www.w3.org/TR/2005/REC-xop10-20050125/#creating_xop_packages">Creating XOP Pacakges</a>.
*
* @return true when MIME context is a XOP Package.
*/
public boolean isXOPPackage() { return false; }
/**
- * <p>Add MIME <code>data</code> as an attachment and return attachment's content-id, cid.</p>
+ * <p>Add MIME {@code data} as an attachment and return attachment's content-id, cid.
*
* <p>
* This method is called by JAXB marshal process for each element/attribute typed as
@@ -188,7 +188,7 @@
* MIME attachment, and generating a content-id, cid, that uniquely identifies the attachment
* within the MIME-based package.
*
- * <p>Caller inserts the returned content-id, cid, into the XML content being marshalled.</p>
+ * <p>Caller inserts the returned content-id, cid, into the XML content being marshalled.
*
* @param data
* represents the data to be attached. Must be non-null.
--- a/jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/api/pipe/Engine.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/api/pipe/Engine.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -108,7 +108,8 @@
}
public Thread newThread(Runnable r) {
- Thread t = new Thread(null, r, namePrefix + threadNumber.getAndIncrement(), 0);
+ Thread t = ThreadHelper.createNewThread(r);
+ t.setName(namePrefix + threadNumber.getAndIncrement());
if (!t.isDaemon()) {
t.setDaemon(true);
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/api/pipe/ThreadHelper.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.xml.internal.ws.api.pipe;
+
+import java.lang.reflect.Constructor;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/**
+ * Simple utility class to instantiate correct Thread instance
+ * depending on runtime context (jdk/non-jdk usage)
+ *
+ * @author miroslav.kos@oracle.com
+ */
+final class ThreadHelper {
+
+ private static final String SAFE_THREAD_NAME = "sun.misc.ManagedLocalsThread";
+ private static final Constructor THREAD_CONSTRUCTOR;
+
+ // no instantiating wanted
+ private ThreadHelper() {
+ }
+
+ static {
+ THREAD_CONSTRUCTOR = AccessController.doPrivileged(
+ new PrivilegedAction<Constructor> () {
+ @Override
+ public Constructor run() {
+ try {
+ Class cls = Class.forName(SAFE_THREAD_NAME);
+ if (cls != null) {
+ return cls.getConstructor(Runnable.class);
+ }
+ } catch (ClassNotFoundException ignored) {
+ } catch (NoSuchMethodException ignored) {
+ }
+ return null;
+ }
+ }
+ );
+ }
+
+ static Thread createNewThread(final Runnable r) {
+ if (isJDKInternal()) {
+ return AccessController.doPrivileged(
+ new PrivilegedAction<Thread>() {
+ @Override
+ public Thread run() {
+ try {
+ return (Thread) THREAD_CONSTRUCTOR.newInstance(r);
+ } catch (Exception e) {
+ return new Thread(r);
+ }
+ }
+ }
+ );
+ } else {
+ return new Thread(r);
+ }
+ }
+
+ private static boolean isJDKInternal() {
+ String className = ThreadHelper.class.getName();
+ return className.contains(".internal.");
+ }
+}
--- a/jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/client/WSServiceDelegate.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/client/WSServiceDelegate.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -894,15 +894,6 @@
return wsdlService;
}
- static class DaemonThreadFactory implements ThreadFactory {
- @Override
- public Thread newThread(Runnable r) {
- Thread daemonThread = new Thread(r);
- daemonThread.setDaemon(Boolean.TRUE);
- return daemonThread;
- }
- }
-
protected static final WebServiceFeature[] EMPTY_FEATURES = new WebServiceFeature[0];
private static ClassLoader getDelegatingLoader(ClassLoader loader1, ClassLoader loader2) {
--- a/jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/spi/db/BindingHelper.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/spi/db/BindingHelper.java Mon Apr 27 09:17:39 2015 -0700
@@ -36,9 +36,6 @@
//TODO DOMHeader DOMMessage SAAJMessage StatefulInstanceResolver
import com.sun.xml.internal.bind.unmarshaller.DOMScanner;
-//TODO MtomCodec
-import com.sun.xml.internal.bind.v2.runtime.output.Encoded;
-
//TODO ExceptionBean
import com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper;
--- a/jaxws/src/java.xml.ws/share/classes/javax/jws/soap/InitParam.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/jws/soap/InitParam.java Mon Apr 27 09:17:39 2015 -0700
@@ -27,7 +27,7 @@
/**
* @since 1.6
- * @Deprecated
+ * @deprecated
*/
@Deprecated public @interface InitParam {
String name();
--- a/jaxws/src/java.xml.ws/share/classes/javax/jws/soap/SOAPMessageHandler.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/jws/soap/SOAPMessageHandler.java Mon Apr 27 09:17:39 2015 -0700
@@ -27,7 +27,7 @@
/**
* @since 1.6
- * @Deprecated
+ * @deprecated
*/
@Deprecated public @interface SOAPMessageHandler {
String name() default "";
--- a/jaxws/src/java.xml.ws/share/classes/javax/jws/soap/SOAPMessageHandlers.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/jws/soap/SOAPMessageHandlers.java Mon Apr 27 09:17:39 2015 -0700
@@ -29,7 +29,7 @@
/**
* @since 1.6
- * @Deprecated
+ * @deprecated
*/
@Retention(value=RetentionPolicy.RUNTIME)
@Target({TYPE})
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/soap/AttachmentPart.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/soap/AttachmentPart.java Mon Apr 27 09:17:39 2015 -0700
@@ -32,54 +32,53 @@
import javax.activation.DataHandler;
/**
- * A single attachment to a <code>SOAPMessage</code> object. A <code>SOAPMessage</code>
- * object may contain zero, one, or many <code>AttachmentPart</code> objects.
- * Each <code>AttachmentPart</code> object consists of two parts,
+ * A single attachment to a {@code SOAPMessage} object. A {@code SOAPMessage}
+ * object may contain zero, one, or many {@code AttachmentPart} objects.
+ * Each {@code AttachmentPart} object consists of two parts,
* application-specific content and associated MIME headers. The
* MIME headers consists of name/value pairs that can be used to
* identify and describe the content.
* <p>
- * An <code>AttachmentPart</code> object must conform to certain standards.
+ * An {@code AttachmentPart} object must conform to certain standards.
* <OL>
* <LI>It must conform to <a href="http://www.ietf.org/rfc/rfc2045.txt">
* MIME [RFC2045] standards</a>
* <LI>It MUST contain content
* <LI>The header portion MUST include the following header:
* <UL>
- * <LI><code>Content-Type</code><br>
+ * <LI>{@code Content-Type}<br>
* This header identifies the type of data in the content of an
- * <code>AttachmentPart</code> object and MUST conform to [RFC2045].
+ * {@code AttachmentPart} object and MUST conform to [RFC2045].
* The following is an example of a Content-Type header:
* <PRE>
* Content-Type: application/xml
* </PRE>
- * The following line of code, in which <code>ap</code> is an
- * <code>AttachmentPart</code> object, sets the header shown in
+ * The following line of code, in which {@code ap} is an
+ * {@code AttachmentPart} object, sets the header shown in
* the previous example.
* <PRE>
* ap.setMimeHeader("Content-Type", "application/xml");
* </PRE>
- * <p>
* </UL>
* </OL>
* <p>
- * There are no restrictions on the content portion of an <code>
- * AttachmentPart</code> object. The content may be anything from a
+ * There are no restrictions on the content portion of an {@code
+ * AttachmentPart} object. The content may be anything from a
* simple plain text object to a complex XML document or image file.
*
* <p>
- * An <code>AttachmentPart</code> object is created with the method
- * <code>SOAPMessage.createAttachmentPart</code>. After setting its MIME headers,
- * the <code>AttachmentPart</code> object is added to the message
- * that created it with the method <code>SOAPMessage.addAttachmentPart</code>.
+ * An {@code AttachmentPart} object is created with the method
+ * {@code SOAPMessage.createAttachmentPart}. After setting its MIME headers,
+ * the {@code AttachmentPart} object is added to the message
+ * that created it with the method {@code SOAPMessage.addAttachmentPart}.
*
* <p>
- * The following code fragment, in which <code>m</code> is a
- * <code>SOAPMessage</code> object and <code>contentStringl</code> is a
- * <code>String</code>, creates an instance of <code>AttachmentPart</code>,
- * sets the <code>AttachmentPart</code> object with some content and
- * header information, and adds the <code>AttachmentPart</code> object to
- * the <code>SOAPMessage</code> object.
+ * The following code fragment, in which {@code m} is a
+ * {@code SOAPMessage} object and {@code contentStringl} is a
+ * {@code String}, creates an instance of {@code AttachmentPart},
+ * sets the {@code AttachmentPart} object with some content and
+ * header information, and adds the {@code AttachmentPart} object to
+ * the {@code SOAPMessage} object.
* <PRE>
* AttachmentPart ap1 = m.createAttachmentPart();
* ap1.setContent(contentString1, "text/plain");
@@ -89,7 +88,7 @@
*
* <p>
* The following code fragment creates and adds a second
- * <code>AttachmentPart</code> instance to the same message. <code>jpegData</code>
+ * {@code AttachmentPart} instance to the same message. {@code jpegData}
* is a binary byte buffer representing the jpeg file.
* <PRE>
* AttachmentPart ap2 = m.createAttachmentPart();
@@ -98,19 +97,19 @@
* m.addAttachmentPart(ap2);
* </PRE>
* <p>
- * The <code>getContent</code> method retrieves the contents and header from
- * an <code>AttachmentPart</code> object. Depending on the
- * <code>DataContentHandler</code> objects present, the returned
- * <code>Object</code> can either be a typed Java object corresponding
- * to the MIME type or an <code>InputStream</code> object that contains the
+ * The {@code getContent} method retrieves the contents and header from
+ * an {@code AttachmentPart} object. Depending on the
+ * {@code DataContentHandler} objects present, the returned
+ * {@code Object} can either be a typed Java object corresponding
+ * to the MIME type or an {@code InputStream} object that contains the
* content as bytes.
* <PRE>
* String content1 = ap1.getContent();
* java.io.InputStream content2 = ap2.getContent();
* </PRE>
*
- * The method <code>clearContent</code> removes all the content from an
- * <code>AttachmentPart</code> object but does not affect its header information.
+ * The method {@code clearContent} removes all the content from an
+ * {@code AttachmentPart} object but does not affect its header information.
* <PRE>
* ap1.clearContent();
* </PRE>
@@ -120,10 +119,10 @@
public abstract class AttachmentPart {
/**
- * Returns the number of bytes in this <code>AttachmentPart</code>
+ * Returns the number of bytes in this {@code AttachmentPart}
* object.
*
- * @return the size of this <code>AttachmentPart</code> object in bytes
+ * @return the size of this {@code AttachmentPart} object in bytes
* or -1 if the size cannot be determined
* @exception SOAPException if the content of this attachment is
* corrupted of if there was an exception while trying
@@ -132,52 +131,52 @@
public abstract int getSize() throws SOAPException;
/**
- * Clears out the content of this <code>AttachmentPart</code> object.
+ * Clears out the content of this {@code AttachmentPart} object.
* The MIME header portion is left untouched.
*/
public abstract void clearContent();
/**
- * Gets the content of this <code>AttachmentPart</code> object as a Java
+ * Gets the content of this {@code AttachmentPart} object as a Java
* object. The type of the returned Java object depends on (1) the
- * <code>DataContentHandler</code> object that is used to interpret the bytes
- * and (2) the <code>Content-Type</code> given in the header.
+ * {@code DataContentHandler} object that is used to interpret the bytes
+ * and (2) the {@code Content-Type} given in the header.
* <p>
* For the MIME content types "text/plain", "text/html" and "text/xml", the
- * <code>DataContentHandler</code> object does the conversions to and
+ * {@code DataContentHandler} object does the conversions to and
* from the Java types corresponding to the MIME types.
- * For other MIME types,the <code>DataContentHandler</code> object
- * can return an <code>InputStream</code> object that contains the content data
+ * For other MIME types,the {@code DataContentHandler} object
+ * can return an {@code InputStream} object that contains the content data
* as raw bytes.
* <p>
* A SAAJ-compliant implementation must, as a minimum, return a
- * <code>java.lang.String</code> object corresponding to any content
- * stream with a <code>Content-Type</code> value of
- * <code>text/plain</code>, a
- * <code>javax.xml.transform.stream.StreamSource</code> object corresponding to a
- * content stream with a <code>Content-Type</code> value of
- * <code>text/xml</code>, a <code>java.awt.Image</code> object
+ * {@code java.lang.String} object corresponding to any content
+ * stream with a {@code Content-Type} value of
+ * {@code text/plain}, a
+ * {@code javax.xml.transform.stream.StreamSource} object corresponding to a
+ * content stream with a {@code Content-Type} value of
+ * {@code text/xml}, a {@code java.awt.Image} object
* corresponding to a content stream with a
- * <code>Content-Type</code> value of <code>image/gif</code> or
- * <code>image/jpeg</code>. For those content types that an
- * installed <code>DataContentHandler</code> object does not understand, the
- * <code>DataContentHandler</code> object is required to return a
- * <code>java.io.InputStream</code> object with the raw bytes.
+ * {@code Content-Type} value of {@code image/gif} or
+ * {@code image/jpeg}. For those content types that an
+ * installed {@code DataContentHandler} object does not understand, the
+ * {@code DataContentHandler} object is required to return a
+ * {@code java.io.InputStream} object with the raw bytes.
*
- * @return a Java object with the content of this <code>AttachmentPart</code>
+ * @return a Java object with the content of this {@code AttachmentPart}
* object
*
* @exception SOAPException if there is no content set into this
- * <code>AttachmentPart</code> object or if there was a data
+ * {@code AttachmentPart} object or if there was a data
* transformation error
*/
public abstract Object getContent() throws SOAPException;
/**
- * Gets the content of this <code>AttachmentPart</code> object as an
- * InputStream as if a call had been made to <code>getContent</code> and no
- * <code>DataContentHandler</code> had been registered for the
- * <code>content-type</code> of this <code>AttachmentPart</code>.
+ * Gets the content of this {@code AttachmentPart} object as an
+ * InputStream as if a call had been made to {@code getContent} and no
+ * {@code DataContentHandler} had been registered for the
+ * {@code content-type} of this {@code AttachmentPart}.
*<p>
* Note that reading from the returned InputStream would result in consuming
* the data in the stream. It is the responsibility of the caller to reset
@@ -185,11 +184,11 @@
* of the raw attachment content is required then the {@link #getRawContentBytes} API
* should be used instead.
*
- * @return an <code>InputStream</code> from which the raw data contained by
- * the <code>AttachmentPart</code> can be accessed.
+ * @return an {@code InputStream} from which the raw data contained by
+ * the {@code AttachmentPart} can be accessed.
*
* @throws SOAPException if there is no content set into this
- * <code>AttachmentPart</code> object or if there was a data
+ * {@code AttachmentPart} object or if there was a data
* transformation error.
*
* @since 1.6, SAAJ 1.3
@@ -198,16 +197,16 @@
public abstract InputStream getRawContent() throws SOAPException;
/**
- * Gets the content of this <code>AttachmentPart</code> object as a
- * byte[] array as if a call had been made to <code>getContent</code> and no
- * <code>DataContentHandler</code> had been registered for the
- * <code>content-type</code> of this <code>AttachmentPart</code>.
+ * Gets the content of this {@code AttachmentPart} object as a
+ * byte[] array as if a call had been made to {@code getContent} and no
+ * {@code DataContentHandler} had been registered for the
+ * {@code content-type} of this {@code AttachmentPart}.
*
- * @return a <code>byte[]</code> array containing the raw data of the
- * <code>AttachmentPart</code>.
+ * @return a {@code byte[]} array containing the raw data of the
+ * {@code AttachmentPart}.
*
* @throws SOAPException if there is no content set into this
- * <code>AttachmentPart</code> object or if there was a data
+ * {@code AttachmentPart} object or if there was a data
* transformation error.
*
* @since 1.6, SAAJ 1.3
@@ -215,16 +214,16 @@
public abstract byte[] getRawContentBytes() throws SOAPException;
/**
- * Returns an <code>InputStream</code> which can be used to obtain the
- * content of <code>AttachmentPart</code> as Base64 encoded
+ * Returns an {@code InputStream} which can be used to obtain the
+ * content of {@code AttachmentPart} as Base64 encoded
* character data, this method would base64 encode the raw bytes
* of the attachment and return.
*
- * @return an <code>InputStream</code> from which the Base64 encoded
- * <code>AttachmentPart</code> can be read.
+ * @return an {@code InputStream} from which the Base64 encoded
+ * {@code AttachmentPart} can be read.
*
* @throws SOAPException if there is no content set into this
- * <code>AttachmentPart</code> object or if there was a data
+ * {@code AttachmentPart} object or if there was a data
* transformation error.
*
* @since 1.6, SAAJ 1.3
@@ -233,11 +232,11 @@
/**
* Sets the content of this attachment part to that of the given
- * <code>Object</code> and sets the value of the <code>Content-Type</code>
+ * {@code Object} and sets the value of the {@code Content-Type}
* header to the given type. The type of the
- * <code>Object</code> should correspond to the value given for the
- * <code>Content-Type</code>. This depends on the particular
- * set of <code>DataContentHandler</code> objects in use.
+ * {@code Object} should correspond to the value given for the
+ * {@code Content-Type}. This depends on the particular
+ * set of {@code DataContentHandler} objects in use.
*
*
* @param object the Java object that makes up the content for
@@ -247,7 +246,7 @@
*
* @exception IllegalArgumentException may be thrown if the contentType
* does not match the type of the content object, or if there
- * was no <code>DataContentHandler</code> object for this
+ * was no {@code DataContentHandler} object for this
* content object
*
* @see #getContent
@@ -256,31 +255,31 @@
/**
* Sets the content of this attachment part to that contained by the
- * <code>InputStream</code> <code>content</code> and sets the value of the
- * <code>Content-Type</code> header to the value contained in
- * <code>contentType</code>.
+ * {@code InputStream} {@code content} and sets the value of the
+ * {@code Content-Type} header to the value contained in
+ * {@code contentType}.
* <P>
* A subsequent call to getSize() may not be an exact measure
* of the content size.
*
* @param content the raw data to add to the attachment part
- * @param contentType the value to set into the <code>Content-Type</code>
+ * @param contentType the value to set into the {@code Content-Type}
* header
*
* @exception SOAPException if an there is an error in setting the content
- * @exception NullPointerException if <code>content</code> is null
+ * @exception NullPointerException if {@code content} is null
* @since 1.6, SAAJ 1.3
*/
public abstract void setRawContent(InputStream content, String contentType) throws SOAPException;
/**
* Sets the content of this attachment part to that contained by the
- * <code>byte[]</code> array <code>content</code> and sets the value of the
- * <code>Content-Type</code> header to the value contained in
- * <code>contentType</code>.
+ * {@code byte[]} array {@code content} and sets the value of the
+ * {@code Content-Type} header to the value contained in
+ * {@code contentType}.
*
* @param content the raw data to add to the attachment part
- * @param contentType the value to set into the <code>Content-Type</code>
+ * @param contentType the value to set into the {@code Content-Type}
* header
* @param offset the offset in the byte array of the content
* @param len the number of bytes that form the content
@@ -296,20 +295,20 @@
/**
* Sets the content of this attachment part from the Base64 source
- * <code>InputStream</code> and sets the value of the
- * <code>Content-Type</code> header to the value contained in
- * <code>contentType</code>, This method would first decode the base64
+ * {@code InputStream} and sets the value of the
+ * {@code Content-Type} header to the value contained in
+ * {@code contentType}, This method would first decode the base64
* input and write the resulting raw bytes to the attachment.
* <P>
* A subsequent call to getSize() may not be an exact measure
* of the content size.
*
* @param content the base64 encoded data to add to the attachment part
- * @param contentType the value to set into the <code>Content-Type</code>
+ * @param contentType the value to set into the {@code Content-Type}
* header
*
* @exception SOAPException if an there is an error in setting the content
- * @exception NullPointerException if <code>content</code> is null
+ * @exception NullPointerException if {@code content} is null
*
* @since 1.6, SAAJ 1.3
*/
@@ -318,30 +317,30 @@
/**
- * Gets the <code>DataHandler</code> object for this <code>AttachmentPart</code>
+ * Gets the {@code DataHandler} object for this {@code AttachmentPart}
* object.
*
- * @return the <code>DataHandler</code> object associated with this
- * <code>AttachmentPart</code> object
+ * @return the {@code DataHandler} object associated with this
+ * {@code AttachmentPart} object
*
* @exception SOAPException if there is no data in
- * this <code>AttachmentPart</code> object
+ * this {@code AttachmentPart} object
*/
public abstract DataHandler getDataHandler()
throws SOAPException;
/**
- * Sets the given <code>DataHandler</code> object as the data handler
- * for this <code>AttachmentPart</code> object. Typically, on an incoming
+ * Sets the given {@code DataHandler} object as the data handler
+ * for this {@code AttachmentPart} object. Typically, on an incoming
* message, the data handler is automatically set. When
* a message is being created and populated with content, the
- * <code>setDataHandler</code> method can be used to get data from
+ * {@code setDataHandler} method can be used to get data from
* various data sources into the message.
*
- * @param dataHandler the <code>DataHandler</code> object to be set
+ * @param dataHandler the {@code DataHandler} object to be set
*
* @exception IllegalArgumentException if there was a problem with
- * the specified <code>DataHandler</code> object
+ * the specified {@code DataHandler} object
*/
public abstract void setDataHandler(DataHandler dataHandler);
@@ -349,8 +348,8 @@
/**
* Gets the value of the MIME header whose name is "Content-ID".
*
- * @return a <code>String</code> giving the value of the
- * "Content-ID" header or <code>null</code> if there
+ * @return a {@code String} giving the value of the
+ * "Content-ID" header or {@code null} if there
* is none
* @see #setContentId
*/
@@ -364,8 +363,8 @@
/**
* Gets the value of the MIME header whose name is "Content-Location".
*
- * @return a <code>String</code> giving the value of the
- * "Content-Location" header or <code>null</code> if there
+ * @return a {@code String} giving the value of the
+ * "Content-Location" header or {@code null} if there
* is none
*/
public String getContentLocation() {
@@ -378,8 +377,8 @@
/**
* Gets the value of the MIME header whose name is "Content-Type".
*
- * @return a <code>String</code> giving the value of the
- * "Content-Type" header or <code>null</code> if there
+ * @return a {@code String} giving the value of the
+ * "Content-Type" header or {@code null} if there
* is none
*/
public String getContentType() {
@@ -392,11 +391,11 @@
/**
* Sets the MIME header whose name is "Content-ID" with the given value.
*
- * @param contentId a <code>String</code> giving the value of the
+ * @param contentId a {@code String} giving the value of the
* "Content-ID" header
*
* @exception IllegalArgumentException if there was a problem with
- * the specified <code>contentId</code> value
+ * the specified {@code contentId} value
* @see #getContentId
*/
public void setContentId(String contentId)
@@ -409,7 +408,7 @@
* Sets the MIME header whose name is "Content-Location" with the given value.
*
*
- * @param contentLocation a <code>String</code> giving the value of the
+ * @param contentLocation a {@code String} giving the value of the
* "Content-Location" header
* @exception IllegalArgumentException if there was a problem with
* the specified content location
@@ -422,7 +421,7 @@
/**
* Sets the MIME header whose name is "Content-Type" with the given value.
*
- * @param contentType a <code>String</code> giving the value of the
+ * @param contentType a {@code String} giving the value of the
* "Content-Type" header
*
* @exception IllegalArgumentException if there was a problem with
@@ -449,10 +448,10 @@
/**
* Gets all the values of the header identified by the given
- * <code>String</code>.
+ * {@code String}.
*
* @param name the name of the header; example: "Content-Type"
- * @return a <code>String</code> array giving the value for the
+ * @return a {@code String} array giving the value for the
* specified header
* @see #setMimeHeader
*/
@@ -466,9 +465,9 @@
*
* Note that RFC822 headers can only contain US-ASCII characters.
*
- * @param name a <code>String</code> giving the name of the header
+ * @param name a {@code String} giving the name of the header
* for which to search
- * @param value a <code>String</code> giving the value to be set for
+ * @param value a {@code String} giving the value to be set for
* the header whose name matches the given name
*
* @exception IllegalArgumentException if there was a problem with
@@ -479,13 +478,13 @@
/**
* Adds a MIME header with the specified name and value to this
- * <code>AttachmentPart</code> object.
+ * {@code AttachmentPart} object.
* <p>
* Note that RFC822 headers can contain only US-ASCII characters.
*
- * @param name a <code>String</code> giving the name of the header
+ * @param name a {@code String} giving the name of the header
* to be added
- * @param value a <code>String</code> giving the value of the header
+ * @param value a {@code String} giving the value of the header
* to be added
*
* @exception IllegalArgumentException if there was a problem with
@@ -494,35 +493,35 @@
public abstract void addMimeHeader(String name, String value);
/**
- * Retrieves all the headers for this <code>AttachmentPart</code> object
- * as an iterator over the <code>MimeHeader</code> objects.
+ * Retrieves all the headers for this {@code AttachmentPart} object
+ * as an iterator over the {@code MimeHeader} objects.
*
- * @return an <code>Iterator</code> object with all of the Mime
- * headers for this <code>AttachmentPart</code> object
+ * @return an {@code Iterator} object with all of the Mime
+ * headers for this {@code AttachmentPart} object
*/
public abstract Iterator getAllMimeHeaders();
/**
- * Retrieves all <code>MimeHeader</code> objects that match a name in
+ * Retrieves all {@code MimeHeader} objects that match a name in
* the given array.
*
- * @param names a <code>String</code> array with the name(s) of the
+ * @param names a {@code String} array with the name(s) of the
* MIME headers to be returned
* @return all of the MIME headers that match one of the names in the
- * given array as an <code>Iterator</code> object
+ * given array as an {@code Iterator} object
*/
public abstract Iterator getMatchingMimeHeaders(String[] names);
/**
- * Retrieves all <code>MimeHeader</code> objects whose name does
+ * Retrieves all {@code MimeHeader} objects whose name does
* not match a name in the given array.
*
- * @param names a <code>String</code> array with the name(s) of the
+ * @param names a {@code String} array with the name(s) of the
* MIME headers not to be returned
- * @return all of the MIME headers in this <code>AttachmentPart</code> object
+ * @return all of the MIME headers in this {@code AttachmentPart} object
* except those that match one of the names in the
* given array. The nonmatching MIME headers are returned as an
- * <code>Iterator</code> object.
+ * {@code Iterator} object.
*/
public abstract Iterator getNonMatchingMimeHeaders(String[] names);
}
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/soap/Name.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/soap/Name.java Mon Apr 27 09:17:39 2015 -0700
@@ -32,52 +32,50 @@
* to get the URI of the namespace.
* <P>
* The following is an example of a namespace declaration in an element.
- * <PRE>
- * <wombat:GetLastTradePrice xmlns:wombat="http://www.wombat.org/trader">
- * </PRE>
+ * {@code <wombat:GetLastTradePrice xmlns:wombat="http://www.wombat.org/trader">}
* ("xmlns" stands for "XML namespace".)
* The following
- * shows what the methods in the <code>Name</code> interface will return.
+ * shows what the methods in the {@code Name} interface will return.
* <UL>
- * <LI><code>getQualifiedName</code> will return "prefix:LocalName" =
+ * <LI>{@code getQualifiedName} will return "prefix:LocalName" =
* "WOMBAT:GetLastTradePrice"
- * <LI><code>getURI</code> will return "http://www.wombat.org/trader"
- * <LI><code>getLocalName</code> will return "GetLastTracePrice"
- * <LI><code>getPrefix</code> will return "WOMBAT"
+ * <LI>{@code getURI} will return "http://www.wombat.org/trader"
+ * <LI>{@code getLocalName} will return "GetLastTracePrice"
+ * <LI>{@code getPrefix} will return "WOMBAT"
* </UL>
* <P>
* XML namespaces are used to disambiguate SOAP identifiers from
* application-specific identifiers.
* <P>
- * <code>Name</code> objects are created using the method
- * <code>SOAPEnvelope.createName</code>, which has two versions.
- * One method creates <code>Name</code> objects with
+ * {@code Name} objects are created using the method
+ * {@code SOAPEnvelope.createName}, which has two versions.
+ * One method creates {@code Name} objects with
* a local name, a namespace prefix, and a namespace URI.
- * and the second creates <code>Name</code> objects with just a local name.
+ * and the second creates {@code Name} objects with just a local name.
* The following line of
- * code, in which <i>se</i> is a <code>SOAPEnvelope</code> object, creates a new
- * <code>Name</code> object with all three.
+ * code, in which <i>se</i> is a {@code SOAPEnvelope} object, creates a new
+ * {@code Name} object with all three.
* <PRE>
* Name name = se.createName("GetLastTradePrice", "WOMBAT",
* "http://www.wombat.org/trader");
* </PRE>
- * The following line of code gives an example of how a <code>Name</code> object
- * can be used. The variable <i>element</i> is a <code>SOAPElement</code> object.
- * This code creates a new <code>SOAPElement</code> object with the given name and
+ * The following line of code gives an example of how a {@code Name} object
+ * can be used. The variable <i>element</i> is a {@code SOAPElement} object.
+ * This code creates a new {@code SOAPElement} object with the given name and
* adds it to <i>element</i>.
* <PRE>
* element.addChildElement(name);
* </PRE>
* <P>
- * The <code>Name</code> interface may be deprecated in a future release of SAAJ
- * in favor of <code>javax.xml.namespace.QName<code>
+ * The {@code Name} interface may be deprecated in a future release of SAAJ
+ * in favor of {@code javax.xml.namespace.QName}
* @see SOAPEnvelope#createName(String, String, String) SOAPEnvelope.createName
* @see SOAPFactory#createName(String, String, String) SOAPFactory.createName
* @since 1.6
*/
public interface Name {
/**
- * Gets the local name part of the XML name that this <code>Name</code>
+ * Gets the local name part of the XML name that this {@code Name}
* object represents.
*
* @return a string giving the local name
@@ -86,16 +84,16 @@
/**
* Gets the namespace-qualified name of the XML name that this
- * <code>Name</code> object represents.
+ * {@code Name} object represents.
*
* @return the namespace-qualified name as a string
*/
String getQualifiedName();
/**
- * Returns the prefix that was specified when this <code>Name</code> object
+ * Returns the prefix that was specified when this {@code Name} object
* was initialized. This prefix is associated with the namespace for the XML
- * name that this <code>Name</code> object represents.
+ * name that this {@code Name} object represents.
*
* @return the prefix as a string
*/
@@ -103,7 +101,7 @@
/**
* Returns the URI of the namespace for the XML
- * name that this <code>Name</code> object represents.
+ * name that this {@code Name} object represents.
*
* @return the URI as a string
*/
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/soap/SOAPBody.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/soap/SOAPBody.java Mon Apr 27 09:17:39 2015 -0700
@@ -36,10 +36,10 @@
* element in a SOAP message. A SOAP body element consists of XML data
* that affects the way the application-specific content is processed.
* <P>
- * A <code>SOAPBody</code> object contains <code>SOAPBodyElement</code>
+ * A {@code SOAPBody} object contains {@code SOAPBodyElement}
* objects, which have the content for the SOAP body.
- * A <code>SOAPFault</code> object, which carries status and/or
- * error information, is an example of a <code>SOAPBodyElement</code> object.
+ * A {@code SOAPFault} object, which carries status and/or
+ * error information, is an example of a {@code SOAPBodyElement} object.
*
* @see SOAPFault
* @since 1.6
@@ -47,47 +47,47 @@
public interface SOAPBody extends SOAPElement {
/**
- * Creates a new <code>SOAPFault</code> object and adds it to
- * this <code>SOAPBody</code> object. The new <code>SOAPFault</code> will
+ * Creates a new {@code SOAPFault} object and adds it to
+ * this {@code SOAPBody} object. The new {@code SOAPFault} will
* have default values set for the mandatory child elements. The type of
- * the <code>SOAPFault</code> will be a SOAP 1.1 or a SOAP 1.2 <code>SOAPFault</code>
- * depending on the <code>protocol</code> specified while creating the
- * <code>MessageFactory</code> instance.
+ * the {@code SOAPFault} will be a SOAP 1.1 or a SOAP 1.2 {@code SOAPFault}
+ * depending on the {@code protocol} specified while creating the
+ * {@code MessageFactory} instance.
* <p>
- * A <code>SOAPBody</code> may contain at most one <code>SOAPFault</code>
+ * A {@code SOAPBody} may contain at most one {@code SOAPFault}
* child element.
*
- * @return the new <code>SOAPFault</code> object
+ * @return the new {@code SOAPFault} object
* @exception SOAPException if there is a SOAP error
*/
public SOAPFault addFault() throws SOAPException;
/**
- * Creates a new <code>SOAPFault</code> object and adds it to
- * this <code>SOAPBody</code> object. The type of the
- * <code>SOAPFault</code> will be a SOAP 1.1 or a SOAP 1.2
- * <code>SOAPFault</code> depending on the <code>protocol</code>
- * specified while creating the <code>MessageFactory</code> instance.
+ * Creates a new {@code SOAPFault} object and adds it to
+ * this {@code SOAPBody} object. The type of the
+ * {@code SOAPFault} will be a SOAP 1.1 or a SOAP 1.2
+ * {@code SOAPFault} depending on the {@code protocol}
+ * specified while creating the {@code MessageFactory} instance.
* <p>
- * For SOAP 1.2 the <code>faultCode</code> parameter is the value of the
- * <i>Fault/Code/Value</i> element and the <code>faultString</code> parameter
+ * For SOAP 1.2 the {@code faultCode} parameter is the value of the
+ * <i>Fault/Code/Value</i> element and the {@code faultString} parameter
* is the value of the <i>Fault/Reason/Text</i> element. For SOAP 1.1
- * the <code>faultCode</code> parameter is the value of the <code>faultcode</code>
- * element and the <code>faultString</code> parameter is the value of the <code>faultstring</code>
+ * the {@code faultCode} parameter is the value of the {@code faultcode}
+ * element and the {@code faultString} parameter is the value of the {@code faultstring}
* element.
* <p>
- * A <code>SOAPBody</code> may contain at most one <code>SOAPFault</code>
+ * A {@code SOAPBody} may contain at most one {@code SOAPFault}
* child element.
*
- * @param faultCode a <code>Name</code> object giving the fault
+ * @param faultCode a {@code Name} object giving the fault
* code to be set; must be one of the fault codes defined in the Version
* of SOAP specification in use
- * @param faultString a <code>String</code> giving an explanation of
+ * @param faultString a {@code String} giving an explanation of
* the fault
* @param locale a {@link java.util.Locale} object indicating
- * the native language of the <code>faultString</code>
- * @return the new <code>SOAPFault</code> object
+ * the native language of the {@code faultString}
+ * @return the new {@code SOAPFault} object
* @exception SOAPException if there is a SOAP error
* @see SOAPFault#setFaultCode
* @see SOAPFault#setFaultString
@@ -96,32 +96,32 @@
public SOAPFault addFault(Name faultCode, String faultString, Locale locale) throws SOAPException;
/**
- * Creates a new <code>SOAPFault</code> object and adds it to this
- * <code>SOAPBody</code> object. The type of the <code>SOAPFault</code>
- * will be a SOAP 1.1 or a SOAP 1.2 <code>SOAPFault</code> depending on
- * the <code>protocol</code> specified while creating the <code>MessageFactory</code>
+ * Creates a new {@code SOAPFault} object and adds it to this
+ * {@code SOAPBody} object. The type of the {@code SOAPFault}
+ * will be a SOAP 1.1 or a SOAP 1.2 {@code SOAPFault} depending on
+ * the {@code protocol} specified while creating the {@code MessageFactory}
* instance.
* <p>
- * For SOAP 1.2 the <code>faultCode</code> parameter is the value of the
- * <i>Fault/Code/Value</i> element and the <code>faultString</code> parameter
+ * For SOAP 1.2 the {@code faultCode} parameter is the value of the
+ * <i>Fault/Code/Value</i> element and the {@code faultString} parameter
* is the value of the <i>Fault/Reason/Text</i> element. For SOAP 1.1
- * the <code>faultCode</code> parameter is the value of the <code>faultcode</code>
- * element and the <code>faultString</code> parameter is the value of the <code>faultstring</code>
+ * the {@code faultCode} parameter is the value of the {@code faultcode}
+ * element and the {@code faultString} parameter is the value of the {@code faultstring}
* element.
* <p>
- * A <code>SOAPBody</code> may contain at most one <code>SOAPFault</code>
+ * A {@code SOAPBody} may contain at most one {@code SOAPFault}
* child element.
*
* @param faultCode
- * a <code>QName</code> object giving the fault code to be
+ * a {@code QName} object giving the fault code to be
* set; must be one of the fault codes defined in the version
* of SOAP specification in use.
* @param faultString
- * a <code>String</code> giving an explanation of the fault
+ * a {@code String} giving an explanation of the fault
* @param locale
* a {@link java.util.Locale Locale} object indicating the
- * native language of the <code>faultString</code>
- * @return the new <code>SOAPFault</code> object
+ * native language of the {@code faultString}
+ * @return the new {@code SOAPFault} object
* @exception SOAPException
* if there is a SOAP error
* @see SOAPFault#setFaultCode
@@ -134,33 +134,33 @@
throws SOAPException;
/**
- * Creates a new <code>SOAPFault</code> object and adds it to this
- * <code>SOAPBody</code> object. The type of the <code>SOAPFault</code>
- * will be a SOAP 1.1 or a SOAP 1.2 <code>SOAPFault</code> depending on
- * the <code>protocol</code> specified while creating the <code>MessageFactory</code>
+ * Creates a new {@code SOAPFault} object and adds it to this
+ * {@code SOAPBody} object. The type of the {@code SOAPFault}
+ * will be a SOAP 1.1 or a SOAP 1.2 {@code SOAPFault} depending on
+ * the {@code protocol} specified while creating the {@code MessageFactory}
* instance.
* <p>
- * For SOAP 1.2 the <code>faultCode</code> parameter is the value of the
- * <i>Fault/Code/Value</i> element and the <code>faultString</code> parameter
+ * For SOAP 1.2 the {@code faultCode} parameter is the value of the
+ * <i>Fault/Code/Value</i> element and the {@code faultString} parameter
* is the value of the <i>Fault/Reason/Text</i> element. For SOAP 1.1
- * the <code>faultCode</code> parameter is the value of the <i>faultcode</i>
- * element and the <code>faultString</code> parameter is the value of the <i>faultstring</i>
+ * the {@code faultCode} parameter is the value of the <i>faultcode</i>
+ * element and the {@code faultString} parameter is the value of the <i>faultstring</i>
* element.
* <p>
- * In case of a SOAP 1.2 fault, the default value for the mandatory <code>xml:lang</code>
+ * In case of a SOAP 1.2 fault, the default value for the mandatory {@code xml:lang}
* attribute on the <i>Fault/Reason/Text</i> element will be set to
- * <code>java.util.Locale.getDefault()</code>
+ * {@code java.util.Locale.getDefault()}
* <p>
- * A <code>SOAPBody</code> may contain at most one <code>SOAPFault</code>
+ * A {@code SOAPBody} may contain at most one {@code SOAPFault}
* child element.
*
* @param faultCode
- * a <code>Name</code> object giving the fault code to be set;
+ * a {@code Name} object giving the fault code to be set;
* must be one of the fault codes defined in the version of SOAP
* specification in use
* @param faultString
- * a <code>String</code> giving an explanation of the fault
- * @return the new <code>SOAPFault</code> object
+ * a {@code String} giving an explanation of the fault
+ * @return the new {@code SOAPFault} object
* @exception SOAPException
* if there is a SOAP error
* @see SOAPFault#setFaultCode
@@ -171,33 +171,33 @@
throws SOAPException;
/**
- * Creates a new <code>SOAPFault</code> object and adds it to this <code>SOAPBody</code>
- * object. The type of the <code>SOAPFault</code>
- * will be a SOAP 1.1 or a SOAP 1.2 <code>SOAPFault</code> depending on
- * the <code>protocol</code> specified while creating the <code>MessageFactory</code>
+ * Creates a new {@code SOAPFault} object and adds it to this {@code SOAPBody}
+ * object. The type of the {@code SOAPFault}
+ * will be a SOAP 1.1 or a SOAP 1.2 {@code SOAPFault} depending on
+ * the {@code protocol} specified while creating the {@code MessageFactory}
* instance.
* <p>
- * For SOAP 1.2 the <code>faultCode</code> parameter is the value of the
- * <i>Fault/Code/Value</i> element and the <code>faultString</code> parameter
+ * For SOAP 1.2 the {@code faultCode} parameter is the value of the
+ * <i>Fault/Code/Value</i> element and the {@code faultString} parameter
* is the value of the <i>Fault/Reason/Text</i> element. For SOAP 1.1
- * the <code>faultCode</code> parameter is the value of the <i>faultcode</i>
- * element and the <code>faultString</code> parameter is the value of the <i>faultstring</i>
+ * the {@code faultCode} parameter is the value of the <i>faultcode</i>
+ * element and the {@code faultString} parameter is the value of the <i>faultstring</i>
* element.
* <p>
- * In case of a SOAP 1.2 fault, the default value for the mandatory <code>xml:lang</code>
+ * In case of a SOAP 1.2 fault, the default value for the mandatory {@code xml:lang}
* attribute on the <i>Fault/Reason/Text</i> element will be set to
- * <code>java.util.Locale.getDefault()</code>
+ * {@code java.util.Locale.getDefault()}
* <p>
- * A <code>SOAPBody</code> may contain at most one <code>SOAPFault</code>
+ * A {@code SOAPBody} may contain at most one {@code SOAPFault}
* child element
*
* @param faultCode
- * a <code>QName</code> object giving the fault code to be
+ * a {@code QName} object giving the fault code to be
* set; must be one of the fault codes defined in the version
* of SOAP specification in use
* @param faultString
- * a <code>String</code> giving an explanation of the fault
- * @return the new <code>SOAPFault</code> object
+ * a {@code String} giving an explanation of the fault
+ * @return the new {@code SOAPFault} object
* @exception SOAPException
* if there is a SOAP error
* @see SOAPFault#setFaultCode
@@ -209,32 +209,32 @@
throws SOAPException;
/**
- * Indicates whether a <code>SOAPFault</code> object exists in this
- * <code>SOAPBody</code> object.
+ * Indicates whether a {@code SOAPFault} object exists in this
+ * {@code SOAPBody} object.
*
- * @return <code>true</code> if a <code>SOAPFault</code> object exists
- * in this <code>SOAPBody</code> object; <code>false</code>
+ * @return {@code true} if a {@code SOAPFault} object exists
+ * in this {@code SOAPBody} object; {@code false}
* otherwise
*/
public boolean hasFault();
/**
- * Returns the <code>SOAPFault</code> object in this <code>SOAPBody</code>
+ * Returns the {@code SOAPFault} object in this {@code SOAPBody}
* object.
*
- * @return the <code>SOAPFault</code> object in this <code>SOAPBody</code>
+ * @return the {@code SOAPFault} object in this {@code SOAPBody}
* object if present, null otherwise.
*/
public SOAPFault getFault();
/**
- * Creates a new <code>SOAPBodyElement</code> object with the specified
- * name and adds it to this <code>SOAPBody</code> object.
+ * Creates a new {@code SOAPBodyElement} object with the specified
+ * name and adds it to this {@code SOAPBody} object.
*
* @param name
- * a <code>Name</code> object with the name for the new <code>SOAPBodyElement</code>
+ * a {@code Name} object with the name for the new {@code SOAPBodyElement}
* object
- * @return the new <code>SOAPBodyElement</code> object
+ * @return the new {@code SOAPBodyElement} object
* @exception SOAPException
* if a SOAP error occurs
* @see SOAPBody#addBodyElement(javax.xml.namespace.QName)
@@ -243,13 +243,13 @@
/**
- * Creates a new <code>SOAPBodyElement</code> object with the specified
- * QName and adds it to this <code>SOAPBody</code> object.
+ * Creates a new {@code SOAPBodyElement} object with the specified
+ * QName and adds it to this {@code SOAPBody} object.
*
* @param qname
- * a <code>QName</code> object with the qname for the new
- * <code>SOAPBodyElement</code> object
- * @return the new <code>SOAPBodyElement</code> object
+ * a {@code QName} object with the qname for the new
+ * {@code SOAPBodyElement} object
+ * @return the new {@code SOAPBodyElement} object
* @exception SOAPException
* if a SOAP error occurs
* @see SOAPBody#addBodyElement(Name)
@@ -259,20 +259,20 @@
/**
* Adds the root node of the DOM <code>{@link org.w3c.dom.Document}</code>
- * to this <code>SOAPBody</code> object.
+ * to this {@code SOAPBody} object.
* <p>
- * Calling this method invalidates the <code>document</code> parameter.
- * The client application should discard all references to this <code>Document</code>
- * and its contents upon calling <code>addDocument</code>. The behavior
+ * Calling this method invalidates the {@code document} parameter.
+ * The client application should discard all references to this {@code Document}
+ * and its contents upon calling {@code addDocument}. The behavior
* of an application that continues to use such references is undefined.
*
* @param document
- * the <code>Document</code> object whose root node will be
- * added to this <code>SOAPBody</code>.
- * @return the <code>SOAPBodyElement</code> that represents the root node
+ * the {@code Document} object whose root node will be
+ * added to this {@code SOAPBody}.
+ * @return the {@code SOAPBodyElement} that represents the root node
* that was added.
* @exception SOAPException
- * if the <code>Document</code> cannot be added
+ * if the {@code Document} cannot be added
* @since 1.6, SAAJ 1.2
*/
public SOAPBodyElement addDocument(org.w3c.dom.Document document)
@@ -280,16 +280,16 @@
/**
* Creates a new DOM <code>{@link org.w3c.dom.Document}</code> and sets
- * the first child of this <code>SOAPBody</code> as it's document
- * element. The child <code>SOAPElement</code> is removed as part of the
+ * the first child of this {@code SOAPBody} as it's document
+ * element. The child {@code SOAPElement} is removed as part of the
* process.
*
* @return the <code>{@link org.w3c.dom.Document}</code> representation
- * of the <code>SOAPBody</code> content.
+ * of the {@code SOAPBody} content.
*
* @exception SOAPException
- * if there is not exactly one child <code>SOAPElement</code> of the <code>
- * <code>SOAPBody</code>.
+ * if there is not exactly one child {@code SOAPElement} of the
+ * {@code SOAPBody}.
*
* @since 1.6, SAAJ 1.3
*/
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/soap/SOAPElement.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/soap/SOAPElement.java Mon Apr 27 09:17:39 2015 -0700
@@ -38,7 +38,7 @@
* Methods in this interface that are required to return SAAJ specific objects
* may "silently" replace nodes in the tree as required to successfully return
* objects of the correct type. See {@link #getChildElements()} and
- * {@link <a HREF="package-summary.html#package_description">javax.xml.soap<a>}
+ * {@link <a HREF="package-summary.html#package_description">javax.xml.soap</a>}
* for details.
*
* @since 1.6
@@ -46,115 +46,115 @@
public interface SOAPElement extends Node, org.w3c.dom.Element {
/**
- * Creates a new <code>SOAPElement</code> object initialized with the
- * given <code>Name</code> object and adds the new element to this
- * <code>SOAPElement</code> object.
+ * Creates a new {@code SOAPElement} object initialized with the
+ * given {@code Name} object and adds the new element to this
+ * {@code SOAPElement} object.
* <P>
* This method may be deprecated in a future release of SAAJ in favor of
* addChildElement(javax.xml.namespace.QName)
*
- * @param name a <code>Name</code> object with the XML name for the
+ * @param name a {@code Name} object with the XML name for the
* new element
*
- * @return the new <code>SOAPElement</code> object that was created
+ * @return the new {@code SOAPElement} object that was created
* @exception SOAPException if there is an error in creating the
- * <code>SOAPElement</code> object
+ * {@code SOAPElement} object
* @see SOAPElement#addChildElement(javax.xml.namespace.QName)
*/
public SOAPElement addChildElement(Name name) throws SOAPException;
/**
- * Creates a new <code>SOAPElement</code> object initialized with the given
- * <code>QName</code> object and adds the new element to this <code>SOAPElement</code>
+ * Creates a new {@code SOAPElement} object initialized with the given
+ * {@code QName} object and adds the new element to this {@code SOAPElement}
* object. The <i>namespace</i>, <i>localname</i> and <i>prefix</i> of the new
- * <code>SOAPElement</code> are all taken from the <code>qname</code> argument.
+ * {@code SOAPElement} are all taken from the {@code qname} argument.
*
- * @param qname a <code>QName</code> object with the XML name for the
+ * @param qname a {@code QName} object with the XML name for the
* new element
*
- * @return the new <code>SOAPElement</code> object that was created
+ * @return the new {@code SOAPElement} object that was created
* @exception SOAPException if there is an error in creating the
- * <code>SOAPElement</code> object
+ * {@code SOAPElement} object
* @see SOAPElement#addChildElement(Name)
* @since 1.6, SAAJ 1.3
*/
public SOAPElement addChildElement(QName qname) throws SOAPException;
/**
- * Creates a new <code>SOAPElement</code> object initialized with the
+ * Creates a new {@code SOAPElement} object initialized with the
* specified local name and adds the new element to this
- * <code>SOAPElement</code> object.
- * The new <code>SOAPElement</code> inherits any in-scope default namespace.
+ * {@code SOAPElement} object.
+ * The new {@code SOAPElement} inherits any in-scope default namespace.
*
- * @param localName a <code>String</code> giving the local name for
+ * @param localName a {@code String} giving the local name for
* the element
- * @return the new <code>SOAPElement</code> object that was created
+ * @return the new {@code SOAPElement} object that was created
* @exception SOAPException if there is an error in creating the
- * <code>SOAPElement</code> object
+ * {@code SOAPElement} object
*/
public SOAPElement addChildElement(String localName) throws SOAPException;
/**
- * Creates a new <code>SOAPElement</code> object initialized with the
+ * Creates a new {@code SOAPElement} object initialized with the
* specified local name and prefix and adds the new element to this
- * <code>SOAPElement</code> object.
+ * {@code SOAPElement} object.
*
- * @param localName a <code>String</code> giving the local name for
+ * @param localName a {@code String} giving the local name for
* the new element
- * @param prefix a <code>String</code> giving the namespace prefix for
+ * @param prefix a {@code String} giving the namespace prefix for
* the new element
*
- * @return the new <code>SOAPElement</code> object that was created
- * @exception SOAPException if the <code>prefix</code> is not valid in the
- * context of this <code>SOAPElement</code> or if there is an error in creating the
- * <code>SOAPElement</code> object
+ * @return the new {@code SOAPElement} object that was created
+ * @exception SOAPException if the {@code prefix} is not valid in the
+ * context of this {@code SOAPElement} or if there is an error in creating the
+ * {@code SOAPElement} object
*/
public SOAPElement addChildElement(String localName, String prefix)
throws SOAPException;
/**
- * Creates a new <code>SOAPElement</code> object initialized with the
+ * Creates a new {@code SOAPElement} object initialized with the
* specified local name, prefix, and URI and adds the new element to this
- * <code>SOAPElement</code> object.
+ * {@code SOAPElement} object.
*
- * @param localName a <code>String</code> giving the local name for
+ * @param localName a {@code String} giving the local name for
* the new element
- * @param prefix a <code>String</code> giving the namespace prefix for
+ * @param prefix a {@code String} giving the namespace prefix for
* the new element
- * @param uri a <code>String</code> giving the URI of the namespace
+ * @param uri a {@code String} giving the URI of the namespace
* to which the new element belongs
*
- * @return the new <code>SOAPElement</code> object that was created
+ * @return the new {@code SOAPElement} object that was created
* @exception SOAPException if there is an error in creating the
- * <code>SOAPElement</code> object
+ * {@code SOAPElement} object
*/
public SOAPElement addChildElement(String localName, String prefix,
String uri)
throws SOAPException;
/**
- * Add a <code>SOAPElement</code> as a child of this
- * <code>SOAPElement</code> instance. The <code>SOAPElement</code>
+ * Add a {@code SOAPElement} as a child of this
+ * {@code SOAPElement} instance. The {@code SOAPElement}
* is expected to be created by a
- * <code>SOAPFactory</code>. Callers should not rely on the
+ * {@code SOAPFactory}. Callers should not rely on the
* element instance being added as is into the XML
* tree. Implementations could end up copying the content
- * of the <code>SOAPElement</code> passed into an instance of
- * a different <code>SOAPElement</code> implementation. For
- * instance if <code>addChildElement()</code> is called on a
- * <code>SOAPHeader</code>, <code>element</code> will be copied
- * into an instance of a <code>SOAPHeaderElement</code>.
+ * of the {@code SOAPElement} passed into an instance of
+ * a different {@code SOAPElement} implementation. For
+ * instance if {@code addChildElement()} is called on a
+ * {@code SOAPHeader}, {@code element} will be copied
+ * into an instance of a {@code SOAPHeaderElement}.
*
- * <P>The fragment rooted in <code>element</code> is either added
+ * <P>The fragment rooted in {@code element} is either added
* as a whole or not at all, if there was an error.
*
- * <P>The fragment rooted in <code>element</code> cannot contain
+ * <P>The fragment rooted in {@code element} cannot contain
* elements named "Envelope", "Header" or "Body" and in the SOAP
* namespace. Any namespace prefixes present in the fragment
* should be fully resolved using appropriate namespace
* declarations within the fragment itself.
*
- * @param element the <code>SOAPElement</code> to be added as a
+ * @param element the {@code SOAPElement} to be added as a
* new child
*
* @exception SOAPException if there was an error in adding this
@@ -167,10 +167,10 @@
throws SOAPException;
/**
- * Detaches all children of this <code>SOAPElement</code>.
+ * Detaches all children of this {@code SOAPElement}.
* <p>
* This method is useful for rolling back the construction of partially
- * completed <code>SOAPHeaders</code> and <code>SOAPBodys</code> in
+ * completed {@code SOAPHeaders} and {@code SOAPBodys} in
* preparation for sending a fault when an error condition is detected. It
* is also useful for recycling portions of a document within a SOAP
* message.
@@ -180,33 +180,33 @@
public abstract void removeContents();
/**
- * Creates a new <code>Text</code> object initialized with the given
- * <code>String</code> and adds it to this <code>SOAPElement</code> object.
+ * Creates a new {@code Text} object initialized with the given
+ * {@code String} and adds it to this {@code SOAPElement} object.
*
- * @param text a <code>String</code> object with the textual content to be added
+ * @param text a {@code String} object with the textual content to be added
*
- * @return the <code>SOAPElement</code> object into which
- * the new <code>Text</code> object was inserted
+ * @return the {@code SOAPElement} object into which
+ * the new {@code Text} object was inserted
* @exception SOAPException if there is an error in creating the
- * new <code>Text</code> object or if it is not legal to
+ * new {@code Text} object or if it is not legal to
* attach it as a child to this
- * <code>SOAPElement</code>
+ * {@code SOAPElement}
*/
public SOAPElement addTextNode(String text) throws SOAPException;
/**
* Adds an attribute with the specified name and value to this
- * <code>SOAPElement</code> object.
+ * {@code SOAPElement} object.
*
- * @param name a <code>Name</code> object with the name of the attribute
- * @param value a <code>String</code> giving the value of the attribute
- * @return the <code>SOAPElement</code> object into which the attribute was
+ * @param name a {@code Name} object with the name of the attribute
+ * @param value a {@code String} giving the value of the attribute
+ * @return the {@code SOAPElement} object into which the attribute was
* inserted
*
* @exception SOAPException if there is an error in creating the
* Attribute, or it is invalid to set
- an attribute with <code>Name</code>
- <code>name</code> on this SOAPElement.
+ an attribute with {@code Name}
+ {@code name} on this SOAPElement.
* @see SOAPElement#addAttribute(javax.xml.namespace.QName, String)
*/
public SOAPElement addAttribute(Name name, String value)
@@ -214,17 +214,17 @@
/**
* Adds an attribute with the specified name and value to this
- * <code>SOAPElement</code> object.
+ * {@code SOAPElement} object.
*
- * @param qname a <code>QName</code> object with the name of the attribute
- * @param value a <code>String</code> giving the value of the attribute
- * @return the <code>SOAPElement</code> object into which the attribute was
+ * @param qname a {@code QName} object with the name of the attribute
+ * @param value a {@code String} giving the value of the attribute
+ * @return the {@code SOAPElement} object into which the attribute was
* inserted
*
* @exception SOAPException if there is an error in creating the
* Attribute, or it is invalid to set
- an attribute with <code>QName</code>
- <code>qname</code> on this SOAPElement.
+ an attribute with {@code QName}
+ {@code qname} on this SOAPElement.
* @see SOAPElement#addAttribute(Name, String)
* @since 1.6, SAAJ 1.3
*/
@@ -233,11 +233,11 @@
/**
* Adds a namespace declaration with the specified prefix and URI to this
- * <code>SOAPElement</code> object.
+ * {@code SOAPElement} object.
*
- * @param prefix a <code>String</code> giving the prefix of the namespace
- * @param uri a <code>String</code> giving the uri of the namespace
- * @return the <code>SOAPElement</code> object into which this
+ * @param prefix a {@code String} giving the prefix of the namespace
+ * @param uri a {@code String} giving the uri of the namespace
+ * @return the {@code SOAPElement} object into which this
* namespace declaration was inserted.
*
* @exception SOAPException if there is an error in creating the
@@ -249,8 +249,8 @@
/**
* Returns the value of the attribute with the specified name.
*
- * @param name a <code>Name</code> object with the name of the attribute
- * @return a <code>String</code> giving the value of the specified
+ * @param name a {@code Name} object with the name of the attribute
+ * @return a {@code String} giving the value of the specified
* attribute, Null if there is no such attribute
* @see SOAPElement#getAttributeValue(javax.xml.namespace.QName)
*/
@@ -259,8 +259,8 @@
/**
* Returns the value of the attribute with the specified qname.
*
- * @param qname a <code>QName</code> object with the qname of the attribute
- * @return a <code>String</code> giving the value of the specified
+ * @param qname a {@code QName} object with the qname of the attribute
+ * @return a {@code String} giving the value of the specified
* attribute, Null if there is no such attribute
* @see SOAPElement#getAttributeValue(Name)
* @since 1.6, SAAJ 1.3
@@ -268,11 +268,11 @@
public String getAttributeValue(QName qname);
/**
- * Returns an <code>Iterator</code> over all of the attribute
- * <code>Name</code> objects in this
- * <code>SOAPElement</code> object. The iterator can be used to get
+ * Returns an {@code Iterator} over all of the attribute
+ * {@code Name} objects in this
+ * {@code SOAPElement} object. The iterator can be used to get
* the attribute names, which can then be passed to the method
- * <code>getAttributeValue</code> to retrieve the value of each
+ * {@code getAttributeValue} to retrieve the value of each
* attribute.
*
* @see SOAPElement#getAllAttributesAsQNames()
@@ -281,10 +281,10 @@
public Iterator getAllAttributes();
/**
- * Returns an <code>Iterator</code> over all of the attributes
- * in this <code>SOAPElement</code> as <code>QName</code> objects.
+ * Returns an {@code Iterator} over all of the attributes
+ * in this {@code SOAPElement} as {@code QName} objects.
* The iterator can be used to get the attribute QName, which can then
- * be passed to the method <code>getAttributeValue</code> to retrieve
+ * be passed to the method {@code getAttributeValue} to retrieve
* the value of each attribute.
*
* @return an iterator over the QNames of the attributes
@@ -297,94 +297,94 @@
/**
* Returns the URI of the namespace that has the given prefix.
*
- * @param prefix a <code>String</code> giving the prefix of the namespace
+ * @param prefix a {@code String} giving the prefix of the namespace
* for which to search
- * @return a <code>String</code> with the uri of the namespace that has
+ * @return a {@code String} with the uri of the namespace that has
* the given prefix
*/
public String getNamespaceURI(String prefix);
/**
- * Returns an <code>Iterator</code> over the namespace prefix
- * <code>String</code>s declared by this element. The prefixes returned by
+ * Returns an {@code Iterator} over the namespace prefix
+ * {@code String}s declared by this element. The prefixes returned by
* this iterator can be passed to the method
- * <code>getNamespaceURI</code> to retrieve the URI of each namespace.
+ * {@code getNamespaceURI} to retrieve the URI of each namespace.
*
* @return an iterator over the namespace prefixes in this
- * <code>SOAPElement</code> object
+ * {@code SOAPElement} object
*/
public Iterator getNamespacePrefixes();
/**
- * Returns an <code>Iterator</code> over the namespace prefix
- * <code>String</code>s visible to this element. The prefixes returned by
+ * Returns an {@code Iterator} over the namespace prefix
+ * {@code String}s visible to this element. The prefixes returned by
* this iterator can be passed to the method
- * <code>getNamespaceURI</code> to retrieve the URI of each namespace.
+ * {@code getNamespaceURI} to retrieve the URI of each namespace.
*
* @return an iterator over the namespace prefixes are within scope of this
- * <code>SOAPElement</code> object
+ * {@code SOAPElement} object
*
* @since 1.6, SAAJ 1.2
*/
public Iterator getVisibleNamespacePrefixes();
/**
- * Creates a <code>QName</code> whose namespace URI is the one associated
- * with the parameter, <code>prefix</code>, in the context of this
- * <code>SOAPElement</code>. The remaining elements of the new
- * <code>QName</code> are taken directly from the parameters,
- * <code>localName</code> and <code>prefix</code>.
+ * Creates a {@code QName} whose namespace URI is the one associated
+ * with the parameter, {@code prefix}, in the context of this
+ * {@code SOAPElement}. The remaining elements of the new
+ * {@code QName} are taken directly from the parameters,
+ * {@code localName} and {@code prefix}.
*
* @param localName
- * a <code>String</code> containing the local part of the name.
+ * a {@code String} containing the local part of the name.
* @param prefix
- * a <code>String</code> containing the prefix for the name.
+ * a {@code String} containing the prefix for the name.
*
- * @return a <code>QName</code> with the specified <code>localName</code>
- * and <code>prefix</code>, and with a namespace that is associated
- * with the <code>prefix</code> in the context of this
- * <code>SOAPElement</code>. This namespace will be the same as
+ * @return a {@code QName} with the specified {@code localName}
+ * and {@code prefix}, and with a namespace that is associated
+ * with the {@code prefix} in the context of this
+ * {@code SOAPElement}. This namespace will be the same as
* the one that would be returned by
* <code>{@link #getNamespaceURI(String)}</code> if it were given
- * <code>prefix</code> as it's parameter.
+ * {@code prefix} as it's parameter.
*
- * @exception SOAPException if the <code>QName</code> cannot be created.
+ * @exception SOAPException if the {@code QName} cannot be created.
*
* @since 1.6, SAAJ 1.3
*/
public QName createQName(String localName, String prefix)
throws SOAPException;
/**
- * Returns the name of this <code>SOAPElement</code> object.
+ * Returns the name of this {@code SOAPElement} object.
*
- * @return a <code>Name</code> object with the name of this
- * <code>SOAPElement</code> object
+ * @return a {@code Name} object with the name of this
+ * {@code SOAPElement} object
*/
public Name getElementName();
/**
- * Returns the qname of this <code>SOAPElement</code> object.
+ * Returns the qname of this {@code SOAPElement} object.
*
- * @return a <code>QName</code> object with the qname of this
- * <code>SOAPElement</code> object
+ * @return a {@code QName} object with the qname of this
+ * {@code SOAPElement} object
* @see SOAPElement#getElementName()
* @since 1.6, SAAJ 1.3
*/
public QName getElementQName();
/**
- * Changes the name of this <code>Element</code> to <code>newName</code> if
+ * Changes the name of this {@code Element} to {@code newName} if
* possible. SOAP Defined elements such as SOAPEnvelope, SOAPHeader, SOAPBody
* etc. cannot have their names changed using this method. Any attempt to do
* so will result in a SOAPException being thrown.
*<P>
* Callers should not rely on the element instance being renamed as is.
* Implementations could end up copying the content of the
- * <code>SOAPElement</code> to a renamed instance.
+ * {@code SOAPElement} to a renamed instance.
*
- * @param newName the new name for the <code>Element</code>.
+ * @param newName the new name for the {@code Element}.
*
- * @exception SOAPException if changing the name of this <code>Element</code>
+ * @exception SOAPException if changing the name of this {@code Element}
* is not allowed.
* @return The renamed Node
*
@@ -395,10 +395,10 @@
/**
* Removes the attribute with the specified name.
*
- * @param name the <code>Name</code> object with the name of the
+ * @param name the {@code Name} object with the name of the
* attribute to be removed
- * @return <code>true</code> if the attribute was
- * removed successfully; <code>false</code> if it was not
+ * @return {@code true} if the attribute was
+ * removed successfully; {@code false} if it was not
* @see SOAPElement#removeAttribute(javax.xml.namespace.QName)
*/
public boolean removeAttribute(Name name);
@@ -406,10 +406,10 @@
/**
* Removes the attribute with the specified qname.
*
- * @param qname the <code>QName</code> object with the qname of the
+ * @param qname the {@code QName} object with the qname of the
* attribute to be removed
- * @return <code>true</code> if the attribute was
- * removed successfully; <code>false</code> if it was not
+ * @return {@code true} if the attribute was
+ * removed successfully; {@code false} if it was not
* @see SOAPElement#removeAttribute(Name)
* @since 1.6, SAAJ 1.3
*/
@@ -418,84 +418,84 @@
/**
* Removes the namespace declaration corresponding to the given prefix.
*
- * @param prefix a <code>String</code> giving the prefix for which
+ * @param prefix a {@code String} giving the prefix for which
* to search
- * @return <code>true</code> if the namespace declaration was
- * removed successfully; <code>false</code> if it was not
+ * @return {@code true} if the namespace declaration was
+ * removed successfully; {@code false} if it was not
*/
public boolean removeNamespaceDeclaration(String prefix);
/**
- * Returns an <code>Iterator</code> over all the immediate child
- * {@link Node}s of this element. This includes <code>javax.xml.soap.Text</code>
- * objects as well as <code>SOAPElement</code> objects.
+ * Returns an {@code Iterator} over all the immediate child
+ * {@link Node}s of this element. This includes {@code javax.xml.soap.Text}
+ * objects as well as {@code SOAPElement} objects.
* <p>
- * Calling this method may cause child <code>Element</code>,
- * <code>SOAPElement</code> and <code>org.w3c.dom.Text</code> nodes to be
- * replaced by <code>SOAPElement</code>, <code>SOAPHeaderElement</code>,
- * <code>SOAPBodyElement</code> or <code>javax.xml.soap.Text</code> nodes as
+ * Calling this method may cause child {@code Element},
+ * {@code SOAPElement} and {@code org.w3c.dom.Text} nodes to be
+ * replaced by {@code SOAPElement}, {@code SOAPHeaderElement},
+ * {@code SOAPBodyElement} or {@code javax.xml.soap.Text} nodes as
* appropriate for the type of this parent node. As a result the calling
* application must treat any existing references to these child nodes that
* have been obtained through DOM APIs as invalid and either discard them or
- * refresh them with the values returned by this <code>Iterator</code>. This
+ * refresh them with the values returned by this {@code Iterator}. This
* behavior can be avoided by calling the equivalent DOM APIs. See
- * {@link <a HREF="package-summary.html#package_description">javax.xml.soap<a>}
+ * {@link <a HREF="package-summary.html#package_description">javax.xml.soap</a>}
* for more details.
*
- * @return an iterator with the content of this <code>SOAPElement</code>
+ * @return an iterator with the content of this {@code SOAPElement}
* object
*/
public Iterator getChildElements();
/**
- * Returns an <code>Iterator</code> over all the immediate child
+ * Returns an {@code Iterator} over all the immediate child
* {@link Node}s of this element with the specified name. All of these
- * children will be <code>SOAPElement</code> nodes.
+ * children will be {@code SOAPElement} nodes.
* <p>
- * Calling this method may cause child <code>Element</code>,
- * <code>SOAPElement</code> and <code>org.w3c.dom.Text</code> nodes to be
- * replaced by <code>SOAPElement</code>, <code>SOAPHeaderElement</code>,
- * <code>SOAPBodyElement</code> or <code>javax.xml.soap.Text</code> nodes as
+ * Calling this method may cause child {@code Element},
+ * {@code SOAPElement} and {@code org.w3c.dom.Text} nodes to be
+ * replaced by {@code SOAPElement}, {@code SOAPHeaderElement},
+ * {@code SOAPBodyElement} or {@code javax.xml.soap.Text} nodes as
* appropriate for the type of this parent node. As a result the calling
* application must treat any existing references to these child nodes that
* have been obtained through DOM APIs as invalid and either discard them or
- * refresh them with the values returned by this <code>Iterator</code>. This
+ * refresh them with the values returned by this {@code Iterator}. This
* behavior can be avoided by calling the equivalent DOM APIs. See
- * {@link <a HREF="package-summary.html#package_description">javax.xml.soap<a>}
+ * {@link <a HREF="package-summary.html#package_description">javax.xml.soap</a>}
* for more details.
*
- * @param name a <code>Name</code> object with the name of the child
+ * @param name a {@code Name} object with the name of the child
* elements to be returned
*
- * @return an <code>Iterator</code> object over all the elements
- * in this <code>SOAPElement</code> object with the
+ * @return an {@code Iterator} object over all the elements
+ * in this {@code SOAPElement} object with the
* specified name
* @see SOAPElement#getChildElements(javax.xml.namespace.QName)
*/
public Iterator getChildElements(Name name);
/**
- * Returns an <code>Iterator</code> over all the immediate child
+ * Returns an {@code Iterator} over all the immediate child
* {@link Node}s of this element with the specified qname. All of these
- * children will be <code>SOAPElement</code> nodes.
+ * children will be {@code SOAPElement} nodes.
* <p>
- * Calling this method may cause child <code>Element</code>,
- * <code>SOAPElement</code> and <code>org.w3c.dom.Text</code> nodes to be
- * replaced by <code>SOAPElement</code>, <code>SOAPHeaderElement</code>,
- * <code>SOAPBodyElement</code> or <code>javax.xml.soap.Text</code> nodes as
+ * Calling this method may cause child {@code Element},
+ * {@code SOAPElement} and {@code org.w3c.dom.Text} nodes to be
+ * replaced by {@code SOAPElement}, {@code SOAPHeaderElement},
+ * {@code SOAPBodyElement} or {@code javax.xml.soap.Text} nodes as
* appropriate for the type of this parent node. As a result the calling
* application must treat any existing references to these child nodes that
* have been obtained through DOM APIs as invalid and either discard them or
- * refresh them with the values returned by this <code>Iterator</code>. This
+ * refresh them with the values returned by this {@code Iterator}. This
* behavior can be avoided by calling the equivalent DOM APIs. See
- * {@link <a HREF="package-summary.html#package_description">javax.xml.soap<a>}
+ * {@link <a HREF="package-summary.html#package_description">javax.xml.soap</a>}
* for more details.
*
- * @param qname a <code>QName</code> object with the qname of the child
+ * @param qname a {@code QName} object with the qname of the child
* elements to be returned
*
- * @return an <code>Iterator</code> object over all the elements
- * in this <code>SOAPElement</code> object with the
+ * @return an {@code Iterator} object over all the elements
+ * in this {@code SOAPElement} object with the
* specified qname
* @see SOAPElement#getChildElements(Name)
* @since 1.6, SAAJ 1.3
@@ -503,10 +503,10 @@
public Iterator getChildElements(QName qname);
/**
- * Sets the encoding style for this <code>SOAPElement</code> object
+ * Sets the encoding style for this {@code SOAPElement} object
* to one specified.
*
- * @param encodingStyle a <code>String</code> giving the encoding style
+ * @param encodingStyle a {@code String} giving the encoding style
*
* @exception IllegalArgumentException if there was a problem in the
* encoding style being set.
@@ -516,9 +516,9 @@
public void setEncodingStyle(String encodingStyle)
throws SOAPException;
/**
- * Returns the encoding style for this <code>SOAPElement</code> object.
+ * Returns the encoding style for this {@code SOAPElement} object.
*
- * @return a <code>String</code> giving the encoding style
+ * @return a {@code String} giving the encoding style
*
* @see #setEncodingStyle
*/
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/soap/SOAPMessage.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/soap/SOAPMessage.java Mon Apr 27 09:17:39 2015 -0700
@@ -36,24 +36,24 @@
* message is an XML document or a MIME message whose first body part is an
* XML/SOAP document.
* <P>
- * A <code>SOAPMessage</code> object consists of a SOAP part and optionally
- * one or more attachment parts. The SOAP part for a <code>SOAPMessage</code>
- * object is a <code>SOAPPart</code> object, which contains information used
+ * A {@code SOAPMessage} object consists of a SOAP part and optionally
+ * one or more attachment parts. The SOAP part for a {@code SOAPMessage}
+ * object is a {@code SOAPPart} object, which contains information used
* for message routing and identification, and which can contain
* application-specific content. All data in the SOAP Part of a message must be
* in XML format.
* <P>
- * A new <code>SOAPMessage</code> object contains the following by default:
+ * A new {@code SOAPMessage} object contains the following by default:
* <UL>
- * <LI>A <code>SOAPPart</code> object
- * <LI>A <code>SOAPEnvelope</code> object
- * <LI>A <code>SOAPBody</code> object
- * <LI>A <code>SOAPHeader</code> object
+ * <LI>A {@code SOAPPart} object
+ * <LI>A {@code SOAPEnvelope} object
+ * <LI>A {@code SOAPBody} object
+ * <LI>A {@code SOAPHeader} object
* </UL>
- * The SOAP part of a message can be retrieved by calling the method <code>SOAPMessage.getSOAPPart()</code>.
- * The <code>SOAPEnvelope</code> object is retrieved from the <code>SOAPPart</code>
- * object, and the <code>SOAPEnvelope</code> object is used to retrieve the
- * <code>SOAPBody</code> and <code>SOAPHeader</code> objects.
+ * The SOAP part of a message can be retrieved by calling the method {@code SOAPMessage.getSOAPPart()}.
+ * The {@code SOAPEnvelope} object is retrieved from the {@code SOAPPart}
+ * object, and the {@code SOAPEnvelope} object is used to retrieve the
+ * {@code SOAPBody} and {@code SOAPHeader} objects.
*
* <PRE>
* SOAPPart sp = message.getSOAPPart();
@@ -63,32 +63,32 @@
* </PRE>
*
* <P>
- * In addition to the mandatory <code>SOAPPart</code> object, a <code>SOAPMessage</code>
- * object may contain zero or more <code>AttachmentPart</code> objects, each
- * of which contains application-specific data. The <code>SOAPMessage</code>
- * interface provides methods for creating <code>AttachmentPart</code>
- * objects and also for adding them to a <code>SOAPMessage</code> object. A
- * party that has received a <code>SOAPMessage</code> object can examine its
+ * In addition to the mandatory {@code SOAPPart} object, a {@code SOAPMessage}
+ * object may contain zero or more {@code AttachmentPart} objects, each
+ * of which contains application-specific data. The {@code SOAPMessage}
+ * interface provides methods for creating {@code AttachmentPart}
+ * objects and also for adding them to a {@code SOAPMessage} object. A
+ * party that has received a {@code SOAPMessage} object can examine its
* contents by retrieving individual attachment parts.
* <P>
* Unlike the rest of a SOAP message, an attachment is not required to be in
* XML format and can therefore be anything from simple text to an image file.
* Consequently, any message content that is not in XML format must be in an
- * <code>AttachmentPart</code> object.
+ * {@code AttachmentPart} object.
* <P>
- * A <code>MessageFactory</code> object may create <code>SOAPMessage</code>
+ * A {@code MessageFactory} object may create {@code SOAPMessage}
* objects with behavior that is specialized to a particular implementation or
- * application of SAAJ. For instance, a <code>MessageFactory</code> object
- * may produce <code>SOAPMessage</code> objects that conform to a particular
- * Profile such as ebXML. In this case a <code>MessageFactory</code> object
- * might produce <code>SOAPMessage</code> objects that are initialized with
+ * application of SAAJ. For instance, a {@code MessageFactory} object
+ * may produce {@code SOAPMessage} objects that conform to a particular
+ * Profile such as ebXML. In this case a {@code MessageFactory} object
+ * might produce {@code SOAPMessage} objects that are initialized with
* ebXML headers.
* <P>
* In order to ensure backward source compatibility, methods that are added to
* this class after version 1.1 of the SAAJ specification are all concrete
* instead of abstract and they all have default implementations. Unless
* otherwise noted in the JavaDocs for those methods the default
- * implementations simply throw an <code>UnsupportedOperationException</code>
+ * implementations simply throw an {@code UnsupportedOperationException}
* and the SAAJ implementation code must override them with methods that
* provide the specified behavior. Legacy client code does not have this
* restriction, however, so long as there is no claim made that it conforms to
@@ -126,41 +126,40 @@
"javax.xml.soap.write-xml-declaration";
/**
- * Sets the description of this <code>SOAPMessage</code> object's
+ * Sets the description of this {@code SOAPMessage} object's
* content with the given description.
*
- * @param description a <code>String</code> describing the content of this
+ * @param description a {@code String} describing the content of this
* message
* @see #getContentDescription
*/
public abstract void setContentDescription(String description);
/**
- * Retrieves a description of this <code>SOAPMessage</code> object's
+ * Retrieves a description of this {@code SOAPMessage} object's
* content.
*
- * @return a <code>String</code> describing the content of this
- * message or <code>null</code> if no description has been set
+ * @return a {@code String} describing the content of this
+ * message or {@code null} if no description has been set
* @see #setContentDescription
*/
public abstract String getContentDescription();
/**
- * Gets the SOAP part of this <code>SOAPMessage</code> object.
+ * Gets the SOAP part of this {@code SOAPMessage} object.
* <P>
- * <code>SOAPMessage</code> object contains one or more attachments, the
+ * {@code SOAPMessage} object contains one or more attachments, the
* SOAP Part must be the first MIME body part in the message.
*
- * @return the <code>SOAPPart</code> object for this <code>SOAPMessage</code>
+ * @return the {@code SOAPPart} object for this {@code SOAPMessage}
* object
*/
public abstract SOAPPart getSOAPPart();
/**
- * Gets the SOAP Body contained in this <code>SOAPMessage</code> object.
- * <p>
+ * Gets the SOAP Body contained in this {@code SOAPMessage} object.
*
- * @return the <code>SOAPBody</code> object contained by this <code>SOAPMessage</code>
+ * @return the {@code SOAPBody} object contained by this {@code SOAPMessage}
* object
* @exception SOAPException
* if the SOAP Body does not exist or cannot be retrieved
@@ -171,23 +170,21 @@
}
/**
- * Gets the SOAP Header contained in this <code>SOAPMessage</code>
- * object.
- * <p>
- *
- * @return the <code>SOAPHeader</code> object contained by this <code>SOAPMessage</code>
- * object
- * @exception SOAPException
- * if the SOAP Header does not exist or cannot be retrieved
- * @since 1.6, SAAJ 1.2
- */
+ * Gets the SOAP Header contained in this {@code SOAPMessage} object.
+ *
+ * @return the {@code SOAPHeader} object contained
+ * by this {@code SOAPMessage} object
+ * @exception SOAPException
+ * if the SOAP Header does not exist or cannot be retrieved
+ * @since 1.6, SAAJ 1.2
+ */
public SOAPHeader getSOAPHeader() throws SOAPException {
throw new UnsupportedOperationException("getSOAPHeader must be overridden by all subclasses of SOAPMessage");
}
/**
- * Removes all <code>AttachmentPart</code> objects that have been added
- * to this <code>SOAPMessage</code> object.
+ * Removes all {@code AttachmentPart} objects that have been added
+ * to this {@code SOAPMessage} object.
* <P>
* This method does not touch the SOAP part.
*/
@@ -197,26 +194,26 @@
* Gets a count of the number of attachments in this message. This count
* does not include the SOAP part.
*
- * @return the number of <code>AttachmentPart</code> objects that are
- * part of this <code>SOAPMessage</code> object
+ * @return the number of {@code AttachmentPart} objects that are
+ * part of this {@code SOAPMessage} object
*/
public abstract int countAttachments();
/**
- * Retrieves all the <code>AttachmentPart</code> objects that are part of
- * this <code>SOAPMessage</code> object.
+ * Retrieves all the {@code AttachmentPart} objects that are part of
+ * this {@code SOAPMessage} object.
*
* @return an iterator over all the attachments in this message
*/
public abstract Iterator getAttachments();
/**
- * Retrieves all the <code>AttachmentPart</code> objects that have header
+ * Retrieves all the {@code AttachmentPart} objects that have header
* entries that match the specified headers. Note that a returned
* attachment could have headers in addition to those specified.
*
* @param headers
- * a <code>MimeHeaders</code> object containing the MIME
+ * a {@code MimeHeaders} object containing the MIME
* headers for which to search
* @return an iterator over all attachments that have a header that matches
* one of the given headers
@@ -224,12 +221,12 @@
public abstract Iterator getAttachments(MimeHeaders headers);
/**
- * Removes all the <code>AttachmentPart</code> objects that have header
+ * Removes all the {@code AttachmentPart} objects that have header
* entries that match the specified headers. Note that the removed
* attachment could have headers in addition to those specified.
*
* @param headers
- * a <code>MimeHeaders</code> object containing the MIME
+ * a {@code MimeHeaders} object containing the MIME
* headers for which to search
* @since 1.6, SAAJ 1.3
*/
@@ -237,25 +234,26 @@
/**
- * Returns an <code>AttachmentPart</code> object that is associated with an
- * attachment that is referenced by this <code>SOAPElement</code> or
- * <code>null</code> if no such attachment exists. References can be made
- * via an <code>href</code> attribute as described in
- * {@link <a href="http://www.w3.org/TR/SOAP-attachments#SOAPReferenceToAttachements">SOAP Messages with Attachments</a>},
- * or via a single <code>Text</code> child node containing a URI as
+ * Returns an {@code AttachmentPart} object that is associated with an
+ * attachment that is referenced by this {@code SOAPElement} or
+ * {@code null} if no such attachment exists. References can be made
+ * via an {@code href} attribute as described in
+ * <a href="http://www.w3.org/TR/SOAP-attachments#SOAPReferenceToAttachements">SOAP Messages with Attachments</a>,
+ * or via a single {@code Text} child node containing a URI as
* described in the WS-I Attachments Profile 1.0 for elements of schema
- * type {@link <a href="http://www.ws-i.org/Profiles/AttachmentsProfile-1.0-2004-08-24.html">ref:swaRef</a>}. These two mechanisms must be supported.
- * The support for references via <code>href</code> attribute also implies that
+ * type <a href="http://www.ws-i.org/Profiles/AttachmentsProfile-1.0-2004-08-24.html">ref:swaRef</a>.
+ * These two mechanisms must be supported.
+ * The support for references via {@code href} attribute also implies that
* this method should also be supported on an element that is an
* <i>xop:Include</i> element (
- * {@link <a href="http://www.w3.org/2000/xp/Group/3/06/Attachments/XOP.html">XOP</a>}).
+ * <a href="http://www.w3.org/2000/xp/Group/3/06/Attachments/XOP.html">XOP</a>).
* other reference mechanisms may be supported by individual
* implementations of this standard. Contact your vendor for details.
*
- * @param element The <code>SOAPElement</code> containing the reference to an Attachment
- * @return the referenced <code>AttachmentPart</code> or null if no such
- * <code>AttachmentPart</code> exists or no reference can be
- * found in this <code>SOAPElement</code>.
+ * @param element The {@code SOAPElement} containing the reference to an Attachment
+ * @return the referenced {@code AttachmentPart} or null if no such
+ * {@code AttachmentPart} exists or no reference can be
+ * found in this {@code SOAPElement}.
* @throws SOAPException if there is an error in the attempt to access the
* attachment
*
@@ -265,40 +263,40 @@
/**
- * Adds the given <code>AttachmentPart</code> object to this <code>SOAPMessage</code>
- * object. An <code>AttachmentPart</code> object must be created before
+ * Adds the given {@code AttachmentPart} object to this {@code SOAPMessage}
+ * object. An {@code AttachmentPart} object must be created before
* it can be added to a message.
*
* @param AttachmentPart
- * an <code>AttachmentPart</code> object that is to become part
- * of this <code>SOAPMessage</code> object
+ * an {@code AttachmentPart} object that is to become part
+ * of this {@code SOAPMessage} object
* @exception IllegalArgumentException
*/
public abstract void addAttachmentPart(AttachmentPart AttachmentPart);
/**
- * Creates a new empty <code>AttachmentPart</code> object. Note that the
- * method <code>addAttachmentPart</code> must be called with this new
- * <code>AttachmentPart</code> object as the parameter in order for it to
- * become an attachment to this <code>SOAPMessage</code> object.
+ * Creates a new empty {@code AttachmentPart} object. Note that the
+ * method {@code addAttachmentPart} must be called with this new
+ * {@code AttachmentPart} object as the parameter in order for it to
+ * become an attachment to this {@code SOAPMessage} object.
*
- * @return a new <code>AttachmentPart</code> object that can be populated
- * and added to this <code>SOAPMessage</code> object
+ * @return a new {@code AttachmentPart} object that can be populated
+ * and added to this {@code SOAPMessage} object
*/
public abstract AttachmentPart createAttachmentPart();
/**
- * Creates an <code>AttachmentPart</code> object and populates it using
- * the given <code>DataHandler</code> object.
+ * Creates an {@code AttachmentPart} object and populates it using
+ * the given {@code DataHandler} object.
*
* @param dataHandler
- * the <code>javax.activation.DataHandler</code> object that
- * will generate the content for this <code>SOAPMessage</code>
+ * the {@code javax.activation.DataHandler} object that
+ * will generate the content for this {@code SOAPMessage}
* object
- * @return a new <code>AttachmentPart</code> object that contains data
- * generated by the given <code>DataHandler</code> object
+ * @return a new {@code AttachmentPart} object that contains data
+ * generated by the given {@code DataHandler} object
* @exception IllegalArgumentException
- * if there was a problem with the specified <code>DataHandler</code>
+ * if there was a problem with the specified {@code DataHandler}
* object
* @see javax.activation.DataHandler
* @see javax.activation.DataContentHandler
@@ -310,32 +308,32 @@
}
/**
- * Returns all the transport-specific MIME headers for this <code>SOAPMessage</code>
+ * Returns all the transport-specific MIME headers for this {@code SOAPMessage}
* object in a transport-independent fashion.
*
- * @return a <code>MimeHeaders</code> object containing the <code>MimeHeader</code>
+ * @return a {@code MimeHeaders} object containing the {@code MimeHeader}
* objects
*/
public abstract MimeHeaders getMimeHeaders();
/**
- * Creates an <code>AttachmentPart</code> object and populates it with
+ * Creates an {@code AttachmentPart} object and populates it with
* the specified data of the specified content type. The type of the
- * <code>Object</code> should correspond to the value given for the
- * <code>Content-Type</code>.
+ * {@code Object} should correspond to the value given for the
+ * {@code Content-Type}.
*
* @param content
- * an <code>Object</code> containing the content for the
- * <code>AttachmentPart</code> object to be created
+ * an {@code Object} containing the content for the
+ * {@code AttachmentPart} object to be created
* @param contentType
- * a <code>String</code> object giving the type of content;
+ * a {@code String} object giving the type of content;
* examples are "text/xml", "text/plain", and "image/jpeg"
- * @return a new <code>AttachmentPart</code> object that contains the
+ * @return a new {@code AttachmentPart} object that contains the
* given data
* @exception IllegalArgumentException
* may be thrown if the contentType does not match the type
* of the content object, or if there was no
- * <code>DataContentHandler</code> object for the given
+ * {@code DataContentHandler} object for the given
* content object
* @see javax.activation.DataHandler
* @see javax.activation.DataContentHandler
@@ -349,50 +347,49 @@
}
/**
- * Updates this <code>SOAPMessage</code> object with all the changes that
+ * Updates this {@code SOAPMessage} object with all the changes that
* have been made to it. This method is called automatically when
* {@link SOAPMessage#writeTo(OutputStream)} is called. However, if
* changes are made to a message that was received or to one that has
- * already been sent, the method <code>saveChanges</code> needs to be
- * called explicitly in order to save the changes. The method <code>saveChanges</code>
+ * already been sent, the method {@code saveChanges} needs to be
+ * called explicitly in order to save the changes. The method {@code saveChanges}
* also generates any changes that can be read back (for example, a
* MessageId in profiles that support a message id). All MIME headers in a
* message that is created for sending purposes are guaranteed to have
- * valid values only after <code>saveChanges</code> has been called.
+ * valid values only after {@code saveChanges} has been called.
* <P>
* In addition, this method marks the point at which the data from all
- * constituent <code>AttachmentPart</code> objects are pulled into the
+ * constituent {@code AttachmentPart} objects are pulled into the
* message.
- * <P>
*
- * @exception <code>SOAPException</code> if there was a problem saving
- * changes to this message.
+ * @exception SOAPException if there was a problem saving
+ * changes to this message.
*/
public abstract void saveChanges() throws SOAPException;
/**
- * Indicates whether this <code>SOAPMessage</code> object needs to have
- * the method <code>saveChanges</code> called on it.
+ * Indicates whether this {@code SOAPMessage} object needs to have
+ * the method {@code saveChanges} called on it.
*
- * @return <code>true</code> if <code>saveChanges</code> needs to be
- * called; <code>false</code> otherwise.
+ * @return {@code true} if {@code saveChanges} needs to be
+ * called; {@code false} otherwise.
*/
public abstract boolean saveRequired();
/**
- * Writes this <code>SOAPMessage</code> object to the given output
+ * Writes this {@code SOAPMessage} object to the given output
* stream. The externalization format is as defined by the SOAP 1.1 with
* Attachments specification.
* <P>
* If there are no attachments, just an XML stream is written out. For
- * those messages that have attachments, <code>writeTo</code> writes a
+ * those messages that have attachments, {@code writeTo} writes a
* MIME-encoded byte stream.
* <P>
* Note that this method does not write the transport-specific MIME Headers
* of the Message
*
* @param out
- * the <code>OutputStream</code> object to which this <code>SOAPMessage</code>
+ * the {@code OutputStream} object to which this {@code SOAPMessage}
* object will be written
* @exception IOException
* if an I/O error occurs
@@ -414,13 +411,13 @@
* implementation specific properties. These properties must be prefixed
* with package names that are unique to the vendor.
* <p>
- * Setting the property <code>WRITE_XML_DECLARATION</code> to <code>"true"</code>
+ * Setting the property {@code WRITE_XML_DECLARATION} to {@code "true"}
* will cause an XML Declaration to be written out at the start of the SOAP
* message. The default value of "false" suppresses this declaration.
* <p>
- * The property <code>CHARACTER_SET_ENCODING</code> defaults to the value
- * <code>"utf-8"</code> which causes the SOAP message to be encoded using
- * UTF-8. Setting <code>CHARACTER_SET_ENCODING</code> to <code>"utf-16"</code>
+ * The property {@code CHARACTER_SET_ENCODING} defaults to the value
+ * {@code "utf-8"} which causes the SOAP message to be encoded using
+ * UTF-8. Setting {@code CHARACTER_SET_ENCODING} to {@code "utf-16"}
* causes the SOAP message to be encoded using UTF-16.
* <p>
* Some implementations may allow encodings in addition to UTF-8 and
@@ -445,7 +442,7 @@
*
* @param property
* the name of the property to retrieve
- * @return the value associated with the named property or <code>null</code>
+ * @return the value associated with the named property or {@code null}
* if no such property exists.
* @exception SOAPException
* if the property name is not recognized.
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/soap/SOAPPart.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/soap/SOAPPart.java Mon Apr 27 09:17:39 2015 -0700
@@ -30,52 +30,51 @@
import javax.xml.transform.Source;
/**
- * The container for the SOAP-specific portion of a <code>SOAPMessage</code>
+ * The container for the SOAP-specific portion of a {@code SOAPMessage}
* object. All messages are required to have a SOAP part, so when a
- * <code>SOAPMessage</code> object is created, it will automatically
- * have a <code>SOAPPart</code> object.
- *<P>
- * A <code>SOAPPart</code> object is a MIME part and has the MIME headers
+ * {@code SOAPMessage} object is created, it will automatically
+ * have a {@code SOAPPart} object.
+ * <P>
+ * A {@code SOAPPart} object is a MIME part and has the MIME headers
* Content-Id, Content-Location, and Content-Type. Because the value of
- * Content-Type must be "text/xml", a <code>SOAPPart</code> object automatically
+ * Content-Type must be "text/xml", a {@code SOAPPart} object automatically
* has a MIME header of Content-Type with its value set to "text/xml".
* The value must be "text/xml" because content in the SOAP part of a
* message must be in XML format. Content that is not of type "text/xml"
- * must be in an <code>AttachmentPart</code> object rather than in the
- * <code>SOAPPart</code> object.
+ * must be in an {@code AttachmentPart} object rather than in the
+ * {@code SOAPPart} object.
* <P>
* When a message is sent, its SOAP part must have the MIME header Content-Type
* set to "text/xml". Or, from the other perspective, the SOAP part of any
* message that is received must have the MIME header Content-Type with a
* value of "text/xml".
* <P>
- * A client can access the <code>SOAPPart</code> object of a
- * <code>SOAPMessage</code> object by
- * calling the method <code>SOAPMessage.getSOAPPart</code>. The
- * following line of code, in which <code>message</code> is a
- * <code>SOAPMessage</code> object, retrieves the SOAP part of a message.
+ * A client can access the {@code SOAPPart} object of a
+ * {@code SOAPMessage} object by
+ * calling the method {@code SOAPMessage.getSOAPPart}. The
+ * following line of code, in which {@code message} is a
+ * {@code SOAPMessage} object, retrieves the SOAP part of a message.
* <PRE>
* SOAPPart soapPart = message.getSOAPPart();
* </PRE>
* <P>
- * A <code>SOAPPart</code> object contains a <code>SOAPEnvelope</code> object,
- * which in turn contains a <code>SOAPBody</code> object and a
- * <code>SOAPHeader</code> object.
- * The <code>SOAPPart</code> method <code>getEnvelope</code> can be used
- * to retrieve the <code>SOAPEnvelope</code> object.
- * <P>
+ * A {@code SOAPPart} object contains a {@code SOAPEnvelope} object,
+ * which in turn contains a {@code SOAPBody} object and a
+ * {@code SOAPHeader} object.
+ * The {@code SOAPPart} method {@code getEnvelope} can be used
+ * to retrieve the {@code SOAPEnvelope} object.
*
* @since 1.6
*/
public abstract class SOAPPart implements org.w3c.dom.Document, Node {
/**
- * Gets the <code>SOAPEnvelope</code> object associated with this
- * <code>SOAPPart</code> object. Once the SOAP envelope is obtained, it
+ * Gets the {@code SOAPEnvelope} object associated with this
+ * {@code SOAPPart} object. Once the SOAP envelope is obtained, it
* can be used to get its contents.
*
- * @return the <code>SOAPEnvelope</code> object for this
- * <code>SOAPPart</code> object
+ * @return the {@code SOAPEnvelope} object for this
+ * {@code SOAPPart} object
* @exception SOAPException if there is a SOAP error
*/
public abstract SOAPEnvelope getEnvelope() throws SOAPException;
@@ -83,7 +82,7 @@
/**
* Retrieves the value of the MIME header whose name is "Content-Id".
*
- * @return a <code>String</code> giving the value of the MIME header
+ * @return a {@code String} giving the value of the MIME header
* named "Content-Id"
* @see #setContentId
*/
@@ -97,7 +96,7 @@
/**
* Retrieves the value of the MIME header whose name is "Content-Location".
*
- * @return a <code>String</code> giving the value of the MIME header whose
+ * @return a {@code String} giving the value of the MIME header whose
* name is "Content-Location"
* @see #setContentLocation
*/
@@ -110,9 +109,9 @@
/**
* Sets the value of the MIME header named "Content-Id"
- * to the given <code>String</code>.
+ * to the given {@code String}.
*
- * @param contentId a <code>String</code> giving the value of the MIME
+ * @param contentId a {@code String} giving the value of the MIME
* header "Content-Id"
*
* @exception IllegalArgumentException if there is a problem in
@@ -125,9 +124,9 @@
}
/**
* Sets the value of the MIME header "Content-Location"
- * to the given <code>String</code>.
+ * to the given {@code String}.
*
- * @param contentLocation a <code>String</code> giving the value
+ * @param contentLocation a {@code String} giving the value
* of the MIME
* header "Content-Location"
* @exception IllegalArgumentException if there is a problem in
@@ -141,24 +140,24 @@
/**
* Removes all MIME headers that match the given name.
*
- * @param header a <code>String</code> giving the name of the MIME header(s) to
+ * @param header a {@code String} giving the name of the MIME header(s) to
* be removed
*/
public abstract void removeMimeHeader(String header);
/**
- * Removes all the <code>MimeHeader</code> objects for this
- * <code>SOAPEnvelope</code> object.
+ * Removes all the {@code MimeHeader} objects for this
+ * {@code SOAPEnvelope} object.
*/
public abstract void removeAllMimeHeaders();
/**
- * Gets all the values of the <code>MimeHeader</code> object
- * in this <code>SOAPPart</code> object that
- * is identified by the given <code>String</code>.
+ * Gets all the values of the {@code MimeHeader} object
+ * in this {@code SOAPPart} object that
+ * is identified by the given {@code String}.
*
* @param name the name of the header; example: "Content-Type"
- * @return a <code>String</code> array giving all the values for the
+ * @return a {@code String} array giving all the values for the
* specified header
* @see #setMimeHeader
*/
@@ -176,13 +175,13 @@
* <P>
* Note that RFC822 headers can contain only US-ASCII characters.
*
- * @param name a <code>String</code> giving the header name
+ * @param name a {@code String} giving the header name
* for which to search
- * @param value a <code>String</code> giving the value to be set.
+ * @param value a {@code String} giving the value to be set.
* This value will be substituted for the current value(s)
* of the first header that is a match if there is one.
* If there is no match, this value will be the value for
- * a new <code>MimeHeader</code> object.
+ * a new {@code MimeHeader} object.
*
* @exception IllegalArgumentException if there was a problem with
* the specified mime header name or value
@@ -191,16 +190,16 @@
public abstract void setMimeHeader(String name, String value);
/**
- * Creates a <code>MimeHeader</code> object with the specified
- * name and value and adds it to this <code>SOAPPart</code> object.
- * If a <code>MimeHeader</code> with the specified name already
+ * Creates a {@code MimeHeader} object with the specified
+ * name and value and adds it to this {@code SOAPPart} object.
+ * If a {@code MimeHeader} with the specified name already
* exists, this method adds the specified value to the already
* existing value(s).
* <P>
* Note that RFC822 headers can contain only US-ASCII characters.
*
- * @param name a <code>String</code> giving the header name
- * @param value a <code>String</code> giving the value to be set
+ * @param name a {@code String} giving the header name
+ * @param value a {@code String} giving the value to be set
* or added
* @exception IllegalArgumentException if there was a problem with
* the specified mime header name or value
@@ -208,44 +207,44 @@
public abstract void addMimeHeader(String name, String value);
/**
- * Retrieves all the headers for this <code>SOAPPart</code> object
- * as an iterator over the <code>MimeHeader</code> objects.
+ * Retrieves all the headers for this {@code SOAPPart} object
+ * as an iterator over the {@code MimeHeader} objects.
*
- * @return an <code>Iterator</code> object with all of the Mime
- * headers for this <code>SOAPPart</code> object
+ * @return an {@code Iterator} object with all of the Mime
+ * headers for this {@code SOAPPart} object
*/
public abstract Iterator getAllMimeHeaders();
/**
- * Retrieves all <code>MimeHeader</code> objects that match a name in
+ * Retrieves all {@code MimeHeader} objects that match a name in
* the given array.
*
- * @param names a <code>String</code> array with the name(s) of the
+ * @param names a {@code String} array with the name(s) of the
* MIME headers to be returned
* @return all of the MIME headers that match one of the names in the
- * given array, returned as an <code>Iterator</code> object
+ * given array, returned as an {@code Iterator} object
*/
public abstract Iterator getMatchingMimeHeaders(String[] names);
/**
- * Retrieves all <code>MimeHeader</code> objects whose name does
+ * Retrieves all {@code MimeHeader} objects whose name does
* not match a name in the given array.
*
- * @param names a <code>String</code> array with the name(s) of the
+ * @param names a {@code String} array with the name(s) of the
* MIME headers not to be returned
- * @return all of the MIME headers in this <code>SOAPPart</code> object
+ * @return all of the MIME headers in this {@code SOAPPart} object
* except those that match one of the names in the
* given array. The nonmatching MIME headers are returned as an
- * <code>Iterator</code> object.
+ * {@code Iterator} object.
*/
public abstract Iterator getNonMatchingMimeHeaders(String[] names);
/**
- * Sets the content of the <code>SOAPEnvelope</code> object with the data
- * from the given <code>Source</code> object. This <code>Source</code>
+ * Sets the content of the {@code SOAPEnvelope} object with the data
+ * from the given {@code Source} object. This {@code Source}
* must contain a valid SOAP document.
*
- * @param source the <code>javax.xml.transform.Source</code> object with the
+ * @param source the {@code javax.xml.transform.Source} object with the
* data to be set
*
* @exception SOAPException if there is a problem in setting the source
@@ -254,13 +253,13 @@
public abstract void setContent(Source source) throws SOAPException;
/**
- * Returns the content of the SOAPEnvelope as a JAXP <code>Source</code>
+ * Returns the content of the SOAPEnvelope as a JAXP {@code Source}
* object.
*
- * @return the content as a <code>javax.xml.transform.Source</code> object
+ * @return the content as a {@code javax.xml.transform.Source} object
*
* @exception SOAPException if the implementation cannot convert
- * the specified <code>Source</code> object
+ * the specified {@code Source} object
* @see #setContent
*/
public abstract Source getContent() throws SOAPException;
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/Action.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/Action.java Mon Apr 27 09:17:39 2015 -0700
@@ -32,89 +32,90 @@
import java.lang.annotation.Target;
/**
- * The <code>Action</code> annotation allows explicit association of a
- * WS-Addressing <code>Action</code> message addressing property with
- * <code>input</code>, <code>output</code>, and
- * <code>fault</code> messages of the mapped WSDL operation.
+ * The {@code Action} annotation allows explicit association of a
+ * WS-Addressing {@code Action} message addressing property with
+ * {@code input}, {@code output}, and
+ * {@code fault} messages of the mapped WSDL operation.
* <p>
* This annotation can be specified on each method of a service endpoint interface.
* For such a method, the mapped operation in the generated WSDL's
- * <code>wsam:Action</code> attribute on the WSDL <code>input</code>,
- * <code>output</code> and <code>fault</code> messages of the WSDL <code>operation</code>
- * is based upon which attributes of the <code>Action</code> annotation have been specified.
- * For the exact computation of <code>wsam:Action</code> values for the messages, refer
+ * {@code wsam:Action} attribute on the WSDL {@code input},
+ * {@code output} and {@code fault} messages of the WSDL {@code operation}
+ * is based upon which attributes of the {@code Action} annotation have been specified.
+ * For the exact computation of {@code wsam:Action} values for the messages, refer
* to the algorithm in the JAX-WS specification.
* <p>
- * <b>Example 1</b>: Specify explicit values for <code>Action</code> message addressing property
- * for <code>input</code> and <code>output</code> messages.
+ * <b>Example 1</b>: Specify explicit values for {@code Action} message addressing property
+ * for {@code input} and {@code output} messages.
*
* <pre>
- * @WebService(targetNamespace="http://example.com/numbers")
- * public class AddNumbersImpl {
- * <b>@Action(
- * input="http://example.com/inputAction",
- * output="http://example.com/outputAction")</b>
- * public int addNumbers(int number1, int number2) {
- * return number1 + number2;
- * }
- * }
+ * {@literal @}WebService(targetNamespace="http://example.com/numbers")
+ * public class AddNumbersImpl {
+ * <b>{@literal @}Action(
+ * input="http://example.com/inputAction",
+ * output="http://example.com/outputAction")</b>
+ * public int addNumbers(int number1, int number2) {
+ * return number1 + number2;
+ * }
+ * }
* </pre>
*
* The generated WSDL looks like:
- * <pre>
- * <definitions targetNamespace="http://example.com/numbers" ...>
+ * <pre> {@code
+ * <definitions targetNamespace="http://example.com/numbers" ...>
* ...
- * <portType name="AddNumbersPortType">
- * <operation name="AddNumbers">
- * <input message="tns:AddNumbersInput" name="foo"
+ * <portType name="AddNumbersPortType">
+ * <operation name="AddNumbers">
+ * <input message="tns:AddNumbersInput" name="foo"
* <b>wsam:Action="http://example.com/inputAction"</b>/>
- * <output message="tns:AddNumbersOutput" name="bar"
+ * <output message="tns:AddNumbersOutput" name="bar"
* <b>wsam:Action="http://example.com/outputAction"</b>/>
- * </operation>
- * </portType>
+ * </operation>
+ * </portType>
* ...
- * </definitions>
+ * </definitions>
+ * }
* </pre>
*
* <p>
- * <b>Example 2</b>: Specify explicit value for <code>Action</code> message addressing property
- * for only the <code>input</code> message. The <code>wsam:Action</code> values for the
- * WSDL <code>output</code> message are computed using the algorithm in the JAX-WS specification.
+ * <b>Example 2</b>: Specify explicit value for {@code Action} message addressing property
+ * for only the {@code input} message. The {@code wsam:Action} values for the
+ * WSDL {@code output} message are computed using the algorithm in the JAX-WS specification.
*
* <pre>
- * @WebService(targetNamespace="http://example.com/numbers")
- * public class AddNumbersImpl {
- * <b>@Action(input="http://example.com/inputAction")</b>
- * public int addNumbers(int number1, int number2) {
- * return number1 + number2;
- * }
- * }
+ * {@literal @}WebService(targetNamespace="http://example.com/numbers")
+ * public class AddNumbersImpl {
+ * <b>{@literal @}Action(input="http://example.com/inputAction")</b>
+ * public int addNumbers(int number1, int number2) {
+ * return number1 + number2;
+ * }
+ * }
* </pre>
*
* The generated WSDL looks like:
- * <pre>
- * <definitions targetNamespace="http://example.com/numbers" ...>
+ * <pre> {@code
+ * <definitions targetNamespace="http://example.com/numbers" ...>
* ...
- * <portType name="AddNumbersPortType">
- * <operation name="AddNumbers">
- * <input message="tns:AddNumbersInput" name="foo"
- * <b>wsam:Action="http://example.com/inputAction"</b> />
- * <output message="tns:AddNumbersOutput" name="bar"
+ * <portType name="AddNumbersPortType">
+ * <operation name="AddNumbers">
+ * <input message="tns:AddNumbersInput" name="foo"
+ * <b>wsam:Action="http://example.com/inputAction"</b>/>
+ * <output message="tns:AddNumbersOutput" name="bar"
* <b>wsam:Action="http://example.com/numbers/AddNumbersPortType/AddNumbersResponse"</b>/>
- * </operation>
- * </portType>
+ * </operation>
+ * </portType>
* ...
- * </definitions>
- * </pre>
+ * </definitions>
+ * }</pre>
*
- * It is legitimate to specify an explicit value for <code>Action</code> message addressing property for
- * <code>output</code> message only. In this case, <code>wsam:Action</code> value for the
- * WSDL <code>input</code> message is computed using the algorithm in the JAX-WS specification.
+ * It is legitimate to specify an explicit value for {@code Action} message addressing property for
+ * {@code output} message only. In this case, {@code wsam:Action} value for the
+ * WSDL {@code input} message is computed using the algorithm in the JAX-WS specification.
*
* <p>
* <b>Example 3</b>: See {@link FaultAction} annotation for an example of
- * how to specify an explicit value for <code>Action</code> message addressing property for the
- * <code>fault</code> message.
+ * how to specify an explicit value for {@code Action} message addressing property for the
+ * {@code fault} message.
*
* @see FaultAction
*
@@ -126,21 +127,21 @@
@Target(ElementType.METHOD)
public @interface Action {
/**
- * Explicit value of the WS-Addressing <code>Action</code> message addressing property for the <code>input</code>
+ * Explicit value of the WS-Addressing {@code Action} message addressing property for the {@code input}
* message of the operation.
*/
String input() default "";
/**
- * Explicit value of the WS-Addressing <code>Action</code> message addressing property for the <code>output</code>
+ * Explicit value of the WS-Addressing {@code Action} message addressing property for the {@code output}
* message of the operation.
*/
String output() default "";
/**
- * Explicit value of the WS-Addressing <code>Action</code> message addressing property for the <code>fault</code>
+ * Explicit value of the WS-Addressing {@code Action} message addressing property for the {@code fault}
* message(s) of the operation. Each exception that is mapped to a fault and requires an explicit WS-Addressing
- * <code>Action</code> message addressing property, needs to be specified as a value in this property
+ * {@code Action} message addressing property, needs to be specified as a value in this property
* using {@link FaultAction} annotation.
*/
FaultAction[] fault() default { };
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/Binding.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/Binding.java Mon Apr 27 09:17:39 2015 -0700
@@ -26,7 +26,7 @@
package javax.xml.ws;
-/** The <code>Binding</code> interface is the base interface
+/** The {@code Binding} interface is the base interface
* for JAX-WS protocol bindings.
*
* @since 1.6, JAX-WS 2.0
@@ -35,10 +35,10 @@
/**
* Gets a copy of the handler chain for a protocol binding instance.
- * If the returned chain is modified a call to <code>setHandlerChain</code>
+ * If the returned chain is modified a call to {@code setHandlerChain}
* is required to configure the binding instance with the new chain.
*
- * @return java.util.List<Handler> Handler chain
+ * @return {@code java.util.List<Handler>} Handler chain
*/
public java.util.List<javax.xml.ws.handler.Handler> getHandlerChain();
@@ -59,7 +59,7 @@
* Get the URI for this binding instance.
*
* @return String The binding identifier for the port.
- * Never returns <code>null</code>
+ * Never returns {@code null}
*
* @since 1.6, JAX-WS 2.1
*/
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/Dispatch.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/Dispatch.java Mon Apr 27 09:17:39 2015 -0700
@@ -27,10 +27,10 @@
import java.util.concurrent.Future;
-/** The <code>Dispatch</code> interface provides support
+/** The {@code Dispatch} interface provides support
* for the dynamic invocation of a service endpoint operations. The
- * <code>javax.xml.ws.Service</code>
- * class acts as a factory for the creation of <code>Dispatch</code>
+ * {@code javax.xml.ws.Service}
+ * class acts as a factory for the creation of {@code Dispatch}
* instances.
*
* @since 1.6, JAX-WS 2.0
@@ -39,7 +39,7 @@
/** Invoke a service operation synchronously.
*
- * The client is responsible for ensuring that the <code>msg</code> object
+ * The client is responsible for ensuring that the {@code msg} object
* when marshalled is formed according to the requirements of the protocol
* binding in use.
*
@@ -50,16 +50,16 @@
* @throws WebServiceException If a fault occurs during communication with
* the service
* @throws WebServiceException If there is any error in the configuration of
- * the <code>Dispatch</code> instance
+ * the {@code Dispatch} instance
**/
public T invoke(T msg);
/** Invoke a service operation asynchronously. The
* method returns without waiting for the response to the operation
* invocation, the results of the operation are obtained by polling the
- * returned <code>Response</code>.
+ * returned {@code Response}.
* <p>
- * The client is responsible for ensuring that the <code>msg</code> object
+ * The client is responsible for ensuring that the {@code msg} object
* when marshalled is formed according to the requirements of the protocol
* binding in use.
*
@@ -68,16 +68,16 @@
* @return The response message or message payload to the
* operation invocation.
* @throws WebServiceException If there is any error in the configuration of
- * the <code>Dispatch</code> instance
+ * the {@code Dispatch} instance
**/
public Response<T> invokeAsync(T msg);
/** Invoke a service operation asynchronously. The
* method returns without waiting for the response to the operation
* invocation, the results of the operation are communicated to the client
- * via the passed in <code>handler</code>.
+ * via the passed in {@code handler}.
* <p>
- * The client is responsible for ensuring that the <code>msg</code> object
+ * The client is responsible for ensuring that the {@code msg} object
* when marshalled is formed according to the requirements of the protocol
* binding in use.
*
@@ -85,13 +85,13 @@
* the message used to invoke the operation.
* @param handler The handler object that will receive the
* response to the operation invocation.
- * @return A <code>Future</code> object that may be used to check the status
+ * @return A {@code Future} object that may be used to check the status
* of the operation invocation. This object MUST NOT be used to try to
* obtain the results of the operation - the object returned from
- * <code>Future<?>.get()</code> is implementation dependent
+ * {@code Future<?>.get()} is implementation dependent
* and any use of it will result in non-portable behaviour.
* @throws WebServiceException If there is any error in the configuration of
- * the <code>Dispatch</code> instance
+ * the {@code Dispatch} instance
**/
public Future<?> invokeAsync(T msg, AsyncHandler<T> handler);
@@ -102,14 +102,14 @@
* the protocol in use is SOAP/HTTP, this method MUST block until
* an HTTP response code has been received or an error occurs.
* <p>
- * The client is responsible for ensuring that the <code>msg</code> object
+ * The client is responsible for ensuring that the {@code msg} object
* when marshalled is formed according to the requirements of the protocol
* binding in use.
*
* @param msg An object that will form the message or payload of
* the message used to invoke the operation.
* @throws WebServiceException If there is any error in the configuration of
- * the <code>Dispatch</code> instance or if an error occurs during the
+ * the {@code Dispatch} instance or if an error occurs during the
* invocation.
**/
public void invokeOneWay(T msg);
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/FaultAction.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/FaultAction.java Mon Apr 27 09:17:39 2015 -0700
@@ -32,28 +32,28 @@
import java.lang.annotation.Target;
/**
- * The <code>FaultAction</code> annotation is used inside an {@link Action}
+ * The {@code FaultAction} annotation is used inside an {@link Action}
* annotation to allow an explicit association of a WS-Addressing
- * <code>Action</code> message addressing property with the <code>fault</code>
+ * {@code Action} message addressing property with the {@code fault}
* messages of the WSDL operation mapped from the exception class.
* <p>
- * The <code>wsam:Action</code> attribute value in the <code>fault</code>
- * message in the generated WSDL operation mapped for <code>className</code>
- * class is equal to the corresponding value in the <code>FaultAction</code>.
- * For the exact computation of <code>wsam:Action</code> values for the
+ * The {@code wsam:Action} attribute value in the {@code fault}
+ * message in the generated WSDL operation mapped for {@code className}
+ * class is equal to the corresponding value in the {@code FaultAction}.
+ * For the exact computation of {@code wsam:Action} values for the
* fault messages, refer to the algorithm in the JAX-WS specification.
*
* <p>
- * <b>Example 1</b>: Specify explicit values for <code>Action</code> message addressing
- * property for the <code>input</code>, <code>output</code> and <code>fault</code> message
+ * <b>Example 1</b>: Specify explicit values for {@code Action} message addressing
+ * property for the {@code input}, {@code output} and {@code fault} message
* if the Java method throws only one service specific exception.
*
* <pre>
- * @WebService(targetNamespace="http://example.com/numbers")
- * public class AddNumbersImpl {
- * @Action(
+ * {@literal @}WebService(targetNamespace="http://example.com/numbers")
+ * public class AddNumbersImpl {
+ * {@literal @}Action(
* fault = {
- * <b>@FaultAction(className=AddNumbersException.class, value="http://example.com/faultAction")</b>
+ * <b>{@literal @}FaultAction(className=AddNumbersException.class, value="http://example.com/faultAction")</b>
* })
* public int addNumbers(int number1, int number2)
* throws AddNumbersException {
@@ -64,86 +64,86 @@
*
* The generated WSDL looks like:
*
- * <pre>
- * <definitions targetNamespace="http://example.com/numbers" ...>
+ * <pre> {@code
+ * <definitions targetNamespace="http://example.com/numbers" ...>
* ...
- * <portType name="AddNumbersPortType">
- * <operation name="AddNumbers">
+ * <portType name="AddNumbersPortType">
+ * <operation name="AddNumbers">
* ...
- * <fault message="tns:AddNumbersException" name="AddNumbersException"
- * <b>wsam:Action="http://example.com/faultAction"</b>/>
- * </operation>
- * </portType>
+ * <fault message="tns:AddNumbersException" name="AddNumbersException"}
+ * <b>wsam:Action="http://example.com/faultAction"</b>{@code />
+ * </operation>
+ * </portType>
* ...
- * </definitions>
+ * </definitions> }
* </pre>
*
* <p>
- * Example 2: Here is an example that shows if the explicit value for <code>Action</code>
+ * Example 2: Here is an example that shows if the explicit value for {@code Action}
* message addressing property for the service specific exception is not present.
*
* <pre>
- * @WebService(targetNamespace="http://example.com/numbers")
- * public class AddNumbersImpl {
+ * {@literal @}WebService(targetNamespace="http://example.com/numbers")
+ * public class AddNumbersImpl {
* public int addNumbers(int number1, int number2)
* throws AddNumbersException {
* return number1 + number2;
* }
- * }
+ * }
* </pre>
*
* The generated WSDL looks like:
*
- * <pre>
- * <definitions targetNamespace="http://example.com/numbers" ...>
+ * <pre>{@code
+ * <definitions targetNamespace="http://example.com/numbers" ...>
* ...
- * <portType name="AddNumbersPortType">
- * <operation name="AddNumbers">
+ * <portType name="AddNumbersPortType">
+ * <operation name="AddNumbers">
* ...
- * <fault message="tns:addNumbersFault" name="InvalidNumbers"
- * <b>wsam:Action="http://example.com/numbers/AddNumbersPortType/AddNumbers/Fault/AddNumbersException"</b>/>
- * </operation>
- * </portType>
+ * <fault message="tns:addNumbersFault" name="InvalidNumbers"}
+ * <b>wsam:Action="http://example.com/numbers/AddNumbersPortType/AddNumbers/Fault/AddNumbersException"</b>{@code />
+ * </operation>
+ * </portType>
* ...
- * </definitions>
- * </pre>
+ * </definitions>
+ * }</pre>
*
* <p>
- * Example 3: Here is an example that shows how to specify explicit values for <code>Action</code>
+ * Example 3: Here is an example that shows how to specify explicit values for {@code Action}
* message addressing property if the Java method throws more than one service specific exception.
*
* <pre>
- * @WebService(targetNamespace="http://example.com/numbers")
- * public class AddNumbersImpl {
- * @Action(
+ * {@literal @}WebService(targetNamespace="http://example.com/numbers")
+ * public class AddNumbersImpl {
+ * {@literal @}Action(
* fault = {
- * <b>@FaultAction(className=AddNumbersException.class, value="http://example.com/addFaultAction"),
- * @FaultAction(className=TooBigNumbersException.class, value="http://example.com/toobigFaultAction")</b>
+ * <b>{@literal @}FaultAction(className=AddNumbersException.class, value="http://example.com/addFaultAction"),
+ * {@literal @}FaultAction(className=TooBigNumbersException.class, value="http://example.com/toobigFaultAction")</b>
* })
* public int addNumbers(int number1, int number2)
* throws AddNumbersException, TooBigNumbersException {
* return number1 + number2;
* }
- * }
+ * }
* </pre>
*
* The generated WSDL looks like:
*
- * <pre>
- * <definitions targetNamespace="http://example.com/numbers" ...>
+ * <pre> {@code
+ * <definitions targetNamespace="http://example.com/numbers" ...>
* ...
- * <portType name="AddNumbersPortType">
- * <operation name="AddNumbers">
+ * <portType name="AddNumbersPortType">
+ * <operation name="AddNumbers">
* ...
- * <fault message="tns:addNumbersFault" name="AddNumbersException"
- * <b>wsam:Action="http://example.com/addFaultAction"</b>/>
- * <fault message="tns:tooBigNumbersFault" name="TooBigNumbersException"
- * <b>wsam:Action="http://example.com/toobigFaultAction"</b>/>
- * </operation>
- * </portType>
+ * <fault message="tns:addNumbersFault" name="AddNumbersException"}
+ * <b>wsam:Action="http://example.com/addFaultAction"</b>{@code />
+ * <fault message="tns:tooBigNumbersFault" name="TooBigNumbersException"}
+ * <b>wsam:Action="http://example.com/toobigFaultAction"</b>{@code />
+ * </operation>
+ * </portType>
* ...
- * </definitions>
- * </pre>
+ * </definitions>
+ * }</pre>
*
* @since 1.6, JAX-WS 2.1
*/
@@ -158,7 +158,7 @@
Class<? extends Exception> className();
/**
- * Value of WS-Addressing <code>Action</code> message addressing property for the exception
+ * Value of WS-Addressing {@code Action} message addressing property for the exception
*/
String value() default "";
}
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/WebServicePermission.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/WebServicePermission.java Mon Apr 27 09:17:39 2015 -0700
@@ -35,16 +35,14 @@
* with them.
* <p>
* The following permission target name is defined:
- * <p>
* <dl>
* <dt>publishEndpoint
* </dl>
+ * The {@code publishEndpoint} permission allows publishing a
+ * web service endpoint using the {@code publish} methods
+ * defined by the {@code javax.xml.ws.Endpoint} class.
* <p>
- * The <code>publishEndpoint</code> permission allows publishing a
- * web service endpoint using the <code>publish</code> methods
- * defined by the <code>javax.xml.ws.Endpoint</code> class.
- * <p>
- * Granting <code>publishEndpoint</code> allows the application to be
+ * Granting {@code publishEndpoint} allows the application to be
* exposed as a network service. Depending on the security of the runtime and
* the security of the application, this may introduce a security hole that
* is remotely exploitable.
@@ -64,7 +62,7 @@
/**
* Creates a new permission with the specified name.
*
- * @param name the name of the <code>WebServicePermission</code>
+ * @param name the name of the {@code WebServicePermission}
*/
public WebServicePermission(String name) {
super(name);
@@ -73,11 +71,11 @@
/**
* Creates a new permission with the specified name and actions.
*
- * The <code>actions</code> parameter is currently unused and
- * it should be <code>null</code>.
+ * The {@code actions} parameter is currently unused and
+ * it should be {@code null}.
*
- * @param name the name of the <code>WebServicePermission</code>
- * @param actions should be <code>null</code>
+ * @param name the name of the {@code WebServicePermission}
+ * @param actions should be {@code null}
*/
public WebServicePermission(String name, String actions) {
super(name, actions);
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/handler/HandlerResolver.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/handler/HandlerResolver.java Mon Apr 27 09:17:39 2015 -0700
@@ -26,15 +26,15 @@
package javax.xml.ws.handler;
/**
- * <code>HandlerResolver</code> is an interface implemented
+ * {@code HandlerResolver} is an interface implemented
* by an application to get control over the handler chain
* set on proxy/dispatch objects at the time of their creation.
* <p>
- * A <code>HandlerResolver</code> may be set on a <code>Service</code>
- * using the <code>setHandlerResolver</code> method.
- * <p>
- * When the runtime invokes a <code>HandlerResolver</code>, it will
- * pass it a <code>PortInfo</code> object containing information
+ * A {@code HandlerResolver} may be set on a {@code Service}
+ * using the {@code setHandlerResolver} method.
+ * <p>
+ * When the runtime invokes a {@code HandlerResolver}, it will
+ * pass it a {@code PortInfo} object containing information
* about the port that the proxy/dispatch object will be accessing.
*
* @see javax.xml.ws.Service#setHandlerResolver
@@ -47,7 +47,7 @@
* Gets the handler chain for the specified port.
*
* @param portInfo Contains information about the port being accessed.
- * @return java.util.List<Handler> chain
+ * @return {@code java.util.List<Handler>} chain
**/
public java.util.List<Handler> getHandlerChain(PortInfo portInfo);
}
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/handler/MessageContext.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/handler/MessageContext.java Mon Apr 27 09:17:39 2015 -0700
@@ -27,12 +27,12 @@
import java.util.Map;
/**
- * The interface <code>MessageContext</code> abstracts the message
- * context that is processed by a handler in the <code>handle</code>
+ * The interface {@code MessageContext} abstracts the message
+ * context that is processed by a handler in the {@code handle}
* method.
*
- * <p>The <code>MessageContext</code> interface provides methods to
- * manage a property set. <code>MessageContext</code> properties
+ * <p>The {@code MessageContext} interface provides methods to
+ * manage a property set. {@code MessageContext} properties
* enable handlers in a handler chain to share processing related
* state.
*
@@ -41,8 +41,8 @@
public interface MessageContext extends Map<String, Object> {
/**
- * Standard property: message direction, <code>true</code> for
- * outbound messages, <code>false</code> for inbound.
+ * Standard property: message direction, {@code true} for
+ * outbound messages, {@code false} for inbound.
* <p>Type: boolean
*/
public static final String MESSAGE_OUTBOUND_PROPERTY =
@@ -51,7 +51,7 @@
/**
* Standard property: Map of attachments to a message for the inbound
* message, key is the MIME Content-ID, value is a DataHandler.
- * <p>Type: java.util.Map<String,DataHandler>
+ * <p>Type: {@code java.util.Map<String, DataHandler>}
*/
public static final String INBOUND_MESSAGE_ATTACHMENTS =
"javax.xml.ws.binding.attachments.inbound";
@@ -59,7 +59,7 @@
/**
* Standard property: Map of attachments to a message for the outbound
* message, key is the MIME Content-ID, value is a DataHandler.
- * <p>Type: java.util.Map<String,DataHandler>
+ * <p>Type: {@code java.util.Map<String, DataHandler>}
*/
public static final String OUTBOUND_MESSAGE_ATTACHMENTS =
"javax.xml.ws.binding.attachments.outbound";
@@ -108,14 +108,14 @@
/**
* Standard property: HTTP request headers.
- * <p>Type: java.util.Map<java.lang.String, java.util.List<java.lang.String>>
+ * <p>Type: {@code java.util.Map<java.lang.String, java.util.List<java.lang.String>>}
*/
public static final String HTTP_REQUEST_HEADERS =
"javax.xml.ws.http.request.headers";
/**
* Standard property: HTTP response headers.
- * <p>Type: java.util.Map<java.lang.String, java.util.List<java.lang.String>>
+ * <p>Type: {@code java.util.Map<java.lang.String, java.util.List<java.lang.String>>}
*/
public static final String HTTP_RESPONSE_HEADERS =
"javax.xml.ws.http.response.headers";
@@ -166,7 +166,7 @@
* Standard property: WS Addressing Reference Parameters.
* The list MUST include all SOAP headers marked with the
* wsa:IsReferenceParameter="true" attribute.
- * <p>Type: List<Element>
+ * <p>Type: {@code List<Element>}
*
* @since 1.6, JAX-WS 2.1
*/
@@ -174,10 +174,10 @@
"javax.xml.ws.reference.parameters";
/**
- * Property scope. Properties scoped as <code>APPLICATION</code> are
+ * Property scope. Properties scoped as {@code APPLICATION} are
* visible to handlers,
* client applications and service endpoints; properties scoped as
- * <code>HANDLER</code>
+ * {@code HANDLER}
* are only normally visible to handlers.
*/
public enum Scope {APPLICATION, HANDLER};
@@ -186,7 +186,7 @@
* Sets the scope of a property.
*
* @param name Name of the property associated with the
- * <code>MessageContext</code>
+ * {@code MessageContext}
* @param scope Desired scope of the property
* @throws java.lang.IllegalArgumentException if an illegal
* property name is specified
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/soap/AddressingFeature.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/soap/AddressingFeature.java Mon Apr 27 09:17:39 2015 -0700
@@ -52,10 +52,10 @@
* receiver.
* </ul>
* <p>
- * If the feature is enabled, the <code>required</code> property determines
+ * If the feature is enabled, the {@code required} property determines
* whether the endpoint requires WS-Addressing. If it is set true,
* WS-Addressing headers MUST be present on incoming and outgoing messages.
- * By default the <code>required</code> property is <code>false</code>.
+ * By default the {@code required} property is {@code false}.
*
* <p>
* If the web service developer has not explicitly enabled this feature,
@@ -75,31 +75,31 @@
*
* <p>
* <b>Example 1: </b>Possible Policy Assertion in the generated WSDL for
- * <code>@Addressing</code>
- * <pre>
- * <wsam:Addressing wsp:Optional="true">
- * <wsp:Policy/>
- * </wsam:Addressing>
+ * {@code @Addressing}
+ * <pre> {@code
+ * <wsam:Addressing wsp:Optional="true">
+ * <wsp:Policy/>
+ * </wsam:Addressing> }
* </pre>
*
* <p>
* <b>Example 2: </b>Possible Policy Assertion in the generated WSDL for
- * <code>@Addressing(required=true)</code>
- * <pre>
- * <wsam:Addressing>
- * <wsp:Policy/>
- * </wsam:Addressing>
+ * {@code @Addressing(required=true)}
+ * <pre> {@code
+ * <wsam:Addressing>
+ * <wsp:Policy/>
+ * </wsam:Addressing> }
* </pre>
*
* <p>
* <b>Example 3: </b>Possible Policy Assertion in the generated WSDL for
- * <code>@Addressing(required=true, responses=Responses.ANONYMOUS)</code>
- * <pre>
- * <wsam:Addressing>
- * <wsp:Policy>
- * <wsam:AnonymousResponses/>
- * </wsp:Policy>
- * </wsam:Addressing>
+ * {@code @Addressing(required=true, responses=Responses.ANONYMOUS)}
+ * <pre> {@code
+ * <wsam:Addressing>
+ * <wsp:Policy>
+ * <wsam:AnonymousResponses/>
+ * </wsp:Policy>
+ * </wsam:Addressing> }
* </pre>
*
* <p>
@@ -181,7 +181,7 @@
private final Responses responses;
/**
- * Creates and configures an <code>AddressingFeature</code> with the
+ * Creates and configures an {@code AddressingFeature} with the
* use of addressing requirements. The created feature enables
* ws-addressing i.e. supports ws-addressing but doesn't require
* its use. It is also configured to accept all the response types.
@@ -191,8 +191,8 @@
}
/**
- * Creates and configures an <code>AddressingFeature</code> with the
- * use of addressing requirements. If <code>enabled</code> is true,
+ * Creates and configures an {@code AddressingFeature} with the
+ * use of addressing requirements. If {@code enabled} is true,
* it enables ws-addressing i.e. supports ws-addressing but doesn't
* require its use. It also configures to accept all the response types.
*
@@ -204,9 +204,9 @@
}
/**
- * Creates and configures an <code>AddressingFeature</code> with the
- * use of addressing requirements. If <code>enabled</code> and
- * <code>required</code> are true, it enables ws-addressing and
+ * Creates and configures an {@code AddressingFeature} with the
+ * use of addressing requirements. If {@code enabled} and
+ * {@code required} are true, it enables ws-addressing and
* requires its use. It also configures to accept all the response types.
*
* @param enabled true enables ws-addressing i.e.ws-addressing
@@ -218,11 +218,11 @@
}
/**
- * Creates and configures an <code>AddressingFeature</code> with the
- * use of addressing requirements. If <code>enabled</code> and
- * <code>required</code> are true, it enables ws-addressing and
+ * Creates and configures an {@code AddressingFeature} with the
+ * use of addressing requirements. If {@code enabled} and
+ * {@code required} are true, it enables ws-addressing and
* requires its use. Also, the response types can be configured using
- * <code>responses</code> parameter.
+ * {@code responses} parameter.
*
* @param enabled true enables ws-addressing i.e.ws-addressing
* is supported but doesn't require its use
@@ -260,7 +260,6 @@
* requires the use of anonymous responses, or non-anonymous responses,
* or all responses.
*
- * <p>
* @return {@link Responses#ALL} when endpoint supports all types of
* responses,
* {@link Responses#ANONYMOUS} when endpoint requires the use of
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/soap/MTOM.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/soap/MTOM.java Mon Apr 27 09:17:39 2015 -0700
@@ -40,14 +40,14 @@
* web service.
* <p>
* This annotation MUST only be used in conjunction the
- * <code>javax.jws.WebService</code>, {@link WebServiceProvider},
+ * {@code javax.jws.WebService}, {@link WebServiceProvider},
* {@link WebServiceRef} annotations.
- * When used with the <code>javax.jws.WebService</code> annotation this
+ * When used with the {@code javax.jws.WebService} annotation this
* annotation MUST only be used on the service endpoint implementation
* class.
- * When used with a <code>WebServiceRef</code> annotation, this annotation
+ * When used with a {@code WebServiceRef} annotation, this annotation
* MUST only be used when a proxy instance is created. The injected SEI
- * proxy, and endpoint MUST honor the values of the <code>MTOM</code>
+ * proxy, and endpoint MUST honor the values of the {@code MTOM}
* annotation.
* <p>
*
@@ -69,7 +69,7 @@
/**
* Property for MTOM threshold value. When MTOM is enabled, binary data above this
* size in bytes will be XOP encoded or sent as attachment. The value of this property
- * MUST always be >= 0. Default value is 0.
+ * MUST always be {@literal >=} 0. Default value is 0.
*/
int threshold() default 0;
}
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/soap/MTOMFeature.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/soap/MTOMFeature.java Mon Apr 27 09:17:39 2015 -0700
@@ -67,14 +67,14 @@
* Property for MTOM threshold value. This property serves as a hint when
* MTOM is enabled, binary data above this size in bytes SHOULD be sent
* as attachment.
- * The value of this property MUST always be >= 0. Default value is 0.
+ * The value of this property MUST always be {@literal >=} 0. Default value is 0.
*/
// should be changed to private final, keeping original modifier to keep backwards compatibility
protected int threshold;
/**
- * Create an <code>MTOMFeature</code>.
+ * Create an {@code MTOMFeature}.
* The instance created will be enabled.
*/
public MTOMFeature() {
@@ -83,7 +83,7 @@
}
/**
- * Creates an <code>MTOMFeature</code>.
+ * Creates a {@code MTOMFeature}.
*
* @param enabled specifies if this feature should be enabled or not
*/
@@ -94,13 +94,13 @@
/**
- * Creates an <code>MTOMFeature</code>.
+ * Creates a {@code MTOMFeature}.
* The instance created will be enabled.
*
* @param threshold the size in bytes that binary data SHOULD be before
* being sent as an attachment.
*
- * @throws WebServiceException if threshold is < 0
+ * @throws WebServiceException if threshold is {@literal <} 0
*/
public MTOMFeature(int threshold) {
if (threshold < 0)
@@ -110,13 +110,13 @@
}
/**
- * Creates an <code>MTOMFeature</code>.
+ * Creates a {@code MTOMFeature}.
*
* @param enabled specifies if this feature should be enabled or not
* @param threshold the size in bytes that binary data SHOULD be before
* being sent as an attachment.
*
- * @throws WebServiceException if threshold is < 0
+ * @throws WebServiceException if threshold is {@literal <} 0
*/
public MTOMFeature(boolean enabled, int threshold) {
if (threshold < 0)
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/soap/SOAPBinding.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/soap/SOAPBinding.java Mon Apr 27 09:17:39 2015 -0700
@@ -31,7 +31,7 @@
import javax.xml.soap.SOAPFactory;
import javax.xml.soap.MessageFactory;
-/** The <code>SOAPBinding</code> interface is an abstraction for
+/** The {@code SOAPBinding} interface is an abstraction for
* the SOAP binding.
*
* @since 1.6, JAX-WS 2.0
@@ -63,7 +63,7 @@
/** Gets the roles played by the SOAP binding instance.
*
- * @return Set<String> The set of roles played by the binding instance.
+ * @return {@code Set<String>} The set of roles played by the binding instance.
**/
public Set<String> getRoles();
@@ -76,9 +76,9 @@
public void setRoles(Set<String> roles);
/**
- * Returns <code>true</code> if the use of MTOM is enabled.
+ * Returns {@code true} if the use of MTOM is enabled.
*
- * @return <code>true</code> if and only if the use of MTOM is enabled.
+ * @return {@code true} if and only if the use of MTOM is enabled.
**/
public boolean isMTOMEnabled();
@@ -86,7 +86,7 @@
/**
* Enables or disables use of MTOM.
*
- * @param flag A <code>boolean</code> specifying whether the use of MTOM should
+ * @param flag A {@code boolean} specifying whether the use of MTOM should
* be enabled or disabled.
* @throws WebServiceException If the specified setting is not supported
* by this binding instance.
@@ -95,14 +95,14 @@
public void setMTOMEnabled(boolean flag);
/**
- * Gets the SAAJ <code>SOAPFactory</code> instance used by this SOAP binding.
+ * Gets the SAAJ {@code SOAPFactory} instance used by this SOAP binding.
*
* @return SOAPFactory instance used by this SOAP binding.
**/
public SOAPFactory getSOAPFactory();
/**
- * Gets the SAAJ <code>MessageFactory</code> instance used by this SOAP binding.
+ * Gets the SAAJ {@code MessageFactory} instance used by this SOAP binding.
*
* @return MessageFactory instance used by this SOAP binding.
**/
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/spi/Provider.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/spi/Provider.java Mon Apr 27 09:17:39 2015 -0700
@@ -37,9 +37,8 @@
import org.w3c.dom.Element;
/**
- * Service provider for <code>ServiceDelegate</code> and
- * <code>Endpoint</code> objects.
- * <p>
+ * Service provider for {@code ServiceDelegate} and
+ * {@code Endpoint} objects.
*
* @since 1.6, JAX-WS 2.0
*/
@@ -47,14 +46,14 @@
/**
* A constant representing the property used to lookup the
- * name of a <code>Provider</code> implementation
+ * name of a {@code Provider} implementation
* class.
*/
static public final String JAXWSPROVIDER_PROPERTY = "javax.xml.ws.spi.Provider";
/**
* A constant representing the name of the default
- * <code>Provider</code> implementation class.
+ * {@code Provider} implementation class.
**/
// Using two strings so that package renaming doesn't change it
static final String DEFAULT_JAXWSPROVIDER
@@ -72,22 +71,21 @@
* <p>
* The algorithm used to locate the provider subclass to use consists
* of the following steps:
- * <p>
* <ul>
* <li>
* If a resource with the name of
- * <code>META-INF/services/javax.xml.ws.spi.Provider</code>
+ * {@code META-INF/services/javax.xml.ws.spi.Provider}
* exists, then its first line, if present, is used as the UTF-8 encoded
* name of the implementation class.
* </li>
* <li>
* If the $java.home/lib/jaxws.properties file exists and it is readable by
- * the <code>java.util.Properties.load(InputStream)</code> method and it contains
- * an entry whose key is <code>javax.xml.ws.spi.Provider</code>, then the value of
+ * the {@code java.util.Properties.load(InputStream)} method and it contains
+ * an entry whose key is {@code javax.xml.ws.spi.Provider}, then the value of
* that entry is used as the name of the implementation class.
* </li>
* <li>
- * If a system property with the name <code>javax.xml.ws.spi.Provider</code>
+ * If a system property with the name {@code javax.xml.ws.spi.Provider}
* is defined, then its value is used as the name of the implementation class.
* </li>
* <li>
@@ -136,12 +134,12 @@
/**
* Creates a service delegate object.
- * <p>
+ *
* @param wsdlDocumentLocation A URL pointing to the WSDL document
- * for the service, or <code>null</code> if there isn't one.
+ * for the service, or {@code null} if there isn't one.
* @param serviceName The qualified name of the service.
* @param serviceClass The service class, which MUST be either
- * <code>javax.xml.ws.Service</code> or a subclass thereof.
+ * {@code javax.xml.ws.Service} or a subclass thereof.
* @return The newly created service delegate.
*/
public abstract ServiceDelegate createServiceDelegate(
@@ -150,12 +148,12 @@
/**
* Creates a service delegate object.
- * <p>
+ *
* @param wsdlDocumentLocation A URL pointing to the WSDL document
- * for the service, or <code>null</code> if there isn't one.
+ * for the service, or {@code null} if there isn't one.
* @param serviceName The qualified name of the service.
* @param serviceClass The service class, which MUST be either
- * <code>javax.xml.ws.Service</code> or a subclass thereof.
+ * {@code javax.xml.ws.Service} or a subclass thereof.
* @param features Web Service features that must be configured on
* the service. If the provider doesn't understand a feature,
* it must throw a WebServiceException.
@@ -205,18 +203,18 @@
/**
* read an EndpointReference from the infoset contained in
- * <code>eprInfoset</code>.
+ * {@code eprInfoset}.
*
* @param eprInfoset infoset for EndpointReference
*
- * @return the <code>EndpointReference</code> unmarshalled from
- * <code>eprInfoset</code>. This method never returns <code>null</code>.
+ * @return the {@code EndpointReference} unmarshalled from
+ * {@code eprInfoset}. This method never returns {@code null}.
*
* @throws WebServiceException If there is an error creating the
- * <code>EndpointReference</code> from the specified <code>eprInfoset</code>.
+ * {@code EndpointReference} from the specified {@code eprInfoset}.
*
- * @throws NullPointerException If the <code>null</code>
- * <code>eprInfoset</code> value is given.
+ * @throws NullPointerException If the {@code null}
+ * {@code eprInfoset} value is given.
*
* @since 1.6, JAX-WS 2.1
**/
@@ -226,31 +224,31 @@
/**
* The getPort method returns a proxy. If there
* are any reference parameters in the
- * <code>endpointReference</code>, then those reference
+ * {@code endpointReference}, then those reference
* parameters MUST appear as SOAP headers, indicating them to be
* reference parameters, on all messages sent to the endpoint.
- * The parameter <code>serviceEndpointInterface</code> specifies
+ * The parameter {@code serviceEndpointInterface} specifies
* the service endpoint interface that is supported by the
* returned proxy.
- * The parameter <code>endpointReference</code> specifies the
+ * The parameter {@code endpointReference} specifies the
* endpoint that will be invoked by the returned proxy.
* In the implementation of this method, the JAX-WS
* runtime system takes the responsibility of selecting a protocol
* binding (and a port) and configuring the proxy accordingly from
* the WSDL metadata of the
- * <code>serviceEndpointInterface</code> and the <code>EndpointReference</code>.
+ * {@code serviceEndpointInterface} and the {@code EndpointReference}.
* For this method
* to successfully return a proxy, WSDL metadata MUST be available and the
- * <code>endpointReference</code> MUST contain an implementation understood
- * <code>serviceName</code> metadata.
+ * {@code endpointReference} MUST contain an implementation understood
+ * {@code serviceName} metadata.
*
*
* @param endpointReference the EndpointReference that will
* be invoked by the returned proxy.
* @param serviceEndpointInterface Service endpoint interface
* @param features A list of WebServiceFeatures to configure on the
- * proxy. Supported features not in the <code>features
- * </code> parameter will have their default values.
+ * proxy. Supported features not in the {@code features
+ * } parameter will have their default values.
* @return Object Proxy instance that supports the
* specified service endpoint interface
* @throws WebServiceException
@@ -260,10 +258,10 @@
* <LI>If there is any missing WSDL metadata
* as required by this method}
* <LI>If this
- * <code>endpointReference</code>
+ * {@code endpointReference}
* is illegal
* <LI>If an illegal
- * <code>serviceEndpointInterface</code>
+ * {@code serviceEndpointInterface}
* is specified
* <LI>If a feature is enabled that is not compatible with
* this port or is unsupported.
@@ -278,60 +276,60 @@
WebServiceFeature... features);
/**
- * Factory method to create a <code>W3CEndpointReference</code>.
+ * Factory method to create a {@code W3CEndpointReference}.
*
* <p>
- * This method can be used to create a <code>W3CEndpointReference</code>
- * for any endpoint by specifying the <code>address</code> property along
+ * This method can be used to create a {@code W3CEndpointReference}
+ * for any endpoint by specifying the {@code address} property along
* with any other desired properties. This method
- * can also be used to create a <code>W3CEndpointReference</code> for
+ * can also be used to create a {@code W3CEndpointReference} for
* an endpoint that is published by the same Java EE application.
- * To do so the <code>address</code> property can be provided or this
- * method can automatically determine the <code>address</code> of
+ * To do so the {@code address} property can be provided or this
+ * method can automatically determine the {@code address} of
* an endpoint that is published by the same Java EE application and is
- * identified by the <code>serviceName</code> and
- * <code>portName</code> propeties. If the <code>address</code> is
- * <code>null</code> and the <code>serviceName</code> and
- * <code>portName</code> do not identify an endpoint published by the
+ * identified by the {@code serviceName} and
+ * {@code portName} propeties. If the {@code address} is
+ * {@code null} and the {@code serviceName} and
+ * {@code portName} do not identify an endpoint published by the
* same Java EE application, a
- * <code>javax.lang.IllegalStateException</code> MUST be thrown.
+ * {@code javax.lang.IllegalStateException} MUST be thrown.
*
* @param address Specifies the address of the target endpoint
* @param serviceName Qualified name of the service in the WSDL.
* @param portName Qualified name of the endpoint in the WSDL.
* @param metadata A list of elements that should be added to the
- * <code>W3CEndpointReference</code> instances <code>wsa:metadata</code>
+ * {@code W3CEndpointReference} instances {@code wsa:metadata}
* element.
* @param wsdlDocumentLocation URL for the WSDL document location for
* the service.
* @param referenceParameters Reference parameters to be associated
- * with the returned <code>EndpointReference</code> instance.
+ * with the returned {@code EndpointReference} instance.
*
- * @return the <code>W3CEndpointReference</code> created from
- * <code>serviceName</code>, <code>portName</code>,
- * <code>metadata</code>, <code>wsdlDocumentLocation</code>
- * and <code>referenceParameters</code>. This method
- * never returns <code>null</code>.
+ * @return the {@code W3CEndpointReference} created from
+ * {@code serviceName}, {@code portName},
+ * {@code metadata}, {@code wsdlDocumentLocation}
+ * and {@code referenceParameters}. This method
+ * never returns {@code null}.
*
* @throws java.lang.IllegalStateException
* <ul>
- * <li>If the <code>address</code>, <code>serviceName</code> and
- * <code>portName</code> are all <code>null</code>.
- * <li>If the <code>serviceName</code> service is <code>null</code> and the
- * <code>portName</code> is NOT <code>null</code>.
- * <li>If the <code>address</code> property is <code>null</code> and
- * the <code>serviceName</code> and <code>portName</code> do not
+ * <li>If the {@code address}, {@code serviceName} and
+ * {@code portName} are all {@code null}.
+ * <li>If the {@code serviceName} service is {@code null} and the
+ * {@code portName} is NOT {@code null}.
+ * <li>If the {@code address} property is {@code null} and
+ * the {@code serviceName} and {@code portName} do not
* specify a valid endpoint published by the same Java EE
* application.
- * <li>If the <code>serviceName</code>is NOT <code>null</code>
+ * <li>If the {@code serviceName}is NOT {@code null}
* and is not present in the specified WSDL.
- * <li>If the <code>portName</code> port is not <code>null</code> and it
- * is not present in <code>serviceName</code> service in the WSDL.
- * <li>If the <code>wsdlDocumentLocation</code> is NOT <code>null</code>
+ * <li>If the {@code portName} port is not {@code null} and it
+ * is not present in {@code serviceName} service in the WSDL.
+ * <li>If the {@code wsdlDocumentLocation} is NOT {@code null}
* and does not represent a valid WSDL.
* </ul>
* @throws WebServiceException If an error occurs while creating the
- * <code>W3CEndpointReference</code>.
+ * {@code W3CEndpointReference}.
*
* @since 1.6, JAX-WS 2.1
*/
@@ -340,73 +338,73 @@
/**
- * Factory method to create a <code>W3CEndpointReference</code>.
- * Using this method, a <code>W3CEndpointReference</code> instance
+ * Factory method to create a {@code W3CEndpointReference}.
+ * Using this method, a {@code W3CEndpointReference} instance
* can be created with extension elements, and attributes.
- * <code>Provider</code> implementations must override the default
+ * {@code Provider} implementations must override the default
* implementation.
*
* <p>
- * This method can be used to create a <code>W3CEndpointReference</code>
- * for any endpoint by specifying the <code>address</code> property along
+ * This method can be used to create a {@code W3CEndpointReference}
+ * for any endpoint by specifying the {@code address} property along
* with any other desired properties. This method
- * can also be used to create a <code>W3CEndpointReference</code> for
+ * can also be used to create a {@code W3CEndpointReference} for
* an endpoint that is published by the same Java EE application.
- * To do so the <code>address</code> property can be provided or this
- * method can automatically determine the <code>address</code> of
+ * To do so the {@code address} property can be provided or this
+ * method can automatically determine the {@code address} of
* an endpoint that is published by the same Java EE application and is
- * identified by the <code>serviceName</code> and
- * <code>portName</code> propeties. If the <code>address</code> is
- * <code>null</code> and the <code>serviceName</code> and
- * <code>portName</code> do not identify an endpoint published by the
+ * identified by the {@code serviceName} and
+ * {@code portName} propeties. If the {@code address} is
+ * {@code null} and the {@code serviceName} and
+ * {@code portName} do not identify an endpoint published by the
* same Java EE application, a
- * <code>javax.lang.IllegalStateException</code> MUST be thrown.
+ * {@code javax.lang.IllegalStateException} MUST be thrown.
*
* @param address Specifies the address of the target endpoint
- * @param interfaceName the <code>wsam:InterfaceName</code> element in the
- * <code>wsa:Metadata</code> element.
+ * @param interfaceName the {@code wsam:InterfaceName} element in the
+ * {@code wsa:Metadata} element.
* @param serviceName Qualified name of the service in the WSDL.
* @param portName Qualified name of the endpoint in the WSDL.
* @param metadata A list of elements that should be added to the
- * <code>W3CEndpointReference</code> instances <code>wsa:metadata</code>
+ * {@code W3CEndpointReference} instances {@code wsa:metadata}
* element.
* @param wsdlDocumentLocation URL for the WSDL document location for
* the service.
* @param referenceParameters Reference parameters to be associated
- * with the returned <code>EndpointReference</code> instance.
+ * with the returned {@code EndpointReference} instance.
* @param elements extension elements to be associated
- * with the returned <code>EndpointReference</code> instance.
+ * with the returned {@code EndpointReference} instance.
* @param attributes extension attributes to be associated
- * with the returned <code>EndpointReference</code> instance.
+ * with the returned {@code EndpointReference} instance.
*
- * @return the <code>W3CEndpointReference</code> created from
- * <code>serviceName</code>, <code>portName</code>,
- * <code>metadata</code>, <code>wsdlDocumentLocation</code>
- * and <code>referenceParameters</code>. This method
- * never returns <code>null</code>.
+ * @return the {@code W3CEndpointReference} created from
+ * {@code serviceName}, {@code portName},
+ * {@code metadata}, {@code wsdlDocumentLocation}
+ * and {@code referenceParameters}. This method
+ * never returns {@code null}.
*
* @throws java.lang.IllegalStateException
* <ul>
- * <li>If the <code>address</code>, <code>serviceName</code> and
- * <code>portName</code> are all <code>null</code>.
- * <li>If the <code>serviceName</code> service is <code>null</code> and the
- * <code>portName</code> is NOT <code>null</code>.
- * <li>If the <code>address</code> property is <code>null</code> and
- * the <code>serviceName</code> and <code>portName</code> do not
+ * <li>If the {@code address}, {@code serviceName} and
+ * {@code portName} are all {@code null}.
+ * <li>If the {@code serviceName} service is {@code null} and the
+ * {@code portName} is NOT {@code null}.
+ * <li>If the {@code address} property is {@code null} and
+ * the {@code serviceName} and {@code portName} do not
* specify a valid endpoint published by the same Java EE
* application.
- * <li>If the <code>serviceName</code>is NOT <code>null</code>
+ * <li>If the {@code serviceName}is NOT {@code null}
* and is not present in the specified WSDL.
- * <li>If the <code>portName</code> port is not <code>null</code> and it
- * is not present in <code>serviceName</code> service in the WSDL.
- * <li>If the <code>wsdlDocumentLocation</code> is NOT <code>null</code>
+ * <li>If the {@code portName} port is not {@code null} and it
+ * is not present in {@code serviceName} service in the WSDL.
+ * <li>If the {@code wsdlDocumentLocation} is NOT {@code null}
* and does not represent a valid WSDL.
- * <li>If the <code>wsdlDocumentLocation</code> is NOT <code>null</code> but
+ * <li>If the {@code wsdlDocumentLocation} is NOT {@code null} but
* wsdli:wsdlLocation's namespace name cannot be got from the available
* metadata.
* </ul>
* @throws WebServiceException If an error occurs while creating the
- * <code>W3CEndpointReference</code>.
+ * {@code W3CEndpointReference}.
* @since 1.7, JAX-WS 2.2
*/
public W3CEndpointReference createW3CEndpointReference(String address,
@@ -419,7 +417,7 @@
/**
* Creates and publishes an endpoint object with the specified
* address, implementation object and web service features.
- * <code>Provider</code> implementations must override the
+ * {@code Provider} implementations must override the
* default implementation.
*
* @param address A URI specifying the address and transport/protocol
@@ -431,8 +429,8 @@
* class MUST be annotated with all the necessary Web service
* annotations.
* @param features A list of WebServiceFeatures to configure on the
- * endpoint. Supported features not in the <code>features
- * </code> parameter will have their default values.
+ * endpoint. Supported features not in the {@code features}
+ * parameter will have their default values.
* @return The newly created endpoint.
* @since 1.7, JAX-WS 2.2
*/
@@ -443,7 +441,7 @@
/**
* Creates an endpoint object with the provided binding, implementation
- * object and web service features. <code>Provider</code> implementations
+ * object and web service features. {@code Provider} implementations
* must override the default implementation.
*
* @param bindingId A URI specifying the desired binding (e.g. SOAP/HTTP)
@@ -452,8 +450,8 @@
* class MUST be annotated with all the necessary Web service
* annotations.
* @param features A list of WebServiceFeatures to configure on the
- * endpoint. Supported features not in the <code>features
- * </code> parameter will have their default values.
+ * endpoint. Supported features not in the {@code features}
+ * parameter will have their default values.
* @return The newly created endpoint.
* @since 1.7, JAX-WS 2.2
*/
@@ -465,7 +463,7 @@
/**
* Creates an endpoint object with the provided binding, implementation
* class, invoker and web service features. Containers typically use
- * this to create Endpoint objects. <code>Provider</code>
+ * this to create Endpoint objects. {@code Provider}
* implementations must override the default implementation.
*
* @param bindingId A URI specifying the desired binding (e.g. SOAP/HTTP).
@@ -475,8 +473,8 @@
* annotations.
* @param invoker that does the actual invocation on the service instance.
* @param features A list of WebServiceFeatures to configure on the
- * endpoint. Supported features not in the <code>features
- * </code> parameter will have their default values.
+ * endpoint. Supported features not in the {@code features
+ * } parameter will have their default values.
* @return The newly created endpoint.
* @since 1.7, JAX-WS 2.2
*/
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/spi/WebServiceFeatureAnnotation.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/spi/WebServiceFeatureAnnotation.java Mon Apr 27 09:17:39 2015 -0700
@@ -39,27 +39,26 @@
/**
* Annotation used to identify other annotations
- * as a <code>WebServiceFeature</code>.
+ * as a {@code WebServiceFeature}.
* <p>
- * Each <code>WebServiceFeature</code> annotation annotated with
+ * Each {@code WebServiceFeature} annotation annotated with
* this annotation MUST contain an
- * <code>enabled</code> property of type
- * <code>boolean</code> with a default value of <code>true</code>.
+ * {@code enabled} property of type
+ * {@code boolean} with a default value of {@code true}.
* <p>
* JAX-WS defines the following
- * <code>WebServiceFeature</code> annotations (<code>Addressing</code>,
- * <code>MTOM</code>, <code>RespectBinding</code>), however, an implementation
+ * {@code WebServiceFeature} annotations ({@code Addressing},
+ * {@code MTOM}, {@code RespectBinding}), however, an implementation
* may define vendors specific annotations for other features.
* <p>
- * Annotations annotated with <code>WebServiceFeatureAnnotation</code> MUST
+ * Annotations annotated with {@code WebServiceFeatureAnnotation} MUST
* have the same @Target of {@link WebServiceRef} annotation, so that the resulting
* feature annotation can be used in conjunction with the {@link WebServiceRef}
* annotation if necessary.
* <p>
* If a JAX-WS implementation encounters an annotation annotated
- * with the <code>WebServiceFeatureAnnotation</code> that it does not
+ * with the {@code WebServiceFeatureAnnotation} that it does not
* recognize/support an error MUST be given.
- * <p>
*
* @see Addressing
* @see MTOM
@@ -79,8 +78,8 @@
String id();
/**
- * The <code>WebServiceFeature</code> bean that is associated
- * with the <code>WebServiceFeature</code> annotation
+ * The {@code WebServiceFeature} bean that is associated
+ * with the {@code WebServiceFeature} annotation
*/
Class<? extends WebServiceFeature> bean();
}
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/spi/http/package-info.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/spi/http/package-info.java Mon Apr 27 09:17:39 2015 -0700
@@ -47,7 +47,7 @@
object encapsulates a HTTP request and a response.
</ol>
- <pre>
+ <pre>{@literal
Container JAX-WS runtime
--------- --------------
1. Creates Invoker1, ... InvokerN
@@ -64,10 +64,10 @@
10. EndpointN.publish(HttpContextN) --> 11. creates HttpHandlerN
HttpContextN.setHandler(HttpHandlerN)
- </pre>
+ }</pre>
The request processing is done as below(for every request):
- <pre>
+ <pre>{@literal
Container JAX-WS runtime
--------- --------------
1. Creates a HttpExchange
@@ -76,14 +76,14 @@
<-- 5. Calls Invoker
6. Invokes the actual instance
7. Writes the response to HttpExchange
- </pre>
+ }</pre>
<p>
The portable undeployment is done as below:
<pre>
Container
---------
- 1. @preDestroy on instances
+ 1. {@literal @}preDestroy on instances
2. Endpoint1.stop()
...
3. EndpointN.stop()
--- a/jaxws/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPConstants.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jaxws/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/wsdl/document/soap/SOAPConstants.java Mon Apr 27 09:17:39 2015 -0700
@@ -25,8 +25,6 @@
package com.sun.tools.internal.ws.wsdl.document.soap;
-import com.sun.xml.internal.ws.encoding.soap.streaming.SOAPNamespaceConstants;
-
import javax.xml.namespace.QName;
/**
@@ -37,7 +35,9 @@
public interface SOAPConstants {
// namespace URIs
- public static final String URI_ENVELOPE = SOAPNamespaceConstants.ENVELOPE;
+ public static final String URI_ENVELOPE =
+ "http://schemas.xmlsoap.org/soap/envelope/";
+
public static final String NS_WSDL_SOAP =
"http://schemas.xmlsoap.org/wsdl/soap/";
public static final String NS_SOAP_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
--- a/jdk/.hgtags Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/.hgtags Mon Apr 27 09:17:39 2015 -0700
@@ -302,3 +302,5 @@
c76339e86ea7da5d9ac7856f3fae9ef73eef04a2 jdk9-b57
36fc65e80d811ee43aedfc69284224b86a403662 jdk9-b58
48ee960f29df93a9b2a895621321358a86909086 jdk9-b59
+84c5527f742bc64562e47d3149c16197fe1c4c1a jdk9-b60
+da84dcac1b0b12c5b836b05ac75ecbfadee0cd32 jdk9-b61
--- a/jdk/make/CompileDemos.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/CompileDemos.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -45,7 +45,7 @@
DEMO_CLOSED_SHARE_SRC := $(JDK_TOPDIR)/src/closed/demo/share
DEMO_SOLARIS_SRC := $(JDK_TOPDIR)/src/demo/solaris
DEMO_OS_TYPE_SRC := $(JDK_TOPDIR)/src/demo/$(OPENJDK_TARGET_OS_TYPE)
-VERSION_INFO_RESOURCE := $(JDK_TOPDIR)/src/java.base/windows/native/common/version.rc
+GLOBAL_VERSION_INFO_RESOURCE := $(JDK_TOPDIR)/src/java.base/windows/native/common/version.rc
##################################################################################################
@@ -230,11 +230,8 @@
$$(wildcard $$(patsubst %, $(DEMO_SHARE_SRC)/jvmti/%/README.txt, $2)) \
$$(wildcard $$(patsubst %, $(DEMO_SHARE_SRC)/jvmti/%/sample.makefile.txt, $2))
BUILD_DEMO_JVMTI_$1_EXTRA_INC := $$(addprefix -I, $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC))
- BUILD_DEMO_JVMTI_$1_LANG := C
- ifneq (, $4)
- BUILD_DEMO_JVMTI_$1_LANG := $4
- endif
ifeq (C++, $4)
+ BUILD_DEMO_JVMTI_$1_TOOLCHAIN := TOOLCHAIN_LINK_CXX
$1_EXTRA_CXX := $(LDFLAGS_CXX_JDK) $(LIBCXX)
endif
@@ -254,7 +251,7 @@
# Remove the -incremental:no setting to get .ilk-files like in the old build.
$$(eval $$(call SetupNativeCompilation,BUILD_DEMO_JVMTI_$1, \
SRC := $(DEMO_SHARE_SRC)/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC), \
- LANG := $$(BUILD_DEMO_JVMTI_$1_LANG), \
+ TOOLCHAIN := $$(BUILD_DEMO_JVMTI_$1_TOOLCHAIN), \
OPTIMIZATION := LOW, \
CXXFLAGS := $$($1_CXXFLAGS), \
DISABLED_WARNINGS_gcc := $(10), \
@@ -267,7 +264,7 @@
LDFLAGS_SUFFIX_windows := $6, \
LDFLAGS_SUFFIX_solaris := $7 -lc, \
LDFLAGS_SUFFIX_linux := $8, \
- VERSIONINFO_RESOURCE := $(VERSION_INFO_RESOURCE), \
+ VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
RC_FLAGS := $$(RC_FLAGS) \
-D "JDK_FNAME=$1.dll" \
-D "JDK_INTERNAL_NAME=$1" \
@@ -398,7 +395,6 @@
$(eval $(call SetupNativeCompilation,BUILD_LIBPOLLER, \
SRC := $(DEMO_SOLARIS_SRC)/jni/Poller, \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(SHARED_LIBRARY_FLAGS) \
-I$(SUPPORT_OUTPUTDIR)/demo/classes/jni/Poller, \
--- a/jdk/make/Tools.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/Tools.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -163,9 +163,7 @@
ifeq ($(OPENJDK_TARGET_OS), solaris)
$(eval $(call SetupNativeCompilation,ADD_GNU_DEBUGLINK, \
SRC := $(JDK_TOPDIR)/make/src/native/add_gnu_debuglink, \
- LANG := C, \
- CC := $(BUILD_CC), \
- LDEXE := $(BUILD_LD), \
+ TOOLCHAIN := TOOLCHAIN_BUILD, \
LDFLAGS := -lelf, \
OBJECT_DIR := $(BUILDTOOLS_OUTPUTDIR)/objs/add_gnu_debuglink, \
OUTPUT_DIR := $(BUILDTOOLS_OUTPUTDIR)/bin, \
@@ -173,9 +171,7 @@
$(eval $(call SetupNativeCompilation,FIX_EMPTY_SEC_HDR_FLAGS, \
SRC := $(JDK_TOPDIR)/make/src/native/fix_empty_sec_hdr_flags, \
- LANG := C, \
- CC := $(BUILD_CC), \
- LDEXE := $(BUILD_LD), \
+ TOOLCHAIN := TOOLCHAIN_BUILD, \
LDFLAGS := -lelf, \
OBJECT_DIR := $(BUILDTOOLS_OUTPUTDIR)/objs/fix_empty_sec_hdr_flags, \
OUTPUT_DIR := $(BUILDTOOLS_OUTPUTDIR)/bin, \
--- a/jdk/make/gensrc/GensrcMisc.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/gensrc/GensrcMisc.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -63,9 +63,7 @@
$(eval $(call SetupNativeCompilation,BUILD_GENSRC_SOR_EXE, \
SRC := $(GENSRC_SOR_SRC), \
INCLUDE_FILES := $(GENSRC_SOR_SRC_FILE), \
- LANG := C, \
- CC := $(BUILD_CC), \
- LDEXE := $(BUILD_LD), \
+ TOOLCHAIN := TOOLCHAIN_BUILD, \
OBJECT_DIR := $(GENSRC_SOR_BIN), \
OUTPUT_DIR := $(GENSRC_SOR_BIN), \
PROGRAM := genSocketOptionRegistry))
@@ -101,9 +99,7 @@
$(eval $(call SetupNativeCompilation,BUILD_GENSRC_UC_EXE, \
SRC := $(GENSRC_UC_SRC), \
INCLUDE_FILES := $(GENSRC_UC_SRC_FILE), \
- LANG := C, \
- CC := $(BUILD_CC), \
- LDEXE := $(BUILD_CC), \
+ TOOLCHAIN := TOOLCHAIN_BUILD, \
CFLAGS := $(filter -D%, $(CFLAGS_JDKEXE)), \
OBJECT_DIR := $(GENSRC_UC_BIN), \
OUTPUT_DIR := $(GENSRC_UC_BIN), \
@@ -142,9 +138,7 @@
$(eval $(call SetupNativeCompilation,BUILD_GENSRC_SOL_EXE, \
SRC := $(GENSRC_SOL_SRC), \
INCLUDE_FILES := $(GENSRC_SOL_SRC_FILE), \
- LANG := C, \
- CC := $(BUILD_CC), \
- LDEXE := $(BUILD_CC), \
+ TOOLCHAIN := TOOLCHAIN_BUILD, \
OBJECT_DIR := $(GENSRC_SOL_BIN), \
OUTPUT_DIR := $(GENSRC_SOL_BIN), \
PROGRAM := genSolarisConstants))
--- a/jdk/make/launcher/Launcher-java.base.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/launcher/Launcher-java.base.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -103,7 +103,6 @@
$(eval $(call SetupNativeCompilation,BUILD_JEXEC, \
SRC := $(BUILD_JEXEC_SRC), \
INCLUDE_FILES := jexec.c, \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKEXE) \
$(BUILD_JEXEC_INC), \
@@ -144,7 +143,6 @@
$(eval $(call SetupNativeCompilation,BUILD_JSPAWNHELPER, \
SRC := $(BUILD_JSPAWNHELPER_SRC), \
INCLUDE_FILES := jspawnhelper.c, \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKEXE) $(JSPAWNHELPER_CFLAGS), \
LDFLAGS := $(LDFLAGS_JDKEXE) $(LINK_JSPAWNHELPER_FLAGS), \
--- a/jdk/make/launcher/Launcher-jdk.accessibility.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/launcher/Launcher-jdk.accessibility.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -36,7 +36,6 @@
$(eval $(call SetupNativeCompilation,BUILD_JABSWITCH, \
SRC := $(JABSWITCH_SRC), \
INCLUDE_FILES := jabswitch.cpp, \
- LANG := C++, \
CFLAGS := $(filter-out -Zc:wchar_t-, $(CFLAGS_JDKEXE)) -Zc:wchar_t \
-analyze- -Od -Gd -D_WINDOWS \
-D_UNICODE -DUNICODE -RTC1 -EHsc, \
@@ -52,7 +51,9 @@
-D "JDK_FNAME=jabswitch.exe" \
-D "JDK_INTERNAL_NAME=jabswitch" \
-D "JDK_FTYPE=0x01L", \
- MANIFEST := $(JABSWITCH_SRC)/jabswitch.manifest))
+ MANIFEST := $(JABSWITCH_SRC)/jabswitch.manifest, \
+ MANIFEST_VERSION := $(JDK_VERSION_FOR_MANIFEST), \
+ ))
TARGETS += $(BUILD_JABSWITCH)
endif
--- a/jdk/make/launcher/Launcher-jdk.pack200.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/launcher/Launcher-jdk.pack200.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -56,9 +56,8 @@
endif
-UNPACKEXE_LANG := C
ifeq ($(OPENJDK_TARGET_OS), solaris)
- UNPACKEXE_LANG := C++
+ UNPACKEXE_TOOLCHAIN := TOOLCHAIN_LINK_CXX
endif
UNPACK_MAPFILE_DIR := $(JDK_TOPDIR)/make/mapfiles/libunpack
@@ -78,7 +77,7 @@
$(eval $(call SetupNativeCompilation,BUILD_UNPACKEXE, \
SRC := $(UNPACKEXE_SRC), \
- LANG := $(UNPACKEXE_LANG), \
+ TOOLCHAIN := $(UNPACKEXE_TOOLCHAIN), \
OPTIMIZATION := LOW, \
CFLAGS := $(UNPACKEXE_CFLAGS) $(CXXFLAGS_JDKEXE) -DFULL, \
CFLAGS_release := -DPRODUCT, \
@@ -102,7 +101,9 @@
-D "JDK_INTERNAL_NAME=unpack200" \
-D "JDK_FTYPE=0x1L", \
DEBUG_SYMBOLS := true, \
- MANIFEST := $(JDK_TOPDIR)/src/jdk.pack200/windows/native/unpack200/unpack200_proto.exe.manifest))
+ MANIFEST := $(JDK_TOPDIR)/src/jdk.pack200/windows/native/unpack200/unpack200_proto.exe.manifest, \
+ MANIFEST_VERSION := $(JDK_VERSION_FOR_MANIFEST), \
+))
ifneq ($(USE_EXTERNAL_LIBZ), true)
--- a/jdk/make/launcher/LauncherCommon.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/launcher/LauncherCommon.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -161,7 +161,6 @@
$(call SetupNativeCompilation,BUILD_LAUNCHER_$1, \
SRC := $(LAUNCHER_SRC), \
INCLUDE_FILES := main.c, \
- LANG := C, \
OPTIMIZATION := $$($1_OPTIMIZATION_ARG), \
CFLAGS := $$($1_CFLAGS) \
$(LAUNCHER_CFLAGS) \
@@ -199,7 +198,9 @@
-D "JDK_FTYPE=0x1L" \
$7, \
MANIFEST := $(JAVA_MANIFEST), \
- CODESIGN := $$($1_CODESIGN))
+ MANIFEST_VERSION := $(JDK_VERSION_FOR_MANIFEST), \
+ CODESIGN := $$($1_CODESIGN), \
+ )
TARGETS += $$(BUILD_LAUNCHER_$1)
--- a/jdk/make/lib/Awt2dLibraries.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Awt2dLibraries.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -51,7 +51,6 @@
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(BUILD_LIBMLIB_SRC), \
EXCLUDE_FILES := mlib_c_ImageBlendTable.c, \
- LANG := C, \
OPTIMIZATION := HIGHEST, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(BUILD_LIBMLIB_CFLAGS), \
@@ -124,7 +123,6 @@
LIBRARY := mlib_image_v, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBMLIB_IMAGE_V_SRC), \
- LANG := C, \
EXCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_EXFILES), \
OPTIMIZATION := HIGHEST, \
CFLAGS := -xarch=sparcvis \
@@ -204,8 +202,6 @@
LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
endif
-LIBAWT_LANG := C
-
ifeq ($(OPENJDK_TARGET_OS), windows)
LIBAWT_DIRS += $(JDK_TOPDIR)/src/java.desktop/share/native/common/font \
$(JDK_TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \
@@ -222,7 +218,6 @@
awt/image/cvutils/img_colors.c \
#
- LIBAWT_LANG := C++
LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
LIBAWT_CFLAGS += -DMLIB_OS64BIT
@@ -247,7 +242,6 @@
SRC := $(LIBAWT_DIRS), \
EXCLUDES := $(LIBAWT_EXCLUDES), \
EXCLUDE_FILES := $(LIBAWT_EXFILES), \
- LANG := $(LIBAWT_LANG), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
@@ -355,7 +349,6 @@
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBAWT_XAWT_DIRS), \
EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
$(X_CFLAGS), \
@@ -413,7 +406,6 @@
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBLCMS_SRC), \
INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
- LANG := C, \
OPTIMIZATION := HIGHEST, \
CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \
$(SHARED_LIBRARY_FLAGS) $(LIBLCMS_CPPFLAGS) \
@@ -496,7 +488,6 @@
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJAVAJPEG_SRC), \
INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
- LANG := C, \
OPTIMIZATION := HIGHEST, \
CFLAGS := $(CFLAGS_JDKLIB) $(addprefix -I, $(LIBJAVAJPEG_SRC)) \
$(LIBJAVA_HEADER_FLAGS) \
@@ -564,7 +555,6 @@
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBAWT_HEADLESS_DIRS), \
EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
-DHEADLESS=true \
@@ -651,7 +641,7 @@
SRC := $(LIBFONTMANAGER_SRC), \
EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
AccelGlyphCache.c, \
- LANG := C++, \
+ TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
@@ -712,7 +702,6 @@
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJAWT_SRC), \
INCLUDE_FILES := $(LIBJAWT_INCLUDE_FILES), \
- LANG := C++, \
OPTIMIZATION := LOW, \
CFLAGS := $(CXXFLAGS_JDKLIB) \
-EHsc -DUNICODE -D_UNICODE \
@@ -771,7 +760,6 @@
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJAWT_SRC), \
INCLUDE_FILES := $(JAWT_FILES), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBJAWT_CFLAGS), \
@@ -889,7 +877,6 @@
SRC := $(LIBSPLASHSCREEN_DIRS), \
EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
$(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS), \
@@ -958,7 +945,6 @@
LIBRARY := awt_lwawt, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBAWT_LWAWT_DIRS), \
- LANG := C, \
INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \
EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \
@@ -1008,7 +994,6 @@
LIBRARY := osxui, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(JDK_TOPDIR)/src/java.desktop/macosx/native/libosxui, \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
-I$(JDK_TOPDIR)/src/java.desktop/macosx/native/libosxui \
--- a/jdk/make/lib/CoreLibraries.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/CoreLibraries.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -43,7 +43,6 @@
STATIC_LIBRARY := fdlibm, \
OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE), \
SRC := $(LIBFDLIBM_SRC), \
- LANG := C, \
OPTIMIZATION := $(BUILD_LIBFDLIBM_OPTIMIZATION), \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
CFLAGS_windows_debug := -DLOGGING, \
@@ -62,7 +61,6 @@
LIBRARY := fdlibm, \
OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
SRC := $(LIBFDLIBM_SRC), \
- LANG := C, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBFDLIBM_CFLAGS), \
LDFLAGS := -nostdlib -r -arch x86_64, \
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \
@@ -93,7 +91,6 @@
LIBRARY := verify, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(JDK_TOPDIR)/src/java.base/share/native/libverify, \
- LANG := C, \
OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \
CFLAGS := $(CFLAGS_JDKLIB), \
DISABLED_WARNINGS_microsoft := 4244 4267, \
@@ -146,7 +143,6 @@
LIBRARY := java, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJAVA_SRC_DIRS), \
- LANG := C, \
OPTIMIZATION := HIGH, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBJAVA_CFLAGS), \
@@ -206,7 +202,6 @@
$(eval $(call SetupNativeCompilation,BUILD_LIBZIP, \
LIBRARY := zip, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
- LANG := C, \
OPTIMIZATION := LOW, \
SRC := $(JDK_TOPDIR)/src/java.base/share/native/libzip, \
EXCLUDES := $(LIBZIP_EXCLUDES), \
@@ -314,7 +309,6 @@
SRC := $(LIBJLI_SRC_DIRS), \
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
- LANG := C, \
OPTIMIZATION := HIGH, \
CFLAGS := $(LIBJLI_CFLAGS), \
DISABLED_WARNINGS_solstudio := E_ASM_DISABLES_OPTIMIZATION, \
@@ -363,7 +357,6 @@
SRC := $(LIBJLI_SRC_DIRS), \
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
- LANG := C, \
OPTIMIZATION := HIGH, \
CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS), \
ARFLAGS := $(ARFLAGS), \
@@ -383,7 +376,6 @@
SRC := $(LIBJLI_SRC_DIRS), \
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
- LANG := C, \
OPTIMIZATION := HIGH, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
LDFLAGS := -nostdlib -r, \
@@ -403,7 +395,6 @@
SRC := $(LIBJLI_SRC_DIRS), \
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
- LANG := C, \
OPTIMIZATION := HIGH, \
CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS), \
ARFLAGS := $(ARFLAGS), \
--- a/jdk/make/lib/Lib-java.instrument.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-java.instrument.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -57,7 +57,6 @@
LIBRARY := instrument, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBINSTRUMENT_SRC), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(LIBINSTRUMENT_CFLAGS) $(CFLAGS_WARNINGS_ARE_ERRORS), \
CFLAGS_debug := -DJPLIS_LOGGING, \
--- a/jdk/make/lib/Lib-java.management.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-java.management.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -72,7 +72,6 @@
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(BUILD_LIBMANAGEMENT_SRC), \
EXCLUDE_FILES := $(BUILD_LIBMANAGEMENT_EXCLUDES), \
- LANG := C, \
OPTIMIZATION := $(LIBMANAGEMENT_OPTIMIZATION), \
CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) $(BUILD_LIBMANAGEMENT_CFLAGS), \
MAPFILE := $(LIBMANAGEMENT_MAPFILE), \
--- a/jdk/make/lib/Lib-java.prefs.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-java.prefs.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -37,7 +37,6 @@
LIBRARY := prefs, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBPREF_SRC_DIRS), \
- LANG := C, \
OPTIMIZATION := HIGH, \
CFLAGS := $(CFLAGS_JDKLIB) $(addprefix -I, $(LIBPREF_SRC_DIRS)) \
$(LIBJAVA_HEADER_FLAGS), \
--- a/jdk/make/lib/Lib-java.security.jgss.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-java.security.jgss.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -36,7 +36,6 @@
LIBRARY := j2gss, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJ2GSS_SRC), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(addprefix -I, $(LIBJ2GSS_SRC)) \
$(LIBJAVA_HEADER_FLAGS) \
@@ -79,7 +78,6 @@
LIBRARY := $(BUILD_LIBKRB5_NAME), \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(BUILD_LIBKRB5_SRC), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(addprefix -I, $(BUILD_LIBKRB5_SRC)) \
--- a/jdk/make/lib/Lib-java.smartcardio.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-java.smartcardio.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -37,7 +37,6 @@
LIBRARY := j2pcsc, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJ2PCSC_SRC), \
- LANG := C, \
CFLAGS_unix := -D__sun_jdk, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJ2PCSC_CPPFLAGS), \
--- a/jdk/make/lib/Lib-jdk.accessibility.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-jdk.accessibility.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -45,7 +45,6 @@
LIBRARY = javaaccessbridge$1, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(JAVA_AB_SRCDIR), \
- LANG := C++, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(ACCESSBRIDGE_CFLAGS) \
$(addprefix -I,$(JAVA_AB_SRCDIR)) \
@@ -76,7 +75,6 @@
LIBRARY = windowsaccessbridge$1, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(WIN_AB_SRCDIR), \
- LANG := C++, \
OPTIMIZATION := LOW, \
CFLAGS := $(filter-out -MD, $(CFLAGS_JDKLIB)) -MT $(ACCESSBRIDGE_CFLAGS) \
$(addprefix -I,$(WIN_AB_SRCDIR)) \
@@ -105,7 +103,6 @@
LIBRARY = jabsysinfo, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(SYSINFO_SRCDIR), \
- LANG := C++, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(ACCESSBRIDGE_CFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
--- a/jdk/make/lib/Lib-jdk.attach.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-jdk.attach.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -32,7 +32,6 @@
LIBRARY := attach, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(call FindSrcDirsForLib, jdk.attach, attach), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) \
-I$(SUPPORT_OUTPUTDIR)/headers/jdk.attach \
--- a/jdk/make/lib/Lib-jdk.crypto.ec.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-jdk.crypto.ec.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -47,7 +47,7 @@
LIBRARY := sunec, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBSUNEC_SRC), \
- LANG := C++, \
+ TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
OPTIMIZATION := LOW, \
CFLAGS := $(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB)) \
$(BUILD_LIBSUNEC_FLAGS) \
--- a/jdk/make/lib/Lib-jdk.crypto.mscapi.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-jdk.crypto.mscapi.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -35,7 +35,6 @@
LIBRARY := sunmscapi, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBSUNMSCAPI_SRC), \
- LANG := C++, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
-I$(LIBSUNMSCAPI_SRC), \
--- a/jdk/make/lib/Lib-jdk.crypto.pkcs11.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-jdk.crypto.pkcs11.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -34,7 +34,6 @@
LIBRARY := j2pkcs11, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJ2PKCS11_SRC), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(addprefix -I, $(LIBJ2PKCS11_SRC)) \
$(LIBJAVA_HEADER_FLAGS) \
--- a/jdk/make/lib/Lib-jdk.crypto.ucrypto.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-jdk.crypto.ucrypto.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -35,7 +35,6 @@
LIBRARY := j2ucrypto, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJ2UCRYPTO_SRC), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(addprefix -I, $(LIBJ2UCRYPTO_SRC)), \
--- a/jdk/make/lib/Lib-jdk.deploy.osx.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-jdk.deploy.osx.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -35,7 +35,6 @@
LIBRARY := AppleScriptEngine, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBAPPLESCRIPTENGINE_SRC), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
-I$(LIBAPPLESCRIPTENGINE_SRC) \
@@ -68,7 +67,6 @@
LIBRARY := osx, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBOSX_DIRS), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBOSX_CFLAGS), \
--- a/jdk/make/lib/Lib-jdk.hprof.agent.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-jdk.hprof.agent.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -45,7 +45,6 @@
LIBRARY := hprof, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(BUILD_LIBHPROF_SRC), \
- LANG := C, \
OPTIMIZATION := $(LIBHPROF_OPTIMIZATION), \
CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) \
$(BUILD_LIBHPROF_CFLAGS), \
@@ -75,7 +74,6 @@
LIBRARY := java_crw_demo, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJAVA_CRW_DEMO_SRC), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) \
$(addprefix -I, $(LIBJAVA_CRW_DEMO_SRC)), \
--- a/jdk/make/lib/Lib-jdk.jdi.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-jdk.jdi.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -43,7 +43,6 @@
LIBRARY := dt_shmem, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBDT_SHMEM_SRC), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) -DUSE_MMAP \
$(LIBDT_SHMEM_CPPFLAGS), \
--- a/jdk/make/lib/Lib-jdk.jdwp.agent.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-jdk.jdwp.agent.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -40,7 +40,6 @@
LIBRARY := dt_socket, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBDT_SOCKET_SRC), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_CFLAGS_WARNINGS_ARE_ERRORS) -DUSE_MMAP \
$(LIBDT_SOCKET_CPPFLAGS), \
@@ -77,7 +76,6 @@
LIBRARY := jdwp, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJDWP_SRC), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) -DJDWP_LOGGING \
$(LIBJDWP_CPPFLAGS) \
--- a/jdk/make/lib/Lib-jdk.pack200.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-jdk.pack200.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -32,7 +32,7 @@
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(JDK_TOPDIR)/src/jdk.pack200/share/native/libunpack \
$(JDK_TOPDIR)/src/jdk.pack200/share/native/common-unpack, \
- LANG := C++, \
+ TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
OPTIMIZATION := LOW, \
CFLAGS := $(CXXFLAGS_JDKLIB) \
-DNO_ZLIB -DUNPACK_JNI -DFULL \
--- a/jdk/make/lib/Lib-jdk.sctp.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-jdk.sctp.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -41,7 +41,6 @@
LIBRARY := sctp, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(JDK_TOPDIR)/src/jdk.sctp/$(OPENJDK_TARGET_OS_TYPE)/native/libsctp, \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
-I $(JDK_TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libnio/ch \
--- a/jdk/make/lib/Lib-jdk.security.auth.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/Lib-jdk.security.auth.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -42,7 +42,6 @@
LIBRARY := $(LIBJAAS_NAME), \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(call FindSrcDirsForLib, jdk.security.auth, jaas), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) -I$(SUPPORT_OUTPUTDIR)/headers/jdk.security.auth, \
MAPFILE := $(LIBJAAS_MAPFILE), \
--- a/jdk/make/lib/NetworkingLibraries.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/NetworkingLibraries.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -29,7 +29,6 @@
LIBRARY := net, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBNET_SRC_DIRS), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) -I$(SUPPORT_OUTPUTDIR)/headers/java.base \
$(LIBJAVA_HEADER_FLAGS) $(addprefix -I, $(LIBNET_SRC_DIRS)), \
--- a/jdk/make/lib/NioLibraries.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/NioLibraries.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -65,7 +65,6 @@
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(BUILD_LIBNIO_SRC), \
EXCLUDE_FILES := $(BUILD_LIBNIO_EXFILES), \
- LANG := C, \
OPTIMIZATION := HIGH, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(BUILD_LIBNIO_CFLAGS), \
--- a/jdk/make/lib/PlatformLibraries.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/PlatformLibraries.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -33,7 +33,6 @@
LIBRARY := osxapp, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBOSXAPP_SRC), \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(addprefix -I, $(LIBOSXAPP_SRC)) \
--- a/jdk/make/lib/SoundLibraries.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/lib/SoundLibraries.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -35,8 +35,6 @@
LIBJSOUND_SRC_FILES := Utilities.c Platform.c
-LIBJSOUND_LANG := C
-
EXTRA_SOUND_JNI_LIBS :=
LIBJSOUND_MIDIFILES := \
@@ -81,7 +79,7 @@
endif # OPENJDK_TARGET_OS aix
ifeq ($(OPENJDK_TARGET_OS), macosx)
- LIBJSOUND_LANG := C++
+ LIBJSOUND_TOOLCHAIN := TOOLCHAIN_LINK_CXX
LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
-DUSE_PORTS=TRUE \
-DUSE_DAUDIO=TRUE \
@@ -124,7 +122,7 @@
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJSOUND_SRC_DIRS), \
INCLUDE_FILES := $(LIBJSOUND_SRC_FILES), \
- LANG := $(LIBJSOUND_LANG), \
+ TOOLCHAIN := $(LIBJSOUND_TOOLCHAIN), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBJSOUND_CFLAGS), \
@@ -169,7 +167,6 @@
PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
PLATFORM_API_LinuxOS_ALSA_Ports.c, \
- LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(ALSA_CFLAGS) \
$(LIBJSOUND_CFLAGS) \
@@ -201,7 +198,6 @@
SRC := $(LIBJSOUND_SRC_DIRS), \
INCLUDE_FILES := Utilities.c $(LIBJSOUND_DAUDIOFILES) \
PLATFORM_API_WinOS_DirectSound.cpp, \
- LANG := C++, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBJSOUND_CFLAGS) \
--- a/jdk/make/src/classes/build/tools/module/ext.modules Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/make/src/classes/build/tools/module/ext.modules Mon Apr 27 09:17:39 2015 -0700
@@ -12,4 +12,5 @@
jdk.localedata
jdk.naming.dns
jdk.scripting.nashorn
+jdk.xml.dom
jdk.zipfs
--- a/jdk/src/java.base/linux/classes/sun/nio/ch/EPollPort.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/linux/classes/sun/nio/ch/EPollPort.java Mon Apr 27 09:17:39 2015 -0700
@@ -105,7 +105,7 @@
// create the queue and offer the special event to ensure that the first
// threads polls
- this.queue = new ArrayBlockingQueue<Event>(MAX_EPOLL_EVENTS);
+ this.queue = new ArrayBlockingQueue<>(MAX_EPOLL_EVENTS);
this.queue.offer(NEED_TO_POLL);
}
--- a/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxNativeDispatcher.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxNativeDispatcher.java Mon Apr 27 09:17:39 2015 -0700
@@ -121,7 +121,7 @@
private static native void init();
static {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
System.loadLibrary("nio");
return null;
--- a/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxWatchService.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxWatchService.java Mon Apr 27 09:17:39 2015 -0700
@@ -190,7 +190,7 @@
this.watcher = watcher;
this.ifd = ifd;
this.socketpair = sp;
- this.wdToKey = new HashMap<Integer,LinuxWatchKey>();
+ this.wdToKey = new HashMap<>();
this.address = unsafe.allocateMemory(BUFFER_SIZE);
}
@@ -457,7 +457,7 @@
private static native int poll(int fd1, int fd2) throws UnixException;
static {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
System.loadLibrary("nio");
return null;
--- a/jdk/src/java.base/linux/classes/sun/nio/fs/MagicFileTypeDetector.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/linux/classes/sun/nio/fs/MagicFileTypeDetector.java Mon Apr 27 09:17:39 2015 -0700
@@ -68,7 +68,7 @@
private static native byte[] probe0(long pathAddress);
static {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public Void run() {
System.loadLibrary("nio");
--- a/jdk/src/java.base/share/classes/com/sun/crypto/provider/JceKeyStore.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/com/sun/crypto/provider/JceKeyStore.java Mon Apr 27 09:17:39 2015 -0700
@@ -711,7 +711,7 @@
cf = CertificateFactory.getInstance("X509");
} else {
// version 2
- cfs = new Hashtable<String, CertificateFactory>(3);
+ cfs = new Hashtable<>(3);
}
entries.clear();
--- a/jdk/src/java.base/share/classes/com/sun/crypto/provider/PBEKeyFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/com/sun/crypto/provider/PBEKeyFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -56,7 +56,7 @@
}
static {
- validTypes = new HashSet<String>(17);
+ validTypes = new HashSet<>(17);
validTypes.add("PBEWithMD5AndDES".toUpperCase(Locale.ENGLISH));
validTypes.add("PBEWithSHA1AndDESede".toUpperCase(Locale.ENGLISH));
validTypes.add("PBEWithSHA1AndRC2_40".toUpperCase(Locale.ENGLISH));
--- a/jdk/src/java.base/share/classes/com/sun/crypto/provider/SunJCE.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/com/sun/crypto/provider/SunJCE.java Mon Apr 27 09:17:39 2015 -0700
@@ -115,7 +115,7 @@
final String BLOCK_PADS = "NOPADDING|PKCS5PADDING|ISO10126PADDING";
AccessController.doPrivileged(
- new java.security.PrivilegedAction<Object>() {
+ new java.security.PrivilegedAction<>() {
public Object run() {
/*
--- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java Mon Apr 27 09:17:39 2015 -0700
@@ -87,7 +87,7 @@
// If loading from stand alone build uncomment this.
// System.loadLibrary("unpack");
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<Void>() {
+ new java.security.PrivilegedAction<>() {
public Void run() {
System.loadLibrary("unpack");
return null;
--- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/Package.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/Package.java Mon Apr 27 09:17:39 2015 -0700
@@ -1210,7 +1210,7 @@
// This keeps files of similar format near each other.
// Put class files at the end, keeping their fixed order.
// Be sure the JAR file's required manifest stays at the front. (4893051)
- Collections.sort(files, new Comparator<File>() {
+ Collections.sort(files, new Comparator<>() {
public int compare(File r0, File r1) {
// Get the file name.
String f0 = r0.nameString;
--- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/PackageReader.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/PackageReader.java Mon Apr 27 09:17:39 2015 -0700
@@ -1151,7 +1151,7 @@
return -1;
}
- Comparator<Entry> entryOutputOrder = new Comparator<Entry>() {
+ Comparator<Entry> entryOutputOrder = new Comparator<>() {
public int compare(Entry e0, Entry e1) {
int k0 = getOutputIndex(e0);
int k1 = getOutputIndex(e1);
--- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/PackageWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/PackageWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -829,7 +829,7 @@
maxFlags = new int[ATTR_CONTEXT_LIMIT];
allLayouts = new FixedList<>(ATTR_CONTEXT_LIMIT);
for (int i = 0; i < ATTR_CONTEXT_LIMIT; i++) {
- allLayouts.set(i, new HashMap<Attribute.Layout, int[]>());
+ allLayouts.set(i, new HashMap<>());
}
// Collect maxFlags and allLayouts.
for (Class cls : pkg.classes) {
@@ -892,7 +892,7 @@
// Sort by count, most frequent first.
// Predefs. participate in this sort, though it does not matter.
Arrays.sort(layoutsAndCounts,
- new Comparator<Map.Entry<Attribute.Layout, int[]>>() {
+ new Comparator<>() {
public int compare(Map.Entry<Attribute.Layout, int[]> e0,
Map.Entry<Attribute.Layout, int[]> e1) {
// Primary sort key is count, reversed.
@@ -1010,7 +1010,7 @@
int numAttrDefs = defList.size();
Object[][] defs = new Object[numAttrDefs][];
defList.toArray(defs);
- Arrays.sort(defs, new Comparator<Object[]>() {
+ Arrays.sort(defs, new Comparator<>() {
public int compare(Object[] a0, Object[] a1) {
// Primary sort key is attr def header.
@SuppressWarnings("unchecked")
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/KeyManagerFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/KeyManagerFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -63,7 +63,7 @@
*/
public final static String getDefaultAlgorithm() {
String type;
- type = AccessController.doPrivileged(new PrivilegedAction<String>() {
+ type = AccessController.doPrivileged(new PrivilegedAction<>() {
public String run() {
return Security.getProperty("sun.ssl.keymanager.type");
}
--- a/jdk/src/java.base/share/classes/com/sun/net/ssl/TrustManagerFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/com/sun/net/ssl/TrustManagerFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -63,7 +63,7 @@
*/
public final static String getDefaultAlgorithm() {
String type;
- type = AccessController.doPrivileged(new PrivilegedAction<String>() {
+ type = AccessController.doPrivileged(new PrivilegedAction<>() {
public String run() {
return Security.getProperty("sun.ssl.trustmanager.type");
}
--- a/jdk/src/java.base/share/classes/java/io/ExpiringCache.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/io/ExpiringCache.java Mon Apr 27 09:17:39 2015 -0700
@@ -64,7 +64,7 @@
@SuppressWarnings("serial")
ExpiringCache(long millisUntilExpiration) {
this.millisUntilExpiration = millisUntilExpiration;
- map = new LinkedHashMap<String,Entry>() {
+ map = new LinkedHashMap<>() {
protected boolean removeEldestEntry(Map.Entry<String,Entry> eldest) {
return size() > MAX_ENTRIES;
}
--- a/jdk/src/java.base/share/classes/java/io/FilePermission.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/io/FilePermission.java Mon Apr 27 09:17:39 2015 -0700
@@ -201,7 +201,7 @@
}
// store only the canonical cpath if possible
- cpath = AccessController.doPrivileged(new PrivilegedAction<String>() {
+ cpath = AccessController.doPrivileged(new PrivilegedAction<>() {
public String run() {
try {
String path = cpath;
--- a/jdk/src/java.base/share/classes/java/io/ObjectInputStream.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/io/ObjectInputStream.java Mon Apr 27 09:17:39 2015 -0700
@@ -1263,7 +1263,7 @@
*/
private static boolean auditSubclass(final Class<?> subcl) {
Boolean result = AccessController.doPrivileged(
- new PrivilegedAction<Boolean>() {
+ new PrivilegedAction<>() {
public Boolean run() {
for (Class<?> cl = subcl;
cl != ObjectInputStream.class;
@@ -2255,7 +2255,7 @@
try {
while (list != null) {
AccessController.doPrivileged(
- new PrivilegedExceptionAction<Void>()
+ new PrivilegedExceptionAction<>()
{
public Void run() throws InvalidObjectException {
list.obj.validateObject();
--- a/jdk/src/java.base/share/classes/java/io/ObjectOutputStream.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/io/ObjectOutputStream.java Mon Apr 27 09:17:39 2015 -0700
@@ -1066,7 +1066,7 @@
*/
private static boolean auditSubclass(final Class<?> subcl) {
Boolean result = AccessController.doPrivileged(
- new PrivilegedAction<Boolean>() {
+ new PrivilegedAction<>() {
public Boolean run() {
for (Class<?> cl = subcl;
cl != ObjectOutputStream.class;
--- a/jdk/src/java.base/share/classes/java/io/ObjectStreamClass.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/io/ObjectStreamClass.java Mon Apr 27 09:17:39 2015 -0700
@@ -367,7 +367,7 @@
entry = th;
}
if (future.set(entry)) {
- Caches.localDescs.put(key, new SoftReference<Object>(entry));
+ Caches.localDescs.put(key, new SoftReference<>(entry));
} else {
// nested lookup call already set future
entry = future.get();
@@ -430,7 +430,7 @@
}
if (interrupted) {
AccessController.doPrivileged(
- new PrivilegedAction<Void>() {
+ new PrivilegedAction<>() {
public Void run() {
Thread.currentThread().interrupt();
return null;
@@ -465,7 +465,7 @@
localDesc = this;
if (serializable) {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
if (isEnum) {
suid = Long.valueOf(0);
@@ -1733,7 +1733,7 @@
for (int i = 0; i < fields.length; i++) {
fieldSigs[i] = new MemberSignature(fields[i]);
}
- Arrays.sort(fieldSigs, new Comparator<MemberSignature>() {
+ Arrays.sort(fieldSigs, new Comparator<>() {
public int compare(MemberSignature ms1, MemberSignature ms2) {
return ms1.name.compareTo(ms2.name);
}
@@ -1764,7 +1764,7 @@
for (int i = 0; i < cons.length; i++) {
consSigs[i] = new MemberSignature(cons[i]);
}
- Arrays.sort(consSigs, new Comparator<MemberSignature>() {
+ Arrays.sort(consSigs, new Comparator<>() {
public int compare(MemberSignature ms1, MemberSignature ms2) {
return ms1.signature.compareTo(ms2.signature);
}
@@ -1787,7 +1787,7 @@
for (int i = 0; i < methods.length; i++) {
methSigs[i] = new MemberSignature(methods[i]);
}
- Arrays.sort(methSigs, new Comparator<MemberSignature>() {
+ Arrays.sort(methSigs, new Comparator<>() {
public int compare(MemberSignature ms1, MemberSignature ms2) {
int comp = ms1.name.compareTo(ms2.name);
if (comp == 0) {
@@ -2164,7 +2164,7 @@
entry = th;
}
future.set(entry);
- Caches.reflectors.put(key, new SoftReference<Object>(entry));
+ Caches.reflectors.put(key, new SoftReference<>(entry));
}
if (entry instanceof FieldReflector) {
--- a/jdk/src/java.base/share/classes/java/lang/CharacterName.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/CharacterName.java Mon Apr 27 09:17:39 2015 -0700
@@ -45,7 +45,7 @@
DataInputStream dis = null;
try {
dis = new DataInputStream(new InflaterInputStream(
- AccessController.doPrivileged(new PrivilegedAction<InputStream>()
+ AccessController.doPrivileged(new PrivilegedAction<>()
{
public InputStream run() {
return getClass().getResourceAsStream("uniName.dat");
--- a/jdk/src/java.base/share/classes/java/lang/Class.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/Class.java Mon Apr 27 09:17:39 2015 -0700
@@ -437,7 +437,7 @@
// (the stack depth is wrong for the Constructor's
// security check to work)
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<Void>() {
+ new java.security.PrivilegedAction<>() {
public Void run() {
c.setAccessible(true);
return null;
@@ -1068,7 +1068,7 @@
Reflection.getCallerClass(), true);
// Client is ok to access declared methods but j.l.Class might not be.
Method[] candidates = AccessController.doPrivileged(
- new PrivilegedAction<Method[]>() {
+ new PrivilegedAction<>() {
@Override
public Method[] run() {
return enclosingCandidate.getDeclaredMethods();
@@ -1228,7 +1228,7 @@
Reflection.getCallerClass(), true);
// Client is ok to access declared methods but j.l.Class might not be.
Constructor<?>[] candidates = AccessController.doPrivileged(
- new PrivilegedAction<Constructor<?>[]>() {
+ new PrivilegedAction<>() {
@Override
public Constructor<?>[] run() {
return enclosingCandidate.getDeclaredConstructors();
@@ -1542,7 +1542,7 @@
// has already been ok'd by the SecurityManager.
return java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<Class<?>[]>() {
+ new java.security.PrivilegedAction<>() {
public Class<?>[] run() {
List<Class<?>> list = new ArrayList<>();
Class<?> currentClass = Class.this;
@@ -3293,7 +3293,7 @@
private static boolean initted = false;
private static void checkInitted() {
if (initted) return;
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
// Tests to ensure the system properties table is fully
// initialized. This is needed because reflection code is
@@ -3349,7 +3349,7 @@
try {
final Method values = getMethod("values");
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<Void>() {
+ new java.security.PrivilegedAction<>() {
public Void run() {
values.setAccessible(true);
return null;
--- a/jdk/src/java.base/share/classes/java/lang/ClassLoader.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/ClassLoader.java Mon Apr 27 09:17:39 2015 -0700
@@ -496,7 +496,7 @@
final String name = cls.getName();
final int i = name.lastIndexOf('.');
if (i != -1) {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
sm.checkPackageAccess(name.substring(0, i));
return null;
@@ -1265,7 +1265,7 @@
{
final Enumeration<Resource> e =
getBootstrapClassPath().getResources(name);
- return new Enumeration<URL> () {
+ return new Enumeration<> () {
public URL nextElement() {
return e.nextElement().getURL();
}
@@ -1867,7 +1867,7 @@
boolean isBuiltin = (name != null);
if (!isBuiltin) {
name = AccessController.doPrivileged(
- new PrivilegedAction<String>() {
+ new PrivilegedAction<>() {
public String run() {
try {
return file.exists() ? file.getCanonicalPath() : null;
--- a/jdk/src/java.base/share/classes/java/lang/Package.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/Package.java Mon Apr 27 09:17:39 2015 -0700
@@ -595,7 +595,7 @@
CachedManifest(final String fileName) {
this.fileName = fileName;
- this.url = AccessController.doPrivileged(new PrivilegedAction<URL>() {
+ this.url = AccessController.doPrivileged(new PrivilegedAction<>() {
public URL run() {
final File file = new File(fileName);
if (file.isFile()) {
@@ -626,7 +626,7 @@
if (m != null) {
return m;
}
- m = AccessController.doPrivileged(new PrivilegedAction<Manifest>() {
+ m = AccessController.doPrivileged(new PrivilegedAction<>() {
public Manifest run() {
try (FileInputStream fis = new FileInputStream(fileName);
JarInputStream jis = new JarInputStream(fis, false)) {
--- a/jdk/src/java.base/share/classes/java/lang/SecurityManager.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/SecurityManager.java Mon Apr 27 09:17:39 2015 -0700
@@ -1455,7 +1455,7 @@
if (!packageAccessValid) {
String tmpPropertyStr =
AccessController.doPrivileged(
- new PrivilegedAction<String>() {
+ new PrivilegedAction<>() {
public String run() {
return java.security.Security.getProperty(
"package.access");
@@ -1524,7 +1524,7 @@
if (!packageDefinitionValid) {
String tmpPropertyStr =
AccessController.doPrivileged(
- new PrivilegedAction<String>() {
+ new PrivilegedAction<>() {
public String run() {
return java.security.Security.getProperty(
"package.definition");
--- a/jdk/src/java.base/share/classes/java/lang/StringBuffer.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/StringBuffer.java Mon Apr 27 09:17:39 2015 -0700
@@ -206,6 +206,7 @@
}
/**
+ * @throws IndexOutOfBoundsException {@inheritDoc}
* @since 1.5
*/
@Override
@@ -214,6 +215,7 @@
}
/**
+ * @throws IndexOutOfBoundsException {@inheritDoc}
* @since 1.5
*/
@Override
@@ -222,6 +224,7 @@
}
/**
+ * @throws IndexOutOfBoundsException {@inheritDoc}
* @since 1.5
*/
@Override
@@ -230,6 +233,7 @@
}
/**
+ * @throws IndexOutOfBoundsException {@inheritDoc}
* @since 1.5
*/
@Override
--- a/jdk/src/java.base/share/classes/java/lang/System.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/System.java Mon Apr 27 09:17:39 2015 -0700
@@ -309,7 +309,7 @@
// calls the installed security manager's checkPermission method
// which will loop infinitely if there is a non-system class
// (in this case: the new security manager class) on the stack).
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Object run() {
s.getClass().getProtectionDomain().implies
(SecurityConstants.ALL_PERMISSION);
--- a/jdk/src/java.base/share/classes/java/lang/Thread.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/Thread.java Mon Apr 27 09:17:39 2015 -0700
@@ -1661,7 +1661,7 @@
*/
private static boolean auditSubclass(final Class<?> subcl) {
Boolean result = AccessController.doPrivileged(
- new PrivilegedAction<Boolean>() {
+ new PrivilegedAction<>() {
public Boolean run() {
for (Class<?> cl = subcl;
cl != Thread.class;
--- a/jdk/src/java.base/share/classes/java/lang/invoke/InfoFromMemberName.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/InfoFromMemberName.java Mon Apr 27 09:17:39 2015 -0700
@@ -87,7 +87,7 @@
// For more information see comments on {@link MethodHandleNatives#linkMethod}.
throw new IllegalArgumentException("cannot reflect signature polymorphic method");
}
- Member mem = AccessController.doPrivileged(new PrivilegedAction<Member>() {
+ Member mem = AccessController.doPrivileged(new PrivilegedAction<>() {
public Member run() {
try {
return reflectUnchecked();
--- a/jdk/src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -194,7 +194,7 @@
final Class<?> innerClass = spinInnerClass();
if (invokedType.parameterCount() == 0) {
final Constructor<?>[] ctrs = AccessController.doPrivileged(
- new PrivilegedAction<Constructor<?>[]>() {
+ new PrivilegedAction<>() {
@Override
public Constructor<?>[] run() {
Constructor<?>[] ctrs = innerClass.getDeclaredConstructors();
@@ -311,7 +311,7 @@
// If requested, dump out to a file for debugging purposes
if (dumper != null) {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public Void run() {
dumper.dumpClass(lambdaClassName, classBytes);
--- a/jdk/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java Mon Apr 27 09:17:39 2015 -0700
@@ -167,7 +167,7 @@
static void maybeDump(final String className, final byte[] classFile) {
if (DUMP_CLASS_FILES) {
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<Void>() {
+ new java.security.PrivilegedAction<>() {
public Void run() {
try {
String dumpName = className;
--- a/jdk/src/java.base/share/classes/java/lang/invoke/LambdaForm.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/LambdaForm.java Mon Apr 27 09:17:39 2015 -0700
@@ -631,7 +631,7 @@
* as a sort of pre-invocation linkage step.)
*/
public void prepare() {
- if (COMPILE_THRESHOLD == 0) {
+ if (COMPILE_THRESHOLD == 0 && !isCompiled) {
compileToBytecode();
}
if (this.vmentry != null) {
@@ -645,11 +645,11 @@
/** Generate optimizable bytecode for this form. */
MemberName compileToBytecode() {
- MethodType invokerType = methodType();
- assert(vmentry == null || vmentry.getMethodType().basicType().equals(invokerType));
if (vmentry != null && isCompiled) {
return vmentry; // already compiled somehow
}
+ MethodType invokerType = methodType();
+ assert(vmentry == null || vmentry.getMethodType().basicType().equals(invokerType));
try {
vmentry = InvokerBytecodeGenerator.generateCustomizedCode(this, invokerType);
if (TRACE_INTERPRETER)
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -51,7 +51,7 @@
private static final int MAX_ARITY;
static {
final Object[] values = { 255 };
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public Void run() {
values[0] = Integer.getInteger(MethodHandleImpl.class.getName()+".MAX_ARITY", 255);
@@ -1234,7 +1234,7 @@
private static final byte[] T_BYTES;
static {
final Object[] values = {null};
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
try {
Class<T> tClass = T.class;
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleProxies.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleProxies.java Mon Apr 27 09:17:39 2015 -0700
@@ -199,7 +199,7 @@
// sun.invoke.WrapperInstance is a restricted interface not accessible
// by any non-null class loader.
final ClassLoader loader = proxyLoader;
- proxy = AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ proxy = AccessController.doPrivileged(new PrivilegedAction<>() {
public Object run() {
return Proxy.newProxyInstance(
loader,
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleStatics.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleStatics.java Mon Apr 27 09:17:39 2015 -0700
@@ -53,7 +53,7 @@
static {
final Object[] values = new Object[9];
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
values[0] = Boolean.getBoolean("java.lang.invoke.MethodHandle.DEBUG_NAMES");
values[1] = Boolean.getBoolean("java.lang.invoke.MethodHandle.DUMP_CLASS_FILES");
--- a/jdk/src/java.base/share/classes/java/lang/invoke/ProxyClassesDumper.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/ProxyClassesDumper.java Mon Apr 27 09:17:39 2015 -0700
@@ -64,7 +64,7 @@
try {
path = path.trim();
final Path dir = Paths.get(path.length() == 0 ? "." : path);
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public Void run() {
validateDumpDir(dir);
--- a/jdk/src/java.base/share/classes/java/lang/invoke/SerializedLambda.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/SerializedLambda.java Mon Apr 27 09:17:39 2015 -0700
@@ -218,7 +218,7 @@
private Object readResolve() throws ReflectiveOperationException {
try {
- Method deserialize = AccessController.doPrivileged(new PrivilegedExceptionAction<Method>() {
+ Method deserialize = AccessController.doPrivileged(new PrivilegedExceptionAction<>() {
@Override
public Method run() throws Exception {
Method m = capturingClass.getDeclaredMethod("$deserializeLambda$", SerializedLambda.class);
--- a/jdk/src/java.base/share/classes/java/lang/ref/Finalizer.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/ref/Finalizer.java Mon Apr 27 09:17:39 2015 -0700
@@ -121,7 +121,7 @@
*/
private static void forkSecondaryFinalizer(final Runnable proc) {
AccessController.doPrivileged(
- new PrivilegedAction<Void>() {
+ new PrivilegedAction<>() {
public Void run() {
ThreadGroup tg = Thread.currentThread().getThreadGroup();
for (ThreadGroup tgn = tg;
--- a/jdk/src/java.base/share/classes/java/lang/reflect/Proxy.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/reflect/Proxy.java Mon Apr 27 09:17:39 2015 -0700
@@ -728,7 +728,7 @@
final Constructor<?> cons = cl.getConstructor(constructorParams);
if (!Modifier.isPublic(cl.getModifiers())) {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
cons.setAccessible(true);
return null;
--- a/jdk/src/java.base/share/classes/java/net/AbstractPlainDatagramSocketImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/AbstractPlainDatagramSocketImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -62,7 +62,7 @@
*/
static {
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<Void>() {
+ new java.security.PrivilegedAction<>() {
public Void run() {
System.loadLibrary("net");
return null;
--- a/jdk/src/java.base/share/classes/java/net/AbstractPlainSocketImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/AbstractPlainSocketImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -79,7 +79,7 @@
*/
static {
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<Void>() {
+ new java.security.PrivilegedAction<>() {
public Void run() {
System.loadLibrary("net");
return null;
--- a/jdk/src/java.base/share/classes/java/net/CookieManager.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/CookieManager.java Mon Apr 27 09:17:39 2015 -0700
@@ -201,14 +201,13 @@
throw new IllegalArgumentException("Argument is null");
}
- Map<String, List<String>> cookieMap =
- new java.util.HashMap<String, List<String>>();
+ Map<String, List<String>> cookieMap = new java.util.HashMap<>();
// if there's no default CookieStore, no way for us to get any cookie
if (cookieJar == null)
return Collections.unmodifiableMap(cookieMap);
boolean secureLink = "https".equalsIgnoreCase(uri.getScheme());
- List<HttpCookie> cookies = new java.util.ArrayList<HttpCookie>();
+ List<HttpCookie> cookies = new java.util.ArrayList<>();
String path = uri.getPath();
if (path == null || path.isEmpty()) {
path = "/";
@@ -411,7 +410,7 @@
private List<String> sortByPath(List<HttpCookie> cookies) {
Collections.sort(cookies, new CookiePathComparator());
- List<String> cookieHeader = new java.util.ArrayList<String>();
+ List<String> cookieHeader = new java.util.ArrayList<>();
for (HttpCookie cookie : cookies) {
// Netscape cookie spec and RFC 2965 have different format of Cookie
// header; RFC 2965 requires a leading $Version="1" string while Netscape
--- a/jdk/src/java.base/share/classes/java/net/DatagramPacket.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/DatagramPacket.java Mon Apr 27 09:17:39 2015 -0700
@@ -47,7 +47,7 @@
*/
static {
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<Void>() {
+ new java.security.PrivilegedAction<>() {
public Void run() {
System.loadLibrary("net");
return null;
--- a/jdk/src/java.base/share/classes/java/net/DatagramSocket.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/DatagramSocket.java Mon Apr 27 09:17:39 2015 -0700
@@ -308,7 +308,7 @@
// getDeclaredMethod, therefore we need permission to access the member
try {
AccessController.doPrivileged(
- new PrivilegedExceptionAction<Void>() {
+ new PrivilegedExceptionAction<>() {
public Void run() throws NoSuchMethodException {
Class<?>[] cl = new Class<?>[1];
cl[0] = DatagramPacket.class;
--- a/jdk/src/java.base/share/classes/java/net/HttpConnectSocketImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/HttpConnectSocketImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -64,7 +64,7 @@
serverSocketField = netClientClazz.getDeclaredField("serverSocket");
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<Void>() {
+ new java.security.PrivilegedAction<>() {
public Void run() {
httpField.setAccessible(true);
serverSocketField.setAccessible(true);
@@ -146,7 +146,7 @@
{
try {
return java.security.AccessController.doPrivileged(
- new java.security.PrivilegedExceptionAction<Socket>() {
+ new java.security.PrivilegedExceptionAction<>() {
public Socket run() throws IOException {
return doTunnel(urlString, timeout);
}
--- a/jdk/src/java.base/share/classes/java/net/HttpCookie.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/HttpCookie.java Mon Apr 27 09:17:39 2015 -0700
@@ -1125,7 +1125,7 @@
* @return list of strings; never null
*/
private static List<String> splitMultiCookies(String header) {
- List<String> cookies = new java.util.ArrayList<String>();
+ List<String> cookies = new java.util.ArrayList<>();
int quoteCount = 0;
int p, q;
--- a/jdk/src/java.base/share/classes/java/net/IDN.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/IDN.java Mon Apr 27 09:17:39 2015 -0700
@@ -228,7 +228,7 @@
try {
final String IDN_PROFILE = "uidna.spp";
if (System.getSecurityManager() != null) {
- stream = AccessController.doPrivileged(new PrivilegedAction<InputStream>() {
+ stream = AccessController.doPrivileged(new PrivilegedAction<>() {
public InputStream run() {
return StringPrep.class.getResourceAsStream(IDN_PROFILE);
}
--- a/jdk/src/java.base/share/classes/java/net/InMemoryCookieStore.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/InMemoryCookieStore.java Mon Apr 27 09:17:39 2015 -0700
@@ -62,9 +62,9 @@
* The default ctor
*/
public InMemoryCookieStore() {
- cookieJar = new ArrayList<HttpCookie>();
- domainIndex = new HashMap<String, List<HttpCookie>>();
- uriIndex = new HashMap<URI, List<HttpCookie>>();
+ cookieJar = new ArrayList<>();
+ domainIndex = new HashMap<>();
+ uriIndex = new HashMap<>();
lock = new ReentrantLock(false);
}
@@ -115,7 +115,7 @@
throw new NullPointerException("uri is null");
}
- List<HttpCookie> cookies = new ArrayList<HttpCookie>();
+ List<HttpCookie> cookies = new ArrayList<>();
boolean secureLink = "https".equalsIgnoreCase(uri.getScheme());
lock.lock();
try {
@@ -157,7 +157,7 @@
* of this cookie store.
*/
public List<URI> getURIs() {
- List<URI> uris = new ArrayList<URI>();
+ List<URI> uris = new ArrayList<>();
lock.lock();
try {
@@ -281,7 +281,7 @@
String host, boolean secureLink) {
// Use a separate list to handle cookies that need to be removed so
// that there is no conflict with iterators.
- ArrayList<HttpCookie> toRemove = new ArrayList<HttpCookie>();
+ ArrayList<HttpCookie> toRemove = new ArrayList<>();
for (Map.Entry<String, List<HttpCookie>> entry : cookieIndex.entrySet()) {
String domain = entry.getKey();
List<HttpCookie> lst = entry.getValue();
@@ -368,7 +368,7 @@
cookies.add(cookie);
} else {
- cookies = new ArrayList<HttpCookie>();
+ cookies = new ArrayList<>();
cookies.add(cookie);
indexStore.put(index, cookies);
}
--- a/jdk/src/java.base/share/classes/java/net/InetAddress.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/InetAddress.java Mon Apr 27 09:17:39 2015 -0700
@@ -270,7 +270,7 @@
preferIPv6Address = java.security.AccessController.doPrivileged(
new GetBooleanAction("java.net.preferIPv6Addresses")).booleanValue();
AccessController.doPrivileged(
- new java.security.PrivilegedAction<Void>() {
+ new java.security.PrivilegedAction<>() {
public Void run() {
System.loadLibrary("net");
return null;
@@ -852,7 +852,7 @@
final String providerName = provider;
try {
nameService = java.security.AccessController.doPrivileged(
- new java.security.PrivilegedExceptionAction<NameService>() {
+ new java.security.PrivilegedExceptionAction<>() {
public NameService run() {
Iterator<NameServiceDescriptor> itr =
ServiceLoader.load(NameServiceDescriptor.class)
@@ -892,7 +892,7 @@
String provider = null;;
String propPrefix = "sun.net.spi.nameservice.provider.";
int n = 1;
- nameServices = new ArrayList<NameService>();
+ nameServices = new ArrayList<>();
provider = AccessController.doPrivileged(
new GetPropertyAction(propPrefix + n));
while (provider != null) {
--- a/jdk/src/java.base/share/classes/java/net/NetworkInterface.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/NetworkInterface.java Mon Apr 27 09:17:39 2015 -0700
@@ -54,7 +54,7 @@
static {
AccessController.doPrivileged(
- new java.security.PrivilegedAction<Void>() {
+ new java.security.PrivilegedAction<>() {
public Void run() {
System.loadLibrary("net");
return null;
@@ -167,7 +167,7 @@
* @since 1.6
*/
public java.util.List<InterfaceAddress> getInterfaceAddresses() {
- java.util.List<InterfaceAddress> lst = new java.util.ArrayList<InterfaceAddress>(1);
+ java.util.List<InterfaceAddress> lst = new java.util.ArrayList<>(1);
SecurityManager sec = System.getSecurityManager();
for (int j=0; j<bindings.length; j++) {
try {
@@ -346,7 +346,7 @@
if (netifs == null)
return null;
- return new Enumeration<NetworkInterface>() {
+ return new Enumeration<>() {
private int i = 0;
public NetworkInterface nextElement() {
if (netifs != null && i < netifs.length) {
--- a/jdk/src/java.base/share/classes/java/net/Socket.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/Socket.java Mon Apr 27 09:17:39 2015 -0700
@@ -470,7 +470,7 @@
// getDeclaredMethod, therefore we need permission to access the member
oldImpl = AccessController.doPrivileged
- (new PrivilegedAction<Boolean>() {
+ (new PrivilegedAction<>() {
public Boolean run() {
Class<?> clazz = impl.getClass();
while (true) {
@@ -911,7 +911,7 @@
InputStream is = null;
try {
is = AccessController.doPrivileged(
- new PrivilegedExceptionAction<InputStream>() {
+ new PrivilegedExceptionAction<>() {
public InputStream run() throws IOException {
return impl.getInputStream();
}
@@ -951,7 +951,7 @@
OutputStream os = null;
try {
os = AccessController.doPrivileged(
- new PrivilegedExceptionAction<OutputStream>() {
+ new PrivilegedExceptionAction<>() {
public OutputStream run() throws IOException {
return impl.getOutputStream();
}
--- a/jdk/src/java.base/share/classes/java/net/SocketPermission.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/SocketPermission.java Mon Apr 27 09:17:39 2015 -0700
@@ -1194,7 +1194,7 @@
*/
private static int initEphemeralPorts(String suffix, int defval) {
return AccessController.doPrivileged(
- new PrivilegedAction<Integer>(){
+ new PrivilegedAction<>(){
public Integer run() {
int val = Integer.getInteger(
"jdk.net.ephemeralPortRange."+suffix, -1
@@ -1328,7 +1328,7 @@
*/
public SocketPermissionCollection() {
- perms = new ArrayList<SocketPermission>();
+ perms = new ArrayList<>();
}
/**
@@ -1466,7 +1466,7 @@
// Get the one we want
@SuppressWarnings("unchecked")
Vector<SocketPermission> permissions = (Vector<SocketPermission>)gfields.get("permissions", null);
- perms = new ArrayList<SocketPermission>(permissions.size());
+ perms = new ArrayList<>(permissions.size());
perms.addAll(permissions);
}
}
--- a/jdk/src/java.base/share/classes/java/net/SocksSocketImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/SocksSocketImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -82,7 +82,7 @@
{
try {
AccessController.doPrivileged(
- new java.security.PrivilegedExceptionAction<Void>() {
+ new java.security.PrivilegedExceptionAction<>() {
public Void run() throws IOException {
superConnectServer(host, port, timeout);
cmdIn = getInputStream();
@@ -157,7 +157,7 @@
final InetAddress addr = InetAddress.getByName(server);
PasswordAuthentication pw =
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<PasswordAuthentication>() {
+ new java.security.PrivilegedAction<>() {
public PasswordAuthentication run() {
return Authenticator.requestPasswordAuthentication(
server, addr, serverPort, "SOCKS5", "SOCKS authentication", null);
@@ -351,7 +351,7 @@
// server is not null only when the socket was created with a
// specified proxy in which case it does bypass the ProxySelector
ProxySelector sel = java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<ProxySelector>() {
+ new java.security.PrivilegedAction<>() {
public ProxySelector run() {
return ProxySelector.getDefault();
}
@@ -595,7 +595,7 @@
InetAddress naddr = baddr;
if (naddr.isAnyLocalAddress()) {
naddr = AccessController.doPrivileged(
- new PrivilegedAction<InetAddress>() {
+ new PrivilegedAction<>() {
public InetAddress run() {
return cmdsock.getLocalAddress();
@@ -671,7 +671,7 @@
// server is not null only when the socket was created with a
// specified proxy in which case it does bypass the ProxySelector
ProxySelector sel = java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<ProxySelector>() {
+ new java.security.PrivilegedAction<>() {
public ProxySelector run() {
return ProxySelector.getDefault();
}
@@ -724,7 +724,7 @@
// Connects to the SOCKS server
try {
AccessController.doPrivileged(
- new PrivilegedExceptionAction<Void>() {
+ new PrivilegedExceptionAction<>() {
public Void run() throws Exception {
cmdsock = new Socket(new PlainSocketImpl());
cmdsock.connect(new InetSocketAddress(server, serverPort));
@@ -755,7 +755,7 @@
} else {
try {
AccessController.doPrivileged(
- new PrivilegedExceptionAction<Void>() {
+ new PrivilegedExceptionAction<>() {
public Void run() throws Exception {
cmdsock = new Socket(new PlainSocketImpl());
cmdsock.connect(new InetSocketAddress(server, serverPort));
--- a/jdk/src/java.base/share/classes/java/net/URL.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/URL.java Mon Apr 27 09:17:39 2015 -0700
@@ -268,6 +268,23 @@
* createURLStreamHandler} method of each provider, if instantiated, is
* invoked, with the protocol string, until a provider returns non-null,
* or all providers have been exhausted.
+ * <li>If the previous step fails to find a protocol handler, the
+ * constructor reads the value of the system property:
+ * <blockquote>{@code
+ * java.protocol.handler.pkgs
+ * }</blockquote>
+ * If the value of that system property is not {@code null},
+ * it is interpreted as a list of packages separated by a vertical
+ * slash character '{@code |}'. The constructor tries to load
+ * the class named:
+ * <blockquote>{@code
+ * <package>.<protocol>.Handler
+ * }</blockquote>
+ * where {@code <package>} is replaced by the name of the package
+ * and {@code <protocol>} is replaced by the name of the protocol.
+ * If this class does not exist, or if the class exists but it is not
+ * a subclass of {@code URLStreamHandler}, then the next package
+ * in the list is tried.
* <li>If the previous step fails to find a protocol handler, then the
* constructor tries to load a built-in protocol handler.
* If this class does not exist, or if the class exists but it is not a
@@ -1139,8 +1156,41 @@
}
}
+ private static URLStreamHandler lookupViaProperty(String protocol) {
+ String packagePrefixList = java.security.AccessController.doPrivileged(
+ new PrivilegedAction<>() {
+ public String run() {
+ return System.getProperty(protocolPathProp, "");
+ }
+ });
+ String[] packagePrefixes = packagePrefixList.split("\\|");
+
+ URLStreamHandler handler = null;
+ for (int i=0; handler == null && i<packagePrefixes.length; i++) {
+ String packagePrefix = packagePrefixes[i].trim();
+ try {
+ String clsName = packagePrefix + "." + protocol + ".Handler";
+ Class<?> cls = null;
+ try {
+ cls = Class.forName(clsName);
+ } catch (ClassNotFoundException e) {
+ ClassLoader cl = ClassLoader.getSystemClassLoader();
+ if (cl != null) {
+ cls = cl.loadClass(clsName);
+ }
+ }
+ if (cls != null) {
+ handler = (URLStreamHandler)cls.newInstance();
+ }
+ } catch (Exception e) {
+ // any number of exceptions can get thrown here
+ }
+ }
+ return handler;
+ }
+
private static Iterator<URLStreamHandlerProvider> providers() {
- return new Iterator<URLStreamHandlerProvider>() {
+ return new Iterator<>() {
ClassLoader cl = ClassLoader.getSystemClassLoader();
ServiceLoader<URLStreamHandlerProvider> sl =
@@ -1193,7 +1243,7 @@
gate.set(gate);
try {
return AccessController.doPrivileged(
- new PrivilegedAction<URLStreamHandler>() {
+ new PrivilegedAction<>() {
public URLStreamHandler run() {
Iterator<URLStreamHandlerProvider> itr = providers();
while (itr.hasNext()) {
@@ -1251,6 +1301,10 @@
if (handler == null && !protocol.equalsIgnoreCase("jar")) {
handler = lookupViaProviders(protocol);
}
+
+ if (handler == null) {
+ handler = lookupViaProperty(protocol);
+ }
}
synchronized (streamHandlerLock) {
--- a/jdk/src/java.base/share/classes/java/net/URLClassLoader.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/net/URLClassLoader.java Mon Apr 27 09:17:39 2015 -0700
@@ -359,7 +359,7 @@
final Class<?> result;
try {
result = AccessController.doPrivileged(
- new PrivilegedExceptionAction<Class<?>>() {
+ new PrivilegedExceptionAction<>() {
public Class<?> run() throws ClassNotFoundException {
String path = name.replace('.', '/').concat(".class");
Resource res = ucp.getResource(path, false);
@@ -564,7 +564,7 @@
* The same restriction to finding classes applies to resources
*/
URL url = AccessController.doPrivileged(
- new PrivilegedAction<URL>() {
+ new PrivilegedAction<>() {
public URL run() {
return ucp.findResource(name, true);
}
@@ -587,7 +587,7 @@
{
final Enumeration<URL> e = ucp.findResources(name, true);
- return new Enumeration<URL>() {
+ return new Enumeration<>() {
private URL url = null;
private boolean next() {
@@ -596,7 +596,7 @@
}
do {
URL u = AccessController.doPrivileged(
- new PrivilegedAction<URL>() {
+ new PrivilegedAction<>() {
public URL run() {
if (!e.hasMoreElements())
return null;
@@ -704,7 +704,7 @@
final SecurityManager sm = System.getSecurityManager();
if (sm != null) {
final Permission fp = p;
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() throws SecurityException {
sm.checkPermission(fp);
return null;
@@ -735,7 +735,7 @@
final AccessControlContext acc = AccessController.getContext();
// Need a privileged block to create the class loader
URLClassLoader ucl = AccessController.doPrivileged(
- new PrivilegedAction<URLClassLoader>() {
+ new PrivilegedAction<>() {
public URLClassLoader run() {
return new FactoryURLClassLoader(urls, parent, acc);
}
@@ -760,7 +760,7 @@
final AccessControlContext acc = AccessController.getContext();
// Need a privileged block to create the class loader
URLClassLoader ucl = AccessController.doPrivileged(
- new PrivilegedAction<URLClassLoader>() {
+ new PrivilegedAction<>() {
public URLClassLoader run() {
return new FactoryURLClassLoader(urls, acc);
}
--- a/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousFileChannel.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousFileChannel.java Mon Apr 27 09:17:39 2015 -0700
@@ -296,7 +296,7 @@
public static AsynchronousFileChannel open(Path file, OpenOption... options)
throws IOException
{
- Set<OpenOption> set = new HashSet<OpenOption>(options.length);
+ Set<OpenOption> set = new HashSet<>(options.length);
Collections.addAll(set, options);
return open(file, set, null, NO_ATTRIBUTES);
}
--- a/jdk/src/java.base/share/classes/java/nio/channels/FileChannel.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/nio/channels/FileChannel.java Mon Apr 27 09:17:39 2015 -0700
@@ -330,7 +330,7 @@
public static FileChannel open(Path path, OpenOption... options)
throws IOException
{
- Set<OpenOption> set = new HashSet<OpenOption>(options.length);
+ Set<OpenOption> set = new HashSet<>(options.length);
Collections.addAll(set, options);
return open(path, set, NO_ATTRIBUTES);
}
--- a/jdk/src/java.base/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java Mon Apr 27 09:17:39 2015 -0700
@@ -76,7 +76,7 @@
private static AsynchronousChannelProvider load() {
return AccessController
- .doPrivileged(new PrivilegedAction<AsynchronousChannelProvider>() {
+ .doPrivileged(new PrivilegedAction<>() {
public AsynchronousChannelProvider run() {
AsynchronousChannelProvider p;
p = loadProviderFromProperty();
--- a/jdk/src/java.base/share/classes/java/nio/channels/spi/SelectorProvider.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/nio/channels/spi/SelectorProvider.java Mon Apr 27 09:17:39 2015 -0700
@@ -172,7 +172,7 @@
if (provider != null)
return provider;
return AccessController.doPrivileged(
- new PrivilegedAction<SelectorProvider>() {
+ new PrivilegedAction<>() {
public SelectorProvider run() {
if (loadProviderFromProperty())
return provider;
--- a/jdk/src/java.base/share/classes/java/nio/charset/Charset.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/nio/charset/Charset.java Mon Apr 27 09:17:39 2015 -0700
@@ -335,7 +335,7 @@
// thrown. Should be invoked with full privileges.
//
private static Iterator<CharsetProvider> providers() {
- return new Iterator<CharsetProvider>() {
+ return new Iterator<>() {
ClassLoader cl = ClassLoader.getSystemClassLoader();
ServiceLoader<CharsetProvider> sl =
@@ -404,7 +404,7 @@
gate.set(gate);
return AccessController.doPrivileged(
- new PrivilegedAction<Charset>() {
+ new PrivilegedAction<>() {
public Charset run() {
for (Iterator<CharsetProvider> i = providers();
i.hasNext();) {
@@ -428,7 +428,7 @@
// returns ExtendedProvider, if installed
private static CharsetProvider extendedProvider() {
return AccessController.doPrivileged(
- new PrivilegedAction<CharsetProvider>() {
+ new PrivilegedAction<>() {
public CharsetProvider run() {
try {
Class<?> epc
@@ -570,10 +570,10 @@
*/
public static SortedMap<String,Charset> availableCharsets() {
return AccessController.doPrivileged(
- new PrivilegedAction<SortedMap<String,Charset>>() {
+ new PrivilegedAction<>() {
public SortedMap<String,Charset> run() {
TreeMap<String,Charset> m =
- new TreeMap<String,Charset>(
+ new TreeMap<>(
ASCIICaseInsensitiveComparator.CASE_INSENSITIVE_ORDER);
put(standardProvider.charsets(), m);
CharsetProvider ecp = ExtendedProviderHolder.extendedProvider;
@@ -663,7 +663,7 @@
if (aliasSet != null)
return aliasSet;
int n = aliases.length;
- HashSet<String> hs = new HashSet<String>(n);
+ HashSet<String> hs = new HashSet<>(n);
for (int i = 0; i < n; i++)
hs.add(aliases[i]);
aliasSet = Collections.unmodifiableSet(hs);
--- a/jdk/src/java.base/share/classes/java/nio/charset/CoderResult.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/nio/charset/CoderResult.java Mon Apr 27 09:17:39 2015 -0700
@@ -204,13 +204,13 @@
WeakReference<CoderResult> w;
CoderResult e = null;
if (cache == null) {
- cache = new HashMap<Integer,WeakReference<CoderResult>>();
+ cache = new HashMap<>();
} else if ((w = cache.get(k)) != null) {
e = w.get();
}
if (e == null) {
e = create(len);
- cache.put(k, new WeakReference<CoderResult>(e));
+ cache.put(k, new WeakReference<>(e));
}
return e;
}
--- a/jdk/src/java.base/share/classes/java/nio/file/FileSystems.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/nio/file/FileSystems.java Mon Apr 27 09:17:39 2015 -0700
@@ -93,7 +93,7 @@
private static FileSystem defaultFileSystem() {
// load default provider
FileSystemProvider provider = AccessController
- .doPrivileged(new PrivilegedAction<FileSystemProvider>() {
+ .doPrivileged(new PrivilegedAction<>() {
public FileSystemProvider run() {
return getDefaultProvider();
}
--- a/jdk/src/java.base/share/classes/java/nio/file/Files.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/nio/file/Files.java Mon Apr 27 09:17:39 2015 -0700
@@ -402,7 +402,7 @@
public static SeekableByteChannel newByteChannel(Path path, OpenOption... options)
throws IOException
{
- Set<OpenOption> set = new HashSet<OpenOption>(options.length);
+ Set<OpenOption> set = new HashSet<>(options.length);
Collections.addAll(set, options);
return newByteChannel(path, set);
}
@@ -516,7 +516,7 @@
// create a matcher and return a filter that uses it.
FileSystem fs = dir.getFileSystem();
final PathMatcher matcher = fs.getPathMatcher("glob:" + glob);
- DirectoryStream.Filter<Path> filter = new DirectoryStream.Filter<Path>() {
+ DirectoryStream.Filter<Path> filter = new DirectoryStream.Filter<>() {
@Override
public boolean accept(Path entry) {
return matcher.matches(entry.getFileName());
@@ -1541,7 +1541,7 @@
// creates the default file type detector
private static FileTypeDetector createDefaultFileTypeDetector() {
return AccessController
- .doPrivileged(new PrivilegedAction<FileTypeDetector>() {
+ .doPrivileged(new PrivilegedAction<>() {
@Override public FileTypeDetector run() {
return sun.nio.fs.DefaultFileTypeDetector.create();
}});
@@ -1550,7 +1550,7 @@
// loads all installed file type detectors
private static List<FileTypeDetector> loadInstalledDetectors() {
return AccessController
- .doPrivileged(new PrivilegedAction<List<FileTypeDetector>>() {
+ .doPrivileged(new PrivilegedAction<>() {
@Override public List<FileTypeDetector> run() {
List<FileTypeDetector> list = new ArrayList<>();
ServiceLoader<FileTypeDetector> loader = ServiceLoader
@@ -3468,7 +3468,7 @@
final Iterator<Path> delegate = ds.iterator();
// Re-wrap DirectoryIteratorException to UncheckedIOException
- Iterator<Path> iterator = new Iterator<Path>() {
+ Iterator<Path> iterator = new Iterator<>() {
@Override
public boolean hasNext() {
try {
--- a/jdk/src/java.base/share/classes/java/nio/file/Path.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/nio/file/Path.java Mon Apr 27 09:17:39 2015 -0700
@@ -801,7 +801,7 @@
*/
@Override
default Iterator<Path> iterator() {
- return new Iterator<Path>() {
+ return new Iterator<>() {
private int i = 0;
@Override
--- a/jdk/src/java.base/share/classes/java/nio/file/attribute/AclEntry.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/nio/file/attribute/AclEntry.java Mon Apr 27 09:17:39 2015 -0700
@@ -306,7 +306,7 @@
* @return the permissions component
*/
public Set<AclEntryPermission> permissions() {
- return new HashSet<AclEntryPermission>(perms);
+ return new HashSet<>(perms);
}
/**
@@ -317,7 +317,7 @@
* @return the flags component
*/
public Set<AclEntryFlag> flags() {
- return new HashSet<AclEntryFlag>(flags);
+ return new HashSet<>(flags);
}
/**
--- a/jdk/src/java.base/share/classes/java/nio/file/attribute/PosixFilePermissions.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/nio/file/attribute/PosixFilePermissions.java Mon Apr 27 09:17:39 2015 -0700
@@ -160,13 +160,13 @@
{
// copy set and check for nulls (CCE will be thrown if an element is not
// a PosixFilePermission)
- perms = new HashSet<PosixFilePermission>(perms);
+ perms = new HashSet<>(perms);
for (PosixFilePermission p: perms) {
if (p == null)
throw new NullPointerException();
}
final Set<PosixFilePermission> value = perms;
- return new FileAttribute<Set<PosixFilePermission>>() {
+ return new FileAttribute<>() {
@Override
public String name() {
return "posix:permissions";
--- a/jdk/src/java.base/share/classes/java/nio/file/spi/FileSystemProvider.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/nio/file/spi/FileSystemProvider.java Mon Apr 27 09:17:39 2015 -0700
@@ -110,7 +110,7 @@
// loads all installed providers
private static List<FileSystemProvider> loadInstalledProviders() {
- List<FileSystemProvider> list = new ArrayList<FileSystemProvider>();
+ List<FileSystemProvider> list = new ArrayList<>();
ServiceLoader<FileSystemProvider> sl = ServiceLoader
.load(FileSystemProvider.class, ClassLoader.getSystemClassLoader());
@@ -163,7 +163,7 @@
loadingProviders = true;
List<FileSystemProvider> list = AccessController
- .doPrivileged(new PrivilegedAction<List<FileSystemProvider>>() {
+ .doPrivileged(new PrivilegedAction<>() {
@Override
public List<FileSystemProvider> run() {
return loadInstalledProviders();
@@ -419,7 +419,7 @@
throws IOException
{
int len = options.length;
- Set<OpenOption> opts = new HashSet<OpenOption>(len + 3);
+ Set<OpenOption> opts = new HashSet<>(len + 3);
if (len == 0) {
opts.add(StandardOpenOption.CREATE);
opts.add(StandardOpenOption.TRUNCATE_EXISTING);
--- a/jdk/src/java.base/share/classes/java/security/AccessControlContext.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/AccessControlContext.java Mon Apr 27 09:17:39 2015 -0700
@@ -458,7 +458,7 @@
Thread.dumpStack();
final ProtectionDomain pd = context[i];
final Debug db = debug;
- AccessController.doPrivileged (new PrivilegedAction<Void>() {
+ AccessController.doPrivileged (new PrivilegedAction<>() {
public Void run() {
db.println("domain that failed "+pd);
return null;
--- a/jdk/src/java.base/share/classes/java/security/AccessController.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/AccessController.java Mon Apr 27 09:17:39 2015 -0700
@@ -612,7 +612,7 @@
private static ProtectionDomain getCallerPD(final Class <?> caller) {
ProtectionDomain callerPd = doPrivileged
- (new PrivilegedAction<ProtectionDomain>() {
+ (new PrivilegedAction<>() {
public ProtectionDomain run() {
return caller.getProtectionDomain();
}
--- a/jdk/src/java.base/share/classes/java/security/AllPermission.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/AllPermission.java Mon Apr 27 09:17:39 2015 -0700
@@ -212,7 +212,7 @@
* @return an enumeration of all the AllPermission objects.
*/
public Enumeration<Permission> elements() {
- return new Enumeration<Permission>() {
+ return new Enumeration<>() {
private boolean hasMore = all_allowed;
public boolean hasMoreElements() {
--- a/jdk/src/java.base/share/classes/java/security/BasicPermission.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/BasicPermission.java Mon Apr 27 09:17:39 2015 -0700
@@ -332,7 +332,7 @@
*/
public BasicPermissionCollection(Class<?> clazz) {
- perms = new HashMap<String, Permission>(11);
+ perms = new HashMap<>(11);
all_allowed = false;
permClass = clazz;
}
@@ -533,7 +533,7 @@
@SuppressWarnings("unchecked")
Hashtable<String, Permission> permissions =
(Hashtable<String, Permission>)gfields.get("permissions", null);
- perms = new HashMap<String, Permission>(permissions.size()*2);
+ perms = new HashMap<>(permissions.size()*2);
perms.putAll(permissions);
// Get all_allowed
--- a/jdk/src/java.base/share/classes/java/security/CodeSource.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/CodeSource.java Mon Apr 27 09:17:39 2015 -0700
@@ -543,7 +543,7 @@
if (size > 0) {
// we know of 3 different cert types: X.509, PGP, SDSI, which
// could all be present in the stream at the same time
- cfs = new Hashtable<String, CertificateFactory>(3);
+ cfs = new Hashtable<>(3);
this.certs = new java.security.cert.Certificate[size];
}
--- a/jdk/src/java.base/share/classes/java/security/Identity.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/Identity.java Mon Apr 27 09:17:39 2015 -0700
@@ -185,7 +185,7 @@
check("setIdentityPublicKey");
this.publicKey = key;
- certificates = new Vector<Certificate>();
+ certificates = new Vector<>();
}
/**
@@ -248,7 +248,7 @@
check("addIdentityCertificate");
if (certificates == null) {
- certificates = new Vector<Certificate>();
+ certificates = new Vector<>();
}
if (publicKey != null) {
if (!keyEquals(publicKey, certificate.getPublicKey())) {
--- a/jdk/src/java.base/share/classes/java/security/IdentityScope.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/IdentityScope.java Mon Apr 27 09:17:39 2015 -0700
@@ -74,7 +74,7 @@
private static void initializeSystemScope() {
String classname = AccessController.doPrivileged(
- new PrivilegedAction<String>() {
+ new PrivilegedAction<>() {
public String run() {
return Security.getProperty("system.scope");
}
--- a/jdk/src/java.base/share/classes/java/security/KeyStore.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/KeyStore.java Mon Apr 27 09:17:39 2015 -0700
@@ -976,7 +976,7 @@
*/
public final static String getDefaultType() {
String kstype;
- kstype = AccessController.doPrivileged(new PrivilegedAction<String>() {
+ kstype = AccessController.doPrivileged(new PrivilegedAction<>() {
public String run() {
return Security.getProperty(KEYSTORE_TYPE);
}
--- a/jdk/src/java.base/share/classes/java/security/Permissions.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/Permissions.java Mon Apr 27 09:17:39 2015 -0700
@@ -99,7 +99,7 @@
* Creates a new Permissions object containing no PermissionCollections.
*/
public Permissions() {
- permsMap = new HashMap<Class<?>, PermissionCollection>(11);
+ permsMap = new HashMap<>(11);
allPermission = null;
}
@@ -394,7 +394,7 @@
@SuppressWarnings("unchecked")
Hashtable<Class<?>, PermissionCollection> perms =
(Hashtable<Class<?>, PermissionCollection>)gfields.get("perms", null);
- permsMap = new HashMap<Class<?>, PermissionCollection>(perms.size()*2);
+ permsMap = new HashMap<>(perms.size()*2);
permsMap.putAll(perms);
// Set hasUnresolved
@@ -488,7 +488,7 @@
*/
PermissionsHash() {
- permsMap = new HashMap<Permission, Permission>(11);
+ permsMap = new HashMap<>(11);
}
/**
@@ -597,7 +597,7 @@
@SuppressWarnings("unchecked")
Hashtable<Permission, Permission> perms =
(Hashtable<Permission, Permission>)gfields.get("perms", null);
- permsMap = new HashMap<Permission, Permission>(perms.size()*2);
+ permsMap = new HashMap<>(perms.size()*2);
permsMap.putAll(perms);
}
}
--- a/jdk/src/java.base/share/classes/java/security/Policy.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/Policy.java Mon Apr 27 09:17:39 2015 -0700
@@ -170,7 +170,7 @@
PolicyInfo pinfo = policy.get();
if (pinfo.policy == null) {
String policy_class = AccessController.doPrivileged(
- new PrivilegedAction<String>() {
+ new PrivilegedAction<>() {
public String run() {
return Security.getProperty("policy.provider");
}
@@ -199,7 +199,7 @@
final String pc = policy_class;
Policy pol = AccessController.doPrivileged(
- new PrivilegedAction<Policy>() {
+ new PrivilegedAction<>() {
public Policy run() {
try {
ClassLoader cl =
@@ -303,7 +303,7 @@
*/
ProtectionDomain policyDomain =
- AccessController.doPrivileged(new PrivilegedAction<ProtectionDomain>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public ProtectionDomain run() {
return p.getClass().getProtectionDomain();
}
--- a/jdk/src/java.base/share/classes/java/security/ProtectionDomain.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/ProtectionDomain.java Mon Apr 27 09:17:39 2015 -0700
@@ -367,7 +367,7 @@
PermissionCollection perms =
java.security.AccessController.doPrivileged
- (new java.security.PrivilegedAction<PermissionCollection>() {
+ (new java.security.PrivilegedAction<>() {
public PermissionCollection run() {
Policy p = Policy.getPolicyNoCheck();
return p.getPermissions(ProtectionDomain.this);
--- a/jdk/src/java.base/share/classes/java/security/Provider.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/Provider.java Mon Apr 27 09:17:39 2015 -0700
@@ -711,7 +711,7 @@
legacyChanged = true;
if (legacyStrings == null) {
- legacyStrings = new LinkedHashMap<String,String>();
+ legacyStrings = new LinkedHashMap<>();
}
return true;
}
@@ -773,7 +773,7 @@
private void implReplaceAll(BiFunction<? super Object, ? super Object, ? extends Object> function) {
legacyChanged = true;
if (legacyStrings == null) {
- legacyStrings = new LinkedHashMap<String,String>();
+ legacyStrings = new LinkedHashMap<>();
} else {
legacyStrings.replaceAll((BiFunction<? super String, ? super String, ? extends String>) function);
}
@@ -905,7 +905,7 @@
}
serviceSet = null;
if (legacyMap == null) {
- legacyMap = new LinkedHashMap<ServiceKey,Service>();
+ legacyMap = new LinkedHashMap<>();
} else {
legacyMap.clear();
}
@@ -1133,7 +1133,7 @@
("service.getProvider() must match this Provider object");
}
if (serviceMap == null) {
- serviceMap = new LinkedHashMap<ServiceKey,Service>();
+ serviceMap = new LinkedHashMap<>();
}
servicesChanged = true;
String type = s.getType();
@@ -1305,7 +1305,7 @@
}
static {
- knownEngines = new HashMap<String,EngineDescription>();
+ knownEngines = new HashMap<>();
// JCA
addEngine("AlgorithmParameterGenerator", false, null);
addEngine("AlgorithmParameters", false, null);
@@ -1431,14 +1431,14 @@
private void addAlias(String alias) {
if (aliases.isEmpty()) {
- aliases = new ArrayList<String>(2);
+ aliases = new ArrayList<>(2);
}
aliases.add(alias);
}
void addAttribute(String type, String value) {
if (attributes.isEmpty()) {
- attributes = new HashMap<UString,String>(8);
+ attributes = new HashMap<>(8);
}
attributes.put(new UString(type), value);
}
@@ -1471,12 +1471,12 @@
if (aliases == null) {
this.aliases = Collections.<String>emptyList();
} else {
- this.aliases = new ArrayList<String>(aliases);
+ this.aliases = new ArrayList<>(aliases);
}
if (attributes == null) {
this.attributes = Collections.<UString,String>emptyMap();
} else {
- this.attributes = new HashMap<UString,String>();
+ this.attributes = new HashMap<>();
for (Map.Entry<String,String> entry : attributes.entrySet()) {
this.attributes.put(new UString(entry.getKey()), entry.getValue());
}
@@ -1644,7 +1644,7 @@
("class configured for " + type + " (provider: " +
provider.getName() + ") is not public.");
}
- classRef = new WeakReference<Class<?>>(clazz);
+ classRef = new WeakReference<>(clazz);
}
return clazz;
} catch (ClassNotFoundException e) {
--- a/jdk/src/java.base/share/classes/java/security/SecureRandom.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/SecureRandom.java Mon Apr 27 09:17:39 2015 -0700
@@ -616,7 +616,7 @@
throws NoSuchAlgorithmException {
String property = AccessController.doPrivileged(
- new PrivilegedAction<String>() {
+ new PrivilegedAction<>() {
@Override
public String run() {
return Security.getProperty(
--- a/jdk/src/java.base/share/classes/java/security/Security.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/Security.java Mon Apr 27 09:17:39 2015 -0700
@@ -66,7 +66,7 @@
// things in initialize that might require privs.
// (the FileInputStream call and the File.exists call,
// the securityPropFile call, etc)
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
initialize();
return null;
@@ -810,7 +810,7 @@
final boolean pd = key.equals("package.definition");
if (pa || pd) {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
try {
/* Get the class via the bootstrap class loader. */
--- a/jdk/src/java.base/share/classes/java/security/Signature.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/Signature.java Mon Apr 27 09:17:39 2015 -0700
@@ -265,7 +265,7 @@
private final static Map<String,Boolean> signatureInfo;
static {
- signatureInfo = new ConcurrentHashMap<String,Boolean>();
+ signatureInfo = new ConcurrentHashMap<>();
Boolean TRUE = Boolean.TRUE;
// pre-initialize with values for our SignatureSpi implementations
signatureInfo.put("sun.security.provider.DSA$RawDSA", TRUE);
--- a/jdk/src/java.base/share/classes/java/security/Signer.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/Signer.java Mon Apr 27 09:17:39 2015 -0700
@@ -140,7 +140,7 @@
}
try {
AccessController.doPrivileged(
- new PrivilegedExceptionAction<Void>() {
+ new PrivilegedExceptionAction<>() {
public Void run() throws KeyManagementException {
setPublicKey(pub);
return null;
--- a/jdk/src/java.base/share/classes/java/security/UnresolvedPermission.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/UnresolvedPermission.java Mon Apr 27 09:17:39 2015 -0700
@@ -560,7 +560,7 @@
if (size > 0) {
// we know of 3 different cert types: X.509, PGP, SDSI, which
// could all be present in the stream at the same time
- cfs = new Hashtable<String, CertificateFactory>(3);
+ cfs = new Hashtable<>(3);
this.certs = new java.security.cert.Certificate[size];
}
--- a/jdk/src/java.base/share/classes/java/security/UnresolvedPermissionCollection.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/UnresolvedPermissionCollection.java Mon Apr 27 09:17:39 2015 -0700
@@ -61,7 +61,7 @@
*
*/
public UnresolvedPermissionCollection() {
- perms = new HashMap<String, List<UnresolvedPermission>>(11);
+ perms = new HashMap<>(11);
}
/**
@@ -82,7 +82,7 @@
synchronized (this) {
v = perms.get(up.getName());
if (v == null) {
- v = new ArrayList<UnresolvedPermission>();
+ v = new ArrayList<>();
perms.put(up.getName(), v);
}
}
@@ -203,7 +203,7 @@
Hashtable<String, Vector<UnresolvedPermission>> permissions =
(Hashtable<String, Vector<UnresolvedPermission>>)
gfields.get("permissions", null);
- perms = new HashMap<String, List<UnresolvedPermission>>(permissions.size()*2);
+ perms = new HashMap<>(permissions.size()*2);
// Convert each entry (Vector) into a List
Set<Map.Entry<String, Vector<UnresolvedPermission>>> set = permissions.entrySet();
--- a/jdk/src/java.base/share/classes/java/security/cert/CertPathBuilder.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/cert/CertPathBuilder.java Mon Apr 27 09:17:39 2015 -0700
@@ -301,7 +301,7 @@
*/
public final static String getDefaultType() {
String cpbtype =
- AccessController.doPrivileged(new PrivilegedAction<String>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public String run() {
return Security.getProperty(CPB_TYPE);
}
--- a/jdk/src/java.base/share/classes/java/security/cert/CertPathValidator.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/cert/CertPathValidator.java Mon Apr 27 09:17:39 2015 -0700
@@ -313,7 +313,7 @@
*/
public final static String getDefaultType() {
String cpvtype =
- AccessController.doPrivileged(new PrivilegedAction<String>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public String run() {
return Security.getProperty(CPV_TYPE);
}
--- a/jdk/src/java.base/share/classes/java/security/cert/CertStore.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/cert/CertStore.java Mon Apr 27 09:17:39 2015 -0700
@@ -409,7 +409,7 @@
*/
public final static String getDefaultType() {
String cstype;
- cstype = AccessController.doPrivileged(new PrivilegedAction<String>() {
+ cstype = AccessController.doPrivileged(new PrivilegedAction<>() {
public String run() {
return Security.getProperty(CERTSTORE_TYPE);
}
--- a/jdk/src/java.base/share/classes/java/security/cert/CertificateRevokedException.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/cert/CertificateRevokedException.java Mon Apr 27 09:17:39 2015 -0700
@@ -231,7 +231,7 @@
if (size == 0) {
extensions = Collections.emptyMap();
} else {
- extensions = new HashMap<String, Extension>(size);
+ extensions = new HashMap<>(size);
}
// Read in the extensions and put the mappings in the extensions map
--- a/jdk/src/java.base/share/classes/java/security/cert/PKIXParameters.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/cert/PKIXParameters.java Mon Apr 27 09:17:39 2015 -0700
@@ -120,8 +120,8 @@
setTrustAnchors(trustAnchors);
this.unmodInitialPolicies = Collections.<String>emptySet();
- this.certPathCheckers = new ArrayList<PKIXCertPathChecker>();
- this.certStores = new ArrayList<CertStore>();
+ this.certPathCheckers = new ArrayList<>();
+ this.certStores = new ArrayList<>();
}
/**
@@ -144,7 +144,7 @@
if (keystore == null)
throw new NullPointerException("the keystore parameter must be " +
"non-null");
- Set<TrustAnchor> hashSet = new HashSet<TrustAnchor>();
+ Set<TrustAnchor> hashSet = new HashSet<>();
Enumeration<String> aliases = keystore.aliases();
while (aliases.hasMoreElements()) {
String alias = aliases.nextElement();
@@ -156,8 +156,8 @@
}
setTrustAnchors(hashSet);
this.unmodInitialPolicies = Collections.<String>emptySet();
- this.certPathCheckers = new ArrayList<PKIXCertPathChecker>();
- this.certStores = new ArrayList<CertStore>();
+ this.certPathCheckers = new ArrayList<>();
+ this.certStores = new ArrayList<>();
}
/**
@@ -207,7 +207,7 @@
}
}
this.unmodTrustAnchors = Collections.unmodifiableSet
- (new HashSet<TrustAnchor>(trustAnchors));
+ (new HashSet<>(trustAnchors));
}
/**
@@ -256,7 +256,7 @@
+ "of type java.lang.String");
}
this.unmodInitialPolicies =
- Collections.unmodifiableSet(new HashSet<String>(initialPolicies));
+ Collections.unmodifiableSet(new HashSet<>(initialPolicies));
} else
this.unmodInitialPolicies = Collections.<String>emptySet();
}
@@ -280,7 +280,7 @@
*/
public void setCertStores(List<CertStore> stores) {
if (stores == null) {
- this.certStores = new ArrayList<CertStore>();
+ this.certStores = new ArrayList<>();
} else {
for (Iterator<CertStore> i = stores.iterator(); i.hasNext();) {
if (!(i.next() instanceof CertStore)) {
@@ -288,7 +288,7 @@
+ "of type java.security.cert.CertStore");
}
}
- this.certStores = new ArrayList<CertStore>(stores);
+ this.certStores = new ArrayList<>(stores);
}
}
@@ -316,7 +316,7 @@
*/
public List<CertStore> getCertStores() {
return Collections.unmodifiableList
- (new ArrayList<CertStore>(this.certStores));
+ (new ArrayList<>(this.certStores));
}
/**
@@ -544,14 +544,13 @@
*/
public void setCertPathCheckers(List<PKIXCertPathChecker> checkers) {
if (checkers != null) {
- List<PKIXCertPathChecker> tmpList =
- new ArrayList<PKIXCertPathChecker>();
+ List<PKIXCertPathChecker> tmpList = new ArrayList<>();
for (PKIXCertPathChecker checker : checkers) {
tmpList.add((PKIXCertPathChecker)checker.clone());
}
this.certPathCheckers = tmpList;
} else {
- this.certPathCheckers = new ArrayList<PKIXCertPathChecker>();
+ this.certPathCheckers = new ArrayList<>();
}
}
@@ -567,7 +566,7 @@
* @see #setCertPathCheckers
*/
public List<PKIXCertPathChecker> getCertPathCheckers() {
- List<PKIXCertPathChecker> tmpList = new ArrayList<PKIXCertPathChecker>();
+ List<PKIXCertPathChecker> tmpList = new ArrayList<>();
for (PKIXCertPathChecker ck : certPathCheckers) {
tmpList.add((PKIXCertPathChecker)ck.clone());
}
@@ -667,11 +666,11 @@
// must clone these because addCertStore, et al. modify them
if (certStores != null) {
- copy.certStores = new ArrayList<CertStore>(certStores);
+ copy.certStores = new ArrayList<>(certStores);
}
if (certPathCheckers != null) {
copy.certPathCheckers =
- new ArrayList<PKIXCertPathChecker>(certPathCheckers.size());
+ new ArrayList<>(certPathCheckers.size());
for (PKIXCertPathChecker checker : certPathCheckers) {
copy.certPathCheckers.add(
(PKIXCertPathChecker)checker.clone());
--- a/jdk/src/java.base/share/classes/java/security/cert/PKIXRevocationChecker.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/cert/PKIXRevocationChecker.java Mon Apr 27 09:17:39 2015 -0700
@@ -170,7 +170,7 @@
{
this.ocspExtensions = (extensions == null)
? Collections.<Extension>emptyList()
- : new ArrayList<Extension>(extensions);
+ : new ArrayList<>(extensions);
}
/**
@@ -232,7 +232,7 @@
public void setOptions(Set<Option> options) {
this.options = (options == null)
? Collections.<Option>emptySet()
- : new HashSet<Option>(options);
+ : new HashSet<>(options);
}
/**
--- a/jdk/src/java.base/share/classes/java/security/cert/X509CRLSelector.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/cert/X509CRLSelector.java Mon Apr 27 09:17:39 2015 -0700
@@ -124,8 +124,8 @@
issuerX500Principals = null;
} else {
// clone
- issuerX500Principals = new HashSet<X500Principal>(issuers);
- issuerNames = new HashSet<Object>();
+ issuerX500Principals = new HashSet<>(issuers);
+ issuerNames = new HashSet<>();
for (X500Principal p : issuerX500Principals) {
issuerNames.add(p.getEncoded());
}
@@ -288,10 +288,10 @@
*/
private void addIssuerNameInternal(Object name, X500Principal principal) {
if (issuerNames == null) {
- issuerNames = new HashSet<Object>();
+ issuerNames = new HashSet<>();
}
if (issuerX500Principals == null) {
- issuerX500Principals = new HashSet<X500Principal>();
+ issuerX500Principals = new HashSet<>();
}
issuerNames.add(name);
issuerX500Principals.add(principal);
@@ -311,7 +311,7 @@
private static HashSet<Object> cloneAndCheckIssuerNames(Collection<?> names)
throws IOException
{
- HashSet<Object> namesCopy = new HashSet<Object>();
+ HashSet<Object> namesCopy = new HashSet<>();
Iterator<?> i = names.iterator();
while (i.hasNext()) {
Object nameObject = i.next();
@@ -363,7 +363,7 @@
*/
private static HashSet<X500Principal> parseIssuerNames(Collection<Object> names)
throws IOException {
- HashSet<X500Principal> x500Principals = new HashSet<X500Principal>();
+ HashSet<X500Principal> x500Principals = new HashSet<>();
for (Iterator<Object> t = names.iterator(); t.hasNext(); ) {
Object nameObject = t.next();
if (nameObject instanceof String) {
@@ -701,9 +701,9 @@
X509CRLSelector copy = (X509CRLSelector)super.clone();
if (issuerNames != null) {
copy.issuerNames =
- new HashSet<Object>(issuerNames);
+ new HashSet<>(issuerNames);
copy.issuerX500Principals =
- new HashSet<X500Principal>(issuerX500Principals);
+ new HashSet<>(issuerX500Principals);
}
return copy;
} catch (CloneNotSupportedException e) {
--- a/jdk/src/java.base/share/classes/java/security/cert/X509CertSelector.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/security/cert/X509CertSelector.java Mon Apr 27 09:17:39 2015 -0700
@@ -619,8 +619,8 @@
keyPurposeOIDSet = null;
} else {
this.keyPurposeSet =
- Collections.unmodifiableSet(new HashSet<String>(keyPurposeSet));
- keyPurposeOIDSet = new HashSet<ObjectIdentifier>();
+ Collections.unmodifiableSet(new HashSet<>(keyPurposeSet));
+ keyPurposeOIDSet = new HashSet<>();
for (String s : this.keyPurposeSet) {
keyPurposeOIDSet.add(new ObjectIdentifier(s));
}
@@ -815,12 +815,12 @@
// First, ensure that the name parses
GeneralNameInterface tempName = makeGeneralNameInterface(type, name);
if (subjectAlternativeNames == null) {
- subjectAlternativeNames = new HashSet<List<?>>();
+ subjectAlternativeNames = new HashSet<>();
}
if (subjectAlternativeGeneralNames == null) {
- subjectAlternativeGeneralNames = new HashSet<GeneralNameInterface>();
+ subjectAlternativeGeneralNames = new HashSet<>();
}
- List<Object> list = new ArrayList<Object>(2);
+ List<Object> list = new ArrayList<>(2);
list.add(Integer.valueOf(type));
list.add(name);
subjectAlternativeNames.add(list);
@@ -845,7 +845,7 @@
* @throws IOException if a parsing error occurs
*/
private static Set<GeneralNameInterface> parseNames(Collection<List<?>> names) throws IOException {
- Set<GeneralNameInterface> genNames = new HashSet<GeneralNameInterface>();
+ Set<GeneralNameInterface> genNames = new HashSet<>();
for (List<?> nameList : names) {
if (nameList.size() != 2) {
throw new IOException("name list size not 2");
@@ -1096,10 +1096,10 @@
} else {
// Snapshot set and parse it
Set<String> tempSet = Collections.unmodifiableSet
- (new HashSet<String>(certPolicySet));
+ (new HashSet<>(certPolicySet));
/* Convert to Vector of ObjectIdentifiers */
Iterator<String> i = tempSet.iterator();
- Vector<CertificatePolicyId> polIdVector = new Vector<CertificatePolicyId>();
+ Vector<CertificatePolicyId> polIdVector = new Vector<>();
while (i.hasNext()) {
Object o = i.next();
if (!(o instanceof String)) {
@@ -1267,10 +1267,10 @@
// First, ensure that the name parses
GeneralNameInterface tempName = makeGeneralNameInterface(type, name);
if (pathToGeneralNames == null) {
- pathToNames = new HashSet<List<?>>();
- pathToGeneralNames = new HashSet<GeneralNameInterface>();
+ pathToNames = new HashSet<>();
+ pathToGeneralNames = new HashSet<>();
}
- List<Object> list = new ArrayList<Object>(2);
+ List<Object> list = new ArrayList<>(2);
list.add(Integer.valueOf(type));
list.add(name);
pathToNames.add(list);
@@ -1671,10 +1671,10 @@
*/
private static Set<List<?>> cloneAndCheckNames(Collection<List<?>> names) throws IOException {
// Copy the Lists and Collection
- Set<List<?>> namesCopy = new HashSet<List<?>>();
+ Set<List<?>> namesCopy = new HashSet<>();
for (List<?> o : names)
{
- namesCopy.add(new ArrayList<Object>(o));
+ namesCopy.add(new ArrayList<>(o));
}
// Check the contents of the Lists and clone any byte arrays
@@ -2397,7 +2397,7 @@
* Convert the Vector of PolicyInformation to a Vector
* of CertificatePolicyIds for easier comparison.
*/
- List<CertificatePolicyId> policyIDs = new ArrayList<CertificatePolicyId>(policies.size());
+ List<CertificatePolicyId> policyIDs = new ArrayList<>(policies.size());
for (PolicyInformation info : policies) {
policyIDs.add(info.getPolicyIdentifier());
}
--- a/jdk/src/java.base/share/classes/java/time/format/DateTimeParseContext.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/time/format/DateTimeParseContext.java Mon Apr 27 09:17:39 2015 -0700
@@ -399,7 +399,7 @@
*/
void addChronoChangedListener(Consumer<Chronology> listener) {
if (chronoListeners == null) {
- chronoListeners = new ArrayList<Consumer<Chronology>>();
+ chronoListeners = new ArrayList<>();
}
chronoListeners.add(listener);
}
--- a/jdk/src/java.base/share/classes/java/time/zone/ZoneRulesProvider.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/time/zone/ZoneRulesProvider.java Mon Apr 27 09:17:39 2015 -0700
@@ -141,7 +141,7 @@
// if the property java.time.zone.DefaultZoneRulesProvider is
// set then its value is the class name of the default provider
final List<ZoneRulesProvider> loaded = new ArrayList<>();
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Object run() {
String prop = System.getProperty("java.time.zone.DefaultZoneRulesProvider");
if (prop != null) {
--- a/jdk/src/java.base/share/classes/java/util/Calendar.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/util/Calendar.java Mon Apr 27 09:17:39 2015 -0700
@@ -3579,7 +3579,7 @@
ZoneInfo zi = null;
try {
zi = AccessController.doPrivileged(
- new PrivilegedExceptionAction<ZoneInfo>() {
+ new PrivilegedExceptionAction<>() {
@Override
public ZoneInfo run() throws Exception {
return (ZoneInfo) input.readObject();
--- a/jdk/src/java.base/share/classes/java/util/Currency.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/util/Currency.java Mon Apr 27 09:17:39 2015 -0700
@@ -212,7 +212,7 @@
private static final int VALID_FORMAT_VERSION = 2;
static {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public Void run() {
try {
--- a/jdk/src/java.base/share/classes/java/util/ResourceBundle.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/util/ResourceBundle.java Mon Apr 27 09:17:39 2015 -0700
@@ -2655,7 +2655,7 @@
InputStream stream = null;
try {
stream = AccessController.doPrivileged(
- new PrivilegedExceptionAction<InputStream>() {
+ new PrivilegedExceptionAction<>() {
public InputStream run() throws IOException {
InputStream is = null;
if (reloadFlag) {
--- a/jdk/src/java.base/share/classes/java/util/TimeZone.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/util/TimeZone.java Mon Apr 27 09:17:39 2015 -0700
@@ -678,7 +678,7 @@
assert tz != null;
final String id = zoneID;
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public Void run() {
System.setProperty("user.timezone", id);
--- a/jdk/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java Mon Apr 27 09:17:39 2015 -0700
@@ -2411,7 +2411,7 @@
int j = ((am & s) << ASHIFT) + ABASE;
U.putOrderedObject(a, j, task);
U.putOrderedInt(q, QTOP, s + 1);
- U.putOrderedInt(q, QLOCK, 0);
+ U.putIntVolatile(q, QLOCK, 0);
if (n <= 1)
signalWork(ws, q);
return;
--- a/jdk/src/java.base/share/classes/java/util/jar/JarFile.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/util/jar/JarFile.java Mon Apr 27 09:17:39 2015 -0700
@@ -593,7 +593,7 @@
if (includeUnsigned) {
return unsignedEntryNames();
} else {
- return new Enumeration<String>() {
+ return new Enumeration<>() {
public boolean hasMoreElements() {
return false;
@@ -619,7 +619,7 @@
// screen out entries which are never signed
final Enumeration<? extends ZipEntry> enum_ = super.entries();
- return new Enumeration<JarEntry>() {
+ return new Enumeration<>() {
ZipEntry entry;
@@ -669,7 +669,7 @@
private Enumeration<String> unsignedEntryNames() {
final Enumeration<JarEntry> entries = entries();
- return new Enumeration<String>() {
+ return new Enumeration<>() {
String name;
--- a/jdk/src/java.base/share/classes/java/util/jar/JarVerifier.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/util/jar/JarVerifier.java Mon Apr 27 09:17:39 2015 -0700
@@ -684,7 +684,7 @@
final List<CodeSigner[]> signersReq = req;
final Enumeration<String> enum2 = (matchUnsigned) ? unsignedEntryNames(jar) : emptyEnumeration;
- return new Enumeration<String>() {
+ return new Enumeration<>() {
String name;
@@ -726,7 +726,7 @@
final Map<String, CodeSigner[]> map = new HashMap<>();
map.putAll(signerMap());
final Enumeration<? extends ZipEntry> enum_ = e;
- return new Enumeration<JarEntry>() {
+ return new Enumeration<>() {
Enumeration<String> signers = null;
JarEntry entry;
@@ -786,7 +786,7 @@
private Enumeration<String> unsignedEntryNames(JarFile jar) {
final Map<String, CodeSigner[]> map = signerMap();
final Enumeration<JarEntry> entries = jar.entries();
- return new Enumeration<String>() {
+ return new Enumeration<>() {
String name;
--- a/jdk/src/java.base/share/classes/javax/crypto/JceSecurity.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/javax/crypto/JceSecurity.java Mon Apr 27 09:17:39 2015 -0700
@@ -76,7 +76,7 @@
static {
try {
AccessController.doPrivileged(
- new PrivilegedExceptionAction<Void> () {
+ new PrivilegedExceptionAction<> () {
@Override
public Void run() throws Exception {
setupJurisdictionPolicies();
@@ -225,7 +225,7 @@
URL url = codeBaseCacheRef.get(clazz);
if (url == null) {
url = AccessController.doPrivileged(
- new PrivilegedAction<URL>() {
+ new PrivilegedAction<>() {
@Override
public URL run() {
ProtectionDomain pd = clazz.getProtectionDomain();
--- a/jdk/src/java.base/share/classes/javax/crypto/JceSecurityManager.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/javax/crypto/JceSecurityManager.java Mon Apr 27 09:17:39 2015 -0700
@@ -66,7 +66,7 @@
exemptPolicy = JceSecurity.getExemptPolicy();
allPerm = CryptoAllPermission.INSTANCE;
INSTANCE = AccessController.doPrivileged(
- new PrivilegedAction<JceSecurityManager>() {
+ new PrivilegedAction<>() {
public JceSecurityManager run() {
return new JceSecurityManager();
}
--- a/jdk/src/java.base/share/classes/javax/net/ssl/KeyManagerFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/javax/net/ssl/KeyManagerFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -63,7 +63,7 @@
*/
public final static String getDefaultAlgorithm() {
String type;
- type = AccessController.doPrivileged(new PrivilegedAction<String>() {
+ type = AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public String run() {
return Security.getProperty(
--- a/jdk/src/java.base/share/classes/javax/net/ssl/SSLSocketFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/javax/net/ssl/SSLSocketFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -126,7 +126,7 @@
}
static String getSecurityProperty(final String name) {
- return AccessController.doPrivileged(new PrivilegedAction<String>() {
+ return AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public String run() {
String s = java.security.Security.getProperty(name);
--- a/jdk/src/java.base/share/classes/javax/net/ssl/TrustManagerFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/javax/net/ssl/TrustManagerFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -63,7 +63,7 @@
*/
public final static String getDefaultAlgorithm() {
String type;
- type = AccessController.doPrivileged(new PrivilegedAction<String>() {
+ type = AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public String run() {
return Security.getProperty(
--- a/jdk/src/java.base/share/classes/javax/security/auth/Subject.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/javax/security/auth/Subject.java Mon Apr 27 09:17:39 2015 -0700
@@ -154,11 +154,11 @@
public Subject() {
this.principals = Collections.synchronizedSet
- (new SecureSet<Principal>(this, PRINCIPAL_SET));
+ (new SecureSet<>(this, PRINCIPAL_SET));
this.pubCredentials = Collections.synchronizedSet
- (new SecureSet<Object>(this, PUB_CREDENTIAL_SET));
+ (new SecureSet<>(this, PUB_CREDENTIAL_SET));
this.privCredentials = Collections.synchronizedSet
- (new SecureSet<Object>(this, PRIV_CREDENTIAL_SET));
+ (new SecureSet<>(this, PRIV_CREDENTIAL_SET));
}
/**
@@ -206,11 +206,11 @@
collectionNullClean(pubCredentials);
collectionNullClean(privCredentials);
- this.principals = Collections.synchronizedSet(new SecureSet<Principal>
+ this.principals = Collections.synchronizedSet(new SecureSet<>
(this, PRINCIPAL_SET, principals));
- this.pubCredentials = Collections.synchronizedSet(new SecureSet<Object>
+ this.pubCredentials = Collections.synchronizedSet(new SecureSet<>
(this, PUB_CREDENTIAL_SET, pubCredentials));
- this.privCredentials = Collections.synchronizedSet(new SecureSet<Object>
+ this.privCredentials = Collections.synchronizedSet(new SecureSet<>
(this, PRIV_CREDENTIAL_SET, privCredentials));
this.readOnly = readOnly;
}
@@ -292,7 +292,7 @@
// return the Subject from the DomainCombiner of the provided context
return AccessController.doPrivileged
- (new java.security.PrivilegedAction<Subject>() {
+ (new java.security.PrivilegedAction<>() {
public Subject run() {
DomainCombiner dc = acc.getDomainCombiner();
if (!(dc instanceof SubjectDomainCombiner)) {
@@ -555,7 +555,7 @@
return java.security.AccessController.doPrivileged
- (new java.security.PrivilegedAction<AccessControlContext>() {
+ (new java.security.PrivilegedAction<>() {
public AccessControlContext run() {
if (subject == null) {
return new AccessControlContext(acc, null);
@@ -801,7 +801,7 @@
Set<Principal> thatPrincipals;
synchronized(that.principals) {
// avoid deadlock from dual locks
- thatPrincipals = new HashSet<Principal>(that.principals);
+ thatPrincipals = new HashSet<>(that.principals);
}
if (!principals.equals(thatPrincipals)) {
return false;
@@ -810,7 +810,7 @@
Set<Object> thatPubCredentials;
synchronized(that.pubCredentials) {
// avoid deadlock from dual locks
- thatPubCredentials = new HashSet<Object>(that.pubCredentials);
+ thatPubCredentials = new HashSet<>(that.pubCredentials);
}
if (!pubCredentials.equals(thatPubCredentials)) {
return false;
@@ -819,7 +819,7 @@
Set<Object> thatPrivCredentials;
synchronized(that.privCredentials) {
// avoid deadlock from dual locks
- thatPrivCredentials = new HashSet<Object>(that.privCredentials);
+ thatPrivCredentials = new HashSet<>(that.privCredentials);
}
if (!privCredentials.equals(thatPrivCredentials)) {
return false;
@@ -970,21 +970,21 @@
// Rewrap the principals into a SecureSet
try {
- principals = Collections.synchronizedSet(new SecureSet<Principal>
+ principals = Collections.synchronizedSet(new SecureSet<>
(this, PRINCIPAL_SET, inputPrincs));
} catch (NullPointerException npe) {
// Sometimes people deserialize the principals set only.
// Subject is not accessible, so just don't fail.
principals = Collections.synchronizedSet
- (new SecureSet<Principal>(this, PRINCIPAL_SET));
+ (new SecureSet<>(this, PRINCIPAL_SET));
}
// The Credential {@code Set} is not serialized, but we do not
// want the default deserialization routine to set it to null.
this.pubCredentials = Collections.synchronizedSet
- (new SecureSet<Object>(this, PUB_CREDENTIAL_SET));
+ (new SecureSet<>(this, PUB_CREDENTIAL_SET));
this.privCredentials = Collections.synchronizedSet
- (new SecureSet<Object>(this, PRIV_CREDENTIAL_SET));
+ (new SecureSet<>(this, PRIV_CREDENTIAL_SET));
}
/**
@@ -1497,7 +1497,7 @@
Object next;
if (which == Subject.PRIV_CREDENTIAL_SET) {
next = java.security.AccessController.doPrivileged
- (new java.security.PrivilegedAction<Object>() {
+ (new java.security.PrivilegedAction<>() {
public Object run() {
return iterator.next();
}
--- a/jdk/src/java.base/share/classes/javax/security/auth/login/Configuration.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/javax/security/auth/login/Configuration.java Mon Apr 27 09:17:39 2015 -0700
@@ -229,7 +229,7 @@
if (configuration == null) {
String config_class = null;
config_class = AccessController.doPrivileged
- (new PrivilegedAction<String>() {
+ (new PrivilegedAction<>() {
public String run() {
return java.security.Security.getProperty
("login.configuration.provider");
@@ -242,7 +242,7 @@
try {
final String finalClass = config_class;
Configuration untrustedImpl = AccessController.doPrivileged(
- new PrivilegedExceptionAction<Configuration>() {
+ new PrivilegedExceptionAction<>() {
public Configuration run() throws ClassNotFoundException,
InstantiationException,
IllegalAccessException {
@@ -254,7 +254,7 @@
}
});
AccessController.doPrivileged(
- new PrivilegedExceptionAction<Void>() {
+ new PrivilegedExceptionAction<>() {
public Void run() {
setConfiguration(untrustedImpl);
return null;
--- a/jdk/src/java.base/share/classes/javax/security/cert/X509Certificate.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/javax/security/cert/X509Certificate.java Mon Apr 27 09:17:39 2015 -0700
@@ -142,7 +142,7 @@
static {
X509Provider = AccessController.doPrivileged(
- new PrivilegedAction<String>() {
+ new PrivilegedAction<>() {
public String run() {
return Security.getProperty(X509_PROVIDER);
}
--- a/jdk/src/java.base/share/classes/sun/misc/Cleaner.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/misc/Cleaner.java Mon Apr 27 09:17:39 2015 -0700
@@ -142,7 +142,7 @@
try {
thunk.run();
} catch (final Throwable x) {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
if (System.err != null)
new Error("Cleaner terminated abnormally", x)
--- a/jdk/src/java.base/share/classes/sun/misc/URLClassPath.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/misc/URLClassPath.java Mon Apr 27 09:17:39 2015 -0700
@@ -97,16 +97,16 @@
}
/* The original search path of URLs. */
- private ArrayList<URL> path = new ArrayList<URL>();
+ private ArrayList<URL> path = new ArrayList<>();
/* The stack of unopened URLs */
- Stack<URL> urls = new Stack<URL>();
+ Stack<URL> urls = new Stack<>();
/* The resulting search path of Loaders */
- ArrayList<Loader> loaders = new ArrayList<Loader>();
+ ArrayList<Loader> loaders = new ArrayList<>();
/* Map of each URL opened to its corresponding Loader */
- HashMap<String, Loader> lmap = new HashMap<String, Loader>();
+ HashMap<String, Loader> lmap = new HashMap<>();
/* The jar protocol handler to use when creating new URLs */
private URLStreamHandler jarHandler;
@@ -142,7 +142,7 @@
if (closed) {
return Collections.emptyList();
}
- List<IOException> result = new LinkedList<IOException>();
+ List<IOException> result = new LinkedList<>();
for (Loader loader : loaders) {
try {
loader.close();
@@ -234,7 +234,7 @@
*/
public Enumeration<URL> findResources(final String name,
final boolean check) {
- return new Enumeration<URL>() {
+ return new Enumeration<>() {
private int index = 0;
private URL url = null;
@@ -281,7 +281,7 @@
*/
public Enumeration<Resource> getResources(final String name,
final boolean check) {
- return new Enumeration<Resource>() {
+ return new Enumeration<>() {
private int index = 0;
private Resource res = null;
@@ -374,7 +374,7 @@
private Loader getLoader(final URL url) throws IOException {
try {
return java.security.AccessController.doPrivileged(
- new java.security.PrivilegedExceptionAction<Loader>() {
+ new java.security.PrivilegedExceptionAction<>() {
public Loader run() throws IOException {
String file = url.getFile();
if (file != null && file.endsWith("/")) {
@@ -689,7 +689,7 @@
if (jar == null) {
try {
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedExceptionAction<Void>() {
+ new java.security.PrivilegedExceptionAction<>() {
public Void run() throws IOException {
if (DEBUG) {
System.err.println("Opening " + csu);
@@ -870,7 +870,7 @@
if (index == null)
return null;
- HashSet<String> visited = new HashSet<String>();
+ HashSet<String> visited = new HashSet<>();
return getResource(name, check, visited);
}
@@ -912,7 +912,7 @@
* before
*/
newLoader = AccessController.doPrivileged(
- new PrivilegedExceptionAction<JarLoader>() {
+ new PrivilegedExceptionAction<>() {
public JarLoader run() throws IOException {
return new JarLoader(url, handler,
lmap);
--- a/jdk/src/java.base/share/classes/sun/net/NetworkClient.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/net/NetworkClient.java Mon Apr 27 09:17:39 2015 -0700
@@ -69,7 +69,7 @@
final String encs[] = { null };
AccessController.doPrivileged(
- new PrivilegedAction<Void>() {
+ new PrivilegedAction<>() {
public Void run() {
vals[0] = Integer.getInteger("sun.net.client.defaultReadTimeout", 0).intValue();
vals[1] = Integer.getInteger("sun.net.client.defaultConnectTimeout", 0).intValue();
@@ -154,7 +154,7 @@
if (proxy != null) {
if (proxy.type() == Proxy.Type.SOCKS) {
s = AccessController.doPrivileged(
- new PrivilegedAction<Socket>() {
+ new PrivilegedAction<>() {
public Socket run() {
return new Socket(proxy);
}});
@@ -201,7 +201,7 @@
if (serverSocket == null)
throw new IOException("not connected");
return AccessController.doPrivileged(
- new PrivilegedAction<InetAddress>() {
+ new PrivilegedAction<>() {
public InetAddress run() {
return serverSocket.getLocalAddress();
--- a/jdk/src/java.base/share/classes/sun/net/ProgressMonitor.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/net/ProgressMonitor.java Mon Apr 27 09:17:39 2015 -0700
@@ -64,7 +64,7 @@
* Return a snapshot of the ProgressSource list
*/
public ArrayList<ProgressSource> getProgressSources() {
- ArrayList<ProgressSource> snapshot = new ArrayList<ProgressSource>();
+ ArrayList<ProgressSource> snapshot = new ArrayList<>();
try {
synchronized(progressSourceList) {
@@ -114,7 +114,7 @@
if (progressListenerList.size() > 0)
{
// Notify progress listener if there is progress change
- ArrayList<ProgressListener> listeners = new ArrayList<ProgressListener>();
+ ArrayList<ProgressListener> listeners = new ArrayList<>();
// Copy progress listeners to another list to avoid holding locks
synchronized(progressListenerList) {
@@ -151,7 +151,7 @@
if (progressListenerList.size() > 0)
{
// Notify progress listener if there is progress change
- ArrayList<ProgressListener> listeners = new ArrayList<ProgressListener>();
+ ArrayList<ProgressListener> listeners = new ArrayList<>();
// Copy progress listeners to another list to avoid holding locks
synchronized(progressListenerList) {
@@ -183,7 +183,7 @@
if (progressListenerList.size() > 0)
{
// Notify progress listener if there is progress change
- ArrayList<ProgressListener> listeners = new ArrayList<ProgressListener>();
+ ArrayList<ProgressListener> listeners = new ArrayList<>();
// Copy progress listeners to another list to avoid holding locks
synchronized(progressListenerList) {
--- a/jdk/src/java.base/share/classes/sun/net/www/MessageHeader.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/net/www/MessageHeader.java Mon Apr 27 09:17:39 2015 -0700
@@ -244,7 +244,7 @@
public synchronized Map<String, List<String>> filterAndAddHeaders(
String[] excludeList, Map<String, List<String>> include) {
boolean skipIt = false;
- Map<String, List<String>> m = new HashMap<String, List<String>>();
+ Map<String, List<String>> m = new HashMap<>();
for (int i = nkeys; --i >= 0;) {
if (excludeList != null) {
// check if the key is in the excludeList.
@@ -260,7 +260,7 @@
if (!skipIt) {
List<String> l = m.get(keys[i]);
if (l == null) {
- l = new ArrayList<String>();
+ l = new ArrayList<>();
m.put(keys[i], l);
}
l.add(values[i]);
@@ -274,7 +274,7 @@
for (Map.Entry<String,List<String>> entry: include.entrySet()) {
List<String> l = m.get(entry.getKey());
if (l == null) {
- l = new ArrayList<String>();
+ l = new ArrayList<>();
m.put(entry.getKey(), l);
}
l.addAll(entry.getValue());
--- a/jdk/src/java.base/share/classes/sun/net/www/http/HttpCapture.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/net/www/http/HttpCapture.java Mon Apr 27 09:17:39 2015 -0700
@@ -64,7 +64,7 @@
private static synchronized void init() {
initialized = true;
String rulesFile = java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<String>() {
+ new java.security.PrivilegedAction<>() {
public String run() {
return NetProperties.get("sun.net.http.captureRules");
}
@@ -85,8 +85,8 @@
String[] s = line.split(",");
if (s.length == 2) {
if (patterns == null) {
- patterns = new ArrayList<Pattern>();
- capFiles = new ArrayList<String>();
+ patterns = new ArrayList<>();
+ capFiles = new ArrayList<>();
}
patterns.add(Pattern.compile(s[0].trim()));
capFiles.add(s[1].trim());
--- a/jdk/src/java.base/share/classes/sun/net/www/http/HttpClient.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/net/www/http/HttpClient.java Mon Apr 27 09:17:39 2015 -0700
@@ -479,7 +479,7 @@
{
try {
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedExceptionAction<Void>() {
+ new java.security.PrivilegedExceptionAction<>() {
public Void run() throws IOException {
openServer(server.getHostString(), server.getPort());
return null;
--- a/jdk/src/java.base/share/classes/sun/net/www/http/KeepAliveCache.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/net/www/http/KeepAliveCache.java Mon Apr 27 09:17:39 2015 -0700
@@ -94,7 +94,7 @@
*/
final KeepAliveCache cache = this;
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<Void>() {
+ new java.security.PrivilegedAction<>() {
public Void run() {
keepAliveTimer = new InnocuousThread(cache, "Keep-Alive-Timer");
keepAliveTimer.setDaemon(true);
@@ -178,7 +178,7 @@
long currentTime = System.currentTimeMillis();
ArrayList<KeepAliveKey> keysToRemove
- = new ArrayList<KeepAliveKey>();
+ = new ArrayList<>();
for (KeepAliveKey key : keySet()) {
ClientVector v = get(key);
--- a/jdk/src/java.base/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java Mon Apr 27 09:17:39 2015 -0700
@@ -122,7 +122,7 @@
this.dontUseNegotiate = dontUseNegotiate;
rsp = response;
this.hdrname = hdrname;
- schemes = new HashMap<String,SchemeMapValue>();
+ schemes = new HashMap<>();
parse();
}
--- a/jdk/src/java.base/share/classes/sun/net/www/protocol/http/DigestAuthentication.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/net/www/protocol/http/DigestAuthentication.java Mon Apr 27 09:17:39 2015 -0700
@@ -62,7 +62,7 @@
static {
Boolean b = AccessController.doPrivileged(
- new PrivilegedAction<Boolean>() {
+ new PrivilegedAction<>() {
public Boolean run() {
return NetProperties.getBoolean(compatPropName);
}
--- a/jdk/src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Mon Apr 27 09:17:39 2015 -0700
@@ -244,7 +244,7 @@
new sun.security.action.GetBooleanAction(
"sun.net.http.allowRestrictedHeaders")).booleanValue();
if (!allowRestrictedHeaders) {
- restrictedHeaderSet = new HashSet<String>(restrictedHeaders.length);
+ restrictedHeaderSet = new HashSet<>(restrictedHeaders.length);
for (int i=0; i < restrictedHeaders.length; i++) {
restrictedHeaderSet.add(restrictedHeaders[i].toLowerCase());
}
@@ -413,7 +413,7 @@
final URL url,
final RequestorType authType) {
return java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<PasswordAuthentication>() {
+ new java.security.PrivilegedAction<>() {
public PasswordAuthentication run() {
if (logger.isLoggable(PlatformLogger.Level.FINEST)) {
logger.finest("Requesting Authentication: host =" + host + " url = " + url);
@@ -817,14 +817,14 @@
} catch (SecurityException se) { /* swallow exception */ }
} else {
cookieHandler = java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<CookieHandler>() {
+ new java.security.PrivilegedAction<>() {
public CookieHandler run() {
return CookieHandler.getDefault();
}
});
}
cacheHandler = java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<ResponseCache>() {
+ new java.security.PrivilegedAction<>() {
public ResponseCache run() {
return ResponseCache.getDefault();
}
@@ -909,7 +909,7 @@
final boolean result[] = {false};
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<Void>() {
+ new java.security.PrivilegedAction<>() {
public Void run() {
try {
InetAddress a1 = InetAddress.getByName(h1);
@@ -954,7 +954,7 @@
try {
// lookup hostname and use IP address if available
host = AccessController.doPrivileged(
- new PrivilegedExceptionAction<String>() {
+ new PrivilegedExceptionAction<>() {
public String run() throws IOException {
InetAddress addr = InetAddress.getByName(hostarg);
return addr.getHostAddress();
@@ -984,7 +984,7 @@
if (p != null) {
try {
AccessController.doPrivileged(
- new PrivilegedExceptionAction<Void>() {
+ new PrivilegedExceptionAction<>() {
public Void run() throws IOException {
plainConnect0();
return null;
@@ -1086,7 +1086,7 @@
*/
ProxySelector sel =
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<ProxySelector>() {
+ new java.security.PrivilegedAction<>() {
public ProxySelector run() {
return ProxySelector.getDefault();
}
@@ -1245,7 +1245,7 @@
if (p != null) {
try {
return AccessController.doPrivileged(
- new PrivilegedExceptionAction<OutputStream>() {
+ new PrivilegedExceptionAction<>() {
public OutputStream run() throws IOException {
return getOutputStream0();
}
@@ -1423,7 +1423,7 @@
if (p != null) {
try {
return AccessController.doPrivileged(
- new PrivilegedExceptionAction<InputStream>() {
+ new PrivilegedExceptionAction<>() {
public InputStream run() throws IOException {
return getInputStream0();
}
@@ -1877,7 +1877,7 @@
final Object[] args = { rememberedException.getMessage() };
IOException chainedException =
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedExceptionAction<IOException>() {
+ new java.security.PrivilegedExceptionAction<>() {
public IOException run() throws Exception {
return (IOException)
rememberedException.getClass()
@@ -2204,7 +2204,7 @@
try {
final String finalHost = host;
addr = java.security.AccessController.doPrivileged(
- new java.security.PrivilegedExceptionAction<InetAddress>() {
+ new java.security.PrivilegedExceptionAction<>() {
public InetAddress run()
throws java.net.UnknownHostException {
return InetAddress.getByName(finalHost);
@@ -2566,7 +2566,7 @@
if (p != null) {
try {
return AccessController.doPrivileged(
- new PrivilegedExceptionAction<Boolean>() {
+ new PrivilegedExceptionAction<>() {
public Boolean run() throws IOException {
return followRedirect0(loc, stat, locUrl0);
}
--- a/jdk/src/java.base/share/classes/sun/net/www/protocol/jar/URLJarFile.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/net/www/protocol/jar/URLJarFile.java Mon Apr 27 09:17:39 2015 -0700
@@ -213,7 +213,7 @@
/* get the stream before asserting privileges */
try (final InputStream in = url.openConnection().getInputStream()) {
result = AccessController.doPrivileged(
- new PrivilegedExceptionAction<JarFile>() {
+ new PrivilegedExceptionAction<>() {
public JarFile run() throws IOException {
Path tmpFile = Files.createTempFile("jar_cache", null);
try {
--- a/jdk/src/java.base/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -76,7 +76,7 @@
this.pool = pool;
if (pool.isFixedThreadPool()) {
- taskQueue = new ConcurrentLinkedQueue<Runnable>();
+ taskQueue = new ConcurrentLinkedQueue<>();
} else {
taskQueue = null; // not used
}
@@ -115,7 +115,7 @@
}
private void startInternalThread(final Runnable task) {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public Void run() {
// internal threads should not be visible to application so
@@ -246,7 +246,7 @@
abstract void shutdownHandlerTasks();
private void shutdownExecutors() {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
pool.executor().shutdown();
timeoutExecutor.shutdown();
@@ -323,7 +323,7 @@
task = new Runnable() {
@Override
public void run() {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public Void run() {
delegate.run();
--- a/jdk/src/java.base/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -228,7 +228,7 @@
static final Set<SocketOption<?>> defaultOptions = defaultOptions();
private static Set<SocketOption<?>> defaultOptions() {
- HashSet<SocketOption<?>> set = new HashSet<SocketOption<?>>(2);
+ HashSet<SocketOption<?>> set = new HashSet<>(2);
set.add(StandardSocketOptions.SO_RCVBUF);
set.add(StandardSocketOptions.SO_REUSEADDR);
return Collections.unmodifiableSet(set);
--- a/jdk/src/java.base/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -503,7 +503,7 @@
static final Set<SocketOption<?>> defaultOptions = defaultOptions();
private static Set<SocketOption<?>> defaultOptions() {
- HashSet<SocketOption<?>> set = new HashSet<SocketOption<?>>(5);
+ HashSet<SocketOption<?>> set = new HashSet<>(5);
set.add(StandardSocketOptions.SO_SNDBUF);
set.add(StandardSocketOptions.SO_RCVBUF);
set.add(StandardSocketOptions.SO_KEEPALIVE);
--- a/jdk/src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -294,7 +294,7 @@
static final Set<SocketOption<?>> defaultOptions = defaultOptions();
private static Set<SocketOption<?>> defaultOptions() {
- HashSet<SocketOption<?>> set = new HashSet<SocketOption<?>>(8);
+ HashSet<SocketOption<?>> set = new HashSet<>(8);
set.add(StandardSocketOptions.SO_SNDBUF);
set.add(StandardSocketOptions.SO_RCVBUF);
set.add(StandardSocketOptions.SO_REUSEADDR);
--- a/jdk/src/java.base/share/classes/sun/nio/ch/MembershipKeyImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/nio/ch/MembershipKeyImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -184,7 +184,7 @@
// created blocked set if required and add source address
if (blockedSet == null)
- blockedSet = new HashSet<InetAddress>();
+ blockedSet = new HashSet<>();
blockedSet.add(toBlock);
}
return this;
--- a/jdk/src/java.base/share/classes/sun/nio/ch/MembershipRegistry.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/nio/ch/MembershipRegistry.java Mon Apr 27 09:17:39 2015 -0700
@@ -84,13 +84,13 @@
InetAddress group = key.group();
List<MembershipKeyImpl> keys;
if (groups == null) {
- groups = new HashMap<InetAddress,List<MembershipKeyImpl>>();
+ groups = new HashMap<>();
keys = null;
} else {
keys = groups.get(group);
}
if (keys == null) {
- keys = new LinkedList<MembershipKeyImpl>();
+ keys = new LinkedList<>();
groups.put(group, keys);
}
keys.add(key);
--- a/jdk/src/java.base/share/classes/sun/nio/ch/SelectorImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/nio/ch/SelectorImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -52,8 +52,8 @@
protected SelectorImpl(SelectorProvider sp) {
super(sp);
- keys = new HashSet<SelectionKey>();
- selectedKeys = new HashSet<SelectionKey>();
+ keys = new HashSet<>();
+ selectedKeys = new HashSet<>();
if (Util.atBugLevel("1.4")) {
publicKeys = keys;
publicSelectedKeys = selectedKeys;
--- a/jdk/src/java.base/share/classes/sun/nio/ch/ServerSocketChannelImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/nio/ch/ServerSocketChannelImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -182,7 +182,7 @@
static final Set<SocketOption<?>> defaultOptions = defaultOptions();
private static Set<SocketOption<?>> defaultOptions() {
- HashSet<SocketOption<?>> set = new HashSet<SocketOption<?>>(2);
+ HashSet<SocketOption<?>> set = new HashSet<>(2);
set.add(StandardSocketOptions.SO_RCVBUF);
set.add(StandardSocketOptions.SO_REUSEADDR);
set.add(StandardSocketOptions.IP_TOS);
--- a/jdk/src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -229,7 +229,7 @@
static final Set<SocketOption<?>> defaultOptions = defaultOptions();
private static Set<SocketOption<?>> defaultOptions() {
- HashSet<SocketOption<?>> set = new HashSet<SocketOption<?>>(8);
+ HashSet<SocketOption<?>> set = new HashSet<>(8);
set.add(StandardSocketOptions.SO_SNDBUF);
set.add(StandardSocketOptions.SO_RCVBUF);
set.add(StandardSocketOptions.SO_KEEPALIVE);
--- a/jdk/src/java.base/share/classes/sun/nio/cs/CharsetMapping.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/nio/cs/CharsetMapping.java Mon Apr 27 09:17:39 2015 -0700
@@ -135,7 +135,7 @@
// init the CharsetMapping object from the .dat binary file
public static CharsetMapping get(final InputStream is) {
- return AccessController.doPrivileged(new PrivilegedAction<CharsetMapping>() {
+ return AccessController.doPrivileged(new PrivilegedAction<>() {
public CharsetMapping run() {
return new CharsetMapping().load(is);
}
--- a/jdk/src/java.base/share/classes/sun/nio/fs/AbstractPoller.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/nio/fs/AbstractPoller.java Mon Apr 27 09:17:39 2015 -0700
@@ -48,7 +48,7 @@
private boolean shutdown;
protected AbstractPoller() {
- this.requestList = new LinkedList<Request>();
+ this.requestList = new LinkedList<>();
this.shutdown = false;
}
@@ -57,7 +57,7 @@
*/
public void start() {
final Runnable thisRunnable = this;
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public Object run() {
Thread thr = new ManagedLocalsThread(thisRunnable);
--- a/jdk/src/java.base/share/classes/sun/nio/fs/AbstractWatchKey.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/nio/fs/AbstractWatchKey.java Mon Apr 27 09:17:39 2015 -0700
@@ -70,8 +70,8 @@
this.watcher = watcher;
this.dir = dir;
this.state = State.READY;
- this.events = new ArrayList<WatchEvent<?>>();
- this.lastModifyEvents = new HashMap<Object,WatchEvent<?>>();
+ this.events = new ArrayList<>();
+ this.lastModifyEvents = new HashMap<>();
}
final AbstractWatchService watcher() {
@@ -146,7 +146,7 @@
// non-repeated event
Event<Object> ev =
- new Event<Object>((WatchEvent.Kind<Object>)kind, context);
+ new Event<>((WatchEvent.Kind<Object>)kind, context);
if (isModify) {
lastModifyEvents.put(context, ev);
} else if (kind == StandardWatchEventKinds.OVERFLOW) {
@@ -163,7 +163,7 @@
public final List<WatchEvent<?>> pollEvents() {
synchronized (this) {
List<WatchEvent<?>> result = events;
- events = new ArrayList<WatchEvent<?>>();
+ events = new ArrayList<>();
lastModifyEvents.clear();
return result;
}
--- a/jdk/src/java.base/share/classes/sun/reflect/ReflectionFactory.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/reflect/ReflectionFactory.java Mon Apr 27 09:17:39 2015 -0700
@@ -375,7 +375,7 @@
private static void checkInitted() {
if (initted) return;
AccessController.doPrivileged(
- new PrivilegedAction<Void>() {
+ new PrivilegedAction<>() {
public Void run() {
// Tests to ensure the system properties table is fully
// initialized. This is needed because reflection code is
--- a/jdk/src/java.base/share/classes/sun/reflect/annotation/AnnotationType.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/reflect/annotation/AnnotationType.java Mon Apr 27 09:17:39 2015 -0700
@@ -106,16 +106,16 @@
throw new IllegalArgumentException("Not an annotation type");
Method[] methods =
- AccessController.doPrivileged(new PrivilegedAction<Method[]>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Method[] run() {
// Initialize memberTypes and defaultValues
return annotationClass.getDeclaredMethods();
}
});
- memberTypes = new HashMap<String,Class<?>>(methods.length+1, 1.0f);
- memberDefaults = new HashMap<String, Object>(0);
- members = new HashMap<String, Method>(methods.length+1, 1.0f);
+ memberTypes = new HashMap<>(methods.length+1, 1.0f);
+ memberDefaults = new HashMap<>(0);
+ members = new HashMap<>(methods.length+1, 1.0f);
for (Method method : methods) {
if (method.getParameterTypes().length != 0)
--- a/jdk/src/java.base/share/classes/sun/security/pkcs/PKCS7.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/pkcs/PKCS7.java Mon Apr 27 09:17:39 2015 -0700
@@ -530,7 +530,7 @@
// CRLs (optional)
if (crls != null && crls.length != 0) {
// cast to X509CRLImpl[] since X509CRLImpl implements DerEncoder
- Set<X509CRLImpl> implCRLs = new HashSet<X509CRLImpl>(crls.length);
+ Set<X509CRLImpl> implCRLs = new HashSet<>(crls.length);
for (X509CRL crl: crls) {
if (crl instanceof X509CRLImpl)
implCRLs.add((X509CRLImpl) crl);
@@ -590,7 +590,7 @@
public SignerInfo[] verify(byte[] bytes)
throws NoSuchAlgorithmException, SignatureException {
- Vector<SignerInfo> intResult = new Vector<SignerInfo>();
+ Vector<SignerInfo> intResult = new Vector<>();
for (int i = 0; i < signerInfos.length; i++) {
SignerInfo signerInfo = verify(signerInfos[i], bytes);
--- a/jdk/src/java.base/share/classes/sun/security/pkcs/PKCS9Attributes.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/pkcs/PKCS9Attributes.java Mon Apr 27 09:17:39 2015 -0700
@@ -85,8 +85,7 @@
DerInputStream in) throws IOException {
if (permittedAttributes != null) {
this.permittedAttributes =
- new Hashtable<ObjectIdentifier, ObjectIdentifier>(
- permittedAttributes.length);
+ new Hashtable<>(permittedAttributes.length);
for (int i = 0; i < permittedAttributes.length; i++)
this.permittedAttributes.put(permittedAttributes[i],
--- a/jdk/src/java.base/share/classes/sun/security/pkcs/SignerInfo.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/pkcs/SignerInfo.java Mon Apr 27 09:17:39 2015 -0700
@@ -237,7 +237,7 @@
if (userCert == null)
return null;
- ArrayList<X509Certificate> certList = new ArrayList<X509Certificate>();
+ ArrayList<X509Certificate> certList = new ArrayList<>();
certList.add(userCert);
X509Certificate[] pkcsCerts = block.getCertificates();
--- a/jdk/src/java.base/share/classes/sun/security/provider/SeedGenerator.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/provider/SeedGenerator.java Mon Apr 27 09:17:39 2015 -0700
@@ -165,7 +165,7 @@
md.update(b);
java.security.AccessController.doPrivileged
- (new java.security.PrivilegedAction<Void>() {
+ (new java.security.PrivilegedAction<>() {
@Override
public Void run() {
try {
@@ -295,7 +295,7 @@
final ThreadGroup[] finalsg = new ThreadGroup[1];
Thread t = java.security.AccessController.doPrivileged
- (new java.security.PrivilegedAction<Thread>() {
+ (new java.security.PrivilegedAction<>() {
@Override
public Thread run() {
ThreadGroup parent, group =
@@ -501,7 +501,7 @@
final URL device = new URL(deviceName);
try {
seedStream = java.security.AccessController.doPrivileged
- (new java.security.PrivilegedExceptionAction<InputStream>() {
+ (new java.security.PrivilegedExceptionAction<>() {
@Override
public InputStream run() throws IOException {
/*
--- a/jdk/src/java.base/share/classes/sun/security/provider/certpath/Builder.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/provider/certpath/Builder.java Mon Apr 27 09:17:39 2015 -0700
@@ -102,8 +102,8 @@
/**
* Verifies whether the input certificate completes the path.
- * When building forward, a trust anchor will complete the path.
- * When building reverse, the target certificate will complete the path.
+ * When building in the forward direction, a trust anchor will
+ * complete the path.
*
* @param cert the certificate to test
* @return a boolean value indicating whether the cert completes the path.
--- a/jdk/src/java.base/share/classes/sun/security/provider/certpath/PKIX.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/provider/certpath/PKIX.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,6 @@
package sun.security.provider.certpath;
import java.security.InvalidAlgorithmParameterException;
-import java.security.KeyStore;
import java.security.PublicKey;
import java.security.cert.*;
import java.security.interfaces.DSAPublicKey;
@@ -194,7 +193,6 @@
static class BuilderParams extends ValidatorParams {
private PKIXBuilderParameters params;
- private boolean buildForward = true;
private List<CertStore> stores;
private X500Principal targetSubject;
@@ -213,10 +211,6 @@
+ "targetCertConstraints parameter must be an "
+ "X509CertSelector");
}
- if (params instanceof SunCertPathBuilderParameters) {
- buildForward =
- ((SunCertPathBuilderParameters)params).getBuildForward();
- }
this.params = params;
this.targetSubject = getTargetSubject(
certStores(), (X509CertSelector)targetCertConstraints());
@@ -230,7 +224,6 @@
return stores;
}
int maxPathLength() { return params.getMaxPathLength(); }
- boolean buildForward() { return buildForward; }
PKIXBuilderParameters params() { return params; }
X500Principal targetSubject() { return targetSubject; }
--- a/jdk/src/java.base/share/classes/sun/security/provider/certpath/ReverseBuilder.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,551 +0,0 @@
-/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.security.provider.certpath;
-
-import java.io.IOException;
-import java.security.GeneralSecurityException;
-import java.security.Principal;
-import java.security.cert.CertificateException;
-import java.security.cert.CertPathValidatorException;
-import java.security.cert.CertStore;
-import java.security.cert.CertStoreException;
-import java.security.cert.PKIXBuilderParameters;
-import java.security.cert.PKIXCertPathChecker;
-import java.security.cert.PKIXParameters;
-import java.security.cert.PKIXReason;
-import java.security.cert.TrustAnchor;
-import java.security.cert.X509Certificate;
-import java.security.cert.X509CertSelector;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.LinkedList;
-import java.util.Set;
-
-import javax.security.auth.x500.X500Principal;
-
-import sun.security.provider.certpath.PKIX.BuilderParams;
-import sun.security.util.Debug;
-import sun.security.x509.Extension;
-import static sun.security.x509.PKIXExtensions.*;
-import sun.security.x509.X500Name;
-import sun.security.x509.X509CertImpl;
-import sun.security.x509.PolicyMappingsExtension;
-
-/**
- * This class represents a reverse builder, which is able to retrieve
- * matching certificates from CertStores and verify a particular certificate
- * against a ReverseState.
- *
- * @since 1.4
- * @author Sean Mullan
- * @author Yassir Elley
- */
-
-class ReverseBuilder extends Builder {
-
- private Debug debug = Debug.getInstance("certpath");
-
- private final Set<String> initPolicies;
-
- /**
- * Initialize the builder with the input parameters.
- *
- * @param params the parameter set used to build a certification path
- */
- ReverseBuilder(BuilderParams buildParams) {
- super(buildParams);
-
- Set<String> initialPolicies = buildParams.initialPolicies();
- initPolicies = new HashSet<String>();
- if (initialPolicies.isEmpty()) {
- // if no initialPolicies are specified by user, set
- // initPolicies to be anyPolicy by default
- initPolicies.add(PolicyChecker.ANY_POLICY);
- } else {
- initPolicies.addAll(initialPolicies);
- }
- }
-
- /**
- * Retrieves all certs from the specified CertStores that satisfy the
- * requirements specified in the parameters and the current
- * PKIX state (name constraints, policy constraints, etc).
- *
- * @param currentState the current state.
- * Must be an instance of <code>ReverseState</code>
- * @param certStores list of CertStores
- */
- @Override
- Collection<X509Certificate> getMatchingCerts
- (State currState, List<CertStore> certStores)
- throws CertStoreException, CertificateException, IOException
- {
- ReverseState currentState = (ReverseState) currState;
-
- if (debug != null)
- debug.println("In ReverseBuilder.getMatchingCerts.");
-
- /*
- * The last certificate could be an EE or a CA certificate
- * (we may be building a partial certification path or
- * establishing trust in a CA).
- *
- * Try the EE certs before the CA certs. It will be more
- * common to build a path to an end entity.
- */
- Collection<X509Certificate> certs =
- getMatchingEECerts(currentState, certStores);
- certs.addAll(getMatchingCACerts(currentState, certStores));
-
- return certs;
- }
-
- /*
- * Retrieves all end-entity certificates which satisfy constraints
- * and requirements specified in the parameters and PKIX state.
- */
- private Collection<X509Certificate> getMatchingEECerts
- (ReverseState currentState, List<CertStore> certStores)
- throws CertStoreException, CertificateException, IOException {
-
- /*
- * Compose a CertSelector to filter out
- * certs which do not satisfy requirements.
- *
- * First, retrieve clone of current target cert constraints, and
- * then add more selection criteria based on current validation state.
- */
- X509CertSelector sel = (X509CertSelector) targetCertConstraints.clone();
-
- /*
- * Match on issuer (subject of previous cert)
- */
- sel.setIssuer(currentState.subjectDN);
-
- /*
- * Match on certificate validity date.
- */
- sel.setCertificateValid(buildParams.date());
-
- /*
- * Policy processing optimizations
- */
- if (currentState.explicitPolicy == 0)
- sel.setPolicy(getMatchingPolicies());
-
- /*
- * If previous cert has a subject key identifier extension,
- * use it to match on authority key identifier extension.
- */
- /*if (currentState.subjKeyId != null) {
- AuthorityKeyIdentifierExtension authKeyId = new AuthorityKeyIdentifierExtension(
- (KeyIdentifier) currentState.subjKeyId.get(SubjectKeyIdentifierExtension.KEY_ID),
- null, null);
- sel.setAuthorityKeyIdentifier(authKeyId.getExtensionValue());
- }*/
-
- /*
- * Require EE certs
- */
- sel.setBasicConstraints(-2);
-
- /* Retrieve matching certs from CertStores */
- HashSet<X509Certificate> eeCerts = new HashSet<>();
- addMatchingCerts(sel, certStores, eeCerts, true);
-
- if (debug != null) {
- debug.println("ReverseBuilder.getMatchingEECerts got "
- + eeCerts.size() + " certs.");
- }
- return eeCerts;
- }
-
- /*
- * Retrieves all CA certificates which satisfy constraints
- * and requirements specified in the parameters and PKIX state.
- */
- private Collection<X509Certificate> getMatchingCACerts
- (ReverseState currentState, List<CertStore> certStores)
- throws CertificateException, CertStoreException, IOException {
-
- /*
- * Compose a CertSelector to filter out
- * certs which do not satisfy requirements.
- */
- X509CertSelector sel = new X509CertSelector();
-
- /*
- * Match on issuer (subject of previous cert)
- */
- sel.setIssuer(currentState.subjectDN);
-
- /*
- * Match on certificate validity date.
- */
- sel.setCertificateValid(buildParams.date());
-
- /*
- * Match on target subject name (checks that current cert's
- * name constraints permit it to certify target).
- * (4 is the integer type for DIRECTORY name).
- */
- byte[] subject = targetCertConstraints.getSubjectAsBytes();
- if (subject != null) {
- sel.addPathToName(4, subject);
- } else {
- X509Certificate cert = targetCertConstraints.getCertificate();
- if (cert != null) {
- sel.addPathToName(4,
- cert.getSubjectX500Principal().getEncoded());
- }
- }
-
- /*
- * Policy processing optimizations
- */
- if (currentState.explicitPolicy == 0)
- sel.setPolicy(getMatchingPolicies());
-
- /*
- * If previous cert has a subject key identifier extension,
- * use it to match on authority key identifier extension.
- */
- /*if (currentState.subjKeyId != null) {
- AuthorityKeyIdentifierExtension authKeyId = new AuthorityKeyIdentifierExtension(
- (KeyIdentifier) currentState.subjKeyId.get(SubjectKeyIdentifierExtension.KEY_ID),
- null, null);
- sel.setAuthorityKeyIdentifier(authKeyId.getExtensionValue());
- }*/
-
- /*
- * Require CA certs
- */
- sel.setBasicConstraints(0);
-
- /* Retrieve matching certs from CertStores */
- ArrayList<X509Certificate> reverseCerts = new ArrayList<>();
- addMatchingCerts(sel, certStores, reverseCerts, true);
-
- /* Sort remaining certs using name constraints */
- Collections.sort(reverseCerts, new PKIXCertComparator());
-
- if (debug != null)
- debug.println("ReverseBuilder.getMatchingCACerts got " +
- reverseCerts.size() + " certs.");
- return reverseCerts;
- }
-
- /*
- * This inner class compares 2 PKIX certificates according to which
- * should be tried first when building a path to the target. For
- * now, the algorithm is to look at name constraints in each cert and those
- * which constrain the path closer to the target should be
- * ranked higher. Later, we may want to consider other components,
- * such as key identifiers.
- */
- class PKIXCertComparator implements Comparator<X509Certificate> {
-
- private Debug debug = Debug.getInstance("certpath");
-
- @Override
- public int compare(X509Certificate cert1, X509Certificate cert2) {
-
- /*
- * if either cert certifies the target, always
- * put at head of list.
- */
- X500Principal targetSubject = buildParams.targetSubject();
- if (cert1.getSubjectX500Principal().equals(targetSubject)) {
- return -1;
- }
- if (cert2.getSubjectX500Principal().equals(targetSubject)) {
- return 1;
- }
-
- int targetDist1;
- int targetDist2;
- try {
- X500Name targetSubjectName = X500Name.asX500Name(targetSubject);
- targetDist1 = Builder.targetDistance(
- null, cert1, targetSubjectName);
- targetDist2 = Builder.targetDistance(
- null, cert2, targetSubjectName);
- } catch (IOException e) {
- if (debug != null) {
- debug.println("IOException in call to Builder.targetDistance");
- e.printStackTrace();
- }
- throw new ClassCastException
- ("Invalid target subject distinguished name");
- }
-
- if (targetDist1 == targetDist2)
- return 0;
-
- if (targetDist1 == -1)
- return 1;
-
- if (targetDist1 < targetDist2)
- return -1;
-
- return 1;
- }
- }
-
- /**
- * Verifies a matching certificate.
- *
- * This method executes any of the validation steps in the PKIX path validation
- * algorithm which were not satisfied via filtering out non-compliant
- * certificates with certificate matching rules.
- *
- * If the last certificate is being verified (the one whose subject
- * matches the target subject, then the steps in Section 6.1.4 of the
- * Certification Path Validation algorithm are NOT executed,
- * regardless of whether or not the last cert is an end-entity
- * cert or not. This allows callers to certify CA certs as
- * well as EE certs.
- *
- * @param cert the certificate to be verified
- * @param currentState the current state against which the cert is verified
- * @param certPathList the certPathList generated thus far
- */
- @Override
- void verifyCert(X509Certificate cert, State currState,
- List<X509Certificate> certPathList)
- throws GeneralSecurityException
- {
- if (debug != null) {
- debug.println("ReverseBuilder.verifyCert(SN: "
- + Debug.toHexString(cert.getSerialNumber())
- + "\n Subject: " + cert.getSubjectX500Principal() + ")");
- }
-
- ReverseState currentState = (ReverseState) currState;
-
- /* we don't perform any validation of the trusted cert */
- if (currentState.isInitial()) {
- return;
- }
-
- // Don't bother to verify untrusted certificate more.
- currentState.untrustedChecker.check(cert,
- Collections.<String>emptySet());
-
- /*
- * check for looping - abort a loop if
- * ((we encounter the same certificate twice) AND
- * ((policyMappingInhibited = true) OR (no policy mapping
- * extensions can be found between the occurrences of the same
- * certificate)))
- * in order to facilitate the check to see if there are
- * any policy mapping extensions found between the occurrences
- * of the same certificate, we reverse the certpathlist first
- */
- if ((certPathList != null) && (!certPathList.isEmpty())) {
- List<X509Certificate> reverseCertList = new ArrayList<>();
- for (X509Certificate c : certPathList) {
- reverseCertList.add(0, c);
- }
-
- boolean policyMappingFound = false;
- for (X509Certificate cpListCert : reverseCertList) {
- X509CertImpl cpListCertImpl = X509CertImpl.toImpl(cpListCert);
- PolicyMappingsExtension policyMappingsExt =
- cpListCertImpl.getPolicyMappingsExtension();
- if (policyMappingsExt != null) {
- policyMappingFound = true;
- }
- if (debug != null)
- debug.println("policyMappingFound = " + policyMappingFound);
- if (cert.equals(cpListCert)) {
- if ((buildParams.policyMappingInhibited()) ||
- (!policyMappingFound)){
- if (debug != null)
- debug.println("loop detected!!");
- throw new CertPathValidatorException("loop detected");
- }
- }
- }
- }
-
- /* check if target cert */
- boolean finalCert = cert.getSubjectX500Principal().equals(buildParams.targetSubject());
-
- /* check if CA cert */
- boolean caCert = (cert.getBasicConstraints() != -1 ? true : false);
-
- /* if there are more certs to follow, verify certain constraints */
- if (!finalCert) {
-
- /* check if CA cert */
- if (!caCert)
- throw new CertPathValidatorException("cert is NOT a CA cert");
-
- /* If the certificate was not self-issued, verify that
- * remainingCerts is greater than zero
- */
- if ((currentState.remainingCACerts <= 0) && !X509CertImpl.isSelfIssued(cert)) {
- throw new CertPathValidatorException
- ("pathLenConstraint violated, path too long", null,
- null, -1, PKIXReason.PATH_TOO_LONG);
- }
-
- /*
- * Check keyUsage extension (only if CA cert and not final cert)
- */
- KeyChecker.verifyCAKeyUsage(cert);
-
- } else {
-
- /*
- * If final cert, check that it satisfies specified target
- * constraints
- */
- if (targetCertConstraints.match(cert) == false) {
- throw new CertPathValidatorException("target certificate " +
- "constraints check failed");
- }
- }
-
- /*
- * Check revocation.
- */
- if (buildParams.revocationEnabled() && currentState.revChecker != null) {
- currentState.revChecker.check(cert, Collections.<String>emptySet());
- }
-
- /* Check name constraints if this is not a self-issued cert */
- if (finalCert || !X509CertImpl.isSelfIssued(cert)){
- if (currentState.nc != null) {
- try {
- if (!currentState.nc.verify(cert)){
- throw new CertPathValidatorException
- ("name constraints check failed", null, null, -1,
- PKIXReason.INVALID_NAME);
- }
- } catch (IOException ioe) {
- throw new CertPathValidatorException(ioe);
- }
- }
- }
-
- /*
- * Check policy
- */
- X509CertImpl certImpl = X509CertImpl.toImpl(cert);
- currentState.rootNode = PolicyChecker.processPolicies
- (currentState.certIndex, initPolicies,
- currentState.explicitPolicy, currentState.policyMapping,
- currentState.inhibitAnyPolicy,
- buildParams.policyQualifiersRejected(), currentState.rootNode,
- certImpl, finalCert);
-
- /*
- * Check CRITICAL private extensions
- */
- Set<String> unresolvedCritExts = cert.getCriticalExtensionOIDs();
- if (unresolvedCritExts == null) {
- unresolvedCritExts = Collections.<String>emptySet();
- }
-
- /*
- * Check that the signature algorithm is not disabled.
- */
- currentState.algorithmChecker.check(cert, unresolvedCritExts);
-
- for (PKIXCertPathChecker checker : currentState.userCheckers) {
- checker.check(cert, unresolvedCritExts);
- }
-
- /*
- * Look at the remaining extensions and remove any ones we have
- * already checked. If there are any left, throw an exception!
- */
- if (!unresolvedCritExts.isEmpty()) {
- unresolvedCritExts.remove(BasicConstraints_Id.toString());
- unresolvedCritExts.remove(NameConstraints_Id.toString());
- unresolvedCritExts.remove(CertificatePolicies_Id.toString());
- unresolvedCritExts.remove(PolicyMappings_Id.toString());
- unresolvedCritExts.remove(PolicyConstraints_Id.toString());
- unresolvedCritExts.remove(InhibitAnyPolicy_Id.toString());
- unresolvedCritExts.remove(SubjectAlternativeName_Id.toString());
- unresolvedCritExts.remove(KeyUsage_Id.toString());
- unresolvedCritExts.remove(ExtendedKeyUsage_Id.toString());
-
- if (!unresolvedCritExts.isEmpty())
- throw new CertPathValidatorException
- ("Unrecognized critical extension(s)", null, null, -1,
- PKIXReason.UNRECOGNIZED_CRIT_EXT);
- }
-
- /*
- * Check signature.
- */
- if (buildParams.sigProvider() != null) {
- cert.verify(currentState.pubKey, buildParams.sigProvider());
- } else {
- cert.verify(currentState.pubKey);
- }
- }
-
- /**
- * Verifies whether the input certificate completes the path.
- * This checks whether the cert is the target certificate.
- *
- * @param cert the certificate to test
- * @return a boolean value indicating whether the cert completes the path.
- */
- @Override
- boolean isPathCompleted(X509Certificate cert) {
- return cert.getSubjectX500Principal().equals(buildParams.targetSubject());
- }
-
- /** Adds the certificate to the certPathList
- *
- * @param cert the certificate to be added
- * @param certPathList the certification path list
- */
- @Override
- void addCertToPath(X509Certificate cert,
- LinkedList<X509Certificate> certPathList) {
- certPathList.addLast(cert);
- }
-
- /** Removes final certificate from the certPathList
- *
- * @param certPathList the certification path list
- */
- @Override
- void removeFinalCertFromPath(LinkedList<X509Certificate> certPathList) {
- certPathList.removeLast();
- }
-}
--- a/jdk/src/java.base/share/classes/sun/security/provider/certpath/ReverseState.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,406 +0,0 @@
-/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.security.provider.certpath;
-
-import java.io.IOException;
-import java.security.PublicKey;
-import java.security.cert.CertificateException;
-import java.security.cert.CertPathValidatorException;
-import java.security.cert.PKIXCertPathChecker;
-import java.security.cert.PKIXRevocationChecker;
-import java.security.cert.TrustAnchor;
-import java.security.cert.X509Certificate;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Set;
-import javax.security.auth.x500.X500Principal;
-
-import sun.security.provider.certpath.PKIX.BuilderParams;
-import sun.security.util.Debug;
-import sun.security.x509.NameConstraintsExtension;
-import sun.security.x509.SubjectKeyIdentifierExtension;
-import sun.security.x509.X509CertImpl;
-
-/**
- * A specification of a reverse PKIX validation state
- * which is initialized by each build and updated each time a
- * certificate is added to the current path.
- * @since 1.4
- * @author Sean Mullan
- * @author Yassir Elley
- */
-
-class ReverseState implements State {
-
- private static final Debug debug = Debug.getInstance("certpath");
-
- /* The subject DN of the last cert in the path */
- X500Principal subjectDN;
-
- /* The subject public key of the last cert */
- PublicKey pubKey;
-
- /* The subject key identifier extension (if any) of the last cert */
- SubjectKeyIdentifierExtension subjKeyId;
-
- /* The PKIX constrained/excluded subtrees state variable */
- NameConstraintsExtension nc;
-
- /* The PKIX explicit policy, policy mapping, and inhibit_any-policy
- state variables */
- int explicitPolicy;
- int policyMapping;
- int inhibitAnyPolicy;
- int certIndex;
- PolicyNodeImpl rootNode;
-
- /* The number of remaining CA certs which may follow in the path.
- * -1: previous cert was an EE cert
- * 0: only EE certs may follow.
- * >0 and <Integer.MAX_VALUE:no more than this number of CA certs may follow
- * Integer.MAX_VALUE: unlimited
- */
- int remainingCACerts;
-
- /* The list of user-defined checkers retrieved from the PKIXParameters
- * instance */
- ArrayList<PKIXCertPathChecker> userCheckers;
-
- /* Flag indicating if state is initial (path is just starting) */
- private boolean init = true;
-
- /* the checker used for revocation status */
- RevocationChecker revChecker;
-
- /* the algorithm checker */
- AlgorithmChecker algorithmChecker;
-
- /* the untrusted certificates checker */
- UntrustedChecker untrustedChecker;
-
- /* the trust anchor used to validate the path */
- TrustAnchor trustAnchor;
-
- /* Flag indicating if current cert can vouch for the CRL for
- * the next cert
- */
- boolean crlSign = true;
-
- /**
- * Returns a boolean flag indicating if the state is initial
- * (just starting)
- *
- * @return boolean flag indicating if the state is initial (just starting)
- */
- @Override
- public boolean isInitial() {
- return init;
- }
-
- /**
- * Display state for debugging purposes
- */
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("State [");
- sb.append("\n subjectDN of last cert: ").append(subjectDN);
- sb.append("\n subjectKeyIdentifier: ").append
- (String.valueOf(subjKeyId));
- sb.append("\n nameConstraints: ").append(String.valueOf(nc));
- sb.append("\n certIndex: ").append(certIndex);
- sb.append("\n explicitPolicy: ").append(explicitPolicy);
- sb.append("\n policyMapping: ").append(policyMapping);
- sb.append("\n inhibitAnyPolicy: ").append(inhibitAnyPolicy);
- sb.append("\n rootNode: ").append(rootNode);
- sb.append("\n remainingCACerts: ").append(remainingCACerts);
- sb.append("\n crlSign: ").append(crlSign);
- sb.append("\n init: ").append(init);
- sb.append("\n]\n");
- return sb.toString();
- }
-
- /**
- * Initialize the state.
- *
- * @param buildParams builder parameters
- */
- public void initState(BuilderParams buildParams)
- throws CertPathValidatorException
- {
- /*
- * Initialize number of remainingCACerts.
- * Note that -1 maxPathLen implies unlimited.
- * 0 implies only an EE cert is acceptable.
- */
- int maxPathLen = buildParams.maxPathLength();
- remainingCACerts = (maxPathLen == -1) ? Integer.MAX_VALUE
- : maxPathLen;
-
- /* Initialize explicit policy state variable */
- if (buildParams.explicitPolicyRequired()) {
- explicitPolicy = 0;
- } else {
- // unconstrained if maxPathLen is -1,
- // otherwise, we want to initialize this to the value of the
- // longest possible path + 1 (i.e. maxpathlen + finalcert + 1)
- explicitPolicy = (maxPathLen == -1) ? maxPathLen : maxPathLen + 2;
- }
-
- /* Initialize policy mapping state variable */
- if (buildParams.policyMappingInhibited()) {
- policyMapping = 0;
- } else {
- policyMapping = (maxPathLen == -1) ? maxPathLen : maxPathLen + 2;
- }
-
- /* Initialize inhibit any policy state variable */
- if (buildParams.anyPolicyInhibited()) {
- inhibitAnyPolicy = 0;
- } else {
- inhibitAnyPolicy = (maxPathLen == -1) ? maxPathLen : maxPathLen + 2;
- }
-
- /* Initialize certIndex */
- certIndex = 1;
-
- /* Initialize policy tree */
- Set<String> initExpPolSet = new HashSet<>(1);
- initExpPolSet.add(PolicyChecker.ANY_POLICY);
-
- rootNode = new PolicyNodeImpl(null, PolicyChecker.ANY_POLICY, null,
- false, initExpPolSet, false);
-
- /*
- * Initialize each user-defined checker
- * Shallow copy the checkers
- */
- userCheckers = new ArrayList<>(buildParams.certPathCheckers());
- /* initialize each checker (just in case) */
- for (PKIXCertPathChecker checker : userCheckers) {
- checker.init(false);
- }
-
- /* Start by trusting the cert to sign CRLs */
- crlSign = true;
-
- init = true;
- }
-
- /**
- * Update the state with the specified trust anchor.
- *
- * @param anchor the most-trusted CA
- * @param buildParams builder parameters
- */
- public void updateState(TrustAnchor anchor, BuilderParams buildParams)
- throws CertificateException, IOException, CertPathValidatorException
- {
- trustAnchor = anchor;
- X509Certificate trustedCert = anchor.getTrustedCert();
- if (trustedCert != null) {
- updateState(trustedCert);
- } else {
- X500Principal caName = anchor.getCA();
- updateState(anchor.getCAPublicKey(), caName);
- }
-
- // The user specified AlgorithmChecker and RevocationChecker may not be
- // able to set the trust anchor until now.
- boolean revCheckerAdded = false;
- for (PKIXCertPathChecker checker : userCheckers) {
- if (checker instanceof AlgorithmChecker) {
- ((AlgorithmChecker)checker).trySetTrustAnchor(anchor);
- } else if (checker instanceof PKIXRevocationChecker) {
- if (revCheckerAdded) {
- throw new CertPathValidatorException(
- "Only one PKIXRevocationChecker can be specified");
- }
- // if it's our own, initialize it
- if (checker instanceof RevocationChecker) {
- ((RevocationChecker)checker).init(anchor, buildParams);
- }
- ((PKIXRevocationChecker)checker).init(false);
- revCheckerAdded = true;
- }
- }
-
- // only create a RevocationChecker if revocation is enabled and
- // a PKIXRevocationChecker has not already been added
- if (buildParams.revocationEnabled() && !revCheckerAdded) {
- revChecker = new RevocationChecker(anchor, buildParams);
- revChecker.init(false);
- }
-
- init = false;
- }
-
- /**
- * Update the state. This method is used when the most-trusted CA is
- * a trusted public-key and caName, instead of a trusted cert.
- *
- * @param pubKey the public key of the trusted CA
- * @param subjectDN the subject distinguished name of the trusted CA
- */
- private void updateState(PublicKey pubKey, X500Principal subjectDN) {
-
- /* update subject DN */
- this.subjectDN = subjectDN;
-
- /* update subject public key */
- this.pubKey = pubKey;
- }
-
- /**
- * Update the state with the next certificate added to the path.
- *
- * @param cert the certificate which is used to update the state
- */
- public void updateState(X509Certificate cert)
- throws CertificateException, IOException, CertPathValidatorException {
-
- if (cert == null) {
- return;
- }
-
- /* update subject DN */
- subjectDN = cert.getSubjectX500Principal();
-
- /* check for key needing to inherit alg parameters */
- X509CertImpl icert = X509CertImpl.toImpl(cert);
- PublicKey newKey = cert.getPublicKey();
- if (PKIX.isDSAPublicKeyWithoutParams(newKey)) {
- newKey = BasicChecker.makeInheritedParamsKey(newKey, pubKey);
- }
-
- /* update subject public key */
- pubKey = newKey;
-
- /*
- * if this is a trusted cert (init == true), then we
- * don't update any of the remaining fields
- */
- if (init) {
- init = false;
- return;
- }
-
- /* update subject key identifier */
- subjKeyId = icert.getSubjectKeyIdentifierExtension();
-
- /* update crlSign */
- crlSign = RevocationChecker.certCanSignCrl(cert);
-
- /* update current name constraints */
- if (nc != null) {
- nc.merge(icert.getNameConstraintsExtension());
- } else {
- nc = icert.getNameConstraintsExtension();
- if (nc != null) {
- // Make sure we do a clone here, because we're probably
- // going to modify this object later and we don't want to
- // be sharing it with a Certificate object!
- nc = (NameConstraintsExtension) nc.clone();
- }
- }
-
- /* update policy state variables */
- explicitPolicy =
- PolicyChecker.mergeExplicitPolicy(explicitPolicy, icert, false);
- policyMapping =
- PolicyChecker.mergePolicyMapping(policyMapping, icert);
- inhibitAnyPolicy =
- PolicyChecker.mergeInhibitAnyPolicy(inhibitAnyPolicy, icert);
- certIndex++;
-
- /*
- * Update remaining CA certs
- */
- remainingCACerts =
- ConstraintsChecker.mergeBasicConstraints(cert, remainingCACerts);
-
- init = false;
- }
-
- /**
- * Returns a boolean flag indicating if a key lacking necessary key
- * algorithm parameters has been encountered.
- *
- * @return boolean flag indicating if key lacking parameters encountered.
- */
- @Override
- public boolean keyParamsNeeded() {
- /* when building in reverse, we immediately get parameters needed
- * or else throw an exception
- */
- return false;
- }
-
- /*
- * Clone current state. The state is cloned as each cert is
- * added to the path. This is necessary if backtracking occurs,
- * and a prior state needs to be restored.
- *
- * Note that this is a SMART clone. Not all fields are fully copied,
- * because some of them (e.g., subjKeyId) will
- * not have their contents modified by subsequent calls to updateState.
- */
- @Override
- @SuppressWarnings("unchecked") // Safe casts assuming clone() works correctly
- public Object clone() {
- try {
- ReverseState clonedState = (ReverseState) super.clone();
-
- /* clone checkers, if cloneable */
- clonedState.userCheckers =
- (ArrayList<PKIXCertPathChecker>)userCheckers.clone();
- ListIterator<PKIXCertPathChecker> li =
- clonedState.userCheckers.listIterator();
- while (li.hasNext()) {
- PKIXCertPathChecker checker = li.next();
- if (checker instanceof Cloneable) {
- li.set((PKIXCertPathChecker)checker.clone());
- }
- }
-
- /* make copy of name constraints */
- if (nc != null) {
- clonedState.nc = (NameConstraintsExtension) nc.clone();
- }
-
- /* make copy of policy tree */
- if (rootNode != null) {
- clonedState.rootNode = rootNode.copyTree();
- }
-
- return clonedState;
- } catch (CloneNotSupportedException e) {
- throw new InternalError(e.toString(), e);
- }
- }
-}
--- a/jdk/src/java.base/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java Mon Apr 27 09:17:39 2015 -0700
@@ -35,8 +35,6 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.LinkedList;
import java.util.Set;
@@ -47,8 +45,7 @@
import sun.security.util.Debug;
/**
- * This class is able to build certification paths in either the forward
- * or reverse directions.
+ * This class builds certification paths in the forward direction.
*
* <p> If successful, it returns a certification path which has successfully
* satisfied all the constraints and requirements specified in the
@@ -102,10 +99,8 @@
/**
* Attempts to build a certification path using the Sun build
* algorithm from a trusted anchor(s) to a target subject, which must both
- * be specified in the input parameter set. By default, this method will
- * attempt to build in the forward direction. In order to build in the
- * reverse direction, the caller needs to pass in an instance of
- * SunCertPathBuilderParameters with the buildForward flag set to false.
+ * be specified in the input parameter set. This method will
+ * attempt to build in the forward direction: from the target to the CA.
*
* <p>The certification path that is constructed is validated
* according to the PKIX specification.
@@ -162,11 +157,7 @@
policyTreeResult = null;
LinkedList<X509Certificate> certPathList = new LinkedList<>();
try {
- if (buildParams.buildForward()) {
- buildForward(adjList, certPathList, searchAllCertStores);
- } else {
- buildReverse(adjList, certPathList);
- }
+ buildForward(adjList, certPathList, searchAllCertStores);
} catch (GeneralSecurityException | IOException e) {
if (debug != null) {
debug.println("SunCertPathBuilder.engineBuild() exception in "
@@ -210,81 +201,6 @@
}
/*
- * Private build reverse method.
- */
- private void buildReverse(List<List<Vertex>> adjacencyList,
- LinkedList<X509Certificate> certPathList)
- throws GeneralSecurityException, IOException
- {
- if (debug != null) {
- debug.println("SunCertPathBuilder.buildReverse()...");
- debug.println("SunCertPathBuilder.buildReverse() InitialPolicies: "
- + buildParams.initialPolicies());
- }
-
- ReverseState currentState = new ReverseState();
- /* Initialize adjacency list */
- adjacencyList.clear();
- adjacencyList.add(new LinkedList<Vertex>());
-
- /*
- * Perform a search using each trust anchor, until a valid
- * path is found
- */
- Iterator<TrustAnchor> iter = buildParams.trustAnchors().iterator();
- while (iter.hasNext()) {
- TrustAnchor anchor = iter.next();
-
- /* check if anchor satisfies target constraints */
- if (anchorIsTarget(anchor, buildParams.targetCertConstraints())) {
- this.trustAnchor = anchor;
- this.pathCompleted = true;
- this.finalPublicKey = anchor.getTrustedCert().getPublicKey();
- break;
- }
-
- // skip anchor if it contains a DSA key with no DSA params
- X509Certificate trustedCert = anchor.getTrustedCert();
- PublicKey pubKey = trustedCert != null ? trustedCert.getPublicKey()
- : anchor.getCAPublicKey();
-
- if (PKIX.isDSAPublicKeyWithoutParams(pubKey)) {
- continue;
- }
-
- /* Initialize current state */
- currentState.initState(buildParams);
- currentState.updateState(anchor, buildParams);
-
- currentState.algorithmChecker = new AlgorithmChecker(anchor);
- currentState.untrustedChecker = new UntrustedChecker();
- try {
- depthFirstSearchReverse(null, currentState,
- new ReverseBuilder(buildParams),
- adjacencyList, certPathList);
- } catch (GeneralSecurityException | IOException e) {
- // continue on error if more anchors to try
- if (iter.hasNext())
- continue;
- else
- throw e;
- }
-
- // break out of loop if search is successful
- if (pathCompleted) {
- break;
- }
- }
-
- if (debug != null) {
- debug.println("SunCertPathBuilder.buildReverse() returned from "
- + "depthFirstSearchReverse()");
- debug.println("SunCertPathBuilder.buildReverse() "
- + "certPathList.size: " + certPathList.size());
- }
- }
-
- /*
* Private build forward method.
*/
private void buildForward(List<List<Vertex>> adjacencyList,
@@ -632,147 +548,6 @@
}
/*
- * This method performs a depth first search for a certification
- * path while building reverse which meets the requirements set in
- * the parameters object.
- * It uses an adjacency list to store all certificates which were
- * tried (i.e. at one time added to the path - they may not end up in
- * the final path if backtracking occurs). This information can
- * be used later to debug or demo the build.
- *
- * See "Data Structure and Algorithms, by Aho, Hopcroft, and Ullman"
- * for an explanation of the DFS algorithm.
- *
- * @param dN the distinguished name being currently searched for certs
- * @param currentState the current PKIX validation state
- */
- private void depthFirstSearchReverse(X500Principal dN,
- ReverseState currentState,
- ReverseBuilder builder,
- List<List<Vertex>> adjList,
- LinkedList<X509Certificate> cpList)
- throws GeneralSecurityException, IOException
- {
- if (debug != null)
- debug.println("SunCertPathBuilder.depthFirstSearchReverse(" + dN
- + ", " + currentState.toString() + ")");
-
- /*
- * Find all the certificates issued by dN which
- * satisfy the PKIX certification path constraints.
- */
- Collection<X509Certificate> certs =
- builder.getMatchingCerts(currentState, buildParams.certStores());
- List<Vertex> vertices = addVertices(certs, adjList);
- if (debug != null)
- debug.println("SunCertPathBuilder.depthFirstSearchReverse(): "
- + "certs.size=" + vertices.size());
-
- /*
- * For each cert in the collection, verify anything
- * that hasn't been checked yet (signature, revocation, etc)
- * and check for loops. Call depthFirstSearchReverse()
- * recursively for each good cert.
- */
- for (Vertex vertex : vertices) {
- /**
- * Restore state to currentState each time through the loop.
- * This is important because some of the user-defined
- * checkers modify the state, which MUST be restored if
- * the cert eventually fails to lead to the target and
- * the next matching cert is tried.
- */
- ReverseState nextState = (ReverseState) currentState.clone();
- X509Certificate cert = vertex.getCertificate();
- try {
- builder.verifyCert(cert, nextState, cpList);
- } catch (GeneralSecurityException gse) {
- if (debug != null)
- debug.println("SunCertPathBuilder.depthFirstSearchReverse()"
- + ": validation failed: " + gse);
- vertex.setThrowable(gse);
- continue;
- }
-
- /*
- * Certificate is good, add it to the path (if it isn't a
- * self-signed cert) and update state
- */
- if (!currentState.isInitial())
- builder.addCertToPath(cert, cpList);
- // save trust anchor
- this.trustAnchor = currentState.trustAnchor;
-
- /*
- * Check if path is completed, return ASAP if so.
- */
- if (builder.isPathCompleted(cert)) {
- if (debug != null)
- debug.println("SunCertPathBuilder.depthFirstSearchReverse()"
- + ": path completed!");
- pathCompleted = true;
-
- PolicyNodeImpl rootNode = nextState.rootNode;
-
- if (rootNode == null)
- policyTreeResult = null;
- else {
- policyTreeResult = rootNode.copyTree();
- ((PolicyNodeImpl)policyTreeResult).setImmutable();
- }
-
- /*
- * Extract and save the final target public key
- */
- finalPublicKey = cert.getPublicKey();
- if (PKIX.isDSAPublicKeyWithoutParams(finalPublicKey)) {
- finalPublicKey =
- BasicChecker.makeInheritedParamsKey
- (finalPublicKey, currentState.pubKey);
- }
-
- return;
- }
-
- /* Update the PKIX state */
- nextState.updateState(cert);
-
- /*
- * Append an entry for cert in adjacency list and
- * set index for current vertex.
- */
- adjList.add(new LinkedList<Vertex>());
- vertex.setIndex(adjList.size() - 1);
-
- /* recursively search for matching certs at next dN */
- depthFirstSearchReverse(cert.getSubjectX500Principal(), nextState,
- builder, adjList, cpList);
-
- /*
- * If path has been completed, return ASAP!
- */
- if (pathCompleted) {
- return;
- } else {
- /*
- * If we get here, it means we have searched all possible
- * certs issued by the dN w/o finding any matching certs. This
- * means we have to backtrack to the previous cert in the path
- * and try some other paths.
- */
- if (debug != null)
- debug.println("SunCertPathBuilder.depthFirstSearchReverse()"
- + ": backtracking");
- if (!currentState.isInitial())
- builder.removeFinalCertFromPath(cpList);
- }
- }
- if (debug != null)
- debug.println("SunCertPathBuilder.depthFirstSearchReverse() all "
- + "certs in this adjacency list checked");
- }
-
- /*
* Adds a collection of matching certificates to the
* adjacency list.
*/
--- a/jdk/src/java.base/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.security.provider.certpath;
-
-import java.security.InvalidAlgorithmParameterException;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.cert.*;
-import java.util.Set;
-
-/**
- * This class specifies the set of parameters used as input for the Sun
- * certification path build algorithm. It is identical to PKIXBuilderParameters
- * with the addition of a <code>buildForward</code> parameter which allows
- * the caller to specify whether or not the path should be constructed in
- * the forward direction.
- *
- * The default for the <code>buildForward</code> parameter is
- * true, which means that the build algorithm should construct paths
- * from the target subject back to the trusted anchor.
- *
- * @since 1.4
- * @author Sean Mullan
- * @author Yassir Elley
- */
-public class SunCertPathBuilderParameters extends PKIXBuilderParameters {
-
- private boolean buildForward = true;
-
- /**
- * Creates an instance of <code>SunCertPathBuilderParameters</code> with the
- * specified parameter values.
- *
- * @param trustAnchors a <code>Set</code> of <code>TrustAnchor</code>s
- * @param targetConstraints a <code>CertSelector</code> specifying the
- * constraints on the target certificate
- * @throws InvalidAlgorithmParameterException if the specified
- * <code>Set</code> is empty <code>(trustAnchors.isEmpty() == true)</code>
- * @throws NullPointerException if the specified <code>Set</code> is
- * <code>null</code>
- * @throws ClassCastException if any of the elements in the <code>Set</code>
- * are not of type <code>java.security.cert.TrustAnchor</code>
- */
- public SunCertPathBuilderParameters(Set<TrustAnchor> trustAnchors,
- CertSelector targetConstraints) throws InvalidAlgorithmParameterException
- {
- super(trustAnchors, targetConstraints);
- setBuildForward(true);
- }
-
- /**
- * Creates an instance of <code>SunCertPathBuilderParameters</code> that
- * uses the specified <code>KeyStore</code> to populate the set
- * of most-trusted CA certificates.
- *
- * @param keystore A keystore from which the set of most-trusted
- * CA certificates will be populated.
- * @param targetConstraints a <code>CertSelector</code> specifying the
- * constraints on the target certificate
- * @throws KeyStoreException if the keystore has not been initialized.
- * @throws InvalidAlgorithmParameterException if the keystore does
- * not contain at least one trusted certificate entry
- * @throws NullPointerException if the keystore is <code>null</code>
- */
- public SunCertPathBuilderParameters(KeyStore keystore,
- CertSelector targetConstraints)
- throws KeyStoreException, InvalidAlgorithmParameterException
- {
- super(keystore, targetConstraints);
- setBuildForward(true);
- }
-
- /**
- * Returns the value of the buildForward flag.
- *
- * @return the value of the buildForward flag
- */
- public boolean getBuildForward() {
- return this.buildForward;
- }
-
- /**
- * Sets the value of the buildForward flag. If true, paths
- * are built from the target subject to the trusted anchor.
- * If false, paths are built from the trusted anchor to the
- * target subject. The default value if not specified is true.
- *
- * @param buildForward the value of the buildForward flag
- */
- public void setBuildForward(boolean buildForward) {
- this.buildForward = buildForward;
- }
-
- /**
- * Returns a formatted string describing the parameters.
- *
- * @return a formatted string describing the parameters.
- */
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("[\n");
- sb.append(super.toString());
- sb.append(" Build Forward Flag: " + String.valueOf(buildForward) + "\n");
- sb.append("]\n");
- return sb.toString();
- }
-}
--- a/jdk/src/java.base/share/classes/sun/security/ssl/SunJSSE.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/ssl/SunJSSE.java Mon Apr 27 09:17:39 2015 -0700
@@ -148,7 +148,7 @@
}
private void registerAlgorithms(final boolean isfips) {
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public Object run() {
doRegister(isfips);
--- a/jdk/src/java.base/share/classes/sun/security/util/DerInputStream.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/util/DerInputStream.java Mon Apr 27 09:17:39 2015 -0700
@@ -394,7 +394,7 @@
/*
* Pull values out of the stream.
*/
- Vector<DerValue> vec = new Vector<DerValue>(startLen);
+ Vector<DerValue> vec = new Vector<>(startLen);
DerValue value;
do {
--- a/jdk/src/java.base/share/classes/sun/security/util/ManifestDigester.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/util/ManifestDigester.java Mon Apr 27 09:17:39 2015 -0700
@@ -110,7 +110,7 @@
public ManifestDigester(byte bytes[])
{
rawBytes = bytes;
- entries = new HashMap<String, Entry>();
+ entries = new HashMap<>();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
--- a/jdk/src/java.base/share/classes/sun/security/util/ManifestEntryVerifier.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/util/ManifestEntryVerifier.java Mon Apr 27 09:17:39 2015 -0700
@@ -77,9 +77,9 @@
*/
public ManifestEntryVerifier(Manifest man)
{
- createdDigests = new HashMap<String, MessageDigest>(11);
- digests = new ArrayList<MessageDigest>();
- manifestHashes = new ArrayList<byte[]>();
+ createdDigests = new HashMap<>(11);
+ digests = new ArrayList<>();
+ manifestHashes = new ArrayList<>();
this.man = man;
}
--- a/jdk/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java Mon Apr 27 09:17:39 2015 -0700
@@ -203,7 +203,7 @@
private MessageDigest getDigest(String algorithm)
{
if (createdDigests == null)
- createdDigests = new HashMap<String, MessageDigest>();
+ createdDigests = new HashMap<>();
MessageDigest digest = createdDigests.get(algorithm);
@@ -523,7 +523,7 @@
ArrayList<X509Certificate> chain = info.getCertificateChain(block);
CertPath certChain = certificateFactory.generateCertPath(chain);
if (signers == null) {
- signers = new ArrayList<CodeSigner>();
+ signers = new ArrayList<>();
}
// Append the new code signer
signers.add(new CodeSigner(certChain, info.getTimestamp()));
--- a/jdk/src/java.base/share/classes/sun/security/x509/AVA.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/x509/AVA.java Mon Apr 27 09:17:39 2015 -0700
@@ -307,7 +307,7 @@
// doublequote.
int c = readChar(in, "Quoted string did not end in quote");
- List<Byte> embeddedHex = new ArrayList<Byte>();
+ List<Byte> embeddedHex = new ArrayList<>();
boolean isPrintableString = true;
while (c != '"') {
if (c == '\\') {
--- a/jdk/src/java.base/share/classes/sun/security/x509/AlgorithmId.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/x509/AlgorithmId.java Mon Apr 27 09:17:39 2015 -0700
@@ -571,7 +571,7 @@
break;
}
if (oidTable == null) {
- oidTable = new HashMap<String,ObjectIdentifier>();
+ oidTable = new HashMap<>();
}
oidString = alias.substring(index);
String stdAlgName = provs[i].getProperty(alias);
@@ -588,7 +588,7 @@
}
if (oidTable == null) {
- oidTable = new HashMap<String,ObjectIdentifier>(1);
+ oidTable = new HashMap<>(1);
}
initOidTable = true;
}
@@ -887,7 +887,7 @@
*/
sha1WithDSA_oid = ObjectIdentifier.newInternal(dsaWithSHA1_PKIX_data);
- nameTable = new HashMap<ObjectIdentifier,String>();
+ nameTable = new HashMap<>();
nameTable.put(MD5_oid, "MD5");
nameTable.put(MD2_oid, "MD2");
nameTable.put(SHA_oid, "SHA-1");
--- a/jdk/src/java.base/share/classes/sun/security/x509/CertificatePolicySet.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/x509/CertificatePolicySet.java Mon Apr 27 09:17:39 2015 -0700
@@ -58,7 +58,7 @@
* @exception IOException on decoding errors.
*/
public CertificatePolicySet(DerInputStream in) throws IOException {
- ids = new Vector<CertificatePolicyId>();
+ ids = new Vector<>();
DerValue[] seq = in.getSequence(5);
for (int i = 0; i < seq.length; i++) {
--- a/jdk/src/java.base/share/classes/sun/security/x509/GeneralSubtrees.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/x509/GeneralSubtrees.java Mon Apr 27 09:17:39 2015 -0700
@@ -59,11 +59,11 @@
* The default constructor for the class.
*/
public GeneralSubtrees() {
- trees = new ArrayList<GeneralSubtree>();
+ trees = new ArrayList<>();
}
private GeneralSubtrees(GeneralSubtrees source) {
- trees = new ArrayList<GeneralSubtree>(source.trees);
+ trees = new ArrayList<>(source.trees);
}
/**
--- a/jdk/src/java.base/share/classes/sun/security/x509/RDN.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/x509/RDN.java Mon Apr 27 09:17:39 2015 -0700
@@ -102,7 +102,7 @@
int quoteCount = 0;
int searchOffset = 0;
int avaOffset = 0;
- List<AVA> avaVec = new ArrayList<AVA>(3);
+ List<AVA> avaVec = new ArrayList<>(3);
int nextPlus = name.indexOf('+');
while (nextPlus >= 0) {
quoteCount += X500Name.countQuotes(name, searchOffset, nextPlus);
@@ -182,7 +182,7 @@
}
int searchOffset = 0;
int avaOffset = 0;
- List<AVA> avaVec = new ArrayList<AVA>(3);
+ List<AVA> avaVec = new ArrayList<>(3);
int nextPlus = name.indexOf('+');
while (nextPlus >= 0) {
/*
@@ -453,7 +453,7 @@
} else {
// order the string type AVA's alphabetically,
// followed by the oid type AVA's numerically
- List<AVA> avaList = new ArrayList<AVA>(assertion.length);
+ List<AVA> avaList = new ArrayList<>(assertion.length);
for (int i = 0; i < assertion.length; i++) {
avaList.add(assertion[i]);
}
--- a/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java Mon Apr 27 09:17:39 2015 -0700
@@ -342,7 +342,7 @@
public List<AVA> allAvas() {
List<AVA> list = allAvaList;
if (list == null) {
- list = new ArrayList<AVA>();
+ list = new ArrayList<>();
for (int i = 0; i < names.length; i++) {
list.addAll(names[i].avas());
}
@@ -1382,7 +1382,7 @@
*/
static {
PrivilegedExceptionAction<Object[]> pa =
- new PrivilegedExceptionAction<Object[]>() {
+ new PrivilegedExceptionAction<>() {
public Object[] run() throws Exception {
Class<X500Principal> pClass = X500Principal.class;
Class<?>[] args = new Class<?>[] { X500Name.class };
--- a/jdk/src/java.base/share/classes/sun/util/PreHashedMap.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/util/PreHashedMap.java Mon Apr 27 09:17:39 2015 -0700
@@ -166,14 +166,14 @@
}
public Set<String> keySet() {
- return new AbstractSet<String> () {
+ return new AbstractSet<> () {
public int size() {
return size;
}
public Iterator<String> iterator() {
- return new Iterator<String>() {
+ return new Iterator<>() {
private int i = -1;
Object[] a = null;
String cur = null;
--- a/jdk/src/java.base/share/classes/sun/util/locale/provider/LocaleResources.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/util/locale/provider/LocaleResources.java Mon Apr 27 09:17:39 2015 -0700
@@ -47,6 +47,7 @@
import java.util.LinkedHashSet;
import java.util.Locale;
import java.util.Map;
+import java.util.Objects;
import java.util.ResourceBundle;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
@@ -250,17 +251,17 @@
return (String) localeName;
}
- String[] getTimeZoneNames(String key, int size) {
+ String[] getTimeZoneNames(String key) {
String[] names = null;
- String cacheKey = TIME_ZONE_NAMES + size + '.' + key;
+ String cacheKey = TIME_ZONE_NAMES + '.' + key;
removeEmptyReferences();
ResourceReference data = cache.get(cacheKey);
- if (data == null || ((names = (String[]) data.get()) == null)) {
+ if (Objects.isNull(data) || Objects.isNull((names = (String[]) data.get()))) {
TimeZoneNamesBundle tznb = localeData.getTimeZoneNames(locale);
if (tznb.containsKey(key)) {
- names = tznb.getStringArray(key, size);
+ names = tznb.getStringArray(key);
cache.put(cacheKey,
new ResourceReference(cacheKey, (Object) names, referenceQueue));
}
--- a/jdk/src/java.base/share/classes/sun/util/locale/provider/TimeZoneNameProviderImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/util/locale/provider/TimeZoneNameProviderImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -26,6 +26,7 @@
package sun.util.locale.provider;
import java.util.Locale;
+import java.util.Objects;
import java.util.Set;
import java.util.TimeZone;
import java.util.spi.TimeZoneNameProvider;
@@ -95,8 +96,9 @@
*/
@Override
public String getDisplayName(String id, boolean daylight, int style, Locale locale) {
- String[] names = getDisplayNameArray(id, 5, locale);
- if (names != null) {
+ String[] names = getDisplayNameArray(id, locale);
+ if (Objects.nonNull(names)) {
+ assert names.length >= 7;
int index = daylight ? 3 : 1;
if (style == TimeZone.SHORT) {
index++;
@@ -108,18 +110,18 @@
@Override
public String getGenericDisplayName(String id, int style, Locale locale) {
- String[] names = getDisplayNameArray(id, 7, locale);
- if (names != null && names.length >= 7) {
+ String[] names = getDisplayNameArray(id, locale);
+ if (Objects.nonNull(names)) {
+ assert names.length >= 7;
return names[(style == TimeZone.LONG) ? 5 : 6];
}
return null;
}
- private String[] getDisplayNameArray(String id, int n, Locale locale) {
- if (id == null || locale == null) {
- throw new NullPointerException();
- }
- return LocaleProviderAdapter.forType(type).getLocaleResources(locale).getTimeZoneNames(id, n);
+ private String[] getDisplayNameArray(String id, Locale locale) {
+ Objects.requireNonNull(id);
+ Objects.requireNonNull(locale);
+ return LocaleProviderAdapter.forType(type).getLocaleResources(locale).getTimeZoneNames(id);
}
/**
--- a/jdk/src/java.base/share/classes/sun/util/locale/provider/TimeZoneNameUtility.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/util/locale/provider/TimeZoneNameUtility.java Mon Apr 27 09:17:39 2015 -0700
@@ -30,6 +30,7 @@
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import java.util.Objects;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.spi.TimeZoneNameProvider;
@@ -100,9 +101,9 @@
* Retrieve display names for a time zone ID.
*/
public static String[] retrieveDisplayNames(String id, Locale locale) {
- if (id == null || locale == null) {
- throw new NullPointerException();
- }
+ Objects.requireNonNull(id);
+ Objects.requireNonNull(locale);
+
return retrieveDisplayNamesImpl(id, locale);
}
@@ -115,9 +116,12 @@
* @return the requested generic time zone display name, or null if not found.
*/
public static String retrieveGenericDisplayName(String id, int style, Locale locale) {
- LocaleServiceProviderPool pool =
- LocaleServiceProviderPool.getPool(TimeZoneNameProvider.class);
- return pool.getLocalizedObject(TimeZoneNameGetter.INSTANCE, locale, "generic", style, id);
+ String[] names = retrieveDisplayNamesImpl(id, locale);
+ if (Objects.nonNull(names)) {
+ return names[6 - style];
+ } else {
+ return null;
+ }
}
/**
@@ -130,140 +134,53 @@
* @return the requested time zone name, or null if not found.
*/
public static String retrieveDisplayName(String id, boolean daylight, int style, Locale locale) {
- LocaleServiceProviderPool pool =
- LocaleServiceProviderPool.getPool(TimeZoneNameProvider.class);
- return pool.getLocalizedObject(TimeZoneNameGetter.INSTANCE, locale, daylight ? "dst" : "std", style, id);
+ String[] names = retrieveDisplayNamesImpl(id, locale);
+ if (Objects.nonNull(names)) {
+ return names[(daylight ? 4 : 2) - style];
+ } else {
+ return null;
+ }
}
private static String[] retrieveDisplayNamesImpl(String id, Locale locale) {
LocaleServiceProviderPool pool =
LocaleServiceProviderPool.getPool(TimeZoneNameProvider.class);
+ String[] names;
+ Map<Locale, String[]> perLocale = null;
SoftReference<Map<Locale, String[]>> ref = cachedDisplayNames.get(id);
- if (ref != null) {
- Map<Locale, String[]> perLocale = ref.get();
- if (perLocale != null) {
- String[] names = perLocale.get(locale);
- if (names != null) {
+ if (Objects.nonNull(ref)) {
+ perLocale = ref.get();
+ if (Objects.nonNull(perLocale)) {
+ names = perLocale.get(locale);
+ if (Objects.nonNull(names)) {
return names;
}
- names = pool.getLocalizedObject(TimeZoneNameArrayGetter.INSTANCE, locale, id);
- if (names != null) {
- perLocale.put(locale, names);
- }
- return names;
}
}
- String[] names = pool.getLocalizedObject(TimeZoneNameArrayGetter.INSTANCE, locale, id);
- if (names != null) {
- Map<Locale, String[]> perLocale = new ConcurrentHashMap<>();
- perLocale.put(locale, names);
- ref = new SoftReference<>(perLocale);
- cachedDisplayNames.put(id, ref);
+ // build names array
+ names = new String[7];
+ names[0] = id;
+ for (int i = 1; i <= 6; i ++) {
+ names[i] = pool.getLocalizedObject(TimeZoneNameGetter.INSTANCE, locale,
+ i<5 ? (i<3 ? "std" : "dst") : "generic", i%2, id);
}
+
+ if (Objects.isNull(perLocale)) {
+ perLocale = new ConcurrentHashMap<>();
+ }
+ perLocale.put(locale, names);
+ ref = new SoftReference<>(perLocale);
+ cachedDisplayNames.put(id, ref);
return names;
}
+
/**
* Obtains a localized time zone strings from a TimeZoneNameProvider
* implementation.
*/
- private static class TimeZoneNameArrayGetter
- implements LocaleServiceProviderPool.LocalizedObjectGetter<TimeZoneNameProvider,
- String[]>{
- private static final TimeZoneNameArrayGetter INSTANCE =
- new TimeZoneNameArrayGetter();
-
- @Override
- public String[] getObject(TimeZoneNameProvider timeZoneNameProvider,
- Locale locale,
- String requestID,
- Object... params) {
- assert params.length == 0;
-
- // First, try to get names with the request ID
- String[] names = buildZoneStrings(timeZoneNameProvider, locale, requestID);
-
- if (names == null) {
- Map<String, String> aliases = ZoneInfo.getAliasTable();
-
- if (aliases != null) {
- // Check whether this id is an alias, if so,
- // look for the standard id.
- String canonicalID = aliases.get(requestID);
- if (canonicalID != null) {
- names = buildZoneStrings(timeZoneNameProvider, locale, canonicalID);
- }
- if (names == null) {
- // There may be a case that a standard id has become an
- // alias. so, check the aliases backward.
- names = examineAliases(timeZoneNameProvider, locale,
- canonicalID == null ? requestID : canonicalID, aliases);
- }
- }
- }
-
- if (names != null) {
- names[0] = requestID;
- }
-
- return names;
- }
-
- private static String[] examineAliases(TimeZoneNameProvider tznp, Locale locale,
- String id,
- Map<String, String> aliases) {
- if (aliases.containsValue(id)) {
- for (Map.Entry<String, String> entry : aliases.entrySet()) {
- if (entry.getValue().equals(id)) {
- String alias = entry.getKey();
- String[] names = buildZoneStrings(tznp, locale, alias);
- if (names != null) {
- return names;
- }
- names = examineAliases(tznp, locale, alias, aliases);
- if (names != null) {
- return names;
- }
- }
- }
- }
-
- return null;
- }
-
- private static String[] buildZoneStrings(TimeZoneNameProvider tznp,
- Locale locale, String id) {
- String[] names = new String[5];
-
- for (int i = 1; i <= 4; i ++) {
- names[i] = tznp.getDisplayName(id, i>=3, i%2, locale);
-
- if (names[i] == null) {
- switch (i) {
- case 1:
- // this id seems not localized by this provider
- return null;
- case 2:
- case 4:
- // If the display name for SHORT is not supplied,
- // copy the LONG name.
- names[i] = names[i-1];
- break;
- case 3:
- // If the display name for DST is not supplied,
- // copy the "standard" name.
- names[3] = names[1];
- break;
- }
- }
- }
-
- return names;
- }
- }
-
private static class TimeZoneNameGetter
implements LocaleServiceProviderPool.LocalizedObjectGetter<TimeZoneNameProvider,
String> {
@@ -299,18 +216,16 @@
private static String examineAliases(TimeZoneNameProvider tznp, Locale locale,
String requestID, String tzid, int style,
Map<String, String> aliases) {
- if (aliases.containsValue(tzid)) {
- for (Map.Entry<String, String> entry : aliases.entrySet()) {
- if (entry.getValue().equals(tzid)) {
- String alias = entry.getKey();
- String name = getName(tznp, locale, requestID, style, alias);
- if (name != null) {
- return name;
- }
- name = examineAliases(tznp, locale, requestID, alias, style, aliases);
- if (name != null) {
- return name;
- }
+ for (Map.Entry<String, String> entry : aliases.entrySet()) {
+ if (entry.getValue().equals(tzid)) {
+ String alias = entry.getKey();
+ String name = getName(tznp, locale, requestID, style, alias);
+ if (name != null) {
+ return name;
+ }
+ name = examineAliases(tznp, locale, requestID, alias, style, aliases);
+ if (name != null) {
+ return name;
}
}
}
--- a/jdk/src/java.base/share/classes/sun/util/logging/PlatformLogger.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/util/logging/PlatformLogger.java Mon Apr 27 09:17:39 2015 -0700
@@ -161,7 +161,7 @@
private static boolean loggingEnabled;
static {
loggingEnabled = AccessController.doPrivileged(
- new PrivilegedAction<Boolean>() {
+ new PrivilegedAction<>() {
public Boolean run() {
String cname = System.getProperty("java.util.logging.config.class");
String fname = System.getProperty("java.util.logging.config.file");
--- a/jdk/src/java.base/share/classes/sun/util/resources/LocaleData.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/util/resources/LocaleData.java Mon Apr 27 09:17:39 2015 -0700
@@ -159,7 +159,7 @@
}
public static ResourceBundle getBundle(final String baseName, final Locale locale) {
- return AccessController.doPrivileged(new PrivilegedAction<ResourceBundle>() {
+ return AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public ResourceBundle run() {
return ResourceBundle
@@ -169,7 +169,7 @@
}
private static OpenListResourceBundle getSupplementary(final String baseName, final Locale locale) {
- return AccessController.doPrivileged(new PrivilegedAction<OpenListResourceBundle>() {
+ return AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public OpenListResourceBundle run() {
OpenListResourceBundle rb = null;
--- a/jdk/src/java.base/share/classes/sun/util/resources/ParallelListResourceBundle.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/util/resources/ParallelListResourceBundle.java Mon Apr 27 09:17:39 2015 -0700
@@ -213,7 +213,7 @@
if (parent == null) {
return set.iterator();
}
- return new Iterator<String>() {
+ return new Iterator<>() {
private Iterator<String> itr = set.iterator();
private boolean usingParent;
--- a/jdk/src/java.base/share/classes/sun/util/resources/TimeZoneNamesBundle.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/util/resources/TimeZoneNamesBundle.java Mon Apr 27 09:17:39 2015 -0700
@@ -44,6 +44,7 @@
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.MissingResourceException;
+import java.util.Objects;
import java.util.Set;
/**
@@ -61,26 +62,6 @@
public abstract class TimeZoneNamesBundle extends OpenListResourceBundle {
/**
- * Returns a String array containing time zone names. The String array has
- * at most size elements.
- *
- * @param key the time zone ID for which names are obtained
- * @param size the requested size of array for names
- * @return a String array containing names
- */
- public String[] getStringArray(String key, int size) {
- String[] names = handleGetObject(key, size);
- if ((names == null || names.length != size) && parent != null) {
- names = ((TimeZoneNamesBundle)parent).getStringArray(key, size);
- }
- if (names == null) {
- throw new MissingResourceException("no time zone names", getClass().getName(), key);
- }
- return names;
-
- }
-
- /**
* Maps time zone IDs to locale-specific names.
* The value returned is an array of five strings:
* <ul>
@@ -89,6 +70,8 @@
* <li>The short name of the time zone in standard time (localized).
* <li>The long name of the time zone in daylight savings time (localized).
* <li>The short name of the time zone in daylight savings time (localized).
+ * <li>The long name of the time zone in generic form (localized).
+ * <li>The short name of the time zone in generic form (localized).
* </ul>
* The localized names come from the subclasses's
* <code>getContents</code> implementations, while the time zone
@@ -96,16 +79,12 @@
*/
@Override
public Object handleGetObject(String key) {
- return handleGetObject(key, 5);
- }
-
- private String[] handleGetObject(String key, int n) {
String[] contents = (String[]) super.handleGetObject(key);
- if (contents == null) {
+ if (Objects.isNull(contents)) {
return null;
}
- int clen = Math.min(n - 1, contents.length);
- String[] tmpobj = new String[clen+1];
+ int clen = contents.length;
+ String[] tmpobj = new String[7];
tmpobj[0] = key;
System.arraycopy(contents, 0, tmpobj, 1, clen);
return tmpobj;
--- a/jdk/src/java.base/share/classes/sun/util/resources/en/TimeZoneNames_en_IE.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/util/resources/en/TimeZoneNames_en_IE.java Mon Apr 27 09:17:39 2015 -0700
@@ -47,7 +47,8 @@
protected final Object[][] getContents() {
return new Object[][] {
{"Europe/London", new String[] {"Greenwich Mean Time", "GMT",
- "Irish Summer Time", "IST" /*Dublin*/}},
+ "Irish Summer Time", "IST", /*Dublin*/
+ "Irish Time", "IT" /*Dublin*/}},
};
}
}
--- a/jdk/src/java.base/unix/classes/java/lang/ProcessEnvironment.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/unix/classes/java/lang/ProcessEnvironment.java Mon Apr 27 09:17:39 2015 -0700
@@ -99,7 +99,7 @@
/* Only for use by Runtime.exec(...String[]envp...) */
static Map<String,String> emptyEnvironment(int capacity) {
- return new StringEnvironment(new HashMap<Variable,Value>(capacity));
+ return new StringEnvironment(new HashMap<>(capacity));
}
private static native byte[][] environ();
--- a/jdk/src/java.base/unix/classes/sun/net/PortConfig.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/unix/classes/sun/net/PortConfig.java Mon Apr 27 09:17:39 2015 -0700
@@ -42,7 +42,7 @@
static {
AccessController.doPrivileged(
- new java.security.PrivilegedAction<Void>() {
+ new java.security.PrivilegedAction<>() {
public Void run() {
System.loadLibrary("net");
String os = System.getProperty("os.name");
--- a/jdk/src/java.base/unix/classes/sun/net/dns/ResolverConfigurationImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/unix/classes/sun/net/dns/ResolverConfigurationImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -85,6 +85,15 @@
if (val.charAt(0) == '#' || val.charAt(0) == ';') {
break;
}
+ if ("nameserver".equals(keyword)) {
+ if (val.indexOf(':') >= 0 &&
+ val.indexOf('.') < 0 && // skip for IPv4 literals with port
+ val.indexOf('[') < 0 &&
+ val.indexOf(']') < 0 ) {
+ // IPv6 literal, in non-BSD-style.
+ val = "[" + val + "]";
+ }
+ }
ll.add(val);
if (--maxvalues == 0) {
break;
@@ -122,7 +131,7 @@
// get the name servers from /etc/resolv.conf
nameservers =
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<LinkedList<String>>() {
+ new java.security.PrivilegedAction<>() {
public LinkedList<String> run() {
// typically MAXNS is 3 but we've picked 5 here
// to allow for additional servers if required.
@@ -147,7 +156,7 @@
// first try the search keyword in /etc/resolv.conf
sl = java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<LinkedList<String>>() {
+ new java.security.PrivilegedAction<>() {
public LinkedList<String> run() {
LinkedList<String> ll;
@@ -173,7 +182,7 @@
String localDomain = localDomain0();
if (localDomain != null && localDomain.length() > 0) {
- sl = new LinkedList<String>();
+ sl = new LinkedList<>();
sl.add(localDomain);
return sl;
}
@@ -181,7 +190,7 @@
// try domain keyword in /etc/resolv.conf
sl = java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<LinkedList<String>>() {
+ new java.security.PrivilegedAction<>() {
public LinkedList<String> run() {
LinkedList<String> ll;
@@ -251,7 +260,7 @@
static {
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<Void>() {
+ new java.security.PrivilegedAction<>() {
public Void run() {
System.loadLibrary("net");
return null;
--- a/jdk/src/java.base/unix/classes/sun/net/sdp/SdpProvider.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/unix/classes/sun/net/sdp/SdpProvider.java Mon Apr 27 09:17:39 2015 -0700
@@ -198,7 +198,7 @@
{
Scanner scanner = new Scanner(new File(file));
try {
- List<Rule> result = new ArrayList<Rule>();
+ List<Rule> result = new ArrayList<>();
while (scanner.hasNextLine()) {
String line = scanner.nextLine().trim();
--- a/jdk/src/java.base/unix/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/unix/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java Mon Apr 27 09:17:39 2015 -0700
@@ -95,7 +95,7 @@
private void init0() {
hostname = java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<String>() {
+ new java.security.PrivilegedAction<>() {
public String run() {
String localhost;
try {
--- a/jdk/src/java.base/unix/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/unix/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -216,7 +216,7 @@
// permission check must always be in initiator's context
try {
if (acc != null) {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
SecurityManager sm = System.getSecurityManager();
if (sm != null) {
@@ -287,7 +287,7 @@
synchronized (updateLock) {
if (handler == null) {
this.acceptHandler = null;
- result = new PendingFuture<AsynchronousSocketChannel,Object>(this);
+ result = new PendingFuture<>(this);
this.acceptFuture = result;
} else {
this.acceptHandler = handler;
--- a/jdk/src/java.base/unix/classes/sun/nio/fs/GnomeFileTypeDetector.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/unix/classes/sun/nio/fs/GnomeFileTypeDetector.java Mon Apr 27 09:17:39 2015 -0700
@@ -93,7 +93,7 @@
private static native byte[] probeUsingGnomeVfs(long pathAddress);
static {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
System.loadLibrary("nio");
return null;
--- a/jdk/src/java.base/unix/classes/sun/nio/fs/MimeTypesFileTypeDetector.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/unix/classes/sun/nio/fs/MimeTypesFileTypeDetector.java Mon Apr 27 09:17:39 2015 -0700
@@ -106,7 +106,7 @@
synchronized (this) {
if (!loaded) {
List<String> lines = AccessController.doPrivileged(
- new PrivilegedAction<List<String>>() {
+ new PrivilegedAction<>() {
@Override
public List<String> run() {
try {
--- a/jdk/src/java.base/unix/classes/sun/nio/fs/UnixCopyFile.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/unix/classes/sun/nio/fs/UnixCopyFile.java Mon Apr 27 09:17:39 2015 -0700
@@ -606,7 +606,7 @@
throws UnixException;
static {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
@Override
public Void run() {
System.loadLibrary("nio");
--- a/jdk/src/java.base/unix/classes/sun/nio/fs/UnixFileStore.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/unix/classes/sun/nio/fs/UnixFileStore.java Mon Apr 27 09:17:39 2015 -0700
@@ -222,7 +222,7 @@
synchronized (loadLock) {
if (props == null) {
props = AccessController.doPrivileged(
- new PrivilegedAction<Properties>() {
+ new PrivilegedAction<>() {
@Override
public Properties run() {
return loadProperties();
--- a/jdk/src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java Mon Apr 27 09:17:39 2015 -0700
@@ -152,7 +152,7 @@
public final Iterable<Path> getRootDirectories() {
final List<Path> allowedList =
Collections.unmodifiableList(Arrays.asList((Path)rootDirectory));
- return new Iterable<Path>() {
+ return new Iterable<>() {
public Iterator<Path> iterator() {
try {
SecurityManager sm = System.getSecurityManager();
@@ -254,7 +254,7 @@
return Collections.emptyList();
}
}
- return new Iterable<FileStore>() {
+ return new Iterable<>() {
public Iterator<FileStore> iterator() {
return new FileStoreIterator();
}
--- a/jdk/src/java.base/unix/classes/sun/nio/fs/UnixNativeDispatcher.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/unix/classes/sun/nio/fs/UnixNativeDispatcher.java Mon Apr 27 09:17:39 2015 -0700
@@ -568,7 +568,7 @@
private static native int init();
static {
- AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
System.loadLibrary("nio");
return null;
--- a/jdk/src/java.base/unix/classes/sun/nio/fs/UnixPath.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/unix/classes/sun/nio/fs/UnixPath.java Mon Apr 27 09:17:39 2015 -0700
@@ -121,7 +121,7 @@
ce = Util.jnuEncoding().newEncoder()
.onMalformedInput(CodingErrorAction.REPORT)
.onUnmappableCharacter(CodingErrorAction.REPORT);
- encoder.set(new SoftReference<CharsetEncoder>(ce));
+ encoder.set(new SoftReference<>(ce));
}
char[] ca = fs.normalizeNativePath(input.toCharArray());
--- a/jdk/src/java.base/unix/classes/sun/security/provider/NativePRNG.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/unix/classes/sun/security/provider/NativePRNG.java Mon Apr 27 09:17:39 2015 -0700
@@ -125,7 +125,7 @@
*/
private static RandomIO initIO(final Variant v) {
return AccessController.doPrivileged(
- new PrivilegedAction<RandomIO>() {
+ new PrivilegedAction<>() {
@Override
public RandomIO run() {
@@ -440,7 +440,7 @@
if (seedOutInitialized == false) {
seedOutInitialized = true;
seedOut = AccessController.doPrivileged(
- new PrivilegedAction<OutputStream>() {
+ new PrivilegedAction<>() {
@Override
public OutputStream run() {
try {
--- a/jdk/src/java.base/windows/native/launcher/java.manifest Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/windows/native/launcher/java.manifest Mon Apr 27 09:17:39 2015 -0700
@@ -4,12 +4,12 @@
xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"
>
<assemblyIdentity
- version="IMVERSION"
+ name=""
+ version=""
processorArchitecture="X86"
- name="Oracle Corporation, Java(tm) 2 Standard Edition"
type="win32"
/>
-<description>Java(TM) SE PROGRAM process</description>
+<description>Java(TM) SE process</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
--- a/jdk/src/java.base/windows/native/launcher/java.rc Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/windows/native/launcher/java.rc Mon Apr 27 09:17:39 2015 -0700
@@ -7,9 +7,3 @@
// Icon
//
IDI_ICON ICON DISCARDABLE "awt.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// RT_MANIFEST
-//
-1 RT_MANIFEST "java.manifest"
--- a/jdk/src/java.base/windows/native/libjava/TimeZone_md.c Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.base/windows/native/libjava/TimeZone_md.c Mon Apr 27 09:17:39 2015 -0700
@@ -147,219 +147,248 @@
*/
static int getWinTimeZone(char *winZoneName, char *winMapID)
{
- TIME_ZONE_INFORMATION tzi;
- OSVERSIONINFO ver;
- int onlyMapID;
- HANDLE hKey = NULL, hSubKey = NULL;
+ DYNAMIC_TIME_ZONE_INFORMATION dtzi;
+ DWORD timeType;
+ DWORD bufSize;
+ DWORD val;
+ HANDLE hKey = NULL;
LONG ret;
- DWORD nSubKeys, i;
ULONG valueType;
- TCHAR subKeyName[MAX_ZONE_CHAR];
- TCHAR szValue[MAX_ZONE_CHAR];
- WCHAR stdNameInReg[MAX_ZONE_CHAR];
- TziValue tempTzi;
- WCHAR *stdNamePtr = tzi.StandardName;
- DWORD valueSize;
- DWORD timeType;
- int isVista;
/*
- * Get the current time zone setting of the platform.
+ * Get the dynamic time zone information so that time zone redirection
+ * can be supported. (see JDK-7044727)
*/
- timeType = GetTimeZoneInformation(&tzi);
+ timeType = GetDynamicTimeZoneInformation(&dtzi);
if (timeType == TIME_ZONE_ID_INVALID) {
goto err;
}
/*
- * Determine if this is an NT system.
+ * Make sure TimeZoneKeyName is available from the API call. If
+ * DynamicDaylightTime is disabled, return a custom time zone name
+ * based on the GMT offset. Otherwise, return the TimeZoneKeyName
+ * value.
*/
- ver.dwOSVersionInfoSize = sizeof(ver);
- GetVersionEx(&ver);
- isVista = ver.dwMajorVersion >= 6;
+ if (dtzi.TimeZoneKeyName[0] != 0) {
+ if (dtzi.DynamicDaylightTimeDisabled) {
+ customZoneName(dtzi.Bias, winZoneName);
+ return VALUE_GMTOFFSET;
+ }
+ wcstombs(winZoneName, dtzi.TimeZoneKeyName, MAX_ZONE_CHAR);
+ return VALUE_KEY;
+ }
- ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, WIN_CURRENT_TZ_KEY, 0,
- KEY_READ, (PHKEY)&hKey);
- if (ret == ERROR_SUCCESS) {
- DWORD val;
- DWORD bufSize;
+ /*
+ * If TimeZoneKeyName is not available, check whether StandardName
+ * is available to fall back to the older API GetTimeZoneInformation.
+ * If not, directly read the value from registry keys.
+ */
+ if (dtzi.StandardName[0] == 0) {
+ ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, WIN_CURRENT_TZ_KEY, 0,
+ KEY_READ, (PHKEY)&hKey);
+ if (ret != ERROR_SUCCESS) {
+ goto err;
+ }
/*
* Determine if auto-daylight time adjustment is turned off.
*/
- valueType = 0;
bufSize = sizeof(val);
- ret = RegQueryValueExA(hKey, "DisableAutoDaylightTimeSet",
- NULL, &valueType, (LPBYTE) &val, &bufSize);
+ ret = RegQueryValueExA(hKey, "DynamicDaylightTimeDisabled", NULL,
+ &valueType, (LPBYTE) &val, &bufSize);
+ if (ret != ERROR_SUCCESS) {
+ goto err;
+ }
/*
- * Vista uses the different key name.
+ * Return a custom time zone name if auto-daylight time adjustment
+ * is disabled.
*/
+ if (val == 1) {
+ customZoneName(dtzi.Bias, winZoneName);
+ (void) RegCloseKey(hKey);
+ return VALUE_GMTOFFSET;
+ }
+
+ bufSize = MAX_ZONE_CHAR;
+ ret = RegQueryValueExA(hKey, "TimeZoneKeyName", NULL,
+ &valueType, (LPBYTE) winZoneName, &bufSize);
if (ret != ERROR_SUCCESS) {
- bufSize = sizeof(val);
- ret = RegQueryValueExA(hKey, "DynamicDaylightTimeDisabled",
- NULL, &valueType, (LPBYTE) &val, &bufSize);
+ goto err;
+ }
+ (void) RegCloseKey(hKey);
+ return VALUE_KEY;
+ } else {
+ /*
+ * Fall back to GetTimeZoneInformation
+ */
+ TIME_ZONE_INFORMATION tzi;
+ HANDLE hSubKey = NULL;
+ DWORD nSubKeys, i;
+ ULONG valueType;
+ TCHAR subKeyName[MAX_ZONE_CHAR];
+ TCHAR szValue[MAX_ZONE_CHAR];
+ WCHAR stdNameInReg[MAX_ZONE_CHAR];
+ TziValue tempTzi;
+ WCHAR *stdNamePtr = tzi.StandardName;
+ DWORD valueSize;
+ int onlyMapID;
+
+ timeType = GetTimeZoneInformation(&tzi);
+ if (timeType == TIME_ZONE_ID_INVALID) {
+ goto err;
}
+ ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, WIN_CURRENT_TZ_KEY, 0,
+ KEY_READ, (PHKEY)&hKey);
if (ret == ERROR_SUCCESS) {
- int daylightSavingsUpdateDisabledOther = val == 1 && tzi.DaylightDate.wMonth != 0;
- int daylightSavingsUpdateDisabledVista = val == 1;
- int daylightSavingsUpdateDisabled = isVista ? daylightSavingsUpdateDisabledVista : daylightSavingsUpdateDisabledOther;
+ /*
+ * Determine if auto-daylight time adjustment is turned off.
+ */
+ bufSize = sizeof(val);
+ ret = RegQueryValueExA(hKey, "DynamicDaylightTimeDisabled", NULL,
+ &valueType, (LPBYTE) &val, &bufSize);
+ if (ret == ERROR_SUCCESS) {
+ if (val == 1 && tzi.DaylightDate.wMonth != 0) {
+ (void) RegCloseKey(hKey);
+ customZoneName(tzi.Bias, winZoneName);
+ return VALUE_GMTOFFSET;
+ }
+ }
- if (daylightSavingsUpdateDisabled) {
- (void) RegCloseKey(hKey);
- customZoneName(tzi.Bias, winZoneName);
- return VALUE_GMTOFFSET;
+ /*
+ * Win32 problem: If the length of the standard time name is equal
+ * to (or probably longer than) 32 in the registry,
+ * GetTimeZoneInformation() on NT returns a null string as its
+ * standard time name. We need to work around this problem by
+ * getting the same information from the TimeZoneInformation
+ * registry.
+ */
+ if (tzi.StandardName[0] == 0) {
+ bufSize = sizeof(stdNameInReg);
+ ret = getValueInRegistry(hKey, STANDARD_NAME, &valueType,
+ (LPBYTE) stdNameInReg, &bufSize);
+ if (ret != ERROR_SUCCESS) {
+ goto err;
+ }
+ stdNamePtr = stdNameInReg;
+ }
+ (void) RegCloseKey(hKey);
+ }
+
+ /*
+ * Open the "Time Zones" registry.
+ */
+ ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, NT_TZ_KEY, 0, KEY_READ, (PHKEY)&hKey);
+ if (ret != ERROR_SUCCESS) {
+ ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, WIN_TZ_KEY, 0, KEY_READ, (PHKEY)&hKey);
+ /*
+ * If both failed, then give up.
+ */
+ if (ret != ERROR_SUCCESS) {
+ return VALUE_UNKNOWN;
}
}
/*
- * Vista has the key for the current "Time Zones" entry.
- */
- if (isVista) {
- valueType = 0;
- bufSize = MAX_ZONE_CHAR;
- ret = RegQueryValueExA(hKey, "TimeZoneKeyName", NULL,
- &valueType, (LPBYTE) winZoneName, &bufSize);
- if (ret != ERROR_SUCCESS) {
- goto err;
- }
- (void) RegCloseKey(hKey);
- return VALUE_KEY;
- }
-
- /*
- * Win32 problem: If the length of the standard time name is equal
- * to (or probably longer than) 32 in the registry,
- * GetTimeZoneInformation() on NT returns a null string as its
- * standard time name. We need to work around this problem by
- * getting the same information from the TimeZoneInformation
- * registry. The function on Win98 seems to return its key name.
- * We can't do anything in that case.
+ * Get the number of subkeys of the "Time Zones" registry for
+ * enumeration.
*/
- if (tzi.StandardName[0] == 0) {
- bufSize = sizeof(stdNameInReg);
- ret = getValueInRegistry(hKey, STANDARD_NAME, &valueType,
- (LPBYTE) stdNameInReg, &bufSize);
- if (ret != ERROR_SUCCESS) {
- goto err;
- }
- stdNamePtr = stdNameInReg;
- }
- (void) RegCloseKey(hKey);
- }
-
- /*
- * Open the "Time Zones" registry.
- */
- ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, NT_TZ_KEY, 0, KEY_READ, (PHKEY)&hKey);
- if (ret != ERROR_SUCCESS) {
- ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, WIN_TZ_KEY, 0, KEY_READ, (PHKEY)&hKey);
- /*
- * If both failed, then give up.
- */
- if (ret != ERROR_SUCCESS) {
- return VALUE_UNKNOWN;
- }
- }
-
- /*
- * Get the number of subkeys of the "Time Zones" registry for
- * enumeration.
- */
- ret = RegQueryInfoKey(hKey, NULL, NULL, NULL, &nSubKeys,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL);
- if (ret != ERROR_SUCCESS) {
- goto err;
- }
-
- /*
- * Compare to the "Std" value of each subkey and find the entry that
- * matches the current control panel setting.
- */
- onlyMapID = 0;
- for (i = 0; i < nSubKeys; ++i) {
- DWORD size = sizeof(subKeyName);
- ret = RegEnumKeyEx(hKey, i, subKeyName, &size, NULL, NULL, NULL, NULL);
- if (ret != ERROR_SUCCESS) {
- goto err;
- }
- ret = RegOpenKeyEx(hKey, subKeyName, 0, KEY_READ, (PHKEY)&hSubKey);
+ ret = RegQueryInfoKey(hKey, NULL, NULL, NULL, &nSubKeys,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL);
if (ret != ERROR_SUCCESS) {
goto err;
}
- size = sizeof(szValue);
- ret = getValueInRegistry(hSubKey, STD_NAME, &valueType,
- szValue, &size);
- if (ret != ERROR_SUCCESS) {
- /*
- * NT 4.0 SP3 fails here since it doesn't have the "Std"
- * entry in the Time Zones registry.
- */
- RegCloseKey(hSubKey);
- onlyMapID = 1;
- ret = RegOpenKeyExW(hKey, stdNamePtr, 0, KEY_READ, (PHKEY)&hSubKey);
+ /*
+ * Compare to the "Std" value of each subkey and find the entry that
+ * matches the current control panel setting.
+ */
+ onlyMapID = 0;
+ for (i = 0; i < nSubKeys; ++i) {
+ DWORD size = sizeof(subKeyName);
+ ret = RegEnumKeyEx(hKey, i, subKeyName, &size, NULL, NULL, NULL, NULL);
+ if (ret != ERROR_SUCCESS) {
+ goto err;
+ }
+ ret = RegOpenKeyEx(hKey, subKeyName, 0, KEY_READ, (PHKEY)&hSubKey);
if (ret != ERROR_SUCCESS) {
goto err;
}
- break;
- }
- if (wcscmp((WCHAR *)szValue, stdNamePtr) == 0) {
- /*
- * Some localized Win32 platforms use a same name to
- * different time zones. So, we can't rely only on the name
- * here. We need to check GMT offsets and transition dates
- * to make sure it's the registry of the current time
- * zone.
- */
- DWORD tziValueSize = sizeof(tempTzi);
- ret = RegQueryValueEx(hSubKey, "TZI", NULL, &valueType,
- (unsigned char *) &tempTzi, &tziValueSize);
- if (ret == ERROR_SUCCESS) {
- if ((tzi.Bias != tempTzi.bias) ||
- (memcmp((const void *) &tzi.StandardDate,
- (const void *) &tempTzi.stdDate,
- sizeof(SYSTEMTIME)) != 0)) {
- goto out;
+ size = sizeof(szValue);
+ ret = getValueInRegistry(hSubKey, STD_NAME, &valueType,
+ szValue, &size);
+ if (ret != ERROR_SUCCESS) {
+ /*
+ * NT 4.0 SP3 fails here since it doesn't have the "Std"
+ * entry in the Time Zones registry.
+ */
+ RegCloseKey(hSubKey);
+ onlyMapID = 1;
+ ret = RegOpenKeyExW(hKey, stdNamePtr, 0, KEY_READ, (PHKEY)&hSubKey);
+ if (ret != ERROR_SUCCESS) {
+ goto err;
}
+ break;
+ }
- if (tzi.DaylightBias != 0) {
- if ((tzi.DaylightBias != tempTzi.dstBias) ||
- (memcmp((const void *) &tzi.DaylightDate,
- (const void *) &tempTzi.dstDate,
+ if (wcscmp((WCHAR *)szValue, stdNamePtr) == 0) {
+ /*
+ * Some localized Win32 platforms use a same name to
+ * different time zones. So, we can't rely only on the name
+ * here. We need to check GMT offsets and transition dates
+ * to make sure it's the registry of the current time
+ * zone.
+ */
+ DWORD tziValueSize = sizeof(tempTzi);
+ ret = RegQueryValueEx(hSubKey, "TZI", NULL, &valueType,
+ (unsigned char *) &tempTzi, &tziValueSize);
+ if (ret == ERROR_SUCCESS) {
+ if ((tzi.Bias != tempTzi.bias) ||
+ (memcmp((const void *) &tzi.StandardDate,
+ (const void *) &tempTzi.stdDate,
sizeof(SYSTEMTIME)) != 0)) {
goto out;
}
+
+ if (tzi.DaylightBias != 0) {
+ if ((tzi.DaylightBias != tempTzi.dstBias) ||
+ (memcmp((const void *) &tzi.DaylightDate,
+ (const void *) &tempTzi.dstDate,
+ sizeof(SYSTEMTIME)) != 0)) {
+ goto out;
+ }
+ }
}
- }
-
- /*
- * found matched record, terminate search
- */
- strcpy(winZoneName, subKeyName);
- break;
- }
- out:
- (void) RegCloseKey(hSubKey);
- }
- /*
- * Get the "MapID" value of the registry to be able to eliminate
- * duplicated key names later.
- */
- valueSize = MAX_MAPID_LENGTH;
- ret = RegQueryValueExA(hSubKey, "MapID", NULL, &valueType, winMapID, &valueSize);
- (void) RegCloseKey(hSubKey);
- (void) RegCloseKey(hKey);
+ /*
+ * found matched record, terminate search
+ */
+ strcpy(winZoneName, subKeyName);
+ break;
+ }
+ out:
+ (void) RegCloseKey(hSubKey);
+ }
- if (ret != ERROR_SUCCESS) {
/*
- * Vista doesn't have mapID. VALUE_UNKNOWN should be returned
- * only for Windows NT.
+ * Get the "MapID" value of the registry to be able to eliminate
+ * duplicated key names later.
*/
- if (onlyMapID == 1) {
- return VALUE_UNKNOWN;
+ valueSize = MAX_MAPID_LENGTH;
+ ret = RegQueryValueExA(hSubKey, "MapID", NULL, &valueType, winMapID, &valueSize);
+ (void) RegCloseKey(hSubKey);
+ (void) RegCloseKey(hKey);
+
+ if (ret != ERROR_SUCCESS) {
+ /*
+ * Vista doesn't have mapID. VALUE_UNKNOWN should be returned
+ * only for Windows NT.
+ */
+ if (onlyMapID == 1) {
+ return VALUE_UNKNOWN;
+ }
}
}
--- a/jdk/src/java.management/share/classes/javax/management/AttributeValueExp.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.management/share/classes/javax/management/AttributeValueExp.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -93,11 +93,10 @@
*
* @return The <CODE>ValueExp</CODE>.
*
- * @exception BadAttributeValueExpException
- * @exception InvalidApplicationException
- * @exception BadStringOperationException
- * @exception BadBinaryOpValueExpException
- *
+ * @throws BadStringOperationException {@inheritDoc}
+ * @throws BadBinaryOpValueExpException {@inheritDoc}
+ * @throws BadAttributeValueExpException {@inheritDoc}
+ * @throws InvalidApplicationException {@inheritDoc}
*/
@Override
public ValueExp apply(ObjectName name) throws BadStringOperationException, BadBinaryOpValueExpException,
--- a/jdk/src/java.management/share/classes/javax/management/DescriptorKey.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.management/share/classes/javax/management/DescriptorKey.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -168,5 +168,9 @@
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface DescriptorKey {
+ /**
+ * Returns the descriptor key.
+ * @return the descriptor key
+ */
String value();
}
--- a/jdk/src/java.management/share/classes/javax/management/DynamicMBean.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.management/share/classes/javax/management/DynamicMBean.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -43,7 +43,7 @@
*
* @return The value of the attribute retrieved.
*
- * @exception AttributeNotFoundException
+ * @exception AttributeNotFoundException if specified attribute does not exist or cannot be retrieved
* @exception MBeanException Wraps a <CODE>java.lang.Exception</CODE> thrown by the MBean's getter.
* @exception ReflectionException Wraps a <CODE>java.lang.Exception</CODE> thrown while trying to invoke the getter.
*
@@ -58,8 +58,8 @@
* @param attribute The identification of the attribute to
* be set and the value it is to be set to.
*
- * @exception AttributeNotFoundException
- * @exception InvalidAttributeValueException
+ * @exception AttributeNotFoundException if specified attribute does not exist or cannot be retrieved
+ * @exception InvalidAttributeValueException if value specified is not valid for the attribute
* @exception MBeanException Wraps a <CODE>java.lang.Exception</CODE> thrown by the MBean's setter.
* @exception ReflectionException Wraps a <CODE>java.lang.Exception</CODE> thrown while trying to invoke the MBean's setter.
*
--- a/jdk/src/java.management/share/classes/javax/management/ImmutableDescriptor.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.management/share/classes/javax/management/ImmutableDescriptor.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -65,6 +65,8 @@
/**
* Construct a descriptor containing the given fields and values.
*
+ * @param fieldNames the field names
+ * @param fieldValues the field values
* @throws IllegalArgumentException if either array is null, or
* if the arrays have different sizes, or
* if a field name is null or empty, or if the same field name
@@ -81,6 +83,7 @@
* is {@code a=b=c} then the field name is {@code a} and its value
* is {@code b=c}.
*
+ * @param fields the field names
* @throws IllegalArgumentException if the parameter is null, or
* if a field name is empty, or if the same field name appears
* more than once, or if one of the strings does not contain
@@ -94,6 +97,7 @@
* <p>Construct a descriptor where the names and values of the fields
* are the keys and values of the given Map.</p>
*
+ * @param fields the field names and values
* @throws IllegalArgumentException if the parameter is null, or
* if a field name is null or empty, or if the same field name appears
* more than once (which can happen because field names are not case
--- a/jdk/src/java.management/share/classes/javax/management/QueryExp.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.management/share/classes/javax/management/QueryExp.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -53,10 +53,13 @@
*
* @return True if the query was successfully applied to the MBean, false otherwise
*
- * @exception BadStringOperationException
- * @exception BadBinaryOpValueExpException
- * @exception BadAttributeValueExpException
- * @exception InvalidApplicationException
+ * @throws BadStringOperationException when an invalid string
+ * operation is passed to a method for constructing a query
+ * @throws BadBinaryOpValueExpException when an invalid expression
+ * is passed to a method for constructing a query
+ * @throws BadAttributeValueExpException when an invalid MBean
+ * attribute is passed to a query constructing method
+ * @throws InvalidApplicationException when an invalid apply is attempted
*/
public boolean apply(ObjectName name) throws BadStringOperationException, BadBinaryOpValueExpException,
BadAttributeValueExpException, InvalidApplicationException ;
--- a/jdk/src/java.management/share/classes/javax/management/StandardEmitterMBean.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.management/share/classes/javax/management/StandardEmitterMBean.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -91,6 +91,7 @@
* that will have no effect on this object's
* {@code getNotificationInfo()}.</p>
*
+ * @param <T> the implementation type of the MBean
* @param implementation the implementation of the MBean interface.
* @param mbeanInterface a Standard MBean interface.
* @param emitter the object that will handle notifications.
@@ -129,6 +130,7 @@
* that will have no effect on this object's
* {@code getNotificationInfo()}.</p>
*
+ * @param <T> the implementation type of the MBean
* @param implementation the implementation of the MBean interface.
* @param mbeanInterface a Standard MBean interface.
* @param isMXBean If true, the {@code mbeanInterface} parameter
--- a/jdk/src/java.management/share/classes/javax/management/StringValueExp.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.management/share/classes/javax/management/StringValueExp.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -95,11 +95,12 @@
*
* @return The <CODE>ValueExp</CODE>.
*
- * @exception BadStringOperationException
- * @exception BadBinaryOpValueExpException
- * @exception BadAttributeValueExpException
- * @exception InvalidApplicationException
+ * @throws BadStringOperationException {@inheritDoc}
+ * @throws BadBinaryOpValueExpException {@inheritDoc}
+ * @throws BadAttributeValueExpException {@inheritDoc}
+ * @throws InvalidApplicationException {@inheritDoc}
*/
+ @Override
public ValueExp apply(ObjectName name) throws BadStringOperationException, BadBinaryOpValueExpException,
BadAttributeValueExpException, InvalidApplicationException {
return this;
--- a/jdk/src/java.management/share/classes/javax/management/ValueExp.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.management/share/classes/javax/management/ValueExp.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -80,10 +80,13 @@
*
* @return The <CODE>ValueExp</CODE>.
*
- * @exception BadStringOperationException
- * @exception BadBinaryOpValueExpException
- * @exception BadAttributeValueExpException
- * @exception InvalidApplicationException
+ * @throws BadStringOperationException when an invalid string
+ * operation is passed to a method for constructing a query
+ * @throws BadBinaryOpValueExpException when an invalid expression
+ * is passed to a method for constructing a query
+ * @throws BadAttributeValueExpException when an invalid MBean
+ * attribute is passed to a query constructing method
+ * @throws InvalidApplicationException when an invalid apply is attempted
*/
public ValueExp apply(ObjectName name)
throws BadStringOperationException, BadBinaryOpValueExpException,
--- a/jdk/src/java.management/share/classes/javax/management/modelmbean/ModelMBeanInfo.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.management/share/classes/javax/management/modelmbean/ModelMBeanInfo.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -307,6 +307,7 @@
/**
* Creates and returns a copy of this object.
+ * @return a copy of this object
*/
public java.lang.Object clone();
--- a/jdk/src/java.management/share/classes/javax/management/monitor/Monitor.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.management/share/classes/javax/management/monitor/Monitor.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -387,7 +387,7 @@
*
* @return The name of the monitor MBean registered.
*
- * @exception Exception
+ * @exception Exception if something goes wrong
*/
public ObjectName preRegister(MBeanServer server, ObjectName name)
throws Exception {
@@ -416,7 +416,7 @@
* <P>
* Stops the monitor.
*
- * @exception Exception
+ * @exception Exception if something goes wrong
*/
public void preDeregister() throws Exception {
--- a/jdk/src/java.management/share/classes/javax/management/openmbean/ArrayType.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.management/share/classes/javax/management/openmbean/ArrayType.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -793,6 +793,7 @@
* array type description = 3-dimension array of java.lang.String
* }</pre>
*
+ * @param <E> the Java type that described instances must have
* @param elementType the <i>open type</i> of element values contained
* in the arrays described by this <tt>ArrayType</tt>
* instance; must be an instance of either
@@ -800,7 +801,7 @@
* <tt>TabularType</tt> or another <tt>ArrayType</tt>
* with a <tt>SimpleType</tt>, <tt>CompositeType</tt>
* or <tt>TabularType</tt> as its <tt>elementType</tt>.
- *
+ * @return an {@code ArrayType} instance
* @throws OpenDataException if <var>elementType's className</var> is not
* one of the allowed Java class names for open
* data.
@@ -834,12 +835,14 @@
* array type description = 3-dimension array of int
* }</pre>
*
+ * @param <T> the Java type that described instances must have
* @param arrayClass a primitive array class such as {@code int[].class},
* {@code boolean[][].class}, etc. The {@link
* #getElementOpenType()} method of the returned
* {@code ArrayType} returns the {@link SimpleType}
* corresponding to the wrapper type of the primitive
* type of the array.
+ * @return an {@code ArrayType} instance
*
* @throws IllegalArgumentException if <var>arrayClass</var> is not
* a primitive array.
--- a/jdk/src/java.management/share/classes/javax/management/timer/Timer.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.management/share/classes/javax/management/timer/Timer.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -195,7 +195,7 @@
*
* @return The name of the timer MBean registered.
*
- * @exception java.lang.Exception
+ * @exception java.lang.Exception if something goes wrong
*/
public ObjectName preRegister(MBeanServer server, ObjectName name)
throws java.lang.Exception {
@@ -217,7 +217,7 @@
* <P>
* Stops the timer.
*
- * @exception java.lang.Exception
+ * @exception java.lang.Exception if something goes wrong
*/
public void preDeregister() throws java.lang.Exception {
--- a/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapURL.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapURL.java Mon Apr 27 09:17:39 2015 -0700
@@ -26,9 +26,6 @@
package com.sun.jndi.ldap;
import javax.naming.*;
-import javax.naming.directory.*;
-import javax.naming.spi.*;
-import java.net.URL;
import java.net.MalformedURLException;
import java.io.UnsupportedEncodingException;
import java.util.StringTokenizer;
@@ -211,43 +208,52 @@
// query begins with a '?' or is null
- if (query == null) {
+ if (query == null || query.length() < 2) {
+ return;
+ }
+
+ int currentIndex = 1;
+ int nextQmark;
+ int endIndex;
+
+ // attributes:
+ nextQmark = query.indexOf('?', currentIndex);
+ endIndex = nextQmark == -1 ? query.length() : nextQmark;
+ if (endIndex - currentIndex > 0) {
+ attributes = query.substring(currentIndex, endIndex);
+ }
+ currentIndex = endIndex + 1;
+ if (currentIndex >= query.length()) {
return;
}
- int qmark2 = query.indexOf('?', 1);
-
- if (qmark2 < 0) {
- attributes = query.substring(1);
+ // scope:
+ nextQmark = query.indexOf('?', currentIndex);
+ endIndex = nextQmark == -1 ? query.length() : nextQmark;
+ if (endIndex - currentIndex > 0) {
+ scope = query.substring(currentIndex, endIndex);
+ }
+ currentIndex = endIndex + 1;
+ if (currentIndex >= query.length()) {
return;
- } else if (qmark2 != 1) {
- attributes = query.substring(1, qmark2);
}
- int qmark3 = query.indexOf('?', qmark2 + 1);
-
- if (qmark3 < 0) {
- scope = query.substring(qmark2 + 1);
+ // filter:
+ nextQmark = query.indexOf('?', currentIndex);
+ endIndex = nextQmark == -1 ? query.length() : nextQmark;
+ if (endIndex - currentIndex > 0) {
+ filter = query.substring(currentIndex, endIndex);
+ filter = UrlUtil.decode(filter, "UTF8");
+ }
+ currentIndex = endIndex + 1;
+ if (currentIndex >= query.length()) {
return;
- } else if (qmark3 != qmark2 + 1) {
- scope = query.substring(qmark2 + 1, qmark3);
}
- int qmark4 = query.indexOf('?', qmark3 + 1);
-
- if (qmark4 < 0) {
- filter = query.substring(qmark3 + 1);
- } else {
- if (qmark4 != qmark3 + 1) {
- filter = query.substring(qmark3 + 1, qmark4);
- }
- extensions = query.substring(qmark4 + 1);
- if (extensions.length() > 0) {
- extensions = UrlUtil.decode(extensions, "UTF8");
- }
- }
- if (filter != null && filter.length() > 0) {
- filter = UrlUtil.decode(filter, "UTF8");
+ // extensions:
+ if (query.length() - currentIndex > 0) {
+ extensions = query.substring(currentIndex);
+ extensions = UrlUtil.decode(extensions, "UTF8");
}
}
--- a/jdk/src/java.security.jgss/share/classes/org/ietf/jgss/GSSCredential.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.security.jgss/share/classes/org/ietf/jgss/GSSCredential.java Mon Apr 27 09:17:39 2015 -0700
@@ -35,7 +35,7 @@
* may be used to perform context initiation, acceptance, or both.<p>
*
* Credentials are instantiated using one of the
- * <code>createCredential</code> methods in the {@link GSSManager
+ * {@code createCredential} methods in the {@link GSSManager
* GSSManager} class. GSS-API credential creation is not
* intended to provide a "login to the network" function, as such a
* function would involve the creation of new credentials rather than
@@ -75,7 +75,7 @@
*
* Oid [] mechs = cred.getMechs();
* if (mechs != null) {
- * for (int i = 0; i < mechs.length; i++)
+ * for (int i = 0; i{@literal <} mechs.length; i++)
* System.out.println(mechs[i].toString());
* }
*
@@ -297,8 +297,8 @@
* with a variety of clients using different security mechanisms.<p>
*
* This routine adds the new credential element "in-place". To add the
- * element in a new credential, first call <code>clone</code> to obtain a
- * copy of this credential, then call its <code>add</code> method.<p>
+ * element in a new credential, first call {@code clone} to obtain a
+ * copy of this credential, then call its {@code add} method.<p>
*
* As always, GSS-API implementations must impose a local access-control
* policy on callers to prevent unauthorized callers from acquiring
@@ -311,7 +311,7 @@
* getRemainingAcceptLifetime} on the credential.
*
* @param name the name of the principal for whom this credential is to
- * be acquired. Use <code>null</code> to specify the default
+ * be acquired. Use {@code null} to specify the default
* principal.
* @param initLifetime the number of seconds that the credential element
* should remain valid for initiating of security contexts. Use {@link
@@ -354,8 +354,8 @@
* object. The two credentials must be acquired over the same
* mechanisms and must refer to the same principal.
*
- * @return <code>true</code> if the two GSSCredentials assert the same
- * entity; <code>false</code> otherwise.
+ * @return {@code true} if the two GSSCredentials assert the same
+ * entity; {@code false} otherwise.
* @param another another GSSCredential for comparison to this one
*/
public boolean equals(Object another);
--- a/jdk/src/java.smartcardio/share/classes/javax/smartcardio/Card.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.smartcardio/share/classes/javax/smartcardio/Card.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -69,6 +69,7 @@
* Returns the CardChannel for the basic logical channel. The basic
* logical channel has a channel number of 0.
*
+ * @return the CardChannel for the basic logical channel
* @throws SecurityException if a SecurityManager exists and the
* caller does not have the required
* {@linkplain CardPermission permission}
@@ -82,6 +83,7 @@
* opened by issuing a <code>MANAGE CHANNEL</code> command that should use
* the format <code>[00 70 00 00 01]</code>.
*
+ * @return the logical channel which has been opened
* @throws SecurityException if a SecurityManager exists and the
* caller does not have the required
* {@linkplain CardPermission permission}
@@ -137,6 +139,7 @@
*
* @param controlCode the control code of the command
* @param command the command data
+ * @return the response from the terminal device
*
* @throws SecurityException if a SecurityManager exists and the
* caller does not have the required
--- a/jdk/src/java.smartcardio/share/classes/javax/smartcardio/CardTerminal.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.smartcardio/share/classes/javax/smartcardio/CardTerminal.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -83,6 +83,7 @@
* @throws SecurityException if a SecurityManager exists and the
* caller does not have the required
* {@linkplain CardPermission permission}
+ * @return the card the connection has been established with
*/
public abstract Card connect(String protocol) throws CardException;
--- a/jdk/src/java.smartcardio/share/classes/javax/smartcardio/CardTerminals.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.smartcardio/share/classes/javax/smartcardio/CardTerminals.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -105,6 +105,7 @@
* Returns the terminal with the specified name or null if no such
* terminal exists.
*
+ * @param name the terminal name
* @return the terminal with the specified name or null if no such
* terminal exists.
*
--- a/jdk/src/java.transaction/share/classes/javax/transaction/InvalidTransactionException.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.transaction/share/classes/javax/transaction/InvalidTransactionException.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -39,10 +39,17 @@
@SuppressWarnings("serial") // serialVersionUID intentionally omitted
public class InvalidTransactionException extends java.rmi.RemoteException {
+ /**
+ * Constructs an {@code InvalidTransactionException}.
+ */
public InvalidTransactionException() {
super();
}
+ /**
+ * Constructs an {@code InvalidTransactionException}.
+ * @param msg the detail message
+ */
public InvalidTransactionException(String msg) {
super(msg);
}
--- a/jdk/src/java.transaction/share/classes/javax/transaction/TransactionRequiredException.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.transaction/share/classes/javax/transaction/TransactionRequiredException.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -38,10 +38,17 @@
@SuppressWarnings("serial") // serialVersionUID intentionally omitted
public class TransactionRequiredException extends java.rmi.RemoteException {
+ /**
+ * Constructs a {@code TransactionRequiredException}.
+ */
public TransactionRequiredException() {
super();
}
+ /**
+ * Constructs a {@code TransactionRequiredException}.
+ * @param msg the detail message
+ */
public TransactionRequiredException(String msg) {
super(msg);
}
--- a/jdk/src/java.transaction/share/classes/javax/transaction/TransactionRolledbackException.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.transaction/share/classes/javax/transaction/TransactionRolledbackException.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -41,10 +41,17 @@
@SuppressWarnings("serial") // serialVersionUID intentionally omitted
public class TransactionRolledbackException extends java.rmi.RemoteException {
+ /**
+ * Constructs a {@code TransactionRolledbackException}.
+ */
public TransactionRolledbackException() {
super();
}
+ /**
+ * Constructs a {@code TransactionRolledbackException}.
+ * @param msg the detail message
+ */
public TransactionRolledbackException(String msg) {
super(msg);
}
--- a/jdk/src/java.xml.crypto/share/classes/javax/xml/crypto/dom/package.html Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.xml.crypto/share/classes/javax/xml/crypto/dom/package.html Mon Apr 27 09:17:39 2015 -0700
@@ -44,11 +44,7 @@
RFC 3275: XML-Signature Syntax and Processing</a>
</ul>
-<p>
-<dl>
-<dt><b>Since:</b></dt>
- <dd>1.6</dd>
-</dl>
+@since 1.6
</body>
</html>
--- a/jdk/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/package.html Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/package.html Mon Apr 27 09:17:39 2015 -0700
@@ -44,11 +44,7 @@
RFC 3275: XML-Signature Syntax and Processing</a>
</ul>
-<p>
-<dl>
-<dt><b>Since:</b></dt>
- <dd>1.6</dd>
-</dl>
+@since 1.6
</body>
</html>
--- a/jdk/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/package.html Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/keyinfo/package.html Mon Apr 27 09:17:39 2015 -0700
@@ -55,11 +55,7 @@
RFC 3275: XML-Signature Syntax and Processing</a>
</ul>
-<p>
-<dl>
-<dt><b>Since:</b></dt>
- <dd>1.6</dd>
-</dl>
+@since 1.6
</body>
</html>
--- a/jdk/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/package.html Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/package.html Mon Apr 27 09:17:39 2015 -0700
@@ -65,11 +65,7 @@
RFC 3275: XML-Signature Syntax and Processing</a>
</ul>
-<p>
-<dl>
-<dt><b>Since:</b></dt>
- <dd>1.6</dd>
-</dl>
+@since 1.6
</body>
</html>
--- a/jdk/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/spec/package.html Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/spec/package.html Mon Apr 27 09:17:39 2015 -0700
@@ -49,11 +49,7 @@
XPath Filter 2.0 Transform Algorithm: W3C Recommendation</a>
</ul>
-<p>
-<dl>
-<dt><b>Since:</b></dt>
- <dd>1.6</dd>
-</dl>
+@since 1.6
</body>
</html>
--- a/jdk/src/java.xml.crypto/share/classes/javax/xml/crypto/package.html Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/java.xml.crypto/share/classes/javax/xml/crypto/package.html Mon Apr 27 09:17:39 2015 -0700
@@ -42,11 +42,7 @@
RFC 3275: XML-Signature Syntax and Processing</a>
</ul>
-<p>
-<dl>
-<dt><b>Since:</b></dt>
- <dd>1.6</dd>
-</dl>
+@since 1.6
</body>
</html>
--- a/jdk/src/jdk.accessibility/windows/native/jabswitch/jabswitch_manifest.rc Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-#define XSTR(x) STR(x)
-#define STR(x) #x
-
-1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ 24 /* RT_MANIFEST */ XSTR(JAB_MANIFEST_EMBED)
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Bootstrap.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Bootstrap.java Mon Apr 27 09:17:39 2015 -0700
@@ -43,13 +43,12 @@
* <p> May throw an unspecified error if initialization of the
* {@link com.sun.jdi.VirtualMachineManager} fails or if
* the virtual machine manager is unable to locate or create
- * any {@link com.sun.jdi.connect.Connector Connectors}. </p>
- * <p>
+ * any {@link com.sun.jdi.connect.Connector Connectors}.
+ *
* @throws java.lang.SecurityException if a security manager has been
* installed and it denies {@link JDIPermission}
- * <tt>("virtualMachineManager")</tt> or other unspecified
+ * ("{@code virtualMachineManager}") or other unspecified
* permissions required by the implementation.
- * </p>
*/
static public synchronized VirtualMachineManager virtualMachineManager() {
return com.sun.tools.jdi.VirtualMachineManagerImpl.virtualMachineManager();
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Field.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Field.java Mon Apr 27 09:17:39 2015 -0700
@@ -65,22 +65,22 @@
* short s;
* Date d;
* byte[] ba;</PRE>
- * And the JDI client defines these <CODE>Field</CODE> objects:
+ * And the JDI client defines these {@code Field} objects:
* <PRE>
* Field sField = targetClass.fieldByName("s");
* Field dField = targetClass.fieldByName("d");
* Field baField = targetClass.fieldByName("ba");</PRE>
- * to mirror the corresponding fields, then <CODE>sField.type()</CODE>
- * is a {@link ShortType}, <CODE>dField.type()</CODE> is the
- * {@link ReferenceType} for <CODE>java.util.Date</CODE> and
- * <CODE>((ArrayType)(baField.type())).componentType()</CODE> is a
+ * to mirror the corresponding fields, then {@code sField.type()}
+ * is a {@link ShortType}, {@code dField.type()} is the
+ * {@link ReferenceType} for {@code java.util.Date} and
+ * {@code ((ArrayType)(baField.type())).componentType()} is a
* {@link ByteType}.
* <P>
* Note: if the type of this field is a reference type (class,
* interface, or array) and it has not been created or loaded
* by the declaring type's class loader - that is,
- * {@link TypeComponent#declaringType <CODE>declaringType()</CODE>}
- * <CODE>.classLoader()</CODE>,
+ * {@link TypeComponent#declaringType declaringType()}
+ * {@code .classLoader()},
* then ClassNotLoadedException will be thrown.
* Also, a reference type may have been loaded but not yet prepared,
* in which case the type will be returned
@@ -100,28 +100,28 @@
/**
* Determine if this is a transient field.
*
- * @return <code>true</code> if this field is transient; false otherwise.
+ * @return {@code true} if this field is transient; {@code false} otherwise.
*/
boolean isTransient();
/**
* Determine if this is a volatile field.
*
- * @return <code>true</code> if this field is volatile; false otherwise.
+ * @return {@code true} if this field is volatile; {@code false} otherwise.
*/
boolean isVolatile();
/**
* Determine if this is a field that represents an enum constant.
- * @return <code>true</code> if this field represents an enum constant;
- * false otherwise.
+ * @return {@code true} if this field represents an enum constant;
+ * {@code false} otherwise.
*/
boolean isEnumConstant();
/**
* Compares the specified Object with this field for equality.
*
- * @return true if the Object is a Field and if both
+ * @return {@code true} if the Object is a Field and if both
* mirror the same field (declared in the same class or interface, in
* the same VM).
*/
@@ -130,7 +130,7 @@
/**
* Returns the hash code value for this Field.
*
- * @return the integer hash code
+ * @return the integer hash code.
*/
int hashCode();
}
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/JDIPermission.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/JDIPermission.java Mon Apr 27 09:17:39 2015 -0700
@@ -26,20 +26,20 @@
package com.sun.jdi;
/**
- * The <code>JDIPermission</code> class represents access rights to
- * the <code>VirtualMachineManager</code>. This is the permission
+ * The {@code JDIPermission} class represents access rights to
+ * the {@code VirtualMachineManager}. This is the permission
* which the SecurityManager will check when code that is running with
* a SecurityManager requests access to the VirtualMachineManager, as
* defined in the Java Debug Interface (JDI) for the Java platform.
* <P>
- * A <code>JDIPermission</code> object contains a name (also referred
+ * A {@code JDIPermission} object contains a name (also referred
* to as a "target name") but no actions list; you either have the
* named permission or you don't.
* <P>
* The following table provides a summary description of what the
* permission allows, and discusses the risks of granting code the
* permission.
- * <P>
+ *
* <table border=1 cellpadding=5 summary="Table shows permission
* target name, what the permission allows, and associated risks">
* <tr>
@@ -51,10 +51,10 @@
* <tr>
* <td>virtualMachineManager</td>
* <td>Ability to inspect and modify the JDI objects in the
- * <code>VirtualMachineManager</code>
+ * {@code VirtualMachineManager}
* </td>
* <td>This allows an attacker to control the
- * <code>VirtualMachineManager</code> and cause the system to
+ * {@code VirtualMachineManager} and cause the system to
* misbehave.
* </td>
* </tr>
@@ -82,8 +82,8 @@
public final class JDIPermission extends java.security.BasicPermission {
private static final long serialVersionUID = -6988461416938786271L;
/**
- * The <code>JDIPermission</code> class represents access rights to the
- * <code>VirtualMachineManager</code>
+ * The {@code JDIPermission} class represents access rights to the
+ * {@code VirtualMachineManager}
* @param name Permission name. Must be "virtualMachineManager".
* @throws IllegalArgumentException if the name argument is invalid.
*/
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Method.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Method.java Mon Apr 27 09:17:39 2015 -0700
@@ -49,7 +49,7 @@
* This type name is always available even if
* the type has not yet been created or loaded.
*
- * @return a String containing the return type name.
+ * @return a {@code String} containing the return type name.
*/
String returnTypeName();
@@ -60,8 +60,8 @@
* Note: if the return type of this method is a reference type (class,
* interface, or array) and it has not been created or loaded
* by the declaring type's class loader - that is,
- * {@link TypeComponent#declaringType <CODE>declaringType()</CODE>}
- * <CODE>.classLoader()</CODE>,
+ * {@link TypeComponent#declaringType declaringType()}
+ * {@code .classLoader()},
* then ClassNotLoadedException will be thrown.
* Also, a reference type may have been loaded but not yet prepared,
* in which case the type will be returned
@@ -93,7 +93,6 @@
* as specified at compile-time.
* If the formal parameter was declared with an ellipsis, then
* it is represented as an array of the type before the ellipsis.
- *
*/
List<String> argumentTypeNames();
@@ -105,8 +104,8 @@
* is a reference type (class, interface, or array)
* and it has not been created or loaded
* by the declaring type's class loader - that is,
- * {@link TypeComponent#declaringType <CODE>declaringType()</CODE>}
- * <CODE>.classLoader()</CODE>,
+ * {@link TypeComponent#declaringType declaringType()}
+ * {@code .classLoader()},
* then ClassNotLoadedException will be thrown.
* Also, a reference type may have been loaded but not yet prepared,
* in which case the list will be returned
@@ -132,16 +131,16 @@
/**
* Determine if this method is abstract.
*
- * @return <code>true</code> if the method is declared abstract;
- * false otherwise.
+ * @return {@code true} if the method is declared abstract;
+ * {@code false} otherwise.
*/
boolean isAbstract();
/**
* Determine if this method is a default method
*
- * @return <code>true</code> if the method is declared default;
- * false otherwise
+ * @return {@code true} if the method is declared default;
+ * {@code false} otherwise.
*
* @since 1.8
*/
@@ -152,24 +151,24 @@
/**
* Determine if this method is synchronized.
*
- * @return <code>true</code> if the method is declared synchronized;
- * false otherwise.
+ * @return {@code true} if the method is declared synchronized;
+ * {@code false} otherwise.
*/
boolean isSynchronized();
/**
* Determine if this method is native.
*
- * @return <code>true</code> if the method is declared native;
- * false otherwise.
+ * @return {@code true} if the method is declared native;
+ * {@code false} otherwise.
*/
boolean isNative();
/**
* Determine if this method accepts a variable number of arguments.
*
- * @return <code>true</code> if the method accepts a variable number
- * of arguments, false otherwise.
+ * @return {@code true} if the method accepts a variable number
+ * of arguments, {@code false} otherwise.
*
* @since 1.5
*/
@@ -180,8 +179,8 @@
* methods are defined in
* <cite>The Java™ Language Specification</cite>.
*
- * @return <code>true</code> if the method is a bridge method,
- * false otherwise.
+ * @return {@code true} if the method is a bridge method,
+ * {@code false} otherwise.
*
* @since 1.5
*/
@@ -190,23 +189,23 @@
/**
* Determine if this method is a constructor.
*
- * @return <code>true</code> if the method is a constructor;
- * false otherwise.
+ * @return {@code true} if the method is a constructor;
+ * {@code false} otherwise.
*/
boolean isConstructor();
/**
* Determine if this method is a static initializer.
*
- * @return <code>true</code> if the method is a static initializer;
- * false otherwise.
+ * @return {@code true} if the method is a static initializer;
+ * {@code false} otherwise.
*/
boolean isStaticInitializer();
/**
* Determine if this method is obsolete.
*
- * @return <code>true</code> if this method has been made obsolete by a
+ * @return {@code true} if this method has been made obsolete by a
* {@link VirtualMachine#redefineClasses} operation.
*
* @since 1.4
@@ -218,7 +217,7 @@
* each executable source line in this method.
* <P>
* This method is equivalent to
- * <code>allLineLocations(vm.getDefaultStratum(),null)</code> -
+ * {@code allLineLocations(vm.getDefaultStratum(),null)} -
* see {@link #allLineLocations(String,String)}
* for more information.
*
@@ -252,16 +251,16 @@
* (see {@link Location} for a description of strata).
*
* @param stratum The stratum to retrieve information from
- * or <code>null</code> for the {@link ReferenceType#defaultStratum()}
+ * or {@code null} for the {@link ReferenceType#defaultStratum()}
*
* @param sourceName Return locations only within this
- * source file or <code>null</code> to return locations.
+ * source file or {@code null} to return locations.
*
* @return a List of all source line {@link Location} objects.
*
* @throws AbsentInformationException if there is no line
* number information for this (non-native, non-abstract)
- * method. Or if <i>sourceName</i> is non-<code>null</code>
+ * method. Or if <i>sourceName</i> is non-{@code null}
* and source name information is not present.
*
* @since 1.4
@@ -274,8 +273,8 @@
* that map to the given line number.
* <P>
* This method is equivalent to
- * <code>locationsOfLine(vm.getDefaultStratum(), null,
- * lineNumber)</code> -
+ * {@code locationsOfLine(vm.getDefaultStratum(), null,
+ * lineNumber)} -
* see {@link
* #locationsOfLine(java.lang.String,java.lang.String,int)}
* for more information.
@@ -320,7 +319,7 @@
*
* @throws AbsentInformationException if there is no line
* number information for this method.
- * Or if <i>sourceName</i> is non-<code>null</code>
+ * Or if <i>sourceName</i> is non-{@code null}
* and source name information is not present.
*
* @since 1.4
@@ -436,7 +435,7 @@
/**
* Returns the hash code value for this Method.
*
- * @return the integer hash code
+ * @return the integer hash code.
*/
int hashCode();
}
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Value.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Value.java Mon Apr 27 09:17:39 2015 -0700
@@ -63,47 +63,47 @@
* <TH id="type" align="left">{@link Type} of value<br>{@link #type() Value.type()}</TH>
* <TR>
* <TD headers="primval kind"> a boolean</TD>
- * <TD headers="primval example"> <CODE>true</CODE></TD>
+ * <TD headers="primval example"> {@code true}</TD>
* <TD headers="primval mirrored"> {@link BooleanValue}</TD>
* <TD headers="primval type"> {@link BooleanType}</TD>
* <TR>
* <TD headers="primval kind"> a byte</TD>
- * <TD headers="primval example"> <CODE>(byte)4</CODE></TD>
+ * <TD headers="primval example"> {@code (byte)4}</TD>
* <TD headers="primval mirrored"> {@link ByteValue}</TD>
* <TD headers="primval type"> {@link ByteType}</TD>
* <TR>
* <TD headers="primval kind"> a char</TD>
- * <TD headers="primval example"> <CODE>'a'</CODE></TD>
+ * <TD headers="primval example"> {@code 'a'}</TD>
* <TD headers="primval mirrored"> {@link CharValue}</TD>
* <TD headers="primval type"> {@link CharType}</TD>
* <TR>
* <TD headers="primval kind"> a double</TD>
- * <TD headers="primval example"> <CODE>3.1415926</CODE></TD>
+ * <TD headers="primval example"> {@code 3.1415926}</TD>
* <TD headers="primval mirrored"> {@link DoubleValue}</TD>
* <TD headers="primval type"> {@link DoubleType}</TD>
* <TR>
* <TD headers="primval kind"> a float</TD>
- * <TD headers="primval example"> <CODE>2.5f</CODE></TD>
+ * <TD headers="primval example"> {@code 2.5f}</TD>
* <TD headers="primval mirrored"> {@link FloatValue}</TD>
* <TD headers="primval type"> {@link FloatType}</TD>
* <TR>
* <TD headers="primval kind"> an int</TD>
- * <TD headers="primval example"> <CODE>22</CODE></TD>
+ * <TD headers="primval example"> {@code 22}</TD>
* <TD headers="primval mirrored"> {@link IntegerValue}</TD>
* <TD headers="primval type"> {@link IntegerType}</TD>
* <TR>
* <TD headers="primval kind"> a long</TD>
- * <TD headers="primval example"> <CODE>1024L</CODE></TD>
+ * <TD headers="primval example"> {@code 1024L}</TD>
* <TD headers="primval mirrored"> {@link LongValue}</TD>
* <TD headers="primval type"> {@link LongType}</TD>
* <TR>
* <TD headers="primval kind"> a short</TD>
- * <TD headers="primval example"> <CODE>(short)12</CODE></TD>
+ * <TD headers="primval example"> {@code (short)12}</TD>
* <TD headers="primval mirrored"> {@link ShortValue}</TD>
* <TD headers="primval type"> {@link ShortType}</TD>
* <TR>
* <TD headers="primval kind"> a void</TD>
- * <TD headers="primval example"> <CODE> </CODE></TD>
+ * <TD headers="primval example"> </TD>
* <TD headers="primval mirrored"> {@link VoidValue}</TD>
* <TD headers="primval type"> {@link VoidType}</TD>
* <TR BGCOLOR="#EEEEFF">
@@ -115,50 +115,50 @@
* <TH id="type2" align="left">{@link Type} of value<br>{@link #type() Value.type()}</TH>
* <TR>
* <TD headers="objref kind2"> a class instance</TD>
- * <TD headers="objref example2"> <CODE>this</CODE></TD>
+ * <TD headers="objref example2"> {@code this}</TD>
* <TD headers="objref mirrored2"> {@link ObjectReference}</TD>
* <TD headers="objref type2"> {@link ClassType}</TD>
* <TR>
* <TD headers="objref kind2"> an array</TD>
- * <TD headers="objref example2"> <CODE>new int[5]</CODE></TD>
+ * <TD headers="objref example2"> {@code new int[5]}</TD>
* <TD headers="objref mirrored2"> {@link ArrayReference}</TD>
* <TD headers="objref type2"> {@link ArrayType}</TD>
* <TR>
* <TD headers="objref kind2"> a string</TD>
- * <TD headers="objref example2"> <CODE>"hello"</CODE></TD>
+ * <TD headers="objref example2"> {@code "hello"}</TD>
* <TD headers="objref mirrored2"> {@link StringReference}</TD>
* <TD headers="objref type2"> {@link ClassType}</TD>
* <TR>
* <TD headers="objref kind2"> a thread</TD>
- * <TD headers="objref example2"> <CODE>Thread.currentThread()</CODE></TD>
+ * <TD headers="objref example2"> {@code Thread.currentThread()}</TD>
* <TD headers="objref mirrored2"> {@link ThreadReference}</TD>
* <TD headers="objref type2"> {@link ClassType}</TD>
* <TR>
* <TD headers="objref kind2"> a thread group</TD>
- * <TD headers="objref example2"> <CODE>Thread.currentThread()<br> .getThreadGroup()</CODE></TD>
+ * <TD headers="objref example2"> {@code Thread.currentThread()}<br> {@code .getThreadGroup()}</TD>
* <TD headers="objref mirrored2"> {@link ThreadGroupReference}</TD>
* <TD headers="objref type2"> {@link ClassType}</TD>
* <TR>
- * <TD headers="objref kind2"> a <CODE>java.lang.Class</CODE><br>instance</TD>
- * <TD headers="objref example2"> <CODE>this.getClass()</CODE></TD>
+ * <TD headers="objref kind2"> a {@code java.lang.Class}<br>instance</TD>
+ * <TD headers="objref example2"> {@code this.getClass()}</TD>
* <TD headers="objref mirrored2"> {@link ClassObjectReference}</TD>
* <TD headers="objref type2"> {@link ClassType}</TD>
* <TR>
* <TD headers="objref kind2"> a class loader</TD>
- * <TD headers="objref example2"> <CODE>this.getClass()<br> .getClassLoader() </CODE></TD>
+ * <TD headers="objref example2"> {@code this.getClass()}<br> {@code .getClassLoader()}</TD>
* <TD headers="objref mirrored2"> {@link ClassLoaderReference}</TD>
* <TD headers="objref type2"> {@link ClassType}</TD>
* <TR BGCOLOR="#EEEEFF">
* <TH id="other" colspan=4>Other</TH>
* <TR BGCOLOR="#EEEEFF">
- * <TH id="kind3" align="left">Kind of value</TD>
- * <TH id="example3" align="left">For example -<br>expression in target</TD>
- * <TH id="mirrored3" align="left">Is mirrored as</TD>
- * <TH id="type3" align="left">{@link Type} of value</TD>
+ * <TD id="kind3" align="left">Kind of value</TD>
+ * <TD id="example3" align="left">For example -<br>expression in target</TD>
+ * <TD id="mirrored3" align="left">Is mirrored as</TD>
+ * <TD id="type3" align="left">{@link Type} of value</TD>
* <TR>
* <TD headers="other kind3"> null</TD>
- * <TD headers="other example3"> <CODE>null</CODE></TD>
- * <TD headers="other mirrored3"> <CODE>null</CODE></TD>
+ * <TD headers="other example3"> {@code null}</TD>
+ * <TD headers="other mirrored3"> {@code null}</TD>
* <TD headers="other type3"> n/a</TD>
* </TABLE>
*
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachineManager.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachineManager.java Mon Apr 27 09:17:39 2015 -0700
@@ -50,7 +50,7 @@
* examples use the command line syntax in Sun's implementation.
* Some {@link com.sun.jdi.connect.Connector} implementations may require slightly
* different handling than presented below.
- * <p>
+ *
* <TABLE BORDER WIDTH="75%" SUMMARY="Four scenarios for connecting a debugger
* to a virtual machine">
* <TR>
@@ -85,7 +85,7 @@
* <UL>
* <LI>
* Target VM is launched using the options
- * <code>-agentlib:jdwp=transport=xxx,server=y</code>
+ * {@code -agentlib:jdwp=transport=xxx,server=y}
* </LI>
* <LI>
* Target VM generates and outputs the tranport-specific address at which it will
@@ -110,6 +110,7 @@
* <TR>
* <TD>Target VM attaches to previously-running debugger</TD>
* <TD>
+ * <UL>
* <LI>
* At startup, debugger selects one or more connectors from
* the list returned by {@link #listeningConnectors} for one or more
@@ -126,7 +127,7 @@
* a target VM to connect.</LI>
* <LI>
* Later, target VM is launched by end user with the options
- * <code>-agentlib:jdwp=transport=xxx,address=yyy</code>
+ * {@code -agentlib:jdwp=transport=xxx,address=yyy}
* where "xxx" the transport for one of the connectors selected by the
* the debugger and "yyy"
* is the address generated by
@@ -135,15 +136,17 @@
* <LI>
* Debugger's call to {@link com.sun.jdi.connect.ListeningConnector#accept(java.util.Map)} returns
* a {@link VirtualMachine} mirror.</LI>
+ * </UL>
* </TD>
* </TR>
*
* <TR>
* <TD>Target VM launches debugger (sometimes called "Just-In-Time" debugging)</TD>
* <TD>
+ * <UL>
* <LI>
* Target VM is launched with the options
- * <code>-agentlib:jdwp=launch=cmdline,onuncaught=y,transport=xxx,server=y</code>
+ * {@code -agentlib:jdwp=launch=cmdline,onuncaught=y,transport=xxx,server=y}
* </LI>
* <LI>
* Later, an uncaught exception is thrown in the target VM. The target
@@ -171,6 +174,7 @@
* {@link com.sun.jdi.connect.AttachingConnector#attach(java.util.Map)} method
* of the selected to attach to the target VM. A {@link VirtualMachine}
* mirror is returned.
+ * </UL>
* </TD>
* </TR>
* </TABLE>
@@ -380,7 +384,7 @@
* a virtual machine mirror when a connection is established
* to a target VM. Only developers creating new Connector
* implementations should need to make direct use of this
- * method. </p>
+ * method.
*
* @param connection
* The open connection to the target VM.
@@ -415,7 +419,7 @@
* a virtual machine mirror when a connection is established
* to a target VM. Only developers creating new Connector
* implementations should need to make direct use of this
- * method. </p>
+ * method.
*
* @return the new virtual machine
*
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/Connection.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/Connection.java Mon Apr 27 09:17:39 2015 -0700
@@ -51,7 +51,7 @@
*
* <p> A Connection is safe for access by multiple concurrent threads,
* although at most one thread may be reading and at most one thread may
- * be writing at any given time. </p>
+ * be writing at any given time.
*
* @since 1.5
*/
@@ -70,18 +70,18 @@
*
* <p> Reading a packet does not do any integrity checking on
* the packet aside from a check that the length of the packet
- * (as indicated by the value of the <tt>length</tt> field, the
+ * (as indicated by the value of the {@code length} field, the
* first four bytes of the packet) is 11 or more bytes.
- * If the value of the <tt>length</tt> value is less then 11
- * then an <tt>IOException</tt> is thrown.
+ * If the value of the {@code length} value is less then 11
+ * then an {@code IOException} is thrown.
*
* <p> Returns a byte array of a length equal to the length
* of the received packet, or a byte array of length 0 when an
* end of stream is encountered. If end of stream is encountered
* after some, but not all bytes of a packet, are read then it
- * is considered an I/O error and an <tt>IOException</tt> is
+ * is considered an I/O error and an {@code IOException} is
* thrown. The first byte of the packet is stored in element
- * <tt>0</tt> of the byte array, the second in element <tt>1</tt>,
+ * {@code 0} of the byte array, the second in element {@code 1},
* and so on. The bytes in the byte array are laid out as per the
* <a href="../../../../../../../../../technotes/guides/jpda/jdwp-spec.html">
* JDWP specification</a>. That is, all fields in the packet
@@ -90,7 +90,7 @@
* <p> This method may be invoked at any time. If another thread has
* already initiated a {@link #readPacket readPacket} on this
* connection then the invocation of this method will block until the
- * first operation is complete. </p>
+ * first operation is complete.
*
* @return the packet read from the target VM
*
@@ -123,21 +123,21 @@
* href="../../../../../../../../../technotes/guides/jpda/jdwp-spec.html">
* JDWP specification</a>. That is, all fields in the packet
* are in big endian order. The first byte, that is element
- * <tt>pkt[0]</tt>, is the first byte of the <tt>length</tt> field.
- * <tt>pkt[1]</tt> is the second byte of the <tt>length</tt> field,
+ * {@code pkt[0]}, is the first byte of the {@code length} field.
+ * {@code pkt[1]} is the second byte of the {@code length} field,
* and so on.
*
* <p> Writing a packet does not do any integrity checking on
* the packet aside from checking the packet length. Checking
* the packet length requires checking that the value of the
- * <tt>length</tt> field (as indicated by the first four bytes
+ * {@code length} field (as indicated by the first four bytes
* of the packet) is 11 or greater. Consequently the length of
* the byte array provided to this method, that is
- * <tt>pkt.length</tt>, must be 11 or more, and must be equal
- * or greater than the value of the <tt>length</tt> field. If the
+ * {@code pkt.length}, must be 11 or more, and must be equal
+ * or greater than the value of the {@code length} field. If the
* length of the byte array is greater than the value of
- * the <tt>length</tt> field then all bytes from element
- * <tt>pkt[length]</tt> onwards are ignored. In other words,
+ * the {@code length} field then all bytes from element
+ * {@code pkt[length]} onwards are ignored. In other words,
* any additional bytes that follow the packet in the byte
* array are ignored and will not be transmitted to the target
* VM.
@@ -152,7 +152,7 @@
* <p> This method may be invoked at any time. If another thread has
* already initiated a write operation upon this Connection then
* a subsequent invocation of this method will block until the first
- * operation is complete. </p>
+ * operation is complete.
*
* @param pkt
* The packet to write to the target VM.
@@ -165,7 +165,7 @@
* If an I/O error occurs.
*
* @throws IllegalArgumentException
- * If the value of the <tt>length</tt> field is invalid,
+ * If the value of the {@code length} field is invalid,
* or the byte array is of insufficient length.
*/
public abstract void writePacket(byte pkt[]) throws IOException;
@@ -185,7 +185,7 @@
* <p> This method may be invoked at any time. If some other thread has
* already invoked it, however, then another invocation will block until
* the first invocation is complete, after which it will return without
- * effect. </p>
+ * effect.
*
* @throws java.io.IOException
* If an I/O error occurs
@@ -193,9 +193,9 @@
public abstract void close() throws IOException;
/**
- * Tells whether or not this connection is open. </p>
+ * Tells whether or not this connection is open.
*
- * @return <tt>true</tt> if, and only if, this connection is open
+ * @return {@code true} if and only if this connection is open
*/
public abstract boolean isOpen();
}
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/doc-files/signature.html Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/doc-files/signature.html Mon Apr 27 09:17:39 2015 -0700
@@ -7,7 +7,7 @@
<BODY BGCOLOR="white">
<dl><dd>
<Table Border="0">
-<caption><h2>JDI Type Signatures</h2></caption>
+<caption><font size=5><b>JDI Type Signatures</b></font></caption>
<tr><th>Type Signature
<th>Java Type
<tr><td>Z<td>boolean
@@ -31,9 +31,9 @@
</Table>
</dd></dl>
<p>For example, the Java method:
-<p><pre> long f (int n, String s, int[] arr);
+<pre> long f (int n, String s, int[] arr);
</pre>has the following type signature:
-<p><pre> (ILjava/lang/String;[I)J
+<pre> (ILjava/lang/String;[I)J
</pre>
</BODY>
</HTML>
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/EventSet.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/EventSet.java Mon Apr 27 09:17:39 2015 -0700
@@ -51,7 +51,6 @@
* <P>
* The events that are grouped in an EventSet are restricted in the
* following ways:
- * <P>
* <UL>
* <LI>Always singleton sets:
* <UL>
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorContendedEnterEvent.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorContendedEnterEvent.java Mon Apr 27 09:17:39 2015 -0700
@@ -29,9 +29,8 @@
/**
*
- * Notification that a thread in the target VM is attempting
- * to enter a monitor that is already acquired by another thread.
- * <P>
+ * Notification that a thread in the target VM is attempting
+ * to enter a monitor that is already acquired by another thread.
*
* @see EventQueue
* @see MonitorContendedEnteredEvent
@@ -45,7 +44,6 @@
/**
* Returns the thread in which this event has occurred.
- * <p>
*
* @return a {@link ThreadReference} which mirrors the event's thread in
* the target VM.
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorContendedEnteredEvent.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorContendedEnteredEvent.java Mon Apr 27 09:17:39 2015 -0700
@@ -31,7 +31,6 @@
*
* Notification that a thread in the target VM is entering a monitor
* after waiting for it to be released by another thread.
- * <P>
*
* @see EventQueue
* @see MonitorContendedEnterEvent
@@ -44,7 +43,6 @@
/**
* Returns the thread in which this event has occurred.
- * <p>
*
* @return a {@link ThreadReference} which mirrors the event's thread in
* the target VM.
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorWaitEvent.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorWaitEvent.java Mon Apr 27 09:17:39 2015 -0700
@@ -30,7 +30,6 @@
/**
* Notification that a thread in the target VM is about to
* wait on a monitor object.
- * <P>
*
* @see EventQueue
* @see MonitorWaitedEvent
@@ -43,7 +42,6 @@
/**
* Returns the thread in which monitor wait event has occurred.
- * <p>
*
* @return a {@link ThreadReference} which mirrors the event's thread in
* the target VM.
@@ -60,7 +58,7 @@
/**
* Returns the number of millisecond the thread will wait.
*
- * @return a <code>jlong</code> containing monitor wait time in milliseconds.
+ * @return a {@code jlong} containing monitor wait time in milliseconds.
*/
public long timeout();
}
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorWaitedEvent.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorWaitedEvent.java Mon Apr 27 09:17:39 2015 -0700
@@ -30,7 +30,6 @@
/**
* Notification that a thread in the target VM has finished
* waiting on an monitor object.
- * <P>
*
* @see EventQueue
* @see MonitorWaitEvent
@@ -43,7 +42,6 @@
/**
* Returns the thread in which this event has occurred.
- * <p>
*
* @return a {@link ThreadReference} which mirrors the event's thread in
* the target VM.
@@ -60,7 +58,7 @@
/**
* Returns whether the wait has timed out or been interrupted.
*
- * @return <code>true</code> if the wait is timed out.
+ * @return {@code true} if the wait is timed out.
*/
public boolean timedout();
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/EventRequest.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/EventRequest.java Mon Apr 27 09:17:39 2015 -0700
@@ -61,14 +61,14 @@
* Filters can dramatically improve debugger performance by reducing the
* amount of event traffic sent from the target VM to the debugger VM.
* <p>
- * Any method on <code>EventRequest</code> which
- * takes <code>EventRequest</code> as an parameter may throw
+ * Any method on {@code EventRequest} which
+ * takes {@code EventRequest} as an parameter may throw
* {@link com.sun.jdi.VMDisconnectedException} if the target VM is
* disconnected and the {@link com.sun.jdi.event.VMDisconnectEvent} has been or is
* available to be read from the {@link com.sun.jdi.event.EventQueue}.
* <p>
- * Any method on <code>EventRequest</code> which
- * takes <code>EventRequest</code> as an parameter may throw
+ * Any method on {@code EventRequest} which
+ * takes {@code EventRequest} as an parameter may throw
* {@link com.sun.jdi.VMOutOfMemoryException} if the target VM has run out of memory.
*
* @see com.sun.jdi.event.BreakpointEvent
@@ -84,8 +84,8 @@
/**
* Determines if this event request is currently enabled.
*
- * @return <code>true</code> if enabled;
- * <code>false</code> otherwise.
+ * @return {@code true} if enabled;
+ * {@code false} otherwise.
*/
boolean isEnabled();
@@ -97,18 +97,18 @@
* and are included in event request lists such as
* {@link EventRequestManager#breakpointRequests()}.
*
- * @param val <code>true</code> if the event request is to be enabled;
- * <code>false</code> otherwise.
+ * @param val {@code true} if the event request is to be enabled;
+ * {@code false} otherwise.
* @throws InvalidRequestStateException if this request
* has been deleted.
* @throws IllegalThreadStateException if this is a StepRequest,
- * <code>val</code> is <code>true</code>, and the
+ * {@code val} is {@code true}, and the
* thread named in the request has died or is not yet started.
*/
void setEnabled(boolean val);
/**
- * Same as {@link #setEnabled <CODE>setEnabled(true)</CODE>}.
+ * Same as {@link #setEnabled setEnabled(true)}.
* @throws InvalidRequestStateException if this request
* has been deleted.
* @throws IllegalThreadStateException if this is a StepRequest
@@ -117,7 +117,7 @@
void enable();
/**
- * Same as {@link #setEnabled <CODE>setEnabled(false)</CODE>}.
+ * Same as {@link #setEnabled setEnabled(false)}.
* @throws InvalidRequestStateException if this request
* has been deleted.
*/
@@ -126,7 +126,7 @@
/**
* Limit the requested event to be reported at most once after a
* given number of occurrences. The event is not reported
- * the first <code>count - 1</code> times this filter is reached.
+ * the first {@code count - 1} times this filter is reached.
* To request a one-off event, call this method with a count of 1.
* <p>
* Once the count reaches 0, any subsequent filters in this request
@@ -139,7 +139,7 @@
* @throws InvalidRequestStateException if this request is currently
* enabled or has been deleted.
* Filters may be added only to disabled requests.
- * @throws IllegalArgumentException if <CODE>count</CODE>
+ * @throws IllegalArgumentException if {@code count}
* is less than one.
*/
void addCountFilter(int count);
@@ -189,7 +189,7 @@
* These client-set properties are not used internally
* by the JDI.
* <p>
- * The <code>get/putProperty</code> methods provide access to
+ * The {@code get/putProperty} methods provide access to
* a small per-instance map. This is <b>not</b> to be confused
* with {@link java.util.Properties}.
* <p>
--- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/EventRequestManager.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/EventRequestManager.java Mon Apr 27 09:17:39 2015 -0700
@@ -217,20 +217,20 @@
* activate this event request.
* <p>
* The returned request will control stepping only in the specified
- * <code>thread</code>; all other threads will be unaffected.
- * A <code>size</code>value of {@link com.sun.jdi.request.StepRequest#STEP_MIN} will generate a
+ * {@code thread}; all other threads will be unaffected.
+ * A {@code size} value of {@link com.sun.jdi.request.StepRequest#STEP_MIN} will generate a
* step event each time the code index changes. It represents the
* smallest step size available and often maps to the instruction
* level.
- * A <code>size</code> value of {@link com.sun.jdi.request.StepRequest#STEP_LINE} will generate a
+ * A {@code size} value of {@link com.sun.jdi.request.StepRequest#STEP_LINE} will generate a
* step event each time the source line changes unless line number information is not available,
* in which case a STEP_MIN will be done instead. For example, no line number information is
* available during the execution of a method that has been rendered obsolete by
* by a {@link com.sun.jdi.VirtualMachine#redefineClasses} operation.
- * A <code>depth</code> value of {@link com.sun.jdi.request.StepRequest#STEP_INTO} will generate
- * step events in any called methods. A <code>depth</code> value
+ * A {@code depth} value of {@link com.sun.jdi.request.StepRequest#STEP_INTO} will generate
+ * step events in any called methods. A {@code depth} value
* of {@link com.sun.jdi.request.StepRequest#STEP_OVER} restricts step events to the current frame
- * or caller frames. A <code>depth</code> value of {@link com.sun.jdi.request.StepRequest#STEP_OUT}
+ * or caller frames. A {@code depth} value of {@link com.sun.jdi.request.StepRequest#STEP_OUT}
* restricts step events to caller frames only. All depth
* restrictions are relative to the call stack immediately before the
* step takes place.
@@ -240,8 +240,7 @@
* Note that a typical debugger will want to cancel stepping
* after the first step is detected. Thus a next line method
* would do the following:
- * <code>
- * <pre>
+ * <pre>{@code
* EventRequestManager mgr = myVM.{@link VirtualMachine#eventRequestManager eventRequestManager}();
* StepRequest request = mgr.createStepRequest(myThread,
* StepRequest.{@link StepRequest#STEP_LINE STEP_LINE},
@@ -249,8 +248,7 @@
* request.{@link EventRequest#addCountFilter addCountFilter}(1); // next step only
* request.enable();
* myVM.{@link VirtualMachine#resume resume}();
- * </pre>
- * </code>
+ * }</pre>
*
* @param thread the thread in which to step
* @param depth the step depth
--- a/jdk/src/jdk.jdi/share/classes/jdi-overview.html Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.jdi/share/classes/jdi-overview.html Mon Apr 27 09:17:39 2015 -0700
@@ -49,7 +49,6 @@
Any method which takes a {@link java.lang.Object} as an parameter will throw
{@link java.lang.NullPointerException} if null is passed directly or indirectly
-- unless null is explicitly mentioned as a valid parameter.
- <p>
</blockquote>
NOTE: The exceptions below may be thrown whenever the specified
conditions are met but a guarantee that they are thrown only
--- a/jdk/src/jdk.pack200/windows/native/unpack200/unpack200_proto.exe.manifest Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/src/jdk.pack200/windows/native/unpack200/unpack200_proto.exe.manifest Mon Apr 27 09:17:39 2015 -0700
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
- <assemblyIdentity version="IMVERSION"
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+ <assemblyIdentity
+ name=""
+ version=""
processorArchitecture="X86"
- name="unpack200.exe"
- type="win32"/>
+ type="win32"/>
- <description>Java(TM) SE Runtime Environment unpack200 Process.</description>
+ <description>Java(TM) SE Runtime Environment unpack200 Process.</description>
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
--- a/jdk/test/ProblemList.txt Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/test/ProblemList.txt Mon Apr 27 09:17:39 2015 -0700
@@ -164,9 +164,6 @@
# 6988950
demo/jvmti/compiledMethodLoad/CompiledMethodLoadTest.java generic-all
-# 8071968
-javax/xml/ws/8046817/GenerateEnumSchema.java windows-all
-
############################################################################
# jdk_net
--- a/jdk/test/com/sun/jdi/JdbReadTwiceTest.sh Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/test/com/sun/jdi/JdbReadTwiceTest.sh Mon Apr 27 09:17:39 2015 -0700
@@ -206,39 +206,6 @@
echo
echo "+++++++++++++++++++++++++++++++++++"
-echo "Read an unreadable file - verify the read fails."
-
-canMakeUnreadable=No
-id > $HOME/jdb.ini
-if chmod a-r $HOME/jdb.ini
-then
- grep -q 'uid=0(' $HOME/jdb.ini 2> /dev/null
- case $? in
- 0)
- echo "Error! Can't make file unreadable running as root"
- ;;
- 1)
- echo "Error! Can't make file unreadable for some other reason (windows?)"
- ;;
- *)
- echo "OK. the file is unreadable"
- canMakeUnreadable=Yes
- ;;
- esac
-else
- echo "Error! Can't create or chmod file"
-fi
-
-if [ "$canMakeUnreadable" = "Yes" ]
-then
- doit
- failIfNot 1 "open: $HOME/jdb.ini"
-fi
-clean
-
-
-echo
-echo "+++++++++++++++++++++++++++++++++++"
echo "Read a directory - verify the read fails"
# If the file (IE. directory) exists, we try to read it. The
# read will fail.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/com/sun/jndi/dns/IPv6NameserverPlatformParsingTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.lang.reflect.Field;
+import java.util.Hashtable;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.spi.NamingManager;
+
+import com.sun.jndi.dns.DnsContext;
+
+/**
+ * @test
+ * @bug 6991580
+ * @summary IPv6 Nameservers in resolv.conf throws NumberFormatException
+ * @run main/manual IPv6NameserverPlatformParsingTest
+ *
+ * In order to run this test be sure to place, for example, the following
+ * snippet into your platform's {@code /etc/resolv.conf}:
+ * <pre>
+ * nameserver 127.0.0.1
+ * nameserver 2001:4860:4860::8888
+ * nameserver [::1]:5353
+ * nameserver 127.0.0.1:5353
+ * </pre>
+ *
+ * Then, run this test as manual jtreg test.
+ *
+ * @author Severin Gehwolf
+ *
+ */
+public class IPv6NameserverPlatformParsingTest {
+
+ private static boolean foundIPv6 = false;
+
+ public static void main(String[] args) {
+ Hashtable<String, String> env = new Hashtable<>();
+ env.put(Context.INITIAL_CONTEXT_FACTORY, com.sun.jndi.dns.DnsContextFactory.class.getName());
+
+ String[] servers;
+ try {
+ Context ctx = NamingManager.getInitialContext(env);
+ if (!com.sun.jndi.dns.DnsContextFactory.platformServersAvailable()) {
+ throw new RuntimeException("FAIL: no platform servers available, test does not make sense");
+ }
+ DnsContext context = (DnsContext)ctx;
+ servers = getServersFromContext(context);
+ } catch (NamingException e) {
+ throw new RuntimeException(e);
+ }
+ for (String server: servers) {
+ System.out.println("DEBUG: 'nameserver = " + server + "'");
+ if (server.indexOf(':') >= 0 && server.indexOf('.') < 0) {
+ System.out.println("DEBUG: ==> Found IPv6 address in servers list: " + server);
+ foundIPv6 = true;
+ }
+ }
+ try {
+ new com.sun.jndi.dns.DnsClient(servers, 100, 1);
+ } catch (NumberFormatException e) {
+ throw new RuntimeException("FAIL: Tried to parse non-[]-encapsulated IPv6 address.", e);
+ } catch (Exception e) {
+ throw new RuntimeException("ERROR: Something unexpected happened.");
+ }
+ if (!foundIPv6) {
+ // This is a manual test, since it requires changing /etc/resolv.conf on Linux/Unix
+ // platforms. See comment as to how to run this test.
+ throw new RuntimeException("ERROR: No IPv6 address returned from platform.");
+ }
+ System.out.println("PASS: Found IPv6 address and DnsClient parsed it correctly.");
+ }
+
+ private static String[] getServersFromContext(DnsContext context) {
+ try {
+ Field serversField = DnsContext.class.getDeclaredField("servers");
+ serversField.setAccessible(true);
+ return (String[])serversField.get(context);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/com/sun/jndi/ldap/LdapURLOptionalFields.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2015, Red Hat, Inc.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 8074761
+ * @summary RFC-2255 allows attribute, scope and filter to be empty.
+ */
+
+import com.sun.jndi.ldap.LdapURL;
+
+public class LdapURLOptionalFields {
+
+ private static final String[] TEST_URLS = {
+ "ldap://localhost:10389/ou=RefPeople,dc=example,dc=com",
+ "ldap://localhost:10389/ou=RefPeople,dc=example,dc=com?",
+ "ldap://localhost:10389/ou=RefPeople,dc=example,dc=com??",
+ "ldap://localhost:10389/ou=RefPeople,dc=example,dc=com???",
+ "ldap://localhost:10389/ou=RefPeople,dc=example,dc=com????"
+ };
+
+ public static void main(String[] args) throws Exception {
+ for (int i = 0; i < TEST_URLS.length; i++) {
+ String url = TEST_URLS[i];
+ checkEmptyAttributes(url);
+ }
+ }
+
+ private static void checkEmptyAttributes(String urlString) throws Exception {
+ LdapURL url = new LdapURL(urlString);
+ if (url.getAttributes() != null) {
+ throw new Exception("Expected null attributes for url: '" + urlString + "'");
+ }
+ if (url.getScope() != null) {
+ throw new Exception("Expected null scope for url: '" + urlString + "'");
+ }
+ if (url.getFilter() != null) {
+ throw new Exception("Expected null filter for url: '" + urlString + "'");
+ }
+ }
+
+}
--- a/jdk/test/com/sun/security/auth/login/ConfigFile/InconsistentError.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/test/com/sun/security/auth/login/ConfigFile/InconsistentError.java Mon Apr 27 09:17:39 2015 -0700
@@ -26,6 +26,7 @@
* @bug 4406033
* @summary ConfigFile throws an inconsistent error message
* when the configuration file is not found
+ * @run main/othervm -Duser.language=en InconsistentError
*/
import com.sun.security.auth.login.*;
--- a/jdk/test/com/sun/security/auth/module/KeyStoreLoginModule/OptionTest.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/test/com/sun/security/auth/module/KeyStoreLoginModule/OptionTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -25,6 +25,7 @@
* @test
* @bug 4919147
* @summary Support for token-based KeyStores
+ * @run main/othervm -Duser.language=en OptionTest
*/
import java.io.File;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/net/URL/HandlersPkgPrefix/HandlersPkgPrefix.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.function.Consumer;
+
+/*
+ * @test
+ * @bug 8075139
+ * @summary Basic test for java.protocol.handler.pkgs
+ * @compile handlers/foo/Handler.java handlers/bar/Handler.java HandlersPkgPrefix.java
+ * @run main/othervm HandlersPkgPrefix
+ */
+
+public class HandlersPkgPrefix {
+ static final Consumer<Result> KNOWN = r -> {
+ if (r.exception != null)
+ throw new RuntimeException("Unexpected exception " + r.exception);
+ String p = r.url.getProtocol();
+ if (!r.protocol.equals(p))
+ throw new RuntimeException("Expected:" + r.protocol + ", got:" + p);
+ };
+ static final Consumer<Result> UNKNOWN = r -> {
+ if (r.url != null)
+ throw new RuntimeException("Unexpected url:" + r.url);
+ if (!(r.exception instanceof MalformedURLException))
+ throw new RuntimeException("Expected MalformedURLException, got:"
+ + r.exception);
+ };
+
+ public static void main(String[] args) {
+ withPrefix("unknown", "", UNKNOWN);
+ withPrefix("unknown", "handlers", UNKNOWN);
+
+ withPrefix("foo", "", UNKNOWN);
+ withPrefix("foo", "xxx|yyy|zzz", UNKNOWN);
+ withPrefix("foo", "||||", UNKNOWN);
+ withPrefix("foo", "|a|b|c|handlers", KNOWN);
+
+ withPrefix("bar", "", UNKNOWN);
+ withPrefix("bar", "x.y.z|y.y.y|z.z.z", UNKNOWN);
+ withPrefix("bar", " x.y.z | y.y.y | z.z.z| | ", UNKNOWN);
+ withPrefix("bar", "| a | b | c | handlers | d | e", KNOWN);
+ }
+
+ static void withPrefix(String protocol, String pkgPrefix,
+ Consumer<Result> resultChecker) {
+ System.out.println("Testing, " + protocol + ", " + pkgPrefix);
+
+ // The long standing implementation behavior is that the
+ // property is read multiple times, not cached.
+ System.setProperty("java.protocol.handler.pkgs", pkgPrefix);
+ URL url = null;
+ Exception exception = null;
+ try {
+ url = new URL(protocol + "://");
+ } catch (MalformedURLException x) {
+ exception = x;
+ }
+ resultChecker.accept(new Result(protocol, url, exception));
+ }
+
+ static class Result {
+ final String protocol;
+ final URL url;
+ final Exception exception;
+ Result(String protocol, URL url, Exception exception) {
+ this.protocol = protocol;
+ this.url = url;
+ this.exception = exception;
+ }
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/net/URL/HandlersPkgPrefix/handlers/bar/Handler.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package handlers.bar;
+
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.net.URLStreamHandler;
+
+public class Handler extends URLStreamHandler {
+ @Override
+ protected URLConnection openConnection(URL u) throws IOException {
+ return null;
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/net/URL/HandlersPkgPrefix/handlers/foo/Handler.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package handlers.foo;
+
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.net.URLStreamHandler;
+
+public class Handler extends URLStreamHandler {
+ @Override
+ protected URLConnection openConnection(URL u) throws IOException {
+ return null;
+ }
+}
+
--- a/jdk/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -25,6 +25,7 @@
*/
import java.text.*;
+import java.time.format.TextStyle;
import java.util.*;
import sun.util.locale.provider.*;
import sun.util.resources.*;
@@ -42,6 +43,7 @@
test2();
test3();
aliasTest();
+ genericFallbackTest();
}
void test1() {
@@ -169,9 +171,9 @@
for (int style : new int[] { TimeZone.LONG, TimeZone.SHORT }) {
String osakaStd = tz.getDisplayName(false, style, OSAKA);
if (osakaStd != null) {
- // No API for getting generic time zone names
- String generic = TimeZoneNameUtility.retrieveGenericDisplayName(tzname,
- style, GENERIC);
+ String generic = tz.toZoneId().getDisplayName(
+ style == TimeZone.LONG ? TextStyle.FULL : TextStyle.SHORT,
+ GENERIC);
String expected = "Generic " + osakaStd;
if (!expected.equals(generic)) {
throw new RuntimeException("Wrong generic name: got=\"" + generic
@@ -230,4 +232,20 @@
throw new RuntimeException("Provider's localized name is not available for an alias ID: "+JAPAN+". result: "+japan+" expected: "+JST_IN_OSAKA);
}
}
+
+ /*
+ * Tests whether generic names can be retrieved through fallback.
+ * The test assumes the provider impl for OSAKA locale does NOT
+ * provide generic names.
+ */
+ final String PT = "PT"; // SHORT generic name for "America/Los_Angeles"
+ void genericFallbackTest() {
+ String generic =
+ TimeZone.getTimeZone(LATIME)
+ .toZoneId()
+ .getDisplayName(TextStyle.SHORT, OSAKA);
+ if (!PT.equals(generic)) {
+ throw new RuntimeException("Generic name fallback failed. got: "+generic);
+ }
+ }
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/util/concurrent/forkjoin/SubmissionTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.util.concurrent.ForkJoinPool;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+/*
+ * @test
+ * @bug 8078490
+ * @summary Test submission and execution of task without joining
+ */
+public class SubmissionTest {
+ public static void main(String[] args) throws Throwable {
+ final ForkJoinPool e = new ForkJoinPool(1);
+ final AtomicBoolean b = new AtomicBoolean();
+ final Runnable setFalse = () -> b.set(false);
+ for (int i = 0; i < 100000; i++) {
+ b.set(true);
+ e.execute(setFalse);
+ long st = System.nanoTime();
+ while (b.get()) {
+ if (System.nanoTime() - st >= TimeUnit.SECONDS.toNanos(10)) {
+ throw new RuntimeException("Submitted task failed to execute");
+ }
+ }
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/security/auth/login/LoginContext/CustomLoginModule.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,275 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.IOException;
+import java.security.Principal;
+import java.util.Arrays;
+import java.util.Locale;
+import java.util.Map;
+import javax.security.auth.Subject;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.ChoiceCallback;
+import javax.security.auth.callback.ConfirmationCallback;
+import javax.security.auth.callback.LanguageCallback;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+import javax.security.auth.callback.TextInputCallback;
+import javax.security.auth.callback.TextOutputCallback;
+import javax.security.auth.callback.UnsupportedCallbackException;
+import javax.security.auth.login.FailedLoginException;
+import javax.security.auth.login.LoginException;
+import javax.security.auth.spi.LoginModule;
+
+public class CustomLoginModule implements LoginModule {
+
+ static final String HELLO = "Hello";
+
+ private Subject subject;
+ private CallbackHandler callbackHandler;
+ private boolean loginSucceeded = false;
+ private String username;
+ private char[] password;
+
+ /*
+ * Initialize this LoginModule.
+ */
+ @Override
+ public void initialize(Subject subject, CallbackHandler callbackHandler,
+ Map<String, ?> sharedState, Map<String, ?> options) {
+ this.subject = subject;
+ this.callbackHandler = callbackHandler;
+
+ // check if custom parameter is passed from comfiguration
+ if (options == null) {
+ throw new RuntimeException("options is null");
+ }
+
+ // read username/password from configuration
+ Object o = options.get("username");
+ if (o == null) {
+ throw new RuntimeException("Custom parameter not passed");
+ }
+ if (!(o instanceof String)) {
+ throw new RuntimeException("Password is not a string");
+ }
+ username = (String) o;
+
+ o = options.get("password");
+ if (o == null) {
+ throw new RuntimeException("Custom parameter not passed");
+ }
+ if (!(o instanceof String)) {
+ throw new RuntimeException("Password is not a string");
+ }
+ password = ((String) o).toCharArray();
+ }
+
+ /*
+ * Authenticate the user.
+ */
+ @Override
+ public boolean login() throws LoginException {
+ // prompt for a user name and password
+ if (callbackHandler == null) {
+ throw new LoginException("No CallbackHandler available");
+ }
+
+ // standard callbacks
+ NameCallback name = new NameCallback("username: ", "default");
+ PasswordCallback passwd = new PasswordCallback("password: ", false);
+
+ LanguageCallback language = new LanguageCallback();
+
+ TextOutputCallback error = new TextOutputCallback(
+ TextOutputCallback.ERROR, "This is an error");
+ TextOutputCallback warning = new TextOutputCallback(
+ TextOutputCallback.WARNING, "This is a warning");
+ TextOutputCallback info = new TextOutputCallback(
+ TextOutputCallback.INFORMATION, "This is a FYI");
+
+ TextInputCallback text = new TextInputCallback("Please type " + HELLO,
+ "Bye");
+
+ ChoiceCallback choice = new ChoiceCallback("Choice: ",
+ new String[] { "pass", "fail" }, 1, true);
+
+ ConfirmationCallback confirmation = new ConfirmationCallback(
+ "confirmation: ", ConfirmationCallback.INFORMATION,
+ ConfirmationCallback.YES_NO_OPTION, ConfirmationCallback.NO);
+
+ CustomCallback custom = new CustomCallback();
+
+ Callback[] callbacks = new Callback[] {
+ choice, info, warning, error, name, passwd, text, language,
+ confirmation, custom
+ };
+
+ boolean uce = false;
+ try {
+ callbackHandler.handle(callbacks);
+ } catch (UnsupportedCallbackException e) {
+ Callback callback = e.getCallback();
+ if (custom.equals(callback)) {
+ uce = true;
+ System.out.println("CustomLoginModule: "
+ + "custom callback not supported as expected");
+ } else {
+ throw new LoginException("Unsupported callback: " + callback);
+ }
+ } catch (IOException ioe) {
+ throw new LoginException(ioe.toString());
+ }
+
+ if (!uce) {
+ throw new RuntimeException("UnsupportedCallbackException "
+ + "not thrown");
+ }
+
+ if (!HELLO.equals(text.getText())) {
+ System.out.println("Text: " + text.getText());
+ throw new FailedLoginException("No hello");
+ }
+
+ if (!Locale.GERMANY.equals(language.getLocale())) {
+ System.out.println("Selected locale: " + language.getLocale());
+ throw new FailedLoginException("Achtung bitte");
+ }
+
+ String readUsername = name.getName();
+ char[] readPassword = passwd.getPassword();
+ if (readPassword == null) {
+ // treat a NULL password as an empty password
+ readPassword = new char[0];
+ }
+ passwd.clearPassword();
+
+ // verify the username/password
+ if (!username.equals(readUsername)
+ || !Arrays.equals(password, readPassword)) {
+ loginSucceeded = false;
+ throw new FailedLoginException("Username/password is not correct");
+ }
+
+ // check chosen option
+ int[] selected = choice.getSelectedIndexes();
+ if (selected == null || selected.length == 0) {
+ throw new FailedLoginException("Nothing selected");
+ }
+
+ if (selected[0] != 0) {
+ throw new FailedLoginException("Wrong choice: " + selected[0]);
+ }
+
+ // check confirmation
+ if (confirmation.getSelectedIndex() != ConfirmationCallback.YES) {
+ throw new FailedLoginException("Not confirmed: "
+ + confirmation.getSelectedIndex());
+ }
+
+ loginSucceeded = true;
+ System.out.println("CustomLoginModule: authentication succeeded");
+ return true;
+ }
+
+ /*
+ * This method is called if the LoginContext's overall authentication
+ * succeeded.
+ */
+ @Override
+ public boolean commit() throws LoginException {
+ if (loginSucceeded) {
+ // add a Principal to the Subject
+ Principal principal = new TestPrincipal(username);
+ if (!subject.getPrincipals().contains(principal)) {
+ subject.getPrincipals().add(principal);
+ }
+ return true;
+ }
+
+ return false;
+ }
+
+ /*
+ * This method is called if the LoginContext's overall authentication
+ * failed.
+ */
+ @Override
+ public boolean abort() throws LoginException {
+ loginSucceeded = false;
+ return true;
+ }
+
+ /*
+ * Logout the user.
+ */
+ @Override
+ public boolean logout() throws LoginException {
+ loginSucceeded = false;
+ boolean removed = subject.getPrincipals().remove(
+ new TestPrincipal(username));
+ if (!removed) {
+ throw new LoginException("Coundn't remove a principal: "
+ + username);
+ }
+ return true;
+ }
+
+ static class TestPrincipal implements Principal {
+
+ private final String name;
+
+ public TestPrincipal(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public String toString() {
+ return("TestPrincipal [name =" + name + "]");
+ }
+
+ @Override
+ public int hashCode() {
+ return name.hashCode();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o == null) {
+ return false;
+ }
+ if (!(o instanceof TestPrincipal)) {
+ return false;
+ }
+ TestPrincipal other = (TestPrincipal) o;
+ return name != null ? name.equals(other.name) : other.name == null;
+ }
+ }
+
+ static class CustomCallback implements Callback {}
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/security/auth/login/LoginContext/SharedState.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.util.Map;
+import javax.security.auth.Subject;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.login.LoginContext;
+import javax.security.auth.login.LoginException;
+import javax.security.auth.spi.LoginModule;
+
+/**
+ * @test
+ * @bug 8048138
+ * @summary Check if shared state is passed to login module
+ * @run main/othervm SharedState
+ */
+public class SharedState {
+
+ static final String NAME = "name";
+ static final String VALUE = "shared";
+
+ public static void main(String[] args) throws LoginException {
+ System.setProperty("java.security.auth.login.config",
+ System.getProperty("test.src")
+ + System.getProperty("file.separator")
+ + "shared.config");
+
+ new LoginContext("SharedState").login();
+ }
+
+ public static abstract class Module implements LoginModule {
+
+ @Override
+ public boolean login() throws LoginException {
+ return true;
+ }
+
+ @Override
+ public boolean commit() throws LoginException {
+ return true;
+ }
+
+ @Override
+ public boolean abort() throws LoginException {
+ return true;
+ }
+
+ @Override
+ public boolean logout() throws LoginException {
+ return true;
+ }
+ }
+
+ public static class FirstModule extends Module {
+
+ @Override
+ public void initialize(Subject subject, CallbackHandler callbackHandler,
+ Map<String,?> sharedState, Map<String,?> options) {
+ ((Map)sharedState).put(NAME, VALUE);
+ }
+
+ }
+
+ public static class SecondModule extends Module {
+
+ @Override
+ public void initialize(Subject subject, CallbackHandler callbackHandler,
+ Map<String,?> sharedState, Map<String,?> options) {
+ // check shared object
+ Object shared = sharedState.get(NAME);
+ if (!VALUE.equals(shared)) {
+ throw new RuntimeException("Unexpected shared object: "
+ + shared);
+ }
+ }
+
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/security/auth/login/LoginContext/StandardCallbacks.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,189 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.security.Principal;
+import java.util.Arrays;
+import java.util.Locale;
+import javax.security.auth.Subject;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.ChoiceCallback;
+import javax.security.auth.callback.ConfirmationCallback;
+import javax.security.auth.callback.LanguageCallback;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+import javax.security.auth.callback.TextInputCallback;
+import javax.security.auth.callback.TextOutputCallback;
+import javax.security.auth.callback.UnsupportedCallbackException;
+import javax.security.auth.login.LoginContext;
+import javax.security.auth.login.LoginException;
+
+/*
+ * @test
+ * @bug 8048138
+ * @summary Checks if JAAS login works fine with standard callbacks
+ * @compile DefaultHandlerModule.java
+ * @run main/othervm StandardCallbacks
+ */
+public class StandardCallbacks {
+
+ private static final String USERNAME = "username";
+ private static final char[] PASSWORD = "password".toCharArray();
+
+ public static void main(String[] args) throws LoginException {
+ System.setProperty("java.security.auth.login.config",
+ System.getProperty("test.src")
+ + System.getProperty("file.separator")
+ + "custom.config");
+
+ CustomCallbackHandler handler = new CustomCallbackHandler(USERNAME);
+ LoginContext context = new LoginContext("StandardCallbacks", handler);
+
+ handler.setPassword(PASSWORD);
+ System.out.println("Try to login with correct password, "
+ + "successful authentication is expected");
+ context.login();
+ System.out.println("Authentication succeeded!");
+
+ Subject subject = context.getSubject();
+ System.out.println("Authenticated user has the following principals ["
+ + subject.getPrincipals().size() + " ]:");
+ boolean found = true;
+ for (Principal principal : subject.getPrincipals()) {
+ System.out.println("principal: " + principal);
+ if (principal instanceof CustomLoginModule.TestPrincipal) {
+ CustomLoginModule.TestPrincipal testPrincipal =
+ (CustomLoginModule.TestPrincipal) principal;
+ if (USERNAME.equals(testPrincipal.getName())) {
+ System.out.println("Found test principal: "
+ + testPrincipal);
+ found = true;
+ break;
+ }
+ }
+ }
+
+ if (!found) {
+ throw new RuntimeException("TestPrincipal not found");
+ }
+
+ // check if all expected text output callbacks have been called
+ if (!handler.info) {
+ throw new RuntimeException("TextOutputCallback.INFO not called");
+ }
+
+ if (!handler.warning) {
+ throw new RuntimeException("TextOutputCallback.WARNING not called");
+ }
+
+ if (!handler.error) {
+ throw new RuntimeException("TextOutputCallback.ERROR not called");
+ }
+
+ System.out.println("Authenticated user has the following public "
+ + "credentials [" + subject.getPublicCredentials().size()
+ + "]:");
+ subject.getPublicCredentials().stream().
+ forEach((o) -> {
+ System.out.println("public credential: " + o);
+ });
+
+ context.logout();
+
+ System.out.println("Test passed");
+ }
+
+ private static class CustomCallbackHandler implements CallbackHandler {
+
+ private final String username;
+ private char[] password;
+ private boolean info = false;
+ private boolean warning = false;
+ private boolean error = false;
+
+ CustomCallbackHandler(String username) {
+ this.username = username;
+ }
+
+ void setPassword(char[] password) {
+ this.password = password;
+ }
+
+ @Override
+ public void handle(Callback[] callbacks)
+ throws UnsupportedCallbackException {
+ for (Callback callback : callbacks) {
+ if (callback instanceof TextOutputCallback) {
+ TextOutputCallback toc = (TextOutputCallback) callback;
+ switch (toc.getMessageType()) {
+ case TextOutputCallback.INFORMATION:
+ System.out.println("INFO: " + toc.getMessage());
+ info = true;
+ break;
+ case TextOutputCallback.ERROR:
+ System.out.println("ERROR: " + toc.getMessage());
+ error = true;
+ break;
+ case TextOutputCallback.WARNING:
+ System.out.println("WARNING: " + toc.getMessage());
+ warning = true;
+ break;
+ default:
+ throw new UnsupportedCallbackException(toc,
+ "Unsupported message type: "
+ + toc.getMessageType());
+ }
+ } else if (callback instanceof TextInputCallback) {
+ TextInputCallback tic = (TextInputCallback) callback;
+ System.out.println(tic.getPrompt());
+ tic.setText(CustomLoginModule.HELLO);
+ } else if (callback instanceof LanguageCallback) {
+ LanguageCallback lc = (LanguageCallback) callback;
+ lc.setLocale(Locale.GERMANY);
+ } else if (callback instanceof ConfirmationCallback) {
+ ConfirmationCallback cc = (ConfirmationCallback) callback;
+ System.out.println(cc.getPrompt());
+ cc.setSelectedIndex(ConfirmationCallback.YES);
+ } else if (callback instanceof ChoiceCallback) {
+ ChoiceCallback cc = (ChoiceCallback) callback;
+ System.out.println(cc.getPrompt()
+ + Arrays.toString(cc.getChoices()));
+ cc.setSelectedIndex(0);
+ } else if (callback instanceof NameCallback) {
+ NameCallback nc = (NameCallback) callback;
+ System.out.println(nc.getPrompt());
+ nc.setName(username);
+ } else if (callback instanceof PasswordCallback) {
+ PasswordCallback pc = (PasswordCallback) callback;
+ System.out.println(pc.getPrompt());
+ pc.setPassword(password);
+ } else {
+ throw new UnsupportedCallbackException(callback,
+ "Unknown callback");
+ }
+ }
+ }
+
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/security/auth/login/LoginContext/custom.config Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,4 @@
+StandardCallbacks {
+ DefaultHandlerModule required;
+ CustomLoginModule required username="username" password="password";
+};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/security/auth/login/LoginContext/shared.config Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,4 @@
+SharedState {
+ SharedState$FirstModule required;
+ SharedState$SecondModule required;
+};
\ No newline at end of file
--- a/jdk/test/javax/xml/ws/8046817/GenerateEnumSchema.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/test/javax/xml/ws/8046817/GenerateEnumSchema.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,57 +23,83 @@
/*
* @test
- * @bug 8046817
- * @summary schemagen fails to generate xsd for enum types
+ * @bug 8046817 8073357
+ * @summary schemagen fails to generate xsd for enum types.
+ * Check that order of Enum values is preserved.
* @run main/othervm GenerateEnumSchema
*/
import java.io.BufferedReader;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.nio.file.Files;
import java.nio.file.Paths;
-import java.util.Scanner;
+import java.util.stream.Collectors;
public class GenerateEnumSchema {
private static final String SCHEMA_OUTPUT_FILENAME = "schema1.xsd";
private static final File schemaOutputFile = new File(SCHEMA_OUTPUT_FILENAME);
+ private static final String[] expectedEnums = {
+ "\"FIRST\"", "\"ONE\"", "\"TWO\"", "\"THREE\"",
+ "\"FOUR\"", "\"FIVE\"", "\"SIX\"", "\"LAST\""};
+ private static String schemaContent = "";
- public static void main(String[] args) throws Exception, IOException {
+ public static void main(String[] args) throws Exception {
+
//Check schema generation for class type
runSchemaGen("TestClassType.java");
checkIfSchemaGenerated();
+ readSchemaContent();
checkSchemaContent("<xs:complexType name=\"testClassType\">");
checkSchemaContent("<xs:element name=\"a\" type=\"xs:int\"/>");
- schemaOutputFile.delete();
+
//Check schema generation for enum type
runSchemaGen("TestEnumType.java");
checkIfSchemaGenerated();
+ readSchemaContent();
+ //Check if Enum type schema is generated
checkSchemaContent("<xs:simpleType name=\"testEnumType\">");
- checkSchemaContent("<xs:enumeration value=\"ONE\"/>");
- checkSchemaContent("<xs:enumeration value=\"TWO\"/>");
- checkSchemaContent("<xs:enumeration value=\"THREE\"/>");
+ //Check the sequence of enum values order
+ checkEnumOrder();
schemaOutputFile.delete();
}
+ // Check if schema file successfully generated by schemagen
private static void checkIfSchemaGenerated() {
if (!schemaOutputFile.exists()) {
throw new RuntimeException("FAIL:" + SCHEMA_OUTPUT_FILENAME + " was not generated by schemagen tool");
}
}
- private static void checkSchemaContent(String exp_token) throws FileNotFoundException {
- System.out.print("Check if generated schema contains '" + exp_token + "' string: ");
- try (Scanner scanner = new Scanner(schemaOutputFile)) {
- if (scanner.findWithinHorizon(exp_token, 0) != null) {
- System.out.println("OK");
- return;
- }
+ //Read schema content from file
+ private static void readSchemaContent() throws Exception {
+ schemaContent = Files.lines(schemaOutputFile.toPath()).collect(Collectors.joining(""));
+ }
+
+ // Check if schema file contains specific string
+ private static void checkSchemaContent(String expContent) {
+ System.out.print("Check if generated schema contains '" + expContent + "' string: ");
+ if (schemaContent.contains(expContent)) {
+ System.out.println("OK");
+ return;
}
System.out.println("FAIL");
- throw new RuntimeException("The '" + exp_token + "' is not found in generated schema");
+ throw new RuntimeException("The '" + expContent + "' is not found in generated schema");
+ }
+ // Check if the generated schema contains all enum constants
+ // and their order is preserved
+ private static void checkEnumOrder() throws Exception {
+ int prevElem = -1;
+ for (String elem : expectedEnums) {
+ int curElem = schemaContent.indexOf(elem);
+ System.out.println(elem + " position = " + curElem);
+ if (curElem < prevElem) {
+ throw new RuntimeException("FAIL: Enum values order is incorrect or " + elem + " element is not found");
+ }
+ prevElem = curElem;
+ }
}
private static String getClassFilePath(String filename) {
--- a/jdk/test/javax/xml/ws/8046817/TestEnumType.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/test/javax/xml/ws/8046817/TestEnumType.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -25,5 +25,5 @@
@XmlEnum(String.class)
public enum TestEnumType {
- ONE, TWO, THREE
+ FIRST, ONE, TWO, THREE, FOUR, FIVE, SIX, LAST
}
--- a/jdk/test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -29,6 +29,7 @@
# @library /lib/testlibrary
# @build jdk.testlibrary.* TestLogger Utils RmiBootstrapTest
# @run shell/timeout=300 RmiSslBootstrapTest.sh
+# @ignore 8077924
# Define the Java class test name
TESTCLASS="RmiBootstrapTest"
--- a/jdk/test/sun/security/krb5/auto/KDC.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/test/sun/security/krb5/auto/KDC.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -149,6 +149,9 @@
private List<String> conf = new ArrayList<>();
private Thread thread1, thread2, thread3;
+ private volatile boolean udpConsumerReady = false;
+ private volatile boolean tcpConsumerReady = false;
+ private volatile boolean dispatcherReady = false;
DatagramSocket u1 = null;
ServerSocket t1 = null;
@@ -1228,6 +1231,7 @@
// The UDP consumer
thread1 = new Thread() {
public void run() {
+ udpConsumerReady = true;
while (true) {
try {
byte[] inbuf = new byte[8192];
@@ -1248,6 +1252,7 @@
// The TCP consumer
thread2 = new Thread() {
public void run() {
+ tcpConsumerReady = true;
while (true) {
try {
Socket socket = tcp.accept();
@@ -1270,6 +1275,7 @@
// The dispatcher
thread3 = new Thread() {
public void run() {
+ dispatcherReady = true;
while (true) {
try {
q.take().send();
@@ -1280,6 +1286,19 @@
};
thread3.setDaemon(true);
thread3.start();
+
+ // wait for the KDC is ready
+ try {
+ while (!isReady()) {
+ Thread.sleep(100);
+ }
+ } catch(InterruptedException e) {
+ throw new IOException(e);
+ }
+ }
+
+ boolean isReady() {
+ return udpConsumerReady && tcpConsumerReady && dispatcherReady;
}
public void terminate() {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/auto/UnboundSSL.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.IOException;
+import java.security.NoSuchAlgorithmException;
+import java.security.PrivilegedActionException;
+import java.util.HashMap;
+import java.util.Map;
+import javax.security.auth.login.LoginException;
+
+/*
+ * @test
+ * @bug 8025123
+ * @summary Checks if an unbound server can handle connections
+ * only for allowed service principals
+ * @run main/othervm/policy=unbound.ssl.policy UnboundSSL
+ * unbound.ssl.jaas.conf server_star
+ * @run main/othervm/policy=unbound.ssl.policy UnboundSSL
+ * unbound.ssl.jaas.conf server_multiple_principals
+ */
+public class UnboundSSL {
+
+ public static void main(String[] args) throws IOException,
+ NoSuchAlgorithmException,LoginException, PrivilegedActionException,
+ InterruptedException {
+ UnboundSSL test = new UnboundSSL();
+ test.start(args[0], args[1]);
+ }
+
+ private void start(String jaacConfigFile, String serverJaasConfig)
+ throws IOException, NoSuchAlgorithmException,LoginException,
+ PrivilegedActionException, InterruptedException {
+
+ // define principals
+ String service1host = "service1." + UnboundSSLUtils.HOST;
+ String service2host = "service2." + UnboundSSLUtils.HOST;
+ String service3host = "service3." + UnboundSSLUtils.HOST;
+ String service1Principal = "host/" + service1host + "@"
+ + UnboundSSLUtils.REALM;
+ String service2Principal = "host/" + service2host + "@"
+ + UnboundSSLUtils.REALM;
+ String service3Principal = "host/" + service3host + "@"
+ + UnboundSSLUtils.REALM;
+
+ Map<String, String> principals = new HashMap<>();
+ principals.put(UnboundSSLUtils.USER_PRINCIPAL,
+ UnboundSSLUtils.USER_PASSWORD);
+ principals.put(UnboundSSLUtils.KRBTGT_PRINCIPAL, null);
+ principals.put(service1Principal, null);
+ principals.put(service2Principal, null);
+ principals.put(service3Principal, null);
+
+ System.setProperty("java.security.krb5.conf",
+ UnboundSSLUtils.KRB5_CONF_FILENAME);
+
+ // start a local KDC instance
+ UnboundSSLUtils.startKDC(UnboundSSLUtils.REALM, principals,
+ UnboundSSLUtils.KTAB_FILENAME, UnboundSSLUtils.KtabMode.APPEND);
+
+ System.setProperty("java.security.auth.login.config",
+ UnboundSSLUtils.TEST_SRC + UnboundSSLUtils.FS + jaacConfigFile);
+ System.setProperty("javax.security.auth.useSubjectCredsOnly", "false");
+
+ try (final SSLEchoServer server = SSLEchoServer.init(
+ UnboundSSLUtils.TLS_KRB5_FILTER, UnboundSSLUtils.SNI_PATTERN)) {
+
+ // start a server instance
+ UnboundSSLUtils.startServerWithJaas(server, serverJaasConfig);
+
+ // wait for the server is ready
+ while (!server.isReady()) {
+ Thread.sleep(UnboundSSLUtils.DELAY);
+ }
+
+ int port = server.getPort();
+
+ // run clients
+
+ // the server should have a permission to handle a request
+ // with this service principal (there should be an appropriate
+ // javax.security.auth.kerberos.ServicePermission in policy file)
+ System.out.println("Connect: SNI hostname = " + service1host
+ + ", successful connection is expected");
+ SSLClient.init(UnboundSSLUtils.HOST, port,
+ UnboundSSLUtils.TLS_KRB5_FILTER, service1host).connect();
+
+ // the server should NOT have a permission to handle a request
+ // with this service principal (there should be an appropriate
+ // javax.security.auth.kerberos.ServicePermission in policy file)
+ // handshake failures is expected
+ System.out.println("Connect: SNI hostname = " + service2host
+ + ", connection failure is expected");
+ try {
+ SSLClient.init(UnboundSSLUtils.HOST, port,
+ UnboundSSLUtils.TLS_KRB5_FILTER, service2host)
+ .connect();
+ throw new RuntimeException("Test failed: "
+ + "expected IOException not thrown");
+ } catch (IOException e) {
+ System.out.println("Expected exception: " + e);
+ }
+
+ // the server should have a permission to handle a request
+ // with this service principal (there should be an appropriate
+ // javax.security.auth.kerberos.ServicePermission in policy file)
+ System.out.println("Connect: SNI hostname = " + service3host
+ + ", successful connection is expected");
+ SSLClient.init(UnboundSSLUtils.HOST, port,
+ UnboundSSLUtils.TLS_KRB5_FILTER, service3host).connect();
+ }
+
+ System.out.println("Test passed");
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/auto/UnboundSSLMultipleKeys.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.IOException;
+import java.security.NoSuchAlgorithmException;
+import java.security.PrivilegedActionException;
+import java.util.HashMap;
+import java.util.Map;
+import javax.security.auth.login.LoginException;
+
+/*
+ * @test
+ * @bug 8025123
+ * @summary Checks if an unbound server pick up a correct key from keytab
+ * @run main/othervm UnboundSSLMultipleKeys
+ * unbound.ssl.jaas.conf server_star
+ * @run main/othervm UnboundSSLMultipleKeys
+ * unbound.ssl.jaas.conf server_multiple_principals
+ */
+public class UnboundSSLMultipleKeys {
+
+ public static void main(String[] args)
+ throws IOException, NoSuchAlgorithmException, LoginException,
+ PrivilegedActionException, InterruptedException {
+ UnboundSSLMultipleKeys test = new UnboundSSLMultipleKeys();
+ test.start(args[0], args[1]);
+ }
+
+ private void start(String jaacConfigFile, String serverJaasConfig)
+ throws IOException, NoSuchAlgorithmException, LoginException,
+ PrivilegedActionException, InterruptedException {
+
+ // define service principals
+ String service1host = "service1." + UnboundSSLUtils.HOST;
+ String service2host = "service2." + UnboundSSLUtils.HOST;
+ String service3host = "service3." + UnboundSSLUtils.HOST;
+ String service1Principal = "host/" + service1host + "@"
+ + UnboundSSLUtils.REALM;
+ String service2Principal = "host/" + service2host + "@"
+ + UnboundSSLUtils.REALM;
+ String service3Principal = "host/" + service3host + "@"
+ + UnboundSSLUtils.REALM;
+
+ Map<String, String> principals = new HashMap<>();
+ principals.put(UnboundSSLUtils.USER_PRINCIPAL,
+ UnboundSSLUtils.USER_PASSWORD);
+ principals.put(UnboundSSLUtils.KRBTGT_PRINCIPAL, "pass");
+ principals.put(service1Principal, "pass0");
+ principals.put(service1Principal, "pass1");
+ principals.put(service1Principal, "pass2");
+ principals.put(service2Principal, "pass");
+ principals.put(service3Principal, "pass");
+
+ System.setProperty("java.security.krb5.conf",
+ UnboundSSLUtils.KRB5_CONF_FILENAME);
+
+ /*
+ * Start a local KDC instance
+ *
+ * Keytab file contains 3 keys (with different KVNO) for service1
+ * principal, but password for only one key is the same with the record
+ * for service1 principal in KDC.
+ */
+ UnboundSSLUtils.startKDC(UnboundSSLUtils.REALM, principals,
+ UnboundSSLUtils.KTAB_FILENAME, UnboundSSLUtils.KtabMode.APPEND);
+
+ System.setProperty("java.security.auth.login.config",
+ UnboundSSLUtils.TEST_SRC + UnboundSSLUtils.FS + jaacConfigFile);
+ System.setProperty("javax.security.auth.useSubjectCredsOnly", "false");
+
+ // start an SSL server instance
+ try (SSLEchoServer server = SSLEchoServer.init(
+ UnboundSSLUtils.TLS_KRB5_FILTER, UnboundSSLUtils.SNI_PATTERN)) {
+
+ UnboundSSLUtils.startServerWithJaas(server, serverJaasConfig);
+
+ // wait for the server is ready
+ while (!server.isReady()) {
+ Thread.sleep(UnboundSSLUtils.DELAY);
+ }
+
+ // run a client
+ System.out.println("Successful connection is expected");
+ SSLClient.init(UnboundSSLUtils.HOST, server.getPort(),
+ UnboundSSLUtils.TLS_KRB5_FILTER, service1host).connect();
+ }
+
+ System.out.println("Test passed");
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/auto/UnboundSSLPrincipalProperty.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,119 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.IOException;
+import java.security.NoSuchAlgorithmException;
+import java.security.PrivilegedActionException;
+import java.util.HashMap;
+import java.util.Map;
+import javax.security.auth.login.LoginException;
+
+/*
+ * @test
+ * @bug 8025123
+ * @summary Checks if an unbound server uses a service principal
+ * from sun.security.krb5.principal system property if specified
+ * @run main/othervm UnboundSSLPrincipalProperty
+ * unbound.ssl.jaas.conf server_star
+ * @run main/othervm UnboundSSLPrincipalProperty
+ * unbound.ssl.jaas.conf server_multiple_principals
+ */
+public class UnboundSSLPrincipalProperty {
+
+ public static void main(String[] args) throws IOException,
+ NoSuchAlgorithmException,LoginException, PrivilegedActionException,
+ InterruptedException {
+ UnboundSSLPrincipalProperty test = new UnboundSSLPrincipalProperty();
+ test.start(args[0], args[1]);
+ }
+
+ public void start(String jaacConfigFile, String serverJaasConfig)
+ throws IOException, NoSuchAlgorithmException,LoginException,
+ PrivilegedActionException, InterruptedException {
+
+ // define principals
+ String service1host = "service1." + UnboundSSLUtils.HOST;
+ String service3host = "service3." + UnboundSSLUtils.HOST;
+ String service1Principal = "host/" + service1host + "@"
+ + UnboundSSLUtils.REALM;
+ String service3Principal = "host/" + service3host
+ + "@" + UnboundSSLUtils.REALM;
+
+ Map<String, String> principals = new HashMap<>();
+ principals.put(UnboundSSLUtils.USER_PRINCIPAL,
+ UnboundSSLUtils.USER_PASSWORD);
+ principals.put(UnboundSSLUtils.KRBTGT_PRINCIPAL, null);
+ principals.put(service1Principal, null);
+ principals.put(service3Principal, null);
+
+ System.setProperty("java.security.krb5.conf",
+ UnboundSSLUtils.KRB5_CONF_FILENAME);
+
+ // start a local KDC instance
+ UnboundSSLUtils.startKDC(UnboundSSLUtils.REALM, principals,
+ UnboundSSLUtils.KTAB_FILENAME, UnboundSSLUtils.KtabMode.APPEND);
+
+ System.setProperty("java.security.auth.login.config",
+ UnboundSSLUtils.TEST_SRC + UnboundSSLUtils.FS + jaacConfigFile);
+ System.setProperty("javax.security.auth.useSubjectCredsOnly", "false");
+
+ // start an SSL server instance
+ try (final SSLEchoServer server = SSLEchoServer.init(
+ UnboundSSLUtils.TLS_KRB5_FILTER, UnboundSSLUtils.SNI_PATTERN)) {
+
+ // specify a service principal for the server
+ System.setProperty("sun.security.krb5.principal",
+ service3Principal);
+
+ UnboundSSLUtils.startServerWithJaas(server, serverJaasConfig);
+
+ // wait for the server is ready
+ while (!server.isReady()) {
+ Thread.sleep(UnboundSSLUtils.DELAY);
+ }
+
+ int port = server.getPort();
+
+ // connetion failure is expected
+ // since service3 principal was specified to use by the server
+ System.out.println("Connect: SNI hostname = " + service1host
+ + ", connection failure is expected");
+ try {
+ SSLClient.init(UnboundSSLUtils.HOST, port,
+ UnboundSSLUtils.TLS_KRB5_FILTER, service1host)
+ .connect();
+ throw new RuntimeException("Test failed: "
+ + "expected IOException not thrown");
+ } catch (IOException e) {
+ System.out.println("Expected exception: " + e);
+ }
+
+ System.out.println("Connect: SNI hostname = " + service3host
+ + ", successful connection is expected");
+ SSLClient.init(UnboundSSLUtils.HOST, port,
+ UnboundSSLUtils.TLS_KRB5_FILTER, service3host).connect();
+ }
+
+ System.out.println("Test passed");
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/auto/UnboundSSLUtils.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,353 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.security.NoSuchAlgorithmException;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import javax.net.ssl.SNIHostName;
+import javax.net.ssl.SNIMatcher;
+import javax.net.ssl.SNIServerName;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLParameters;
+import javax.net.ssl.SSLServerSocket;
+import javax.net.ssl.SSLServerSocketFactory;
+import javax.net.ssl.SSLSocket;
+import javax.net.ssl.SSLSocketFactory;
+import javax.security.auth.Subject;
+import javax.security.auth.login.LoginContext;
+import javax.security.auth.login.LoginException;
+
+/*
+ * Helper class for unbound krb5 tests.
+ */
+class UnboundSSLUtils {
+
+ static enum KtabMode { APPEND, EXISTING };
+
+ static final String KTAB_FILENAME = "krb5.keytab.data";
+ static final String HOST = "localhost";
+ static final String REALM = "TEST.REALM";
+ static final String KRBTGT_PRINCIPAL = "krbtgt/" + REALM;
+ static final String TEST_SRC = System.getProperty("test.src", ".");
+ static final String TLS_KRB5_FILTER = "TLS_KRB5";
+ static final String USER = "USER";
+ static final String USER_PASSWORD = "password";
+ static final String FS = System.getProperty("file.separator");
+ static final String SNI_PATTERN = ".*";
+ static final String USER_PRINCIPAL = USER + "@" + REALM;
+ static final String KRB5_CONF_FILENAME = "krb5.conf";
+ static final int DELAY = 1000;
+
+ static String[] filterStringArray(String[] src, String filter) {
+ return Arrays.stream(src).filter((item) -> item.startsWith(filter))
+ .toArray(size -> new String[size]);
+ }
+
+ /*
+ * The method does JAAS login,
+ * and runs an SSL server in the JAAS context.
+ */
+ static void startServerWithJaas(final SSLEchoServer server,
+ String config) throws LoginException, PrivilegedActionException {
+ LoginContext context = new LoginContext(config);
+ context.login();
+ System.out.println("Server: successful authentication");
+ Subject.doAs(context.getSubject(),
+ (PrivilegedExceptionAction<Object>) () -> {
+ SSLEchoServer.startServer(server);
+ return null;
+ });
+ }
+
+ /*
+ * Start a KDC server:
+ * - create a KDC instance
+ * - create Kerberos principals
+ * - save Kerberos configuration
+ * - save keys to keytab file
+ * - no pre-auth required
+ */
+ static void startKDC(String realm, Map<String, String> principals,
+ String ktab, KtabMode mode) {
+ try {
+ KDC kdc = KDC.create(realm, HOST, 0, true);
+ kdc.setOption(KDC.Option.PREAUTH_REQUIRED, Boolean.FALSE);
+ if (principals != null) {
+ for (Map.Entry<String, String> entry : principals.entrySet()) {
+ String name = entry.getKey();
+ String password = entry.getValue();
+ if (password == null || password.isEmpty()) {
+ System.out.println("KDC: add a principal '" + name +
+ "' with a random password");
+ kdc.addPrincipalRandKey(name);
+ } else {
+ System.out.println("KDC: add a principal '" + name +
+ "' with '" + password + "' password");
+ kdc.addPrincipal(name, password.toCharArray());
+ }
+ }
+ }
+
+ KDC.saveConfig(KRB5_CONF_FILENAME, kdc);
+
+ if (ktab != null) {
+ File ktabFile = new File(ktab);
+ if (mode == KtabMode.APPEND) {
+ if (ktabFile.exists()) {
+ System.out.println("KDC: append keys to an exising " +
+ "keytab file " + ktab);
+ kdc.appendKtab(ktab);
+ } else {
+ System.out.println("KDC: create a new keytab file " +
+ ktab);
+ kdc.writeKtab(ktab);
+ }
+ } else if (mode == KtabMode.EXISTING) {
+ System.out.println("KDC: use an existing keytab file "
+ + ktab);
+ } else {
+ throw new RuntimeException("KDC: unsupported keytab mode: "
+ + mode);
+ }
+ }
+
+ System.out.println("KDC: started on " + HOST + ":" + kdc.getPort()
+ + " with '" + realm + "' realm");
+ } catch (Exception e) {
+ throw new RuntimeException("KDC: unexpected exception", e);
+ }
+ }
+
+}
+
+class SSLClient {
+
+ private final static byte[][] arrays = {
+ new byte[] {-1, 0, 2},
+ new byte[] {}
+ };
+
+ private final SSLSocket socket;
+
+ private SSLClient(SSLSocket socket) {
+ this.socket = socket;
+ }
+
+ void connect() throws IOException {
+ System.out.println("Client: connect to server");
+ try (BufferedInputStream bis = new BufferedInputStream(
+ socket.getInputStream());
+ BufferedOutputStream bos = new BufferedOutputStream(
+ socket.getOutputStream())) {
+
+ for (byte[] bytes : arrays) {
+ System.out.println("Client: send byte array: "
+ + Arrays.toString(bytes));
+
+ bos.write(bytes);
+ bos.flush();
+
+ byte[] recieved = new byte[bytes.length];
+ int read = bis.read(recieved, 0, bytes.length);
+ if (read < 0) {
+ throw new IOException("Client: couldn't read a response");
+ }
+
+ System.out.println("Client: recieved byte array: "
+ + Arrays.toString(recieved));
+
+ if (!Arrays.equals(bytes, recieved)) {
+ throw new IOException("Client: sent byte array "
+ + "is not equal with recieved byte array");
+ }
+ }
+ socket.getSession().invalidate();
+ } finally {
+ if (!socket.isClosed()) {
+ socket.close();
+ }
+ }
+ }
+
+ static SSLClient init(String host, int port, String cipherSuiteFilter,
+ String sniHostName) throws NoSuchAlgorithmException, IOException {
+ SSLContext sslContext = SSLContext.getDefault();
+ SSLSocketFactory ssf = (SSLSocketFactory) sslContext.getSocketFactory();
+ SSLSocket socket = (SSLSocket) ssf.createSocket(host, port);
+ SSLParameters params = new SSLParameters();
+
+ if (cipherSuiteFilter != null) {
+ String[] cipherSuites = UnboundSSLUtils.filterStringArray(
+ ssf.getSupportedCipherSuites(), cipherSuiteFilter);
+ System.out.println("Client: enabled cipher suites: "
+ + Arrays.toString(cipherSuites));
+ params.setCipherSuites(cipherSuites);
+ }
+
+ if (sniHostName != null) {
+ System.out.println("Client: set SNI hostname: " + sniHostName);
+ SNIHostName serverName = new SNIHostName(sniHostName);
+ List<SNIServerName> serverNames = new ArrayList<>();
+ serverNames.add(serverName);
+ params.setServerNames(serverNames);
+ }
+
+ socket.setSSLParameters(params);
+
+ return new SSLClient(socket);
+ }
+
+}
+
+class SSLEchoServer implements Runnable, AutoCloseable {
+
+ private final SSLServerSocket ssocket;
+ private volatile boolean stopped = false;
+ private volatile boolean ready = false;
+
+ /*
+ * Starts the server in a separate thread.
+ */
+ static void startServer(SSLEchoServer server) {
+ Thread serverThread = new Thread(server, "SSL echo server thread");
+ serverThread.setDaemon(true);
+ serverThread.start();
+ }
+
+ private SSLEchoServer(SSLServerSocket ssocket) {
+ this.ssocket = ssocket;
+ }
+
+ /*
+ * Main server loop.
+ */
+ @Override
+ public void run() {
+ System.out.println("Server: started");
+ while (!stopped) {
+ ready = true;
+ try (SSLSocket socket = (SSLSocket) ssocket.accept()) {
+ System.out.println("Server: client connection accepted");
+ try (
+ BufferedInputStream bis = new BufferedInputStream(
+ socket.getInputStream());
+ BufferedOutputStream bos = new BufferedOutputStream(
+ socket.getOutputStream())
+ ) {
+ byte[] buffer = new byte[1024];
+ int read;
+ while ((read = bis.read(buffer)) > 0) {
+ bos.write(buffer, 0, read);
+ System.out.println("Server: recieved " + read
+ + " bytes: "
+ + Arrays.toString(Arrays.copyOf(buffer, read)));
+ bos.flush();
+ }
+ }
+ } catch (IOException e) {
+ if (stopped) {
+ // stopped == true means that stop() method was called,
+ // so just ignore the exception, and finish the loop
+ break;
+ }
+ System.out.println("Server: couldn't accept client connection: "
+ + e);
+ }
+ }
+ System.out.println("Server: finished");
+ }
+
+ boolean isReady() {
+ return ready;
+ }
+
+ void stop() {
+ stopped = true;
+ ready = false;
+
+ // close the server socket to interupt accept() method
+ try {
+ if (!ssocket.isClosed()) {
+ ssocket.close();
+ }
+ } catch (IOException e) {
+ throw new RuntimeException("Unexpected exception: " + e);
+ }
+ }
+
+ @Override
+ public void close() {
+ stop();
+ }
+
+ int getPort() {
+ return ssocket.getLocalPort();
+ }
+
+ /*
+ * Creates server instance.
+ *
+ * @param cipherSuiteFilter Filter for enabled cipher suites
+ * @param sniMatcherPattern Pattern for SNI server hame
+ */
+ static SSLEchoServer init(String cipherSuiteFilter,
+ String sniPattern) throws NoSuchAlgorithmException, IOException {
+ SSLContext context = SSLContext.getDefault();
+ SSLServerSocketFactory ssf =
+ (SSLServerSocketFactory) context.getServerSocketFactory();
+ SSLServerSocket ssocket =
+ (SSLServerSocket) ssf.createServerSocket(0);
+
+ // specify enabled cipher suites
+ if (cipherSuiteFilter != null) {
+ String[] ciphersuites = UnboundSSLUtils.filterStringArray(
+ ssf.getSupportedCipherSuites(), cipherSuiteFilter);
+ System.out.println("Server: enabled cipher suites: "
+ + Arrays.toString(ciphersuites));
+ ssocket.setEnabledCipherSuites(ciphersuites);
+ }
+
+ // specify SNI matcher pattern
+ if (sniPattern != null) {
+ System.out.println("Server: set SNI matcher: " + sniPattern);
+ SNIMatcher matcher = SNIHostName.createSNIMatcher(sniPattern);
+ List<SNIMatcher> matchers = new ArrayList<>();
+ matchers.add(matcher);
+ SSLParameters params = ssocket.getSSLParameters();
+ params.setSNIMatchers(matchers);
+ ssocket.setSSLParameters(params);
+ }
+
+ return new SSLEchoServer(ssocket);
+ }
+
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/auto/unbound.ssl.jaas.conf Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,40 @@
+com.sun.net.ssl.client {
+ com.sun.security.auth.module.Krb5LoginModule required
+ principal="USER@TEST.REALM"
+ doNotPrompt=true
+ useKeyTab=true
+ keyTab="krb5.keytab.data";
+};
+
+server_star {
+ com.sun.security.auth.module.Krb5LoginModule required
+ principal="*"
+ isInitiator=false
+ useKeyTab=true
+ keyTab="krb5.keytab.data"
+ storeKey=true;
+};
+
+server_multiple_principals {
+ com.sun.security.auth.module.Krb5LoginModule required
+ principal="host/service1.localhost@TEST.REALM"
+ isInitiator=false
+ useKeyTab=true
+ keyTab="krb5.keytab.data"
+ storeKey=true;
+
+ com.sun.security.auth.module.Krb5LoginModule required
+ principal="host/service2.localhost@TEST.REALM"
+ isInitiator=false
+ useKeyTab=true
+ keyTab="krb5.keytab.data"
+ storeKey=true;
+
+ com.sun.security.auth.module.Krb5LoginModule required
+ principal="host/service3.localhost@TEST.REALM"
+ isInitiator=false
+ useKeyTab=true
+ keyTab="krb5.keytab.data"
+ storeKey=true;
+};
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/auto/unbound.ssl.policy Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,26 @@
+grant {
+ permission java.util.PropertyPermission "*", "read,write";
+ permission java.net.SocketPermission "*:*", "listen,resolve,accept,connect";
+ permission java.io.FilePermission "*", "read,write,delete";
+ permission java.lang.RuntimePermission "accessDeclaredMembers";
+ permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
+ permission java.lang.RuntimePermission "accessClassInPackage.*";
+ permission javax.security.auth.AuthPermission "doAs";
+ permission javax.security.auth.AuthPermission "getSubject";
+ permission javax.security.auth.AuthPermission
+ "createLoginContext.server_star";
+ permission javax.security.auth.AuthPermission
+ "createLoginContext.server_multiple_principals";
+ permission javax.security.auth.AuthPermission "modifyPrincipals";
+ permission javax.security.auth.PrivateCredentialPermission "javax.security.auth.kerberos.KeyTab java.security.Principal \"krb5.keytab.data\"", "read";
+
+ // clients have a permission to use all service principals
+ permission javax.security.auth.kerberos.ServicePermission "*", "initiate";
+
+ // server has a service permission
+ // to accept only service1 and service3 principals
+ permission javax.security.auth.kerberos.ServicePermission
+ "host/service1.localhost@TEST.REALM", "accept";
+ permission javax.security.auth.kerberos.ServicePermission
+ "host/service3.localhost@TEST.REALM", "accept";
+};
--- a/jdk/test/sun/security/pkcs11/sslecc/CipherTest.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/test/sun/security/pkcs11/sslecc/CipherTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -45,7 +45,7 @@
public class CipherTest {
// use any available port for the server socket
- static int serverPort = 0;
+ static volatile int serverPort = 0;
final int THREADS;
--- a/jdk/test/sun/security/pkcs11/sslecc/JSSEServer.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/test/sun/security/pkcs11/sslecc/JSSEServer.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -42,7 +42,7 @@
serverContext.init(new KeyManager[] {cipherTest.keyManager}, new TrustManager[] {cipherTest.trustManager}, cipherTest.secureRandom);
SSLServerSocketFactory factory = (SSLServerSocketFactory)serverContext.getServerSocketFactory();
- serverSocket = (SSLServerSocket)factory.createServerSocket(cipherTest.serverPort);
+ serverSocket = (SSLServerSocket)factory.createServerSocket(0);
cipherTest.serverPort = serverSocket.getLocalPort();
serverSocket.setEnabledCipherSuites(factory.getSupportedCipherSuites());
serverSocket.setWantClientAuth(true);
--- a/jdk/test/sun/security/provider/certpath/ReverseBuilder/BuildPath.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/**
- * @test
- * @bug 6511784
- * @summary Make sure that building a path to a CRL issuer works in the
- * reverse direction
- * @library ../../../../../java/security/testlibrary
- * @build CertUtils
- * @run main BuildPath
- */
-import java.security.cert.*;
-import java.util.Collections;
-import sun.security.provider.certpath.SunCertPathBuilderParameters;
-
-public class BuildPath {
-
- public static void main(String[] args) throws Exception {
-
- TrustAnchor anchor =
- new TrustAnchor(CertUtils.getCertFromFile("mgrM2mgrM"), null);
- X509Certificate target = CertUtils.getCertFromFile("mgrM2leadMA");
- X509CertSelector xcs = new X509CertSelector();
- xcs.setSubject("CN=leadMA,CN=mgrM,OU=prjM,OU=divE,OU=Comp,O=sun,C=us");
- xcs.setCertificate(target);
- SunCertPathBuilderParameters params =
- new SunCertPathBuilderParameters(Collections.singleton(anchor),xcs);
- params.setBuildForward(false);
- CertStore cs = CertUtils.createStore(new String[]
- {"mgrM2prjM", "prjM2mgrM", "prjM2divE", "mgrM2leadMA" });
- params.addCertStore(cs);
- CertStore cs2 = CertUtils.createCRLStore
- (new String[] {"mgrMcrl", "prjMcrl"});
- params.addCertStore(cs2);
- PKIXCertPathBuilderResult res = CertUtils.build(params);
- }
-}
--- a/jdk/test/sun/security/provider/certpath/ReverseBuilder/ReverseBuild.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,356 +0,0 @@
-/*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-//
-// Security properties, once set, cannot revert to unset. To avoid
-// conflicts with tests running in the same VM isolate this test by
-// running it in otherVM mode.
-//
-
-/*
- * @test
- * @bug 7167988
- * @summary PKIX CertPathBuilder in reverse mode doesn't work if more than
- * one trust anchor is specified
- * @run main/othervm ReverseBuild
- */
-import java.io.*;
-import java.util.*;
-import java.security.cert.*;
-import java.security.Security;
-
-import sun.security.provider.certpath.SunCertPathBuilderParameters;
-
-public class ReverseBuild {
- // Certificate information:
- // Issuer: C=US, ST=Some-State, L=Some-City, O=Some-Org
- // Validity
- // Not Before: Dec 8 02:43:36 2008 GMT
- // Not After : Aug 25 02:43:36 2028 GMT
- // Subject: C=US, ST=Some-State, L=Some-City, O=Some-Org
- // X509v3 Subject Key Identifier:
- // FA:B9:51:BF:4C:E7:D9:86:98:33:F9:E7:CB:1E:F1:33:49:F7:A8:14
- // X509v3 Authority Key Identifier:
- // keyid:FA:B9:51:BF:4C:E7:D9:86:98:33:F9:E7:CB:1E:F1:33:49:F7:A8:14
- // DirName:/C=US/ST=Some-State/L=Some-City/O=Some-Org
- // serial:00
- static String NoiceTrusedCertStr =
- "-----BEGIN CERTIFICATE-----\n" +
- "MIICrDCCAhWgAwIBAgIBADANBgkqhkiG9w0BAQQFADBJMQswCQYDVQQGEwJVUzET\n" +
- "MBEGA1UECBMKU29tZS1TdGF0ZTESMBAGA1UEBxMJU29tZS1DaXR5MREwDwYDVQQK\n" +
- "EwhTb21lLU9yZzAeFw0wODEyMDgwMjQzMzZaFw0yODA4MjUwMjQzMzZaMEkxCzAJ\n" +
- "BgNVBAYTAlVTMRMwEQYDVQQIEwpTb21lLVN0YXRlMRIwEAYDVQQHEwlTb21lLUNp\n" +
- "dHkxETAPBgNVBAoTCFNvbWUtT3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB\n" +
- "gQDLxDggB76Ip5OwoUNRLdeOha9U3a2ieyNbz5kTU5lFfe5tui2/461uPZ8a+QOX\n" +
- "4BdVrhEmV94BKY4FPyH35zboLjfXSKxT1mAOx1Bt9sWF94umxZE1cjyU7vEX8HHj\n" +
- "7BvOyk5AQrBt7moO1uWtPA/JuoJPePiJl4kqlRJM2Akq6QIDAQABo4GjMIGgMB0G\n" +
- "A1UdDgQWBBT6uVG/TOfZhpgz+efLHvEzSfeoFDBxBgNVHSMEajBogBT6uVG/TOfZ\n" +
- "hpgz+efLHvEzSfeoFKFNpEswSTELMAkGA1UEBhMCVVMxEzARBgNVBAgTClNvbWUt\n" +
- "U3RhdGUxEjAQBgNVBAcTCVNvbWUtQ2l0eTERMA8GA1UEChMIU29tZS1PcmeCAQAw\n" +
- "DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQBcIm534U123Hz+rtyYO5uA\n" +
- "ofd81G6FnTfEAV8Kw9fGyyEbQZclBv34A9JsFKeMvU4OFIaixD7nLZ/NZ+IWbhmZ\n" +
- "LovmJXyCkOufea73pNiZ+f/4/ScZaIlM/PRycQSqbFNd4j9Wott+08qxHPLpsf3P\n" +
- "6Mvf0r1PNTY2hwTJLJmKtg==\n" +
- "-----END CERTIFICATE-----";
-
- // Certificate information:
- // Issuer: C=US, O=Java, OU=SunJSSE Test Serivce
- // Validity
- // Not Before: Aug 19 01:52:19 2011 GMT
- // Not After : Jul 29 01:52:19 2032 GMT
- // Subject: C=US, O=Java, OU=SunJSSE Test Serivce
-
- // X509v3 Subject Key Identifier:
- // B9:7C:D5:D9:DF:A7:4C:03:AE:FD:0E:27:5B:31:95:6C:C7:F3:75:E1
- // X509v3 Authority Key Identifier:
- // keyid:B9:7C:D5:D9:DF:A7:4C:03:AE:FD:0E:27:5B:31:95:6C:C7:F3:75:E1
- // DirName:/C=US/O=Java/OU=SunJSSE Test Serivce
- // serial:00
- static String NoiceTrusedCertStr_2nd =
- "-----BEGIN CERTIFICATE-----\n" +
- "MIICkjCCAfugAwIBAgIBADANBgkqhkiG9w0BAQQFADA7MQswCQYDVQQGEwJVUzEN\n" +
- "MAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UwHhcN\n" +
- "MTEwODE5MDE1MjE5WhcNMzIwNzI5MDE1MjE5WjA7MQswCQYDVQQGEwJVUzENMAsG\n" +
- "A1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UwgZ8wDQYJ\n" +
- "KoZIhvcNAQEBBQADgY0AMIGJAoGBAM8orG08DtF98TMSscjGsidd1ZoN4jiDpi8U\n" +
- "ICz+9dMm1qM1d7O2T+KH3/mxyox7Rc2ZVSCaUD0a3CkhPMnlAx8V4u0H+E9sqso6\n" +
- "iDW3JpOyzMExvZiRgRG/3nvp55RMIUV4vEHOZ1QbhuqG4ebN0Vz2DkRft7+flthf\n" +
- "vDld6f5JAgMBAAGjgaUwgaIwHQYDVR0OBBYEFLl81dnfp0wDrv0OJ1sxlWzH83Xh\n" +
- "MGMGA1UdIwRcMFqAFLl81dnfp0wDrv0OJ1sxlWzH83XhoT+kPTA7MQswCQYDVQQG\n" +
- "EwJVUzENMAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2\n" +
- "Y2WCAQAwDwYDVR0TAQH/BAUwAwEB/zALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQEE\n" +
- "BQADgYEALlgaH1gWtoBZ84EW8Hu6YtGLQ/L9zIFmHonUPZwn3Pr//icR9Sqhc3/l\n" +
- "pVTxOINuFHLRz4BBtEylzRIOPzK3tg8XwuLb1zd0db90x3KBCiAL6E6cklGEPwLe\n" +
- "XYMHDn9eDsaq861Tzn6ZwzMgw04zotPMoZN0mVd/3Qca8UJFucE=\n" +
- "-----END CERTIFICATE-----";
-
-
- // Certificate information:
- // Issuer: C=US, O=Java, OU=SunJSSE Test Serivce
- // Validity
- // Not Before: May 5 02:40:50 2012 GMT
- // Not After : Apr 15 02:40:50 2033 GMT
- // Subject: C=US, O=Java, OU=SunJSSE Test Serivce
- // X509v3 Subject Key Identifier:
- // DD:4E:8D:2A:11:C0:83:03:F0:AC:EB:A2:BF:F9:F2:7D:C8:69:1F:9B
- // X509v3 Authority Key Identifier:
- // keyid:DD:4E:8D:2A:11:C0:83:03:F0:AC:EB:A2:BF:F9:F2:7D:C8:69:1F:9B
- // DirName:/C=US/O=Java/OU=SunJSSE Test Serivce
- // serial:00
- static String trustedCertStr =
- "-----BEGIN CERTIFICATE-----\n" +
- "MIICkjCCAfugAwIBAgIBADANBgkqhkiG9w0BAQIFADA7MQswCQYDVQQGEwJVUzEN\n" +
- "MAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UwHhcN\n" +
- "MTIwNTA1MDI0MDUwWhcNMzMwNDE1MDI0MDUwWjA7MQswCQYDVQQGEwJVUzENMAsG\n" +
- "A1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UwgZ8wDQYJ\n" +
- "KoZIhvcNAQEBBQADgY0AMIGJAoGBANtiq0AIJK+iVRwFrqcD7fYXTCbMYC5Qz/k6\n" +
- "AXBy7/1rI8wDhEJLE3m/+NSqiJwZcmdq2dNh/1fJFrwvzuURbc9+paOBWeHbN+Sc\n" +
- "x3huw91oPZme385VpoK3G13rSE114S/rF4DM9mz4EStFhSHXATjtdbskNOAYGLTV\n" +
- "x8uEy9GbAgMBAAGjgaUwgaIwHQYDVR0OBBYEFN1OjSoRwIMD8Kzror/58n3IaR+b\n" +
- "MGMGA1UdIwRcMFqAFN1OjSoRwIMD8Kzror/58n3IaR+boT+kPTA7MQswCQYDVQQG\n" +
- "EwJVUzENMAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2\n" +
- "Y2WCAQAwDwYDVR0TAQH/BAUwAwEB/zALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQEC\n" +
- "BQADgYEAjjkJesQrkbr36N40egybaIxw7RcqT6iy5fkAGS1JYlBDk8uSCK1o6bCH\n" +
- "ls5EpYcGeEoabSS73WRdkO1lgeyWDduO4ef8cCCSpmpT6/YdZG0QS1PtcREeVig+\n" +
- "Zr25jNemS4ADHX0aaXP4kiV/G80cR7nX5t5XCUm4bYdbwM07NgI=\n" +
- "-----END CERTIFICATE-----";
- static String trustedPrivateKey = // Private key in the format of PKCS#8
- "MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBANtiq0AIJK+iVRwF\n" +
- "rqcD7fYXTCbMYC5Qz/k6AXBy7/1rI8wDhEJLE3m/+NSqiJwZcmdq2dNh/1fJFrwv\n" +
- "zuURbc9+paOBWeHbN+Scx3huw91oPZme385VpoK3G13rSE114S/rF4DM9mz4EStF\n" +
- "hSHXATjtdbskNOAYGLTVx8uEy9GbAgMBAAECgYEA2VjHkIiA0ABjkX+PqKeb+VLb\n" +
- "fxS7tSca5C8zfdRhLxAWRui0/3ihst0eCJNrBDuxvAOACovsDWyLuaUjtI2v2ysz\n" +
- "vz6SPyGy82PhQOFzyKQuQ814N6EpothpiZzF0yFchfKIGhUsdY89UrGs9nM7m6NT\n" +
- "rztYvgIu4avg2VPR2AECQQD+pFAqipR2BplQRIuuRSZfHRxvoEyDjT1xnHJsC6WP\n" +
- "I5hCLghL91MhQGWbP4EJMKYQOTRVukWlcp2Kycpf+P5hAkEA3I43gmVUAPEdyZdY\n" +
- "fatW7OaLlbbYJb6qEtpCZ1Rwe/BIvm6H6E3qSi/lpz7Ia7WDulpbF6BawHH3pRFq\n" +
- "CUY5ewJBAP3pUDqrRpBN0jB0uSeDslhjSciQ+dqvSpZv3rSYBHUvlBJhnkpJiy37\n" +
- "7ZUZhIxqYxyIPgRBolLwb+FFh7OdL+ECQCtldDic9WVmC+VheRDpCKZ+SlK/8lGi\n" +
- "7VXeShiIvcU1JysJFoa35fSI7hf1O3wt7+hX5PqGG7Un94EsJwACKEcCQQC1TWt6\n" +
- "ArKH6tRxKjOxFtqfs8fgEVYUaOr3j1jF4KBUuX2mtQtddZe3VfJ2wPsuKMMxmhkB\n" +
- "e7xWWZnJsErt2e+E";
-
- // Certificate information:
- // Issuer: C=US, O=Java, OU=SunJSSE Test Serivce
- // Validity
- // Not Before: May 5 02:40:53 2012 GMT
- // Not After : Jan 21 02:40:53 2032 GMT
- // Subject: C=US, O=Java, OU=SunJSSE Test Serivce, CN=casigner
- // X509v3 Subject Key Identifier:
- // 13:07:E0:11:07:DB:EB:33:23:87:31:D0:DB:7E:16:56:BE:11:90:0A
- // X509v3 Authority Key Identifier:
- // keyid:DD:4E:8D:2A:11:C0:83:03:F0:AC:EB:A2:BF:F9:F2:7D:C8:69:1F:9B
- // DirName:/C=US/O=Java/OU=SunJSSE Test Serivce
- // serial:00
- static String caSignerStr =
- "-----BEGIN CERTIFICATE-----\n" +
- "MIICqDCCAhGgAwIBAgIBAjANBgkqhkiG9w0BAQQFADA7MQswCQYDVQQGEwJVUzEN\n" +
- "MAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UwHhcN\n" +
- "MTIwNTA1MDI0MDUzWhcNMzIwMTIxMDI0MDUzWjBOMQswCQYDVQQGEwJVUzENMAsG\n" +
- "A1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UxETAPBgNV\n" +
- "BAMTCGNhc2lnbmVyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+x8+o7oM0\n" +
- "ct/LZmZLXBL4CQ8jrULD5P7NtEW0hg/zxBFZfBHf+44Oo2eMPYZj+7xaREOH5BmV\n" +
- "KRYlzRtONAaC5Ng4Mrm5UKNPcMIIUjUOvm7vWM4oSTMSfoEcSX+vp99uUAkw3w7Z\n" +
- "+frYDm1M4At/j0b+lLij71GFN2L8drpgPQIDAQABo4GoMIGlMB0GA1UdDgQWBBQT\n" +
- "B+ARB9vrMyOHMdDbfhZWvhGQCjBjBgNVHSMEXDBagBTdTo0qEcCDA/Cs66K/+fJ9\n" +
- "yGkfm6E/pD0wOzELMAkGA1UEBhMCVVMxDTALBgNVBAoTBEphdmExHTAbBgNVBAsT\n" +
- "FFN1bkpTU0UgVGVzdCBTZXJpdmNlggEAMBIGA1UdEwEB/wQIMAYBAf8CAQEwCwYD\n" +
- "VR0PBAQDAgEGMA0GCSqGSIb3DQEBBAUAA4GBAI+LXA/UCPkTANablUkt80JNPWsl\n" +
- "pS4XLNgPxWaN0bkRDs5oI4ooWAz1rwpeJ/nfetOvWlpmrVjSeovBFja5Hl+dUHTf\n" +
- "VfuyzkxXbhuNiJIpo1mVBpNsjwu9YRxuwX6UA2LTUQpgvtVJEE012x3zRvxBCbu2\n" +
- "Y/v1R5fZ4c+hXDfC\n" +
- "-----END CERTIFICATE-----";
- static String caSignerPrivateKey = // Private key in the format of PKCS#8
- "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAL7Hz6jugzRy38tm\n" +
- "ZktcEvgJDyOtQsPk/s20RbSGD/PEEVl8Ed/7jg6jZ4w9hmP7vFpEQ4fkGZUpFiXN\n" +
- "G040BoLk2DgyublQo09wwghSNQ6+bu9YzihJMxJ+gRxJf6+n325QCTDfDtn5+tgO\n" +
- "bUzgC3+PRv6UuKPvUYU3Yvx2umA9AgMBAAECgYBYvu30cW8LONyt62Zua9hPFTe7\n" +
- "qt9B7QYyfkdmoG5PQMepTrOp84SzfoOukvgvDm0huFuJnSvhXQl2cCDhkgXskvFj\n" +
- "Hh7KBCFViVXokGdq5YoS0/KYMyQV0TZfJUvILBl51uc4/siQ2tClC/N4sa+1JhgW\n" +
- "a6dFGfRjiUKSSlmMwQJBAPWpIz3Q/c+DYMvoQr5OD8EaYwYIevlTdXb97RnJJh2b\n" +
- "UnhB9jrqesJiHYVzPmP0ukyPOXOwlp2T5Am4Kw0LFOkCQQDGz150NoHOp28Mvyc4\n" +
- "CTqz/zYzUhy2eCJESl196uyP4N65Y01VYQ3JDww4DlsXiU17tVSbgA9TCcfTYOzy\n" +
- "vyw1AkARUky+1hafZCcWGZljK8PmnMKwsTZikCTvL/Zg5BMA8Wu+OQBwpQnk3OAy\n" +
- "Aa87gw0DyvGFG8Vy9POWT9sRP1/JAkBqP0hrMvYMSs6+MSn0eHo2151PsAJIQcuO\n" +
- "U2/Da1khSzu8N6WMi2GiobgV/RYRbf9KrY2ZzMZjykZQYOxAjopBAkEAghCu38cN\n" +
- "aOsW6ueo24uzsWI1FTdE+qWNVEi3RSP120xXBCyhaBjIq4WVSlJK9K2aBaJpit3j\n" +
- "iQ5tl6zrLlxQhg==";
-
- // Certificate information:
- // Issuer: C=US, O=Java, OU=SunJSSE Test Serivce, CN=casigner
- // Validity
- // Not Before: May 5 02:40:57 2012 GMT
- // Not After : Jan 21 02:40:57 2032 GMT
- // Subject: C=US, O=Java, OU=SunJSSE Test Serivce, CN=certissuer
- // X509v3 Subject Key Identifier:
- // 39:0E:C6:33:B1:50:BC:73:07:31:E5:D8:04:F7:BB:97:55:CF:9B:C8
- // X509v3 Authority Key Identifier:
- // keyid:13:07:E0:11:07:DB:EB:33:23:87:31:D0:DB:7E:16:56:BE:11:90:0A
- // DirName:/C=US/O=Java/OU=SunJSSE Test Serivce
- // serial:02
- static String certIssuerStr =
- "-----BEGIN CERTIFICATE-----\n" +
- "MIICvjCCAiegAwIBAgIBAzANBgkqhkiG9w0BAQQFADBOMQswCQYDVQQGEwJVUzEN\n" +
- "MAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UxETAP\n" +
- "BgNVBAMTCGNhc2lnbmVyMB4XDTEyMDUwNTAyNDA1N1oXDTMyMDEyMTAyNDA1N1ow\n" +
- "UDELMAkGA1UEBhMCVVMxDTALBgNVBAoTBEphdmExHTAbBgNVBAsTFFN1bkpTU0Ug\n" +
- "VGVzdCBTZXJpdmNlMRMwEQYDVQQDEwpjZXJ0aXNzdWVyMIGfMA0GCSqGSIb3DQEB\n" +
- "AQUAA4GNADCBiQKBgQCyz55zinU6kNL/LeiTNiBI0QWYmDG0YTotuC4D75liBNqs\n" +
- "7Mmladsh2mTtQUAwmuGaGzaZV25a+cUax0DXZoyBwdbTI09u1bUYsZcaUUKbPoCC\n" +
- "HH26e4jLFL4olW13Sv4ZAd57tIYevMw+Fp5f4fLPFGegCJTFlv2Qjpmic/cuvQID\n" +
- "AQABo4GpMIGmMB0GA1UdDgQWBBQ5DsYzsVC8cwcx5dgE97uXVc+byDBjBgNVHSME\n" +
- "XDBagBQTB+ARB9vrMyOHMdDbfhZWvhGQCqE/pD0wOzELMAkGA1UEBhMCVVMxDTAL\n" +
- "BgNVBAoTBEphdmExHTAbBgNVBAsTFFN1bkpTU0UgVGVzdCBTZXJpdmNlggECMBMG\n" +
- "A1UdEwEB/wQJMAcBAf8CAgQAMAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQQFAAOB\n" +
- "gQCQTagenCdClT98C+oTJGJrw/dUBD9K3tE6ZJKPMc/2bUia8G5ei1C0eXj4mWG2\n" +
- "lu9umR6C90/A6qB050QB2h50qtqxSrkpu+ym1yypauZpg7U3nUY9wZWJNI1vqrQZ\n" +
- "pqUMRcXY3iQIVKx+Qj+4/Za1wwFQzpEoGmqRW31V1SdMEw==\n" +
- "-----END CERTIFICATE-----";
- static String certIssuerPrivateKey = // Private key in the format of PKCS#8
- "MIICeQIBADANBgkqhkiG9w0BAQEFAASCAmMwggJfAgEAAoGBALLPnnOKdTqQ0v8t\n" +
- "6JM2IEjRBZiYMbRhOi24LgPvmWIE2qzsyaVp2yHaZO1BQDCa4ZobNplXblr5xRrH\n" +
- "QNdmjIHB1tMjT27VtRixlxpRQps+gIIcfbp7iMsUviiVbXdK/hkB3nu0hh68zD4W\n" +
- "nl/h8s8UZ6AIlMWW/ZCOmaJz9y69AgMBAAECgYEAjtew2tgm4gxDojqIauF4VPM1\n" +
- "pzsdqd1p3pAdomNLgrQiBLZ8N7oiph6TNb1EjA+OXc+ThFgF/oM9ZDD8qZZwcvjN\n" +
- "qDZlpTkFs2TaGcyEZfUaMB45NHVs6Nn+pSkagSNwwy3xeyAct7sQEzGNTDlEwVv5\n" +
- "7V9LQutQtBd6xT48KzkCQQDpNRfv2OFNG/6GtzJoO68oJhpnpl2MsYNi4ntRkre/\n" +
- "6uXpiCYaDskcrPMRwOOs0m7mxG+Ev+uKnLnSoEMm1GCbAkEAxEmDtiD0Psb8Z9BL\n" +
- "ZRb83Jqho3xe2MCAh3xUfz9b/Mhae9dZ44o4OCgQZuwvW1mczF0NtpgZl93BmYa2\n" +
- "hTwHhwJBAKHrEj6ep/fA6x0gD2idoATRR94VfbiU+7NpqtO9ecVP0+gsdr/66hn1\n" +
- "3yLBeZLh3MxvMTrLgkAQh1i9m0JXjOcCQQClLXAHHegrw+u3uNMZeKTFR+Lp3sk6\n" +
- "AZSnbvr0Me9I45kxSeG81x3ENALJecvIRbrrRws5MvmmkNhQR8rkh8WVAkEAk6b+\n" +
- "aVtmBgUaTS5+FFlHGHJY9HFrfT1a1C/dwyMuqlmbC3YsBmZaMOlKli5TXNybLff8\n" +
- "5KMeGEpXMzgC7AscGA==";
-
- // Certificate information:
- // Issuer: C=US, O=Java, OU=SunJSSE Test Serivce, CN=certissuer
- // Validity
- // Not Before: May 5 02:41:01 2012 GMT
- // Not After : Jan 21 02:41:01 2032 GMT
- // Subject: C=US, O=Java, OU=SunJSSE Test Serivce, CN=localhost
- // X509v3 Subject Key Identifier:
- // AD:C0:2C:4C:E4:C2:2E:A1:BB:5D:92:BE:66:E0:4E:E0:0D:2F:11:EF
- // X509v3 Authority Key Identifier:
- // keyid:39:0E:C6:33:B1:50:BC:73:07:31:E5:D8:04:F7:BB:97:55:CF:9B:C8
- static String targetCertStr =
- "-----BEGIN CERTIFICATE-----\n" +
- "MIICjTCCAfagAwIBAgIBBDANBgkqhkiG9w0BAQQFADBQMQswCQYDVQQGEwJVUzEN\n" +
- "MAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UxEzAR\n" +
- "BgNVBAMTCmNlcnRpc3N1ZXIwHhcNMTIwNTA1MDI0MTAxWhcNMzIwMTIxMDI0MTAx\n" +
- "WjBPMQswCQYDVQQGEwJVUzENMAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNT\n" +
- "RSBUZXN0IFNlcml2Y2UxEjAQBgNVBAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0B\n" +
- "AQEFAAOBjQAwgYkCgYEAvwaUd7wmBSKqycEstYLWD26vkU08DM39EtaT8wL9HnQ0\n" +
- "fgPblwBFI4zdLa2cuYXRZcFUb04N8nrkcpR0D6kkE+AlFAoRWrrZF80B7JTbtEK4\n" +
- "1PIeurihXvUT+4MpzGLOojIihMfvM4ufelblD56SInso4WFHm7t4qCln88J1gjkC\n" +
- "AwEAAaN4MHYwCwYDVR0PBAQDAgPoMB0GA1UdDgQWBBStwCxM5MIuobtdkr5m4E7g\n" +
- "DS8R7zAfBgNVHSMEGDAWgBQ5DsYzsVC8cwcx5dgE97uXVc+byDAnBgNVHSUEIDAe\n" +
- "BggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMDMA0GCSqGSIb3DQEBBAUAA4GB\n" +
- "AGfwcfdvEG/nSCiAn2MGbYHp34mgF3OA1SJLWUW0LvWJhwm2cn4AXlSoyvbwrkaB\n" +
- "IDDCwhJvvc0vUyL2kTx7sqVaFTq3mDs+ktlB/FfH0Pb+i8FE+g+7T42Iw/j0qxHL\n" +
- "YmgbrjBQf5WYN1AvBE/rrPt9aOtS3UsqtVGW574b0shW\n" +
- "-----END CERTIFICATE-----";
- static String targetPrivateKey = // Private key in the format of PKCS#8
- "MIICdAIBADANBgkqhkiG9w0BAQEFAASCAl4wggJaAgEAAoGBAL8GlHe8JgUiqsnB\n" +
- "LLWC1g9ur5FNPAzN/RLWk/MC/R50NH4D25cARSOM3S2tnLmF0WXBVG9ODfJ65HKU\n" +
- "dA+pJBPgJRQKEVq62RfNAeyU27RCuNTyHrq4oV71E/uDKcxizqIyIoTH7zOLn3pW\n" +
- "5Q+ekiJ7KOFhR5u7eKgpZ/PCdYI5AgMBAAECf3CscOYvFD3zNMnMJ5LomVqA7w3F\n" +
- "gKYM2jlCWAH+wU41PMEXhW6Lujw92jgXL1o+lERwxFzirVdZJWZwKgUSvzP1G0h3\n" +
- "fkucq1/UWnToK+8NSXNM/yS8hXbBgSEoJo5f7LKcIi1Ev6doBVofMxs+njzyWKbM\n" +
- "Nb7rOLHadghoon0CQQDgQzbzzSN8Dc1YmmylhI5v+0sQRHH0DL7D24k4Weh4vInG\n" +
- "EAbt4x8M7ZKEo8/dv0s4hbmNmAnJl93/RRxIyEqLAkEA2g87DiswSQam2pZ8GlrO\n" +
- "+w4Qg9mH8uxx8ou2rl0XlHzH1XiTNbkjfY0EZoL7L31BHFk9n11Fb2P85g6ws+Hy\n" +
- "ywJAM/xgyLNM/nzUlS128geAXUULaYH0SHaL4isJ7B4rXZGW/mrIsGxtzjlkNYsj\n" +
- "rGujrD6TfNc5rZmexIXowJZtcQJBAIww+pCzZ4mrgx5JXWQ8OZHiiu+ZrPOa2+9J\n" +
- "r5sOMpi+WGN/73S8oHqZbNjTINZ5OqEVJq8MchWZPQBTNXuQql0CQHEjUzzkCQa3\n" +
- "j6JTa2KAdqyvLOx0XF9zcc1gA069uNQI2gPUHS8V215z57f/gMGnDNhVfLs/vMKz\n" +
- "sFkVZ3zg7As=";
-
-
- public static void main(String args[]) throws Exception {
- // MD5 is used in this test case, don't disable MD5 algorithm.
- Security.setProperty(
- "jdk.certpath.disabledAlgorithms", "MD2, RSA keySize < 1024");
-
- // generate certificate from cert string
- CertificateFactory cf = CertificateFactory.getInstance("X.509");
-
- // create a set of trust anchors
- LinkedHashSet<TrustAnchor> trustAnchors = new LinkedHashSet<>();
-
- ByteArrayInputStream is =
- new ByteArrayInputStream(NoiceTrusedCertStr.getBytes());
- Certificate trustedCert = cf.generateCertificate(is);
- is.close();
- TrustAnchor anchor =
- new TrustAnchor((X509Certificate)trustedCert, null);
- trustAnchors.add(anchor);
-
- is = new ByteArrayInputStream(trustedCertStr.getBytes());
- trustedCert = cf.generateCertificate(is);
- is.close();
- anchor = new TrustAnchor((X509Certificate)trustedCert, null);
- trustAnchors.add(anchor);
-
- is = new ByteArrayInputStream(NoiceTrusedCertStr_2nd.getBytes());
- trustedCert = cf.generateCertificate(is);
- is.close();
- anchor = new TrustAnchor((X509Certificate)trustedCert, null);
- trustAnchors.add(anchor);
-
- // create a list of certificates
- List<Certificate> chainList = new ArrayList<>();
-
- is = new ByteArrayInputStream(targetCertStr.getBytes());
- Certificate cert = cf.generateCertificate(is);
- is.close();
- chainList.add(cert);
-
- is = new ByteArrayInputStream(certIssuerStr.getBytes());
- cert = cf.generateCertificate(is);
- is.close();
- chainList.add(cert);
-
- is = new ByteArrayInputStream(caSignerStr.getBytes());
- cert = cf.generateCertificate(is);
- is.close();
- chainList.add(cert);
-
- // create a certificate selector
- X509CertSelector xcs = new X509CertSelector();
- X509Certificate eeCert = (X509Certificate)chainList.get(0);
- xcs.setSubject(eeCert.getSubjectX500Principal());
-
- // reverse build
- SunCertPathBuilderParameters params =
- new SunCertPathBuilderParameters(trustAnchors, xcs);
- params.setBuildForward(false);
- params.setRevocationEnabled(false);
-
- CollectionCertStoreParameters ccsp =
- new CollectionCertStoreParameters(chainList);
- params.addCertStore(CertStore.getInstance("Collection", ccsp));
-
- CertPathBuilder cpb = CertPathBuilder.getInstance("PKIX");
- CertPathBuilderResult res = cpb.build(params);
- }
-}
Binary file jdk/test/sun/security/provider/certpath/ReverseBuilder/mgrM2leadMA has changed
Binary file jdk/test/sun/security/provider/certpath/ReverseBuilder/mgrM2mgrM has changed
Binary file jdk/test/sun/security/provider/certpath/ReverseBuilder/mgrM2prjM has changed
Binary file jdk/test/sun/security/provider/certpath/ReverseBuilder/mgrMcrl has changed
Binary file jdk/test/sun/security/provider/certpath/ReverseBuilder/prjM2divE has changed
Binary file jdk/test/sun/security/provider/certpath/ReverseBuilder/prjM2mgrM has changed
Binary file jdk/test/sun/security/provider/certpath/ReverseBuilder/prjMcrl has changed
--- a/jdk/test/tools/launcher/ExecutionEnvironment.java Fri Apr 24 15:45:25 2015 +0300
+++ b/jdk/test/tools/launcher/ExecutionEnvironment.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -184,15 +184,7 @@
Map<String, String> env = new HashMap<>();
- if (TestHelper.isLinux || TestHelper.isMacOSX || TestHelper.isAIX) {
- for (String x : LD_PATH_STRINGS) {
- String pairs[] = x.split("=");
- env.put(pairs[0], pairs[1]);
- }
-
- tr = doExec(env, javaCmd, "-jar", testJarFile.getAbsolutePath());
- verifyJavaLibraryPathGeneric(tr);
- } else { // Solaris
+ if (TestHelper.isSolaris) {
// no override
env.clear();
env.put(LD_LIBRARY_PATH, LD_LIBRARY_PATH_VALUE);
@@ -208,6 +200,14 @@
// verify the override occurs for 64-bit system
tr = doExec(env, javaCmd, "-jar", testJarFile.getAbsolutePath());
verifyJavaLibraryPathOverride(tr, false);
+ } else {
+ for (String x : LD_PATH_STRINGS) {
+ String pairs[] = x.split("=");
+ env.put(pairs[0], pairs[1]);
+ }
+
+ tr = doExec(env, javaCmd, "-jar", testJarFile.getAbsolutePath());
+ verifyJavaLibraryPathGeneric(tr);
}
}
--- a/langtools/.hgtags Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/.hgtags Mon Apr 27 09:17:39 2015 -0700
@@ -302,3 +302,5 @@
ec977a00cecbf0007b0fa26c7af2852d57a79cad jdk9-b57
07ce89fec30165a2f1212047bd23b30086ed1e74 jdk9-b58
a598534d277e170a0bbf177bd54d9d179245532b jdk9-b59
+81bdc4545337c404bb87373838c983584a49afd6 jdk9-b60
+0eb91327db5a840779cc5c35b9b858d6ef7959d1 jdk9-b61
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/Checker.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/Checker.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -108,6 +108,7 @@
public enum Flag {
TABLE_HAS_CAPTION,
HAS_ELEMENT,
+ HAS_HEADING,
HAS_INLINE_TAG,
HAS_TEXT,
REPORTED_BAD_INLINE
@@ -282,6 +283,8 @@
final HtmlTag t = HtmlTag.get(treeName);
if (t == null) {
env.messages.error(HTML, tree, "dc.tag.unknown", treeName);
+ } else if (t.allowedVersion != HtmlVersion.ALL && t.allowedVersion != env.htmlVersion) {
+ env.messages.error(HTML, tree, "dc.tag.not.supported", treeName);
} else {
boolean done = false;
for (TagStackItem tsi: tagStack) {
@@ -345,6 +348,12 @@
parent.flags.add(Flag.TABLE_HAS_CAPTION);
break;
+ case H1: case H2: case H3: case H4: case H5: case H6:
+ if (parent != null && (parent.tag == HtmlTag.SECTION || parent.tag == HtmlTag.ARTICLE)) {
+ parent.flags.add(Flag.HAS_HEADING);
+ }
+ break;
+
case IMG:
if (!top.attrs.contains(HtmlTag.Attr.ALT))
env.messages.error(ACCESSIBILITY, tree, "dc.no.alt.attr.for.image");
@@ -460,6 +469,14 @@
env.messages.error(ACCESSIBILITY, tree,
"dc.no.summary.or.caption.for.table");
}
+ break;
+
+ case SECTION:
+ case ARTICLE:
+ if (env.htmlVersion == HtmlVersion.HTML5 && !top.flags.contains(Flag.HAS_HEADING)) {
+ env.messages.error(HTML, tree, "dc.tag.requires.heading", treeName);
+ }
+ break;
}
warnIfEmpty(top, tree);
tagStack.pop();
@@ -519,25 +536,21 @@
Name name = tree.getName();
HtmlTag.Attr attr = currTag.getAttr(name);
if (attr != null) {
+ if (env.htmlVersion == HtmlVersion.HTML4 && attr.name().contains("-")) {
+ env.messages.error(HTML, tree, "dc.attr.not.supported.html4", name);
+ }
boolean first = tagStack.peek().attrs.add(attr);
if (!first)
env.messages.error(HTML, tree, "dc.attr.repeated", name);
}
AttrKind k = currTag.getAttrKind(name);
- switch (k) {
- case OK:
+ switch (env.htmlVersion) {
+ case HTML4:
+ validateHtml4Attrs(tree, name, k);
break;
- case INVALID:
- env.messages.error(HTML, tree, "dc.attr.unknown", name);
- break;
-
- case OBSOLETE:
- env.messages.warning(ACCESSIBILITY, tree, "dc.attr.obsolete", name);
- break;
-
- case USE_CSS:
- env.messages.warning(ACCESSIBILITY, tree, "dc.attr.obsolete.use.css", name);
+ case HTML5:
+ validateHtml5Attrs(tree, name, k);
break;
}
@@ -590,6 +603,20 @@
}
}
break;
+
+ case BORDER:
+ if (currTag == HtmlTag.TABLE) {
+ String v = getAttrValue(tree);
+ try {
+ if (env.htmlVersion == HtmlVersion.HTML5
+ && (v == null || (!v.isEmpty() && Integer.parseInt(v) != 1))) {
+ env.messages.error(HTML, tree, "dc.attr.table.border.html5", attr);
+ }
+ } catch (NumberFormatException ex) {
+ env.messages.error(HTML, tree, "dc.attr.table.border.html5", attr);
+ }
+ }
+ break;
}
}
}
@@ -599,6 +626,45 @@
return super.visitAttribute(tree, ignore);
}
+ private void validateHtml4Attrs(AttributeTree tree, Name name, AttrKind k) {
+ switch (k) {
+ case ALL:
+ case HTML4:
+ break;
+
+ case INVALID:
+ env.messages.error(HTML, tree, "dc.attr.unknown", name);
+ break;
+
+ case OBSOLETE:
+ env.messages.warning(ACCESSIBILITY, tree, "dc.attr.obsolete", name);
+ break;
+
+ case USE_CSS:
+ env.messages.warning(ACCESSIBILITY, tree, "dc.attr.obsolete.use.css", name);
+ break;
+
+ case HTML5:
+ env.messages.error(HTML, tree, "dc.attr.not.supported.html4", name);
+ break;
+ }
+ }
+
+ private void validateHtml5Attrs(AttributeTree tree, Name name, AttrKind k) {
+ switch (k) {
+ case ALL:
+ case HTML5:
+ break;
+
+ case INVALID:
+ case OBSOLETE:
+ case USE_CSS:
+ case HTML4:
+ env.messages.error(HTML, tree, "dc.attr.not.supported.html5", name);
+ break;
+ }
+ }
+
private boolean checkAnchor(String name) {
Element e = getEnclosingPackageOrClass(env.currElement);
if (e == null)
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -80,6 +80,7 @@
private static final String STATS = "-stats";
public static final String XIMPLICIT_HEADERS = "-XimplicitHeaders:";
public static final String XCUSTOM_TAGS_PREFIX = "-XcustomTags:";
+ public static final String XHTML_VERSION_PREFIX = "-XhtmlVersion:";
public static final String XCHECK_PACKAGE = "-XcheckPackage:";
public static final String SEPARATOR = ",";
@@ -210,6 +211,14 @@
env.messages.setOptions(arg.substring(arg.indexOf(":") + 1));
} else if (arg.startsWith(XCUSTOM_TAGS_PREFIX)) {
env.setCustomTags(arg.substring(arg.indexOf(":") + 1));
+ } else if (arg.startsWith(XHTML_VERSION_PREFIX)) {
+ String argsVersion = arg.substring(arg.indexOf(":") + 1);
+ HtmlVersion htmlVersion = HtmlVersion.getHtmlVersion(argsVersion);
+ if (htmlVersion != null) {
+ env.setHtmlVersion(htmlVersion);
+ } else {
+ throw new BadArgs("dc.bad.value.for.option", arg, argsVersion);
+ }
} else if (arg.equals("-h") || arg.equals("-help") || arg.equals("--help")
|| arg.equals("-?") || arg.equals("-usage")) {
needHelp = true;
@@ -274,6 +283,14 @@
env.setImplicitHeaders(Character.digit(ch, 10));
} else if (arg.startsWith(XCUSTOM_TAGS_PREFIX)) {
env.setCustomTags(arg.substring(arg.indexOf(":") + 1));
+ } else if (arg.startsWith(XHTML_VERSION_PREFIX)) {
+ String argsVersion = arg.substring(arg.indexOf(":") + 1);
+ HtmlVersion htmlVersion = HtmlVersion.getHtmlVersion(argsVersion);
+ if (htmlVersion != null) {
+ env.setHtmlVersion(htmlVersion);
+ } else {
+ throw new IllegalArgumentException(argsVersion);
+ }
} else if (arg.startsWith(XCHECK_PACKAGE)) {
env.setCheckPackages(arg.substring(arg.indexOf(":") + 1));
} else
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/Env.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/Env.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -99,6 +99,8 @@
Set<Pattern> includePackages;
Set<Pattern> excludePackages;
+ HtmlVersion htmlVersion = HtmlVersion.HTML4;
+
// Utility classes
DocTrees trees;
Elements elements;
@@ -193,6 +195,10 @@
return true;
}
+ void setHtmlVersion(HtmlVersion version) {
+ htmlVersion = version;
+ }
+
/** Set the current declaration and its doc comment. */
void setCurrent(TreePath path, DocCommentTree comment) {
currPath = path;
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/HtmlTag.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/HtmlTag.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -51,26 +51,37 @@
*
* @see <a href="http://www.w3.org/TR/REC-html40/">HTML 4.01 Specification</a>
* @see <a href="http://www.w3.org/TR/html5/">HTML 5 Specification</a>
+ * @see <a href="http://www.w3.org/TR/wai-aria/ ">WAI-ARIA Specification</a>
+ * @see <a href="http://www.w3.org/TR/aria-in-html/#recommendations-table">WAI-ARIA Recommendations Table</a>
* @author Bhavesh Patel
* @author Jonathan Gibbons (revised)
*/
public enum HtmlTag {
A(BlockType.INLINE, EndKind.REQUIRED,
- attrs(AttrKind.OK, HREF, TARGET, NAME)),
+ attrs(AttrKind.ALL, HREF, TARGET, ID),
+ attrs(AttrKind.HTML4, REV, CHARSET, SHAPE, COORDS, NAME)),
ABBR(BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
- ACRONYM(BlockType.INLINE, EndKind.REQUIRED,
+ ACRONYM(HtmlVersion.HTML4, BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
ADDRESS(BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+ ARTICLE(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED,
+ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)),
+
+ ASIDE(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED,
+ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)),
+
B(BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
- BIG(BlockType.INLINE, EndKind.REQUIRED,
+ BDI(HtmlVersion.HTML5, BlockType.INLINE, EndKind.REQUIRED),
+
+ BIG(HtmlVersion.HTML4, BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT)),
BLOCKQUOTE(BlockType.BLOCK, EndKind.REQUIRED,
@@ -82,9 +93,10 @@
attrs(AttrKind.USE_CSS, CLEAR)),
CAPTION(BlockType.TABLE_ITEM, EndKind.REQUIRED,
- EnumSet.of(Flag.ACCEPTS_INLINE, Flag.EXPECT_CONTENT)),
+ EnumSet.of(Flag.ACCEPTS_INLINE, Flag.EXPECT_CONTENT),
+ attrs(AttrKind.USE_CSS, ALIGN)),
- CENTER(BlockType.BLOCK, EndKind.REQUIRED,
+ CENTER(HtmlVersion.HTML4, BlockType.BLOCK, EndKind.REQUIRED,
EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)),
CITE(BlockType.INLINE, EndKind.REQUIRED,
@@ -93,18 +105,30 @@
CODE(BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+ COL(BlockType.TABLE_ITEM, EndKind.NONE,
+ attrs(AttrKind.HTML4, ALIGN, CHAR, CHAROFF, VALIGN, WIDTH)),
+
+ COLGROUP(BlockType.TABLE_ITEM, EndKind.REQUIRED,
+ attrs(AttrKind.HTML4, ALIGN, CHAR, CHAROFF, VALIGN, WIDTH)) {
+ @Override
+ public boolean accepts(HtmlTag t) {
+ return (t == COL);
+ }
+ },
+
DD(BlockType.LIST_ITEM, EndKind.OPTIONAL,
EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE, Flag.EXPECT_CONTENT)),
DEL(BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST),
- attrs(AttrKind.OK, Attr.CITE, Attr.DATETIME)),
+ attrs(AttrKind.ALL, Attr.CITE, Attr.DATETIME)),
DFN(BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
DIV(BlockType.BLOCK, EndKind.REQUIRED,
- EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)),
+ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE),
+ attrs(AttrKind.USE_CSS, ALIGN)),
DL(BlockType.BLOCK, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT),
@@ -121,49 +145,95 @@
EM(BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.NO_NEST)),
- FONT(BlockType.INLINE, EndKind.REQUIRED, // tag itself is deprecated
+ FONT(HtmlVersion.HTML4, BlockType.INLINE, EndKind.REQUIRED, // tag itself is deprecated
EnumSet.of(Flag.EXPECT_CONTENT),
attrs(AttrKind.USE_CSS, SIZE, COLOR, FACE)),
- FRAME(BlockType.OTHER, EndKind.NONE),
+ FOOTER(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED,
+ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)) {
+ @Override
+ public boolean accepts(HtmlTag t) {
+ switch (t) {
+ case HEADER: case FOOTER: case MAIN:
+ return false;
+ default:
+ return (t.blockType == BlockType.BLOCK) || (t.blockType == BlockType.INLINE);
+ }
+ }
+ },
- FRAMESET(BlockType.OTHER, EndKind.REQUIRED),
+ FIGURE(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED,
+ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)),
- H1(BlockType.BLOCK, EndKind.REQUIRED),
- H2(BlockType.BLOCK, EndKind.REQUIRED),
- H3(BlockType.BLOCK, EndKind.REQUIRED),
- H4(BlockType.BLOCK, EndKind.REQUIRED),
- H5(BlockType.BLOCK, EndKind.REQUIRED),
- H6(BlockType.BLOCK, EndKind.REQUIRED),
+ FIGCAPTION(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED),
+
+ FRAME(HtmlVersion.HTML4, BlockType.OTHER, EndKind.NONE),
+
+ FRAMESET(HtmlVersion.HTML4, BlockType.OTHER, EndKind.REQUIRED),
+
+ H1(BlockType.BLOCK, EndKind.REQUIRED,
+ attrs(AttrKind.USE_CSS, ALIGN)),
+ H2(BlockType.BLOCK, EndKind.REQUIRED,
+ attrs(AttrKind.USE_CSS, ALIGN)),
+ H3(BlockType.BLOCK, EndKind.REQUIRED,
+ attrs(AttrKind.USE_CSS, ALIGN)),
+ H4(BlockType.BLOCK, EndKind.REQUIRED,
+ attrs(AttrKind.USE_CSS, ALIGN)),
+ H5(BlockType.BLOCK, EndKind.REQUIRED,
+ attrs(AttrKind.USE_CSS, ALIGN)),
+ H6(BlockType.BLOCK, EndKind.REQUIRED,
+ attrs(AttrKind.USE_CSS, ALIGN)),
HEAD(BlockType.OTHER, EndKind.REQUIRED),
+ HEADER(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED,
+ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)) {
+ @Override
+ public boolean accepts(HtmlTag t) {
+ switch (t) {
+ case HEADER: case FOOTER: case MAIN:
+ return false;
+ default:
+ return (t.blockType == BlockType.BLOCK) || (t.blockType == BlockType.INLINE);
+ }
+ }
+ },
+
HR(BlockType.BLOCK, EndKind.NONE,
- attrs(AttrKind.OK, WIDTH)), // OK in 4.01; not allowed in 5
+ attrs(AttrKind.HTML4, WIDTH),
+ attrs(AttrKind.USE_CSS, ALIGN, NOSHADE, SIZE)),
HTML(BlockType.OTHER, EndKind.REQUIRED),
I(BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
+ IFRAME(BlockType.OTHER, EndKind.REQUIRED),
+
IMG(BlockType.INLINE, EndKind.NONE,
- attrs(AttrKind.OK, SRC, ALT, HEIGHT, WIDTH),
+ attrs(AttrKind.ALL, SRC, ALT, HEIGHT, WIDTH),
+ attrs(AttrKind.HTML5, CROSSORIGIN),
attrs(AttrKind.OBSOLETE, NAME),
attrs(AttrKind.USE_CSS, ALIGN, HSPACE, VSPACE, BORDER)),
INS(BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST),
- attrs(AttrKind.OK, Attr.CITE, Attr.DATETIME)),
+ attrs(AttrKind.ALL, Attr.CITE, Attr.DATETIME)),
KBD(BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
LI(BlockType.LIST_ITEM, EndKind.OPTIONAL,
EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE),
- attrs(AttrKind.OK, VALUE)),
+ attrs(AttrKind.ALL, VALUE),
+ attrs(AttrKind.USE_CSS, TYPE)),
LINK(BlockType.OTHER, EndKind.NONE),
+ MAIN(HtmlVersion.HTML5, BlockType.OTHER, EndKind.REQUIRED),
+
+ MARK(HtmlVersion.HTML5, BlockType.INLINE, EndKind.REQUIRED),
+
MENU(BlockType.BLOCK, EndKind.REQUIRED) {
@Override
public boolean accepts(HtmlTag t) {
@@ -173,13 +243,18 @@
META(BlockType.OTHER, EndKind.NONE),
- NOFRAMES(BlockType.OTHER, EndKind.REQUIRED),
+ NAV(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED,
+ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)),
+
+ NOFRAMES(HtmlVersion.HTML4, BlockType.OTHER, EndKind.REQUIRED),
NOSCRIPT(BlockType.BLOCK, EndKind.REQUIRED),
OL(BlockType.BLOCK, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT),
- attrs(AttrKind.OK, START, TYPE)) {
+ attrs(AttrKind.ALL, START, TYPE),
+ attrs(AttrKind.HTML5, REVERSED),
+ attrs(AttrKind.USE_CSS, COMPACT)) {
@Override
public boolean accepts(HtmlTag t) {
return (t == LI);
@@ -191,7 +266,8 @@
attrs(AttrKind.USE_CSS, ALIGN)),
PRE(BlockType.BLOCK, EndKind.REQUIRED,
- EnumSet.of(Flag.EXPECT_CONTENT)) {
+ EnumSet.of(Flag.EXPECT_CONTENT),
+ attrs(AttrKind.USE_CSS, WIDTH)) {
@Override
public boolean accepts(HtmlTag t) {
switch (t) {
@@ -214,13 +290,16 @@
SCRIPT(BlockType.OTHER, EndKind.REQUIRED),
+ SECTION(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED,
+ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)),
+
SMALL(BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT)),
SPAN(BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT)),
- STRIKE(BlockType.INLINE, EndKind.REQUIRED,
+ STRIKE(HtmlVersion.HTML4, BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT)),
STRONG(BlockType.INLINE, EndKind.REQUIRED,
@@ -234,13 +313,14 @@
TABLE(BlockType.BLOCK, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT),
- attrs(AttrKind.OK, SUMMARY, Attr.FRAME, RULES, BORDER,
- CELLPADDING, CELLSPACING, WIDTH), // width OK in 4.01; not allowed in 5
+ attrs(AttrKind.ALL, BORDER),
+ attrs(AttrKind.HTML4, SUMMARY, CELLPADDING, CELLSPACING, Attr.FRAME, RULES, WIDTH),
attrs(AttrKind.USE_CSS, ALIGN, BGCOLOR)) {
@Override
public boolean accepts(HtmlTag t) {
switch (t) {
case CAPTION:
+ case COLGROUP:
case THEAD: case TBODY: case TFOOT:
case TR: // HTML 3.2
return true;
@@ -252,7 +332,8 @@
TBODY(BlockType.TABLE_ITEM, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT),
- attrs(AttrKind.OK, ALIGN, CHAR, CHAROFF, VALIGN)) {
+ attrs(AttrKind.ALL, VALIGN),
+ attrs(AttrKind.HTML4, ALIGN, CHAR, CHAROFF)) {
@Override
public boolean accepts(HtmlTag t) {
return (t == TR);
@@ -261,12 +342,16 @@
TD(BlockType.TABLE_ITEM, EndKind.OPTIONAL,
EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE),
- attrs(AttrKind.OK, COLSPAN, ROWSPAN, HEADERS, SCOPE, Attr.ABBR, AXIS,
- ALIGN, CHAR, CHAROFF, VALIGN),
+ attrs(AttrKind.ALL, COLSPAN, ROWSPAN, HEADERS, VALIGN),
+ attrs(AttrKind.HTML4, AXIS, Attr.ABBR, SCOPE, ALIGN, CHAR, CHAROFF),
attrs(AttrKind.USE_CSS, WIDTH, BGCOLOR, HEIGHT, NOWRAP)),
+ TEMPLATE(HtmlVersion.HTML5, BlockType.BLOCK, EndKind.REQUIRED,
+ EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE)),
+
TFOOT(BlockType.TABLE_ITEM, EndKind.REQUIRED,
- attrs(AttrKind.OK, ALIGN, CHAR, CHAROFF, VALIGN)) {
+ attrs(AttrKind.ALL, VALIGN),
+ attrs(AttrKind.HTML4, ALIGN, CHAR, CHAROFF)) {
@Override
public boolean accepts(HtmlTag t) {
return (t == TR);
@@ -275,22 +360,27 @@
TH(BlockType.TABLE_ITEM, EndKind.OPTIONAL,
EnumSet.of(Flag.ACCEPTS_BLOCK, Flag.ACCEPTS_INLINE),
- attrs(AttrKind.OK, COLSPAN, ROWSPAN, HEADERS, SCOPE, Attr.ABBR, AXIS,
- ALIGN, CHAR, CHAROFF, VALIGN),
+ attrs(AttrKind.ALL, COLSPAN, ROWSPAN, HEADERS, SCOPE, Attr.ABBR,
+ VALIGN),
+ attrs(AttrKind.HTML4, AXIS, ALIGN, CHAR, CHAROFF),
attrs(AttrKind.USE_CSS, WIDTH, BGCOLOR, HEIGHT, NOWRAP)),
THEAD(BlockType.TABLE_ITEM, EndKind.REQUIRED,
- attrs(AttrKind.OK, ALIGN, CHAR, CHAROFF, VALIGN)) {
+ attrs(AttrKind.ALL, VALIGN),
+ attrs(AttrKind.HTML4, ALIGN, CHAR, CHAROFF)) {
@Override
public boolean accepts(HtmlTag t) {
return (t == TR);
}
},
+ TIME(HtmlVersion.HTML5, BlockType.INLINE, EndKind.REQUIRED),
+
TITLE(BlockType.OTHER, EndKind.REQUIRED),
TR(BlockType.TABLE_ITEM, EndKind.OPTIONAL,
- attrs(AttrKind.OK, ALIGN, CHAR, CHAROFF, VALIGN),
+ attrs(AttrKind.ALL, VALIGN),
+ attrs(AttrKind.HTML4, ALIGN, CHAR, CHAROFF),
attrs(AttrKind.USE_CSS, BGCOLOR)) {
@Override
public boolean accepts(HtmlTag t) {
@@ -298,7 +388,7 @@
}
},
- TT(BlockType.INLINE, EndKind.REQUIRED,
+ TT(HtmlVersion.HTML4, BlockType.INLINE, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT, Flag.NO_NEST)),
U(BlockType.INLINE, EndKind.REQUIRED,
@@ -306,13 +396,15 @@
UL(BlockType.BLOCK, EndKind.REQUIRED,
EnumSet.of(Flag.EXPECT_CONTENT),
- attrs(AttrKind.OK, COMPACT, TYPE)) { // OK in 4.01; not allowed in 5
+ attrs(AttrKind.HTML4, COMPACT, TYPE)) {
@Override
public boolean accepts(HtmlTag t) {
return (t == LI);
}
},
+ WBR(HtmlVersion.HTML5, BlockType.INLINE, EndKind.REQUIRED),
+
VAR(BlockType.INLINE, EndKind.REQUIRED);
/**
@@ -345,34 +437,66 @@
public static enum Attr {
ABBR,
ALIGN,
+ ALINK,
ALT,
+ ARIA_ACTIVEDESCENDANT,
+ ARIA_CONTROLS,
+ ARIA_DESCRIBEDBY,
+ ARIA_EXPANDED,
+ ARIA_LABEL,
+ ARIA_LABELLEDBY,
+ ARIA_LEVEL,
+ ARIA_MULTISELECTABLE,
+ ARIA_OWNS,
+ ARIA_POSINSET,
+ ARIA_SETSIZE,
+ ARIA_READONLY,
+ ARIA_REQUIRED,
+ ARIA_SELECTED,
+ ARIA_SORT,
AXIS,
+ BACKGROUND,
BGCOLOR,
BORDER,
CELLSPACING,
CELLPADDING,
CHAR,
CHAROFF,
+ CHARSET,
CITE,
CLEAR,
CLASS,
COLOR,
COLSPAN,
COMPACT,
+ COORDS,
+ CROSSORIGIN,
DATETIME,
FACE,
FRAME,
+ FRAMEBORDER,
HEADERS,
HEIGHT,
HREF,
HSPACE,
ID,
+ LINK,
+ LONGDESC,
+ MARGINHEIGHT,
+ MARGINWIDTH,
NAME,
+ NOSHADE,
NOWRAP,
+ PROFILE,
+ REV,
REVERSED,
+ ROLE,
ROWSPAN,
RULES,
+ SCHEME,
SCOPE,
+ SCROLLING,
+ SHAPE,
SIZE,
SPACE,
SRC,
@@ -380,14 +504,23 @@
STYLE,
SUMMARY,
TARGET,
+ TEXT,
TYPE,
VALIGN,
VALUE,
+ VERSION,
+ VLINK,
VSPACE,
WIDTH;
+ private final String name;
+
+ Attr() {
+ name = StringUtils.toLowerCase(name().replace("_", "-"));
+ }
+
public String getText() {
- return StringUtils.toLowerCase(name());
+ return name;
}
static final Map<String,Attr> index = new HashMap<>();
@@ -399,10 +532,12 @@
}
public static enum AttrKind {
+ HTML4,
+ HTML5,
INVALID,
OBSOLETE,
USE_CSS,
- OK
+ ALL
}
// This class exists to avoid warnings from using parameterized vararg type
@@ -415,25 +550,52 @@
}
+ public final HtmlVersion allowedVersion;
public final BlockType blockType;
public final EndKind endKind;
public final Set<Flag> flags;
private final Map<Attr,AttrKind> attrs;
HtmlTag(BlockType blockType, EndKind endKind, AttrMap... attrMaps) {
- this(blockType, endKind, Collections.<Flag>emptySet(), attrMaps);
+ this(HtmlVersion.ALL, blockType, endKind, Collections.<Flag>emptySet(), attrMaps);
+ }
+
+ HtmlTag(HtmlVersion allowedVersion, BlockType blockType, EndKind endKind, AttrMap... attrMaps) {
+ this(allowedVersion, blockType, endKind, Collections.<Flag>emptySet(), attrMaps);
}
HtmlTag(BlockType blockType, EndKind endKind, Set<Flag> flags, AttrMap... attrMaps) {
+ this(HtmlVersion.ALL, blockType, endKind, flags, attrMaps);
+ }
+
+ HtmlTag(HtmlVersion allowedVersion, BlockType blockType, EndKind endKind, Set<Flag> flags, AttrMap... attrMaps) {
+ this.allowedVersion = allowedVersion;
this.blockType = blockType;
this.endKind = endKind;
this.flags = flags;
this.attrs = new EnumMap<>(Attr.class);
for (Map<Attr,AttrKind> m: attrMaps)
this.attrs.putAll(m);
- attrs.put(Attr.CLASS, AttrKind.OK);
- attrs.put(Attr.ID, AttrKind.OK);
- attrs.put(Attr.STYLE, AttrKind.OK);
+ attrs.put(Attr.CLASS, AttrKind.ALL);
+ attrs.put(Attr.ID, AttrKind.ALL);
+ attrs.put(Attr.STYLE, AttrKind.ALL);
+ attrs.put(Attr.ROLE, AttrKind.HTML5);
+ // for now, assume that all ARIA attributes are allowed on all tags.
+ attrs.put(Attr.ARIA_ACTIVEDESCENDANT, AttrKind.HTML5);
+ attrs.put(Attr.ARIA_CONTROLS, AttrKind.HTML5);
+ attrs.put(Attr.ARIA_DESCRIBEDBY, AttrKind.HTML5);
+ attrs.put(Attr.ARIA_EXPANDED, AttrKind.HTML5);
+ attrs.put(Attr.ARIA_LABEL, AttrKind.HTML5);
+ attrs.put(Attr.ARIA_LABELLEDBY, AttrKind.HTML5);
+ attrs.put(Attr.ARIA_LEVEL, AttrKind.HTML5);
+ attrs.put(Attr.ARIA_MULTISELECTABLE, AttrKind.HTML5);
+ attrs.put(Attr.ARIA_OWNS, AttrKind.HTML5);
+ attrs.put(Attr.ARIA_POSINSET, AttrKind.HTML5);
+ attrs.put(Attr.ARIA_READONLY, AttrKind.HTML5);
+ attrs.put(Attr.ARIA_REQUIRED, AttrKind.HTML5);
+ attrs.put(Attr.ARIA_SELECTED, AttrKind.HTML5);
+ attrs.put(Attr.ARIA_SETSIZE, AttrKind.HTML5);
+ attrs.put(Attr.ARIA_SORT, AttrKind.HTML5);
}
public boolean accepts(HtmlTag t) {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/HtmlVersion.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.tools.doclint;
+
+/**
+ * Enum representing HTML version of the documentation comment.
+ *
+ * @author Bhavesh Patel
+ */
+public enum HtmlVersion {
+
+ HTML4,
+ HTML5,
+ ALL;
+
+ public static HtmlVersion getHtmlVersion(String argsVersion) {
+ switch (argsVersion) {
+ case "html4":
+ return HtmlVersion.HTML4;
+ case "html5":
+ return HtmlVersion.HTML5;
+ default:
+ return null;
+ }
+ }
+}
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint.properties Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint.properties Mon Apr 27 09:17:39 2015 -0700
@@ -27,9 +27,12 @@
dc.anchor.value.missing = no value given for anchor
dc.attr.lacks.value = attribute lacks value
dc.attr.not.number = attribute value is not a number
+dc.attr.not.supported.html4 = attribute not supported in HTML4: {0}
+dc.attr.not.supported.html5 = attribute not supported in HTML5: {0}
dc.attr.obsolete = attribute obsolete: {0}
dc.attr.obsolete.use.css = attribute obsolete, use CSS instead: {0}
dc.attr.repeated = repeated attribute: {0}
+dc.attr.table.border.html5 = attribute border for table only accepts "" or "1", use CSS instead: {0}
dc.attr.unknown = unknown attribute: {0}
dc.bad.option = bad option: {0}
dc.bad.value.for.option = bad value for option: {0} {1}
@@ -63,9 +66,11 @@
dc.tag.not.allowed.inline.other = block element not allowed here: {0}
dc.tag.not.closed= element not closed: {0}
dc.tag.p.in.pre= unexpected use of <p> inside <pre> element
+dc.tag.requires.heading = heading not found for </{0}>
dc.tag.self.closing = self-closing element not allowed
dc.tag.start.unmatched = end tag missing: </{0}>
dc.tag.unknown = unknown tag: {0}
+dc.tag.not.supported = tag not supported in the generated HTML version: {0}
dc.text.not.allowed = text not allowed in <{0}> element
dc.type.arg.not.allowed = type arguments not allowed here
dc.unexpected.comment=documentation comment not expected here
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java Mon Apr 27 09:17:39 2015 -0700
@@ -1293,9 +1293,21 @@
@DefinedBy(Api.LANGUAGE_MODEL)
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append(elemtype);
- appendAnnotationsString(sb, true);
- sb.append("[]");
+
+ // First append root component type
+ Type t = elemtype;
+ while (t.getKind() == TypeKind.ARRAY)
+ t = ((ArrayType) t).getComponentType();
+ sb.append(t);
+
+ // then append @Anno[] @Anno[] ... @Anno[]
+ t = this;
+ do {
+ t.appendAnnotationsString(sb, true);
+ sb.append("[]");
+ t = ((ArrayType) t).getComponentType();
+ } while (t.getKind() == TypeKind.ARRAY);
+
return sb.toString();
}
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java Mon Apr 27 09:17:39 2015 -0700
@@ -31,6 +31,7 @@
import com.sun.tools.javac.code.Scope.WriteableScope;
import com.sun.tools.javac.code.Symbol.*;
import com.sun.tools.javac.code.TypeMetadata.Entry.Kind;
+import com.sun.tools.javac.resources.CompilerProperties.Errors;
import com.sun.tools.javac.tree.JCTree;
import com.sun.tools.javac.tree.JCTree.*;
import com.sun.tools.javac.tree.TreeInfo;
@@ -778,9 +779,10 @@
Attribute.Compound c = new Attribute.Compound(targetContainerType, List.of(p));
JCAnnotation annoTree = m.Annotation(c);
- if (!chk.annotationApplicable(annoTree, on))
- log.error(annoTree.pos(), "invalid.repeatable.annotation.incompatible.target",
- targetContainerType, origAnnoType);
+ if (!chk.annotationApplicable(annoTree, on)) {
+ log.error(annoTree.pos(),
+ Errors.InvalidRepeatableAnnotationNotApplicable(targetContainerType, on));
+ }
if (!chk.validateAnnotationDeferErrors(annoTree))
log.error(annoTree.pos(), "duplicate.annotation.invalid.repeated", origAnnoType);
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java Mon Apr 27 09:17:39 2015 -0700
@@ -4657,7 +4657,7 @@
for (JCAnnotation ai : annotations) {
if (!ai.type.isErroneous() &&
typeAnnotations.annotationTargetType(ai.attribute, sym) == TypeAnnotations.AnnotationType.DECLARATION) {
- log.error(ai.pos(), "annotation.type.not.applicable");
+ log.error(ai.pos(), Errors.AnnotationTypeNotApplicableToType(ai.type));
}
}
}
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java Mon Apr 27 09:17:39 2015 -0700
@@ -2783,7 +2783,7 @@
if (a.hasTag(TYPE_ANNOTATION) &&
!a.annotationType.type.isErroneous() &&
!isTypeAnnotation(a, isTypeParameter)) {
- log.error(a.pos(), "annotation.type.not.applicable");
+ log.error(a.pos(), Errors.AnnotationTypeNotApplicableToType(a.type));
}
}
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -810,7 +810,9 @@
Infer infer = inferenceContext.infer();
for (Type b1 : uv.getBounds(InferenceBound.UPPER)) {
for (Type b2 : uv.getBounds(InferenceBound.LOWER)) {
- isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn , infer);
+ if (!isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn , infer)) {
+ infer.reportBoundError(uv, BoundErrorKind.BAD_UPPER_LOWER);
+ }
}
}
}
@@ -831,7 +833,9 @@
Infer infer = inferenceContext.infer();
for (Type b1 : uv.getBounds(InferenceBound.UPPER)) {
for (Type b2 : uv.getBounds(InferenceBound.EQ)) {
- isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn, infer);
+ if (!isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn, infer)) {
+ infer.reportBoundError(uv, BoundErrorKind.BAD_UPPER_EQUAL);
+ }
}
}
}
@@ -852,7 +856,9 @@
Infer infer = inferenceContext.infer();
for (Type b1 : uv.getBounds(InferenceBound.EQ)) {
for (Type b2 : uv.getBounds(InferenceBound.LOWER)) {
- isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn, infer);
+ if (!isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn, infer)) {
+ infer.reportBoundError(uv, BoundErrorKind.BAD_EQUAL_LOWER);
+ }
}
}
}
@@ -926,7 +932,9 @@
for (Type b1 : uv.getBounds(InferenceBound.EQ)) {
for (Type b2 : uv.getBounds(InferenceBound.EQ)) {
if (b1 != b2) {
- isSameType(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), infer);
+ if (!isSameType(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), infer)) {
+ infer.reportBoundError(uv, BoundErrorKind.BAD_EQ);
+ }
}
}
}
@@ -1235,6 +1243,46 @@
}
},
/**
+ * The (uninstantiated) inference variable has incompatible equality constraints.
+ */
+ BAD_EQ() {
+ @Override
+ InapplicableMethodException setMessage(InferenceException ex, UndetVar uv) {
+ return ex.setMessage("incompatible.eq.bounds", uv.qtype,
+ uv.getBounds(InferenceBound.EQ));
+ }
+ },
+ /**
+ * The (uninstantiated) inference variable has incompatible upper lower bounds.
+ */
+ BAD_UPPER_LOWER() {
+ @Override
+ InapplicableMethodException setMessage(InferenceException ex, UndetVar uv) {
+ return ex.setMessage("incompatible.upper.lower.bounds", uv.qtype,
+ uv.getBounds(InferenceBound.UPPER), uv.getBounds(InferenceBound.LOWER));
+ }
+ },
+ /**
+ * The (uninstantiated) inference variable has incompatible upper equal bounds.
+ */
+ BAD_UPPER_EQUAL() {
+ @Override
+ InapplicableMethodException setMessage(InferenceException ex, UndetVar uv) {
+ return ex.setMessage("incompatible.upper.eq.bounds", uv.qtype,
+ uv.getBounds(InferenceBound.UPPER), uv.getBounds(InferenceBound.EQ));
+ }
+ },
+ /**
+ * The (uninstantiated) inference variable has incompatible upper equal bounds.
+ */
+ BAD_EQUAL_LOWER() {
+ @Override
+ InapplicableMethodException setMessage(InferenceException ex, UndetVar uv) {
+ return ex.setMessage("incompatible.eq.lower.bounds", uv.qtype,
+ uv.getBounds(InferenceBound.EQ), uv.getBounds(InferenceBound.LOWER));
+ }
+ },
+ /**
* An equality constraint is not compatible with an upper bound.
*/
BAD_EQ_UPPER() {
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java Mon Apr 27 09:17:39 2015 -0700
@@ -833,20 +833,19 @@
List<Type> formals,
Warner warn) {
super.argumentsAcceptable(env, deferredAttrContext, argtypes, formals, warn);
- //should we expand formals?
+ // should we check varargs element type accessibility?
if (deferredAttrContext.phase.isVarargsRequired()) {
- Type typeToCheck = null;
- if (!checkVarargsAccessAfterResolution) {
- typeToCheck = types.elemtype(formals.last());
- } else if (deferredAttrContext.mode == AttrMode.CHECK) {
- typeToCheck = types.erasure(types.elemtype(formals.last()));
- }
- if (typeToCheck != null) {
- varargsAccessible(env, typeToCheck, deferredAttrContext.inferenceContext);
+ if (deferredAttrContext.mode == AttrMode.CHECK || !checkVarargsAccessAfterResolution) {
+ varargsAccessible(env, types.elemtype(formals.last()), deferredAttrContext.inferenceContext);
}
}
}
+ /**
+ * Test that the runtime array element type corresponding to 't' is accessible. 't' should be the
+ * varargs element type of either the method invocation type signature (after inference completes)
+ * or the method declaration signature (before inference completes).
+ */
private void varargsAccessible(final Env<AttrContext> env, final Type t, final InferenceContext inferenceContext) {
if (inferenceContext.free(t)) {
inferenceContext.addFreeTypeListener(List.of(t), new FreeTypeListener() {
@@ -856,7 +855,7 @@
}
});
} else {
- if (!isAccessible(env, t)) {
+ if (!isAccessible(env, types.erasure(t))) {
Symbol location = env.enclClass.sym;
reportMC(env.tree, MethodCheckDiag.INACCESSIBLE_VARARGS, inferenceContext, t, Kinds.kindName(location), location);
}
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Main.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/Main.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -222,6 +222,11 @@
if (args.isEmpty())
return Result.OK;
+ // init Depeendencies
+ if (options.isSet("completionDeps")) {
+ Dependencies.GraphDependencies.preRegister(context);
+ }
+
// init plugins
Set<List<String>> pluginOpts = args.getPluginOpts();
if (!pluginOpts.isEmpty()) {
@@ -229,6 +234,9 @@
t.initPlugins(pluginOpts);
}
+ // init JavaCompiler
+ JavaCompiler comp = JavaCompiler.instance(context);
+
// init doclint
List<String> docLintOpts = args.getDocLintOpts();
if (!docLintOpts.isEmpty()) {
@@ -236,13 +244,6 @@
t.initDocLint(docLintOpts);
}
- // init Depeendencies
- if (options.isSet("completionDeps")) {
- Dependencies.GraphDependencies.preRegister(context);
- }
-
- // init JavaCompiler
- JavaCompiler comp = JavaCompiler.instance(context);
if (options.get(Option.XSTDOUT) != null) {
// Stdout reassigned - ask compiler to close it when it is done
comp.closeables = comp.closeables.prepend(log.getWriter(WriterKind.NOTICE));
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties Mon Apr 27 09:17:39 2015 -0700
@@ -123,6 +123,10 @@
compiler.err.annotation.type.not.applicable=\
annotation type not applicable to this kind of declaration
+# 0: type
+compiler.err.annotation.type.not.applicable.to.type=\
+ annotation @{0} not applicable in this type context
+
compiler.err.annotation.value.must.be.annotation=\
annotation value must be an annotation
@@ -406,6 +410,10 @@
compiler.err.invalid.repeatable.annotation.repeated.and.container.present=\
container {0} must not be present at the same time as the element it contains
+# 0: type, 1: symbol
+compiler.err.invalid.repeatable.annotation.not.applicable=\
+ container {0} is not applicable to element {1}
+
# 0: name
compiler.err.duplicate.class=\
duplicate class: {0}
@@ -1953,6 +1961,10 @@
compiler.misc.incompatible.upper.bounds=\
inference variable {0} has incompatible upper bounds {1}
+# 0: type, 1: list of type
+compiler.misc.incompatible.eq.bounds=\
+ inference variable {0} has incompatible equality constraints {1}
+
# 0: type, 1: list of type, 2: list of type
compiler.misc.incompatible.eq.upper.bounds=\
inference variable {0} has incompatible bounds\n\
@@ -1960,6 +1972,24 @@
upper bounds: {2}
# 0: type, 1: list of type, 2: list of type
+compiler.misc.incompatible.upper.lower.bounds=\
+ inference variable {0} has incompatible bounds\n\
+ upper bounds: {1}\n\
+ lower bounds: {2}
+
+# 0: type, 1: list of type, 2: list of type
+compiler.misc.incompatible.upper.eq.bounds=\
+ inference variable {0} has incompatible bounds\n\
+ upper bounds: {1}\n\
+ equality constraints: {2}
+
+# 0: type, 1: list of type, 2: list of type
+compiler.misc.incompatible.eq.lower.bounds=\
+ inference variable {0} has incompatible bounds\n\
+ equality constraints: {1}\n\
+ lower bounds: {2}
+
+# 0: type, 1: list of type, 2: list of type
compiler.misc.incompatible.eq.lower.bounds=\
inference variable {0} has incompatible bounds\n\
equality constraints: {1}\n\
@@ -2564,6 +2594,7 @@
compiler.misc.where.description.typevar.1=\
where {0} are type-variables:
+# 0: set of type
compiler.misc.where.description.intersection.1=\
where {0} are intersection types:
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties Mon Apr 27 09:17:39 2015 -0700
@@ -316,8 +316,8 @@
javac.msg.bug=\
An exception has occurred in the compiler ({0}). \
-Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) \
-after checking the Bug Parade for duplicates. \
+Please file a bug at the Java Bug Database (http://bugreport.java.com/bugreport/) \
+after checking the database for duplicates. \
Include your program and the following diagnostic in your report. Thank you.
javac.msg.io=\
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -415,8 +415,10 @@
protected void addDeprecatedAPI(List<Doc> deprmembers, String headingKey,
String tableSummary, String[] tableHeader, Content contentTree) {
if (deprmembers.size() > 0) {
- Content table = HtmlTree.TABLE(HtmlStyle.deprecatedSummary, 0, 3, 0, tableSummary,
- writer.getTableCaption(configuration.getResource(headingKey)));
+ Content caption = writer.getTableCaption(configuration.getResource(headingKey));
+ Content table = (configuration.isOutputHtml5())
+ ? HtmlTree.TABLE(HtmlStyle.deprecatedSummary, caption)
+ : HtmlTree.TABLE(HtmlStyle.deprecatedSummary, tableSummary, caption);
table.addContent(writer.getSummaryTableHeader(tableHeader, "col"));
Content tbody = new HtmlTree(HtmlTag.TBODY);
for (int i = 0; i < deprmembers.size(); i++) {
@@ -455,8 +457,10 @@
List<? extends ProgramElementDoc> members = mems;
boolean printedUseTableHeader = false;
if (members.size() > 0) {
- Content table = HtmlTree.TABLE(HtmlStyle.useSummary, 0, 3, 0, tableSummary,
- writer.getTableCaption(heading));
+ Content caption = writer.getTableCaption(heading);
+ Content table = (configuration.isOutputHtml5())
+ ? HtmlTree.TABLE(HtmlStyle.useSummary, caption)
+ : HtmlTree.TABLE(HtmlStyle.useSummary, tableSummary, caption);
Content tbody = new HtmlTree(HtmlTag.TBODY);
Iterator<? extends ProgramElementDoc> it = members.iterator();
for (int i = 0; it.hasNext(); i++) {
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -149,13 +149,17 @@
protected void addIndexContents(Collection<PackageDoc> packages, String text,
String tableSummary, Content body) {
if (!packages.isEmpty()) {
- HtmlTree div = new HtmlTree(HtmlTag.DIV);
- div.addStyle(HtmlStyle.indexHeader);
- addAllClassesLink(div);
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.NAV))
+ ? HtmlTree.NAV()
+ : new HtmlTree(HtmlTag.DIV);
+ htmlTree.addStyle(HtmlStyle.indexNav);
+ HtmlTree ul = new HtmlTree(HtmlTag.UL);
+ addAllClassesLink(ul);
if (configuration.showProfiles) {
- addAllProfilesLink(div);
+ addAllProfilesLink(ul);
}
- body.addContent(div);
+ htmlTree.addContent(ul);
+ body.addContent(htmlTree);
if (configuration.showProfiles && configuration.profilePackages.size() > 0) {
Content profileSummary = configuration.getResource("doclet.Profiles");
addProfilesList(profileSummary, body);
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractProfileIndexWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractProfileIndexWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015 Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -194,11 +194,15 @@
protected void addIndexContents(Profiles profiles, String text,
String tableSummary, Content body) {
if (profiles.getProfileCount() > 0) {
- HtmlTree div = new HtmlTree(HtmlTag.DIV);
- div.addStyle(HtmlStyle.indexHeader);
- addAllClassesLink(div);
- addAllPackagesLink(div);
- body.addContent(div);
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.NAV))
+ ? HtmlTree.NAV()
+ : new HtmlTree(HtmlTag.DIV);
+ htmlTree.addStyle(HtmlStyle.indexNav);
+ HtmlTree ul = new HtmlTree(HtmlTag.UL);
+ addAllClassesLink(ul);
+ addAllPackagesLink(ul);
+ htmlTree.addContent(ul);
+ body.addContent(htmlTree);
addProfilesList(profiles, text, tableSummary, body);
}
}
@@ -215,12 +219,16 @@
*/
protected void addProfilePackagesIndexContents(Profiles profiles, String text,
String tableSummary, Content body, String profileName) {
- HtmlTree div = new HtmlTree(HtmlTag.DIV);
- div.addStyle(HtmlStyle.indexHeader);
- addAllClassesLink(div);
- addAllPackagesLink(div);
- addAllProfilesLink(div);
- body.addContent(div);
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.NAV))
+ ? HtmlTree.NAV()
+ : new HtmlTree(HtmlTag.DIV);
+ htmlTree.addStyle(HtmlStyle.indexNav);
+ HtmlTree ul = new HtmlTree(HtmlTag.UL);
+ addAllClassesLink(ul);
+ addAllPackagesLink(ul);
+ addAllProfilesLink(ul);
+ htmlTree.addContent(ul);
+ body.addContent(htmlTree);
addProfilePackagesList(profiles, text, tableSummary, body, profileName);
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractTreeWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AbstractTreeWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -53,8 +53,6 @@
*/
protected final ClassTree classtree;
- private static final String LI_CIRCLE = "circle";
-
/**
* Constructor initializes classtree variable. This constructor will be used
* while generating global tree file "overview-tree.html".
@@ -88,7 +86,7 @@
Content ul = new HtmlTree(HtmlTag.UL);
for (ClassDoc local : list) {
HtmlTree li = new HtmlTree(HtmlTag.LI);
- li.addAttr(HtmlAttr.TYPE, LI_CIRCLE);
+ li.addStyle(HtmlStyle.circle);
addPartialInfo(local, li);
addExtendsImplements(parent, local, li);
addLevelInfo(local, classtree.subs(local, isEnum),
@@ -108,14 +106,24 @@
* @param heading heading for the tree
* @param div the content tree to which the tree will be added
*/
- protected void addTree(SortedSet<ClassDoc> list, String heading, Content div) {
+ protected void addTree(SortedSet<ClassDoc> list, String heading, HtmlTree div) {
if (!list.isEmpty()) {
ClassDoc firstClassDoc = list.first();
Content headingContent = getResource(heading);
- div.addContent(HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING, true,
- headingContent));
+ Content sectionHeading = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING, true,
+ headingContent);
+ HtmlTree htmlTree;
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ htmlTree = HtmlTree.SECTION(sectionHeading);
+ } else {
+ div.addContent(sectionHeading);
+ htmlTree = div;
+ }
addLevelInfo(!firstClassDoc.isInterface()? firstClassDoc : null,
- list, list == classtree.baseEnums(), div);
+ list, list == classtree.baseEnums(), htmlTree);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ div.addContent(htmlTree);
+ }
}
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -119,8 +119,10 @@
Content ul = new HtmlTree(HtmlTag.UL);
// Generate the class links and add it to the tdFont tree.
addAllClasses(ul, wantFrames);
- Content div = HtmlTree.DIV(HtmlStyle.indexContainer, ul);
- body.addContent(div);
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.MAIN))
+ ? HtmlTree.MAIN(HtmlStyle.indexContainer, ul)
+ : HtmlTree.DIV(HtmlStyle.indexContainer, ul);
+ body.addContent(htmlTree);
printHtmlDocument(null, false, body);
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeFieldWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeFieldWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015 Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -77,6 +77,13 @@
/**
* {@inheritDoc}
*/
+ public void addMemberTree(Content memberSummaryTree, Content memberTree) {
+ writer.addMemberTree(memberSummaryTree, memberTree);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public void addAnnotationFieldDetailsMarker(Content memberDetails) {
memberDetails.addContent(HtmlConstants.START_OF_ANNOTATION_TYPE_FIELD_DETAILS);
}
@@ -156,6 +163,10 @@
* {@inheritDoc}
*/
public Content getAnnotationDetails(Content annotationDetailsTree) {
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ HtmlTree htmlTree = HtmlTree.SECTION(getMemberTree(annotationDetailsTree));
+ return htmlTree;
+ }
return getMemberTree(annotationDetailsTree);
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -72,6 +72,13 @@
/**
* {@inheritDoc}
*/
+ public void addMemberTree(Content memberSummaryTree, Content memberTree) {
+ writer.addMemberTree(memberSummaryTree, memberTree);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public void addDefaultValueInfo(MemberDoc member, Content annotationDocTree) {
if (((AnnotationTypeElementDoc) member).defaultValue() != null) {
Content dt = HtmlTree.DT(writer.getResource("doclet.Default"));
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -78,6 +78,13 @@
/**
* {@inheritDoc}
*/
+ public void addMemberTree(Content memberSummaryTree, Content memberTree) {
+ writer.addMemberTree(memberSummaryTree, memberTree);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public void addAnnotationDetailsMarker(Content memberDetails) {
memberDetails.addContent(HtmlConstants.START_OF_ANNOTATION_TYPE_DETAILS);
}
@@ -158,6 +165,10 @@
* {@inheritDoc}
*/
public Content getAnnotationDetails(Content annotationDetailsTree) {
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ HtmlTree htmlTree = HtmlTree.SECTION(getMemberTree(annotationDetailsTree));
+ return htmlTree;
+ }
return getMemberTree(annotationDetailsTree);
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -151,9 +151,15 @@
String pkgname = (annotationType.containingPackage() != null)?
annotationType.containingPackage().name(): "";
String clname = annotationType.name();
- Content bodyTree = getBody(true, getWindowTitle(clname));
- addTop(bodyTree);
- addNavLinks(true, bodyTree);
+ HtmlTree bodyTree = getBody(true, getWindowTitle(clname));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : bodyTree;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ bodyTree.addContent(htmlTree);
+ }
bodyTree.addContent(HtmlConstants.START_OF_CLASS_DATA);
HtmlTree div = new HtmlTree(HtmlTag.DIV);
div.addStyle(HtmlStyle.header);
@@ -169,7 +175,11 @@
HtmlStyle.title, headerContent);
heading.addContent(getTypeParameterLinks(linkInfo));
div.addContent(heading);
- bodyTree.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(div);
+ } else {
+ bodyTree.addContent(div);
+ }
return bodyTree;
}
@@ -185,8 +195,14 @@
*/
public void addFooter(Content contentTree) {
contentTree.addContent(HtmlConstants.END_OF_CLASS_DATA);
- addNavLinks(false, contentTree);
- addBottom(contentTree);
+ Content htmlTree = (configuration.allowTag(HtmlTag.FOOTER))
+ ? HtmlTree.FOOTER()
+ : contentTree;
+ addNavLinks(false, htmlTree);
+ addBottom(htmlTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ contentTree.addContent(htmlTree);
+ }
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -91,6 +91,11 @@
final String constructorUseTableSummary;
/**
+ * The HTML tree for main tag.
+ */
+ protected HtmlTree mainTree = HtmlTree.MAIN();
+
+ /**
* Constructor.
*
* @param filename the file to be generated.
@@ -222,7 +227,7 @@
* Generate the class use list.
*/
protected void generateClassUseFile() throws IOException {
- Content body = getClassUseHeader();
+ HtmlTree body = getClassUseHeader();
HtmlTree div = new HtmlTree(HtmlTag.DIV);
div.addStyle(HtmlStyle.classUseContainer);
if (pkgSet.size() > 0) {
@@ -231,9 +236,20 @@
div.addContent(getResource("doclet.ClassUse_No.usage.of.0",
classdoc.qualifiedName()));
}
- body.addContent(div);
- addNavLinks(false, body);
- addBottom(body);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(div);
+ body.addContent(mainTree);
+ } else {
+ body.addContent(div);
+ }
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.FOOTER))
+ ? HtmlTree.FOOTER()
+ : body;
+ addNavLinks(false, htmlTree);
+ addBottom(htmlTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ body.addContent(htmlTree);
+ }
printHtmlDocument(null, true, body);
}
@@ -259,11 +275,12 @@
* @param contentTree the content tree to which the packages list will be added
*/
protected void addPackageList(Content contentTree) throws IOException {
- Content table = HtmlTree.TABLE(HtmlStyle.useSummary, 0, 3, 0, useTableSummary,
- getTableCaption(configuration.getResource(
+ Content caption = getTableCaption(configuration.getResource(
"doclet.ClassUse_Packages.that.use.0",
- getLink(new LinkInfoImpl(configuration, LinkInfoImpl.Kind.CLASS_USE_HEADER, classdoc
- )))));
+ getLink(new LinkInfoImpl(configuration, LinkInfoImpl.Kind.CLASS_USE_HEADER, classdoc))));
+ Content table = (configuration.isOutputHtml5())
+ ? HtmlTree.TABLE(HtmlStyle.useSummary, caption)
+ : HtmlTree.TABLE(HtmlStyle.useSummary, useTableSummary, caption);
table.addContent(getSummaryTableHeader(packageTableHeader, "col"));
Content tbody = new HtmlTree(HtmlTag.TBODY);
Iterator<PackageDoc> it = pkgSet.iterator();
@@ -294,11 +311,13 @@
pkgToPackageAnnotations.isEmpty()) {
return;
}
- Content table = HtmlTree.TABLE(HtmlStyle.useSummary, 0, 3, 0, useTableSummary,
- getTableCaption(configuration.getResource(
+ Content caption = getTableCaption(configuration.getResource(
"doclet.ClassUse_PackageAnnotation",
getLink(new LinkInfoImpl(configuration,
- LinkInfoImpl.Kind.CLASS_USE_HEADER, classdoc)))));
+ LinkInfoImpl.Kind.CLASS_USE_HEADER, classdoc))));
+ Content table = (configuration.isOutputHtml5())
+ ? HtmlTree.TABLE(HtmlStyle.useSummary, caption)
+ : HtmlTree.TABLE(HtmlStyle.useSummary, useTableSummary, caption);
table.addContent(getSummaryTableHeader(packageTableHeader, "col"));
Content tbody = new HtmlTree(HtmlTag.TBODY);
Iterator<PackageDoc> it = pkgToPackageAnnotations.iterator();
@@ -333,15 +352,22 @@
HtmlTree ul = new HtmlTree(HtmlTag.UL);
ul.addStyle(HtmlStyle.blockList);
for (PackageDoc pkg : pkgSet) {
- Content li = HtmlTree.LI(HtmlStyle.blockList, getMarkerAnchor(getPackageAnchorName(pkg)));
+ Content markerAnchor = getMarkerAnchor(getPackageAnchorName(pkg));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(markerAnchor)
+ : HtmlTree.LI(HtmlStyle.blockList, markerAnchor);
Content link = getResource("doclet.ClassUse_Uses.of.0.in.1",
getLink(new LinkInfoImpl(configuration, LinkInfoImpl.Kind.CLASS_USE_HEADER,
classdoc)),
getPackageLink(pkg, utils.getPackageName(pkg)));
Content heading = HtmlTree.HEADING(HtmlConstants.SUMMARY_HEADING, link);
- li.addContent(heading);
- addClassUse(pkg, li);
- ul.addContent(li);
+ htmlTree.addContent(heading);
+ addClassUse(pkg, htmlTree);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
}
Content li = HtmlTree.LI(HtmlStyle.blockList, ul);
contentTree.addContent(li);
@@ -443,15 +469,21 @@
*
* @return a content tree representing the class use header
*/
- protected Content getClassUseHeader() {
+ protected HtmlTree getClassUseHeader() {
String cltype = configuration.getText(classdoc.isInterface()?
"doclet.Interface":"doclet.Class");
String clname = classdoc.qualifiedName();
String title = configuration.getText("doclet.Window_ClassUse_Header",
cltype, clname);
- Content bodyTree = getBody(true, getWindowTitle(title));
- addTop(bodyTree);
- addNavLinks(true, bodyTree);
+ HtmlTree bodyTree = getBody(true, getWindowTitle(title));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : bodyTree;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ bodyTree.addContent(htmlTree);
+ }
ContentBuilder headContent = new ContentBuilder();
headContent.addContent(getResource("doclet.ClassUse_Title", cltype));
headContent.addContent(new HtmlTree(HtmlTag.BR));
@@ -459,7 +491,11 @@
Content heading = HtmlTree.HEADING(HtmlConstants.CLASS_PAGE_HEADING,
true, HtmlStyle.title, headContent);
Content div = HtmlTree.DIV(HtmlStyle.header, heading);
- bodyTree.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(div);
+ } else {
+ bodyTree.addContent(div);
+ }
return bodyTree;
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -35,6 +35,7 @@
import com.sun.tools.doclets.internal.toolkit.builders.*;
import com.sun.tools.doclets.internal.toolkit.taglets.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
+
import java.io.IOException;
/**
@@ -160,9 +161,15 @@
String pkgname = (classDoc.containingPackage() != null)?
classDoc.containingPackage().name(): "";
String clname = classDoc.name();
- Content bodyTree = getBody(true, getWindowTitle(clname));
- addTop(bodyTree);
- addNavLinks(true, bodyTree);
+ HtmlTree bodyTree = getBody(true, getWindowTitle(clname));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : bodyTree;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ bodyTree.addContent(htmlTree);
+ }
bodyTree.addContent(HtmlConstants.START_OF_CLASS_DATA);
HtmlTree div = new HtmlTree(HtmlTag.DIV);
div.addStyle(HtmlStyle.header);
@@ -194,7 +201,11 @@
HtmlStyle.title, headerContent);
heading.addContent(getTypeParameterLinks(linkInfo));
div.addContent(heading);
- bodyTree.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(div);
+ } else {
+ bodyTree.addContent(div);
+ }
return bodyTree;
}
@@ -210,8 +221,14 @@
*/
public void addFooter(Content contentTree) {
contentTree.addContent(HtmlConstants.END_OF_CLASS_DATA);
- addNavLinks(false, contentTree);
- addBottom(contentTree);
+ Content htmlTree = (configuration.allowTag(HtmlTag.FOOTER))
+ ? HtmlTree.FOOTER()
+ : contentTree;
+ addNavLinks(false, htmlTree);
+ addBottom(htmlTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ contentTree.addContent(htmlTree);
+ }
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -31,7 +31,7 @@
import javax.tools.JavaFileManager;
import com.sun.javadoc.*;
-import com.sun.tools.doclets.formats.html.markup.ContentBuilder;
+import com.sun.tools.doclets.formats.html.markup.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.tools.doclint.DocLint;
@@ -176,6 +176,11 @@
public boolean createoverview = false;
/**
+ * This is the HTML version of the generated pages. HTML 4.01 is the default output version.
+ */
+ public HtmlVersion htmlVersion = HtmlVersion.HTML4;
+
+ /**
* Collected set of doclint options
*/
public Set<String> doclintOpts = new LinkedHashSet<>();
@@ -279,6 +284,10 @@
nooverview = true;
} else if (opt.equals("-overview")) {
overview = true;
+ } else if (opt.equals("-html4")) {
+ htmlVersion = HtmlVersion.HTML4;
+ } else if (opt.equals("-html5")) {
+ htmlVersion = HtmlVersion.HTML5;
} else if (opt.equals("-xdoclint")) {
doclintOpts.add(null);
} else if (opt.startsWith("-xdoclint:")) {
@@ -300,7 +309,8 @@
setTopFile(root);
if (root instanceof RootDocImpl) {
- ((RootDocImpl) root).initDocLint(doclintOpts, tagletManager.getCustomTagNames());
+ ((RootDocImpl) root).initDocLint(doclintOpts, tagletManager.getCustomTagNames(),
+ StringUtils.toLowerCase(htmlVersion.name()));
}
}
@@ -336,6 +346,8 @@
option.equals("-use") ||
option.equals("-nonavbar") ||
option.equals("-nooverview") ||
+ option.equals("-html4") ||
+ option.equals("-html5") ||
option.equals("-xdoclint") ||
option.startsWith("-xdoclint:")) {
return 1;
@@ -471,6 +483,20 @@
}
/**
+ * Return true if the generated output is HTML5.
+ */
+ public boolean isOutputHtml5() {
+ return htmlVersion == HtmlVersion.HTML5;
+ }
+
+ /**
+ * Return true if the tag is allowed for this specific version of HTML.
+ */
+ public boolean allowTag(HtmlTag htmlTag) {
+ return htmlTag.allowTag(this.htmlVersion);
+ }
+
+ /**
* {@inheritDoc}
*/
@Override
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -63,6 +63,16 @@
private final String[] constantsTableHeader;
/**
+ * The HTML tree for main tag.
+ */
+ private HtmlTree mainTree = HtmlTree.MAIN();
+
+ /**
+ * The HTML tree for constant values summary.
+ */
+ private HtmlTree summaryTree;
+
+ /**
* Construct a ConstantsSummaryWriter.
* @param configuration the configuration used in this run
* of the standard doclet.
@@ -85,9 +95,15 @@
*/
public Content getHeader() {
String label = configuration.getText("doclet.Constants_Summary");
- Content bodyTree = getBody(true, getWindowTitle(label));
- addTop(bodyTree);
- addNavLinks(true, bodyTree);
+ HtmlTree bodyTree = getBody(true, getWindowTitle(label));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : bodyTree;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ bodyTree.addContent(htmlTree);
+ }
return bodyTree;
}
@@ -123,7 +139,7 @@
/**
* {@inheritDoc}
*/
- public Content getContentsList(Content contentListTree) {
+ public void addContentsList(Content contentTree, Content contentListTree) {
Content titleContent = getResource(
"doclet.Constants_Summary");
Content pHeading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, true,
@@ -131,10 +147,18 @@
Content div = HtmlTree.DIV(HtmlStyle.header, pHeading);
Content headingContent = getResource(
"doclet.Contents");
- div.addContent(HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING, true,
- headingContent));
- div.addContent(contentListTree);
- return div;
+ Content heading = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING, true,
+ headingContent);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ HtmlTree section = HtmlTree.SECTION(heading);
+ section.addContent(contentListTree);
+ div.addContent(section);
+ mainTree.addContent(div);
+ } else {
+ div.addContent(heading);
+ div.addContent(contentListTree);
+ contentTree.addContent(div);
+ }
}
/**
@@ -149,9 +173,11 @@
/**
* {@inheritDoc}
*/
- public void addPackageName(PackageDoc pkg, String parsedPackageName,
- Content summariesTree) {
+ public void addPackageName(String parsedPackageName, Content summariesTree, boolean first) {
Content pkgNameContent;
+ if (!first && configuration.allowTag(HtmlTag.SECTION)) {
+ summariesTree.addContent(summaryTree);
+ }
if (parsedPackageName.length() == 0) {
summariesTree.addContent(getMarkerAnchor(
SectionName.UNNAMED_PACKAGE_ANCHOR));
@@ -165,7 +191,11 @@
Content heading = HtmlTree.HEADING(HtmlConstants.PACKAGE_HEADING, true,
pkgNameContent);
heading.addContent(headingContent);
- summariesTree.addContent(heading);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ summaryTree = HtmlTree.SECTION(heading);
+ } else {
+ summariesTree.addContent(heading);
+ }
}
/**
@@ -178,6 +208,17 @@
}
/**
+ * {@inheritDoc}
+ */
+ public void addClassConstant(Content summariesTree, Content classConstantTree) {
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ summaryTree.addContent(classConstantTree);
+ } else {
+ summariesTree.addContent(classConstantTree);
+ }
+ }
+
+ /**
* Get the table caption and header for the constant summary table
*
* @param cd classdoc to be documented
@@ -208,8 +249,10 @@
* @return the table caption and header
*/
protected Content getClassName(Content classStr) {
- Content table = HtmlTree.TABLE(HtmlStyle.constantsSummary, 0, 3, 0, constantsTableSummary,
- getTableCaption(classStr));
+ Content caption = getTableCaption(classStr);
+ Content table = (configuration.isOutputHtml5())
+ ? HtmlTree.TABLE(HtmlStyle.constantsSummary, caption)
+ : HtmlTree.TABLE(HtmlStyle.constantsSummary, constantsTableSummary, caption);
table.addContent(getSummaryTableHeader(constantsTableHeader, "col"));
return table;
}
@@ -300,9 +343,30 @@
/**
* {@inheritDoc}
*/
+ public void addConstantSummaries(Content contentTree, Content summariesTree) {
+ if (configuration.allowTag(HtmlTag.SECTION) && summaryTree != null) {
+ summariesTree.addContent(summaryTree);
+ }
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(summariesTree);
+ contentTree.addContent(mainTree);
+ } else {
+ contentTree.addContent(summariesTree);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public void addFooter(Content contentTree) {
- addNavLinks(false, contentTree);
- addBottom(contentTree);
+ Content htmlTree = (configuration.allowTag(HtmlTag.FOOTER))
+ ? HtmlTree.FOOTER()
+ : contentTree;
+ addNavLinks(false, htmlTree);
+ addBottom(htmlTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ contentTree.addContent(htmlTree);
+ }
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -92,6 +92,13 @@
/**
* {@inheritDoc}
*/
+ public void addMemberTree(Content memberSummaryTree, Content memberTree) {
+ writer.addMemberTree(memberSummaryTree, memberTree);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public Content getConstructorDetailsTreeHeader(ClassDoc classDoc,
Content memberDetailsTree) {
memberDetailsTree.addContent(HtmlConstants.START_OF_CONSTRUCTOR_DETAILS);
@@ -177,6 +184,10 @@
* {@inheritDoc}
*/
public Content getConstructorDetails(Content constructorDetailsTree) {
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ HtmlTree htmlTree = HtmlTree.SECTION(getMemberTree(constructorDetailsTree));
+ return htmlTree;
+ }
return getMemberTree(constructorDetailsTree);
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -138,8 +138,11 @@
*/
protected void generateDeprecatedListFile(DeprecatedAPIListBuilder deprapi)
throws IOException {
- Content body = getHeader();
- body.addContent(getContentsList(deprapi));
+ HtmlTree body = getHeader();
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.MAIN))
+ ? HtmlTree.MAIN()
+ : body;
+ htmlTree.addContent(getContentsList(deprapi));
String memberTableSummary;
String[] memberTableHeader = new String[1];
HtmlTree div = new HtmlTree(HtmlTag.DIV);
@@ -164,9 +167,20 @@
HEADING_KEYS[i], memberTableSummary, memberTableHeader, div);
}
}
- body.addContent(div);
- addNavLinks(false, body);
- addBottom(body);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ htmlTree.addContent(div);
+ body.addContent(htmlTree);
+ } else {
+ body.addContent(div);
+ }
+ htmlTree = (configuration.allowTag(HtmlTag.FOOTER))
+ ? HtmlTree.FOOTER()
+ : body;
+ addNavLinks(false, htmlTree);
+ addBottom(htmlTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ body.addContent(htmlTree);
+ }
printHtmlDocument(null, true, body);
}
@@ -226,11 +240,17 @@
*
* @return a content tree for the header
*/
- public Content getHeader() {
+ public HtmlTree getHeader() {
String title = configuration.getText("doclet.Window_Deprecated_List");
- Content bodyTree = getBody(true, getWindowTitle(title));
- addTop(bodyTree);
- addNavLinks(true, bodyTree);
+ HtmlTree bodyTree = getBody(true, getWindowTitle(title));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : bodyTree;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ bodyTree.addContent(htmlTree);
+ }
return bodyTree;
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -69,6 +69,13 @@
/**
* {@inheritDoc}
*/
+ public void addMemberTree(Content memberSummaryTree, Content memberTree) {
+ writer.addMemberTree(memberSummaryTree, memberTree);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public Content getEnumConstantsDetailsTreeHeader(ClassDoc classDoc,
Content memberDetailsTree) {
memberDetailsTree.addContent(HtmlConstants.START_OF_ENUM_CONSTANT_DETAILS);
@@ -140,6 +147,10 @@
* {@inheritDoc}
*/
public Content getEnumConstantsDetails(Content enumConstantsDetailsTree) {
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ HtmlTree htmlTree = HtmlTree.SECTION(getMemberTree(enumConstantsDetailsTree));
+ return htmlTree;
+ }
return getMemberTree(enumConstantsDetailsTree);
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -70,6 +70,13 @@
/**
* {@inheritDoc}
*/
+ public void addMemberTree(Content memberSummaryTree, Content memberTree) {
+ writer.addMemberTree(memberSummaryTree, memberTree);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public Content getFieldDetailsTreeHeader(ClassDoc classDoc,
Content memberDetailsTree) {
memberDetailsTree.addContent(HtmlConstants.START_OF_FIELD_DETAILS);
@@ -161,6 +168,10 @@
* {@inheritDoc}
*/
public Content getFieldDetails(Content fieldDetailsTree) {
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ HtmlTree htmlTree = HtmlTree.SECTION(getMemberTree(fieldDetailsTree));
+ return htmlTree;
+ }
return getMemberTree(fieldDetailsTree);
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -96,7 +96,12 @@
protected void generateFrameFile() throws IOException {
Content frame = getFrameDetails();
HtmlTree body = new HtmlTree(HtmlTag.BODY);
- body.addContent(frame);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ HtmlTree main = HtmlTree.MAIN(frame);
+ body.addContent(main);
+ } else {
+ body.addContent(frame);
+ }
if (configuration.windowtitle.length() > 0) {
printFramesDocument(configuration.windowtitle, configuration,
body);
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -44,6 +44,8 @@
*/
public class HelpWriter extends HtmlDocletWriter {
+ HtmlTree mainTree = HtmlTree.MAIN();
+
/**
* Constructor to construct HelpWriter object.
* @param filename File to be generated.
@@ -81,12 +83,24 @@
*/
protected void generateHelpFile() throws IOException {
String title = configuration.getText("doclet.Window_Help_title");
- Content body = getBody(true, getWindowTitle(title));
- addTop(body);
- addNavLinks(true, body);
+ HtmlTree body = getBody(true, getWindowTitle(title));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : body;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ body.addContent(htmlTree);
+ }
addHelpFileContents(body);
- addNavLinks(false, body);
- addBottom(body);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ htmlTree = HtmlTree.FOOTER();
+ }
+ addNavLinks(false, htmlTree);
+ addBottom(htmlTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ body.addContent(htmlTree);
+ }
printHtmlDocument(null, true, body);
}
@@ -105,26 +119,39 @@
Content line2 = HtmlTree.DIV(HtmlStyle.subTitle,
getResource("doclet.Help_line_2"));
div.addContent(line2);
- contentTree.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(div);
+ } else {
+ contentTree.addContent(div);
+ }
+ HtmlTree htmlTree;
HtmlTree ul = new HtmlTree(HtmlTag.UL);
ul.addStyle(HtmlStyle.blockList);
if (configuration.createoverview) {
Content overviewHeading = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
getResource("doclet.Overview"));
- Content liOverview = HtmlTree.LI(HtmlStyle.blockList, overviewHeading);
+ htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(overviewHeading)
+ : HtmlTree.LI(HtmlStyle.blockList, overviewHeading);
Content line3 = getResource("doclet.Help_line_3",
getHyperLink(DocPaths.OVERVIEW_SUMMARY,
configuration.getText("doclet.Overview")));
Content overviewPara = HtmlTree.P(line3);
- liOverview.addContent(overviewPara);
- ul.addContent(liOverview);
+ htmlTree.addContent(overviewPara);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
}
Content packageHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
getResource("doclet.Package"));
- Content liPackage = HtmlTree.LI(HtmlStyle.blockList, packageHead);
+ htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(packageHead)
+ : HtmlTree.LI(HtmlStyle.blockList, packageHead);
Content line4 = getResource("doclet.Help_line_4");
Content packagePara = HtmlTree.P(line4);
- liPackage.addContent(packagePara);
+ htmlTree.addContent(packagePara);
HtmlTree ulPackage = new HtmlTree(HtmlTag.UL);
ulPackage.addContent(HtmlTree.LI(
getResource("doclet.Interfaces_Italic")));
@@ -138,14 +165,20 @@
getResource("doclet.Errors")));
ulPackage.addContent(HtmlTree.LI(
getResource("doclet.AnnotationTypes")));
- liPackage.addContent(ulPackage);
- ul.addContent(liPackage);
+ htmlTree.addContent(ulPackage);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
Content classHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
getResource("doclet.Help_line_5"));
- Content liClass = HtmlTree.LI(HtmlStyle.blockList, classHead);
+ htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(classHead)
+ : HtmlTree.LI(HtmlStyle.blockList, classHead);
Content line6 = getResource("doclet.Help_line_6");
Content classPara = HtmlTree.P(line6);
- liClass.addContent(classPara);
+ htmlTree.addContent(classPara);
HtmlTree ul1 = new HtmlTree(HtmlTag.UL);
ul1.addContent(HtmlTree.LI(
getResource("doclet.Help_line_7")));
@@ -159,7 +192,7 @@
getResource("doclet.Help_line_11")));
ul1.addContent(HtmlTree.LI(
getResource("doclet.Help_line_12")));
- liClass.addContent(ul1);
+ htmlTree.addContent(ul1);
HtmlTree ul2 = new HtmlTree(HtmlTag.UL);
ul2.addContent(HtmlTree.LI(
getResource("doclet.Nested_Class_Summary")));
@@ -169,7 +202,7 @@
getResource("doclet.Constructor_Summary")));
ul2.addContent(HtmlTree.LI(
getResource("doclet.Method_Summary")));
- liClass.addContent(ul2);
+ htmlTree.addContent(ul2);
HtmlTree ul3 = new HtmlTree(HtmlTag.UL);
ul3.addContent(HtmlTree.LI(
getResource("doclet.Field_Detail")));
@@ -177,18 +210,24 @@
getResource("doclet.Constructor_Detail")));
ul3.addContent(HtmlTree.LI(
getResource("doclet.Method_Detail")));
- liClass.addContent(ul3);
+ htmlTree.addContent(ul3);
Content line13 = getResource("doclet.Help_line_13");
Content para = HtmlTree.P(line13);
- liClass.addContent(para);
- ul.addContent(liClass);
+ htmlTree.addContent(para);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
//Annotation Types
Content aHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
getResource("doclet.AnnotationType"));
- Content liAnnotation = HtmlTree.LI(HtmlStyle.blockList, aHead);
+ htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(aHead)
+ : HtmlTree.LI(HtmlStyle.blockList, aHead);
Content aline1 = getResource("doclet.Help_annotation_type_line_1");
Content aPara = HtmlTree.P(aline1);
- liAnnotation.addContent(aPara);
+ htmlTree.addContent(aPara);
HtmlTree aul = new HtmlTree(HtmlTag.UL);
aul.addContent(HtmlTree.LI(
getResource("doclet.Help_annotation_type_line_2")));
@@ -200,15 +239,21 @@
getResource("doclet.Annotation_Type_Optional_Member_Summary")));
aul.addContent(HtmlTree.LI(
getResource("doclet.Annotation_Type_Member_Detail")));
- liAnnotation.addContent(aul);
- ul.addContent(liAnnotation);
+ htmlTree.addContent(aul);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
//Enums
Content enumHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
getResource("doclet.Enum"));
- Content liEnum = HtmlTree.LI(HtmlStyle.blockList, enumHead);
+ htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(enumHead)
+ : HtmlTree.LI(HtmlStyle.blockList, enumHead);
Content eline1 = getResource("doclet.Help_enum_line_1");
Content enumPara = HtmlTree.P(eline1);
- liEnum.addContent(enumPara);
+ htmlTree.addContent(enumPara);
HtmlTree eul = new HtmlTree(HtmlTag.UL);
eul.addContent(HtmlTree.LI(
getResource("doclet.Help_enum_line_2")));
@@ -218,46 +263,68 @@
getResource("doclet.Enum_Constant_Summary")));
eul.addContent(HtmlTree.LI(
getResource("doclet.Enum_Constant_Detail")));
- liEnum.addContent(eul);
- ul.addContent(liEnum);
+ htmlTree.addContent(eul);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
if (configuration.classuse) {
Content useHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
getResource("doclet.Help_line_14"));
- Content liUse = HtmlTree.LI(HtmlStyle.blockList, useHead);
+ htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(useHead)
+ : HtmlTree.LI(HtmlStyle.blockList, useHead);
Content line15 = getResource("doclet.Help_line_15");
Content usePara = HtmlTree.P(line15);
- liUse.addContent(usePara);
- ul.addContent(liUse);
+ htmlTree.addContent(usePara);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
}
if (configuration.createtree) {
Content treeHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
getResource("doclet.Help_line_16"));
- Content liTree = HtmlTree.LI(HtmlStyle.blockList, treeHead);
+ htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(treeHead)
+ : HtmlTree.LI(HtmlStyle.blockList, treeHead);
Content line17 = getResource("doclet.Help_line_17_with_tree_link",
getHyperLink(DocPaths.OVERVIEW_TREE,
configuration.getText("doclet.Class_Hierarchy")),
HtmlTree.CODE(new StringContent("java.lang.Object")));
Content treePara = HtmlTree.P(line17);
- liTree.addContent(treePara);
+ htmlTree.addContent(treePara);
HtmlTree tul = new HtmlTree(HtmlTag.UL);
tul.addContent(HtmlTree.LI(
getResource("doclet.Help_line_18")));
tul.addContent(HtmlTree.LI(
getResource("doclet.Help_line_19")));
- liTree.addContent(tul);
- ul.addContent(liTree);
+ htmlTree.addContent(tul);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
}
if (!(configuration.nodeprecatedlist ||
configuration.nodeprecated)) {
Content dHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
getResource("doclet.Deprecated_API"));
- Content liDeprecated = HtmlTree.LI(HtmlStyle.blockList, dHead);
+ htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(dHead)
+ : HtmlTree.LI(HtmlStyle.blockList, dHead);
Content line20 = getResource("doclet.Help_line_20_with_deprecated_api_link",
getHyperLink(DocPaths.DEPRECATED_LIST,
configuration.getText("doclet.Deprecated_API")));
Content dPara = HtmlTree.P(line20);
- liDeprecated.addContent(dPara);
- ul.addContent(liDeprecated);
+ htmlTree.addContent(dPara);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
}
if (configuration.createindex) {
Content indexlink;
@@ -270,55 +337,96 @@
}
Content indexHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
getResource("doclet.Help_line_21"));
- Content liIndex = HtmlTree.LI(HtmlStyle.blockList, indexHead);
+ htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(indexHead)
+ : HtmlTree.LI(HtmlStyle.blockList, indexHead);
Content line22 = getResource("doclet.Help_line_22", indexlink);
Content indexPara = HtmlTree.P(line22);
- liIndex.addContent(indexPara);
- ul.addContent(liIndex);
+ htmlTree.addContent(indexPara);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
}
Content prevHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
getResource("doclet.Help_line_23"));
- Content liPrev = HtmlTree.LI(HtmlStyle.blockList, prevHead);
+ htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(prevHead)
+ : HtmlTree.LI(HtmlStyle.blockList, prevHead);
Content line24 = getResource("doclet.Help_line_24");
Content prevPara = HtmlTree.P(line24);
- liPrev.addContent(prevPara);
- ul.addContent(liPrev);
+ htmlTree.addContent(prevPara);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
Content frameHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
getResource("doclet.Help_line_25"));
- Content liFrame = HtmlTree.LI(HtmlStyle.blockList, frameHead);
+ htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(frameHead)
+ : HtmlTree.LI(HtmlStyle.blockList, frameHead);
Content line26 = getResource("doclet.Help_line_26");
Content framePara = HtmlTree.P(line26);
- liFrame.addContent(framePara);
- ul.addContent(liFrame);
+ htmlTree.addContent(framePara);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
Content allclassesHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
getResource("doclet.All_Classes"));
- Content liAllClasses = HtmlTree.LI(HtmlStyle.blockList, allclassesHead);
+ htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(allclassesHead)
+ : HtmlTree.LI(HtmlStyle.blockList, allclassesHead);
Content line27 = getResource("doclet.Help_line_27",
getHyperLink(DocPaths.ALLCLASSES_NOFRAME,
configuration.getText("doclet.All_Classes")));
Content allclassesPara = HtmlTree.P(line27);
- liAllClasses.addContent(allclassesPara);
- ul.addContent(liAllClasses);
+ htmlTree.addContent(allclassesPara);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
Content sHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
getResource("doclet.Serialized_Form"));
- Content liSerial = HtmlTree.LI(HtmlStyle.blockList, sHead);
+ htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(sHead)
+ : HtmlTree.LI(HtmlStyle.blockList, sHead);
Content line28 = getResource("doclet.Help_line_28");
Content serialPara = HtmlTree.P(line28);
- liSerial.addContent(serialPara);
- ul.addContent(liSerial);
+ htmlTree.addContent(serialPara);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
Content constHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
getResource("doclet.Constants_Summary"));
- Content liConst = HtmlTree.LI(HtmlStyle.blockList, constHead);
+ htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(constHead)
+ : HtmlTree.LI(HtmlStyle.blockList, constHead);
Content line29 = getResource("doclet.Help_line_29",
getHyperLink(DocPaths.CONSTANT_VALUES,
configuration.getText("doclet.Constants_Summary")));
Content constPara = HtmlTree.P(line29);
- liConst.addContent(constPara);
- ul.addContent(liConst);
+ htmlTree.addContent(constPara);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
+ } else {
+ ul.addContent(htmlTree);
+ }
Content divContent = HtmlTree.DIV(HtmlStyle.contentContainer, ul);
Content line30 = HtmlTree.SPAN(HtmlStyle.emphasizedPhrase, getResource("doclet.Help_line_30"));
divContent.addContent(line30);
- contentTree.addContent(divContent);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(divContent);
+ contentTree.addContent(mainTree);
+ } else {
+ contentTree.addContent(divContent);
+ }
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -183,8 +183,7 @@
* @return a content tree for the script
*/
public Content getAllClassesLinkScript(String id) {
- HtmlTree script = new HtmlTree(HtmlTag.SCRIPT);
- script.addAttr(HtmlAttr.TYPE, "text/javascript");
+ HtmlTree script = HtmlTree.SCRIPT();
String scriptCode = "<!--" + DocletConstants.NL +
" allClassesLink = document.getElementById(\"" + id + "\");" + DocletConstants.NL +
" if(window==top) {" + DocletConstants.NL +
@@ -197,6 +196,9 @@
Content scriptContent = new RawHtml(scriptCode);
script.addContent(scriptContent);
Content div = HtmlTree.DIV(script);
+ Content div_noscript = HtmlTree.DIV(getResource("doclet.No_Script_Message"));
+ Content noScript = HtmlTree.NOSCRIPT(div_noscript);
+ div.addContent(noScript);
return div;
}
@@ -342,8 +344,9 @@
if(classes.length > 0) {
Arrays.sort(classes);
Content caption = getTableCaption(new RawHtml(label));
- Content table = HtmlTree.TABLE(HtmlStyle.typeSummary, 0, 3, 0,
- tableSummary, caption);
+ Content table = (configuration.isOutputHtml5())
+ ? HtmlTree.TABLE(HtmlStyle.typeSummary, caption)
+ : HtmlTree.TABLE(HtmlStyle.typeSummary, tableSummary, caption);
table.addContent(getSummaryTableHeader(tableHeader, "col"));
Content tbody = new HtmlTree(HtmlTag.TBODY);
for (int i = 0; i < classes.length; i++) {
@@ -393,7 +396,9 @@
*/
public void printHtmlDocument(String[] metakeywords, boolean includeScript,
Content body) throws IOException {
- Content htmlDocType = DocType.TRANSITIONAL;
+ Content htmlDocType = configuration.isOutputHtml5()
+ ? DocType.HTML5
+ : DocType.TRANSITIONAL;
Content htmlComment = new Comment(configuration.getText("doclet.New_Page"));
Content head = new HtmlTree(HtmlTag.HEAD);
head.addContent(getGeneratedBy(!configuration.notimestamp));
@@ -404,7 +409,9 @@
head.addContent(meta);
if (!configuration.notimestamp) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- meta = HtmlTree.META("date", dateFormat.format(new Date()));
+ meta = HtmlTree.META(configuration.isOutputHtml5()
+ ? "dc.created"
+ : "date", dateFormat.format(new Date()));
head.addContent(meta);
}
if (metakeywords != null) {
@@ -459,38 +466,41 @@
/**
* Adds the user specified top.
*
- * @param body the content tree to which user specified top will be added
+ * @param htmlTree the content tree to which user specified top will be added
*/
- public void addTop(Content body) {
+ public void addTop(Content htmlTree) {
Content top = new RawHtml(replaceDocRootDir(configuration.top));
- body.addContent(top);
+ htmlTree.addContent(top);
}
/**
* Adds the user specified bottom.
*
- * @param body the content tree to which user specified bottom will be added
+ * @param htmlTree the content tree to which user specified bottom will be added
*/
- public void addBottom(Content body) {
+ public void addBottom(Content htmlTree) {
Content bottom = new RawHtml(replaceDocRootDir(configuration.bottom));
Content small = HtmlTree.SMALL(bottom);
Content p = HtmlTree.P(HtmlStyle.legalCopy, small);
- body.addContent(p);
+ htmlTree.addContent(p);
}
/**
* Adds the navigation bar for the Html page at the top and and the bottom.
*
* @param header If true print navigation bar at the top of the page else
- * @param body the HtmlTree to which the nav links will be added
+ * @param htmlTree the HtmlTree to which the nav links will be added
*/
- protected void addNavLinks(boolean header, Content body) {
+ protected void addNavLinks(boolean header, Content htmlTree) {
if (!configuration.nonavbar) {
+ Content tree = (configuration.allowTag(HtmlTag.NAV))
+ ? HtmlTree.NAV()
+ : htmlTree;
String allClassesId = "allclasses_";
HtmlTree navDiv = new HtmlTree(HtmlTag.DIV);
Content skipNavLinks = configuration.getResource("doclet.Skip_navigation_links");
if (header) {
- body.addContent(HtmlConstants.START_OF_TOP_NAVBAR);
+ tree.addContent(HtmlConstants.START_OF_TOP_NAVBAR);
navDiv.addStyle(HtmlStyle.topNav);
allClassesId += "navbar_top";
Content a = getMarkerAnchor(SectionName.NAVBAR_TOP);
@@ -501,7 +511,7 @@
skipNavLinks.toString(), ""));
navDiv.addContent(skipLinkContent);
} else {
- body.addContent(HtmlConstants.START_OF_BOTTOM_NAVBAR);
+ tree.addContent(HtmlConstants.START_OF_BOTTOM_NAVBAR);
navDiv.addStyle(HtmlStyle.bottomNav);
allClassesId += "navbar_bottom";
Content a = getMarkerAnchor(SectionName.NAVBAR_BOTTOM);
@@ -548,7 +558,7 @@
navDiv.addContent(navList);
Content aboutDiv = HtmlTree.DIV(HtmlStyle.aboutLanguage, getUserHeaderFooter(header));
navDiv.addContent(aboutDiv);
- body.addContent(navDiv);
+ tree.addContent(navDiv);
Content ulNav = HtmlTree.UL(HtmlStyle.navList, getNavLinkPrevious());
ulNav.addContent(getNavLinkNext());
Content subDiv = HtmlTree.DIV(HtmlStyle.subNav, ulNav);
@@ -562,12 +572,15 @@
addSummaryDetailLinks(subDiv);
if (header) {
subDiv.addContent(getMarkerAnchor(SectionName.SKIP_NAVBAR_TOP));
- body.addContent(subDiv);
- body.addContent(HtmlConstants.END_OF_TOP_NAVBAR);
+ tree.addContent(subDiv);
+ tree.addContent(HtmlConstants.END_OF_TOP_NAVBAR);
} else {
subDiv.addContent(getMarkerAnchor(SectionName.SKIP_NAVBAR_BOTTOM));
- body.addContent(subDiv);
- body.addContent(HtmlConstants.END_OF_BOTTOM_NAVBAR);
+ tree.addContent(subDiv);
+ tree.addContent(HtmlConstants.END_OF_BOTTOM_NAVBAR);
+ }
+ if (configuration.allowTag(HtmlTag.NAV)) {
+ htmlTree.addContent(tree);
}
}
}
@@ -904,7 +917,7 @@
public Content getMarkerAnchor(String anchorName, Content anchorContent) {
if (anchorContent == null)
anchorContent = new Comment(" ");
- Content markerAnchor = HtmlTree.A_NAME(anchorName, anchorContent);
+ Content markerAnchor = HtmlTree.A_ID(anchorName, anchorContent);
return markerAnchor;
}
@@ -942,8 +955,10 @@
protected void addPackageDeprecatedAPI(List<Doc> deprPkgs, String headingKey,
String tableSummary, String[] tableHeader, Content contentTree) {
if (deprPkgs.size() > 0) {
- Content table = HtmlTree.TABLE(HtmlStyle.deprecatedSummary, 0, 3, 0, tableSummary,
- getTableCaption(configuration.getResource(headingKey)));
+ Content caption = getTableCaption(configuration.getResource(headingKey));
+ Content table = (configuration.isOutputHtml5())
+ ? HtmlTree.TABLE(HtmlStyle.deprecatedSummary, caption)
+ : HtmlTree.TABLE(HtmlStyle.deprecatedSummary, tableSummary, caption);
table.addContent(getSummaryTableHeader(tableHeader, "col"));
Content tbody = new HtmlTree(HtmlTag.TBODY);
for (int i = 0; i < deprPkgs.size(); i++) {
@@ -1829,8 +1844,7 @@
* @return an HtmlTree for the Script tag which provides the JavaScript location
*/
public HtmlTree getScriptProperties() {
- HtmlTree script = HtmlTree.SCRIPT("text/javascript",
- pathToRoot.resolve(DocPaths.JAVASCRIPT).getPath());
+ HtmlTree script = HtmlTree.SCRIPT(pathToRoot.resolve(DocPaths.JAVASCRIPT).getPath());
return script;
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -150,7 +150,7 @@
writer.getTagletWriterInstance(false), tagContent);
Content dlTags = new HtmlTree(HtmlTag.DL);
dlTags.addContent(tagContent);
- methodsContentTree.addContent(dlTags); // TODO: what if empty?
+ methodsContentTree.addContent(dlTags);
MethodDoc method = member;
if (method.name().compareTo("writeExternal") == 0
&& method.tags("serialData").length == 0) {
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -82,6 +82,13 @@
/**
* {@inheritDoc}
*/
+ public void addMemberTree(Content memberSummaryTree, Content memberTree) {
+ writer.addMemberTree(memberSummaryTree, memberTree);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public Content getMethodDetailsTreeHeader(ClassDoc classDoc,
Content memberDetailsTree) {
memberDetailsTree.addContent(HtmlConstants.START_OF_METHOD_DETAILS);
@@ -182,6 +189,10 @@
* {@inheritDoc}
*/
public Content getMethodDetails(Content methodDetailsTree) {
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ HtmlTree htmlTree = HtmlTree.SECTION(getMemberTree(methodDetailsTree));
+ return htmlTree;
+ }
return getMemberTree(methodDetailsTree);
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -69,6 +69,13 @@
}
/**
+ * {@inheritDoc}
+ */
+ public void addMemberTree(Content memberSummaryTree, Content memberTree) {
+ writer.addMemberTree(memberSummaryTree, memberTree);
+ }
+
+ /**
* Close the writer.
*/
public void close() throws IOException {
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -93,15 +93,21 @@
try {
packgen = new PackageFrameWriter(configuration, packageDoc);
String pkgName = configuration.utils.getPackageName(packageDoc);
- Content body = packgen.getBody(false, packgen.getWindowTitle(pkgName));
+ HtmlTree body = packgen.getBody(false, packgen.getWindowTitle(pkgName));
Content pkgNameContent = new StringContent(pkgName);
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.MAIN))
+ ? HtmlTree.MAIN()
+ : body;
Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, HtmlStyle.bar,
packgen.getTargetPackageLink(packageDoc, "classFrame", pkgNameContent));
- body.addContent(heading);
+ htmlTree.addContent(heading);
HtmlTree div = new HtmlTree(HtmlTag.DIV);
div.addStyle(HtmlStyle.indexContainer);
packgen.addClassListing(div);
- body.addContent(div);
+ htmlTree.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ body.addContent(htmlTree);
+ }
packgen.printHtmlDocument(
configuration.metakeywords.getMetaKeywords(packageDoc), false, body);
packgen.close();
@@ -120,7 +126,7 @@
*
* @param contentTree the content tree to which the listing will be added
*/
- protected void addClassListing(Content contentTree) {
+ protected void addClassListing(HtmlTree contentTree) {
Configuration config = configuration;
if (packageDoc.isIncluded()) {
addClassKindListing(packageDoc.interfaces(),
@@ -160,11 +166,14 @@
* @param contentTree the content tree to which the class kind listing will be added
*/
protected void addClassKindListing(ClassDoc[] arr, Content labelContent,
- Content contentTree) {
+ HtmlTree contentTree) {
arr = utils.filterOutPrivateClasses(arr, configuration.javafx);
if(arr.length > 0) {
Arrays.sort(arr);
boolean printedHeader = false;
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION()
+ : contentTree;
HtmlTree ul = new HtmlTree(HtmlTag.UL);
ul.setTitle(labelContent);
for (ClassDoc classDoc : arr) {
@@ -177,7 +186,7 @@
if (!printedHeader) {
Content heading = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
true, labelContent);
- contentTree.addContent(heading);
+ htmlTree.addContent(heading);
printedHeader = true;
}
Content arr_i_name = new StringContent(classDoc.name());
@@ -188,7 +197,10 @@
Content li = HtmlTree.LI(link);
ul.addContent(li);
}
- contentTree.addContent(ul);
+ htmlTree.addContent(ul);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ contentTree.addContent(htmlTree);
+ }
}
}
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -83,7 +83,9 @@
String tableSummary, Content body) {
Content heading = HtmlTree.HEADING(HtmlConstants.PACKAGE_HEADING, true,
packagesLabel);
- Content div = HtmlTree.DIV(HtmlStyle.indexContainer, heading);
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.MAIN))
+ ? HtmlTree.MAIN(HtmlStyle.indexContainer, heading)
+ : HtmlTree.DIV(HtmlStyle.indexContainer, heading);
HtmlTree ul = new HtmlTree(HtmlTag.UL);
ul.setTitle(packagesLabel);
for (PackageDoc aPackage : packages) {
@@ -94,8 +96,8 @@
ul.addContent(getPackage(aPackage));
}
}
- div.addContent(ul);
- body.addContent(div);
+ htmlTree.addContent(ul);
+ body.addContent(htmlTree);
}
/**
@@ -146,26 +148,26 @@
* Adds "All Classes" link for the top of the left-hand frame page to the
* documentation tree.
*
- * @param div the Content object to which the all classes link should be added
+ * @param ul the Content object to which the "All Classes" link should be added
*/
- protected void addAllClassesLink(Content div) {
+ protected void addAllClassesLink(Content ul) {
Content linkContent = getHyperLink(DocPaths.ALLCLASSES_FRAME,
allclassesLabel, "", "packageFrame");
- Content span = HtmlTree.SPAN(linkContent);
- div.addContent(span);
+ Content li = HtmlTree.LI(linkContent);
+ ul.addContent(li);
}
/**
* Adds "All Profiles" link for the top of the left-hand frame page to the
* documentation tree.
*
- * @param div the Content object to which the all profiles link should be added
+ * @param ul the Content object to which the "All Profiles" link should be added
*/
- protected void addAllProfilesLink(Content div) {
+ protected void addAllProfilesLink(Content ul) {
Content linkContent = getHyperLink(DocPaths.PROFILE_OVERVIEW_FRAME,
allprofilesLabel, "", "packageListFrame");
- Content span = HtmlTree.SPAN(linkContent);
- div.addContent(span);
+ Content li = HtmlTree.LI(linkContent);
+ ul.addContent(li);
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -67,6 +67,11 @@
private List<String> groupList;
/**
+ * HTML tree for main tag.
+ */
+ private HtmlTree htmlTree = HtmlTree.MAIN();
+
+ /**
* Construct the PackageIndexWriter. Also constructs the grouping
* information as provided on the command line by "-group" option. Stores
* the order of groups specified by the user.
@@ -140,7 +145,11 @@
}
profilesDiv.addContent(ul);
Content div = HtmlTree.DIV(HtmlStyle.contentContainer, profilesDiv);
- body.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ htmlTree.addContent(div);
+ } else {
+ body.addContent(div);
+ }
}
/**
@@ -148,14 +157,19 @@
*/
protected void addPackagesList(Collection<PackageDoc> packages, String text,
String tableSummary, Content body) {
- Content table = HtmlTree.TABLE(HtmlStyle.overviewSummary, 0, 3, 0, tableSummary,
- getTableCaption(new RawHtml(text)));
+ Content table = (configuration.isOutputHtml5())
+ ? HtmlTree.TABLE(HtmlStyle.overviewSummary, getTableCaption(new RawHtml(text)))
+ : HtmlTree.TABLE(HtmlStyle.overviewSummary, tableSummary, getTableCaption(new RawHtml(text)));
table.addContent(getSummaryTableHeader(packageTableHeader, "col"));
Content tbody = new HtmlTree(HtmlTag.TBODY);
addPackagesList(packages, tbody);
table.addContent(tbody);
Content div = HtmlTree.DIV(HtmlStyle.contentContainer, table);
- body.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ htmlTree.addContent(div);
+ } else {
+ body.addContent(div);
+ }
}
/**
@@ -192,6 +206,7 @@
* @param body the documentation tree to which the overview header will be added
*/
protected void addOverviewHeader(Content body) {
+ addConfigurationTitle(body);
if (root.inlineTags().length > 0) {
HtmlTree subTitleDiv = new HtmlTree(HtmlTag.DIV);
subTitleDiv.addStyle(HtmlStyle.subTitle);
@@ -205,7 +220,11 @@
descriptionLabel, "", "");
descPara.addContent(descLink);
div.addContent(descPara);
- body.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ htmlTree.addContent(div);
+ } else {
+ body.addContent(div);
+ }
}
}
@@ -235,7 +254,12 @@
div.addStyle(HtmlStyle.contentContainer);
addOverviewComment(div);
addTagsInfo(root, div);
- body.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ htmlTree.addContent(div);
+ body.addContent(htmlTree);
+ } else {
+ body.addContent(div);
+ }
}
/**
@@ -246,9 +270,14 @@
* @body the documentation tree to which the navigation bar header will be added
*/
protected void addNavigationBarHeader(Content body) {
- addTop(body);
- addNavLinks(true, body);
- addConfigurationTitle(body);
+ Content htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : body;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ body.addContent(htmlTree);
+ }
}
/**
@@ -258,7 +287,13 @@
* @param body the documentation tree to which the navigation bar footer will be added
*/
protected void addNavigationBarFooter(Content body) {
- addNavLinks(false, body);
- addBottom(body);
+ Content htmlTree = (configuration.allowTag(HtmlTag.FOOTER))
+ ? HtmlTree.FOOTER()
+ : body;
+ addNavLinks(false, htmlTree);
+ addBottom(htmlTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ body.addContent(htmlTree);
+ }
}
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -113,7 +113,10 @@
* Generate a separate tree file for each package.
*/
protected void generatePackageTreeFile() throws IOException {
- Content body = getPackageTreeHeader();
+ HtmlTree body = getPackageTreeHeader();
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.MAIN))
+ ? HtmlTree.MAIN()
+ : body;
Content headContent = getResource("doclet.Hierarchy_For_Package",
utils.getPackageName(packagedoc));
Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, false,
@@ -122,16 +125,25 @@
if (configuration.packages.size() > 1) {
addLinkToMainTree(div);
}
- body.addContent(div);
+ htmlTree.addContent(div);
HtmlTree divTree = new HtmlTree(HtmlTag.DIV);
divTree.addStyle(HtmlStyle.contentContainer);
addTree(classtree.baseclasses(), "doclet.Class_Hierarchy", divTree);
addTree(classtree.baseinterfaces(), "doclet.Interface_Hierarchy", divTree);
addTree(classtree.baseAnnotationTypes(), "doclet.Annotation_Type_Hierarchy", divTree);
addTree(classtree.baseEnums(), "doclet.Enum_Hierarchy", divTree);
- body.addContent(divTree);
- addNavLinks(false, body);
- addBottom(body);
+ htmlTree.addContent(divTree);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ body.addContent(htmlTree);
+ }
+ HtmlTree tree = (configuration.allowTag(HtmlTag.FOOTER))
+ ? HtmlTree.FOOTER()
+ : body;
+ addNavLinks(false, tree);
+ addBottom(tree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ body.addContent(tree);
+ }
printHtmlDocument(null, true, body);
}
@@ -140,12 +152,18 @@
*
* @return a content tree for the header
*/
- protected Content getPackageTreeHeader() {
+ protected HtmlTree getPackageTreeHeader() {
String title = packagedoc.name() + " " +
configuration.getText("doclet.Window_Class_Hierarchy");
- Content bodyTree = getBody(true, getWindowTitle(title));
- addTop(bodyTree);
- addNavLinks(true, bodyTree);
+ HtmlTree bodyTree = getBody(true, getWindowTitle(title));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : bodyTree;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ bodyTree.addContent(htmlTree);
+ }
return bodyTree;
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -48,6 +48,7 @@
final PackageDoc pkgdoc;
final SortedMap<String,Set<ClassDoc>> usingPackageToUsedClasses = new TreeMap<>();
+ protected HtmlTree mainTree = HtmlTree.MAIN();
/**
* Constructor.
@@ -112,7 +113,7 @@
* Generate the package use list.
*/
protected void generatePackageUseFile() throws IOException {
- Content body = getPackageUseHeader();
+ HtmlTree body = getPackageUseHeader();
HtmlTree div = new HtmlTree(HtmlTag.DIV);
div.addStyle(HtmlStyle.contentContainer);
if (usingPackageToUsedClasses.isEmpty()) {
@@ -121,9 +122,20 @@
} else {
addPackageUse(div);
}
- body.addContent(div);
- addNavLinks(false, body);
- addBottom(body);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(div);
+ body.addContent(mainTree);
+ } else {
+ body.addContent(div);
+ }
+ HtmlTree tree = (configuration.allowTag(HtmlTag.FOOTER))
+ ? HtmlTree.FOOTER()
+ : body;
+ addNavLinks(false, tree);
+ addBottom(tree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ body.addContent(tree);
+ }
printHtmlDocument(null, true, body);
}
@@ -148,10 +160,12 @@
* @param contentTree the content tree to which the package list will be added
*/
protected void addPackageList(Content contentTree) throws IOException {
- Content table = HtmlTree.TABLE(HtmlStyle.useSummary, 0, 3, 0, useTableSummary,
- getTableCaption(configuration.getResource(
+ Content caption = getTableCaption(configuration.getResource(
"doclet.ClassUse_Packages.that.use.0",
- getPackageLink(pkgdoc, utils.getPackageName(pkgdoc)))));
+ getPackageLink(pkgdoc, utils.getPackageName(pkgdoc))));
+ Content table = (configuration.isOutputHtml5())
+ ? HtmlTree.TABLE(HtmlStyle.useSummary, caption)
+ : HtmlTree.TABLE(HtmlStyle.useSummary, useTableSummary, caption);
table.addContent(getSummaryTableHeader(packageTableHeader, "col"));
Content tbody = new HtmlTree(HtmlTag.TBODY);
Iterator<String> it = usingPackageToUsedClasses.keySet().iterator();
@@ -191,11 +205,13 @@
}
String tableSummary = configuration.getText("doclet.Use_Table_Summary",
configuration.getText("doclet.classes"));
- Content table = HtmlTree.TABLE(HtmlStyle.useSummary, 0, 3, 0, tableSummary,
- getTableCaption(configuration.getResource(
- "doclet.ClassUse_Classes.in.0.used.by.1",
- getPackageLink(pkgdoc, utils.getPackageName(pkgdoc)),
- getPackageLink(usingPackage, utils.getPackageName(usingPackage)))));
+ Content caption = getTableCaption(configuration.getResource(
+ "doclet.ClassUse_Classes.in.0.used.by.1",
+ getPackageLink(pkgdoc, utils.getPackageName(pkgdoc)),
+ getPackageLink(usingPackage, utils.getPackageName(usingPackage))));
+ Content table = (configuration.isOutputHtml5())
+ ? HtmlTree.TABLE(HtmlStyle.useSummary, caption)
+ : HtmlTree.TABLE(HtmlStyle.useSummary, tableSummary, caption);
table.addContent(getSummaryTableHeader(classTableHeader, "col"));
Content tbody = new HtmlTree(HtmlTag.TBODY);
Iterator<ClassDoc> itc =
@@ -259,14 +275,20 @@
*
* @return a content tree representing the package use header
*/
- protected Content getPackageUseHeader() {
+ protected HtmlTree getPackageUseHeader() {
String packageText = configuration.getText("doclet.Package");
String name = pkgdoc.name();
String title = configuration.getText("doclet.Window_ClassUse_Header",
packageText, name);
- Content bodyTree = getBody(true, getWindowTitle(title));
- addTop(bodyTree);
- addNavLinks(true, bodyTree);
+ HtmlTree bodyTree = getBody(true, getWindowTitle(title));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : bodyTree;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ bodyTree.addContent(htmlTree);
+ }
ContentBuilder headContent = new ContentBuilder();
headContent.addContent(getResource("doclet.ClassUse_Title", packageText));
headContent.addContent(new HtmlTree(HtmlTag.BR));
@@ -274,7 +296,11 @@
Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, true,
HtmlStyle.title, headContent);
Content div = HtmlTree.DIV(HtmlStyle.header, heading);
- bodyTree.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(div);
+ } else {
+ bodyTree.addContent(div);
+ }
return bodyTree;
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -65,6 +65,16 @@
protected PackageDoc packageDoc;
/**
+ * The HTML tree for main tag.
+ */
+ protected HtmlTree mainTree = HtmlTree.MAIN();
+
+ /**
+ * The HTML tree for section tag.
+ */
+ protected HtmlTree sectionTree = HtmlTree.SECTION();
+
+ /**
* Constructor to construct PackageWriter object and to generate
* "package-summary.html" file in the respective package directory.
* For example for package "java.lang" this will generate file
@@ -90,9 +100,15 @@
* {@inheritDoc}
*/
public Content getPackageHeader(String heading) {
- Content bodyTree = getBody(true, getWindowTitle(utils.getPackageName(packageDoc)));
- addTop(bodyTree);
- addNavLinks(true, bodyTree);
+ HtmlTree bodyTree = getBody(true, getWindowTitle(utils.getPackageName(packageDoc)));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : bodyTree;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ bodyTree.addContent(htmlTree);
+ }
HtmlTree div = new HtmlTree(HtmlTag.DIV);
div.addStyle(HtmlStyle.header);
Content annotationContent = new HtmlTree(HtmlTag.P);
@@ -117,7 +133,11 @@
Content descPara = new HtmlTree(HtmlTag.P, seeLabel, space, descLink);
div.addContent(descPara);
}
- bodyTree.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(div);
+ } else {
+ bodyTree.addContent(div);
+ }
return bodyTree;
}
@@ -169,8 +189,9 @@
if(classes.length > 0) {
Arrays.sort(classes);
Content caption = getTableCaption(new RawHtml(label));
- Content table = HtmlTree.TABLE(HtmlStyle.typeSummary, 0, 3, 0,
- tableSummary, caption);
+ Content table = (configuration.isOutputHtml5())
+ ? HtmlTree.TABLE(HtmlStyle.typeSummary, caption)
+ : HtmlTree.TABLE(HtmlStyle.typeSummary, tableSummary, caption);
table.addContent(getSummaryTableHeader(tableHeader, "col"));
Content tbody = new HtmlTree(HtmlTag.TBODY);
for (int i = 0; i < classes.length; i++) {
@@ -216,9 +237,14 @@
Content h2Content = new StringContent(
configuration.getText("doclet.Package_Description",
packageDoc.name()));
- packageContentTree.addContent(HtmlTree.HEADING(HtmlConstants.PACKAGE_HEADING,
- true, h2Content));
- addInlineComment(packageDoc, packageContentTree);
+ Content heading = HtmlTree.HEADING(HtmlConstants.PACKAGE_HEADING, true, h2Content);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ sectionTree.addContent(heading);
+ addInlineComment(packageDoc, sectionTree);
+ } else {
+ packageContentTree.addContent(heading);
+ addInlineComment(packageDoc, packageContentTree);
+ }
}
}
@@ -226,15 +252,37 @@
* {@inheritDoc}
*/
public void addPackageTags(Content packageContentTree) {
- addTagsInfo(packageDoc, packageContentTree);
+ Content htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? sectionTree
+ : packageContentTree;
+ addTagsInfo(packageDoc, htmlTree);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void addPackageContent(Content contentTree, Content packageContentTree) {
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ packageContentTree.addContent(sectionTree);
+ mainTree.addContent(packageContentTree);
+ contentTree.addContent(mainTree);
+ } else {
+ contentTree.addContent(packageContentTree);
+ }
}
/**
* {@inheritDoc}
*/
public void addPackageFooter(Content contentTree) {
- addNavLinks(false, contentTree);
- addBottom(contentTree);
+ Content htmlTree = (configuration.allowTag(HtmlTag.FOOTER))
+ ? HtmlTree.FOOTER()
+ : contentTree;
+ addNavLinks(false, htmlTree);
+ addBottom(htmlTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ contentTree.addContent(htmlTree);
+ }
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfileIndexFrameWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfileIndexFrameWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -85,7 +85,9 @@
String tableSummary, Content body) {
Content heading = HtmlTree.HEADING(HtmlConstants.PROFILE_HEADING, true,
profilesLabel);
- Content div = HtmlTree.DIV(HtmlStyle.indexContainer, heading);
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.MAIN))
+ ? HtmlTree.MAIN(HtmlStyle.indexContainer, heading)
+ : HtmlTree.DIV(HtmlStyle.indexContainer, heading);
HtmlTree ul = new HtmlTree(HtmlTag.UL);
ul.setTitle(profilesLabel);
String profileName;
@@ -96,8 +98,8 @@
if (configuration.shouldDocumentProfile(profileName))
ul.addContent(getProfile(profileName));
}
- div.addContent(ul);
- body.addContent(div);
+ htmlTree.addContent(ul);
+ body.addContent(htmlTree);
}
/**
@@ -141,26 +143,26 @@
* Adds "All Classes" link for the top of the left-hand frame page to the
* documentation tree.
*
- * @param div the Content object to which the all classes link should be added
+ * @param ul the Content object to which the all classes link should be added
*/
- protected void addAllClassesLink(Content div) {
+ protected void addAllClassesLink(Content ul) {
Content linkContent = getHyperLink(DocPaths.ALLCLASSES_FRAME,
allclassesLabel, "", "packageFrame");
- Content span = HtmlTree.SPAN(linkContent);
- div.addContent(span);
+ Content li = HtmlTree.LI(linkContent);
+ ul.addContent(li);
}
/**
* Adds "All Packages" link for the top of the left-hand frame page to the
* documentation tree.
*
- * @param div the Content object to which the all packages link should be added
+ * @param ul the Content object to which the all packages link should be added
*/
- protected void addAllPackagesLink(Content div) {
+ protected void addAllPackagesLink(Content ul) {
Content linkContent = getHyperLink(DocPaths.OVERVIEW_FRAME,
allpackagesLabel, "", "packageListFrame");
- Content span = HtmlTree.SPAN(linkContent);
- div.addContent(span);
+ Content li = HtmlTree.LI(linkContent);
+ ul.addContent(li);
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -93,21 +93,27 @@
winTitle.append(sep);
String pkgName = configuration.utils.getPackageName(packageDoc);
winTitle.append(pkgName);
- Content body = profpackgen.getBody(false,
+ HtmlTree body = profpackgen.getBody(false,
profpackgen.getWindowTitle(winTitle.toString()));
Content profName = new StringContent(profileName);
Content sepContent = new StringContent(sep);
Content pkgNameContent = new RawHtml(pkgName);
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.MAIN))
+ ? HtmlTree.MAIN()
+ : body;
Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, HtmlStyle.bar,
profpackgen.getTargetProfileLink("classFrame", profName, profileName));
heading.addContent(sepContent);
heading.addContent(profpackgen.getTargetProfilePackageLink(packageDoc,
"classFrame", pkgNameContent, profileName));
- body.addContent(heading);
+ htmlTree.addContent(heading);
HtmlTree div = new HtmlTree(HtmlTag.DIV);
div.addStyle(HtmlStyle.indexContainer);
profpackgen.addClassListing(div, profileValue);
- body.addContent(div);
+ htmlTree.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ body.addContent(htmlTree);
+ }
profpackgen.printHtmlDocument(
configuration.metakeywords.getMetaKeywords(packageDoc), false, body);
profpackgen.close();
@@ -127,7 +133,7 @@
* @param contentTree the content tree to which the listing will be added
* @param profileValue the value of the profile being documented
*/
- protected void addClassListing(Content contentTree, int profileValue) {
+ protected void addClassListing(HtmlTree contentTree, int profileValue) {
if (packageDoc.isIncluded()) {
addClassKindListing(packageDoc.interfaces(),
getResource("doclet.Interfaces"), contentTree, profileValue);
@@ -153,10 +159,13 @@
* @param profileValue the value of the profile being documented
*/
protected void addClassKindListing(ClassDoc[] arr, Content labelContent,
- Content contentTree, int profileValue) {
+ HtmlTree contentTree, int profileValue) {
if(arr.length > 0) {
Arrays.sort(arr);
boolean printedHeader = false;
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION()
+ : contentTree;
HtmlTree ul = new HtmlTree(HtmlTag.UL);
ul.setTitle(labelContent);
for (ClassDoc classDoc : arr) {
@@ -170,7 +179,7 @@
if (!printedHeader) {
Content heading = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
true, labelContent);
- contentTree.addContent(heading);
+ htmlTree.addContent(heading);
printedHeader = true;
}
Content arr_i_name = new StringContent(classDoc.name());
@@ -181,7 +190,10 @@
Content li = HtmlTree.LI(link);
ul.addContent(li);
}
- contentTree.addContent(ul);
+ htmlTree.addContent(ul);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ contentTree.addContent(htmlTree);
+ }
}
}
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageIndexFrameWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageIndexFrameWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -90,7 +90,9 @@
getTargetProfileLink("classFrame", profNameContent, profileName));
heading.addContent(getSpace());
heading.addContent(packagesLabel);
- Content div = HtmlTree.DIV(HtmlStyle.indexContainer, heading);
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.MAIN))
+ ? HtmlTree.MAIN(HtmlStyle.indexContainer, heading)
+ : HtmlTree.DIV(HtmlStyle.indexContainer, heading);
HtmlTree ul = new HtmlTree(HtmlTag.UL);
ul.setTitle(packagesLabel);
List<PackageDoc> packages = configuration.profilePackages.get(profileName);
@@ -99,8 +101,8 @@
ul.addContent(getPackage(packageDoc, profileName));
}
}
- div.addContent(ul);
- body.addContent(div);
+ htmlTree.addContent(ul);
+ body.addContent(htmlTree);
}
/**
@@ -156,39 +158,39 @@
* Adds "All Classes" link for the top of the left-hand frame page to the
* documentation tree.
*
- * @param div the Content object to which the all classes link should be added
+ * @param ul the Content object to which the all classes link should be added
*/
- protected void addAllClassesLink(Content div) {
+ protected void addAllClassesLink(Content ul) {
Content linkContent = getHyperLink(DocPaths.ALLCLASSES_FRAME,
allclassesLabel, "", "packageFrame");
- Content span = HtmlTree.SPAN(linkContent);
- div.addContent(span);
+ Content li = HtmlTree.LI(linkContent);
+ ul.addContent(li);
}
/**
* Adds "All Packages" link for the top of the left-hand frame page to the
* documentation tree.
*
- * @param div the Content object to which the all packages link should be added
+ * @param ul the Content object to which the all packages link should be added
*/
- protected void addAllPackagesLink(Content div) {
+ protected void addAllPackagesLink(Content ul) {
Content linkContent = getHyperLink(DocPaths.OVERVIEW_FRAME,
allpackagesLabel, "", "packageListFrame");
- Content span = HtmlTree.SPAN(linkContent);
- div.addContent(span);
+ Content li = HtmlTree.LI(linkContent);
+ ul.addContent(li);
}
/**
* Adds "All Profiles" link for the top of the left-hand frame page to the
* documentation tree.
*
- * @param div the Content object to which the all profiles link should be added
+ * @param ul the Content object to which the all profiles link should be added
*/
- protected void addAllProfilesLink(Content div) {
+ protected void addAllProfilesLink(Content ul) {
Content linkContent = getHyperLink(DocPaths.PROFILE_OVERVIEW_FRAME,
allprofilesLabel, "", "packageListFrame");
- Content span = HtmlTree.SPAN(linkContent);
- div.addContent(span);
+ Content li = HtmlTree.LI(linkContent);
+ ul.addContent(li);
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -74,6 +74,16 @@
protected int profileValue;
/**
+ * The HTML tree for main tag.
+ */
+ protected HtmlTree mainTree = HtmlTree.MAIN();
+
+ /**
+ * The HTML tree for section tag.
+ */
+ protected HtmlTree sectionTree = HtmlTree.SECTION();
+
+ /**
* Constructor to construct ProfilePackageWriter object and to generate
* "profilename-package-summary.html" file in the respective package directory.
* For example for profile compact1 and package "java.lang" this will generate file
@@ -103,9 +113,15 @@
* {@inheritDoc}
*/
public Content getPackageHeader(String heading) {
- Content bodyTree = getBody(true, getWindowTitle(utils.getPackageName(packageDoc)));
- addTop(bodyTree);
- addNavLinks(true, bodyTree);
+ HtmlTree bodyTree = getBody(true, getWindowTitle(utils.getPackageName(packageDoc)));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : bodyTree;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ bodyTree.addContent(htmlTree);
+ }
HtmlTree div = new HtmlTree(HtmlTag.DIV);
div.addStyle(HtmlStyle.header);
Content profileContent = new StringContent(profileName);
@@ -133,7 +149,11 @@
Content descPara = new HtmlTree(HtmlTag.P, seeLabel, space, descLink);
div.addContent(descPara);
}
- bodyTree.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(div);
+ } else {
+ bodyTree.addContent(div);
+ }
return bodyTree;
}
@@ -199,9 +219,14 @@
Content h2Content = new StringContent(
configuration.getText("doclet.Package_Description",
packageDoc.name()));
- packageContentTree.addContent(HtmlTree.HEADING(HtmlConstants.PACKAGE_HEADING,
- true, h2Content));
- addInlineComment(packageDoc, packageContentTree);
+ Content heading = HtmlTree.HEADING(HtmlConstants.PACKAGE_HEADING, true, h2Content);
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ sectionTree.addContent(heading);
+ addInlineComment(packageDoc, sectionTree);
+ } else {
+ packageContentTree.addContent(heading);
+ addInlineComment(packageDoc, packageContentTree);
+ }
}
}
@@ -209,15 +234,37 @@
* {@inheritDoc}
*/
public void addPackageTags(Content packageContentTree) {
- addTagsInfo(packageDoc, packageContentTree);
+ Content htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? sectionTree
+ : packageContentTree;
+ addTagsInfo(packageDoc, htmlTree);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void addPackageContent(Content contentTree, Content packageContentTree) {
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ packageContentTree.addContent(sectionTree);
+ mainTree.addContent(packageContentTree);
+ contentTree.addContent(mainTree);
+ } else {
+ contentTree.addContent(packageContentTree);
+ }
}
/**
* {@inheritDoc}
*/
public void addPackageFooter(Content contentTree) {
- addNavLinks(false, contentTree);
- addBottom(contentTree);
+ Content htmlTree = (configuration.allowTag(HtmlTag.FOOTER))
+ ? HtmlTree.FOOTER()
+ : contentTree;
+ addNavLinks(false, htmlTree);
+ addBottom(htmlTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ contentTree.addContent(htmlTree);
+ }
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfileWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ProfileWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -65,6 +65,11 @@
protected Profile profile;
/**
+ * The HTML tree for main tag.
+ */
+ protected HtmlTree mainTree = HtmlTree.MAIN();
+
+ /**
* Constructor to construct ProfileWriter object and to generate
* "profileName-summary.html" file.
*
@@ -87,9 +92,15 @@
*/
public Content getProfileHeader(String heading) {
String profileName = profile.name;
- Content bodyTree = getBody(true, getWindowTitle(profileName));
- addTop(bodyTree);
- addNavLinks(true, bodyTree);
+ HtmlTree bodyTree = getBody(true, getWindowTitle(profileName));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : bodyTree;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ bodyTree.addContent(htmlTree);
+ }
HtmlTree div = new HtmlTree(HtmlTag.DIV);
div.addStyle(HtmlStyle.header);
Content tHeading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, true,
@@ -98,7 +109,11 @@
Content profileHead = new RawHtml(heading);
tHeading.addContent(profileHead);
div.addContent(tHeading);
- bodyTree.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(div);
+ } else {
+ bodyTree.addContent(div);
+ }
return bodyTree;
}
@@ -133,20 +148,29 @@
* {@inheritDoc}
*/
public Content getPackageSummaryHeader(PackageDoc pkg) {
- Content pkgName = getTargetProfilePackageLink(pkg,
- "classFrame", new StringContent(pkg.name()), profile.name);
- Content heading = HtmlTree.HEADING(HtmlTag.H3, pkgName);
- HtmlTree li = HtmlTree.LI(HtmlStyle.blockList, heading);
- addPackageDeprecationInfo(li, pkg);
- return li;
+ Content pkgName = new StringContent(pkg.name());
+ Content pkgNameLink = getTargetProfilePackageLink(pkg,
+ "classFrame", pkgName, profile.name);
+ Content heading = HtmlTree.HEADING(HtmlTag.H3, pkgNameLink);
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.SECTION(heading)
+ : HtmlTree.LI(HtmlStyle.blockList, heading);
+ addPackageDeprecationInfo(htmlTree, pkg);
+ return htmlTree;
}
/**
* {@inheritDoc}
*/
public Content getPackageSummaryTree(Content packageSummaryContentTree) {
- HtmlTree ul = HtmlTree.UL(HtmlStyle.blockList, packageSummaryContentTree);
- return ul;
+ HtmlTree htmlTree;
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ htmlTree = HtmlTree.UL(HtmlStyle.blockList,
+ HtmlTree.LI(HtmlStyle.blockList, packageSummaryContentTree));
+ } else {
+ htmlTree = HtmlTree.UL(HtmlStyle.blockList, packageSummaryContentTree);
+ }
+ return htmlTree;
}
/**
@@ -161,9 +185,27 @@
/**
* {@inheritDoc}
*/
+ public void addProfileContent(Content contentTree, Content profileContentTree) {
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(profileContentTree);
+ contentTree.addContent(mainTree);
+ } else {
+ contentTree.addContent(profileContentTree);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public void addProfileFooter(Content contentTree) {
- addNavLinks(false, contentTree);
- addBottom(contentTree);
+ Content htmlTree = (configuration.allowTag(HtmlTag.FOOTER))
+ ? HtmlTree.FOOTER()
+ : contentTree;
+ addNavLinks(false, htmlTree);
+ addBottom(htmlTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ contentTree.addContent(htmlTree);
+ }
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -66,6 +66,13 @@
/**
* {@inheritDoc}
*/
+ public void addMemberTree(Content memberSummaryTree, Content memberTree) {
+ writer.addMemberTree(memberSummaryTree, memberTree);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public Content getPropertyDetailsTreeHeader(ClassDoc classDoc,
Content memberDetailsTree) {
memberDetailsTree.addContent(HtmlConstants.START_OF_PROPERTY_DETAILS);
@@ -157,6 +164,10 @@
* {@inheritDoc}
*/
public Content getPropertyDetails(Content propertyDetailsTree) {
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ HtmlTree htmlTree = HtmlTree.SECTION(getMemberTree(propertyDetailsTree));
+ return htmlTree;
+ }
return getMemberTree(propertyDetailsTree);
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
import java.io.*;
import java.util.*;
+
import com.sun.javadoc.*;
import com.sun.tools.doclets.formats.html.markup.*;
import com.sun.tools.doclets.internal.toolkit.*;
@@ -49,6 +50,11 @@
List<ClassDoc> visibleClasses;
/**
+ * HTML tree for main tag.
+ */
+ private HtmlTree mainTree = HtmlTree.MAIN();
+
+ /**
* @param configuration the configuration data for the doclet
* @throws IOException
* @throws DocletAbortException
@@ -66,14 +72,24 @@
* @return the body content tree
*/
public Content getHeader(String header) {
- Content bodyTree = getBody(true, getWindowTitle(header));
- addTop(bodyTree);
- addNavLinks(true, bodyTree);
+ HtmlTree bodyTree = getBody(true, getWindowTitle(header));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : bodyTree;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ bodyTree.addContent(htmlTree);
+ }
Content h1Content = new StringContent(header);
Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, true,
HtmlStyle.title, h1Content);
Content div = HtmlTree.DIV(HtmlStyle.header, heading);
- bodyTree.addContent(div);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(div);
+ } else {
+ bodyTree.addContent(div);
+ }
return bodyTree;
}
@@ -94,9 +110,14 @@
* @return the package serialized form header tree
*/
public Content getPackageSerializedHeader() {
- HtmlTree li = new HtmlTree(HtmlTag.LI);
- li.addStyle(HtmlStyle.blockList);
- return li;
+ HtmlTree htmlTree;
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ htmlTree = HtmlTree.SECTION();
+ } else {
+ htmlTree = new HtmlTree(HtmlTag.LI);
+ htmlTree.addStyle(HtmlStyle.blockList);
+ }
+ return htmlTree;
}
/**
@@ -211,9 +232,24 @@
* @return a div content tree
*/
public Content getSerializedContent(Content serializedTreeContent) {
- Content divContent = HtmlTree.DIV(HtmlStyle.serializedFormContainer,
+ HtmlTree divContent = HtmlTree.DIV(HtmlStyle.serializedFormContainer,
serializedTreeContent);
- return divContent;
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(divContent);
+ return mainTree;
+ } else {
+ return divContent;
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void addPackageSerializedTree(Content serializedSummariesTree,
+ Content packageSerializedTree) {
+ serializedSummariesTree.addContent((configuration.allowTag(HtmlTag.SECTION))
+ ? HtmlTree.LI(HtmlStyle.blockList, packageSerializedTree)
+ : packageSerializedTree);
}
/**
@@ -222,8 +258,14 @@
* @param serializedTree the serialized tree to be added
*/
public void addFooter(Content serializedTree) {
- addNavLinks(false, serializedTree);
- addBottom(serializedTree);
+ Content htmlTree = (configuration.allowTag(HtmlTag.FOOTER))
+ ? HtmlTree.FOOTER()
+ : serializedTree;
+ addNavLinks(false, htmlTree);
+ addBottom(htmlTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ serializedTree.addContent(htmlTree);
+ }
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SingleIndexWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SingleIndexWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -89,9 +89,15 @@
*/
protected void generateIndexFile() throws IOException {
String title = configuration.getText("doclet.Window_Single_Index");
- Content body = getBody(true, getWindowTitle(title));
- addTop(body);
- addNavLinks(true, body);
+ HtmlTree body = getBody(true, getWindowTitle(title));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : body;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ body.addContent(htmlTree);
+ }
HtmlTree divTree = new HtmlTree(HtmlTag.DIV);
divTree.addStyle(HtmlStyle.contentContainer);
addLinksForIndexes(divTree);
@@ -100,9 +106,17 @@
addContents(unicode, indexbuilder.getMemberList(unicode), divTree);
}
addLinksForIndexes(divTree);
- body.addContent(divTree);
- addNavLinks(false, body);
- addBottom(body);
+ body.addContent((configuration.allowTag(HtmlTag.MAIN))
+ ? HtmlTree.MAIN(divTree)
+ : divTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ htmlTree = HtmlTree.FOOTER();
+ }
+ addNavLinks(false, htmlTree);
+ addBottom(htmlTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ body.addContent(htmlTree);
+ }
printHtmlDocument(null, true, body);
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -176,7 +176,7 @@
}
addBlankLines(pre);
Content div = HtmlTree.DIV(HtmlStyle.sourceContainer, pre);
- body.addContent(div);
+ body.addContent((configuration.allowTag(HtmlTag.MAIN)) ? HtmlTree.MAIN(div) : div);
writeToFile(body, outputdir.resolve(DocPath.forClass(cd)));
} catch (IOException e) {
e.printStackTrace();
@@ -190,7 +190,9 @@
* @param path the path for the file.
*/
private void writeToFile(Content body, DocPath path) throws IOException {
- Content htmlDocType = DocType.TRANSITIONAL;
+ Content htmlDocType = configuration.isOutputHtml5()
+ ? DocType.HTML5
+ : DocType.TRANSITIONAL;
Content head = new HtmlTree(HtmlTag.HEAD);
head.addContent(HtmlTree.TITLE(new StringContent(
configuration.getText("doclet.Window_Source_title"))));
@@ -262,8 +264,8 @@
*/
private void addLine(Content pre, String line, int currentLineNo) {
if (line != null) {
- pre.addContent(utils.replaceTabs(configuration, line));
- Content anchor = HtmlTree.A_NAME("line." + Integer.toString(currentLineNo));
+ Content anchor = HtmlTree.A_ID("line." + Integer.toString(currentLineNo),
+ new StringContent(utils.replaceTabs(configuration, line)));
pre.addContent(anchor);
pre.addContent(NEW_LINE);
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SplitIndexWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SplitIndexWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -116,17 +116,29 @@
protected void generateIndexFile(Character unicode) throws IOException {
String title = configuration.getText("doclet.Window_Split_Index",
unicode.toString());
- Content body = getBody(true, getWindowTitle(title));
- addTop(body);
- addNavLinks(true, body);
+ HtmlTree body = getBody(true, getWindowTitle(title));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : body;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ body.addContent(htmlTree);
+ }
HtmlTree divTree = new HtmlTree(HtmlTag.DIV);
divTree.addStyle(HtmlStyle.contentContainer);
addLinksForIndexes(divTree);
addContents(unicode, indexbuilder.getMemberList(unicode), divTree);
addLinksForIndexes(divTree);
- body.addContent(divTree);
- addNavLinks(false, body);
- addBottom(body);
+ body.addContent((configuration.allowTag(HtmlTag.MAIN)) ? HtmlTree.MAIN(divTree) : divTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ htmlTree = HtmlTree.FOOTER();
+ }
+ addNavLinks(false, htmlTree);
+ addBottom(htmlTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ body.addContent(htmlTree);
+ }
printHtmlDocument(null, true, body);
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -55,6 +55,11 @@
*/
public abstract class SubWriterHolderWriter extends HtmlDocletWriter {
+ /**
+ * The HTML tree for main tag.
+ */
+ protected HtmlTree mainTree = HtmlTree.MAIN();
+
public SubWriterHolderWriter(ConfigurationImpl configuration, DocPath filename)
throws IOException {
super(configuration, filename);
@@ -92,8 +97,9 @@
else {
caption = getTableCaption(mw.getCaption());
}
- Content table = HtmlTree.TABLE(HtmlStyle.memberSummary, 0, 3, 0,
- mw.getTableSummary(), caption);
+ Content table = (configuration.isOutputHtml5())
+ ? HtmlTree.TABLE(HtmlStyle.memberSummary, caption)
+ : HtmlTree.TABLE(HtmlStyle.memberSummary, mw.getTableSummary(), caption);
table.addContent(getSummaryTableHeader(mw.getSummaryTableHeader(cd), "col"));
for (Content tableContent : tableContents) {
table.addContent(tableContent);
@@ -261,6 +267,31 @@
}
/**
+ * Add the class content tree.
+ *
+ * @param contentTree content tree to which the class content will be added
+ * @param classContentTree class content tree which will be added to the content tree
+ */
+ public void addClassContentTree(Content contentTree, Content classContentTree) {
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ mainTree.addContent(classContentTree);
+ contentTree.addContent(mainTree);
+ } else {
+ contentTree.addContent(classContentTree);
+ }
+ }
+
+ /**
+ * Add the annotation content tree.
+ *
+ * @param contentTree content tree to which the annotation content will be added
+ * @param annotationContentTree annotation content tree which will be added to the content tree
+ */
+ public void addAnnotationContentTree(Content contentTree, Content annotationContentTree) {
+ addClassContentTree(contentTree, annotationContentTree);
+ }
+
+ /**
* Get the member header tree
*
* @return a content tree the member header
@@ -272,6 +303,21 @@
}
/**
+ * Add the member tree.
+ *
+ * @param memberSummaryTree the content tree representing the member summary
+ * @param memberTree the content tree representing the member
+ */
+ public void addMemberTree(Content memberSummaryTree, Content memberTree) {
+ if (configuration.allowTag(HtmlTag.SECTION)) {
+ HtmlTree htmlTree = HtmlTree.SECTION(getMemberTree(memberTree));
+ memberSummaryTree.addContent(htmlTree);
+ } else {
+ memberSummaryTree.addContent(getMemberTree(memberTree));
+ }
+ }
+
+ /**
* Get the member tree
*
* @param contentTree the tree used to generate the complete member tree
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -101,22 +101,36 @@
* Generate the interface hierarchy and class hierarchy.
*/
public void generateTreeFile() throws IOException {
- Content body = getTreeHeader();
+ HtmlTree body = getTreeHeader();
Content headContent = getResource("doclet.Hierarchy_For_All_Packages");
Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, false,
HtmlStyle.title, headContent);
Content div = HtmlTree.DIV(HtmlStyle.header, heading);
addPackageTreeLinks(div);
- body.addContent(div);
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.MAIN))
+ ? HtmlTree.MAIN()
+ : body;
+ htmlTree.addContent(div);
HtmlTree divTree = new HtmlTree(HtmlTag.DIV);
divTree.addStyle(HtmlStyle.contentContainer);
addTree(classtree.baseclasses(), "doclet.Class_Hierarchy", divTree);
addTree(classtree.baseinterfaces(), "doclet.Interface_Hierarchy", divTree);
addTree(classtree.baseAnnotationTypes(), "doclet.Annotation_Type_Hierarchy", divTree);
addTree(classtree.baseEnums(), "doclet.Enum_Hierarchy", divTree);
- body.addContent(divTree);
- addNavLinks(false, body);
- addBottom(body);
+ htmlTree.addContent(divTree);
+ if (configuration.allowTag(HtmlTag.MAIN)) {
+ body.addContent(htmlTree);
+ }
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ htmlTree = HtmlTree.FOOTER();
+ } else {
+ htmlTree = body;
+ }
+ addNavLinks(false, htmlTree);
+ addBottom(htmlTree);
+ if (configuration.allowTag(HtmlTag.FOOTER)) {
+ body.addContent(htmlTree);
+ }
printHtmlDocument(null, true, body);
}
@@ -164,11 +178,17 @@
*
* @return a content tree for the tree header
*/
- protected Content getTreeHeader() {
+ protected HtmlTree getTreeHeader() {
String title = configuration.getText("doclet.Window_Class_Hierarchy");
- Content bodyTree = getBody(true, getWindowTitle(title));
- addTop(bodyTree);
- addNavLinks(true, bodyTree);
+ HtmlTree bodyTree = getBody(true, getWindowTitle(title));
+ HtmlTree htmlTree = (configuration.allowTag(HtmlTag.HEADER))
+ ? HtmlTree.HEADER()
+ : bodyTree;
+ addTop(htmlTree);
+ addNavLinks(true, htmlTree);
+ if (configuration.allowTag(HtmlTag.HEADER)) {
+ bodyTree.addContent(htmlTree);
+ }
return bodyTree;
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java Mon Apr 27 09:17:39 2015 -0700
@@ -48,10 +48,13 @@
public static final DocType TRANSITIONAL =
new DocType("Transitional", "http://www.w3.org/TR/html4/loose.dtd");
+ public static final DocType HTML5 = new DocType();
+
/**
* Constructor to construct a DocType object.
*
* @param type the doctype to be added
+ * @param dtd the dtd of the doctype
*/
private DocType(String type, String dtd) {
docType = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 " + type +
@@ -59,6 +62,13 @@
}
/**
+ * Constructor to construct a DocType object.
+ */
+ private DocType() {
+ docType = "<!DOCTYPE HTML>" + DocletConstants.NL;
+ }
+
+ /**
* This method is not supported by the class.
*
* @param content content that needs to be added
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -39,9 +39,6 @@
*/
public enum HtmlAttr {
ALT,
- BORDER,
- CELLPADDING,
- CELLSPACING,
CLASS,
CLEAR,
COLS,
@@ -53,6 +50,7 @@
NAME,
ONLOAD,
REL,
+ ROLE,
ROWS,
SCOPE,
SCROLLING,
@@ -65,6 +63,25 @@
private final String value;
+ public enum Role {
+
+ BANNER,
+ CONTENTINFO,
+ MAIN,
+ NAVIGATION,
+ REGION;
+
+ private final String role;
+
+ Role() {
+ role = StringUtils.toLowerCase(name());
+ }
+
+ public String toString() {
+ return role;
+ }
+ }
+
HtmlAttr() {
this.value = StringUtils.toLowerCase(name());
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -307,11 +307,13 @@
*
* @param title Title of this HTML document
* @param configuration the configuration object
- * @param frame the frame content tree to be added to the HTML document
+ * @param body the body content tree to be added to the HTML document
*/
public void printFramesDocument(String title, ConfigurationImpl configuration,
HtmlTree body) throws IOException {
- Content htmlDocType = DocType.TRANSITIONAL;
+ Content htmlDocType = configuration.isOutputHtml5()
+ ? DocType.HTML5
+ : DocType.TRANSITIONAL;
Content htmlComment = new Comment(configuration.getText("doclet.New_Page"));
Content head = new HtmlTree(HtmlTag.HEAD);
head.addContent(getGeneratedBy(!configuration.notimestamp));
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java Mon Apr 27 09:17:39 2015 -0700
@@ -44,6 +44,7 @@
blockList,
blockListLast,
bottomNav,
+ circle,
classUseContainer,
colFirst,
colLast,
@@ -64,7 +65,7 @@
horizontal,
footer,
indexContainer,
- indexHeader,
+ indexNav,
inheritance,
interfaceName,
leftContainer,
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTag.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTag.java Mon Apr 27 09:17:39 2015 -0700
@@ -43,15 +43,16 @@
BODY(BlockType.OTHER, EndTag.END),
BR(BlockType.INLINE, EndTag.NOEND),
CAPTION,
- CENTER,
+ CENTER(HtmlVersion.HTML4),
CODE(BlockType.INLINE, EndTag.END),
DD,
- DIR,
+ DIR(HtmlVersion.HTML4),
DIV,
DL,
DT,
EM(BlockType.INLINE, EndTag.END),
- FONT(BlockType.INLINE, EndTag.END),
+ FONT(HtmlVersion.HTML4, BlockType.INLINE, EndTag.END),
+ FOOTER(HtmlVersion.HTML5),
H1,
H2,
H3,
@@ -59,6 +60,7 @@
H5,
H6,
HEAD(BlockType.OTHER, EndTag.END),
+ HEADER(HtmlVersion.HTML5),
HR(BlockType.BLOCK, EndTag.NOEND),
HTML(BlockType.OTHER, EndTag.END),
I(BlockType.INLINE, EndTag.END),
@@ -67,14 +69,16 @@
LI,
LISTING,
LINK(BlockType.OTHER, EndTag.NOEND),
+ MAIN(HtmlVersion.HTML5),
MENU,
META(BlockType.OTHER, EndTag.NOEND),
- NOFRAMES(BlockType.OTHER, EndTag.END),
+ NAV(HtmlVersion.HTML5),
NOSCRIPT(BlockType.OTHER, EndTag.END),
OL,
P,
PRE,
SCRIPT(BlockType.OTHER, EndTag.END),
+ SECTION(HtmlVersion.HTML5),
SMALL(BlockType.INLINE, EndTag.END),
SPAN(BlockType.INLINE, EndTag.END),
STRONG(BlockType.INLINE, EndTag.END),
@@ -85,12 +89,13 @@
TH,
TITLE(BlockType.OTHER, EndTag.END),
TR,
- TT(BlockType.INLINE, EndTag.END),
+ TT(HtmlVersion.HTML4, BlockType.INLINE, EndTag.END),
UL;
public final BlockType blockType;
public final EndTag endTag;
public final String value;
+ public final HtmlVersion htmlVersion;
/**
* Enum representing the type of HTML element.
@@ -110,10 +115,19 @@
}
HtmlTag() {
- this(BlockType.BLOCK, EndTag.END);
+ this(HtmlVersion.ALL, BlockType.BLOCK, EndTag.END);
+ }
+
+ HtmlTag(HtmlVersion htmlVersion) {
+ this(htmlVersion, BlockType.BLOCK, EndTag.END);
}
HtmlTag(BlockType blockType, EndTag endTag ) {
+ this(HtmlVersion.ALL, blockType, endTag);
+ }
+
+ HtmlTag(HtmlVersion htmlVersion, BlockType blockType, EndTag endTag ) {
+ this.htmlVersion = htmlVersion;
this.blockType = blockType;
this.endTag = endTag;
this.value = StringUtils.toLowerCase(name());
@@ -129,6 +143,16 @@
return (endTag == EndTag.END);
}
+ /**
+ * Returns true if the tag is allowed in the output HTML version of this javadoc run.
+ *
+ * @param htmlVer the output HTML version for this javadoc run
+ * @return true if the tag is allowed
+ */
+ public boolean allowTag(HtmlVersion htmlVer) {
+ return (this.htmlVersion == HtmlVersion.ALL || this.htmlVersion == htmlVer);
+ }
+
public String toString() {
return value;
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java Mon Apr 27 09:17:39 2015 -0700
@@ -32,6 +32,7 @@
import com.sun.tools.doclets.internal.toolkit.Content;
import com.sun.tools.doclets.internal.toolkit.util.*;
+import com.sun.tools.doclets.formats.html.markup.HtmlAttr.Role;
/**
* Class for generating HTML tree for javadoc output.
@@ -87,6 +88,10 @@
addAttr(HtmlAttr.TITLE, stripHtml(body));
}
+ public void setRole(Role role) {
+ addAttr(HtmlAttr.ROLE, role.toString());
+ }
+
/**
* Adds a style for the HTML tag.
*
@@ -221,31 +226,20 @@
}
/**
- * Generates an HTML anchor tag with name attribute and content.
+ * Generates an HTML anchor tag with id attribute and content.
*
- * @param name name for the anchor tag
+ * @param id id for the anchor tag
* @param body content for the anchor tag
* @return an HtmlTree object
*/
- public static HtmlTree A_NAME(String name, Content body) {
- HtmlTree htmltree = HtmlTree.A_NAME(name);
+ public static HtmlTree A_ID(String id, Content body) {
+ HtmlTree htmltree = new HtmlTree(HtmlTag.A);
+ htmltree.addAttr(HtmlAttr.ID, nullCheck(id));
htmltree.addContent(nullCheck(body));
return htmltree;
}
/**
- * Generates an HTML anchor tag with name attribute.
- *
- * @param name name for the anchor tag
- * @return an HtmlTree object
- */
- public static HtmlTree A_NAME(String name) {
- HtmlTree htmltree = new HtmlTree(HtmlTag.A);
- htmltree.addAttr(HtmlAttr.NAME, nullCheck(name));
- return htmltree;
- }
-
- /**
* Generates a CAPTION tag with some content.
*
* @param body content for the tag
@@ -326,18 +320,24 @@
}
/**
- * Generates a IFRAME tag.
+ * Generates a FOOTER tag with role attribute.
*
- * @param src the url of the document to be shown in the frame
- * @param name specifies the name of the frame
- * @param title the title for the frame
- * @return an HtmlTree object for the IFRAME tag
+ * @return an HtmlTree object for the FOOTER tag
*/
- public static HtmlTree IFRAME(String src, String name, String title) {
- HtmlTree htmltree = new HtmlTree(HtmlTag.IFRAME);
- htmltree.addAttr(HtmlAttr.SRC, nullCheck(src));
- htmltree.addAttr(HtmlAttr.NAME, nullCheck(name));
- htmltree.addAttr(HtmlAttr.TITLE, nullCheck(title));
+ public static HtmlTree FOOTER() {
+ HtmlTree htmltree = new HtmlTree(HtmlTag.FOOTER);
+ htmltree.setRole(Role.CONTENTINFO);
+ return htmltree;
+ }
+
+ /**
+ * Generates a HEADER tag with role attribute.
+ *
+ * @return an HtmlTree object for the HEADER tag
+ */
+ public static HtmlTree HEADER() {
+ HtmlTree htmltree = new HtmlTree(HtmlTag.HEADER);
+ htmltree.setRole(Role.BANNER);
return htmltree;
}
@@ -414,6 +414,22 @@
}
/**
+ * Generates a IFRAME tag.
+ *
+ * @param src the url of the document to be shown in the frame
+ * @param name specifies the name of the frame
+ * @param title the title for the frame
+ * @return an HtmlTree object for the IFRAME tag
+ */
+ public static HtmlTree IFRAME(String src, String name, String title) {
+ HtmlTree htmltree = new HtmlTree(HtmlTag.IFRAME);
+ htmltree.addAttr(HtmlAttr.SRC, nullCheck(src));
+ htmltree.addAttr(HtmlAttr.NAME, nullCheck(name));
+ htmltree.addAttr(HtmlAttr.TITLE, nullCheck(title));
+ return htmltree;
+ }
+
+ /**
* Generates a LI tag with some content.
*
* @param body content for the tag
@@ -456,6 +472,44 @@
}
/**
+ * Generates a MAIN tag with role attribute.
+ *
+ * @return an HtmlTree object for the MAIN tag
+ */
+ public static HtmlTree MAIN() {
+ HtmlTree htmltree = new HtmlTree(HtmlTag.MAIN);
+ htmltree.setRole(Role.MAIN);
+ return htmltree;
+ }
+
+ /**
+ * Generates a MAIN tag with role attribute and some content.
+ *
+ * @param body content of the MAIN tag
+ * @return an HtmlTree object for the MAIN tag
+ */
+ public static HtmlTree MAIN(Content body) {
+ HtmlTree htmltree = new HtmlTree(HtmlTag.MAIN, nullCheck(body));
+ htmltree.setRole(Role.MAIN);
+ return htmltree;
+ }
+
+ /**
+ * Generates a MAIN tag with role attribute, style attribute and some content.
+ *
+ * @param styleClass style of the MAIN tag
+ * @param body content of the MAIN tag
+ * @return an HtmlTree object for the MAIN tag
+ */
+ public static HtmlTree MAIN(HtmlStyle styleClass, Content body) {
+ HtmlTree htmltree = HtmlTree.MAIN(body);
+ if (styleClass != null) {
+ htmltree.addStyle(styleClass);
+ }
+ return htmltree;
+ }
+
+ /**
* Generates a META tag with the http-equiv, content and charset attributes.
*
* @param httpEquiv http equiv attribute for the META tag
@@ -486,6 +540,17 @@
}
/**
+ * Generates a NAV tag with the role attribute.
+ *
+ * @return an HtmlTree object for the NAV tag
+ */
+ public static HtmlTree NAV() {
+ HtmlTree htmltree = new HtmlTree(HtmlTag.NAV);
+ htmltree.setRole(Role.NAVIGATION);
+ return htmltree;
+ }
+
+ /**
* Generates a NOSCRIPT tag with some content.
*
* @param body content of the noscript tag
@@ -527,10 +592,43 @@
* @param src the path for the script
* @return an HtmlTree object for the SCRIPT tag
*/
- public static HtmlTree SCRIPT(String type, String src) {
+ public static HtmlTree SCRIPT(String src) {
+ HtmlTree htmltree = HtmlTree.SCRIPT();
+ htmltree.addAttr(HtmlAttr.SRC, nullCheck(src));
+ return htmltree;
+ }
+
+ /**
+ * Generates a SCRIPT tag with the type attribute.
+ *
+ * @return an HtmlTree object for the SCRIPT tag
+ */
+ public static HtmlTree SCRIPT() {
HtmlTree htmltree = new HtmlTree(HtmlTag.SCRIPT);
- htmltree.addAttr(HtmlAttr.TYPE, nullCheck(type));
- htmltree.addAttr(HtmlAttr.SRC, nullCheck(src));
+ htmltree.addAttr(HtmlAttr.TYPE, "text/javascript");
+ return htmltree;
+ }
+
+ /**
+ * Generates a SECTION tag with role attribute.
+ *
+ * @return an HtmlTree object for the SECTION tag
+ */
+ public static HtmlTree SECTION() {
+ HtmlTree htmltree = new HtmlTree(HtmlTag.SECTION);
+ htmltree.setRole(Role.REGION);
+ return htmltree;
+ }
+
+ /**
+ * Generates a SECTION tag with role attribute and some content.
+ *
+ * @param body content of the section tag
+ * @return an HtmlTree object for the SECTION tag
+ */
+ public static HtmlTree SECTION(Content body) {
+ HtmlTree htmltree = new HtmlTree(HtmlTag.SECTION, nullCheck(body));
+ htmltree.setRole(Role.REGION);
return htmltree;
}
@@ -587,30 +685,37 @@
}
/**
- * Generates a Table tag with style class, border, cell padding,
- * cellspacing and summary attributes and some content.
+ * Generates a Table tag with style class and summary attributes and some content.
*
* @param styleClass style of the table
- * @param border border for the table
- * @param cellPadding cell padding for the table
- * @param cellSpacing cell spacing for the table
* @param summary summary for the table
* @param body content for the table
* @return an HtmlTree object for the TABLE tag
*/
- public static HtmlTree TABLE(HtmlStyle styleClass, int border, int cellPadding,
- int cellSpacing, String summary, Content body) {
+ public static HtmlTree TABLE(HtmlStyle styleClass, String summary, Content body) {
HtmlTree htmltree = new HtmlTree(HtmlTag.TABLE, nullCheck(body));
if (styleClass != null)
htmltree.addStyle(styleClass);
- htmltree.addAttr(HtmlAttr.BORDER, Integer.toString(border));
- htmltree.addAttr(HtmlAttr.CELLPADDING, Integer.toString(cellPadding));
- htmltree.addAttr(HtmlAttr.CELLSPACING, Integer.toString(cellSpacing));
htmltree.addAttr(HtmlAttr.SUMMARY, nullCheck(summary));
return htmltree;
}
/**
+ * Generates a Table tag with style class attribute and some content.
+ *
+ * @param styleClass style of the table
+ * @param body content for the table
+ * @return an HtmlTree object for the TABLE tag
+ */
+ public static HtmlTree TABLE(HtmlStyle styleClass, Content body) {
+ HtmlTree htmltree = new HtmlTree(HtmlTag.TABLE, nullCheck(body));
+ if (styleClass != null) {
+ htmltree.addStyle(styleClass);
+ }
+ return htmltree;
+ }
+
+ /**
* Generates a TD tag with style class attribute and some content.
*
* @param styleClass style for the tag
@@ -741,7 +846,7 @@
public boolean isValid() {
switch (htmlTag) {
case A :
- return (hasAttr(HtmlAttr.NAME) || (hasAttr(HtmlAttr.HREF) && hasContent()));
+ return (hasAttr(HtmlAttr.ID) || (hasAttr(HtmlAttr.HREF) && hasContent()));
case BR :
return (!hasContent() && (!hasAttrs() || hasAttr(HtmlAttr.CLEAR)));
case IFRAME :
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlVersion.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.tools.doclets.formats.html.markup;
+
+/**
+ * Enum representing the version of HTML generated by javadoc.
+ *
+ * @author Bhavesh Patel
+ */
+public enum HtmlVersion {
+ HTML4,
+ HTML5,
+ ALL
+}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -306,9 +306,8 @@
* @return an HtmlTree for the SCRIPT tag
*/
protected HtmlTree getWinTitleScript(){
- HtmlTree script = new HtmlTree(HtmlTag.SCRIPT);
+ HtmlTree script = HtmlTree.SCRIPT();
if(winTitle != null && winTitle.length() > 0) {
- script.addAttr(HtmlAttr.TYPE, "text/javascript");
String scriptCode = "<!--" + DocletConstants.NL +
" try {" + DocletConstants.NL +
" if (location.href.indexOf('is-external=true') == -1) {" + DocletConstants.NL +
@@ -377,8 +376,7 @@
* @return a content for the SCRIPT tag
*/
protected Content getFramesJavaScript() {
- HtmlTree script = new HtmlTree(HtmlTag.SCRIPT);
- script.addAttr(HtmlAttr.TYPE, "text/javascript");
+ HtmlTree script = HtmlTree.SCRIPT();
String scriptCode = DocletConstants.NL +
" targetPage = \"\" + window.location.search;" + DocletConstants.NL +
" if (targetPage != \"\" && targetPage != \"undefined\")" + DocletConstants.NL +
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties Mon Apr 27 09:17:39 2015 -0700
@@ -192,6 +192,8 @@
\ -windowtitle <text> Browser window title for the documentation\n\
\ -doctitle <html-code> Include title for the overview page\n\
\ -header <html-code> Include header text for each page\n\
+\ -html4 Generate HTML 4.01 output\n\
+\ -html5 Generate HTML 5 output\n\
\ -footer <html-code> Include footer text for each page\n\
\ -top <html-code> Include top text for each page\n\
\ -bottom <html-code> Include bottom text for each page\n\
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -111,6 +111,14 @@
public Content getMemberTreeHeader();
/**
+ * Add the annotation content tree to the documentation content tree.
+ *
+ * @param contentTree content tree to which the annotation content will be added
+ * @param annotationContentTree annotation content tree which will be added to the content tree
+ */
+ public void addAnnotationContentTree(Content contentTree, Content annotationContentTree);
+
+ /**
* Get the member tree.
*
* @param memberTree the content tree that will be modified and returned
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -176,6 +176,14 @@
public Content getMemberTreeHeader();
/**
+ * Add the class content tree.
+ *
+ * @param contentTree content tree to which the class content will be added
+ * @param classContentTree class content tree which will be added to the content tree
+ */
+ public void addClassContentTree(Content contentTree, Content classContentTree);
+
+ /**
* Add the footer of the page.
*
* @param contentTree content tree to which the footer will be added
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -81,12 +81,12 @@
Set<String> WriteedPackageHeaders, Content contentListTree);
/**
- * Get the content list to be added to the documentation tree.
+ * Add the content list to the documentation tree.
*
+ * @param contentTree the tree to which the contents list will be added
* @param contentListTree the content that will be added to the list
- * @return content list that will be added to the documentation tree
*/
- public abstract Content getContentsList(Content contentListTree);
+ public abstract void addContentsList(Content contentTree, Content contentListTree);
/**
* Get the constant summaries for the document.
@@ -98,16 +98,15 @@
/**
* Adds the given package name.
*
- * @param pkg the {@link PackageDoc} to index.
* @param parsedPackageName the parsed package name. We only Write the
* first 2 directory levels of the package
* name. For example, java.lang.ref would be
* indexed as java.lang.*.
- * @param summariesTree the documentation tree to which the package name will
+ * @param summariesTree the summaries documentation tree
+ * @param first true if the first package is listed
* be written
*/
- public abstract void addPackageName(PackageDoc pkg,
- String parsedPackageName, Content summariesTree);
+ public abstract void addPackageName(String parsedPackageName, Content summariesTree, boolean first);
/**
* Get the class summary header for the constants summary.
@@ -117,6 +116,14 @@
public abstract Content getClassConstantHeader();
/**
+ * Add the content list to the documentation summaries tree.
+ *
+ * @param summariesTree the tree to which the class constants list will be added
+ * @param classConstantTree the class constant tree that will be added to the list
+ */
+ public abstract void addClassConstant(Content summariesTree, Content classConstantTree);
+
+ /**
* Adds the constant member table to the documentation tree.
*
* @param cd the class whose constants are being documented.
@@ -128,6 +135,14 @@
Content classConstantTree);
/**
+ * Add the summaries list to the content tree.
+ *
+ * @param contentTree the tree to which the summaries list will be added
+ * @param summariesTree the summaries content tree that will be added to the list
+ */
+ public abstract void addConstantSummaries(Content contentTree, Content summariesTree);
+
+ /**
* Adds the footer for the summary documentation.
*
* @param contentTree content tree to which the footer will be added
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/MemberSummaryWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/MemberSummaryWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -100,14 +100,22 @@
/**
* Get inherited summary links.
*
- * @return a content tree conatining the inherited summary links
+ * @return a content tree containing the inherited summary links
*/
public Content getInheritedSummaryLinksTree();
/**
+ * Add the member tree to the member summary tree.
+ *
+ * @param memberSummaryTree the content tree representing the member summary
+ * @param memberTree the content tree representing the member
+ */
+ public void addMemberTree(Content memberSummaryTree, Content memberTree);
+
+ /**
* Get the member tree.
*
- * @param memberTree the content tree representating the member
+ * @param memberTree the content tree representing the member
* @return a content tree for the member
*/
public Content getMemberTree(Content memberTree);
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -97,6 +97,15 @@
public abstract void addPackageTags(Content packageContentTree);
/**
+ * Adds the tag information from the "packages.html" or "package-info.java" file to the
+ * documentation tree.
+ *
+ * @param contentTree the content tree to which the package content tree will be added
+ * @param packageContentTree the package content tree to be added
+ */
+ public abstract void addPackageContent(Content contentTree, Content packageContentTree);
+
+ /**
* Adds the footer to the documentation tree.
*
* @param contentTree the tree to which the footer will be added
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ProfilePackageSummaryWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ProfilePackageSummaryWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015 Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -95,6 +95,15 @@
public abstract void addPackageTags(Content packageContentTree);
/**
+ * Adds the tag information from the "packages.html" or "package-info.java" file to the
+ * documentation tree.
+ *
+ * @param contentTree the content tree to which the package content tree will be added
+ * @param packageContentTree the package content tree to be added
+ */
+ public abstract void addPackageContent(Content contentTree, Content packageContentTree);
+
+ /**
* Adds the footer to the documentation tree.
*
* @param contentTree the tree to which the footer will be added
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ProfileSummaryWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/ProfileSummaryWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015 Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -99,6 +99,14 @@
String tableSummary, String[] tableHeader, Content packageSummaryContentTree);
/**
+ * Adds the profile content tree to the documentation tree.
+ *
+ * @param contentTree the tree to which the profile content tree will be added
+ * @param profileContentTree the content tree that will be added
+ */
+ public abstract void addProfileContent(Content contentTree, Content profileContentTree);
+
+ /**
* Adds the footer to the documentation tree.
*
* @param contentTree the tree to which the footer will be added
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -66,6 +66,14 @@
public Content getPackageSerializedHeader();
/**
+ * Add the serialized tree per package to the serialized summaries tree.
+ *
+ * @param serializedSummariesTree the serialized tree to which the package serialized tree will be added
+ * @param packageSerializedTree the serialized tree per package that needs to be added
+ */
+ public void addPackageSerializedTree(Content serializedSummariesTree, Content packageSerializedTree);
+
+ /**
* Get the given package header.
*
* @param packageName the package header to write
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -118,7 +118,7 @@
" " + annotationTypeDoc.name());
Content annotationContentTree = writer.getAnnotationContentHeader();
buildChildren(node, annotationContentTree);
- contentTree.addContent(annotationContentTree);
+ writer.addAnnotationContentTree(contentTree, annotationContentTree);
writer.addFooter(contentTree);
writer.printDocument(contentTree);
writer.close();
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -144,7 +144,7 @@
classDoc.name());
Content classContentTree = writer.getClassContentHeader();
buildChildren(node, classContentTree);
- contentTree.addContent(classContentTree);
+ writer.addClassContentTree(contentTree, classContentTree);
writer.addFooter(contentTree);
writer.printDocument(contentTree);
writer.close();
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -88,6 +88,11 @@
private Content contentTree;
/**
+ * True if first package is listed.
+ */
+ private boolean first = true;
+
+ /**
* Construct a new ConstantsSummaryBuilder.
*
* @param context the build context.
@@ -159,7 +164,7 @@
printedPackageHeaders, contentListTree);
}
}
- contentTree.addContent(writer.getContentsList(contentListTree));
+ writer.addContentsList(contentTree, contentListTree);
}
/**
@@ -176,9 +181,10 @@
currentPackage = aPackage;
//Build the documentation for the current package.
buildChildren(node, summariesTree);
+ first = false;
}
}
- contentTree.addContent(summariesTree);
+ writer.addConstantSummaries(contentTree, summariesTree);
}
/**
@@ -190,8 +196,7 @@
public void buildPackageHeader(XMLNode node, Content summariesTree) {
String parsedPackageName = parsePackageName(currentPackage.name());
if (! printedPackageHeaders.contains(parsedPackageName)) {
- writer.addPackageName(currentPackage,
- parsePackageName(currentPackage.name()), summariesTree);
+ writer.addPackageName(parsePackageName(currentPackage.name()), summariesTree, first);
printedPackageHeaders.add(parsedPackageName);
}
}
@@ -218,7 +223,7 @@
//Build the documentation for the current class.
buildChildren(node, classConstantTree);
}
- summariesTree.addContent(classConstantTree);
+ writer.addClassConstant(summariesTree, classConstantTree);
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -524,7 +524,7 @@
for (Content aSummaryTreeList : summaryTreeList) {
memberTree.addContent(aSummaryTreeList);
}
- memberSummaryTree.addContent(writer.getMemberTree(memberTree));
+ writer.addMemberTree(memberSummaryTree, memberTree);
}
}
}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -137,7 +137,7 @@
public void buildContent(XMLNode node, Content contentTree) {
Content packageContentTree = packageWriter.getContentHeader();
buildChildren(node, packageContentTree);
- contentTree.addContent(packageContentTree);
+ packageWriter.addPackageContent(contentTree, packageContentTree);
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfilePackageSummaryBuilder.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfilePackageSummaryBuilder.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -153,7 +153,7 @@
public void buildContent(XMLNode node, Content contentTree) {
Content packageContentTree = profilePackageWriter.getContentHeader();
buildChildren(node, packageContentTree);
- contentTree.addContent(packageContentTree);
+ profilePackageWriter.addPackageContent(contentTree, packageContentTree);
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfileSummaryBuilder.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ProfileSummaryBuilder.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -142,7 +142,7 @@
public void buildContent(XMLNode node, Content contentTree) {
Content profileContentTree = profileWriter.getContentHeader();
buildChildren(node, profileContentTree);
- contentTree.addContent(profileContentTree);
+ profileWriter.addProfileContent(contentTree, profileContentTree);
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -190,7 +190,7 @@
return;
}
buildChildren(node, packageSerializedTree);
- serializedSummariesTree.addContent(packageSerializedTree);
+ writer.addPackageSerializedTree(serializedSummariesTree, packageSerializedTree);
}
/**
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css Mon Apr 27 09:17:39 2015 -0700
@@ -214,14 +214,20 @@
margin:0 20px;
padding:5px 0 0 0;
}
-.indexHeader {
+.indexNav {
margin:10px;
position:relative;
}
-.indexHeader span{
- margin-right:15px;
+.indexNav ul {
+ padding:0;
+ margin:0;
}
-.indexHeader h1 {
+.indexNav ul li {
+ display:inline;
+ list-style-type:none;
+ padding-right:10px;
+}
+.indexNav h1 {
font-size:13px;
}
.title {
@@ -314,6 +320,9 @@
/*
List styles
*/
+li.circle {
+ list-style:circle;
+}
ul.horizontal li {
display:inline;
font-size:0.9em;
@@ -370,6 +379,7 @@
*/
.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary {
width:100%;
+ border-spacing:0;
border-left:1px solid #EEE;
border-right:1px solid #EEE;
border-bottom:1px solid #EEE;
@@ -638,3 +648,9 @@
overflow:visible;
margin-bottom:30px;
}
+/*
+HTML5 specific styles
+*/
+main, nav, header, footer, section {
+ display:block;
+}
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocEnv.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocEnv.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -814,7 +814,7 @@
return result;
}
- void initDoclint(Collection<String> opts, Collection<String> customTagNames) {
+ void initDoclint(Collection<String> opts, Collection<String> customTagNames, String htmlVersion) {
ArrayList<String> doclintOpts = new ArrayList<>();
for (String opt: opts) {
@@ -836,6 +836,7 @@
sep = DocLint.SEPARATOR;
}
doclintOpts.add(DocLint.XCUSTOM_TAGS_PREFIX + customTags.toString());
+ doclintOpts.add(DocLint.XHTML_VERSION_PREFIX + htmlVersion);
JavacTask t = BasicJavacTask.instance(context);
doclint = new DocLint();
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/RootDocImpl.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/RootDocImpl.java Mon Apr 27 09:17:39 2015 -0700
@@ -377,8 +377,9 @@
return env.fileManager;
}
- public void initDocLint(Collection<String> opts, Collection<String> customTagNames) {
- env.initDoclint(opts, customTagNames);
+ public void initDocLint(Collection<String> opts, Collection<String> customTagNames,
+ String htmlVersion) {
+ env.initDoclint(opts, customTagNames, htmlVersion);
}
public boolean isFunctionalInterface(AnnotationDesc annotationDesc) {
--- a/langtools/test/com/sun/javadoc/AccessSkipNav/AccessSkipNav.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/AccessSkipNav/AccessSkipNav.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -49,14 +49,14 @@
checkOutput("p1/C1.html", true,
// Top navbar <a href>
"<a href=\"#skip.navbar.top\" title=\"Skip navigation links\">Skip navigation links</a>",
- // Top navbar <a name>
- "<a name=\"skip.navbar.top\">\n"
+ // Top navbar <a id>
+ "<a id=\"skip.navbar.top\">\n"
+ "<!-- -->\n"
+ "</a>",
// Bottom navbar <a href>
"<a href=\"#skip.navbar.bottom\" title=\"Skip navigation links\">Skip navigation links</a>",
- // Bottom navbar <a name>
- "<a name=\"skip.navbar.bottom\">\n"
+ // Bottom navbar <a id>
+ "<a id=\"skip.navbar.bottom\">\n"
+ "<!-- -->\n"
+ "</a>");
--- a/langtools/test/com/sun/javadoc/testAnchorNames/TestAnchorNames.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testAnchorNames/TestAnchorNames.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -53,15 +53,15 @@
// Test some section markers and links to these markers
checkOutput("pkg1/RegClass.html", true,
- "<a name=\"skip.navbar.top\">",
+ "<a id=\"skip.navbar.top\">",
"<a href=\"#skip.navbar.top\" title=\"Skip navigation links\">",
- "<a name=\"nested.class.summary\">",
+ "<a id=\"nested.class.summary\">",
"<a href=\"#nested.class.summary\">",
- "<a name=\"method.summary\">",
+ "<a id=\"method.summary\">",
"<a href=\"#method.summary\">",
- "<a name=\"field.detail\">",
+ "<a id=\"field.detail\">",
"<a href=\"#field.detail\">",
- "<a name=\"constructor.detail\">",
+ "<a id=\"constructor.detail\">",
"<a href=\"#constructor.detail\">");
// Test some members and link to these members
@@ -72,59 +72,59 @@
// Test some fields
checkOutput("pkg1/RegClass.html", true,
- "<a name=\"Z:Z_\">",
+ "<a id=\"Z:Z_\">",
"<a href=\"../pkg1/RegClass.html#Z:Z_\">",
- "<a name=\"Z:Z_:D\">",
+ "<a id=\"Z:Z_:D\">",
"<a href=\"../pkg1/RegClass.html#Z:Z_:D\">",
- "<a name=\"Z:Z:D_\">",
+ "<a id=\"Z:Z:D_\">",
"<a href=\"../pkg1/RegClass.html#Z:Z:D_\">",
- "<a name=\"Z:Z:Dfield\">",
+ "<a id=\"Z:Z:Dfield\">",
"<a href=\"../pkg1/RegClass.html#Z:Z:Dfield\">",
- "<a name=\"fieldInCla:D:D\">",
+ "<a id=\"fieldInCla:D:D\">",
"<a href=\"../pkg1/RegClass.html#fieldInCla:D:D\">",
- "<a name=\"S_:D:D:D:D:DINT\">",
+ "<a id=\"S_:D:D:D:D:DINT\">",
"<a href=\"../pkg1/RegClass.html#S_:D:D:D:D:DINT\">",
- "<a name=\"method:D:D\">",
+ "<a id=\"method:D:D\">",
"<a href=\"../pkg1/RegClass.html#method:D:D\">");
checkOutput("pkg1/DeprMemClass.html", true,
- "<a name=\"Z:Z_field_In_Class\">",
+ "<a id=\"Z:Z_field_In_Class\">",
"<a href=\"../pkg1/DeprMemClass.html#Z:Z_field_In_Class\">");
// Test constructor
checkOutput("pkg1/RegClass.html", true,
- "<a name=\"RegClass-java.lang.String-int-\">",
+ "<a id=\"RegClass-java.lang.String-int-\">",
"<a href=\"../pkg1/RegClass.html#RegClass-java.lang.String-int-\">");
// Test some methods
checkOutput("pkg1/RegClass.html", true,
- "<a name=\"Z:Z_methodInClass-java.lang.String-\">",
+ "<a id=\"Z:Z_methodInClass-java.lang.String-\">",
"<a href=\"../pkg1/RegClass.html#Z:Z_methodInClass-java.lang.String-\">",
- "<a name=\"method--\">",
+ "<a id=\"method--\">",
"<a href=\"../pkg1/RegClass.html#method--\">",
- "<a name=\"foo-java.util.Map-\">",
+ "<a id=\"foo-java.util.Map-\">",
"<a href=\"../pkg1/RegClass.html#foo-java.util.Map-\">",
- "<a name=\"methodInCla:Ds-java.lang.String:A-\">",
+ "<a id=\"methodInCla:Ds-java.lang.String:A-\">",
"<a href=\"../pkg1/RegClass.html#methodInCla:Ds-java.lang.String:A-\">",
- "<a name=\"Z:Z_methodInClas:D-java.lang.String-int-\">",
+ "<a id=\"Z:Z_methodInClas:D-java.lang.String-int-\">",
"<a href=\"../pkg1/RegClass.html#Z:Z_methodInClas:D-java.lang.String-int-\">",
- "<a name=\"methodD-pkg1.RegClass.:DA-\">",
+ "<a id=\"methodD-pkg1.RegClass.:DA-\">",
"<a href=\"../pkg1/RegClass.html#methodD-pkg1.RegClass.:DA-\">",
- "<a name=\"methodD-pkg1.RegClass.D:A-\">",
+ "<a id=\"methodD-pkg1.RegClass.D:A-\">",
"<a href=\"../pkg1/RegClass.html#methodD-pkg1.RegClass.D:A-\">");
checkOutput("pkg1/DeprMemClass.html", true,
- "<a name=\"Z:Z:Dmethod_In_Class--\">",
+ "<a id=\"Z:Z:Dmethod_In_Class--\">",
"<a href=\"../pkg1/DeprMemClass.html#Z:Z:Dmethod_In_Class--\">");
// Test enum
checkOutput("pkg1/RegClass.Te$t_Enum.html", true,
- "<a name=\"Z:Z:DFLD2\">",
+ "<a id=\"Z:Z:DFLD2\">",
"<a href=\"../pkg1/RegClass.Te$t_Enum.html#Z:Z:DFLD2\">");
// Test nested class
checkOutput("pkg1/RegClass._NestedClas$.html", true,
- "<a name=\"Z:Z_NestedClas:D--\">",
+ "<a id=\"Z:Z_NestedClas:D--\">",
"<a href=\"../pkg1/RegClass._NestedClas$.html#Z:Z_NestedClas:D--\">");
// Test class use page
@@ -143,11 +143,11 @@
// Test serialized form page
checkOutput("serialized-form.html", true,
//This is the marker for the link that appears in the pkg1.RegClass.html page
- "<a name=\"pkg1.RegClass\">");
+ "<a id=\"pkg1.RegClass\">");
// Test member name index page
checkOutput("index-all.html", true,
- "<a name=\"I:Z:Z:D\">",
+ "<a id=\"I:Z:Z:D\">",
"<a href=\"#I:Z:Z:D\">$",
"<a href=\"#I:Z:Z_\">_");
--- a/langtools/test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -47,6 +47,6 @@
checkExit(Exit.OK);
checkOutput("pkg/AnnotationOptional.html", true,
- "<a name=\"annotation.type.element.detail\">");
+ "<a id=\"annotation.type.element.detail\">");
}
}
--- a/langtools/test/com/sun/javadoc/testClassTree/TestClassTree.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testClassTree/TestClassTree.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -50,22 +50,22 @@
checkOutput("pkg/package-tree.html", true,
"<ul>\n"
- + "<li type=\"circle\">pkg.<a href=\"../pkg/ParentClass.html\" "
+ + "<li class=\"circle\">pkg.<a href=\"../pkg/ParentClass.html\" "
+ "title=\"class in pkg\"><span class=\"typeNameLink\">ParentClass</span></a>",
"<h2 title=\"Annotation Type Hierarchy\">Annotation Type Hierarchy</h2>\n"
+ "<ul>\n"
- + "<li type=\"circle\">pkg.<a href=\"../pkg/AnnotationType.html\" "
+ + "<li class=\"circle\">pkg.<a href=\"../pkg/AnnotationType.html\" "
+ "title=\"annotation in pkg\"><span class=\"typeNameLink\">AnnotationType</span></a> "
+ "(implements java.lang.annotation.Annotation)</li>\n"
+ "</ul>",
"<h2 title=\"Enum Hierarchy\">Enum Hierarchy</h2>\n"
+ "<ul>\n"
- + "<li type=\"circle\">java.lang.Object\n"
+ + "<li class=\"circle\">java.lang.Object\n"
+ "<ul>\n"
- + "<li type=\"circle\">java.lang.Enum<E> (implements java.lang."
+ + "<li class=\"circle\">java.lang.Enum<E> (implements java.lang."
+ "Comparable<T>, java.io.Serializable)\n"
+ "<ul>\n"
- + "<li type=\"circle\">pkg.<a href=\"../pkg/Coin.html\" "
+ + "<li class=\"circle\">pkg.<a href=\"../pkg/Coin.html\" "
+ "title=\"enum in pkg\"><span class=\"typeNameLink\">Coin</span></a></li>\n"
+ "</ul>\n"
+ "</li>\n"
@@ -74,7 +74,7 @@
+ "</ul>");
checkOutput("pkg/package-tree.html", false,
- "<li type=\"circle\">class pkg.<a href=\"../pkg/ParentClass.html\" "
+ "<li class=\"circle\">class pkg.<a href=\"../pkg/ParentClass.html\" "
+ "title=\"class in pkg\"><span class=\"typeNameLink\">ParentClass</span></a></li>");
}
}
--- a/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -58,21 +58,21 @@
+ "<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner-int-\"><code>"
+ "NestedInner(int)</code></a>",
"<a href=\"../pkg1/Outer.html#Outer--\">Outer</a></span>()",
- "<a name=\"Outer--\">",
+ "<a id=\"Outer--\">",
"<a href=\"../pkg1/Outer.html#Outer-int-\">Outer</a></span>(int i)",
- "<a name=\"Outer-int-\">");
+ "<a id=\"Outer-int-\">");
checkOutput("pkg1/Outer.Inner.html", true,
"<a href=\"../pkg1/Outer.Inner.html#Inner--\">Inner</a></span>()",
- "<a name=\"Inner--\">",
+ "<a id=\"Inner--\">",
"<a href=\"../pkg1/Outer.Inner.html#Inner-int-\">Inner</a></span>(int i)",
- "<a name=\"Inner-int-\">");
+ "<a id=\"Inner-int-\">");
checkOutput("pkg1/Outer.Inner.NestedInner.html", true,
"<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner--\">NestedInner</a></span>()",
- "<a name=\"NestedInner--\">",
+ "<a id=\"NestedInner--\">",
"<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner-int-\">NestedInner</a></span>(int i)",
- "<a name=\"NestedInner-int-\">");
+ "<a id=\"NestedInner-int-\">");
checkOutput("pkg1/Outer.Inner.html", false,
"Outer.Inner--",
--- a/langtools/test/com/sun/javadoc/testHref/TestHref.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testHref/TestHref.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -53,11 +53,11 @@
//Member summary table link.
"href=\"../pkg/C1.html#method-int-int-java.util.ArrayList-\"",
//Anchor test.
- "<a name=\"method-int-int-java.util.ArrayList-\">\n"
+ "<a id=\"method-int-int-java.util.ArrayList-\">\n"
+ "<!-- -->\n"
+ "</a>",
//Backward compatibility anchor test."pkg/C1.html",
- "<a name=\"method-int-int-java.util.ArrayList-\">\n"
+ "<a id=\"method-int-int-java.util.ArrayList-\">\n"
+ "<!-- -->\n"
+ "</a>");
--- a/langtools/test/com/sun/javadoc/testHtmlDocument/TestHtmlDocument.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testHtmlDocument/TestHtmlDocument.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -113,7 +113,7 @@
// Test another version of A tag.
HtmlTree anchor = new HtmlTree(HtmlTag.A);
anchor.addAttr(HtmlAttr.HREF, "testLink.html");
- anchor.addAttr(HtmlAttr.NAME, "Another version of a tag");
+ anchor.addAttr(HtmlAttr.ID, "Another version of a tag");
p1.addContent(anchor);
body.addContent(p1);
// Test for empty tags.
--- a/langtools/test/com/sun/javadoc/testHtmlDocument/testMarkup.html Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testHtmlDocument/testMarkup.html Mon Apr 27 09:17:39 2015 -0700
@@ -9,7 +9,7 @@
<body>
<!-- ======== START OF PARAGRAPH ======== -->
<p>This document is generated from sample source code and HTML files with examples of a wide variety of Java language constructs: packages, subclasses, subinterfaces, nested classes, nested interfaces,inheriting from other packages, constructors, fields,methods, and so forth. <a href="testLink.html">Click Here</a> to <test> out a link.</p>
-<p><a href="testLink.html" name="Another version of a tag"></a></p>
+<p><a href="testLink.html" id="Another version of a tag"></a></p>
<dl>
<dd>Test DD</dd>
</dl>
--- a/langtools/test/com/sun/javadoc/testHtmlTableStyles/TestHtmlTableStyles.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testHtmlTableStyles/TestHtmlTableStyles.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -48,37 +48,30 @@
checkOutput("pkg1/TestTable.html", true,
"<table summary=\"Summary\" border cellpadding=3 cellspacing=1>",
- "<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Field Summary table, listing fields, "
+ "<table class=\"memberSummary\" summary=\"Field Summary table, listing fields, "
+ "and an explanation\">",
- "<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Constructor Summary table, listing "
+ "<table class=\"memberSummary\" summary=\"Constructor Summary table, listing "
+ "constructors, and an explanation\">",
- "<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Method Summary table, listing methods, "
+ "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, "
+ "and an explanation\">");
checkOutput("pkg1/package-summary.html", true,
- "<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Class Summary table, listing classes, "
+ "<table class=\"typeSummary\" summary=\"Class Summary table, listing classes, "
+ "and an explanation\">");
checkOutput("pkg1/class-use/TestTable.html", true,
- "<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Use table, listing fields, and an explanation\">");
+ "<table class=\"useSummary\" summary=\"Use table, listing fields, and an explanation\">");
checkOutput("overview-summary.html", true,
- "<table class=\"overviewSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Packages table, listing packages, and an explanation\">");
+ "<table class=\"overviewSummary\" "
+ + "summary=\"Packages table, listing packages, and an explanation\">");
checkOutput("deprecated-list.html", true,
- "<table class=\"deprecatedSummary\" border=\"0\" cellpadding=\"3\" " +
- "cellspacing=\"0\" summary=\"Deprecated Methods table, listing " +
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Methods table, listing " +
"deprecated methods, and an explanation\">");
checkOutput("constant-values.html", true,
- "<table class=\"constantsSummary\" border=\"0\" cellpadding=\"3\" " +
- "cellspacing=\"0\" summary=\"Constant Field Values table, listing " +
+ "<table class=\"constantsSummary\" summary=\"Constant Field Values table, listing " +
"constant fields, and values\">");
}
}
--- a/langtools/test/com/sun/javadoc/testHtmlTableTags/TestHtmlTableTags.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testHtmlTableTags/TestHtmlTableTags.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -63,111 +63,85 @@
void checkHtmlTableSummaries() {
//Package summary
checkOutput("pkg1/package-summary.html", true,
- "<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\""
- + " cellspacing=\"0\" summary=\"Class Summary table, "
+ "<table class=\"typeSummary\" summary=\"Class Summary table, "
+ "listing classes, and an explanation\">",
- "<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\""
- + " cellspacing=\"0\" summary=\"Interface Summary table, "
+ "<table class=\"typeSummary\" summary=\"Interface Summary table, "
+ "listing interfaces, and an explanation\">");
checkOutput("pkg2/package-summary.html", true,
- "<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\""
- + " cellspacing=\"0\" summary=\"Enum Summary table, "
+ "<table class=\"typeSummary\" summary=\"Enum Summary table, "
+ "listing enums, and an explanation\">",
- "<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\""
- + " cellspacing=\"0\" summary=\"Annotation Types Summary table, "
+ "<table class=\"typeSummary\" summary=\"Annotation Types Summary table, "
+ "listing annotation types, and an explanation\">");
// Class documentation
checkOutput("pkg1/C1.html", true,
- "<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Field Summary table, listing fields, "
+ "<table class=\"memberSummary\" summary=\"Field Summary table, listing fields, "
+ "and an explanation\">",
- "<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Method Summary table, listing methods, "
+ "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, "
+ "and an explanation\">");
checkOutput("pkg2/C2.html", true,
- "<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Nested Class Summary table, listing "
+ "<table class=\"memberSummary\" summary=\"Nested Class Summary table, listing "
+ "nested classes, and an explanation\">",
- "<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Constructor Summary table, listing "
+ "<table class=\"memberSummary\" summary=\"Constructor Summary table, listing "
+ "constructors, and an explanation\">");
checkOutput("pkg2/C2.ModalExclusionType.html", true,
- "<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Enum Constant Summary table, listing "
+ "<table class=\"memberSummary\" summary=\"Enum Constant Summary table, listing "
+ "enum constants, and an explanation\">");
checkOutput("pkg2/C3.html", true,
- "<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Required Element Summary table, "
+ "<table class=\"memberSummary\" summary=\"Required Element Summary table, "
+ "listing required elements, and an explanation\">");
checkOutput("pkg2/C4.html", true,
- "<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Optional Element Summary table, "
+ "<table class=\"memberSummary\" summary=\"Optional Element Summary table, "
+ "listing optional elements, and an explanation\">");
// Class use documentation
checkOutput("pkg1/class-use/I1.html", true,
- "<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use "
- + "table, listing packages, and an explanation\">");
+ "<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">");
checkOutput("pkg1/class-use/C1.html", true,
- "<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use "
- + "table, listing fields, and an explanation\">",
- "<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use "
- + "table, listing methods, and an explanation\">");
+ "<table class=\"useSummary\" summary=\"Use table, listing fields, and an explanation\">",
+ "<table class=\"useSummary\" summary=\"Use table, listing methods, and an explanation\">");
checkOutput("pkg2/class-use/C2.html", true,
- "<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use "
- + "table, listing fields, and an explanation\">",
- "<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use "
- + "table, listing methods, and an explanation\">");
+ "<table class=\"useSummary\" summary=\"Use table, listing fields, and an explanation\">",
+ "<table class=\"useSummary\" summary=\"Use table, listing methods, and an explanation\">");
checkOutput("pkg2/class-use/C2.ModalExclusionType.html", true,
- "<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use "
- + "table, listing packages, and an explanation\">");
+ "<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">");
checkOutput("pkg2/class-use/C2.ModalExclusionType.html", true,
- "<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use "
- + "table, listing methods, and an explanation\">");
+ "<table class=\"useSummary\" summary=\"Use table, listing methods, and an explanation\">");
// Package use documentation
checkOutput("pkg1/package-use.html", true,
- "<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use "
- + "table, listing packages, and an explanation\">",
- "<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use "
- + "table, listing classes, and an explanation\">");
+ "<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">",
+ "<table class=\"useSummary\" summary=\"Use table, listing classes, and an explanation\">");
checkOutput("pkg2/package-use.html", true,
- "<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use "
- + "table, listing packages, and an explanation\">",
- "<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use "
- + "table, listing classes, and an explanation\">");
+ "<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">",
+ "<table class=\"useSummary\" summary=\"Use table, listing classes, and an explanation\">");
// Deprecated
checkOutput("deprecated-list.html", true,
- "<table class=\"deprecatedSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" "
- + "summary=\"Deprecated Fields table, listing deprecated fields, "
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Fields table, listing deprecated fields, "
+ "and an explanation\">",
- "<table class=\"deprecatedSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" "
- + "summary=\"Deprecated Methods table, listing deprecated methods, "
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Methods table, listing deprecated methods, "
+ "and an explanation\">");
// Constant values
checkOutput("constant-values.html", true,
- "<table class=\"constantsSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" "
- + "summary=\"Constant Field Values table, listing "
+ "<table class=\"constantsSummary\" summary=\"Constant Field Values table, listing "
+ "constant fields, and values\">");
// Overview Summary
checkOutput("overview-summary.html", true,
- "<table class=\"overviewSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Packages table, "
- + "listing packages, and an explanation\">");
+ "<table class=\"overviewSummary\" "
+ + "summary=\"Packages table, listing packages, and an explanation\">");
}
/*
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/TestHtmlVersion.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,2158 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8072945
+ * @summary Test the version of HTML generated by the javadoc tool.
+ * @author bpatel
+ * @library ../lib
+ * @build JavadocTester
+ * @run main TestHtmlVersion
+ */
+
+public class TestHtmlVersion extends JavadocTester {
+
+ public static void main(String... args) throws Exception {
+ TestHtmlVersion tester = new TestHtmlVersion();
+ tester.runTests();
+ }
+
+ @Test
+ void test1() {
+ javadoc("-d", "out-1", "-private", "-linksource", "-html5",
+ "-Xprofilespath", testSrc("profile-rtjar-includes.txt"),
+ "-sourcepath", testSrc,
+ "-use",
+ "pkg", "pkg1", "pkg2", "pkg3");
+ checkExit(Exit.OK);
+
+ html5Output();
+ html5NegatedOutput();
+ }
+
+ @Test
+ void test2() {
+ javadoc("-d", "out-2", "-private", "-linksource", "-html4",
+ "-Xprofilespath", testSrc("profile-rtjar-includes.txt"),
+ "-sourcepath", testSrc,
+ "-use",
+ "pkg", "pkg1", "pkg2", "pkg3");
+ checkExit(Exit.OK);
+
+ html4Output();
+ html4NegatedOutput();
+ }
+
+ @Test
+ void test3() {
+ javadoc("-d", "out-3", "-private", "-linksource",
+ "-Xprofilespath", testSrc("profile-rtjar-includes.txt"),
+ "-sourcepath", testSrc,
+ "-use",
+ "pkg", "pkg1", "pkg2", "pkg3");
+ checkExit(Exit.OK);
+
+ html4Output();
+ html4NegatedOutput();
+ }
+
+ @Test
+ void test4() {
+ javadoc("-d", "out-4", "-private", "-linksource", "-html5",
+ "-sourcepath", testSrc,
+ "-use",
+ "pkg3");
+ checkExit(Exit.OK);
+ }
+
+ void html5Output() {
+ // Test for overview-frame page
+ checkOutput("overview-frame.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<nav role=\"navigation\" class=\"indexNav\">\n"
+ + "<ul>\n"
+ + "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>",
+ "<main role=\"main\" class=\"indexContainer\">\n"
+ + "<h2 title=\"Packages\">Packages</h2>");
+
+ // Test for allclasses-frame page
+ checkOutput("allclasses-frame.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<main role=\"main\" class=\"indexContainer\">\n"
+ + "<ul>\n"
+ + "<li>");
+
+ // Test for allclasses-noframe page
+ checkOutput("allclasses-noframe.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<main role=\"main\" class=\"indexContainer\">\n"
+ + "<ul>\n"
+ + "<li>");
+
+ // Test for profile-overview-frame page
+ checkOutput("profile-overview-frame.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<nav role=\"navigation\" class=\"indexNav\">\n"
+ + "<ul>\n"
+ + "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>",
+ "<main role=\"main\" class=\"indexContainer\">\n"
+ + "<h2 title=\"Profiles\">Profiles</h2>");
+
+ // Test for <profile-name>-frame page
+ checkOutput("compact1-frame.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<nav role=\"navigation\" class=\"indexNav\">\n"
+ + "<ul>\n"
+ + "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>",
+ "<main role=\"main\" class=\"indexContainer\">\n"
+ + "<h2 title=\"compact1\"><a href=\"compact1-summary.html\" target=\"classFrame\">compact1</a> Packages</h2>");
+
+ // Test for overview-summary page
+ checkOutput("overview-summary.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"overviewSummary\">\n"
+ + "<caption>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"contentContainer\">\n"
+ + "<div>\n"
+ + "<h2>Profiles</h2>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for package-frame page
+ checkOutput("pkg/package-frame.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<main role=\"main\">\n"
+ + "<h1 class=\"bar\"><a href=\"../pkg/package-summary.html\" target=\"classFrame\">pkg</a></h1>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Interfaces\">Interfaces</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Classes\">Classes</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Enums\">Enums</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Exceptions\">Exceptions</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Errors\">Errors</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Annotation Types\">Annotation Types</h2>");
+
+ // Test for package-summary page
+ checkOutput("pkg/package-summary.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"typeSummary\">",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Package pkg Description\">Package pkg Description</h2>\n",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for package-tree page
+ checkOutput("pkg/package-tree.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<li class=\"circle\">",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Class Hierarchy\">Class Hierarchy</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Interface Hierarchy\">Interface Hierarchy</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Annotation Type Hierarchy\">Annotation Type Hierarchy</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Enum Hierarchy\">Enum Hierarchy</h2>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for package-use page
+ checkOutput("pkg1/package-use.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"useSummary\">",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for <profile-name>-package-frame page
+ checkOutput("pkg/compact1-package-frame.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<main role=\"main\">\n"
+ + "<h1 class=\"bar\"><a href=\"../compact1-summary.html\" target=\"classFrame\">"
+ + "compact1</a> - <a href=\"../pkg/compact1-package-summary.html\" target=\"classFrame\">pkg</a></h1>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Interfaces\">Interfaces</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Classes\">Classes</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Enums\">Enums</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Exceptions\">Exceptions</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Errors\">Errors</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Annotation Types\">Annotation Types</h2>");
+
+ // Test for <profile-name>-package-summary page
+ checkOutput("pkg/compact1-package-summary.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"typeSummary\">",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Package pkg Description\">Package pkg Description</h2>\n",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for <profile-name>-summary page
+ checkOutput("compact1-summary.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"typeSummary\">",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\">\n"
+ + "<section role=\"region\">\n"
+ + "<h3><a href=\"pkg/compact1-package-summary.html\" target=\"classFrame\">pkg</a></h3>\n",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for constant-values page
+ checkOutput("constant-values.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"constantsSummary\">",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Contents\">Contents</h2>\n",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"pkg\">pkg.*</h2>\n",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for deprecated-list page
+ checkOutput("deprecated-list.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"deprecatedSummary\">",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for serialized-form page
+ checkOutput("serialized-form.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Package\">Package pkg</h2>\n",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for overview-tree page
+ checkOutput("overview-tree.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<li class=\"circle\">",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Class Hierarchy\">Class Hierarchy</h2>\n",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Interface Hierarchy\">Interface Hierarchy</h2>\n",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Annotation Type Hierarchy\">Annotation Type Hierarchy</h2>\n",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Enum Hierarchy\">Enum Hierarchy</h2>\n",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for index-all page
+ checkOutput("index-all.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "</header>\n"
+ + "<main role=\"main\">",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for src-html page
+ checkOutput("src-html/pkg/AnotherClass.html", true,
+ "<!DOCTYPE HTML>",
+ "<main role=\"main\">\n"
+ + "<div class=\"sourceContainer\">");
+
+ // Test for help-doc page
+ checkOutput("help-doc.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<h2>Overview</h2>\n",
+ "<section role=\"region\">\n"
+ + "<h2>Package</h2>\n",
+ "<section role=\"region\">\n"
+ + "<h2>Class/Interface</h2>\n",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for a regular class page and members (nested class, field, constructore and method)
+ checkOutput("pkg/AnotherClass.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"nested.class.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Nested Class Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"field.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Field Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Summary</h3>",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"field.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Field Detail</h3>",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Detail</h3>",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Detail</h3>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for enum page
+ checkOutput("pkg/AnotherClass.ModalExclusionType.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"enum.constant.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Enum Constant Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"enum.constant.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Enum Constant Detail</h3>",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Detail</h3>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for interface page
+ checkOutput("pkg2/Interface.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Detail</h3>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for error page
+ checkOutput("pkg/TestError.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Summary</h3>",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Detail</h3>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for exception page
+ checkOutput("pkg/TestException.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Summary</h3>",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Detail</h3>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for annotation page
+ checkOutput("pkg2/TestAnnotationType.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"annotation.type.required.element.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Required Element Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"annotation.type.optional.element.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Optional Element Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"annotation.type.element.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Element Detail</h3>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for class use page
+ checkOutput("pkg1/class-use/RegClass.html", true,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<table class=\"useSummary\">",
+ "<section role=\"region\"><a id=\"pkg\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Uses of <a href=\"../../pkg1/RegClass.html\" title=\"class in pkg1\">RegClass</a> in <a href=\"../../pkg/package-summary.html\">pkg</a></h3>\n"
+ + "<table class=\"useSummary\">",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Test for main index page
+ checkOutput("index.html", true,
+ "<!DOCTYPE HTML>",
+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"stylesheet.css\" title=\"Style\">",
+ "<body>\n"
+ + "<main role=\"main\">\n"
+ + "<div class=\"mainContainer\">\n"
+ + "<div class=\"leftContainer\">\n"
+ + "<div class=\"leftTop\">\n"
+ + "<iframe src=\"overview-frame.html\" name=\"packageListFrame\" title=\"All Packages\"></iframe>\n"
+ + "</div>");
+ }
+
+ void html5NegatedOutput() {
+ // Negated test for overview-frame page
+ checkOutput("overview-frame.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<div class=\"indexNav\">\n"
+ + "<ul>\n"
+ + "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>",
+ "<div class=\"indexContainer\">\n"
+ + "<h2 title=\"Packages\">Packages</h2>");
+
+ // Negated test for allclasses-frame page
+ checkOutput("allclasses-frame.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<div class=\"indexContainer\">\n"
+ + "<ul>\n"
+ + "<li>");
+
+ // Negated test for allclasses-noframe page
+ checkOutput("allclasses-noframe.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<div class=\"indexContainer\">\n"
+ + "<ul>\n"
+ + "<li>");
+
+ // Negated test for profile-overview-frame page
+ checkOutput("profile-overview-frame.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<div class=\"indexNav\">\n"
+ + "<ul>\n"
+ + "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>",
+ "<div class=\"indexContainer\">\n"
+ + "<h2 title=\"Profiles\">Profiles</h2>");
+
+ // Negated test for <profile-name>-frame page
+ checkOutput("compact1-frame.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<div class=\"indexNav\">\n"
+ + "<ul>\n"
+ + "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>",
+ "<div class=\"indexContainer\">\n"
+ + "<h2 title=\"compact1\"><a href=\"compact1-summary.html\" target=\"classFrame\">compact1</a> Packages</h2>");
+
+ // Negated test for overview-summary page
+ checkOutput("overview-summary.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"overviewSummary\" summary=\"Packages table, listing packages, and an explanation\">\n"
+ + "<caption>",
+ "</noscript>\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"contentContainer\">\n"
+ + "<div>\n"
+ + "<h2>Profiles</h2>");
+
+ // Negated test for package-frame page
+ checkOutput("pkg/package-frame.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<body>\n"
+ + "<h1 class=\"bar\"><a href=\"../pkg/package-summary.html\" target=\"classFrame\">pkg</a></h1>");
+
+ // Negated test for package-summary page
+ checkOutput("pkg/package-summary.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Class Summary table, listing classes, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Enum Summary table, listing enums, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Exception Summary table, listing exceptions, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Error Summary table, listing errors, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Annotation Types Summary table, listing annotation types, and an explanation\">");
+
+ // Negated test for package-tree page
+ checkOutput("pkg/package-tree.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>");
+
+ // Negated test for package-use page
+ checkOutput("pkg1/package-use.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">");
+
+ // Negated test for <profile-name>-package-frame page
+ checkOutput("pkg/compact1-package-frame.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<body>\n"
+ + "<h1 class=\"bar\"><a href=\"../compact1-summary.html\" target=\"classFrame\">"
+ + "compact1</a> - <a href=\"../pkg/compact1-package-summary.html\" target=\"classFrame\">pkg</a></h1>");
+
+ // Negated test for <profile-name>-package-summary page
+ checkOutput("pkg/compact1-package-summary.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Class Summary table, listing classes, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Enum Summary table, listing enums, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Exception Summary table, listing exceptions, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Error Summary table, listing errors, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Annotation Types Summary table, listing annotation types, and an explanation\">");
+
+ // Negated test for <profile-name>-summary page
+ checkOutput("compact1-summary.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Class Summary table, listing classes, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Enum Summary table, listing enums, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Exception Summary table, listing exceptions, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Error Summary table, listing errors, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Annotation Types Summary table, listing annotation types, and an explanation\">");
+
+ // Negated test for constant-values page
+ checkOutput("constant-values.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"header\">",
+ "<table class=\"constantsSummary\" summary=\"Constant Field Values table, listing constant fields, and values\">");
+
+ // Negated test for deprecated-list page
+ checkOutput("deprecated-list.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"header\">\n"
+ + "<h1 title=\"Deprecated API\" class=\"title\">Deprecated API</h1>\n"
+ + "<h2 title=\"Contents\">Contents</h2>",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Classes table, listing deprecated classes, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Enums table, listing deprecated enums, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Exceptions table, listing deprecated exceptions, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Errors table, listing deprecated errors, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Annotation Types table, listing deprecated annotation types, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Fields table, listing deprecated fields, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Methods table, listing deprecated methods, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Constructors table, listing deprecated constructors, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Enum Constants table, listing deprecated enum constants, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Annotation Type Elements table, listing deprecated annotation type elements, and an explanation\">");
+
+ // Negated test for serialized-form page
+ checkOutput("serialized-form.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"header\">",
+ "<li class=\"blockList\">\n"
+ + "<h2 title=\"Package\">Package pkg</h2>");
+
+ // Negated test for overview-tree page
+ checkOutput("overview-tree.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"header\">",
+ "<div class=\"contentContainer\">\n"
+ + "<h2 title=\"Class Hierarchy\">Class Hierarchy</h2>",
+ "</ul>\n"
+ + "<h2 title=\"Interface Hierarchy\">Interface Hierarchy</h2>",
+ "</ul>\n"
+ + "<h2 title=\"Enum Hierarchy\">Enum Hierarchy</h2>");
+
+ // Negated test for index-all page
+ checkOutput("index-all.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"contentContainer\">");
+
+ // Negated test for src-html page
+ checkOutput("src-html/pkg/AnotherClass.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<body>\n"
+ + "<div class=\"sourceContainer\">");
+
+ // Negated test for help-doc page
+ checkOutput("help-doc.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"header\">",
+ "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\">\n"
+ + "<h2>Overview</h2>",
+ "<li class=\"blockList\">\n"
+ + "<h2>Package</h2>",
+ "<li class=\"blockList\">\n"
+ + "<h2>Class/Interface</h2>");
+
+ // Negated test for a regular class page and members (nested class, field, constructore and method)
+ checkOutput("pkg/AnotherClass.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ======== START OF CLASS DATA ======== -->\n"
+ + "<div class=\"header\">",
+ "<!-- ======== NESTED CLASS SUMMARY ======== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"nested.class.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Nested Class Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Nested Class Summary table, listing nested classes, and an explanation\">",
+ "<!-- =========== FIELD SUMMARY =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"field.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Field Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Field Summary table, listing fields, and an explanation\">",
+ "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Constructor Summary table, listing constructors, and an explanation\">",
+ "<!-- ========== METHOD SUMMARY =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
+ "<!-- ============ FIELD DETAIL =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"field.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Field Detail</h3>",
+ "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Detail</h3>",
+ "<!-- ============ METHOD DETAIL ========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Detail</h3>");
+
+ // Negated test for enum page
+ checkOutput("pkg/AnotherClass.ModalExclusionType.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ======== START OF CLASS DATA ======== -->\n"
+ + "<div class=\"header\">",
+ "<!-- =========== ENUM CONSTANT SUMMARY =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"enum.constant.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Enum Constant Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Enum Constant Summary table, listing enum constants, and an explanation\">",
+ "<!-- ========== METHOD SUMMARY =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
+ "<!-- ============ ENUM CONSTANT DETAIL =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"enum.constant.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Enum Constant Detail</h3>",
+ "<!-- ============ METHOD DETAIL ========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Detail</h3>");
+
+ // Negated test for interface page
+ checkOutput("pkg2/Interface.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ======== START OF CLASS DATA ======== -->\n"
+ + "<div class=\"header\">",
+ "<!-- ========== METHOD SUMMARY =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
+ "<!-- ============ METHOD DETAIL ========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Detail</h3>");
+
+ // Negated test for error page
+ checkOutput("pkg/TestError.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ======== START OF CLASS DATA ======== -->\n"
+ + "<div class=\"header\">",
+ "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Summary</h3>",
+ "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Detail</h3>");
+
+ // Negated test for exception page
+ checkOutput("pkg/TestException.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ======== START OF CLASS DATA ======== -->\n"
+ + "<div class=\"header\">",
+ "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Summary</h3>",
+ "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Detail</h3>");
+
+ // Negated test for annotation page
+ checkOutput("pkg2/TestAnnotationType.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ======== START OF CLASS DATA ======== -->\n"
+ + "<div class=\"header\">",
+ "<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"annotation.type.required.element.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Required Element Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Required Element Summary table, listing required elements, and an explanation\">",
+ "<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"annotation.type.optional.element.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Optional Element Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Optional Element Summary table, listing optional elements, and an explanation\">",
+ "<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"annotation.type.element.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Element Detail</h3>");
+
+ // Negated test for class use page
+ checkOutput("pkg1/class-use/RegClass.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"header\">",
+ "<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">",
+ "<li class=\"blockList\"><a name=\"pkg\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Uses of <a href=\"../../pkg1/RegClass.html\" title=\"class in pkg1\">RegClass</a> in <a href=\"../../pkg/package-summary.html\">pkg</a></h3>\n"
+ + "<table class=\"useSummary\" summary=\"Use table, listing fields, and an explanation\">");
+
+ // Negated test for main index page
+ checkOutput("index.html", false,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<body>\n"
+ + "<div class=\"mainContainer\">\n");
+ }
+
+ void html4Output() {
+ // Test for overview-frame page
+ checkOutput("overview-frame.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<div class=\"indexNav\">\n"
+ + "<ul>\n"
+ + "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>",
+ "<div class=\"indexContainer\">\n"
+ + "<h2 title=\"Packages\">Packages</h2>");
+
+ // Test for allclasses-frame page
+ checkOutput("allclasses-frame.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<div class=\"indexContainer\">\n"
+ + "<ul>\n"
+ + "<li>");
+
+ // Test for allclasses-noframe page
+ checkOutput("allclasses-noframe.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<div class=\"indexContainer\">\n"
+ + "<ul>\n"
+ + "<li>");
+
+ // Test for profile-overview-frame page
+ checkOutput("profile-overview-frame.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<div class=\"indexNav\">\n"
+ + "<ul>\n"
+ + "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>",
+ "<div class=\"indexContainer\">\n"
+ + "<h2 title=\"Profiles\">Profiles</h2>");
+
+ // Test for <profile-name>-frame page
+ checkOutput("compact1-frame.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<div class=\"indexNav\">\n"
+ + "<ul>\n"
+ + "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>",
+ "<div class=\"indexContainer\">\n"
+ + "<h2 title=\"compact1\"><a href=\"compact1-summary.html\" target=\"classFrame\">compact1</a> Packages</h2>");
+
+ // Test for overview-summary page
+ checkOutput("overview-summary.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"overviewSummary\" summary=\"Packages table, listing packages, and an explanation\">\n"
+ + "<caption>",
+ "</noscript>\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<div class=\"contentContainer\">\n"
+ + "<div>\n"
+ + "<h2>Profiles</h2>");
+
+ // Test for package-frame page
+ checkOutput("pkg/package-frame.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<body>\n"
+ + "<h1 class=\"bar\"><a href=\"../pkg/package-summary.html\" target=\"classFrame\">pkg</a></h1>");
+
+ // Test for package-summary page
+ checkOutput("pkg/package-summary.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Class Summary table, listing classes, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Enum Summary table, listing enums, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Exception Summary table, listing exceptions, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Error Summary table, listing errors, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Annotation Types Summary table, listing annotation types, and an explanation\">");
+
+ // Test for package-tree page
+ checkOutput("pkg/package-tree.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<li class=\"circle\">");
+
+ // Test for package-use page
+ checkOutput("pkg1/package-use.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">");
+
+ // Test for <profile-name>-package-frame page
+ checkOutput("pkg/compact1-package-frame.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<body>\n"
+ + "<h1 class=\"bar\"><a href=\"../compact1-summary.html\" target=\"classFrame\">"
+ + "compact1</a> - <a href=\"../pkg/compact1-package-summary.html\" target=\"classFrame\">pkg</a></h1>");
+
+ // Test for <profile-name>-package-summary page
+ checkOutput("pkg/compact1-package-summary.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Class Summary table, listing classes, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Enum Summary table, listing enums, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Exception Summary table, listing exceptions, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Error Summary table, listing errors, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Annotation Types Summary table, listing annotation types, and an explanation\">");
+
+ // Test for <profile-name>-summary page
+ checkOutput("compact1-summary.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Class Summary table, listing classes, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Enum Summary table, listing enums, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Exception Summary table, listing exceptions, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Error Summary table, listing errors, and an explanation\">",
+ "<table class=\"typeSummary\" summary=\"Annotation Types Summary table, listing annotation types, and an explanation\">");
+
+ // Test for constant-values page
+ checkOutput("constant-values.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"header\">",
+ "<table class=\"constantsSummary\" summary=\"Constant Field Values table, listing constant fields, and values\">");
+
+ // Test for deprecated-list page
+ checkOutput("deprecated-list.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"header\">\n"
+ + "<h1 title=\"Deprecated API\" class=\"title\">Deprecated API</h1>\n"
+ + "<h2 title=\"Contents\">Contents</h2>",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Classes table, listing deprecated classes, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Enums table, listing deprecated enums, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Exceptions table, listing deprecated exceptions, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Errors table, listing deprecated errors, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Annotation Types table, listing deprecated annotation types, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Fields table, listing deprecated fields, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Methods table, listing deprecated methods, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Constructors table, listing deprecated constructors, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Enum Constants table, listing deprecated enum constants, and an explanation\">",
+ "<table class=\"deprecatedSummary\" summary=\"Deprecated Annotation Type Elements table, listing deprecated annotation type elements, and an explanation\">");
+
+ // Test for serialized-form page
+ checkOutput("serialized-form.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"header\">",
+ "<li class=\"blockList\">\n"
+ + "<h2 title=\"Package\">Package pkg</h2>");
+
+ // Test for overview-tree page
+ checkOutput("overview-tree.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<li class=\"circle\">",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"header\">",
+ "<h1 class=\"title\">Hierarchy For All Packages</h1>\n"
+ + "<span class=\"packageHierarchyLabel\">Package Hierarchies:</span>",
+ "<div class=\"contentContainer\">\n"
+ + "<h2 title=\"Class Hierarchy\">Class Hierarchy</h2>",
+ "</ul>\n"
+ + "<h2 title=\"Interface Hierarchy\">Interface Hierarchy</h2>",
+ "</ul>\n"
+ + "<h2 title=\"Enum Hierarchy\">Enum Hierarchy</h2>");
+
+ // Test for index-all page
+ checkOutput("index-all.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"contentContainer\">");
+
+ // Test for src-html page
+ checkOutput("src-html/pkg/AnotherClass.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<body>\n"
+ + "<div class=\"sourceContainer\">");
+
+ // Test for help-doc page
+ checkOutput("help-doc.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"header\">",
+ "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\">\n"
+ + "<h2>Overview</h2>",
+ "<li class=\"blockList\">\n"
+ + "<h2>Package</h2>",
+ "<li class=\"blockList\">\n"
+ + "<h2>Class/Interface</h2>");
+
+ // Test for a regular class page and members (nested class, field, constructore and method)
+ checkOutput("pkg/AnotherClass.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ======== START OF CLASS DATA ======== -->\n"
+ + "<div class=\"header\">",
+ "<!-- ======== NESTED CLASS SUMMARY ======== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"nested.class.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Nested Class Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Nested Class Summary table, listing nested classes, and an explanation\">",
+ "<!-- =========== FIELD SUMMARY =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"field.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Field Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Field Summary table, listing fields, and an explanation\">",
+ "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Constructor Summary table, listing constructors, and an explanation\">",
+ "<!-- ========== METHOD SUMMARY =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
+ "<!-- ============ FIELD DETAIL =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"field.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Field Detail</h3>",
+ "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Detail</h3>",
+ "<!-- ============ METHOD DETAIL ========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Detail</h3>");
+
+ // Test for enum page
+ checkOutput("pkg/AnotherClass.ModalExclusionType.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ======== START OF CLASS DATA ======== -->\n"
+ + "<div class=\"header\">",
+ "<!-- =========== ENUM CONSTANT SUMMARY =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"enum.constant.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Enum Constant Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Enum Constant Summary table, listing enum constants, and an explanation\">",
+ "<!-- ========== METHOD SUMMARY =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
+ "<!-- ============ ENUM CONSTANT DETAIL =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"enum.constant.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Enum Constant Detail</h3>",
+ "<!-- ============ METHOD DETAIL ========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Detail</h3>");
+
+ // Test for interface page
+ checkOutput("pkg2/Interface.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ======== START OF CLASS DATA ======== -->\n"
+ + "<div class=\"header\">",
+ "<!-- ========== METHOD SUMMARY =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
+ "<!-- ============ METHOD DETAIL ========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Detail</h3>");
+
+ // Test for error page
+ checkOutput("pkg/TestError.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ======== START OF CLASS DATA ======== -->\n"
+ + "<div class=\"header\">",
+ "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Summary</h3>",
+ "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Detail</h3>");
+
+ // Test for exception page
+ checkOutput("pkg/TestException.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ======== START OF CLASS DATA ======== -->\n"
+ + "<div class=\"header\">",
+ "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Summary</h3>",
+ "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Detail</h3>");
+
+ // Test for annotation page
+ checkOutput("pkg2/TestAnnotationType.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ======== START OF CLASS DATA ======== -->\n"
+ + "<div class=\"header\">",
+ "<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"annotation.type.required.element.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Required Element Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Required Element Summary table, listing required elements, and an explanation\">",
+ "<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"annotation.type.optional.element.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Optional Element Summary</h3>\n"
+ + "<table class=\"memberSummary\" summary=\"Optional Element Summary table, listing optional elements, and an explanation\">",
+ "<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a id=\"annotation.type.element.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Element Detail</h3>");
+
+ // Test for class use page
+ checkOutput("pkg1/class-use/RegClass.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<meta name=\"date\"",
+ "<a id=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<!-- ========= END OF TOP NAVBAR ========= -->\n"
+ + "<div class=\"header\">",
+ "<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">",
+ "<li class=\"blockList\"><a id=\"pkg\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Uses of <a href=\"../../pkg1/RegClass.html\" title=\"class in pkg1\">RegClass</a> in <a href=\"../../pkg/package-summary.html\">pkg</a></h3>\n"
+ + "<table class=\"useSummary\" summary=\"Use table, listing fields, and an explanation\">");
+
+ // Test for main index page
+ checkOutput("index.html", true,
+ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"stylesheet.css\" title=\"Style\">",
+ "<body>\n"
+ + "<div class=\"mainContainer\">\n"
+ + "<div class=\"leftContainer\">\n"
+ + "<div class=\"leftTop\">\n"
+ + "<iframe src=\"overview-frame.html\" name=\"packageListFrame\" title=\"All Packages\"></iframe>\n"
+ + "</div>");
+ }
+
+ void html4NegatedOutput() {
+ // Negated test for overview-frame page
+ checkOutput("overview-frame.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<nav role=\"navigation\" class=\"indexNav\">\n"
+ + "<ul>\n"
+ + "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>",
+ "<main role=\"main\" class=\"indexContainer\">\n"
+ + "<h2 title=\"Packages\">Packages</h2>");
+
+ // Negated test for allclasses-frame page
+ checkOutput("allclasses-frame.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<main role=\"main\" class=\"indexContainer\">\n"
+ + "<ul>\n"
+ + "<li>");
+
+ // Negated test for allclasses-noframe page
+ checkOutput("allclasses-noframe.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<main role=\"main\" class=\"indexContainer\">\n"
+ + "<ul>\n"
+ + "<li>");
+
+ // Negated test for profile-overview-frame page
+ checkOutput("profile-overview-frame.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<nav role=\"navigation\" class=\"indexNav\">\n"
+ + "<ul>\n"
+ + "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>",
+ "<main role=\"main\" class=\"indexContainer\">\n"
+ + "<h2 title=\"Profiles\">Profiles</h2>");
+
+ // Negated test for <profile-name>-frame page
+ checkOutput("compact1-frame.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<nav role=\"navigation\" class=\"indexNav\">\n"
+ + "<ul>\n"
+ + "<li><a href=\"allclasses-frame.html\" target=\"packageFrame\">All Classes</a></li>",
+ "<main role=\"main\" class=\"indexContainer\">\n"
+ + "<h2 title=\"compact1\"><a href=\"compact1-summary.html\" target=\"classFrame\">compact1</a> Packages</h2>");
+
+ // Negated test for overview-summary page
+ checkOutput("overview-summary.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"overviewSummary\">\n"
+ + "<caption>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"contentContainer\">\n"
+ + "<div>\n"
+ + "<h2>Profiles</h2>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for package-frame page
+ checkOutput("pkg/package-frame.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<main role=\"main\">\n"
+ + "<h1 class=\"bar\"><a href=\"../pkg/package-summary.html\" target=\"classFrame\">pkg</a></h1>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Interfaces\">Interfaces</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Classes\">Classes</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Enums\">Enums</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Exceptions\">Exceptions</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Errors\">Errors</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Annotation Types\">Annotation Types</h2>");
+
+ // Negated test for package-summary page
+ checkOutput("pkg/package-summary.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"typeSummary\">",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Package pkg Description\">Package pkg Description</h2>\n",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for package-tree page
+ checkOutput("pkg/package-tree.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Class Hierarchy\">Class Hierarchy</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Interface Hierarchy\">Interface Hierarchy</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Annotation Type Hierarchy\">Annotation Type Hierarchy</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Enum Hierarchy\">Enum Hierarchy</h2>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for package-use page
+ checkOutput("pkg1/package-use.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"useSummary\">",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for <profile-name>-package-frame page
+ checkOutput("pkg/compact1-package-frame.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<main role=\"main\">\n"
+ + "<h1 class=\"bar\"><a href=\"../compact1-summary.html\" target=\"classFrame\">"
+ + "compact1</a> - <a href=\"../pkg/compact1-package-summary.html\" target=\"classFrame\">pkg</a></h1>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Interfaces\">Interfaces</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Classes\">Classes</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Enums\">Enums</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Exceptions\">Exceptions</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Errors\">Errors</h2>",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Annotation Types\">Annotation Types</h2>");
+
+ // Negated test for <profile-name>-package-summary page
+ checkOutput("pkg/compact1-package-summary.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"typeSummary\">",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Package pkg Description\">Package pkg Description</h2>\n",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for <profile-name>-summary page
+ checkOutput("compact1-summary.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"typeSummary\">",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\">\n"
+ + "<section role=\"region\">\n"
+ + "<h3><a href=\"pkg/compact1-package-summary.html\" target=\"classFrame\">pkg</a></h3>\n",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for constant-values page
+ checkOutput("constant-values.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"constantsSummary\">",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Contents\">Contents</h2>\n",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"pkg\">pkg.*</h2>\n",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for deprecated-list page
+ checkOutput("deprecated-list.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<table class=\"deprecatedSummary\">",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for serialized-form page
+ checkOutput("serialized-form.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Package\">Package pkg</h2>\n",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for overview-tree page
+ checkOutput("overview-tree.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Class Hierarchy\">Class Hierarchy</h2>\n",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Interface Hierarchy\">Interface Hierarchy</h2>\n",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Annotation Type Hierarchy\">Annotation Type Hierarchy</h2>\n",
+ "<section role=\"region\">\n"
+ + "<h2 title=\"Enum Hierarchy\">Enum Hierarchy</h2>\n",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for index-all page
+ checkOutput("index-all.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "</header>\n"
+ + "<main role=\"main\">",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for src-html page
+ checkOutput("src-html/pkg/AnotherClass.html", false,
+ "<!DOCTYPE HTML>",
+ "<main role=\"main\">\n"
+ + "<div class=\"sourceContainer\">");
+
+ // Negated test for help-doc page
+ checkOutput("help-doc.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<h2>Overview</h2>\n",
+ "<section role=\"region\">\n"
+ + "<h2>Package</h2>\n",
+ "<section role=\"region\">\n"
+ + "<h2>Class/Interface</h2>\n",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for a regular class page and members (nested class, field, constructore and method)
+ checkOutput("pkg/AnotherClass.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"nested.class.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Nested Class Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"field.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Field Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Summary</h3>",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"field.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Field Detail</h3>",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Detail</h3>",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Detail</h3>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for enum page
+ checkOutput("pkg/AnotherClass.ModalExclusionType.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"enum.constant.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Enum Constant Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"enum.constant.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Enum Constant Detail</h3>",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Detail</h3>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for interface page
+ checkOutput("pkg2/Interface.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Method Detail</h3>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for error page
+ checkOutput("pkg/TestError.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Summary</h3>",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Detail</h3>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for exception page
+ checkOutput("pkg/TestException.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Summary</h3>",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Constructor Detail</h3>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for annotation page
+ checkOutput("pkg2/TestAnnotationType.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"annotation.type.required.element.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Required Element Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"annotation.type.optional.element.summary\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Optional Element Summary</h3>\n"
+ + "<table class=\"memberSummary\">",
+ "<section role=\"region\">\n"
+ + "<ul class=\"blockList\">\n"
+ + "<li class=\"blockList\"><a name=\"annotation.type.element.detail\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Element Detail</h3>",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for class use page
+ checkOutput("pkg1/class-use/RegClass.html", false,
+ "<!DOCTYPE HTML>",
+ "<meta name=\"dc.created\"",
+ "<a name=\"navbar.top.firstrow\">\n"
+ + "<!-- -->\n"
+ + "</a>",
+ "<header role=\"banner\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ========= START OF TOP NAVBAR ======= -->",
+ "<main role=\"main\">\n"
+ + "<div class=\"header\">",
+ "<table class=\"useSummary\">",
+ "<section role=\"region\"><a name=\"pkg\">\n"
+ + "<!-- -->\n"
+ + "</a>\n"
+ + "<h3>Uses of <a href=\"../../pkg1/RegClass.html\" title=\"class in pkg1\">RegClass</a> in <a href=\"../../pkg/package-summary.html\">pkg</a></h3>\n"
+ + "\n"
+ + "<table class=\"useSummary\">",
+ "<footer role=\"contentinfo\">\n"
+ + "<nav role=\"navigation\">\n"
+ + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
+
+ // Negated test for main index page
+ checkOutput("index.html", false,
+ "<!DOCTYPE HTML>",
+ "<body>\n"
+ + "<main role=\"main\">\n"
+ + "<div class=\"mainContainer\">\n");
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg/AnnotationType.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg;
+
+import java.lang.annotation.*;
+
+/**
+ * This is a test annotation type.
+ *
+ * @author Bhavesh Patel.
+ * @since 9
+ */
+@Documented public @interface AnnotationType {
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg/AnotherClass.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg;
+
+import pkg1.*;
+
+/**
+ * Another test class.
+ *
+ * @author Bhavesh Patel
+ */
+public class AnotherClass {
+
+ /**
+ * A test field.
+ */
+ public RegClass field;
+
+ /**
+ * Constant field.
+ */
+ public static final String CONSTANT_FIELD_3 = "constant";
+
+ /**
+ * @deprecated don't use this field anymore.
+ */
+ public RegClass dep_field;
+
+ /**
+ * A sample enum.
+ */
+ public static enum ModalExclusionType {
+ /**
+ * Test comment.
+ */
+ NO_EXCLUDE,
+ /**
+ * Another comment.
+ */
+ APPLICATION_EXCLUDE
+ };
+
+ /**
+ * A string constant.
+ */
+ public static final String CONSTANT1 = "C2";
+
+ /**
+ * A sample method.
+ *
+ * @param param some parameter.
+ * @return a test object.
+ */
+ public Class method(pkg1.RegClass param) {
+ return param;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg/TestError.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg;
+
+/**
+ * Error class.
+ */
+public class TestError extends Error {
+
+ /**
+ * Constructs a test error.
+ */
+ public TestError() {
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg/TestException.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg;
+
+/**
+ * Thrown when a TestException occurs.
+ */
+public class TestException extends Exception {
+
+ /**
+ * Constructs a {@code TestException} with no detail message.
+ */
+ public TestException() {
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg/TestInterface.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg;
+
+/**
+ * This is a description for an Interface.
+ */
+
+public interface TestInterface {
+
+ public void method();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg/package-info.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * Test package.
+ */
+package pkg;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg1/NestedInnerClass.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg1;
+
+import java.io.*;
+
+/**
+ * A test class where the outer class is package private and the inner class is private
+ * and a nested inner class is protected.
+ *
+ * @author Bhavesh Patel
+ */
+
+class NestedInnerClass {
+
+ private static class InnerClass {
+
+ protected static class ProNestedInnerClass implements java.io.Serializable {
+
+ public final int SERIALIZABLE_CONSTANT2 = 1;
+
+ /**
+ * @param s ObjectInputStream.
+ * @throws IOException when there is an I/O error.
+ * @serial
+ */
+ private void readObject(ObjectInputStream s) throws IOException {
+ }
+
+ /**
+ * @param s ObjectOutputStream.
+ * @throws IOException when there is an I/O error.
+ * @serial
+ */
+ private void writeObject(ObjectOutputStream s) throws IOException {
+ }
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg1/PrivateIncludeInnerClass.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg1;
+
+import java.io.*;
+
+/**
+ * A test class where the outer class is package private and inner class
+ * is private which is included using the tag.
+ *
+ * @author Bhavesh Patel
+ */
+
+class PrivateIncludeInnerClass {
+
+ /**
+ * @serial include
+ */
+ private static class PriInnerClass implements java.io.Serializable {
+
+ public final int SERIALIZABLE_CONSTANT = 1;
+
+ /**
+ * @param s ObjectInputStream.
+ * @throws IOException when there is an I/O error.
+ * @serial
+ */
+ private void readObject(ObjectInputStream s) throws IOException {
+ }
+
+ /**
+ * @param s ObjectOutputStream.
+ * @throws IOException when there is an I/O error.
+ * @serial
+ */
+ private void writeObject(ObjectOutputStream s) throws IOException {
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg1/ProtectedInnerClass.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg1;
+
+import java.io.*;
+
+/**
+ * A test class where outer class is package private and the inner class is
+ * protected.
+ *
+ * @author Bhavesh Patel
+ */
+
+class ProtectedInnerClass {
+
+ protected static class ProInnerClass implements java.io.Serializable {
+
+ public final int SERIALIZABLE_CONSTANT1 = 1;
+
+ /**
+ * @param s ObjectInputStream.
+ * @throws IOException when there is an I/O error.
+ * @serial
+ */
+ private void readObject(ObjectInputStream s) throws IOException {
+ }
+
+ /**
+ * @param s ObjectOutputStream.
+ * @throws IOException when there is an I/O error.
+ * @serial
+ */
+ private void writeObject(ObjectOutputStream s) throws IOException {
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg1/PublicExcludeInnerClass.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg1;
+
+import java.io.*;
+
+/**
+ * A test class where the outer class is package private and inner class
+ * is public which is excluded using the tag.
+ *
+ * @author Bhavesh Patel
+ */
+
+class PublicExcludeInnerClass {
+
+ /**
+ * @serial exclude
+ */
+ public static class PubInnerClass implements java.io.Serializable {
+
+ public final int SERIALIZABLE_CONSTANT3 = 1;
+
+ /**
+ * @param s ObjectInputStream.
+ * @throws IOException when there is an I/O error.
+ * @serial
+ */
+ private void readObject(ObjectInputStream s) throws IOException {
+ }
+
+ /**
+ * @param s ObjectOutputStream.
+ * @throws IOException when there is an I/O error.
+ * @serial
+ */
+ private void writeObject(ObjectOutputStream s) throws IOException {
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg1/RegClass.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg1;
+
+/**
+ *This is a description for Class.
+ */
+
+public class RegClass {
+
+ /**
+ * Constant field.
+ */
+ public static final String CONSTANT_FIELD_1 = "constant";
+
+ /**
+ * Another constant field.
+ */
+ public static final int CONSTANT_FIELD_2 = 1;
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg2/DeprecatedClassByAnnotation.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg2;
+
+@Deprecated()
+public class DeprecatedClassByAnnotation {
+
+ @Deprecated()
+ public int field;
+
+ @Deprecated()
+ public DeprecatedClassByAnnotation() {}
+
+ @Deprecated()
+ public void method() {}
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg2/Interface.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg2;
+
+/**
+ * This is a description for an Interface.
+ */
+
+public interface Interface {
+
+ public void method1();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg2/TestAnnotationType.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg2;
+
+import java.lang.annotation.*;
+
+/**
+ * @deprecated annotation_test1 passes.
+ */
+@Documented public @interface TestAnnotationType {
+
+ /**
+ * @deprecated annotation_test2 passes.
+ */
+ String optional() default "unknown";
+
+ /**
+ * @deprecated annotation_test3 passes.
+ */
+ int required();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg2/TestClass.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg2;
+
+/**
+ * @deprecated class_test1 passes.
+ */
+public class TestClass {
+
+ /**
+ * @deprecated class_test2 passes.
+ */
+ public int field;
+
+ /**
+ * @deprecated constant field.
+ */
+ public static final int CONSTANT_FIELD = 2;
+
+ /**
+ * @deprecated class_test3 passes.
+ */
+ public TestClass() {}
+
+ /**
+ * @deprecated class_test4 passes.
+ */
+ public void method() {}
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg2/TestEnum.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg2;
+
+/**
+ * @deprecated enum_test1 passes.
+ */
+public enum TestEnum {
+
+ /**
+ * @deprecated enum_test2 passes.
+ */
+ ONE, TWO, THREE;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg2/TestError.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg2;
+
+/**
+ * @deprecated error_test1 passes.
+ */
+public class TestError extends Error {
+
+ /**
+ * @deprecated error_test2 passes.
+ */
+ public int field;
+
+ /**
+ * @deprecated error_test3 passes.
+ */
+ public TestError() {}
+
+ /**
+ * @deprecated error_test4 passes.
+ */
+ public void method() {}
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg2/TestException.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg2;
+
+/**
+ * @deprecated exception_test1 passes.
+ */
+public class TestException extends Exception {
+
+ /**
+ * @deprecated exception_test2 passes.
+ */
+ public int field;
+
+ /**
+ * @deprecated exception_test3 passes.
+ */
+ public TestException() {}
+
+ /**
+ * @deprecated exception_test4 passes.
+ */
+ public void method() {}
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg2/TestInterface.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg2;
+
+/**
+ * @deprecated interface_test1 passes.
+ */
+public class TestInterface {
+
+ /**
+ * @deprecated interface_test2 passes.
+ */
+ public int field;
+
+ /**
+ * @deprecated interface_test3 passes.
+ */
+ public TestInterface() {}
+
+ /**
+ * @deprecated interface_test4 passes.
+ */
+ public void method() {}
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg3/ClassNoConstants.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg3;
+
+/**
+ * This is an empty class specifically testing for no Constant value.
+ */
+
+public class ClassNoConstants {
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/profile-rtjar-includes.txt Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,30 @@
+PROFILE_1_RTJAR_INCLUDE_PACKAGES := \
+ pkg
+
+PROFILE_1_RTJAR_INCLUDE_TYPES := \
+ pkg1/Class.class
+
+PROFILE_1_RTJAR_EXCLUDE_TYPES :=
+
+PROFILE_1_INCLUDE_METAINF_SERVICES :=
+
+
+PROFILE_2_RTJAR_INCLUDE_PACKAGES := \
+ pkg1
+
+PROFILE_2_RTJAR_INCLUDE_TYPES :=
+
+PROFILE_2_RTJAR_EXCLUDE_TYPES :=
+
+PROFILE_2_INCLUDE_METAINF_SERVICES :=
+
+
+PROFILE_3_RTJAR_INCLUDE_PACKAGES := \
+ pkg2
+
+PROFILE_3_RTJAR_INCLUDE_TYPES :=
+
+PROFILE_3_RTJAR_EXCLUDE_TYPES :=
+
+PROFILE_3_INCLUDE_METAINF_SERVICES :=
+
--- a/langtools/test/com/sun/javadoc/testJavaFX/TestJavaFX.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testJavaFX/TestJavaFX.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -99,11 +99,11 @@
"pkg2");
checkExit(Exit.OK);
checkOutput("pkg2/Test.html", true,
- "<li class=\"blockList\"><a name=\"property.detail\">\n"
+ "<li class=\"blockList\"><a id=\"property.detail\">\n"
+ "<!-- -->\n"
+ "</a>\n"
+ "<h3>Property Detail</h3>\n"
- + "<a name=\"betaProperty\">\n"
+ + "<a id=\"betaProperty\">\n"
+ "<!-- -->\n"
+ "</a>\n"
+ "<ul class=\"blockList\">\n"
@@ -112,7 +112,7 @@
+ "<pre>public java.lang.Object betaProperty</pre>\n"
+ "</li>\n"
+ "</ul>\n"
- + "<a name=\"gammaProperty\">\n"
+ + "<a id=\"gammaProperty\">\n"
+ "<!-- -->\n"
+ "</a>\n"
+ "<ul class=\"blockList\">\n"
@@ -122,7 +122,7 @@
+ "java.lang.String> gammaProperty</pre>\n"
+ "</li>\n"
+ "</ul>\n"
- + "<a name=\"deltaProperty\">\n"
+ + "<a id=\"deltaProperty\">\n"
+ "<!-- -->\n"
+ "</a>\n"
+ "<ul class=\"blockListLast\">\n"
--- a/langtools/test/com/sun/javadoc/testLinkToSerialForm/TestLinkToSerialForm.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testLinkToSerialForm/TestLinkToSerialForm.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -47,7 +47,7 @@
checkExit(Exit.OK);
checkOutput("serialized-form.html", true,
- "<a name=\"pkg.C\">");
+ "<a id=\"pkg.C\">");
checkOutput("pkg/C.html", true,
"<a href=\"../serialized-form.html#pkg.C\">");
}
--- a/langtools/test/com/sun/javadoc/testMemberSummary/TestMemberSummary.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testMemberSummary/TestMemberSummary.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -58,9 +58,9 @@
// Legacy anchor dimensions (6290760)
checkOutput("pkg2/A.html", true,
- "<a name=\"f-java.lang.Object:A-\">\n"
+ "<a id=\"f-java.lang.Object:A-\">\n"
+ "<!-- -->\n"
- + "</a><a name=\"f-T:A-\">\n"
+ + "</a><a id=\"f-T:A-\">\n"
+ "<!-- -->\n"
+ "</a>");
}
--- a/langtools/test/com/sun/javadoc/testNavigation/TestNavigation.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testNavigation/TestNavigation.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -63,7 +63,7 @@
"<li>Next Class</li>",
// Test for 4664607
"<div class=\"skipNav\"><a href=\"#skip.navbar.top\" title=\"Skip navigation links\">Skip navigation links</a></div>\n"
- + "<a name=\"navbar.top.firstrow\">\n"
+ + "<a id=\"navbar.top.firstrow\">\n"
+ "<!-- -->\n"
+ "</a>");
}
--- a/langtools/test/com/sun/javadoc/testProfiles/TestProfiles.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testProfiles/TestProfiles.java Mon Apr 27 09:17:39 2015 -0700
@@ -47,16 +47,16 @@
// Tests for profile-overview-frame.html listing all profiles.
checkOutput("profile-overview-frame.html", true,
- "<span><a href=\"overview-frame.html\" "
- + "target=\"packageListFrame\">All Packages</a></span>",
+ "<li><a href=\"overview-frame.html\" "
+ + "target=\"packageListFrame\">All Packages</a></li>",
"<li><a href=\"compact1-frame.html\" target=\"packageListFrame\">"
+ "compact1</a></li>");
// Tests for profileName-frame.html listing all packages in a profile.
checkOutput("compact2-frame.html", true,
- "<span><a href=\"overview-frame.html\" target=\"packageListFrame\">"
- + "All Packages</a></span><span><a href=\"profile-overview-frame.html\" "
- + "target=\"packageListFrame\">All Profiles</a></span>",
+ "<li><a href=\"overview-frame.html\" target=\"packageListFrame\">"
+ + "All Packages</a></li>\n<li><a href=\"profile-overview-frame.html\" "
+ + "target=\"packageListFrame\">All Profiles</a></li>",
"<li><a href=\"pkg4/compact2-package-frame.html\" "
+ "target=\"packageFrame\">pkg4</a></li>");
@@ -78,15 +78,13 @@
+ "<li class=\"blockList\">\n"
+ "<h3><a href=\"pkg2/compact2-package-summary.html\" target=\"classFrame\">"
+ "pkg2</a></h3>\n"
- + "<table class=\"typeSummary\" border=\"0\" "
- + "cellpadding=\"3\" cellspacing=\"0\" summary=\"Class Summary table, "
+ + "<table class=\"typeSummary\" summary=\"Class Summary table, "
+ "listing classes, and an explanation\">",
"<ul class=\"blockList\">\n"
+ "<li class=\"blockList\">\n"
+ "<h3><a href=\"pkg4/compact2-package-summary.html\" target=\"classFrame\">"
+ "pkg4</a></h3>\n"
- + "<table class=\"typeSummary\" border=\"0\" "
- + "cellpadding=\"3\" cellspacing=\"0\" summary=\"Class Summary table, "
+ + "<table class=\"typeSummary\" summary=\"Class Summary table, "
+ "listing classes, and an explanation\">");
@@ -98,14 +96,13 @@
"<div class=\"subTitle\">compact3</div>",
"<ul class=\"blockList\">\n"
+ "<li class=\"blockList\">\n"
- + "<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Interface Summary table, listing "
+ + "<table class=\"typeSummary\" summary=\"Interface Summary table, listing "
+ "interfaces, and an explanation\">");
// Test for "overview-frame.html" showing the "All Profiles" link.
checkOutput("overview-frame.html", true,
- "<span><a href=\"profile-overview-frame.html\" "
- + "target=\"packageListFrame\">All Profiles</a></span>");
+ "<li><a href=\"profile-overview-frame.html\" "
+ + "target=\"packageListFrame\">All Profiles</a></li>");
// Test for "className.html" showing the profile information for the type.
checkOutput("pkg2/Class1Pkg2.html", true,
@@ -150,7 +147,6 @@
// Test exception in profiles
checkOutput("compact1-summary.html", true,
"<table class=\"typeSummary\" "
- + "border=\"0\" cellpadding=\"3\" cellspacing=\"0\" "
+ "summary=\"Exception Summary table, listing exceptions, and an explanation\">\n"
+ "<caption><span>Exception Summary</span><span class=\"tabEnd\">"
+ " </span></caption>\n"
@@ -166,8 +162,7 @@
//Test errors in profiles
checkOutput("compact1-summary.html", true,
- "<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" "
- + "summary=\"Error Summary table, listing errors, and an explanation\">\n"
+ "<table class=\"typeSummary\" summary=\"Error Summary table, listing errors, and an explanation\">\n"
+ "<caption><span>Error Summary</span><span class=\"tabEnd\"> "
+ "</span></caption>\n"
+ "<tr>\n"
@@ -199,16 +194,14 @@
+ "<h3><a href=\"pkg2/compact2-package-summary.html\" target=\"classFrame\">"
+ "pkg2</a></h3>\n" +
"<li class=\"blockList\">\n"
- + "<table class=\"typeSummary\" border=\"0\" "
- + "cellpadding=\"3\" cellspacing=\"0\" summary=\"Class Summary table, "
+ + "<table class=\"typeSummary\" summary=\"Class Summary table, "
+ "listing classes, and an explanation\">");
checkOutput("pkg5/compact3-package-summary.html", false,
"<ul class=\"blockList\">\n" +
"<li class=\"blockList\">\n"
+ "<li class=\"blockList\">\n"
- + "<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\" "
- + "cellspacing=\"0\" summary=\"Interface Summary table, listing "
+ + "<table class=\"typeSummary\" summary=\"Interface Summary table, listing "
+ "interfaces, and an explanation\">");
}
--- a/langtools/test/com/sun/javadoc/testTypeParams/TestTypeParameters.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testTypeParams/TestTypeParameters.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -67,7 +67,7 @@
// Nested type parameters
checkOutput("pkg/C.html", true,
- "<a name=\"formatDetails-java.util.Collection-java.util.Collection-\">\n"
+ "<a id=\"formatDetails-java.util.Collection-java.util.Collection-\">\n"
+ "<!-- -->\n"
+ "</a>");
}
--- a/langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -135,7 +135,7 @@
+ "UsedInC</a> in <a href=\"../package-summary.html\"><Unnamed></a>"
);
checkOutput("class-use/UsedInC.html", true,
- "<li class=\"blockList\"><a name=\"unnamed.package\">"
+ "<li class=\"blockList\"><a id=\"unnamed.package\">"
);
checkOutput("package-use.html", true,
"<td class=\"colOne\">"
--- a/langtools/test/tools/doclint/DocLintTester.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/doclint/DocLintTester.java Mon Apr 27 09:17:39 2015 -0700
@@ -21,21 +21,20 @@
* questions.
*/
+import java.io.BufferedReader;
import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import com.sun.tools.doclint.DocLint;
-import com.sun.tools.doclint.DocLint.BadArgs;
-import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Reader;
import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import com.sun.tools.doclint.DocLint;
+import com.sun.tools.doclint.DocLint.BadArgs;
public class DocLintTester {
@@ -60,6 +59,8 @@
opts.add(arg);
} else if (arg.startsWith("-XcustomTags")) {
opts.add(arg);
+ } else if (arg.startsWith("-XhtmlVersion")) {
+ opts.add(arg);
} else if (arg.startsWith("-")) {
opts.add(arg);
if (i < args.length - 1 && !args[i+1].startsWith("-"))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/doclint/HtmlVersionTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8072945
+ * @summary test HTML version
+ * @library ..
+ * @build DocLintTester
+ * @run main DocLintTester -XhtmlVersion:html5 HtmlVersionTest.java
+ * @run main DocLintTester -XhtmlVersion:html4 HtmlVersionTest.java
+ * @run main DocLintTester -badargs -XhtmlVersion: HtmlVersionTest.java
+ * @run main DocLintTester HtmlVersionTest.java
+ */
+
+/**
+ * Test HTML version option.
+ */
+public class HtmlVersionTest {
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/doclint/html/HtmlVersionTagsAttrsTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,210 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8072945
+ * @summary test tags and attributes specific to the output HTML version
+ * @library ..
+ * @build DocLintTester
+ * @run main DocLintTester -XhtmlVersion:html5 -ref HtmlVersionTagsAttrsTestHtml5.out HtmlVersionTagsAttrsTest.java
+ * @run main DocLintTester -XhtmlVersion:html4 -ref HtmlVersionTagsAttrsTestHtml4.out HtmlVersionTagsAttrsTest.java
+ * @run main DocLintTester -badargs -XhtmlVersion: HtmlVersionTagsAttrsTest.java
+ * @run main DocLintTester -ref HtmlVersionTagsAttrsTestHtml4.out HtmlVersionTagsAttrsTest.java
+ */
+
+/**
+ * Test HTML tags and attributes based on the output HTML version option.
+ */
+public class HtmlVersionTagsAttrsTest {
+ /**
+ * <a rev="help" href="rev_test.html">Help Page</a>
+ * <a charset="UTF-8" href="charset_test.html">Test page</a>
+ * <a href="shape_test.html" shape="poly" coords="10,30,56,142">Location</a>
+ * <img name="name_test" alt="alt">
+ * <table>
+ * <tr><th axis="desc">Description</th></tr>
+ * <tr><td axis="desc" abbr="abbr_test" scope="row">Axis_Test</td></tr>
+ * </table>
+ * <table summary="summary_test"><tr><td>Test Row</td></tr></table>
+ *
+ * <table align="left" bgcolor="#EAEAEA" cellpadding="10" cellspacing="2" frame="box" rules="rows" width="200">
+ * <caption align="center">Test table, caption, col, colgroup, tbody,
+ * td, tfoot, th, thead and tr Align attribute</caption>
+ * <colgroup align="char" char="." charoff="2" valign="top" width="200">
+ * <col align="center" valign="top" width="200">
+ * <col align="char" char="." charoff="2">
+ * </colgroup>
+ * <thead align="char" char="." charoff="2" valign="top">
+ * <tr align="char" char="." charoff="2" bgcolor="#EAEAEA" valign="top">
+ * <th align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>HeadCol1</th>
+ * <th>HeadCol2</th>
+ * </tr>
+ * </thead>
+ * <tfoot align="char" char="." charoff="2" valign="top">
+ * <tr>
+ * <td>FootCol1</td>
+ * <td>FootCol2</td>
+ * </tr>
+ * </tfoot>
+ * <tbody align="char" char="." charoff="2" valign="top">
+ * <tr>
+ * <td align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>BodyCol1</td>
+ * <td>BodyCol2</td>
+ * </tr>
+ * </tbody>
+ * </table>
+ * <br clear="left">
+ * <ol compact>
+ * <li>Test list</li>
+ * <li>Another item</li>
+ * </ol>
+ * <ul type="circle" compact>
+ * <li type="square">Test list</li>
+ * <li>Another item</li>
+ * </ul>
+ * <dl compact>
+ * <dt>Test list</dt>
+ * <dd>Test Description</dd>
+ * </dl>
+ * <img src="testImg.jpg" alt="imgTest" hspace="10" vspace="10" border="0">
+ * <hr size="20" noshade>
+ * <pre width="25">Test Pre</pre>
+ * <a name="AnchorTest">Anchor Test</a>
+ * <table border="0">
+ * <tr><td>Test border</td></tr>
+ * </table>
+ */
+ public void SupportedAttrs_in_html4_not_in_html5() { }
+
+ /**
+ * <ol reversed="reversed">
+ * <li>First</li>
+ * <li>Second</li>
+ * <li>Third</li>
+ * </ol>
+ * <img src="testImg.jpg" alt="imgTest" crossorigin="anonymous">
+ * <div aria-labelledby="Topics" aria-describedby="t1">
+ * <h1 id="Topics">Topics</h1>
+ * <p id="t1">Aria attribute test</p>
+ * <p id="t2" aria-label="Label">Label test</p>
+ * </div>
+ */
+ public void SupportedAttrs_in_html5_not_in_html4() { }
+
+ /**
+ * <p><big>Bigger text test</big></p>
+ * <center>Center text test</center>
+ * <font size="3">Font test</font>
+ * <p>Text <strike>strike</strike></p>
+ * <p><tt>Teletype text</tt></p>
+ * <section>
+ * <hgroup>
+ * <h1>Section</h1>
+ * <h2> Another heading</h2>
+ * </hgroup>
+ * hgroup no longer supported in HTML5.
+ * </section>
+ * <details>
+ * <summary>Summary</summary>
+ * <p>Details and Summary no longer supported in HTML5</p>
+ * </details>
+ */
+ public void notSupportedTags_html5() { }
+
+ /**
+ * <section>
+ * <p>Testing section tag</p>
+ * <h1>Section</h1>
+ * Section text.
+ * </section>
+ * <article>
+ * <p>Testing article tag</p>
+ * <h1>Article</h1>
+ * Article text.
+ * </article>
+ * <header>
+ * <nav>Navigation</nav>
+ * Testing header
+ * </header>
+ * <footer>
+ * <nav>Navigation</nav>
+ * Testing footer
+ * </footer>
+ * <main>
+ * Main content
+ * </main>
+ * <aside>
+ * <h2>Test aside</h2>
+ * <p>Description</p>
+ * </aside>
+ * <ul>
+ * <li>Testing<bdi>BDI</bdi></li>
+ * </ul>
+ * <figure>
+ * <img src="testImg.jpg" alt="imgTest">
+ * <figcaption>Fig. 1</figcaption>
+ * </figure>
+ * <p><mark>Marked</mark> text test</p>
+ * <nav>
+ * <ul>
+ * <li>Nav item 1</li>
+ * <li>Nav item 2</li>
+ * </ul>
+ * </nav>
+ * <template id="testTemplate">
+ * <div class="desc">Desc</div>
+ * </template>
+ * <p>Test current time is <time>10:00</time> at night</p>
+ * <p>Test <wbr>WBR</wbr> text</p>
+ */
+ public void SupportedTags_in_html5_not_in_html4() { }
+
+ /**
+ * <section>
+ * <p>Invalid use of section tag</p>
+ * </section>
+ * <article>
+ * <p>Invalid use of article tag</p>
+ * </article>
+ * <header>
+ * <header>
+ * Invalid nested header
+ * </header>
+ * <footer>
+ * Invalid nested footer
+ * </footer>
+ * <main>
+ * Invalid nested main
+ * </main>
+ * Invalid use of header
+ * </header>
+ * <footer>
+ * <header>
+ * Invalid nested header
+ * </header>
+ * <footer>
+ * Invalid nested footer
+ * </footer>
+ * <main>
+ * Invalid nested main
+ * </main>
+ * Invalid use of footer
+ * </footer>
+ * <table border="2">
+ * <tr><td>Test border</td></tr>
+ * </table>
+ */
+ public void invalidUsage() { }
+
+ /**
+ * <header role="banner">Main text</header>
+ * <div role="navigation">
+ * <ul><li>Test Nav</li></ul>
+ * </div>
+ * <table border="1">
+ * <tr><td>Test border</td></tr>
+ * </table>
+ * <table border="">
+ * <tr><td>Test border</td></tr>
+ * </table>
+ */
+ public void validUsage() { }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/doclint/html/HtmlVersionTagsAttrsTestHtml4.out Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,212 @@
+HtmlVersionTagsAttrsTest.java:21: warning: attribute obsolete: name
+ * <img name="name_test" alt="alt">
+ ^
+HtmlVersionTagsAttrsTest.java:25: error: no summary or caption for table
+ * </table>
+ ^
+HtmlVersionTagsAttrsTest.java:28: warning: attribute obsolete, use CSS instead: align
+ * <table align="left" bgcolor="#EAEAEA" cellpadding="10" cellspacing="2" frame="box" rules="rows" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:28: warning: attribute obsolete, use CSS instead: bgcolor
+ * <table align="left" bgcolor="#EAEAEA" cellpadding="10" cellspacing="2" frame="box" rules="rows" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:29: warning: attribute obsolete, use CSS instead: align
+ * <caption align="center">Test table, caption, col, colgroup, tbody,
+ ^
+HtmlVersionTagsAttrsTest.java:36: warning: attribute obsolete, use CSS instead: bgcolor
+ * <tr align="char" char="." charoff="2" bgcolor="#EAEAEA" valign="top">
+ ^
+HtmlVersionTagsAttrsTest.java:37: warning: attribute obsolete, use CSS instead: bgcolor
+ * <th align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>HeadCol1</th>
+ ^
+HtmlVersionTagsAttrsTest.java:37: warning: attribute obsolete, use CSS instead: height
+ * <th align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>HeadCol1</th>
+ ^
+HtmlVersionTagsAttrsTest.java:37: warning: attribute obsolete, use CSS instead: width
+ * <th align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>HeadCol1</th>
+ ^
+HtmlVersionTagsAttrsTest.java:37: warning: attribute obsolete, use CSS instead: nowrap
+ * <th align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>HeadCol1</th>
+ ^
+HtmlVersionTagsAttrsTest.java:49: warning: attribute obsolete, use CSS instead: bgcolor
+ * <td align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>BodyCol1</td>
+ ^
+HtmlVersionTagsAttrsTest.java:49: warning: attribute obsolete, use CSS instead: height
+ * <td align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>BodyCol1</td>
+ ^
+HtmlVersionTagsAttrsTest.java:49: warning: attribute obsolete, use CSS instead: width
+ * <td align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>BodyCol1</td>
+ ^
+HtmlVersionTagsAttrsTest.java:49: warning: attribute obsolete, use CSS instead: nowrap
+ * <td align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>BodyCol1</td>
+ ^
+HtmlVersionTagsAttrsTest.java:54: warning: attribute obsolete, use CSS instead: clear
+ * <br clear="left">
+ ^
+HtmlVersionTagsAttrsTest.java:55: warning: attribute obsolete, use CSS instead: compact
+ * <ol compact>
+ ^
+HtmlVersionTagsAttrsTest.java:60: warning: attribute obsolete, use CSS instead: type
+ * <li type="square">Test list</li>
+ ^
+HtmlVersionTagsAttrsTest.java:63: warning: attribute obsolete, use CSS instead: compact
+ * <dl compact>
+ ^
+HtmlVersionTagsAttrsTest.java:67: warning: attribute obsolete, use CSS instead: hspace
+ * <img src="testImg.jpg" alt="imgTest" hspace="10" vspace="10" border="0">
+ ^
+HtmlVersionTagsAttrsTest.java:67: warning: attribute obsolete, use CSS instead: vspace
+ * <img src="testImg.jpg" alt="imgTest" hspace="10" vspace="10" border="0">
+ ^
+HtmlVersionTagsAttrsTest.java:67: warning: attribute obsolete, use CSS instead: border
+ * <img src="testImg.jpg" alt="imgTest" hspace="10" vspace="10" border="0">
+ ^
+HtmlVersionTagsAttrsTest.java:68: warning: attribute obsolete, use CSS instead: size
+ * <hr size="20" noshade>
+ ^
+HtmlVersionTagsAttrsTest.java:68: warning: attribute obsolete, use CSS instead: noshade
+ * <hr size="20" noshade>
+ ^
+HtmlVersionTagsAttrsTest.java:69: warning: attribute obsolete, use CSS instead: width
+ * <pre width="25">Test Pre</pre>
+ ^
+HtmlVersionTagsAttrsTest.java:73: error: no summary or caption for table
+ * </table>
+ ^
+HtmlVersionTagsAttrsTest.java:78: error: attribute not supported in HTML4: reversed
+ * <ol reversed="reversed">
+ ^
+HtmlVersionTagsAttrsTest.java:83: error: attribute not supported in HTML4: crossorigin
+ * <img src="testImg.jpg" alt="imgTest" crossorigin="anonymous">
+ ^
+HtmlVersionTagsAttrsTest.java:84: error: attribute not supported in HTML4: aria-labelledby
+ * <div aria-labelledby="Topics" aria-describedby="t1">
+ ^
+HtmlVersionTagsAttrsTest.java:84: error: attribute not supported in HTML4: aria-describedby
+ * <div aria-labelledby="Topics" aria-describedby="t1">
+ ^
+HtmlVersionTagsAttrsTest.java:87: error: attribute not supported in HTML4: aria-label
+ * <p id="t2" aria-label="Label">Label test</p>
+ ^
+HtmlVersionTagsAttrsTest.java:95: warning: attribute obsolete, use CSS instead: size
+ * <font size="3">Font test</font>
+ ^
+HtmlVersionTagsAttrsTest.java:98: error: tag not supported in the generated HTML version: section
+ * <section>
+ ^
+HtmlVersionTagsAttrsTest.java:99: error: unknown tag: hgroup
+ * <hgroup>
+ ^
+HtmlVersionTagsAttrsTest.java:102: error: unknown tag: hgroup
+ * </hgroup>
+ ^
+HtmlVersionTagsAttrsTest.java:105: error: unknown tag: details
+ * <details>
+ ^
+HtmlVersionTagsAttrsTest.java:106: error: unknown tag: summary
+ * <summary>Summary</summary>
+ ^
+HtmlVersionTagsAttrsTest.java:106: error: unknown tag: summary
+ * <summary>Summary</summary>
+ ^
+HtmlVersionTagsAttrsTest.java:108: error: unknown tag: details
+ * </details>
+ ^
+HtmlVersionTagsAttrsTest.java:113: error: tag not supported in the generated HTML version: section
+ * <section>
+ ^
+HtmlVersionTagsAttrsTest.java:118: error: tag not supported in the generated HTML version: article
+ * <article>
+ ^
+HtmlVersionTagsAttrsTest.java:123: error: tag not supported in the generated HTML version: header
+ * <header>
+ ^
+HtmlVersionTagsAttrsTest.java:124: error: tag not supported in the generated HTML version: nav
+ * <nav>Navigation</nav>
+ ^
+HtmlVersionTagsAttrsTest.java:127: error: tag not supported in the generated HTML version: footer
+ * <footer>
+ ^
+HtmlVersionTagsAttrsTest.java:128: error: tag not supported in the generated HTML version: nav
+ * <nav>Navigation</nav>
+ ^
+HtmlVersionTagsAttrsTest.java:131: error: tag not supported in the generated HTML version: main
+ * <main>
+ ^
+HtmlVersionTagsAttrsTest.java:134: error: tag not supported in the generated HTML version: aside
+ * <aside>
+ ^
+HtmlVersionTagsAttrsTest.java:139: error: tag not supported in the generated HTML version: bdi
+ * <li>Testing<bdi>BDI</bdi></li>
+ ^
+HtmlVersionTagsAttrsTest.java:141: error: tag not supported in the generated HTML version: figure
+ * <figure>
+ ^
+HtmlVersionTagsAttrsTest.java:143: error: tag not supported in the generated HTML version: figcaption
+ * <figcaption>Fig. 1</figcaption>
+ ^
+HtmlVersionTagsAttrsTest.java:145: error: tag not supported in the generated HTML version: mark
+ * <p><mark>Marked</mark> text test</p>
+ ^
+HtmlVersionTagsAttrsTest.java:146: error: tag not supported in the generated HTML version: nav
+ * <nav>
+ ^
+HtmlVersionTagsAttrsTest.java:152: error: tag not supported in the generated HTML version: template
+ * <template id="testTemplate">
+ ^
+HtmlVersionTagsAttrsTest.java:155: error: tag not supported in the generated HTML version: time
+ * <p>Test current time is <time>10:00</time> at night</p>
+ ^
+HtmlVersionTagsAttrsTest.java:156: error: tag not supported in the generated HTML version: wbr
+ * <p>Test <wbr>WBR</wbr> text</p>
+ ^
+HtmlVersionTagsAttrsTest.java:161: error: tag not supported in the generated HTML version: section
+ * <section>
+ ^
+HtmlVersionTagsAttrsTest.java:164: error: tag not supported in the generated HTML version: article
+ * <article>
+ ^
+HtmlVersionTagsAttrsTest.java:167: error: tag not supported in the generated HTML version: header
+ * <header>
+ ^
+HtmlVersionTagsAttrsTest.java:168: error: tag not supported in the generated HTML version: header
+ * <header>
+ ^
+HtmlVersionTagsAttrsTest.java:171: error: tag not supported in the generated HTML version: footer
+ * <footer>
+ ^
+HtmlVersionTagsAttrsTest.java:174: error: tag not supported in the generated HTML version: main
+ * <main>
+ ^
+HtmlVersionTagsAttrsTest.java:179: error: tag not supported in the generated HTML version: footer
+ * <footer>
+ ^
+HtmlVersionTagsAttrsTest.java:180: error: tag not supported in the generated HTML version: header
+ * <header>
+ ^
+HtmlVersionTagsAttrsTest.java:183: error: tag not supported in the generated HTML version: footer
+ * <footer>
+ ^
+HtmlVersionTagsAttrsTest.java:186: error: tag not supported in the generated HTML version: main
+ * <main>
+ ^
+HtmlVersionTagsAttrsTest.java:193: error: no summary or caption for table
+ * </table>
+ ^
+HtmlVersionTagsAttrsTest.java:198: error: tag not supported in the generated HTML version: header
+ * <header role="banner">Main text</header>
+ ^
+HtmlVersionTagsAttrsTest.java:198: error: attribute not supported in HTML4: role
+ * <header role="banner">Main text</header>
+ ^
+HtmlVersionTagsAttrsTest.java:199: error: attribute not supported in HTML4: role
+ * <div role="navigation">
+ ^
+HtmlVersionTagsAttrsTest.java:204: error: no summary or caption for table
+ * </table>
+ ^
+HtmlVersionTagsAttrsTest.java:207: error: no summary or caption for table
+ * </table>
+ ^
+46 errors
+24 warnings
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/doclint/html/HtmlVersionTagsAttrsTestHtml5.out Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,299 @@
+HtmlVersionTagsAttrsTest.java:18: error: attribute not supported in HTML5: rev
+ * <a rev="help" href="rev_test.html">Help Page</a>
+ ^
+HtmlVersionTagsAttrsTest.java:19: error: attribute not supported in HTML5: charset
+ * <a charset="UTF-8" href="charset_test.html">Test page</a>
+ ^
+HtmlVersionTagsAttrsTest.java:20: error: attribute not supported in HTML5: shape
+ * <a href="shape_test.html" shape="poly" coords="10,30,56,142">Location</a>
+ ^
+HtmlVersionTagsAttrsTest.java:20: error: attribute not supported in HTML5: coords
+ * <a href="shape_test.html" shape="poly" coords="10,30,56,142">Location</a>
+ ^
+HtmlVersionTagsAttrsTest.java:21: error: attribute not supported in HTML5: name
+ * <img name="name_test" alt="alt">
+ ^
+HtmlVersionTagsAttrsTest.java:23: error: attribute not supported in HTML5: axis
+ * <tr><th axis="desc">Description</th></tr>
+ ^
+HtmlVersionTagsAttrsTest.java:24: error: attribute not supported in HTML5: axis
+ * <tr><td axis="desc" abbr="abbr_test" scope="row">Axis_Test</td></tr>
+ ^
+HtmlVersionTagsAttrsTest.java:24: error: attribute not supported in HTML5: abbr
+ * <tr><td axis="desc" abbr="abbr_test" scope="row">Axis_Test</td></tr>
+ ^
+HtmlVersionTagsAttrsTest.java:24: error: attribute not supported in HTML5: scope
+ * <tr><td axis="desc" abbr="abbr_test" scope="row">Axis_Test</td></tr>
+ ^
+HtmlVersionTagsAttrsTest.java:25: error: no summary or caption for table
+ * </table>
+ ^
+HtmlVersionTagsAttrsTest.java:26: error: attribute not supported in HTML5: summary
+ * <table summary="summary_test"><tr><td>Test Row</td></tr></table>
+ ^
+HtmlVersionTagsAttrsTest.java:28: error: attribute not supported in HTML5: align
+ * <table align="left" bgcolor="#EAEAEA" cellpadding="10" cellspacing="2" frame="box" rules="rows" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:28: error: attribute not supported in HTML5: bgcolor
+ * <table align="left" bgcolor="#EAEAEA" cellpadding="10" cellspacing="2" frame="box" rules="rows" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:28: error: attribute not supported in HTML5: cellpadding
+ * <table align="left" bgcolor="#EAEAEA" cellpadding="10" cellspacing="2" frame="box" rules="rows" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:28: error: attribute not supported in HTML5: cellspacing
+ * <table align="left" bgcolor="#EAEAEA" cellpadding="10" cellspacing="2" frame="box" rules="rows" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:28: error: attribute not supported in HTML5: frame
+ * <table align="left" bgcolor="#EAEAEA" cellpadding="10" cellspacing="2" frame="box" rules="rows" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:28: error: attribute not supported in HTML5: rules
+ * <table align="left" bgcolor="#EAEAEA" cellpadding="10" cellspacing="2" frame="box" rules="rows" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:28: error: attribute not supported in HTML5: width
+ * <table align="left" bgcolor="#EAEAEA" cellpadding="10" cellspacing="2" frame="box" rules="rows" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:29: error: attribute not supported in HTML5: align
+ * <caption align="center">Test table, caption, col, colgroup, tbody,
+ ^
+HtmlVersionTagsAttrsTest.java:31: error: attribute not supported in HTML5: align
+ * <colgroup align="char" char="." charoff="2" valign="top" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:31: error: attribute not supported in HTML5: char
+ * <colgroup align="char" char="." charoff="2" valign="top" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:31: error: attribute not supported in HTML5: charoff
+ * <colgroup align="char" char="." charoff="2" valign="top" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:31: error: attribute not supported in HTML5: valign
+ * <colgroup align="char" char="." charoff="2" valign="top" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:31: error: attribute not supported in HTML5: width
+ * <colgroup align="char" char="." charoff="2" valign="top" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:32: error: attribute not supported in HTML5: align
+ * <col align="center" valign="top" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:32: error: attribute not supported in HTML5: valign
+ * <col align="center" valign="top" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:32: error: attribute not supported in HTML5: width
+ * <col align="center" valign="top" width="200">
+ ^
+HtmlVersionTagsAttrsTest.java:33: error: attribute not supported in HTML5: align
+ * <col align="char" char="." charoff="2">
+ ^
+HtmlVersionTagsAttrsTest.java:33: error: attribute not supported in HTML5: char
+ * <col align="char" char="." charoff="2">
+ ^
+HtmlVersionTagsAttrsTest.java:33: error: attribute not supported in HTML5: charoff
+ * <col align="char" char="." charoff="2">
+ ^
+HtmlVersionTagsAttrsTest.java:35: error: attribute not supported in HTML5: align
+ * <thead align="char" char="." charoff="2" valign="top">
+ ^
+HtmlVersionTagsAttrsTest.java:35: error: attribute not supported in HTML5: char
+ * <thead align="char" char="." charoff="2" valign="top">
+ ^
+HtmlVersionTagsAttrsTest.java:35: error: attribute not supported in HTML5: charoff
+ * <thead align="char" char="." charoff="2" valign="top">
+ ^
+HtmlVersionTagsAttrsTest.java:36: error: attribute not supported in HTML5: align
+ * <tr align="char" char="." charoff="2" bgcolor="#EAEAEA" valign="top">
+ ^
+HtmlVersionTagsAttrsTest.java:36: error: attribute not supported in HTML5: char
+ * <tr align="char" char="." charoff="2" bgcolor="#EAEAEA" valign="top">
+ ^
+HtmlVersionTagsAttrsTest.java:36: error: attribute not supported in HTML5: charoff
+ * <tr align="char" char="." charoff="2" bgcolor="#EAEAEA" valign="top">
+ ^
+HtmlVersionTagsAttrsTest.java:36: error: attribute not supported in HTML5: bgcolor
+ * <tr align="char" char="." charoff="2" bgcolor="#EAEAEA" valign="top">
+ ^
+HtmlVersionTagsAttrsTest.java:37: error: attribute not supported in HTML5: align
+ * <th align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>HeadCol1</th>
+ ^
+HtmlVersionTagsAttrsTest.java:37: error: attribute not supported in HTML5: char
+ * <th align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>HeadCol1</th>
+ ^
+HtmlVersionTagsAttrsTest.java:37: error: attribute not supported in HTML5: charoff
+ * <th align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>HeadCol1</th>
+ ^
+HtmlVersionTagsAttrsTest.java:37: error: attribute not supported in HTML5: bgcolor
+ * <th align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>HeadCol1</th>
+ ^
+HtmlVersionTagsAttrsTest.java:37: error: attribute not supported in HTML5: height
+ * <th align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>HeadCol1</th>
+ ^
+HtmlVersionTagsAttrsTest.java:37: error: attribute not supported in HTML5: width
+ * <th align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>HeadCol1</th>
+ ^
+HtmlVersionTagsAttrsTest.java:37: error: attribute not supported in HTML5: nowrap
+ * <th align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>HeadCol1</th>
+ ^
+HtmlVersionTagsAttrsTest.java:41: error: attribute not supported in HTML5: align
+ * <tfoot align="char" char="." charoff="2" valign="top">
+ ^
+HtmlVersionTagsAttrsTest.java:41: error: attribute not supported in HTML5: char
+ * <tfoot align="char" char="." charoff="2" valign="top">
+ ^
+HtmlVersionTagsAttrsTest.java:41: error: attribute not supported in HTML5: charoff
+ * <tfoot align="char" char="." charoff="2" valign="top">
+ ^
+HtmlVersionTagsAttrsTest.java:47: error: attribute not supported in HTML5: align
+ * <tbody align="char" char="." charoff="2" valign="top">
+ ^
+HtmlVersionTagsAttrsTest.java:47: error: attribute not supported in HTML5: char
+ * <tbody align="char" char="." charoff="2" valign="top">
+ ^
+HtmlVersionTagsAttrsTest.java:47: error: attribute not supported in HTML5: charoff
+ * <tbody align="char" char="." charoff="2" valign="top">
+ ^
+HtmlVersionTagsAttrsTest.java:49: error: attribute not supported in HTML5: align
+ * <td align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>BodyCol1</td>
+ ^
+HtmlVersionTagsAttrsTest.java:49: error: attribute not supported in HTML5: char
+ * <td align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>BodyCol1</td>
+ ^
+HtmlVersionTagsAttrsTest.java:49: error: attribute not supported in HTML5: charoff
+ * <td align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>BodyCol1</td>
+ ^
+HtmlVersionTagsAttrsTest.java:49: error: attribute not supported in HTML5: bgcolor
+ * <td align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>BodyCol1</td>
+ ^
+HtmlVersionTagsAttrsTest.java:49: error: attribute not supported in HTML5: height
+ * <td align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>BodyCol1</td>
+ ^
+HtmlVersionTagsAttrsTest.java:49: error: attribute not supported in HTML5: width
+ * <td align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>BodyCol1</td>
+ ^
+HtmlVersionTagsAttrsTest.java:49: error: attribute not supported in HTML5: nowrap
+ * <td align="char" char="." charoff="2" bgcolor="#EAEAEA" height="200" valign="top" width="200" nowrap>BodyCol1</td>
+ ^
+HtmlVersionTagsAttrsTest.java:54: error: attribute not supported in HTML5: clear
+ * <br clear="left">
+ ^
+HtmlVersionTagsAttrsTest.java:55: error: attribute not supported in HTML5: compact
+ * <ol compact>
+ ^
+HtmlVersionTagsAttrsTest.java:59: error: attribute not supported in HTML5: type
+ * <ul type="circle" compact>
+ ^
+HtmlVersionTagsAttrsTest.java:59: error: attribute not supported in HTML5: compact
+ * <ul type="circle" compact>
+ ^
+HtmlVersionTagsAttrsTest.java:60: error: attribute not supported in HTML5: type
+ * <li type="square">Test list</li>
+ ^
+HtmlVersionTagsAttrsTest.java:63: error: attribute not supported in HTML5: compact
+ * <dl compact>
+ ^
+HtmlVersionTagsAttrsTest.java:67: error: attribute not supported in HTML5: hspace
+ * <img src="testImg.jpg" alt="imgTest" hspace="10" vspace="10" border="0">
+ ^
+HtmlVersionTagsAttrsTest.java:67: error: attribute not supported in HTML5: vspace
+ * <img src="testImg.jpg" alt="imgTest" hspace="10" vspace="10" border="0">
+ ^
+HtmlVersionTagsAttrsTest.java:67: error: attribute not supported in HTML5: border
+ * <img src="testImg.jpg" alt="imgTest" hspace="10" vspace="10" border="0">
+ ^
+HtmlVersionTagsAttrsTest.java:68: error: attribute not supported in HTML5: size
+ * <hr size="20" noshade>
+ ^
+HtmlVersionTagsAttrsTest.java:68: error: attribute not supported in HTML5: noshade
+ * <hr size="20" noshade>
+ ^
+HtmlVersionTagsAttrsTest.java:69: error: attribute not supported in HTML5: width
+ * <pre width="25">Test Pre</pre>
+ ^
+HtmlVersionTagsAttrsTest.java:70: error: attribute not supported in HTML5: name
+ * <a name="AnchorTest">Anchor Test</a>
+ ^
+HtmlVersionTagsAttrsTest.java:71: error: attribute border for table only accepts "" or "1", use CSS instead: BORDER
+ * <table border="0">
+ ^
+HtmlVersionTagsAttrsTest.java:73: error: no summary or caption for table
+ * </table>
+ ^
+HtmlVersionTagsAttrsTest.java:93: error: tag not supported in the generated HTML version: big
+ * <p><big>Bigger text test</big></p>
+ ^
+HtmlVersionTagsAttrsTest.java:93: warning: empty <p> tag
+ * <p><big>Bigger text test</big></p>
+ ^
+HtmlVersionTagsAttrsTest.java:94: error: tag not supported in the generated HTML version: center
+ * <center>Center text test</center>
+ ^
+HtmlVersionTagsAttrsTest.java:95: error: tag not supported in the generated HTML version: font
+ * <font size="3">Font test</font>
+ ^
+HtmlVersionTagsAttrsTest.java:95: error: attribute not supported in HTML5: size
+ * <font size="3">Font test</font>
+ ^
+HtmlVersionTagsAttrsTest.java:96: error: tag not supported in the generated HTML version: strike
+ * <p>Text <strike>strike</strike></p>
+ ^
+HtmlVersionTagsAttrsTest.java:97: error: tag not supported in the generated HTML version: tt
+ * <p><tt>Teletype text</tt></p>
+ ^
+HtmlVersionTagsAttrsTest.java:97: warning: empty <p> tag
+ * <p><tt>Teletype text</tt></p>
+ ^
+HtmlVersionTagsAttrsTest.java:99: error: unknown tag: hgroup
+ * <hgroup>
+ ^
+HtmlVersionTagsAttrsTest.java:102: error: unknown tag: hgroup
+ * </hgroup>
+ ^
+HtmlVersionTagsAttrsTest.java:105: error: unknown tag: details
+ * <details>
+ ^
+HtmlVersionTagsAttrsTest.java:106: error: unknown tag: summary
+ * <summary>Summary</summary>
+ ^
+HtmlVersionTagsAttrsTest.java:106: error: unknown tag: summary
+ * <summary>Summary</summary>
+ ^
+HtmlVersionTagsAttrsTest.java:108: error: unknown tag: details
+ * </details>
+ ^
+HtmlVersionTagsAttrsTest.java:131: error: element not allowed in documentation comments: <main>
+ * <main>
+ ^
+HtmlVersionTagsAttrsTest.java:163: error: heading not found for </section>
+ * </section>
+ ^
+HtmlVersionTagsAttrsTest.java:166: error: heading not found for </article>
+ * </article>
+ ^
+HtmlVersionTagsAttrsTest.java:168: error: tag not allowed here: <header>
+ * <header>
+ ^
+HtmlVersionTagsAttrsTest.java:171: error: tag not allowed here: <footer>
+ * <footer>
+ ^
+HtmlVersionTagsAttrsTest.java:174: error: element not allowed in documentation comments: <main>
+ * <main>
+ ^
+HtmlVersionTagsAttrsTest.java:180: error: tag not allowed here: <header>
+ * <header>
+ ^
+HtmlVersionTagsAttrsTest.java:183: error: tag not allowed here: <footer>
+ * <footer>
+ ^
+HtmlVersionTagsAttrsTest.java:186: error: element not allowed in documentation comments: <main>
+ * <main>
+ ^
+HtmlVersionTagsAttrsTest.java:191: error: attribute border for table only accepts "" or "1", use CSS instead: BORDER
+ * <table border="2">
+ ^
+HtmlVersionTagsAttrsTest.java:193: error: no summary or caption for table
+ * </table>
+ ^
+HtmlVersionTagsAttrsTest.java:204: error: no summary or caption for table
+ * </table>
+ ^
+HtmlVersionTagsAttrsTest.java:207: error: no summary or caption for table
+ * </table>
+ ^
+97 errors
+2 warnings
--- a/langtools/test/tools/javac/Diagnostics/6722234/T6722234b.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/Diagnostics/6722234/T6722234b.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/**
* @test /nodynamiccopyright/
- * @bug 6722234
+ * @bug 6722234 8078024
* @summary javac diagnostics need better integration with the type-system
* @author mcimadamore
* @compile/fail/ref=T6722234b_1.out -XDrawDiagnostics -XDdiags=simpleNames T6722234b.java
--- a/langtools/test/tools/javac/Diagnostics/6722234/T6722234b_1.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/Diagnostics/6722234/T6722234b_1.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-T6722234b.java:16:9: compiler.err.cant.apply.symbol: kindname.method, m, List<T>,List<T>, List<compiler.misc.type.captureof: 1, ? extends T6722234b>,List<compiler.misc.type.captureof: 2, ? extends T6722234b>, kindname.class, T6722234b, (compiler.misc.inferred.do.not.conform.to.eq.bounds: compiler.misc.type.captureof: 2, ? extends T6722234b, compiler.misc.type.captureof: 2, ? extends T6722234b,compiler.misc.type.captureof: 1, ? extends T6722234b)
+T6722234b.java:16:9: compiler.err.cant.apply.symbol: kindname.method, m, List<T>,List<T>, List<compiler.misc.type.captureof: 1, ? extends T6722234b>,List<compiler.misc.type.captureof: 2, ? extends T6722234b>, kindname.class, T6722234b, (compiler.misc.incompatible.eq.bounds: T, compiler.misc.type.captureof: 2, ? extends T6722234b,compiler.misc.type.captureof: 1, ? extends T6722234b)
1 error
--- a/langtools/test/tools/javac/Diagnostics/6722234/T6722234b_2.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/Diagnostics/6722234/T6722234b_2.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,4 +1,4 @@
-T6722234b.java:16:9: compiler.err.cant.apply.symbol: kindname.method, m, List<T>,List<T>, List<compiler.misc.captured.type: 1>,List<compiler.misc.captured.type: 2>, kindname.class, T6722234b, (compiler.misc.inferred.do.not.conform.to.eq.bounds: compiler.misc.captured.type: 2, compiler.misc.captured.type: 2,compiler.misc.captured.type: 1)
+T6722234b.java:16:9: compiler.err.cant.apply.symbol: kindname.method, m, List<T>,List<T>, List<compiler.misc.captured.type: 1>,List<compiler.misc.captured.type: 2>, kindname.class, T6722234b, (compiler.misc.incompatible.eq.bounds: T, compiler.misc.captured.type: 2,compiler.misc.captured.type: 1)
- compiler.misc.where.description.typevar: T,{(compiler.misc.where.typevar: T, Object, kindname.method, <T>m(List<T>,List<T>))}
- compiler.misc.where.description.captured.1: compiler.misc.captured.type: 1,compiler.misc.captured.type: 2,{(compiler.misc.where.captured.1: compiler.misc.captured.type: 1, T6722234b, compiler.misc.type.null, ? extends T6722234b),(compiler.misc.where.captured.1: compiler.misc.captured.type: 2, T6722234b, compiler.misc.type.null, ? extends T6722234b)}
1 error
--- a/langtools/test/tools/javac/Diagnostics/6722234/T6722234d.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/Diagnostics/6722234/T6722234d.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/**
* @test /nodynamiccopyright/
- * @bug 6722234
+ * @bug 6722234 8078024
* @summary javac diagnostics need better integration with the type-system
* @author mcimadamore
* @compile/fail/ref=T6722234d_1.out -XDrawDiagnostics -XDdiags=where T6722234d.java
--- a/langtools/test/tools/javac/Diagnostics/6722234/T6722234d_1.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/Diagnostics/6722234/T6722234d_1.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,3 +1,3 @@
-T6722234d.java:18:20: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: compiler.misc.intersection.type: 1, T6722234d.A,java.lang.Object)
-- compiler.misc.where.description.intersection: compiler.misc.intersection.type: 1,{(compiler.misc.where.intersection: compiler.misc.intersection.type: 1, java.lang.Object,T6722234d.I1,T6722234d.I2)}
+T6722234d.java:18:20: compiler.err.prob.found.req: (compiler.misc.incompatible.upper.lower.bounds: Z, T6722234d.A,java.lang.Object, T6722234d.B,T6722234d.A)
+- compiler.misc.where.description.typevar: Z,{(compiler.misc.where.typevar: Z, java.lang.Object, kindname.method, <Z>m(Z,Z))}
1 error
--- a/langtools/test/tools/javac/Diagnostics/6722234/T6722234d_2.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/Diagnostics/6722234/T6722234d_2.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,3 +1,3 @@
-T6722234d.java:18:20: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: compiler.misc.intersection.type: 1, T6722234d.A,Object)
-- compiler.misc.where.description.intersection: compiler.misc.intersection.type: 1,{(compiler.misc.where.intersection: compiler.misc.intersection.type: 1, Object,I1,I2)}
+T6722234d.java:18:20: compiler.err.prob.found.req: (compiler.misc.incompatible.upper.lower.bounds: Z, T6722234d.A,Object, T6722234d.B,T6722234d.A)
+- compiler.misc.where.description.typevar: Z,{(compiler.misc.where.typevar: Z, Object, kindname.method, <Z>m(Z,Z))}
1 error
--- a/langtools/test/tools/javac/Diagnostics/6799605/T6799605.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/Diagnostics/6799605/T6799605.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/**
* @test /nodynamiccopyright/
- * @bug 6799605
+ * @bug 6799605 8078024
* @summary Basic/Raw formatters should use type/symbol printer instead of toString()
* @author mcimadamore
* @compile/fail/ref=T6799605.out -XDrawDiagnostics T6799605.java
--- a/langtools/test/tools/javac/Diagnostics/6799605/T6799605.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/Diagnostics/6799605/T6799605.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,4 +1,4 @@
T6799605.java:17:9: compiler.err.cant.apply.symbols: kindname.method, m, T6799605<compiler.misc.type.captureof: 1, ?>,{(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>), (compiler.misc.incompatible.eq.upper.bounds: T, compiler.misc.type.captureof: 1, ?, T6799605<T>)),(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>,T6799605<T>), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>,T6799605<T>,T6799605<T>), (compiler.misc.infer.arg.length.mismatch: T))}
-T6799605.java:18:9: compiler.err.cant.apply.symbols: kindname.method, m, T6799605<compiler.misc.type.captureof: 1, ?>,T6799605<compiler.misc.type.captureof: 2, ?>,{(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>,T6799605<T>), (compiler.misc.inferred.do.not.conform.to.eq.bounds: compiler.misc.type.captureof: 2, ?, compiler.misc.type.captureof: 2, ?,compiler.misc.type.captureof: 1, ?)),(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>,T6799605<T>,T6799605<T>), (compiler.misc.infer.arg.length.mismatch: T))}
-T6799605.java:19:9: compiler.err.cant.apply.symbols: kindname.method, m, T6799605<compiler.misc.type.captureof: 1, ?>,T6799605<compiler.misc.type.captureof: 2, ?>,T6799605<compiler.misc.type.captureof: 3, ?>,{(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>,T6799605<T>), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>,T6799605<T>,T6799605<T>), (compiler.misc.inferred.do.not.conform.to.eq.bounds: compiler.misc.type.captureof: 3, ?, compiler.misc.type.captureof: 3, ?,compiler.misc.type.captureof: 2, ?,compiler.misc.type.captureof: 1, ?))}
+T6799605.java:18:9: compiler.err.cant.apply.symbols: kindname.method, m, T6799605<compiler.misc.type.captureof: 1, ?>,T6799605<compiler.misc.type.captureof: 2, ?>,{(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>,T6799605<T>), (compiler.misc.incompatible.eq.bounds: T, compiler.misc.type.captureof: 2, ?,compiler.misc.type.captureof: 1, ?)),(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>,T6799605<T>,T6799605<T>), (compiler.misc.infer.arg.length.mismatch: T))}
+T6799605.java:19:9: compiler.err.cant.apply.symbols: kindname.method, m, T6799605<compiler.misc.type.captureof: 1, ?>,T6799605<compiler.misc.type.captureof: 2, ?>,T6799605<compiler.misc.type.captureof: 3, ?>,{(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>,T6799605<T>), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.method, T6799605, <T>m(T6799605<T>,T6799605<T>,T6799605<T>), (compiler.misc.incompatible.eq.bounds: T, compiler.misc.type.captureof: 3, ?,compiler.misc.type.captureof: 2, ?,compiler.misc.type.captureof: 1, ?))}
3 errors
--- a/langtools/test/tools/javac/annotations/repeatingAnnotations/RepeatingTargetNotAllowed.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/annotations/repeatingAnnotations/RepeatingTargetNotAllowed.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-RepeatingTargetNotAllowed.java:43:5: compiler.err.invalid.repeatable.annotation.incompatible.target: Foos, Foo
+RepeatingTargetNotAllowed.java:43:5: compiler.err.invalid.repeatable.annotation.not.applicable: Foos, f
1 error
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/DeclVsUseErrorMessage.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8073534
+ * @summary Check for correct type annotation error messages.
+ * @compile/fail/ref=DeclVsUseErrorMessage.out -XDrawDiagnostics DeclVsUseErrorMessage.java
+ */
+
+import java.lang.annotation.*;
+import java.util.ArrayList;
+
+class DeclVsUseErrorMessage {
+
+ @Target(ElementType.METHOD)
+ @interface A {}
+
+ // Should trigger a "decl" warning
+ @A int i;
+
+ // Should trigger a "use" warning
+ {
+ new ArrayList<@A String>();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/DeclVsUseErrorMessage.out Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,3 @@
+DeclVsUseErrorMessage.java:40:5: compiler.err.annotation.type.not.applicable
+DeclVsUseErrorMessage.java:44:23: compiler.err.annotation.type.not.applicable.to.type: DeclVsUseErrorMessage.A
+2 errors
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeOnAnonClass.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/TypeOnAnonClass.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-TypeOnAnonClass.java:13:40: compiler.err.annotation.type.not.applicable
+TypeOnAnonClass.java:13:40: compiler.err.annotation.type.not.applicable.to.type: X
1 error
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
-DeclarationAnnotation.java:13:21: compiler.err.annotation.type.not.applicable
-DeclarationAnnotation.java:10:21: compiler.err.annotation.type.not.applicable
-DeclarationAnnotation.java:11:21: compiler.err.annotation.type.not.applicable
-DeclarationAnnotation.java:12:21: compiler.err.annotation.type.not.applicable
+DeclarationAnnotation.java:13:21: compiler.err.annotation.type.not.applicable.to.type: DA
+DeclarationAnnotation.java:10:21: compiler.err.annotation.type.not.applicable.to.type: DA
+DeclarationAnnotation.java:11:21: compiler.err.annotation.type.not.applicable.to.type: DA
+DeclarationAnnotation.java:12:21: compiler.err.annotation.type.not.applicable.to.type: DA
4 errors
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/InvalidLocation.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/InvalidLocation.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-InvalidLocation.java:11:12: compiler.err.annotation.type.not.applicable
+InvalidLocation.java:11:12: compiler.err.annotation.type.not.applicable.to.type: A
1 error
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/InvalidLocation.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/InvalidLocation.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-InvalidLocation.java:10:17: compiler.err.annotation.type.not.applicable
+InvalidLocation.java:10:17: compiler.err.annotation.type.not.applicable.to.type: A
1 error
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/newarray/InvalidLocation.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/newarray/InvalidLocation.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-InvalidLocation.java:11:29: compiler.err.annotation.type.not.applicable
+InvalidLocation.java:11:29: compiler.err.annotation.type.not.applicable.to.type: A
1 error
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/BrokenAnnotation.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/BrokenAnnotation.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
BrokenAnnotation.java:16:6: compiler.err.cant.resolve.location: kindname.class, Target, , , (compiler.misc.location: kindname.class, BrokenAnnotation<T>, null)
BrokenAnnotation.java:16:14: compiler.err.cant.resolve.location: kindname.variable, ElementType, , , (compiler.misc.location: kindname.class, BrokenAnnotation<T>, null)
BrokenAnnotation.java:16:36: compiler.err.cant.resolve.location: kindname.variable, ElementType, , , (compiler.misc.location: kindname.class, BrokenAnnotation<T>, null)
-BrokenAnnotation.java:15:34: compiler.err.annotation.type.not.applicable
+BrokenAnnotation.java:15:34: compiler.err.annotation.type.not.applicable.to.type: BrokenAnnotation.A
4 errors
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/InvalidLocation.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/InvalidLocation.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-InvalidLocation.java:9:33: compiler.err.annotation.type.not.applicable
+InvalidLocation.java:9:33: compiler.err.annotation.type.not.applicable.to.type: A
1 error
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DeclarationAnnotation.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DeclarationAnnotation.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-DeclarationAnnotation.java:14:14: compiler.err.annotation.type.not.applicable
+DeclarationAnnotation.java:14:14: compiler.err.annotation.type.not.applicable.to.type: DA
1 error
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/rest/InvalidLocation.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/rest/InvalidLocation.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-InvalidLocation.java:11:9: compiler.err.annotation.type.not.applicable
+InvalidLocation.java:11:9: compiler.err.annotation.type.not.applicable.to.type: A
1 error
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/InvalidLocation.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/InvalidLocation.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-InvalidLocation.java:10:19: compiler.err.annotation.type.not.applicable
+InvalidLocation.java:10:19: compiler.err.annotation.type.not.applicable.to.type: A
1 error
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/InvalidLocation.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/InvalidLocation.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-InvalidLocation.java:9:23: compiler.err.annotation.type.not.applicable
+InvalidLocation.java:9:23: compiler.err.annotation.type.not.applicable.to.type: A
1 error
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DeclarationAnnotation.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DeclarationAnnotation.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-DeclarationAnnotation.java:15:10: compiler.err.annotation.type.not.applicable
+DeclarationAnnotation.java:15:10: compiler.err.annotation.type.not.applicable.to.type: DA
1 error
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/InvalidLocation.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/InvalidLocation.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-InvalidLocation.java:10:19: compiler.err.annotation.type.not.applicable
+InvalidLocation.java:10:19: compiler.err.annotation.type.not.applicable.to.type: A
1 error
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/classfiles/attributes/AnnotationDefault/AnnotationDefault.java.template Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.lang.annotation.*;
+
+%REPEATABLE%
+@Retention(RetentionPolicy.%POLICY%)
+public @interface AnnotationDefault {
+ @ExpectedValues(tag = 'Z', name = "booleanDefault", values = "1")
+ boolean booleanDefault() default true;
+
+ @ExpectedValues(tag = 'C', name = "charDefault", values = "1")
+ char charDefault() default 1;
+
+ @ExpectedValues(tag = 'B', name = "byteDefault", values = "1")
+ byte byteDefault() default 1;
+
+ @ExpectedValues(tag = 'S', name = "shortDefault", values = "1")
+ short shortDefault() default 1;
+
+ @ExpectedValues(tag = 'I', name = "intDefault", values = "1")
+ int intDefault() default 1;
+
+ @ExpectedValues(tag = 'J', name = "longDefault", values = "1")
+ long longDefault() default 1;
+
+ @ExpectedValues(tag = 'F', name = "floatDefault", values = "1.0")
+ float floatDefault() default 1.0f;
+
+ @ExpectedValues(tag = 'D', name = "doubleDefault", values = "1.0")
+ double doubleDefault() default 1.0;
+
+ @ExpectedValues(tag = 's', name = "stringDefault", values = "DEFAULT_VALUE")
+ String stringDefault() default "DEFAULT_VALUE";
+
+ @ExpectedValues(tag = 'e', name = "enumDefault", values = {"LAnnotationDefault$DefaultValues;", "VALUE1"})
+ DefaultValues enumDefault() default DefaultValues.VALUE1;
+
+ @ExpectedValues(tag = 'c', name = "clazzDefault1", values = "V")
+ Class<?> clazzDefault1() default void.class;
+
+ @ExpectedValues(tag = 'c', name = "clazzDefault2", values = "Ljava/lang/Void;")
+ Class<?> clazzDefault2() default Void.class;
+
+ @ExpectedValues(tag = '[', name = "arrayDefault1", values = {"1", "2", "3"})
+ int[] arrayDefault1() default {1, 2, 3};
+
+ @ExpectedValues(tag = '[', name = "arrayDefault2", values = {"DEFAULT_VALUE_1", "DEFAULT_VALUE_2", "DEFAULT_VALUE_3"})
+ String[] arrayDefault2() default {"DEFAULT_VALUE_1", "DEFAULT_VALUE_2", "DEFAULT_VALUE_3"};
+
+ @ExpectedValues(tag = '[', name = "arrayOfEnums", values = {"LAnnotationDefault$DefaultValues;", "VALUE2",
+ "LAnnotationDefault$DefaultValues;", "VALUE3"})
+ DefaultValues[] arrayOfEnums() default {DefaultValues.VALUE2, DefaultValues.VALUE3};
+
+ @ExpectedValues(tag = '[', name = "arrayOfAnno", values = {"LAnnotationDefault$DefaultAnnotation;", "value", "DEFAULT_VALUE1",
+ "LAnnotationDefault$DefaultAnnotation;", "value", "DEFAULT_VALUE2"})
+ DefaultAnnotation[] arrayOfAnno() default {@DefaultAnnotation(value = "DEFAULT_VALUE1"), @DefaultAnnotation(value = "DEFAULT_VALUE2")};
+
+ @ExpectedValues(tag = '@', name = "annoDefault", values = {"LAnnotationDefault$DefaultAnnotation;", "value", "DEFAULT_VALUE"})
+ DefaultAnnotation annoDefault() default @DefaultAnnotation(value = "DEFAULT_VALUE");
+
+ @interface DefaultAnnotation {
+ String value() default "NOT_DEFAULT_VALUE";
+ }
+
+ enum DefaultValues {
+ VALUE1, VALUE2, VALUE3
+ }
+}
+
+@Retention(RetentionPolicy.%POLICY%)
+@interface Container {
+ AnnotationDefault[] value();
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/classfiles/attributes/AnnotationDefault/AnnotationDefaultTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8042947
+ * @summary Checking AnnotationDefault attribute.
+ * @library /tools/lib /tools/javac/lib ../lib
+ * @build AnnotationDefaultTest TestBase TestResult InMemoryFileManager ToolBox AnnotationDefaultVerifier
+ * @run main AnnotationDefaultTest
+ */
+
+import com.sun.tools.classfile.*;
+
+import java.io.File;
+import java.io.IOException;
+import java.lang.annotation.RetentionPolicy;
+import java.nio.file.Files;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+public class AnnotationDefaultTest extends TestResult {
+
+ private final static String templateFileName = "AnnotationDefault.java.template";
+
+ private final AnnotationDefaultVerifier verifier;
+
+ public AnnotationDefaultTest() {
+ verifier = new AnnotationDefaultVerifier();
+ }
+
+ private void test(String template, Map<String, String> replacements, boolean hasDefault) {
+ String source = replace(template, replacements);
+ addTestCase(source);
+ try {
+ printf("Testing source:\n%s\n", source);
+ String className = "AnnotationDefault";
+ InMemoryFileManager fileManager = compile(source);
+
+ // Map <method-name, expected-annotation-default-values>
+ Map<String, ExpectedValues> expectedValues =
+ getExpectedValues(forName(className, fileManager));
+ ClassFile classFile = readClassFile(fileManager.getClasses().get(className));
+
+ for (Method method : classFile.methods) {
+ String methodName = method.getName(classFile.constant_pool);
+ printf("Testing method : %s\n", methodName);
+ AnnotationDefault_attribute attr =
+ (AnnotationDefault_attribute) method.attributes
+ .get(Attribute.AnnotationDefault);
+
+ if (hasDefault && !checkNotNull(attr, "Attribute is not null")
+ || !hasDefault && checkNull(attr, "Attribute is null")) {
+ // stop checking, attr is null
+ continue;
+ }
+
+ checkEquals(countNumberOfAttributes(method.attributes.attrs),
+ 1l,
+ "Number of AnnotationDefault attribute");
+ checkEquals(classFile.constant_pool
+ .getUTF8Value(attr.attribute_name_index),
+ "AnnotationDefault", "attribute_name_index");
+
+ ExpectedValues expectedValue = expectedValues.get(methodName);
+ checkEquals((char) attr.default_value.tag, expectedValue.tag(),
+ String.format("check tag : %c %s", expectedValue.tag(), expectedValue.name()));
+ verifier.testElementValue(attr.default_value.tag,
+ this, classFile, attr.default_value,
+ expectedValue.values());
+ verifier.testLength(attr.default_value.tag, this, attr);
+ }
+ } catch (Exception e) {
+ addFailure(e);
+ }
+ }
+
+ private Class<?> forName(String className, InMemoryFileManager fileManager) throws ClassNotFoundException {
+ return fileManager.getClassLoader(null).loadClass(className);
+ }
+
+ private Map<String, ExpectedValues> getExpectedValues(Class<?> clazz) {
+ return Stream.of(clazz.getMethods())
+ .map(method -> method.getAnnotation(ExpectedValues.class))
+ .filter(Objects::nonNull)
+ .collect(Collectors.toMap(
+ ExpectedValues::name,
+ Function.identity()));
+ }
+
+ private String replace(String template, Map<String, String> replacements) {
+ String ans = template;
+ for (Map.Entry<String, String> replace : replacements.entrySet()) {
+ ans = ans.replaceAll(replace.getKey(), replace.getValue());
+ }
+ return ans;
+ }
+
+ private long countNumberOfAttributes(Attribute[] attrs) {
+ return Stream.of(attrs)
+ .filter(x -> x instanceof AnnotationDefault_attribute)
+ .count();
+ }
+
+ public String getSource(File templateFileName) throws IOException {
+ return Files.lines(templateFileName.toPath())
+ .filter(str -> !str.startsWith("/*") && !str.startsWith(" *"))
+ .collect(Collectors.joining("\n"));
+ }
+
+ public void test() throws TestFailedException {
+ try {
+ String template = getSource(getSourceFile(templateFileName));
+ for (int i = 0; i < 2; ++i) {
+ for (String repeatable : new String[] {"", "@Repeatable(Container.class)"}) {
+ for (RetentionPolicy policy : RetentionPolicy.values()) {
+ final int finalI = i;
+ Map<String, String> replacements = new HashMap<String, String>(){{
+ put("%POLICY%", policy.toString());
+ if (finalI != 0) {
+ put("default.*\n", ";\n");
+ }
+ put("%REPEATABLE%", repeatable);
+ }};
+ test(template, replacements, i == 0);
+ }
+ }
+ }
+ } catch (Throwable e) {
+ addFailure(e);
+ } finally {
+ checkStatus();
+ }
+ }
+
+ public static void main(String[] args) throws TestFailedException {
+ new AnnotationDefaultTest().test();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/classfiles/attributes/AnnotationDefault/AnnotationDefaultVerifier.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,287 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import com.sun.tools.classfile.Annotation;
+import com.sun.tools.classfile.AnnotationDefault_attribute;
+import com.sun.tools.classfile.ClassFile;
+import com.sun.tools.classfile.ConstantPool;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+public class AnnotationDefaultVerifier {
+
+ private final Map<Integer, TestElementValue> verifiers;
+
+ public AnnotationDefaultVerifier() {
+ this.verifiers = new HashMap<>();
+ verifiers.put((int) 'B', new TestIntegerElementValue());
+ verifiers.put((int) 'C', new TestIntegerElementValue());
+ verifiers.put((int) 'D', new TestDoubleElementValue());
+ verifiers.put((int) 'F', new TestFloatElementValue());
+ verifiers.put((int) 'I', new TestIntegerElementValue());
+ verifiers.put((int) 'J', new TestLongElementValue());
+ verifiers.put((int) 'S', new TestIntegerElementValue());
+ verifiers.put((int) 'Z', new TestIntegerElementValue());
+ verifiers.put((int) 's', new TestStringElementValue());
+ verifiers.put((int) 'e', new TestEnumElementValue());
+ verifiers.put((int) 'c', new TestClassElementValue());
+ verifiers.put((int) '[', new TestArrayElementValue());
+ verifiers.put((int) '@', new TestAnnotationElementValue());
+ }
+
+ public void testLength(int tag, TestResult testResult, AnnotationDefault_attribute attr) {
+ verifiers.get(tag).testLength(testResult, attr);
+ }
+
+ public void testElementValue(int tag, TestResult testResult, ClassFile classFile,
+ Annotation.element_value element_value, String[] values)
+ throws ConstantPool.UnexpectedEntry, ConstantPool.InvalidIndex {
+ get(tag).testElementValue(testResult, classFile, element_value, values);
+ }
+
+ private TestElementValue get(int tag) {
+ TestElementValue ev = verifiers.get(tag);
+ if (ev == null) {
+ throw new IllegalArgumentException("Unknown tag : " + (char) tag);
+ }
+ return ev;
+ }
+
+ private abstract class TestElementValue {
+ public void testLength(TestResult testCase, AnnotationDefault_attribute attr) {
+ testCase.checkEquals(attr.attribute_length, 1 + attr.default_value.length(),
+ "attribute_length");
+ }
+
+ public String[] getValues(String[] values, int index, int length) {
+ return Arrays.copyOfRange(values, index, index + length);
+ }
+
+ public int getLength() {
+ return 1;
+ }
+
+ public abstract void testElementValue(
+ TestResult testCase,
+ ClassFile classFile,
+ Annotation.element_value element_value,
+ String[] values)
+ throws ConstantPool.InvalidIndex, ConstantPool.UnexpectedEntry;
+ }
+
+ private class TestIntegerElementValue extends TestElementValue {
+
+ @Override
+ public void testElementValue(
+ TestResult testCase,
+ ClassFile classFile,
+ Annotation.element_value element_value,
+ String[] values) throws ConstantPool.InvalidIndex {
+ Annotation.Primitive_element_value ev =
+ (Annotation.Primitive_element_value) element_value;
+ ConstantPool.CONSTANT_Integer_info info =
+ (ConstantPool.CONSTANT_Integer_info)
+ classFile.constant_pool.get(ev.const_value_index);
+ testCase.checkEquals(info.value, Integer.parseInt(values[0]), "const_value_index");
+ }
+ }
+
+ private class TestLongElementValue extends TestElementValue {
+ @Override
+ public void testElementValue(
+ TestResult testCase,
+ ClassFile classFile,
+ Annotation.element_value element_value,
+ String[] values) throws ConstantPool.InvalidIndex {
+ Annotation.Primitive_element_value ev =
+ (Annotation.Primitive_element_value) element_value;
+ ConstantPool.CONSTANT_Long_info info =
+ (ConstantPool.CONSTANT_Long_info)
+ classFile.constant_pool.get(ev.const_value_index);
+ testCase.checkEquals(info.value, Long.parseLong(values[0]), "const_value_index");
+ }
+ }
+
+ private class TestFloatElementValue extends TestElementValue {
+ @Override
+ public void testElementValue(
+ TestResult testCase,
+ ClassFile classFile,
+ Annotation.element_value element_value,
+ String[] values) throws ConstantPool.InvalidIndex {
+ Annotation.Primitive_element_value ev =
+ (Annotation.Primitive_element_value) element_value;
+ ConstantPool.CONSTANT_Float_info info =
+ (ConstantPool.CONSTANT_Float_info)
+ classFile.constant_pool.get(ev.const_value_index);
+ testCase.checkEquals(info.value, Float.parseFloat(values[0]), "const_value_index");
+ }
+ }
+
+ private class TestDoubleElementValue extends TestElementValue {
+ @Override
+ public void testElementValue(
+ TestResult testCase,
+ ClassFile classFile,
+ Annotation.element_value element_value,
+ String[] values) throws ConstantPool.InvalidIndex {
+ Annotation.Primitive_element_value ev =
+ (Annotation.Primitive_element_value) element_value;
+ ConstantPool.CONSTANT_Double_info info =
+ (ConstantPool.CONSTANT_Double_info)
+ classFile.constant_pool.get(ev.const_value_index);
+ testCase.checkEquals(info.value, Double.parseDouble(values[0]), "const_value_index");
+ }
+ }
+
+ private class TestStringElementValue extends TestElementValue {
+ @Override
+ public void testElementValue(
+ TestResult testCase,
+ ClassFile classFile,
+ Annotation.element_value element_value,
+ String[] values) throws ConstantPool.InvalidIndex {
+ Annotation.Primitive_element_value ev =
+ (Annotation.Primitive_element_value) element_value;
+ ConstantPool.CONSTANT_Utf8_info info =
+ (ConstantPool.CONSTANT_Utf8_info)
+ classFile.constant_pool.get(ev.const_value_index);
+ testCase.checkEquals(info.value, values[0], "const_value_index");
+ }
+ }
+
+ private class TestEnumElementValue extends TestElementValue {
+
+ @Override
+ public int getLength() {
+ return 2;
+ }
+
+ @Override
+ public void testElementValue(
+ TestResult testCase,
+ ClassFile classFile,
+ Annotation.element_value element_value,
+ String[] values)
+ throws ConstantPool.InvalidIndex, ConstantPool.UnexpectedEntry {
+ Annotation.Enum_element_value ev = (Annotation.Enum_element_value) element_value;
+ testCase.checkEquals(classFile.constant_pool.getUTF8Info(ev.type_name_index).value,
+ values[0], "type_name_index");
+ testCase.checkEquals(classFile.constant_pool.getUTF8Info(ev.const_name_index).value,
+ values[1], "const_name_index");
+ }
+ }
+
+ private class TestClassElementValue extends TestElementValue {
+ @Override
+ public void testElementValue(
+ TestResult testCase,
+ ClassFile classFile,
+ Annotation.element_value element_value,
+ String[] values)
+ throws ConstantPool.InvalidIndex, ConstantPool.UnexpectedEntry {
+ Annotation.Class_element_value ev = (Annotation.Class_element_value) element_value;
+ testCase.checkEquals(
+ classFile.constant_pool.getUTF8Info(ev.class_info_index).value,
+ values[0], "class_info_index");
+ }
+ }
+
+ private class TestAnnotationElementValue extends TestElementValue {
+ @Override
+ public void testLength(TestResult testCase, AnnotationDefault_attribute attr) {
+ // Suppress, since it is hard to test the length of this kind of element values.
+ }
+
+ @Override
+ public int getLength() {
+ // Expected that the test uses DefaultAnnotation
+ // tag (1 byte) + annotation_value (2 bytes) which contains const_value
+ return 3;
+ }
+
+ @Override
+ public void testElementValue(
+ TestResult testCase,
+ ClassFile classFile,
+ Annotation.element_value element_value,
+ String[] values)
+ throws ConstantPool.InvalidIndex, ConstantPool.UnexpectedEntry {
+ Annotation ev = ((Annotation.Annotation_element_value) element_value)
+ .annotation_value;
+ testCase.checkEquals(
+ classFile.constant_pool.getUTF8Info(ev.type_index).value,
+ values[0],
+ "type_index");
+ for (int i = 0; i < ev.num_element_value_pairs; ++i) {
+ Annotation.element_value_pair pair = ev.element_value_pairs[i];
+ testCase.checkEquals(
+ classFile.constant_pool.getUTF8Info(pair.element_name_index).value,
+ values[2 * i + 1],
+ "element_name_index");
+ TestElementValue testElementValue = verifiers.get(pair.value.tag);
+ testElementValue.testElementValue(
+ testCase,
+ classFile,
+ pair.value,
+ new String[]{values[2 * i + 2]});
+ }
+ }
+ }
+
+ private class TestArrayElementValue extends TestElementValue {
+ @Override
+ public void testLength(TestResult testCase, AnnotationDefault_attribute attr) {
+ Annotation.Array_element_value ev =
+ (Annotation.Array_element_value) attr.default_value;
+ int sizeOfTag = ev.values[0].tag == 'e' ? 0 : 1;
+ // tag (1 byte) + array header (2 byte) + length of entries
+ testCase.checkEquals(attr.attribute_length, 1 + 2 +
+ (sizeOfTag + ev.length() / ev.num_values) * ev.num_values, "attribute_length");
+ }
+
+ @Override
+ public void testElementValue(
+ TestResult testCase,
+ ClassFile classFile,
+ Annotation.element_value element_value,
+ String[] values)
+ throws ConstantPool.InvalidIndex, ConstantPool.UnexpectedEntry {
+ Annotation.Array_element_value ev =
+ (Annotation.Array_element_value) element_value;
+ int index = 0;
+ for (int i = 0; i < ev.num_values; ++i) {
+ TestElementValue testElementValue = verifiers.get(ev.values[i].tag);
+ int length = testElementValue.getLength();
+ testElementValue.testElementValue(
+ testCase,
+ classFile,
+ ev.values[i],
+ testElementValue.getValues(values, index, length));
+ index += length;
+ }
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/classfiles/attributes/AnnotationDefault/ExpectedValues.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ExpectedValues {
+ char tag();
+ String name();
+ String[] values();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/completionDeps/DepsAndDocLint.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 8078389
+ * @summary Make sure there is no interference between completionDeps and doclint
+ * @compile -XDcompletionDeps -Xdoclint DepsAndDocLint.java
+ */
+
+public class DepsAndDocLint {
+}
--- a/langtools/test/tools/javac/diags/examples.not-yet.txt Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/diags/examples.not-yet.txt Mon Apr 27 09:17:39 2015 -0700
@@ -93,7 +93,6 @@
compiler.misc.verbose.retro.with.list # UNUSED
compiler.misc.version.not.available # JavaCompiler; implies build error
compiler.misc.where.description.captured
-compiler.misc.where.description.intersection.1
compiler.misc.where.typevar.1
compiler.misc.wrong.version # ClassReader
compiler.warn.annotation.method.not.found # ClassReader
@@ -115,3 +114,4 @@
compiler.err.cant.inherit.from.anon # error for subclass of anonymous class
compiler.misc.bad.class.file # class file is malformed
compiler.misc.bad.const.pool.entry # constant pool entry has wrong type
+compiler.misc.incompatible.upper.eq.bounds
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/NonApplicableRepeatingAnno.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// key: compiler.err.invalid.repeatable.annotation.not.applicable
+
+import java.lang.annotation.*;
+
+@Repeatable(Foos.class)
+@interface Foo {}
+
+@Target(ElementType.ANNOTATION_TYPE)
+@interface Foos {
+ Foo[] value();
+}
+
+public class NonApplicableRepeatingAnno {
+ @Foo @Foo int f = 0;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/TypeAnnoNotApplicableInTypeContext.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// key: compiler.err.annotation.type.not.applicable.to.type
+
+class TypeAnnoNotApplicableInTypeContext<T> {
+ @interface A { }
+ TypeAnnoNotApplicableInTypeContext<@A String> m;
+}
--- a/langtools/test/tools/javac/diags/examples/WhereCaptured.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/diags/examples/WhereCaptured.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,7 @@
// key: compiler.misc.where.description.typevar
// key: compiler.misc.where.typevar
// key: compiler.err.cant.apply.symbol
-// key: compiler.misc.inferred.do.not.conform.to.eq.bounds
+// key: compiler.misc.incompatible.eq.bounds
// key: compiler.misc.captured.type
// options: -XDdiags=where,simpleNames
// run: simple
--- a/langtools/test/tools/javac/diags/examples/WhereCaptured1.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/diags/examples/WhereCaptured1.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,7 @@
// key: compiler.misc.where.description.typevar
// key: compiler.misc.where.typevar
// key: compiler.err.cant.apply.symbol
-// key: compiler.misc.inferred.do.not.conform.to.eq.bounds
+// key: compiler.misc.incompatible.eq.bounds
// key: compiler.misc.captured.type
// key: compiler.misc.type.null
// options: -XDdiags=where,simpleNames
--- a/langtools/test/tools/javac/diags/examples/WhereIntersection.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/diags/examples/WhereIntersection.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -21,23 +21,19 @@
* questions.
*/
-// key: compiler.misc.where.intersection
-// key: compiler.misc.where.description.intersection
+// key: compiler.misc.inferred.do.not.conform.to.upper.bounds
// key: compiler.misc.intersection.type
+// key: compiler.misc.where.description.intersection.1
+// key: compiler.misc.where.intersection
// key: compiler.err.prob.found.req
-// key: compiler.misc.inferred.do.not.conform.to.upper.bounds
// options: -XDdiags=where
// run: simple
class WhereIntersection {
- interface I1 {}
- interface I2 {}
- class A implements I1, I2 {}
- class B implements I1, I2 {}
- class Test {
- <Z> Z m(Z z1, Z z2) { return null; }
- void main(){
- A a = m(new A(), new B());
- }
+ static <T> T f(T a, T b) {
+ return a;
+ }
+ static Object[] main(int a, float b) {
+ return f(a, b);
}
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/WhereIntersection2.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// key: compiler.err.intf.expected.here
+// key: compiler.misc.inconvertible.types
+// key: compiler.misc.where.description.typevar
+// key: compiler.misc.where.typevar
+// key: compiler.misc.intersection.type
+// key: compiler.misc.where.description.intersection
+// key: compiler.misc.where.intersection
+// key: compiler.err.prob.found.req
+// options: -XDdiags=where
+// run: simple
+
+class WhereIntersection2 {
+ interface I1 {}
+ interface I2 {}
+ class A implements I1, I2 {}
+ class B implements I1, I2 {}
+ class Test {
+ <Z extends A&B> Z m(Z z1, Z z2) { return null; }
+ <T extends I1 & I2> T m2(){
+ return m(new A(), new B());
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/WhereTypeVar2.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// key: compiler.misc.incompatible.upper.lower.bounds
+// key: compiler.misc.where.description.typevar
+// key: compiler.misc.where.typevar
+// key: compiler.err.prob.found.req
+// options: -XDdiags=where
+// run: simple
+
+class WhereTypeVar2 {
+ interface I1 {}
+ interface I2 {}
+ class A implements I1, I2 {}
+ class B implements I1, I2 {}
+ class Test {
+ <Z> Z m(Z z1, Z z2) { return null; }
+ void main(){
+ A a = m(new A(), new B());
+ }
+ }
+}
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg07.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg07.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 6939620 7020044 8062373
+ * @bug 6939620 7020044 8062373 8078024
*
* @summary Check that diamond works where LHS is supertype of RHS (1-ary constructor)
* @author mcimadamore
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg07.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg07.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,3 +1,3 @@
-Neg07.java:17:27: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg07.Foo), (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.String, java.lang.Number)
-Neg07.java:18:27: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg07.Foo), (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.String, java.lang.Number)
+Neg07.java:17:27: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg07.Foo), (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.String)
+Neg07.java:18:27: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg07.Foo), (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.String)
2 errors
--- a/langtools/test/tools/javac/generics/inference/4941882/T4941882.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/inference/4941882/T4941882.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 4941882
+ * @bug 4941882 8078024
* @summary incorrect inference for result of lub(int[], float[])
* @compile/fail/ref=T4941882.out -XDrawDiagnostics T4941882.java
*/
--- a/langtools/test/tools/javac/generics/inference/4941882/T4941882.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/inference/4941882/T4941882.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-T4941882.java:13:17: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Object&java.io.Serializable&java.lang.Cloneable, java.lang.Object[],java.lang.Object)
+T4941882.java:13:17: compiler.err.prob.found.req: (compiler.misc.incompatible.upper.lower.bounds: T, java.lang.Object[],java.lang.Object, float[],int[])
1 error
--- a/langtools/test/tools/javac/generics/inference/6315770/T6315770.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/inference/6315770/T6315770.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/**
* @test /nodynamiccopyright/
- * @bug 6315770
+ * @bug 6315770 8078024
* @summary javac inference allows creation of strange types: Integer & Runnable
* @author Maurizio Cimadamore
*
--- a/langtools/test/tools/javac/generics/inference/6315770/T6315770.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/inference/6315770/T6315770.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,3 +1,3 @@
T6315770.java:16:42: compiler.err.prob.found.req: (compiler.misc.incompatible.upper.bounds: T, java.lang.String,java.lang.Integer,java.lang.Runnable)
-T6315770.java:17:40: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.String, java.lang.Integer,java.lang.Runnable)
+T6315770.java:17:40: compiler.err.prob.found.req: (compiler.misc.incompatible.upper.lower.bounds: T, java.lang.Integer,java.lang.Runnable, java.lang.String)
2 errors
--- a/langtools/test/tools/javac/generics/inference/6611449/T6611449.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/inference/6611449/T6611449.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/**
* @test /nodynamiccopyright/
- * @bug 6611449
+ * @bug 6611449 8078024
* @summary Internal Error thrown during generic method/constructor invocation
* @compile/fail/ref=T6611449.out -XDrawDiagnostics T6611449.java
*/
--- a/langtools/test/tools/javac/generics/inference/6611449/T6611449.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/inference/6611449/T6611449.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
-T6611449.java:18:9: compiler.err.cant.apply.symbols: kindname.constructor, T6611449, int,{(compiler.misc.inapplicable.method: kindname.constructor, T6611449, <T>T6611449(T), (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, S)),(compiler.misc.inapplicable.method: kindname.constructor, T6611449, <T>T6611449(T,T), (compiler.misc.infer.arg.length.mismatch: T))}
-T6611449.java:19:9: compiler.err.cant.apply.symbols: kindname.constructor, T6611449, int,int,{(compiler.misc.inapplicable.method: kindname.constructor, T6611449, <T>T6611449(T), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.constructor, T6611449, <T>T6611449(T,T), (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, S))}
-T6611449.java:20:9: compiler.err.cant.apply.symbol: kindname.method, m1, T, int, kindname.class, T6611449<S>, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, S)
-T6611449.java:21:9: compiler.err.cant.apply.symbol: kindname.method, m2, T,T, int,int, kindname.class, T6611449<S>, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, S)
+T6611449.java:18:9: compiler.err.cant.apply.symbols: kindname.constructor, T6611449, int,{(compiler.misc.inapplicable.method: kindname.constructor, T6611449, <T>T6611449(T), (compiler.misc.incompatible.upper.lower.bounds: T, S, java.lang.Integer)),(compiler.misc.inapplicable.method: kindname.constructor, T6611449, <T>T6611449(T,T), (compiler.misc.infer.arg.length.mismatch: T))}
+T6611449.java:19:9: compiler.err.cant.apply.symbols: kindname.constructor, T6611449, int,int,{(compiler.misc.inapplicable.method: kindname.constructor, T6611449, <T>T6611449(T), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.constructor, T6611449, <T>T6611449(T,T), (compiler.misc.incompatible.upper.lower.bounds: T, S, java.lang.Integer))}
+T6611449.java:20:9: compiler.err.cant.apply.symbol: kindname.method, m1, T, int, kindname.class, T6611449<S>, (compiler.misc.incompatible.upper.lower.bounds: T, S, java.lang.Integer)
+T6611449.java:21:9: compiler.err.cant.apply.symbol: kindname.method, m2, T,T, int,int, kindname.class, T6611449<S>, (compiler.misc.incompatible.upper.lower.bounds: T, S, java.lang.Integer)
4 errors
--- a/langtools/test/tools/javac/generics/inference/6650759/T6650759m.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/inference/6650759/T6650759m.java Mon Apr 27 09:17:39 2015 -0700
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 6650759
+ * @bug 6650759 8078024
* @summary Inference of formal type parameter (unused in formal parameters) is not performed
* @compile/fail/ref=T6650759m.out T6650759m.java -XDrawDiagnostics
*/
--- a/langtools/test/tools/javac/generics/inference/6650759/T6650759m.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/inference/6650759/T6650759m.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-T6650759m.java:43:36: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.String, java.lang.Integer,java.lang.Object)
+T6650759m.java:43:36: compiler.err.prob.found.req: (compiler.misc.incompatible.upper.lower.bounds: Z, java.lang.Integer,java.lang.Object, java.lang.String)
1 error
--- a/langtools/test/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTestb.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTestb.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 8030741
+ * @bug 8030741 8078024
* @summary Inference: implement eager resolution of return types, consistent with JDK-8028800
* @compile/fail/ref=EagerReturnTypeResolutionTestb.out -XDrawDiagnostics EagerReturnTypeResolutionTestb.java
* @author Dan Smith
--- a/langtools/test/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTestb.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTestb.out Mon Apr 27 09:17:39 2015 -0700
@@ -2,37 +2,37 @@
EagerReturnTypeResolutionTestb.java:43:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I<java.lang.String>, EagerReturnTypeResolutionTestb.I<compiler.misc.type.captureof: 1, ?>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<?>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object))
EagerReturnTypeResolutionTestb.java:44:29: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<?>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
EagerReturnTypeResolutionTestb.java:45:26: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<?>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
-EagerReturnTypeResolutionTestb.java:74:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.I<java.lang.Integer>, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
+EagerReturnTypeResolutionTestb.java:74:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
EagerReturnTypeResolutionTestb.java:75:15: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
EagerReturnTypeResolutionTestb.java:77:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I<java.lang.String>, EagerReturnTypeResolutionTestb.I<compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object))
-EagerReturnTypeResolutionTestb.java:78:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.I<java.lang.Integer>, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
+EagerReturnTypeResolutionTestb.java:78:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
EagerReturnTypeResolutionTestb.java:79:21: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
EagerReturnTypeResolutionTestb.java:81:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
-EagerReturnTypeResolutionTestb.java:82:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.I<java.lang.Integer>, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
+EagerReturnTypeResolutionTestb.java:82:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
EagerReturnTypeResolutionTestb.java:83:24: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.I<java.lang.Integer>,EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
-EagerReturnTypeResolutionTestb.java:85:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<?>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.I<?>, EagerReturnTypeResolutionTestb.I<?>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
+EagerReturnTypeResolutionTestb.java:85:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<?>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I<?>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
EagerReturnTypeResolutionTestb.java:86:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I<java.lang.String>, EagerReturnTypeResolutionTestb.I<compiler.misc.type.captureof: 1, ?>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<?>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object))
-EagerReturnTypeResolutionTestb.java:87:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<?>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.I<?>, EagerReturnTypeResolutionTestb.I<?>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
+EagerReturnTypeResolutionTestb.java:87:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<?>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I<?>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
EagerReturnTypeResolutionTestb.java:89:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<?>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
-EagerReturnTypeResolutionTestb.java:90:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<?>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.I<?>, EagerReturnTypeResolutionTestb.I<?>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
-EagerReturnTypeResolutionTestb.java:91:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.J<java.lang.Integer>, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>)
+EagerReturnTypeResolutionTestb.java:90:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.I<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.I<?>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I<?>,EagerReturnTypeResolutionTestb.I<java.lang.String>)
+EagerReturnTypeResolutionTestb.java:91:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>)
EagerReturnTypeResolutionTestb.java:92:15: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>,java.lang.Object)
EagerReturnTypeResolutionTestb.java:94:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I<java.lang.String>, EagerReturnTypeResolutionTestb.J<compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.J<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object))
-EagerReturnTypeResolutionTestb.java:95:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.J<java.lang.Integer>, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>)
+EagerReturnTypeResolutionTestb.java:95:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>)
EagerReturnTypeResolutionTestb.java:96:21: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>,java.lang.Object)
EagerReturnTypeResolutionTestb.java:98:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.J<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
-EagerReturnTypeResolutionTestb.java:99:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.J<java.lang.Integer>, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>)
+EagerReturnTypeResolutionTestb.java:99:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>)
EagerReturnTypeResolutionTestb.java:100:24: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.J<java.lang.Integer>,EagerReturnTypeResolutionTestb.J<java.lang.String>,java.lang.Object)
-EagerReturnTypeResolutionTestb.java:102:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.K, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.String>)
-EagerReturnTypeResolutionTestb.java:103:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.K, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.String>)
-EagerReturnTypeResolutionTestb.java:104:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.K, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.String>)
-EagerReturnTypeResolutionTestb.java:105:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.K, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>)
+EagerReturnTypeResolutionTestb.java:102:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.String>)
+EagerReturnTypeResolutionTestb.java:103:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.String>)
+EagerReturnTypeResolutionTestb.java:104:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.String>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.String>)
+EagerReturnTypeResolutionTestb.java:105:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>)
EagerReturnTypeResolutionTestb.java:106:15: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>,java.lang.Object)
EagerReturnTypeResolutionTestb.java:108:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I<java.lang.String>, EagerReturnTypeResolutionTestb.I<compiler.misc.type.captureof: 1, ? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object))
-EagerReturnTypeResolutionTestb.java:109:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.K, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>)
+EagerReturnTypeResolutionTestb.java:109:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>)
EagerReturnTypeResolutionTestb.java:110:21: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>,java.lang.Object)
EagerReturnTypeResolutionTestb.java:112:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<? extends java.lang.Object&java.io.Serializable&java.lang.Comparable<?>>>, EagerReturnTypeResolutionTestb.I<java.lang.String>,java.lang.Object)
-EagerReturnTypeResolutionTestb.java:113:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.K, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>)
+EagerReturnTypeResolutionTestb.java:113:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List<T>,java.util.List<T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>)
EagerReturnTypeResolutionTestb.java:114:24: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List<? super T>,java.util.List<? super T>, java.util.List<EagerReturnTypeResolutionTestb.J<java.lang.Integer>>,java.util.List<EagerReturnTypeResolutionTestb.K>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.upper.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J<java.lang.Integer>,java.lang.Object)
EagerReturnTypeResolutionTestb.java:174:9: compiler.err.cant.apply.symbol: kindname.method, takeLong, long, java.lang.Double, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.infer.no.conforming.instance.exists: , T, long))
EagerReturnTypeResolutionTestb.java:175:9: compiler.err.cant.apply.symbol: kindname.method, takeLong, long, java.lang.Double, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.infer.no.conforming.instance.exists: , T, long))
--- a/langtools/test/tools/javac/generics/inference/EagerReturnTypeResolution/PrimitiveTypeBoxingTest.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/inference/EagerReturnTypeResolution/PrimitiveTypeBoxingTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 8030741
+ * @bug 8030741 8078024
* @summary Inference: implement eager resolution of return types, consistent with JDK-8028800
* @compile/fail/ref=PrimitiveTypeBoxingTest.out -XDrawDiagnostics PrimitiveTypeBoxingTest.java
*/
--- a/langtools/test/tools/javac/generics/inference/EagerReturnTypeResolution/PrimitiveTypeBoxingTest.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/inference/EagerReturnTypeResolution/PrimitiveTypeBoxingTest.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,3 +1,3 @@
-PrimitiveTypeBoxingTest.java:19:9: compiler.err.cant.apply.symbol: kindname.method, m1, PrimitiveTypeBoxingTest.F<Z>,Z, @490,int, kindname.class, PrimitiveTypeBoxingTest, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, java.lang.Long,java.lang.Object)
-PrimitiveTypeBoxingTest.java:20:9: compiler.err.cant.apply.symbol: kindname.method, m2, Z,PrimitiveTypeBoxingTest.F<Z>, int,@559, kindname.class, PrimitiveTypeBoxingTest, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, java.lang.Long,java.lang.Object)
+PrimitiveTypeBoxingTest.java:19:9: compiler.err.cant.apply.symbol: kindname.method, m1, PrimitiveTypeBoxingTest.F<Z>,Z, @498,int, kindname.class, PrimitiveTypeBoxingTest, (compiler.misc.incompatible.upper.lower.bounds: Z, java.lang.Long,java.lang.Object, java.lang.Integer)
+PrimitiveTypeBoxingTest.java:20:9: compiler.err.cant.apply.symbol: kindname.method, m2, Z,PrimitiveTypeBoxingTest.F<Z>, int,@567, kindname.class, PrimitiveTypeBoxingTest, (compiler.misc.incompatible.upper.lower.bounds: Z, java.lang.Long,java.lang.Object, java.lang.Integer)
2 errors
--- a/langtools/test/tools/javac/generics/wildcards/6762569/T6762569b.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/wildcards/6762569/T6762569b.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 6762569
+ * @bug 6762569 8078024
* @summary Javac crashes with AssertionError in Types.containedBy
* @compile/fail/ref=T6762569b.out -XDrawDiagnostics T6762569b.java
*/
--- a/langtools/test/tools/javac/generics/wildcards/6762569/T6762569b.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/generics/wildcards/6762569/T6762569b.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-T6762569b.java:13:9: compiler.err.cant.apply.symbol: kindname.method, m, T,java.util.List<? super java.util.List<T>>, java.lang.String,java.util.List<compiler.misc.type.captureof: 1, ? super java.util.List<? extends java.lang.Number>>, kindname.class, T6762569b, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.String, java.lang.Number,java.lang.Object)
+T6762569b.java:13:9: compiler.err.cant.apply.symbol: kindname.method, m, T,java.util.List<? super java.util.List<T>>, java.lang.String,java.util.List<compiler.misc.type.captureof: 1, ? super java.util.List<? extends java.lang.Number>>, kindname.class, T6762569b, (compiler.misc.incompatible.upper.lower.bounds: T, java.lang.Number,java.lang.Object, java.lang.String)
1 error
--- a/langtools/test/tools/javac/lambda/8016177/T8016177g.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/lambda/8016177/T8016177g.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 8016081 8016178 8069545
+ * @bug 8016081 8016178 8069545 8078024
* @summary structural most specific and stuckness
* @compile/fail/ref=T8016177g.out -XDrawDiagnostics T8016177g.java
*/
--- a/langtools/test/tools/javac/lambda/8016177/T8016177g.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/lambda/8016177/T8016177g.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,3 +1,3 @@
-T8016177g.java:34:14: compiler.err.cant.apply.symbol: kindname.method, print, java.lang.String, Test.Person, kindname.class, Test, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: Test.Person, java.lang.String,java.lang.Object))
+T8016177g.java:34:14: compiler.err.cant.apply.symbol: kindname.method, print, java.lang.String, Test.Person, kindname.class, Test, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.incompatible.upper.lower.bounds: R, java.lang.String,java.lang.Object, Test.Person))
T8016177g.java:35:20: compiler.err.cant.apply.symbol: kindname.method, abs, int, java.lang.Double, kindname.class, Test, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.infer.no.conforming.instance.exists: , R, int))
2 errors
--- a/langtools/test/tools/javac/lambda/MethodReference41.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/lambda/MethodReference41.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 8003280
+ * @bug 8003280 8078024
* @summary Add lambda tests
* check that diamond inference is applied when using raw constructor reference qualifier
* @compile/fail/ref=MethodReference41.out -XDrawDiagnostics MethodReference41.java
--- a/langtools/test/tools/javac/lambda/MethodReference41.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/lambda/MethodReference41.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,4 +1,4 @@
-MethodReference41.java:38:11: compiler.err.cant.apply.symbol: kindname.method, m1, MethodReference41.SAM1, @767, kindname.class, MethodReference41, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.String, kindname.class, MethodReference41.Foo<X>, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.String, java.lang.Number))))
-MethodReference41.java:40:11: compiler.err.cant.apply.symbol: kindname.method, m3, MethodReference41.SAM3, @811, kindname.class, MethodReference41, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.Object, kindname.class, MethodReference41.Foo<X>, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Object, java.lang.Number))))
+MethodReference41.java:38:11: compiler.err.cant.apply.symbol: kindname.method, m1, MethodReference41.SAM1, @775, kindname.class, MethodReference41, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.String, kindname.class, MethodReference41.Foo<X>, (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.String))))
+MethodReference41.java:40:11: compiler.err.cant.apply.symbol: kindname.method, m3, MethodReference41.SAM3, @819, kindname.class, MethodReference41, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.Object, kindname.class, MethodReference41.Foo<X>, (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.Object))))
MethodReference41.java:41:9: compiler.err.ref.ambiguous: m4, kindname.method, m4(MethodReference41.SAM2), MethodReference41, kindname.method, m4(MethodReference41.SAM3), MethodReference41
3 errors
--- a/langtools/test/tools/javac/lambda/MethodReference43.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/lambda/MethodReference43.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 8003280
+ * @bug 8003280 8078024
* @summary Add lambda tests
* check that diamond inference is applied when using raw constructor reference qualifier
* @compile/fail/ref=MethodReference43.out -XDrawDiagnostics MethodReference43.java
--- a/langtools/test/tools/javac/lambda/MethodReference43.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/lambda/MethodReference43.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
-MethodReference43.java:45:11: compiler.err.cant.apply.symbol: kindname.method, m1, MethodReference43.SAM1, @897, kindname.class, MethodReference43, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.String, kindname.class, MethodReference43.Foo<X>, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.String, java.lang.Number))))
-MethodReference43.java:47:11: compiler.err.cant.apply.symbol: kindname.method, m3, MethodReference43.SAM3, @941, kindname.class, MethodReference43, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.Object, kindname.class, MethodReference43.Foo<X>, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Object, java.lang.Number))))
+MethodReference43.java:45:11: compiler.err.cant.apply.symbol: kindname.method, m1, MethodReference43.SAM1, @905, kindname.class, MethodReference43, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.String, kindname.class, MethodReference43.Foo<X>, (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.String))))
+MethodReference43.java:47:11: compiler.err.cant.apply.symbol: kindname.method, m3, MethodReference43.SAM3, @949, kindname.class, MethodReference43, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.Object, kindname.class, MethodReference43.Foo<X>, (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.Object))))
MethodReference43.java:49:9: compiler.err.ref.ambiguous: m5, kindname.method, m5(MethodReference43.SAM3), MethodReference43, kindname.method, m5(MethodReference43.SAM4), MethodReference43
-MethodReference43.java:49:11: compiler.err.cant.apply.symbol: kindname.method, m5, MethodReference43.SAM3, @985, kindname.class, MethodReference43, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.Object, kindname.class, MethodReference43.Foo<X>, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Object, java.lang.Number))))
+MethodReference43.java:49:11: compiler.err.cant.apply.symbol: kindname.method, m5, MethodReference43.SAM3, @993, kindname.class, MethodReference43, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.Object, kindname.class, MethodReference43.Foo<X>, (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.Object))))
4 errors
--- a/langtools/test/tools/javac/lambda/MethodReference46.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/lambda/MethodReference46.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 8003280
+ * @bug 8003280 8078024
* @summary Add lambda tests
* check that generic method reference is inferred when type parameters are omitted
* @compile/fail/ref=MethodReference46.out -XDrawDiagnostics MethodReference46.java
--- a/langtools/test/tools/javac/lambda/MethodReference46.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/lambda/MethodReference46.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,4 +1,4 @@
-MethodReference46.java:40:11: compiler.err.cant.apply.symbol: kindname.method, g1, MethodReference46.SAM1, @809, kindname.class, MethodReference46, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.apply.symbol: kindname.method, m, X, java.lang.String, kindname.class, MethodReference46, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.String, java.lang.Number))))
-MethodReference46.java:42:11: compiler.err.cant.apply.symbol: kindname.method, g3, MethodReference46.SAM3, @877, kindname.class, MethodReference46, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.apply.symbol: kindname.method, m, X, java.lang.Object, kindname.class, MethodReference46, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Object, java.lang.Number))))
+MethodReference46.java:40:11: compiler.err.cant.apply.symbol: kindname.method, g1, MethodReference46.SAM1, @817, kindname.class, MethodReference46, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.apply.symbol: kindname.method, m, X, java.lang.String, kindname.class, MethodReference46, (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.String))))
+MethodReference46.java:42:11: compiler.err.cant.apply.symbol: kindname.method, g3, MethodReference46.SAM3, @885, kindname.class, MethodReference46, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.apply.symbol: kindname.method, m, X, java.lang.Object, kindname.class, MethodReference46, (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.Object))))
MethodReference46.java:43:9: compiler.err.ref.ambiguous: g4, kindname.method, g4(MethodReference46.SAM2), MethodReference46, kindname.method, g4(MethodReference46.SAM3), MethodReference46
3 errors
--- a/langtools/test/tools/javac/lambda/MethodReference58.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/lambda/MethodReference58.java Mon Apr 27 09:17:39 2015 -0700
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 8004102
+ * @bug 8004102 8078024
* @summary Add support for generic functional descriptors
* @compile/fail/ref=MethodReference58.out -XDrawDiagnostics MethodReference58.java
*/
--- a/langtools/test/tools/javac/lambda/MethodReference58.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/lambda/MethodReference58.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-MethodReference58.java:41:23: compiler.err.prob.found.req: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.apply.symbol: kindname.method, g, Z, X, kindname.class, MethodReference58, (compiler.misc.inferred.do.not.conform.to.upper.bounds: X, java.lang.Number)))
+MethodReference58.java:41:23: compiler.err.prob.found.req: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.apply.symbol: kindname.method, g, Z, X, kindname.class, MethodReference58, (compiler.misc.incompatible.upper.lower.bounds: Z, java.lang.Number, X)))
1 error
--- a/langtools/test/tools/javac/lambda/MethodReference68.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/lambda/MethodReference68.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 8016175
+ * @bug 8016175 8078024
* @summary Add bottom-up type-checking support for unambiguous method references
* @compile/fail/ref=MethodReference68.out -XDrawDiagnostics MethodReference68.java
*/
--- a/langtools/test/tools/javac/lambda/MethodReference68.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/lambda/MethodReference68.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,2 +1,2 @@
-MethodReference68.java:21:10: compiler.err.cant.apply.symbol: kindname.method, g, MethodReference68.F<Z>,Z[], @493,int, kindname.class, MethodReference68, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, MethodReference68.Foo,java.lang.Object)
+MethodReference68.java:21:10: compiler.err.cant.apply.symbol: kindname.method, g, MethodReference68.F<Z>,Z[], @501,int, kindname.class, MethodReference68, (compiler.misc.incompatible.upper.lower.bounds: Z, MethodReference68.Foo,java.lang.Object, java.lang.Integer)
1 error
--- a/langtools/test/tools/javac/lambda/TargetType02.java Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/lambda/TargetType02.java Mon Apr 27 09:17:39 2015 -0700
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 8003280 8029718
+ * @bug 8003280 8029718 8078024
* @summary Add lambda tests
* check overload resolution and target type inference w.r.t. generic methods
* Should always use lambda body structure to disambiguate overload resolution
--- a/langtools/test/tools/javac/lambda/TargetType02.out Fri Apr 24 15:45:25 2015 +0300
+++ b/langtools/test/tools/javac/lambda/TargetType02.out Mon Apr 27 09:17:39 2015 -0700
@@ -1,4 +1,4 @@
-TargetType02.java:33:14: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, java.lang.String)
+TargetType02.java:33:14: compiler.err.prob.found.req: (compiler.misc.incompatible.upper.lower.bounds: Z, java.lang.String, java.lang.Integer)
TargetType02.java:34:9: compiler.err.ref.ambiguous: call3, kindname.method, <Z>call3(TargetType02.S1<Z>), TargetType02, kindname.method, <Z>call3(TargetType02.S2<Z>), TargetType02
TargetType02.java:35:9: compiler.err.ref.ambiguous: call3, kindname.method, <Z>call3(TargetType02.S1<Z>), TargetType02, kindname.method, <Z>call3(TargetType02.S2<Z>), TargetType02
TargetType02.java:37:20: compiler.err.ref.ambiguous: call4, kindname.method, <Z>call4(TargetType02.S1<Z>), TargetType02, kindname.method, <Z>call4(TargetType02.S2<Z>), TargetType02
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/tree/ArrayTypeToString.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8068737
+ * @summary Tests ArrayType.toString with type annotations present
+ * @build ArrayTypeToString
+ * @compile/ref=ArrayTypeToString.out -XDrawDiagnostics -processor ArrayTypeToString -proc:only ArrayTypeToString.java
+ */
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.util.Set;
+
+import javax.annotation.processing.AbstractProcessor;
+import javax.annotation.processing.RoundEnvironment;
+import javax.annotation.processing.SupportedAnnotationTypes;
+import javax.annotation.processing.SupportedSourceVersion;
+import javax.lang.model.SourceVersion;
+import javax.lang.model.element.Element;
+import javax.lang.model.element.TypeElement;
+import javax.tools.Diagnostic.Kind;
+
+import com.sun.tools.javac.code.Symbol.VarSymbol;
+
+@Retention(RetentionPolicy.SOURCE)
+@Target({ ElementType.TYPE_USE, ElementType.FIELD })
+@interface Foo {
+ int value();
+}
+
+@SupportedAnnotationTypes("Foo")
+@SupportedSourceVersion(SourceVersion.RELEASE_9)
+public class ArrayTypeToString extends AbstractProcessor {
+
+ @Foo(0) String @Foo(1)[] @Foo(2)[] @Foo(3)[] field;
+
+ public boolean process(Set<? extends TypeElement> tes, RoundEnvironment renv) {
+ for (TypeElement te : tes) {
+ for (Element e : renv.getElementsAnnotatedWith(te)) {
+ String s = ((VarSymbol) e).type.toString();
+
+ // Normalize output by removing whitespace
+ s = s.replaceAll("\\s", "");
+
+ // Expected: "@Foo(0)java.lang.String@Foo(3)[]@Foo(2)[]@Foo(1)[]"
+ processingEnv.getMessager().printMessage(Kind.NOTE, s);
+ }
+ }
+ return true;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/tree/ArrayTypeToString.out Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,1 @@
+- compiler.note.proc.messager: @Foo(0)java.lang.String@Foo(1)[]@Foo(2)[]@Foo(3)[]
--- a/langtools/test/tools/javac/varargs/T8049075/VarargsAndWildcardParameterizedTypeTest.java Fri Apr 24 15:45:25 2015 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * @test
- * @bug 8049075
- * @summary javac, wildcards and generic vararg method invocation not accepted
- * @compile VarargsAndWildcardParameterizedTypeTest.java
- */
-
-class VarargsAndWildcardParameterizedTypeTest {
- interface I<T> {
- String m(T... t);
- }
-
- void m() {
- I<? super Integer> i = null;
- i.m(Integer.valueOf(1), Integer.valueOf(1));
- }
-}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/varargs/access/OtherPackage.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * Auxiliary file for VarargsInferredPrivateType
+ */
+
+package otherpackage;
+
+public class OtherPackage {
+ public static Private getPrivate() {
+ return new Private();
+ }
+
+ private static class Private {}
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/varargs/access/VarargsAndWildcardParameterizedTypeTest.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8049075
+ * @summary javac, wildcards and generic vararg method invocation not accepted
+ * @compile VarargsAndWildcardParameterizedTypeTest.java
+ * @compile -source 8 VarargsAndWildcardParameterizedTypeTest.java
+ * @compile -source 7 VarargsAndWildcardParameterizedTypeTest.java
+ */
+
+class VarargsAndWildcardParameterizedTypeTest {
+ interface I<T> {
+ String m(T... t);
+ }
+
+ void m() {
+ I<? super Integer> i = null;
+ i.m(Integer.valueOf(1), Integer.valueOf(1));
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/varargs/access/VarargsAndWildcardParameterizedTypeTest2.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8075520
+ * @summary Varargs access check mishandles capture variables
+ * @compile VarargsAndWildcardParameterizedTypeTest2.java
+ * @compile -source 8 VarargsAndWildcardParameterizedTypeTest2.java
+ * @compile -source 7 VarargsAndWildcardParameterizedTypeTest2.java
+ */
+
+class VarargsAndWildcardParameterizedTypeTest2 {
+ interface I {
+ <T> void m(T... t);
+ }
+
+ interface Box<T> {
+ T get();
+ }
+
+ void m(I i, Box<? extends Number> b) {
+ i.m(b.get());
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/varargs/access/VarargsAndWildcardParameterizedTypeTest3.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8075520
+ * @summary Varargs access check mishandles capture variables
+ * @compile VarargsAndWildcardParameterizedTypeTest3.java
+ * @compile -source 8 VarargsAndWildcardParameterizedTypeTest3.java
+ * @compile -source 7 VarargsAndWildcardParameterizedTypeTest3.java
+ */
+
+class VarargsAndWildcardParameterizedTypeTest2 {
+ interface I {
+ <T> void m(Box<? extends T> iter, T... t);
+ }
+
+ interface Box<T> {}
+
+ void m(I i, Box<? extends Number> b) {
+ i.m(b);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/varargs/access/VarargsAndWildcardParameterizedTypeTest4.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8075520
+ * @summary Varargs access check mishandles capture variables
+ * @compile VarargsAndWildcardParameterizedTypeTest4.java
+ * @compile -source 8 VarargsAndWildcardParameterizedTypeTest4.java
+ * @compile -source 7 VarargsAndWildcardParameterizedTypeTest4.java
+ */
+
+class VarargsAndWildcardParameterizedTypeTest2 {
+ interface I {
+ <T> void m(Box<T> iter, T... t);
+ }
+
+ interface Box<T> {}
+
+ void m(I i, Box<? extends Number> b) {
+ i.m(b);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/varargs/access/VarargsInferredPrivateType-source7.out Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,4 @@
+VarargsInferredPrivateType.java:16:10: compiler.err.cant.apply.symbol: kindname.method, m, T[], otherpackage.OtherPackage.Private, kindname.interface, VarargsInferredPrivateType.I, (compiler.misc.inaccessible.varargs.type: otherpackage.OtherPackage.Private, kindname.class, VarargsInferredPrivateType)
+- compiler.note.unchecked.filename: VarargsInferredPrivateType.java
+- compiler.note.unchecked.recompile
+1 error
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/varargs/access/VarargsInferredPrivateType.java Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,18 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8077786
+ * @summary Check varargs access against inferred signature
+ * @compile/fail/ref=VarargsInferredPrivateType.out -nowarn -XDrawDiagnostics VarargsInferredPrivateType.java OtherPackage.java
+ * @compile/fail/ref=VarargsInferredPrivateType.out -source 8 -nowarn -XDrawDiagnostics VarargsInferredPrivateType.java OtherPackage.java
+ * @compile/fail/ref=VarargsInferredPrivateType-source7.out -source 7 -nowarn -XDrawDiagnostics VarargsInferredPrivateType.java OtherPackage.java
+ */
+
+class VarargsInferredPrivateType {
+ interface I {
+ <T> void m(T... t);
+ }
+
+ void m(I i) {
+ i.m(otherpackage.OtherPackage.getPrivate());
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/varargs/access/VarargsInferredPrivateType.out Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,4 @@
+VarargsInferredPrivateType.java:16:12: compiler.err.prob.found.req: (compiler.misc.inaccessible.varargs.type: otherpackage.OtherPackage.Private, kindname.class, VarargsInferredPrivateType)
+- compiler.note.unchecked.filename: VarargsInferredPrivateType.java
+- compiler.note.unchecked.recompile
+1 error
--- a/make/CompileJavaModules.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/make/CompileJavaModules.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -262,6 +262,26 @@
################################################################################
+java.instrument_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
+
+################################################################################
+
+java.logging_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
+
+################################################################################
+
+java.management_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
+
+################################################################################
+
+java.prefs_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
+
+################################################################################
+
+java.transaction_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
+
+################################################################################
+
java.sql_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
java.sql_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
@@ -340,6 +360,14 @@
################################################################################
+java.security.jgss_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
+
+################################################################################
+
+java.smartcardio_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
+
+################################################################################
+
java.xml.crypto_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
java.xml.crypto_COPY := .dtd .xml
java.xml.crypto_CLEAN := .properties
--- a/make/Images.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/make/Images.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -38,7 +38,7 @@
############################################################################
MAIN_MODULES += java.se java.smartcardio jdk.httpserver jdk.sctp \
- jdk.security.auth jdk.security.jgss jdk.pack200
+ jdk.security.auth jdk.security.jgss jdk.pack200 jdk.xml.dom
# providers
PROVIDER_MODULES += jdk.charsets jdk.crypto.ec jdk.crypto.pkcs11 jdk.jvmstat jdk.localedata \
@@ -57,6 +57,10 @@
PROVIDER_MODULES += jdk.crypto.ucrypto
endif
+ifeq ($(OPENJDK_TARGET_OS), windows)
+ MAIN_MODULES += jdk.accessibility
+endif
+
ifeq ($(OPENJDK_TARGET_OS), macosx)
MAIN_MODULES += jdk.deploy.osx
endif
--- a/make/Javadoc.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/make/Javadoc.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -1,4 +1,4 @@
-# Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -81,6 +81,8 @@
JNLP_FIRST_COPYRIGHT_YEAR = 1998
PLUGIN2_FIRST_COPYRIGHT_YEAR = 2007
JDKNET_FIRST_COPYRIGHT_YEAR = 2014
+JACCESSAPI_FIRST_COPYRIGHT_YEAR = 2002
+
# Oracle name
FULL_COMPANY_NAME = Oracle and/or its affiliates
@@ -1233,6 +1235,58 @@
#############################################################
#
+# jaccessdocs - Java Accessibility Utilities
+#
+
+ALL_OTHER_TARGETS += jaccessdocs
+
+JACCESSAPI_DOCDIR := $(JRE_API_DOCSDIR)/accessibility/jaccess/spec
+JACCESSAPI2COREAPI := ../../../$(JDKJRE2COREAPI)
+JACCESSAPI_DOCTITLE := JACCESS API
+JACCESSAPI_WINDOWTITLE := JACCESS API
+JACCESSAPI_HEADER := <strong>JACCESS API</strong>
+JACCESSAPI_BOTTOM := $(call CommonBottom,$(JACCESSAPI_FIRST_COPYRIGHT_YEAR))
+# JACCESSAPI_PKGS is located in NON_CORE_PKGS.gmk
+
+JACCESSAPI_INDEX_HTML = $(JACCESSAPI_DOCDIR)/index.html
+JACCESSAPI_OPTIONS_FILE = $(DOCSTMPDIR)/jaccess.options
+JACCESSAPI_PACKAGES_FILE = $(DOCSTMPDIR)/jaccess.packages
+
+jaccessdocs: $(JACCESSAPI_INDEX_HTML)
+
+# Set relative location to core api document root
+$(JACCESSAPI_INDEX_HTML): GET2DOCSDIR=$(JACCESSAPI2COREAPI)/..
+
+# Run javadoc if the index file is out of date or missing
+$(JACCESSAPI_INDEX_HTML): $(JACCESSAPI_OPTIONS_FILE) $(JACCESSAPI_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
+ $(prep-javadoc)
+ $(call JavadocSummary,$(JACCESSAPI_OPTIONS_FILE),$(JACCESSAPI_PACKAGES_FILE))
+ $(JAVADOC_CMD) -d $(@D) \
+ @$(JACCESSAPI_OPTIONS_FILE) @$(JACCESSAPI_PACKAGES_FILE)
+
+# Create file with javadoc options in it
+$(JACCESSAPI_OPTIONS_FILE):
+ $(prep-target)
+ @($(call COMMON_JAVADOCFLAGS) ; \
+ $(call COMMON_JAVADOCTAGS) ; \
+ $(call OptionOnly,-Xdoclint:all) ; \
+ $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
+ $(call OptionPair,-encoding,ascii) ; \
+ $(call OptionOnly,-nodeprecatedlist) ; \
+ $(call OptionPair,-doctitle,$(JACCESSAPI_DOCTITLE)) ; \
+ $(call OptionPair,-windowtitle,$(JACCESSAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
+ $(call OptionPair,-header,$(JACCESSAPI_HEADER)$(DRAFT_HEADER)) ; \
+ $(call OptionPair,-bottom,$(JACCESSAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
+ $(call OptionTrip,-linkoffline,$(JACCESSAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
+ ) >> $@
+
+# Create a file with the package names in it
+$(JACCESSAPI_PACKAGES_FILE): $(call PackageDependencies,$(JACCESSAPI_PKGS))
+ $(prep-target)
+ $(call PackageFilter,$(JACCESSAPI_PKGS))
+
+#############################################################
+#
# jdk.net docs
#
--- a/make/Main.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/make/Main.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -392,6 +392,9 @@
# links against libosxapp.
jdk.deploy.osx-libs: java.desktop-libs
+ # jdk.accessibility depends on java.desktop
+ jdk.accessibility-libs: java.desktop-libs
+
# This dependency needs to be explicitly declared. jdk.jdi-gensrc generates a
# header file used by jdk.jdwp.agent-libs. The jdk.jdwp.agent-gensrc is a
# virtual target.
--- a/make/common/MakeBase.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/make/common/MakeBase.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -36,6 +36,10 @@
$(error MakeBase.gmk needs SPEC set to a proper spec.gmk)
endif
+# By defining this pseudo target, make will automatically remove targets
+# if their recipe fails so that a rebuild is automatically triggered on the
+# next make invocation.
+.DELETE_ON_ERROR:
##############################
# Functions
@@ -484,6 +488,13 @@
$(shell $(MKDIR) -p $1 $2 $3 $4 $5 $6 $7 $8 $9)))
################################################################################
+# Assign a variable only if it is empty
+# Param 1 - Variable to assign
+# Param 2 - Value to assign
+SetIfEmpty = \
+ $(if $($(strip $1)),,$(eval $(strip $1) := $2))
+
+################################################################################
ifeq ($(OPENJDK_TARGET_OS),solaris)
# On Solaris, if the target is a symlink and exists, cp won't overwrite.
--- a/make/common/NON_CORE_PKGS.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/make/common/NON_CORE_PKGS.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -99,6 +99,8 @@
jdk.net \
jdk.management.cmm
+JACCESSAPI_PKGS = com.sun.java.accessibility.util
+
# non-core packages in rt.jar
NON_CORE_PKGS = $(DOMAPI_PKGS) \
$(MGMT_PKGS) \
@@ -110,4 +112,5 @@
$(SMARTCARDIO_PKGS) \
$(SCTPAPI_PKGS) \
$(APPLE_EXT_PKGS) \
- $(JDK_PKGS)
+ $(JDK_PKGS) \
+ $(JACCESSAPI_PKGS)
--- a/make/common/NativeCompilation.gmk Fri Apr 24 15:45:25 2015 +0300
+++ b/make/common/NativeCompilation.gmk Mon Apr 27 09:17:39 2015 -0700
@@ -34,6 +34,73 @@
$(error You must include MakeBase.gmk prior to including NativeCompilation.gmk)
endif
+################################################################################
+# Define a native toolchain configuration that can be used by
+# SetupNativeCompilation calls
+#
+# Parameter 1 is the name of the toolchain definition
+#
+# Remaining parameters are named arguments:
+# EXTENDS - Optional parent definition to get defaults from
+# CC - The C compiler
+# CXX - The C++ compiler
+# LD - The Linker
+# AR - Static linker
+# AS - Assembler
+# MT - Windows MT tool
+# RC - Windows RC tool
+# SYSROOT_CFLAGS - Compiler flags for using the specific sysroot
+# SYSROOT_LDFLAGS - Linker flags for using the specific sysroot
+DefineNativeToolchain = $(NamedParamsMacroTemplate)
+define DefineNativeToolchainBody
+ # If extending another definition, get default values from that,
+ # otherwise, nothing more needs to be done as variable assignments
+ # already happened in NamedParamsMacroTemplate.
+ ifneq ($$($1_EXTENDS), )
+ $$(call SetIfEmpty, $1_CC, $$($$($1_EXTENDS)_CC))
+ $$(call SetIfEmpty, $1_CXX, $$($$($1_EXTENDS)_CXX))
+ $$(call SetIfEmpty, $1_LD, $$($$($1_EXTENDS)_LD))
+ $$(call SetIfEmpty, $1_AR, $$($$($1_EXTENDS)_AR))
+ $$(call SetIfEmpty, $1_AS, $$($$($1_EXTENDS)_AS))
+ $$(call SetIfEmpty, $1_MT, $$($$($1_EXTENDS)_MT))
+ $$(call SetIfEmpty, $1_RC, $$($$($1_EXTENDS)_RC))
+ $$(call SetIfEmpty, $1_SYSROOT_CFLAGS, $$($$($1_EXTENDS)_SYSROOT_CFLAGS))
+ $$(call SetIfEmpty, $1_SYSROOT_LDFLAGS, $$($$($1_EXTENDS)_SYSROOT_LDFLAGS))
+ endif
+endef
+
+# Create a default toolchain with the main compiler and linker
+$(eval $(call DefineNativeToolchain, TOOLCHAIN_DEFAULT, \
+ CC := $(CC), \
+ CXX := $(CXX), \
+ LD := $(LD), \
+ AR := $(AR), \
+ AS := $(AS), \
+ MT := $(MT), \
+ RC := $(RC), \
+ SYSROOT_CFLAGS := $(SYSROOT_CFLAGS), \
+ SYSROOT_LDFLAGS := $(SYSROOT_LDFLAGS), \
+))
+
+# Create a toolchain where linking is done with the C++ linker
+$(eval $(call DefineNativeToolchain, TOOLCHAIN_LINK_CXX, \
+ EXTENDS := TOOLCHAIN_DEFAULT, \
+ LD := $(LDCXX), \
+))
+
+# Create a toolchain with the BUILD compiler, used for build tools that
+# are to be run during the build.
+# The BUILD_SYSROOT_*FLAGS variables are empty for now.
+$(eval $(call DefineNativeToolchain, TOOLCHAIN_BUILD, \
+ EXTENDS := TOOLCHAIN_DEFAULT, \
+ CC := $(BUILD_CC), \
+ LD := $(BUILD_LD), \
+ SYSROOT_CFLAGS := $(BUILD_SYSROOT_CFLAGS), \
+ SYSROOT_LDFLAGS := $(BUILD_SYSROOT_LDFLAGS), \
+))
+
+################################################################################
+
# Extensions of files handled by this macro.
NATIVE_SOURCE_EXTENSIONS := %.s %.c %.cpp %.m %.mm
@@ -70,6 +137,7 @@
-e 's/\#.*//' \
-e 's/^[^:]*: *//' \
-e 's/ *\\$$$$//' \
+ -e 's/^[ ]*//' \
-e '/^$$$$/ d' \
-e 's/$$$$/ :/' \
#
@@ -170,8 +238,8 @@
# and the targets generated are listed in a variable by that name.
#
# Remaining parameters are named arguments. These include:
+# TOOLCHAIN Name of toolchain setup to use. Defaults to TOOLCHAIN_DEFAULT.
# SRC one or more directory roots to scan for C/C++ files.
-# LANG C or C++
# CFLAGS the compiler flags to be used, used both for C and C++.
# CXXFLAGS the compiler flags to be used for c++, if set overrides CFLAGS.
# LDFLAGS the linker flags to be used, used both for C and C++.
@@ -192,7 +260,7 @@
# REORDER reorder file
# DEBUG_SYMBOLS add debug symbols (if configured on)
# CC the compiler to use, default is $(CC)
-# LDEXE the linker to use for linking executables, default is $(LDEXE)
+# LD the linker to use, default is $(LD)
# OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST
# DISABLED_WARNINGS_<toolchain> Disable the given warnings for the specified toolchain
SetupNativeCompilation = $(NamedParamsMacroTemplate)
@@ -288,39 +356,28 @@
$$(error Neither PROGRAM, LIBRARY nor STATIC_LIBRARY has been specified for SetupNativeCompilation)
endif
- ifeq (,$$($1_LANG))
- $$(error You have to specify LANG for native compilation $1)
- endif
- ifeq (C,$$($1_LANG))
- ifeq ($$($1_LDEXE),)
- $1_LDEXE:=$(LDEXE)
- endif
- ifeq ($$($1_LD),)
- $1_LD:=$(LD)
+ # Setup the toolchain to be used
+ $$(call SetIfEmpty, $1_TOOLCHAIN, TOOLCHAIN_DEFAULT)
+ $$(call SetIfEmpty, $1_CC, $$($$($1_TOOLCHAIN)_CC))
+ $$(call SetIfEmpty, $1_CXX, $$($$($1_TOOLCHAIN)_CXX))
+ $$(call SetIfEmpty, $1_LD, $$($$($1_TOOLCHAIN)_LD))
+ $$(call SetIfEmpty, $1_AR, $$($$($1_TOOLCHAIN)_AR))
+ $$(call SetIfEmpty, $1_AS, $$($$($1_TOOLCHAIN)_AS))
+ $$(call SetIfEmpty, $1_MT, $$($$($1_TOOLCHAIN)_MT))
+ $$(call SetIfEmpty, $1_RC, $$($$($1_TOOLCHAIN)_RC))
+ $$(call SetIfEmpty, $1_SYSROOT_CFLAGS, $$($$($1_TOOLCHAIN)_SYSROOT_CFLAGS))
+ $$(call SetIfEmpty, $1_SYSROOT_LDFLAGS, $$($$($1_TOOLCHAIN)_SYSROOT_LDFLAGS))
+
+ ifneq ($$($1_MANIFEST), )
+ ifeq ($$($1_MANIFEST_VERSION), )
+ $$(error If MANIFEST is provided, then MANIFEST_VERSION is required in $1)
endif
- else
- ifeq (C++,$$($1_LANG))
- ifeq ($$($1_LD),)
- $1_LD:=$(LDCXX)
- endif
- ifeq ($$($1_LDEXE),)
- $1_LDEXE:=$(LDEXECXX)
- endif
- else
- $$(error Unknown native language $$($1_LANG) for $1)
- endif
- endif
-
- ifeq ($$($1_CC),)
- $1_CC:=$(CC)
- endif
- ifeq ($$($1_CXX),)
- $1_CXX:=$(CXX)
endif
# Make sure the dirs exist.
$$(call MakeDir,$$($1_OBJECT_DIR) $$($1_OUTPUT_DIR))
- $$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),,$$(error SRC specified to SetupNativeCompilation $1 contains missing directory $$d)))
+ $$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),, \
+ $$(error SRC specified to SetupNativeCompilation $1 contains missing directory $$d)))
# Find all files in the source trees. Sort to remove duplicates.
$1_ALL_SRCS := $$(sort $$(call CacheFind,$$($1_SRC)))
@@ -451,9 +508,9 @@
# Track variable changes for all variables that affect the compilation command
# lines for all object files in this setup. This includes at least all the
# variables used in the call to add_native_source below.
- $1_COMPILE_VARDEPS := $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $(SYSROOT_CFLAGS) \
+ $1_COMPILE_VARDEPS := $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $$($1_SYSROOT_CFLAGS) \
$$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) \
- $$($1_CC) $$($1_CXX) $$($1_ASFLAGS) \
+ $$($1_CC) $$($1_CXX) $$($1_AS) $$($1_ASFLAGS) \
$$(foreach s, $$($1_SRCS), \
$$($1_$$(notdir $$s)_CFLAGS) $$($1_$$(notdir $$s)_CXXFLAGS))
$1_COMPILE_VARDEPS_FILE := $$(call DependOnVariable, $1_COMPILE_VARDEPS, \
@@ -462,9 +519,9 @@
# Now call add_native_source for each source file we are going to compile.
$$(foreach p,$$($1_SRCS), \
$$(eval $$(call add_native_source,$1,$$p,$$($1_OBJECT_DIR), \
- $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $(SYSROOT_CFLAGS), \
+ $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $$($1_SYSROOT_CFLAGS), \
$$($1_CC), \
- $$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) $(SYSROOT_CFLAGS), \
+ $$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) $$($1_SYSROOT_CFLAGS), \
$$($1_CXX), $$($1_ASFLAGS))))
# Setup rule for printing progress info when compiling source files.
@@ -489,29 +546,21 @@
-include $$($1_RES_DEP)
-include $$($1_RES_DEP_TARGETS)
- $1_RES_VARDEPS := $(RC) $$($1_RC_FLAGS)
+ $1_RES_VARDEPS := $$($1_RC) $$($1_RC_FLAGS)
$1_RES_VARDEPS_FILE := $$(call DependOnVariable, $1_RES_VARDEPS, \
$$($1_RES).vardeps)
$$($1_RES): $$($1_VERSIONINFO_RESOURCE) $$($1_RES_VARDEPS_FILE)
$(ECHO) $(LOG_INFO) "Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$(notdir $$($1_TARGET)))"
- $(RC) $$($1_RC_FLAGS) $(SYSROOT_CFLAGS) $(CC_OUT_OPTION)$$@ \
+ $$($1_RC) $$($1_RC_FLAGS) $$($1_SYSROOT_CFLAGS) $(CC_OUT_OPTION)$$@ \
$$($1_VERSIONINFO_RESOURCE)
# Windows RC compiler does not support -showIncludes, so we mis-use CL for this.
- $(CC) $$($1_RC_FLAGS) $(SYSROOT_CFLAGS) -showIncludes -nologo -TC \
+ $$($1_CC) $$($1_RC_FLAGS) $$($1_SYSROOT_CFLAGS) -showIncludes -nologo -TC \
$(CC_OUT_OPTION)$$($1_RES_DEP).obj $$($1_VERSIONINFO_RESOURCE) > $$($1_RES_DEP).raw 2>&1 || exit 0
($(ECHO) $$($1_RES): \\ \
&& $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_RES_DEP).raw) > $$($1_RES_DEP)
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_RES_DEP) > $$($1_RES_DEP_TARGETS)
endif
- ifneq (,$$($1_MANIFEST))
- $1_GEN_MANIFEST:=$$($1_OBJECT_DIR)/$$($1_PROGRAM).manifest
- IMVERSIONVALUE:=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VERSION).$(COOKED_BUILD_NUMBER)
- $1_MANIFEST_VARDEPS_FILE := $$(call DependOnVariable, IMVERSIONVALUE, \
- $$($1_GEN_MANIFEST).vardeps)
- $$($1_GEN_MANIFEST): $$($1_MANIFEST) $$($1_MANIFEST_VARDEPS_FILE)
- $(SED) 's%IMVERSION%$$(IMVERSIONVALUE)%g;s%PROGRAM%$$($1_PROGRAM)%g' $$< > $$@
- endif
endif
# mapfile doesnt seem to be implemented on macosx (yet??)
@@ -622,15 +671,15 @@
$1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX)
- $1_VARDEPS := $$($1_LD) $(SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
- $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX)
+ $1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
+ $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) $$($1_CREATE_DEBUGINFO_CMDS)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
$$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_REAL_MAPFILE) \
$$($1_DEBUGINFO_EXTRA_DEPS) $$($1_VARDEPS_FILE)
$(ECHO) $(LOG_INFO) "Linking $$($1_BASENAME)"
- $$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(SYSROOT_LDFLAGS) \
+ $$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
$(LD_OUT_OPTION)$$@ \
$$($1_EXPECTED_OBJS) $$($1_RES) \
$$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX)
@@ -644,14 +693,15 @@
endif
ifneq (,$$($1_STATIC_LIBRARY))
- $1_VARDEPS := $(AR) $$($1_ARFLAGS) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX)
+ $1_VARDEPS := $$($1_AR) $$($1_ARFLAGS) $$($1_LDFLAGS_SUFFIX) \
+ $$($1_EXTRA_LDFLAGS_SUFFIX)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
# Generating a static library, ie object file archive.
$$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_VARDEPS_FILE)
$(ECHO) $(LOG_INFO) "Archiving $$($1_STATIC_LIBRARY)"
- $(AR) $$($1_ARFLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_EXPECTED_OBJS) \
+ $$($1_AR) $$($1_ARFLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_EXPECTED_OBJS) \
$$($1_RES) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX)
endif
@@ -659,20 +709,23 @@
# A executable binary has been specified, setup the target for it.
$1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX)
- $1_VARDEPS := $$($1_LDEXE) $(SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
- $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX)
+ $1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
+ $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) $$($1_MT) \
+ $$($1_CODESIGN) $$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
- $$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_GEN_MANIFEST) \
+ $$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_MANIFEST) \
$$($1_DEBUGINFO_EXTRA_DEPS) $$($1_VARDEPS_FILE)
$(ECHO) $(LOG_INFO) "Linking executable $$($1_BASENAME)"
- $$($1_LDEXE) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(SYSROOT_LDFLAGS) \
+ $$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
$(EXE_OUT_OPTION)$$($1_TARGET) \
$$($1_EXPECTED_OBJS) $$($1_RES) \
$$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX)
- ifneq (,$$($1_GEN_MANIFEST))
- $(MT) -nologo -manifest $$($1_GEN_MANIFEST) -outputresource:$$@;#1
+ ifeq ($(OPENJDK_TARGET_OS), windows)
+ ifneq ($$($1_MANIFEST), )
+ $$($1_MT) -nologo -manifest $$($1_MANIFEST) -identity:"$$($1_PROGRAM).exe, version=$$($1_MANIFEST_VERSION)" -outputresource:$$@;#1
+ endif
endif
# This only works if the openjdk_codesign identity is present on the system. Let
# silently fail otherwise.
--- a/modules.xml Fri Apr 24 15:45:25 2015 +0300
+++ b/modules.xml Mon Apr 27 09:17:39 2015 -0700
@@ -2,7 +2,7 @@
<!--
- Copyright (c) 2014 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
@@ -248,18 +248,24 @@
<to>java.logging</to>
<to>java.management</to>
<to>java.naming</to>
+ <to>java.prefs</to>
<to>java.rmi</to>
<to>java.security.jgss</to>
<to>java.security.sasl</to>
<to>java.sql</to>
+ <to>java.xml</to>
+ <to>java.xml.ws</to>
<to>jdk.charsets</to>
+ <to>jdk.crypto.pkcs11</to>
<to>jdk.deploy.osx</to>
+ <to>jdk.httpserver</to>
<to>jdk.jartool</to>
<to>jdk.jconsole</to>
<to>jdk.jvmstat</to>
<to>jdk.pack200</to>
<to>jdk.security.auth</to>
<to>jdk.security.jgss</to>
+ <to>jdk.snmp</to>
</export>
<export>
<name>sun.net.dns</name>
@@ -751,7 +757,7 @@
</export>
<export>
<name>sun.awt</name>
- <to>jdk.accessbridge</to>
+ <to>jdk.accessibility</to>
</export>
</module>
<module>
@@ -1838,6 +1844,23 @@
</export>
</module>
<module>
+ <name>jdk.xml.dom</name>
+ <depend>java.base</depend>
+ <depend re-exports="true">java.xml</depend>
+ <export>
+ <name>org.w3c.dom.css</name>
+ </export>
+ <export>
+ <name>org.w3c.dom.html</name>
+ </export>
+ <export>
+ <name>org.w3c.dom.stylesheets</name>
+ </export>
+ <export>
+ <name>org.w3c.dom.xpath</name>
+ </export>
+ </module>
+ <module>
<name>jdk.xml.ws</name>
<depend>java.base</depend>
<depend>java.compiler</depend>
@@ -1852,4 +1875,9 @@
<name>jdk.zipfs</name>
<depend>java.base</depend>
</module>
+ <module>
+ <name>jdk.accessibility</name>
+ <depend>java.base</depend>
+ <depend>java.desktop</depend>
+ </module>
</modules>
--- a/nashorn/.hgtags Fri Apr 24 15:45:25 2015 +0300
+++ b/nashorn/.hgtags Mon Apr 27 09:17:39 2015 -0700
@@ -293,3 +293,5 @@
3bcfcb13c23402cf435079766eb2f9a3c4f890e8 jdk9-b57
5096a7cca5f0fda814832ac777966bea893f837e jdk9-b58
ea4e794c3927df4e03f53202e15a3248375b7902 jdk9-b59
+c55ce3738888b6c7596780b7b2ad1aa0f9ebccd7 jdk9-b60
+89937bee80bd28826de8cf60aa63a21edab63f79 jdk9-b61
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/samples/clickcounter.fxml Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,65 @@
+<!-- simple self-contained .fxml file -->
+
+<!--
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of Oracle nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<?import javafx.scene.*?>
+<?import javafx.scene.control.*?>
+<?import javafx.scene.layout.*?>
+<?language javascript?>
+
+<VBox xmlns:fx="http://javafx.com/fxml">
+ <!-- script to handle events -->
+
+ <fx:script>
+
+ // button click handler
+ var clickCount = 0;
+ function onButtonClick(event) {
+ // get another control via scene object
+ var scene = event.source.scene;
+ var textField = scene.lookup("#nameText");
+
+ print(textField.text + ", you clicked " + ++clickCount + " times!");
+ }
+
+ </fx:script>
+
+ <!-- GUI description -->
+ <children>
+ <HBox>
+ <Label text="Your name please:"/>
+ <TextField fx:id="nameText" text="Nashorn"/>
+ </HBox>
+ <Button text="Click!" onAction="onButtonClick(event)"/>
+ </children>
+</VBox>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/samples/colorfulcircles.js Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,144 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of Oracle nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// Nashorn port of ColorfulCircles.java JavaFX animation example at
+// https://docs.oracle.com/javafx/2/get_started/ColorfulCircles.java.html
+// ColorfulCircles.java is under the following license terms:
+
+/*
+* Copyright (c) 2011, 2012 Oracle and/or its affiliates.
+* All rights reserved. Use is subject to license terms.
+*
+* This file is available and licensed under the following license:
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* - Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* - Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in
+* the documentation and/or other materials provided with the distribution.
+* - Neither the name of Oracle nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+// Usage: jjs -fx colorfulcircles.fx
+
+// Porting note: No imports - just load these fx scripts!
+load("fx:controls.js");
+load("fx:graphics.js");
+
+// Porting note: whatever is inside
+// public void start(Stage primaryStage)
+// goes into "start" function
+
+function start(primaryStage) {
+ // Porting note: Replace types with 'var'. "Group root" becomes "var root".
+ // and so on..
+
+ var root = new Group();
+ var scene = new Scene(root, 800, 600, Color.BLACK);
+ primaryStage.setScene(scene);
+ var circles = new Group();
+ // Porting note: for (int i = 0....) becomes for (var i = 0...)
+
+ for (var i = 0; i < 30; i++) {
+ var circle = new Circle(150, Color.web("white", 0.05));
+ circle.setStrokeType(StrokeType.OUTSIDE);
+ circle.setStroke(Color.web("white", 0.16));
+ circle.setStrokeWidth(4);
+ circles.getChildren().add(circle);
+ }
+
+ // Porting note: There is no "f" suffix for float literals in JS.
+ // LinearGradient(0f, 1f, 1f, 0f,..) becomes just
+ // LinearGradient(0, 1, 1, 0,..)
+
+ // Porting note: LinearGradient's constructor is a varargs method
+ // No need to create Stop[] just pass more Stop objects at the end!
+ var colors = new Rectangle(scene.getWidth(), scene.getHeight(),
+ new LinearGradient(0, 1, 1, 0, true, CycleMethod.NO_CYCLE,
+ new Stop(0, Color.web("#f8bd55")),
+ new Stop(0.14, Color.web("#c0fe56")),
+ new Stop(0.28, Color.web("#5dfbc1")),
+ new Stop(0.43, Color.web("#64c2f8")),
+ new Stop(0.57, Color.web("#be4af7")),
+ new Stop(0.71, Color.web("#ed5fc2")),
+ new Stop(0.85, Color.web("#ef504c")),
+ new Stop(1, Color.web("#f2660f"))));
+ colors.widthProperty().bind(scene.widthProperty());
+ colors.heightProperty().bind(scene.heightProperty());
+ var blendModeGroup =
+ new Group(new Group(new Rectangle(scene.getWidth(), scene.getHeight(),
+ Color.BLACK), circles), colors);
+ colors.setBlendMode(BlendMode.OVERLAY);
+ root.getChildren().add(blendModeGroup);
+ circles.setEffect(new BoxBlur(10, 10, 3));
+
+ // Porting note: Java code uses static import of
+ // java.lang.Math.random. Just use JS Math.random here
+ var random = Math.random;
+
+ var timeline = new Timeline();
+ // Porting note: Java enhanced for loop
+ // for (Node circle : circles.getChildren())
+ // becomes
+ // for each (var circle: circles.getChildren())
+
+ for each (var circle in circles.getChildren()) {
+ timeline.getKeyFrames().addAll(
+ new KeyFrame(Duration.ZERO, // set start position at 0
+ new KeyValue(circle.translateXProperty(), random() * 800),
+ new KeyValue(circle.translateYProperty(), random() * 600)),
+ new KeyFrame(new Duration(40000), // set end position at 40s
+ new KeyValue(circle.translateXProperty(), random() * 800),
+ new KeyValue(circle.translateYProperty(), random() * 600)));
+ }
+
+ // play 40s of animation
+ timeline.play();
+ primaryStage.show();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/samples/colorpick.js Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,52 @@
+#simple color picker example
+
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of Oracle nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+if (! $OPTIONS._fx) {
+ print("Usage: jjs -fx colorpick.js");
+ exit(1);
+}
+
+var ColorPicker = Java.type("javafx.scene.control.ColorPicker");
+var Scene = Java.type("javafx.scene.Scene");
+
+function start(stage) {
+ var picker = new ColorPicker();
+ // just print color details in stdout for fun!
+ picker.onAction = function(evt) {
+ var ld = Object.bindProperties({}, picker.value);
+ print(JSON.stringify(ld));
+ }
+ var scene = new Scene(picker, 200, 30);
+ stage.scene = scene;
+ stage.show();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/samples/datepick.js Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,51 @@
+#simple sample to use #javafx8 date picker with #nashorn
+
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of Oracle nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+if (! $OPTIONS._fx) {
+ print("Usage: jjs -fx datepick.js");
+ exit(1);
+}
+
+load("fx:controls.js");
+
+function start(stage) {
+ var picker = new DatePicker();
+ picker.onAction = function(evt) {
+ var ld = Object.bindProperties({}, picker.value);
+ print(JSON.stringify(ld));
+ }
+
+ var scene = new Scene(picker, 100, 30);
+ stage.scene = scene;
+ stage.show();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/samples/fjson.js Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of Oracle nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// Usage: jjs -scripting flexijson.js fjson.js
+
+var obj = FlexiJSON.parse(<<EOF
+// this is a comment
+{
+ foo: 23,
+ bar: [ 34, 454, 54,],
+ // inline comment here
+
+ /** multi line
+ comments are fine too! */
+
+ # shell style line comment is fine!
+
+ regex: /gdfg/i, // regexp literal
+
+ str: <<END
+Multiple line strings via nashorn
+-scripting mode extension as well
+END
+}
+EOF)
+
+print(obj.foo);
+print(obj.bar);
+print(obj.regex);
+print(obj.str);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/samples/flexijson.js Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of Oracle nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Hjson - "the Human JSON - A configuration file format that
+ * caters to humans and helps reduce the errors they make"
+ * See also: http://hjson.org/
+ *
+ * I wanted to see if we can use Nashorn Parser API (jdk9) to support
+ * similar flexible JSON extension with #nashorn. In this FlexiJSON.parse
+ * implementation, Nashorn Parser API is used to validate that the
+ * extendable flexi JSON is "data only" (i.e., no executable code) and
+ * then 'eval'ed to make an object out of it.
+ *
+ * FlexiJSON allows the following:
+ *
+ * * single and mutliple line comments anywhere
+ * * non-quoted property names and values
+ * * regexp literal values
+ * * omitting trailing comma
+ *
+ * When nashorn -scripting mode is enabled, FlexiJSON supports these
+ * as well:
+ *
+ * * shell style # comments
+ * * multiple line (Unix heredoc style) string values
+ */
+
+"use strict";
+
+function FlexiJSON() {}
+
+// helper to locate Nashorn Parser API classes
+FlexiJSON.treeType = function(name) {
+ return Java.type("jdk.nashorn.api.tree." + name);
+}
+
+// Nashorn Parser API classes used
+FlexiJSON.ArrayLiteral = FlexiJSON.treeType("ArrayLiteralTree");
+FlexiJSON.ExpressionStatement = FlexiJSON.treeType("ExpressionStatementTree");
+FlexiJSON.ObjectLiteral = FlexiJSON.treeType("ObjectLiteralTree");
+FlexiJSON.RegExpLiteral = FlexiJSON.treeType("RegExpLiteralTree");
+FlexiJSON.Literal = FlexiJSON.treeType("LiteralTree");
+FlexiJSON.Parser = FlexiJSON.treeType("Parser");
+FlexiJSON.SimpleTreeVisitor = FlexiJSON.treeType("SimpleTreeVisitorES5_1");
+
+// FlexiJSON.parse API
+
+FlexiJSON.parse = function(str) {
+ var parser = (typeof $OPTIONS == "undefined")?
+ FlexiJSON.Parser.create() :
+ FlexiJSON.Parser.create("-scripting");
+
+ // force the string to be an expression by putting it inside (, )
+ str = "(" + str + ")";
+ var ast = parser.parse("<flexijsondoc>", str, null);
+ // Should not happen. parse would have thrown syntax error
+ if (!ast) {
+ return undefined;
+ }
+
+ // allowed 'literal' values in flexi JSON
+ function isLiteral(node) {
+ return node instanceof FlexiJSON.ArrayLiteral ||
+ node instanceof FlexiJSON.Literal ||
+ node instanceof FlexiJSON.ObjectLiteral ||
+ node instanceof FlexiJSON.RegExpLiteral;
+ }
+
+ var visitor;
+ ast.accept(visitor = new (Java.extend(FlexiJSON.SimpleTreeVisitor)) {
+ lineMap: null,
+
+ throwError: function(msg, node) {
+ if (this.lineMap) {
+ var pos = node.startPosition;
+ var line = this.lineMap.getLineNumber(pos);
+ var column = this.lineMap.getColumnNumber(pos);
+ // we introduced extra '(' at start. So, adjust column number
+ msg = msg + " @ " + line + ":" + (column - 1);
+ }
+ throw new TypeError(msg);
+ },
+
+ visitLiteral: function(node, extra) {
+ print(node.value);
+ },
+
+ visitExpressionStatement: function(node, extra) {
+ var expr = node.expression;
+ if (isLiteral(expr)) {
+ expr.accept(visitor, extra);
+ } else {
+ this.throwError("only literals can occur", expr);
+ }
+ },
+
+ visitArrayLiteral: function(node, extra) {
+ for each (var elem in node.elements) {
+ if (isLiteral(elem)) {
+ elem.accept(visitor, extra);
+ } else {
+ this.throwError("only literal array element value allowed", elem);
+ }
+ }
+ },
+
+ visitObjectLiteral: function(node, extra) {
+ for each (var prop in node.properties) {
+ if (prop.getter != null || prop.setter != null) {
+ this.throwError("getter/setter property not allowed", node);
+ }
+
+ var value = prop.value;
+ if (isLiteral(value)) {
+ value.accept(visitor, extra);
+ } else {
+ this.throwError("only literal property value allowed", value);
+ }
+ }
+ },
+
+ visitCompilationUnit: function(node, extra) {
+ this.lineMap = node.lineMap;
+ var elements = node.sourceElements;
+ if (elements.length > 1) {
+ this.throwError("more than one top level expression", node.sourceElements[1]);
+ }
+ var stat = node.sourceElements[0];
+ if (! (stat instanceof FlexiJSON.ExpressionStatement)) {
+ this.throwError("only one top level expresion allowed", stat);
+ }
+ stat.accept(visitor, extra);
+ },
+ }, null);
+
+ // safe to eval given string as flexi JSON!
+ return eval(str);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/samples/fxml_example.js Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,86 @@
+#Usage: jjs -fx fxml_example.js
+#nashorn simple example using FXML with #javafx
+
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of Oracle nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// See also https://docs.oracle.com/javase/8/javafx/api/javafx/fxml/doc-files/introduction_to_fxml.html
+
+if (! $OPTIONS._fx) {
+ print("Usage: jjs -fx fxml_example.js");
+ exit(1);
+}
+
+// inline FXML document here
+var fxml = <<EOF
+
+<?import javafx.scene.*?>
+<?import javafx.scene.control.*?>
+<?import javafx.scene.layout.*?>
+
+<VBox xmlns:fx="http://javafx.com/fxml">
+ <children>
+ <!-- ids will be used script later -->
+ <HBox>
+ <Label text="Your name please:"/>
+ <TextField fx:id="nameText" text="Nashorn"/>
+ </HBox>
+ <Button fx:id="clickButton" text="Click!"/>
+ </children>
+</VBox>
+
+EOF
+
+// Java and FX classes used
+var ByteArrayInputStream = Java.type("java.io.ByteArrayInputStream");
+var FXMLLoader = Java.type("javafx.fxml.FXMLLoader");
+var Scene = Java.type("javafx.scene.Scene");
+
+function start(stage) {
+ var loader = new FXMLLoader();
+ // load FXML from a string
+ var root = loader.load(new ByteArrayInputStream(fxml.getBytes("UTF-8")));
+
+ // get the button and the text field controls
+ var button = root.lookup("#clickButton");
+ var textField = root.lookup("#nameText");
+
+ // event handler for button
+ var clickCount = 0;
+ button.onAction = function() {
+ print(textField.text + ", you clicked me: " + ++clickCount + " time(s)");
+ }
+
+ var scene = new Scene(root, 300, 275);
+ stage.title = "FXML Example";
+ stage.scene = scene;
+ stage.show();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/samples/fxmlrunner.js Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,64 @@
+#Usage: jjs -fx fxmlrunner.js -- <.fxml file>
+
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of Oracle nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// See also https://docs.oracle.com/javase/8/javafx/api/javafx/fxml/doc-files/introduction_to_fxml.html
+
+// Simple script to "run" a .FXML file specified in
+// command line. FXML file is expected to have inline
+// fx:script to handle GUI events. i.e., self-contained
+// FXML file is assumed.
+
+var file = arguments[0];
+var File = Java.type("java.io.File");
+if (!$OPTIONS._fx || !file || !new File(file).isFile()) {
+ print("Usage: jjs -fx fxmlrunner.js -- <.fxml file> [width] [height]");
+ exit(1);
+}
+
+// optional stage width and height from command line
+var width = arguments[1]? parseInt(arguments[1]) : 400;
+var height = arguments[2]? parseInt(arguments[2]) : 300;
+
+// JavaFX classes used
+var FXMLLoader = Java.type("javafx.fxml.FXMLLoader");
+var Scene = Java.type("javafx.scene.Scene");
+
+function start(stage) {
+ // load FXML
+ var root = FXMLLoader.load(new File(file).toURL());
+ // show it in a scene
+ var scene = new Scene(root, width, height);
+ stage.title = file;
+ stage.scene = scene;
+ stage.show();
+}
--- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CodeGenerator.java Fri Apr 24 15:45:25 2015 +0300
+++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CodeGenerator.java Mon Apr 27 09:17:39 2015 -0700
@@ -297,6 +297,20 @@
}
/**
+ * Gets the flags for a scope call site.
+ * @param symbol a scope symbol
+ * @return the correct flags for the scope call site
+ */
+ private int getScopeCallSiteFlags(final Symbol symbol) {
+ assert symbol.isScope();
+ final int flags = getCallSiteFlags() | CALLSITE_SCOPE;
+ if (isEvalCode() && symbol.isGlobal()) {
+ return flags; // Don't set fast-scope flag on non-declared globals in eval code - see JDK-8077955.
+ }
+ return isFastScope(symbol) ? flags | CALLSITE_FAST_SCOPE : flags;
+ }
+
+ /**
* Are we generating code for 'eval' code?
* @return true if currently compiled code is 'eval' code.
*/
@@ -333,7 +347,7 @@
}
assert identNode.getSymbol().isScope() : identNode + " is not in scope!";
- final int flags = CALLSITE_SCOPE | getCallSiteFlags();
+ final int flags = getScopeCallSiteFlags(symbol);
if (isFastScope(symbol)) {
// Only generate shared scope getter for fast-scope symbols so we know we can dial in correct scope.
if (symbol.getUseCount() > SharedScopeCall.FAST_SCOPE_GET_THRESHOLD && !isOptimisticOrRestOf()) {
@@ -457,7 +471,7 @@
} else {
method.load(-1);
}
- return lc.getScopeGet(unit, symbol, valueType, flags | CALLSITE_FAST_SCOPE).generateInvoke(method);
+ return lc.getScopeGet(unit, symbol, valueType, flags).generateInvoke(method);
}
private class LoadScopeVar extends OptimisticOperation {
@@ -495,7 +509,7 @@
private class LoadFastScopeVar extends LoadScopeVar {
LoadFastScopeVar(final IdentNode identNode, final TypeBounds resultBounds, final int flags) {
- super(identNode, resultBounds, flags | CALLSITE_FAST_SCOPE);
+ super(identNode, resultBounds, flags);
}
@Override
@@ -506,7 +520,7 @@
private MethodEmitter storeFastScopeVar(final Symbol symbol, final int flags) {
loadFastScopeProto(symbol, true);
- method.dynamicSet(symbol.getName(), flags | CALLSITE_FAST_SCOPE, false);
+ method.dynamicSet(symbol.getName(), flags, false);
return method;
}
@@ -1426,7 +1440,6 @@
private MethodEmitter sharedScopeCall(final IdentNode identNode, final int flags) {
final Symbol symbol = identNode.getSymbol();
final boolean isFastScope = isFastScope(symbol);
- final int scopeCallFlags = flags | (isFastScope ? CALLSITE_FAST_SCOPE : 0);
new OptimisticOperation(callNode, resultBounds) {
@Override
void loadStack() {
@@ -1449,7 +1462,7 @@
// As shared scope calls are only used in non-optimistic compilation, we switch from using
// TypeBounds to just a single definitive type, resultBounds.widest.
final SharedScopeCall scopeCall = codegenLexicalContext.getScopeCall(unit, symbol,
- identNode.getType(), resultBounds.widest, paramTypes, scopeCallFlags);
+ identNode.getType(), resultBounds.widest, paramTypes, flags);
scopeCall.generateInvoke(method);
}
}.emit();
@@ -1550,7 +1563,7 @@
final Symbol symbol = node.getSymbol();
if (symbol.isScope()) {
- final int flags = getCallSiteFlags() | CALLSITE_SCOPE;
+ final int flags = getScopeCallSiteFlags(symbol);
final int useCount = symbol.getUseCount();
// Threshold for generating shared scope callsite is lower for fast scope symbols because we know
@@ -3292,7 +3305,7 @@
// block scoped variables need a DECLARE flag to signal end of temporal dead zone (TDZ)
method.loadCompilerConstant(SCOPE);
method.loadUndefined(Type.OBJECT);
- final int flags = CALLSITE_SCOPE | getCallSiteFlags() | (varNode.isBlockScoped() ? CALLSITE_DECLARE : 0);
+ final int flags = getScopeCallSiteFlags(identSymbol) | (varNode.isBlockScoped() ? CALLSITE_DECLARE : 0);
assert isFastScope(identSymbol);
storeFastScopeVar(identSymbol, flags);
}
@@ -3309,7 +3322,7 @@
if (needsScope) {
loadExpressionUnbounded(init);
// block scoped variables need a DECLARE flag to signal end of temporal dead zone (TDZ)
- final int flags = CALLSITE_SCOPE | getCallSiteFlags() | (varNode.isBlockScoped() ? CALLSITE_DECLARE : 0);
+ final int flags = getScopeCallSiteFlags(identSymbol) | (varNode.isBlockScoped() ? CALLSITE_DECLARE : 0);
if (isFastScope(identSymbol)) {
storeFastScopeVar(identSymbol, flags);
} else {
@@ -4443,7 +4456,7 @@
final Symbol symbol = node.getSymbol();
assert symbol != null;
if (symbol.isScope()) {
- final int flags = CALLSITE_SCOPE | getCallSiteFlags();
+ final int flags = getScopeCallSiteFlags(symbol);
if (isFastScope(symbol)) {
storeFastScopeVar(symbol, flags);
} else {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/test/script/basic/JDK-8071928.js Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * JDK-8071928: Instance properties with getters returning wrong values
+ *
+ * @test
+ * @run
+ */
+
+
+var types = {};
+
+function Type() {}
+
+Type.prototype.getName = function() {
+ return this._name;
+};
+
+function defineType(init) {
+ return Object.create(Type.prototype, {
+ _name: { get: function() { return init.name; } }
+ });
+}
+
+types.A = defineType({ name: 'A' });
+types.B = defineType({ name: 'B' });
+types.C = defineType({ name: 'C' });
+types.D = defineType({ name: 'D' });
+
+var keys = Object.keys(types);
+for (var i = 0; i < keys.length; i++) {
+ var t = types[keys[i]];
+ if (t.getName() != keys[i]) {
+ throw 'wrong name for ' + keys[i] + ': ' + t.getName();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/test/script/basic/JDK-8073846.js Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * JDK-8073846: Javascript for-in loop returned extra keys
+ *
+ * @test
+ * @run
+ */
+
+var obj = {};
+
+var list = [
+ '2100000',
+ '420000',
+ '430000'
+];
+
+for (var i = 0; i < list.length; i++) {
+ if (obj[list[i]]) print("duplicate: " + list[i]);
+ obj[list[i]] = 'obj' + list[i]
+}
+
+var count = 0;
+for (var a in obj) {
+ count++;
+ if ('obj' + a !== obj[a]) {
+ throw 'wrong key or value: ' + a + ', ' + obj[a];
+ }
+}
+
+if (count !== 3) {
+ throw 'wrong entry count: ' + count;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/test/script/basic/JDK-8077955.js Mon Apr 27 09:17:39 2015 -0700
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * JDK-8077955: Undeclared globals in eval code should not be handled as fast scope
+ *
+ * @test
+ * @run
+ * @fork
+ * @option -Dnashorn.fields.objects
+ */
+
+var m = new javax.script.ScriptEngineManager();
+var e = m.getEngineByName('js');
+
+// leave the whitespace - need both eval("e") at same column for this test!
+
+e.eval('function f(e) { eval("e") } f()');
+e.eval('function f() { var e = 33; eval("e") } f()');
+
+function f() {
+ Function.call.call(function x() { eval("x") }); eval("x")
+}
+
+try {
+ f();
+ fail("Should have thrown ReferenceError");
+} catch (e) {
+ if (! (e instanceof ReferenceError)) {
+ fail("ReferenceError expected but got " + e);
+ }
+}