diff --git a/build.gradle b/build.gradle
index 59f464643..ad50548d0 100644
--- a/build.gradle
+++ b/build.gradle
@@ -52,8 +52,8 @@ if (project.hasProperty('enableSonar')) {
group = 'org.apache.xmlbeans'
-sourceCompatibility = JavaVersion.VERSION_1_8
-targetCompatibility = JavaVersion.VERSION_1_8
+sourceCompatibility = JavaVersion.VERSION_17
+targetCompatibility = JavaVersion.VERSION_17
repositories {
mavenCentral()
@@ -72,7 +72,7 @@ ext {
log4jVersion = '2.26.1'
saxonVersion = '13.0'
androidSdkMinimum = '26'
- jdkVersion = (project.properties['jdkVersion'] ?: '8') as int
+ jdkVersion = (project.properties['jdkVersion'] ?: '17') as int
}
def testSchemas = [
@@ -271,18 +271,12 @@ javadoc {
maxMemory = "1024M"
doFirst {
options {
- if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
- addBooleanOption('html5', true)
- }
+ addBooleanOption('html5', true)
addBooleanOption('Xdoclint:all,-missing', true)
links 'https://poi.apache.org/apidocs/dev/'
- if (JavaVersion.current().ordinal() >= JavaVersion.VERSION_23.ordinal()) {
- links 'https://docs.oracle.com/en/java/javase/23/docs/api/'
- } else {
- links 'https://docs.oracle.com/javase/8/docs/api/'
- }
+ links 'https://docs.oracle.com/en/java/javase/17/docs/api/'
links 'https://xmlbeans.apache.org/docs/5.0.0/'
- source = "1.8"
+ source = "17"
}
}
}
@@ -296,10 +290,10 @@ task compileJava9(type: JavaCompile) {
dependsOn 'compileJava'
javaCompiler = javaToolchains.compilerFor {
- languageVersion = JavaLanguageVersion.of(Math.max(11, jdkVersion))
+ languageVersion = JavaLanguageVersion.of(jdkVersion)
}
- sourceCompatibility = 9
- targetCompatibility = 9
+ sourceCompatibility = 17
+ targetCompatibility = 17
destinationDirectory = file('build/classes/java9/main/META-INF/versions/9')
source = file('src/main/java9')
classpath = files()
@@ -685,8 +679,6 @@ forbiddenApis {
// signaturesFiles = files('src/test/resources/forbiddenApis/forbidden-signatures.txt')
ignoreFailures = false
suppressAnnotations = [ 'org.apache.xmlbeans.impl.util.SuppressForbidden' ]
- // forbiddenapis bundled signatures max supported version is 14
- targetCompatibility = (JavaVersion.VERSION_14.isCompatibleWith(JavaVersion.current()) ? JavaVersion.current() : JavaVersion.VERSION_14)
}
//forbiddenApisMain.onlyIf { false }
diff --git a/build.xml b/build.xml
index 81f109bc7..47aaf14c1 100644
--- a/build.xml
+++ b/build.xml
@@ -17,8 +17,8 @@
xmlns:mvn="antlib:org.apache.maven.artifact.ant"
xmlns:if="ant:if" xmlns:unless="ant:unless">
-
-
+
+
@@ -313,7 +313,7 @@
-
-
-
-
-
-
-
-
+
+ source="17">
diff --git a/src/main/java/org/apache/xmlbeans/QNameSet.java b/src/main/java/org/apache/xmlbeans/QNameSet.java
index 40c4abedc..7636adf0f 100644
--- a/src/main/java/org/apache/xmlbeans/QNameSet.java
+++ b/src/main/java/org/apache/xmlbeans/QNameSet.java
@@ -166,8 +166,8 @@ public static QNameSet forArray(QName[] includedQNames) {
* @return the copied QNameSet
*/
public static QNameSet forSpecification(QNameSetSpecification spec) {
- if (spec instanceof QNameSet) {
- return (QNameSet) spec;
+ if (spec instanceof QNameSet set) {
+ return set;
}
return QNameSet.forSets(spec.excludedURIs(), spec.includedURIs(), spec.excludedQNamesInIncludedURIs(), spec.includedQNamesInExcludedURIs());
}
diff --git a/src/main/java/org/apache/xmlbeans/XmlOptions.java b/src/main/java/org/apache/xmlbeans/XmlOptions.java
index 05e4a2bf9..4a7075b9b 100644
--- a/src/main/java/org/apache/xmlbeans/XmlOptions.java
+++ b/src/main/java/org/apache/xmlbeans/XmlOptions.java
@@ -1609,8 +1609,8 @@ public void setCompilePartialMethod(Set list) {
*/
public int getMaxNumberOfCharsForNumbers() {
Object value = get(XmlOptionsKeys.MAX_NUMBER_CHARS);
- if (value instanceof Number) {
- return ((Number) value).intValue();
+ if (value instanceof Number number) {
+ return number.intValue();
}
return DEFAULT_MAX_NUMBER_CHARS;
}
diff --git a/src/main/java/org/apache/xmlbeans/XmlSimpleList.java b/src/main/java/org/apache/xmlbeans/XmlSimpleList.java
index 5ad42220d..d0e5e3a64 100644
--- a/src/main/java/org/apache/xmlbeans/XmlSimpleList.java
+++ b/src/main/java/org/apache/xmlbeans/XmlSimpleList.java
@@ -253,8 +253,8 @@ public void add(Object o) {
}
private String stringValue(Object o) {
- if (o instanceof SimpleValue) {
- return ((SimpleValue) o).getStringValue();
+ if (o instanceof SimpleValue value) {
+ return value.getStringValue();
}
return o.toString();
}
diff --git a/src/main/java/org/apache/xmlbeans/impl/common/IOUtil.java b/src/main/java/org/apache/xmlbeans/impl/common/IOUtil.java
index 7d47a044a..cfa787fdd 100644
--- a/src/main/java/org/apache/xmlbeans/impl/common/IOUtil.java
+++ b/src/main/java/org/apache/xmlbeans/impl/common/IOUtil.java
@@ -31,10 +31,10 @@ public static void copyCompletely(InputStream input, OutputStream output)
throws IOException {
try {
//if both are file streams, use channel IO
- if ((output instanceof FileOutputStream) && (input instanceof FileInputStream)) {
+ if ((output instanceof FileOutputStream fos) && (input instanceof FileInputStream fis)) {
try {
- FileChannel target = ((FileOutputStream) output).getChannel();
- FileChannel source = ((FileInputStream) input).getChannel();
+ FileChannel target = fos.getChannel();
+ FileChannel source = fis.getChannel();
source.transferTo(0, Integer.MAX_VALUE, target);
diff --git a/src/main/java/org/apache/xmlbeans/impl/common/IdentityConstraint.java b/src/main/java/org/apache/xmlbeans/impl/common/IdentityConstraint.java
index 26611c3da..e3e0d4d3e 100644
--- a/src/main/java/org/apache/xmlbeans/impl/common/IdentityConstraint.java
+++ b/src/main/java/org/apache/xmlbeans/impl/common/IdentityConstraint.java
@@ -287,8 +287,7 @@ void createFieldState(Event e, SchemaType st) {
void remove(Event e) {
// Bubble up key, unique values to keyrefs
for (ConstraintState cs = _next; cs != null; cs = cs._next) {
- if (cs instanceof KeyrefState) {
- KeyrefState kr = (KeyrefState) cs;
+ if (cs instanceof KeyrefState kr) {
if (kr._constraint.getReferencedKey() == this._constraint) {
kr.addKeyValues(_values, true);
}
@@ -345,8 +344,7 @@ void remove(Event e) {
// First check if there are any keys at the same stack level as this
// that may contribute key values to me
for (ConstraintState cs = _next; cs != null && cs != _elementStack._savePoint; cs = cs._next) {
- if (cs instanceof SelectorState) {
- SelectorState sel = (SelectorState) cs;
+ if (cs instanceof SelectorState sel) {
if (sel._constraint == _constraint.getReferencedKey()) {
addKeyValues(sel._values, false);
}
diff --git a/src/main/java/org/apache/xmlbeans/impl/common/Sax2Dom.java b/src/main/java/org/apache/xmlbeans/impl/common/Sax2Dom.java
index e76d7e154..626ec65d5 100644
--- a/src/main/java/org/apache/xmlbeans/impl/common/Sax2Dom.java
+++ b/src/main/java/org/apache/xmlbeans/impl/common/Sax2Dom.java
@@ -55,9 +55,9 @@ public Sax2Dom() throws ParserConfigurationException
public Sax2Dom(Node root) throws ParserConfigurationException
{
_root = root;
- if (root instanceof Document)
+ if (root instanceof Document document)
{
- _document = (Document) root;
+ _document = document;
}
else if (root != null)
{
diff --git a/src/main/java/org/apache/xmlbeans/impl/common/XmlNameImpl.java b/src/main/java/org/apache/xmlbeans/impl/common/XmlNameImpl.java
index 03ade6130..c29f33b94 100644
--- a/src/main/java/org/apache/xmlbeans/impl/common/XmlNameImpl.java
+++ b/src/main/java/org/apache/xmlbeans/impl/common/XmlNameImpl.java
@@ -86,9 +86,7 @@ public final int hashCode() {
public final boolean equals(Object obj) {
if (obj == this) return true;
- if (obj instanceof XMLName) {
- final XMLName name= (XMLName) obj;
-
+ if (obj instanceof XMLName name) {
final String lname = localName;
if (!(lname==null ? name.getLocalName()==null :
lname.equals(name.getLocalName())))
diff --git a/src/main/java/org/apache/xmlbeans/impl/config/BindingConfigImpl.java b/src/main/java/org/apache/xmlbeans/impl/config/BindingConfigImpl.java
index 4f9fc6519..33e674247 100755
--- a/src/main/java/org/apache/xmlbeans/impl/config/BindingConfigImpl.java
+++ b/src/main/java/org/apache/xmlbeans/impl/config/BindingConfigImpl.java
@@ -75,8 +75,7 @@ private BindingConfigImpl(Config[] configs, File[] javaFiles, File[] classpath)
QName name = qnameconfig.getName();
String javaname = qnameconfig.getJavaname();
for (XmlAnySimpleType xmlAnySimpleType : applyto) {
- if (xmlAnySimpleType instanceof Qnametargetenum) {
- Qnametargetenum a = (Qnametargetenum) xmlAnySimpleType;
+ if (xmlAnySimpleType instanceof Qnametargetenum a) {
switch (a.getEnumValue().intValue()) {
case Qnametargetenum.INT_TYPE:
_qnameTypeMap.put(name, javaname);
@@ -170,9 +169,9 @@ private static void recordNamespaceSetting(Object key, String value, Map