diff --git a/.github/build.sh b/.github/build.sh
index 44a7909d1..523abeb87 100755
--- a/.github/build.sh
+++ b/.github/build.sh
@@ -1,4 +1,3 @@
#!/bin/sh
-curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/master/ci-build.sh
-# NB: Only the Linux CI node should deploy build artifacts.
-NO_DEPLOY=$(test "$(uname)" = Linux || echo 1) sh ci-build.sh
+curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/main/ci-build.sh
+sh ci-build.sh
diff --git a/.github/setup.sh b/.github/setup.sh
index f359bbeeb..0ebca586f 100755
--- a/.github/setup.sh
+++ b/.github/setup.sh
@@ -1,3 +1,10 @@
#!/bin/sh
-curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/master/ci-setup-github-actions.sh
+curl -fsLO https://raw.githubusercontent.com/scijava/scijava-scripts/main/ci-setup-github-actions.sh
sh ci-setup-github-actions.sh
+
+# Let the Linux build handle artifact deployment.
+if [ "$(uname)" != Linux ]
+then
+ echo "No deploy -- non-Linux build"
+ echo "NO_DEPLOY=1" >> $GITHUB_ENV
+fi
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 876a620a3..a57c0df0b 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,14 +1,14 @@
name: build
on:
- pull_request:
- branches:
- - master
push:
branches:
- master
tags:
- "*-[0-9]+.*"
+ pull_request:
+ branches:
+ - master
jobs:
build:
@@ -19,15 +19,16 @@ jobs:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Set up Java
- uses: actions/setup-java@v3
+ uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'zulu'
cache: 'maven'
- name: Set up CI environment
run: .github/setup.sh
+ shell: bash
- name: Execute the build
run: .github/build.sh
shell: bash
@@ -36,5 +37,6 @@ jobs:
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
MAVEN_USER: ${{ secrets.MAVEN_USER }}
MAVEN_PASS: ${{ secrets.MAVEN_PASS }}
- OSSRH_PASS: ${{ secrets.OSSRH_PASS }}
+ CENTRAL_USER: ${{ secrets.CENTRAL_USER }}
+ CENTRAL_PASS: ${{ secrets.CENTRAL_PASS }}
SIGNING_ASC: ${{ secrets.SIGNING_ASC }}
diff --git a/LICENSE.txt b/LICENSE.txt
index e37abf5e1..55024a7c5 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2009 - 2024, SciJava developers.
+Copyright (c) 2009 - 2026, SciJava developers.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
diff --git a/pom.xml b/pom.xml
index 468e5842d..c3715d0b5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,12 +5,12 @@
org.scijavapom-scijava
- 37.0.0
+ 43.0.0scijava-common
- 2.99.0-SNAPSHOT
+ 2.100.1-SNAPSHOTSciJava CommonSciJava Common is a shared library for SciJava software. It provides a plugin framework, with an extensible mechanism for service discovery, backed by its own annotation processor, so that plugins can be loaded dynamically. It is used by downstream projects in the SciJava ecosystem, such as ImageJ and SCIFIO.
@@ -134,6 +134,11 @@
https://imagej.net/people/jaywarrickjaywarrick
+
+ Christian Tischer
+ https://imagej.net/people/tischi
+ tischi
+
@@ -218,11 +223,22 @@
exec-maven-plugin
+ index-annotationsprocess-classesjava
+
+ index-test-annotations
+ process-test-classes
+
+ java
+
+
+ test
+
+ org.scijava.annotations.EclipseHelper
diff --git a/src/it/apt-test/pom.xml b/src/it/apt-test/pom.xml
index 0ce0ce63c..c416a3860 100644
--- a/src/it/apt-test/pom.xml
+++ b/src/it/apt-test/pom.xml
@@ -3,7 +3,7 @@
#%L
SciJava Common shared library for SciJava software.
%%
- Copyright (C) 2009 - 2024 SciJava developers.
+ Copyright (C) 2009 - 2026 SciJava developers.
%%
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
diff --git a/src/it/apt-test/setup.bsh b/src/it/apt-test/setup.bsh
index fed9016f3..30380371c 100644
--- a/src/it/apt-test/setup.bsh
+++ b/src/it/apt-test/setup.bsh
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java b/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java
index 86df895da..2d9e5d420 100644
--- a/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java
+++ b/src/it/apt-test/src/main/java/org/scijava/annotation/its/Annotated.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java b/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java
index 451e17e42..1b456f1c3 100644
--- a/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java
+++ b/src/it/apt-test/src/main/java/org/scijava/annotation/its/CustomAnnotation.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/it/apt-test/verify.bsh b/src/it/apt-test/verify.bsh
index a91b6f012..679bbf6ed 100644
--- a/src/it/apt-test/verify.bsh
+++ b/src/it/apt-test/verify.bsh
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/it/settings.xml b/src/it/settings.xml
index 69b227865..b3042e9e1 100644
--- a/src/it/settings.xml
+++ b/src/it/settings.xml
@@ -3,7 +3,7 @@
#%L
SciJava Common shared library for SciJava software.
%%
- Copyright (C) 2009 - 2024 SciJava developers.
+ Copyright (C) 2009 - 2026 SciJava developers.
%%
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/AbstractBasicDetails.java b/src/main/java/org/scijava/AbstractBasicDetails.java
index cea966d7b..75e28c611 100644
--- a/src/main/java/org/scijava/AbstractBasicDetails.java
+++ b/src/main/java/org/scijava/AbstractBasicDetails.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/AbstractContextual.java b/src/main/java/org/scijava/AbstractContextual.java
index 23a9076ba..6d47180bf 100644
--- a/src/main/java/org/scijava/AbstractContextual.java
+++ b/src/main/java/org/scijava/AbstractContextual.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/AbstractGateway.java b/src/main/java/org/scijava/AbstractGateway.java
index d6ee9b0fb..14f066a7f 100644
--- a/src/main/java/org/scijava/AbstractGateway.java
+++ b/src/main/java/org/scijava/AbstractGateway.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/AbstractUIDetails.java b/src/main/java/org/scijava/AbstractUIDetails.java
index 7fd19bfdd..11476a03a 100644
--- a/src/main/java/org/scijava/AbstractUIDetails.java
+++ b/src/main/java/org/scijava/AbstractUIDetails.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/BasicDetails.java b/src/main/java/org/scijava/BasicDetails.java
index de28e93bd..6c37807e6 100644
--- a/src/main/java/org/scijava/BasicDetails.java
+++ b/src/main/java/org/scijava/BasicDetails.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Cancelable.java b/src/main/java/org/scijava/Cancelable.java
index 4b2122560..5bc0fe61c 100644
--- a/src/main/java/org/scijava/Cancelable.java
+++ b/src/main/java/org/scijava/Cancelable.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Context.java b/src/main/java/org/scijava/Context.java
index 561b53fc5..bfb118099 100644
--- a/src/main/java/org/scijava/Context.java
+++ b/src/main/java/org/scijava/Context.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Contextual.java b/src/main/java/org/scijava/Contextual.java
index 9b41674da..f76c7fc0d 100644
--- a/src/main/java/org/scijava/Contextual.java
+++ b/src/main/java/org/scijava/Contextual.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Disposable.java b/src/main/java/org/scijava/Disposable.java
index 7b3db0a86..ac72c90b4 100644
--- a/src/main/java/org/scijava/Disposable.java
+++ b/src/main/java/org/scijava/Disposable.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Gateway.java b/src/main/java/org/scijava/Gateway.java
index fdb8a624d..7cd98413e 100644
--- a/src/main/java/org/scijava/Gateway.java
+++ b/src/main/java/org/scijava/Gateway.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Identifiable.java b/src/main/java/org/scijava/Identifiable.java
index 5e1063ee9..53db16039 100644
--- a/src/main/java/org/scijava/Identifiable.java
+++ b/src/main/java/org/scijava/Identifiable.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Initializable.java b/src/main/java/org/scijava/Initializable.java
index 972a192c9..56aa725ae 100644
--- a/src/main/java/org/scijava/Initializable.java
+++ b/src/main/java/org/scijava/Initializable.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Instantiable.java b/src/main/java/org/scijava/Instantiable.java
index f5dbf14dd..3edca09a4 100644
--- a/src/main/java/org/scijava/Instantiable.java
+++ b/src/main/java/org/scijava/Instantiable.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/InstantiableException.java b/src/main/java/org/scijava/InstantiableException.java
index 087f2321c..0ad031f7b 100644
--- a/src/main/java/org/scijava/InstantiableException.java
+++ b/src/main/java/org/scijava/InstantiableException.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ItemIO.java b/src/main/java/org/scijava/ItemIO.java
index afcfff5be..fa8b68684 100644
--- a/src/main/java/org/scijava/ItemIO.java
+++ b/src/main/java/org/scijava/ItemIO.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ItemVisibility.java b/src/main/java/org/scijava/ItemVisibility.java
index d1d025569..47897a359 100644
--- a/src/main/java/org/scijava/ItemVisibility.java
+++ b/src/main/java/org/scijava/ItemVisibility.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Locatable.java b/src/main/java/org/scijava/Locatable.java
index 1cba5940a..a7da30625 100644
--- a/src/main/java/org/scijava/Locatable.java
+++ b/src/main/java/org/scijava/Locatable.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/MenuEntry.java b/src/main/java/org/scijava/MenuEntry.java
index 7cecc891c..4a2b33bb9 100644
--- a/src/main/java/org/scijava/MenuEntry.java
+++ b/src/main/java/org/scijava/MenuEntry.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/MenuPath.java b/src/main/java/org/scijava/MenuPath.java
index c81406db5..533fd2461 100644
--- a/src/main/java/org/scijava/MenuPath.java
+++ b/src/main/java/org/scijava/MenuPath.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Named.java b/src/main/java/org/scijava/Named.java
index ce2a9c689..9a381ee3a 100644
--- a/src/main/java/org/scijava/Named.java
+++ b/src/main/java/org/scijava/Named.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/NoSuchServiceException.java b/src/main/java/org/scijava/NoSuchServiceException.java
index 412ac0e67..d97d95647 100644
--- a/src/main/java/org/scijava/NoSuchServiceException.java
+++ b/src/main/java/org/scijava/NoSuchServiceException.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/NullContextException.java b/src/main/java/org/scijava/NullContextException.java
index 58f5862fb..794926da9 100644
--- a/src/main/java/org/scijava/NullContextException.java
+++ b/src/main/java/org/scijava/NullContextException.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Optional.java b/src/main/java/org/scijava/Optional.java
index 04d28e792..2ab55b3c9 100644
--- a/src/main/java/org/scijava/Optional.java
+++ b/src/main/java/org/scijava/Optional.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Prioritized.java b/src/main/java/org/scijava/Prioritized.java
index 4031ab296..86bd0691a 100644
--- a/src/main/java/org/scijava/Prioritized.java
+++ b/src/main/java/org/scijava/Prioritized.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Priority.java b/src/main/java/org/scijava/Priority.java
index 7b579848b..69da7767e 100644
--- a/src/main/java/org/scijava/Priority.java
+++ b/src/main/java/org/scijava/Priority.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/SciJava.java b/src/main/java/org/scijava/SciJava.java
index a95841ce0..81375dcd6 100644
--- a/src/main/java/org/scijava/SciJava.java
+++ b/src/main/java/org/scijava/SciJava.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Typed.java b/src/main/java/org/scijava/Typed.java
index 93d9c6339..cfb55d690 100644
--- a/src/main/java/org/scijava/Typed.java
+++ b/src/main/java/org/scijava/Typed.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/UIDetails.java b/src/main/java/org/scijava/UIDetails.java
index c20e67efb..ccf12c261 100644
--- a/src/main/java/org/scijava/UIDetails.java
+++ b/src/main/java/org/scijava/UIDetails.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Validated.java b/src/main/java/org/scijava/Validated.java
index 9873e589b..11835ba5c 100644
--- a/src/main/java/org/scijava/Validated.java
+++ b/src/main/java/org/scijava/Validated.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ValidityProblem.java b/src/main/java/org/scijava/ValidityProblem.java
index 8efd392d4..782bcc642 100644
--- a/src/main/java/org/scijava/ValidityProblem.java
+++ b/src/main/java/org/scijava/ValidityProblem.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/Versioned.java b/src/main/java/org/scijava/Versioned.java
index c146f41ed..6e746dad4 100644
--- a/src/main/java/org/scijava/Versioned.java
+++ b/src/main/java/org/scijava/Versioned.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java
index 12f29e5fc..28fe310a5 100644
--- a/src/main/java/org/scijava/annotations/AbstractIndexWriter.java
+++ b/src/main/java/org/scijava/annotations/AbstractIndexWriter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/annotations/AnnotationCombiner.java b/src/main/java/org/scijava/annotations/AnnotationCombiner.java
index 7588b762b..9b152b924 100644
--- a/src/main/java/org/scijava/annotations/AnnotationCombiner.java
+++ b/src/main/java/org/scijava/annotations/AnnotationCombiner.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/annotations/AnnotationProcessor.java b/src/main/java/org/scijava/annotations/AnnotationProcessor.java
index 8e4e1fc65..8355dcda9 100644
--- a/src/main/java/org/scijava/annotations/AnnotationProcessor.java
+++ b/src/main/java/org/scijava/annotations/AnnotationProcessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java
index 10682ca6a..915d9148f 100644
--- a/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java
+++ b/src/main/java/org/scijava/annotations/ByteCodeAnalyzer.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/annotations/DirectoryIndexer.java b/src/main/java/org/scijava/annotations/DirectoryIndexer.java
index ab0024069..ac6be8fcd 100644
--- a/src/main/java/org/scijava/annotations/DirectoryIndexer.java
+++ b/src/main/java/org/scijava/annotations/DirectoryIndexer.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/annotations/EclipseHelper.java b/src/main/java/org/scijava/annotations/EclipseHelper.java
index 0d4765e9e..67f17ff7d 100644
--- a/src/main/java/org/scijava/annotations/EclipseHelper.java
+++ b/src/main/java/org/scijava/annotations/EclipseHelper.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/annotations/Index.java b/src/main/java/org/scijava/annotations/Index.java
index a7a760df2..244b00d37 100644
--- a/src/main/java/org/scijava/annotations/Index.java
+++ b/src/main/java/org/scijava/annotations/Index.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/annotations/IndexItem.java b/src/main/java/org/scijava/annotations/IndexItem.java
index dcefa9f88..e5265fc21 100644
--- a/src/main/java/org/scijava/annotations/IndexItem.java
+++ b/src/main/java/org/scijava/annotations/IndexItem.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/annotations/IndexReader.java b/src/main/java/org/scijava/annotations/IndexReader.java
index 74dd5c65d..4eab67552 100644
--- a/src/main/java/org/scijava/annotations/IndexReader.java
+++ b/src/main/java/org/scijava/annotations/IndexReader.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/annotations/Indexable.java b/src/main/java/org/scijava/annotations/Indexable.java
index f1c386bcc..325739efd 100644
--- a/src/main/java/org/scijava/annotations/Indexable.java
+++ b/src/main/java/org/scijava/annotations/Indexable.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java
index ce6619f24..9df62abcc 100644
--- a/src/main/java/org/scijava/annotations/legacy/LegacyReader.java
+++ b/src/main/java/org/scijava/annotations/legacy/LegacyReader.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/app/AbstractApp.java b/src/main/java/org/scijava/app/AbstractApp.java
index 96b62626a..33ff29ff4 100644
--- a/src/main/java/org/scijava/app/AbstractApp.java
+++ b/src/main/java/org/scijava/app/AbstractApp.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/app/App.java b/src/main/java/org/scijava/app/App.java
index a18f8366e..95cf249e7 100644
--- a/src/main/java/org/scijava/app/App.java
+++ b/src/main/java/org/scijava/app/App.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/app/AppService.java b/src/main/java/org/scijava/app/AppService.java
index c6ec110b6..2d9c7e3de 100644
--- a/src/main/java/org/scijava/app/AppService.java
+++ b/src/main/java/org/scijava/app/AppService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/app/DefaultAppService.java b/src/main/java/org/scijava/app/DefaultAppService.java
index 2906b72bb..9c8afc0c3 100644
--- a/src/main/java/org/scijava/app/DefaultAppService.java
+++ b/src/main/java/org/scijava/app/DefaultAppService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/app/DefaultStatusService.java b/src/main/java/org/scijava/app/DefaultStatusService.java
index f93bbba71..1b68a27ba 100644
--- a/src/main/java/org/scijava/app/DefaultStatusService.java
+++ b/src/main/java/org/scijava/app/DefaultStatusService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/app/SciJavaApp.java b/src/main/java/org/scijava/app/SciJavaApp.java
index 4af7d69c5..b7604ca14 100644
--- a/src/main/java/org/scijava/app/SciJavaApp.java
+++ b/src/main/java/org/scijava/app/SciJavaApp.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/app/StatusService.java b/src/main/java/org/scijava/app/StatusService.java
index 3a28d4a52..70d0edf75 100644
--- a/src/main/java/org/scijava/app/StatusService.java
+++ b/src/main/java/org/scijava/app/StatusService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/app/event/StatusEvent.java b/src/main/java/org/scijava/app/event/StatusEvent.java
index cabc032f8..653aefb8e 100644
--- a/src/main/java/org/scijava/app/event/StatusEvent.java
+++ b/src/main/java/org/scijava/app/event/StatusEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/cache/CacheService.java b/src/main/java/org/scijava/cache/CacheService.java
index afc2a4a6e..ca5808918 100644
--- a/src/main/java/org/scijava/cache/CacheService.java
+++ b/src/main/java/org/scijava/cache/CacheService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/cache/DefaultCacheService.java b/src/main/java/org/scijava/cache/DefaultCacheService.java
index 4fddf6734..667ffdb30 100644
--- a/src/main/java/org/scijava/cache/DefaultCacheService.java
+++ b/src/main/java/org/scijava/cache/DefaultCacheService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/Command.java b/src/main/java/org/scijava/command/Command.java
index 456736f68..17a37ebb1 100644
--- a/src/main/java/org/scijava/command/Command.java
+++ b/src/main/java/org/scijava/command/Command.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/CommandInfo.java b/src/main/java/org/scijava/command/CommandInfo.java
index 78913df7a..f25c213db 100644
--- a/src/main/java/org/scijava/command/CommandInfo.java
+++ b/src/main/java/org/scijava/command/CommandInfo.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/CommandModule.java b/src/main/java/org/scijava/command/CommandModule.java
index 0d8201e18..226edc678 100644
--- a/src/main/java/org/scijava/command/CommandModule.java
+++ b/src/main/java/org/scijava/command/CommandModule.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/CommandModuleItem.java b/src/main/java/org/scijava/command/CommandModuleItem.java
index ec30d678a..079193311 100644
--- a/src/main/java/org/scijava/command/CommandModuleItem.java
+++ b/src/main/java/org/scijava/command/CommandModuleItem.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/CommandService.java b/src/main/java/org/scijava/command/CommandService.java
index 6d1495ebb..9cd4f5841 100644
--- a/src/main/java/org/scijava/command/CommandService.java
+++ b/src/main/java/org/scijava/command/CommandService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/ContextCommand.java b/src/main/java/org/scijava/command/ContextCommand.java
index 3588dffac..c40649d53 100644
--- a/src/main/java/org/scijava/command/ContextCommand.java
+++ b/src/main/java/org/scijava/command/ContextCommand.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/DefaultCommandService.java b/src/main/java/org/scijava/command/DefaultCommandService.java
index 00275c0c1..29756debb 100644
--- a/src/main/java/org/scijava/command/DefaultCommandService.java
+++ b/src/main/java/org/scijava/command/DefaultCommandService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/DynamicCommand.java b/src/main/java/org/scijava/command/DynamicCommand.java
index 8fccd9f20..5cc3ab4b1 100644
--- a/src/main/java/org/scijava/command/DynamicCommand.java
+++ b/src/main/java/org/scijava/command/DynamicCommand.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/DynamicCommandInfo.java b/src/main/java/org/scijava/command/DynamicCommandInfo.java
index 9d85a1235..06c4a16e7 100644
--- a/src/main/java/org/scijava/command/DynamicCommandInfo.java
+++ b/src/main/java/org/scijava/command/DynamicCommandInfo.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/Inputs.java b/src/main/java/org/scijava/command/Inputs.java
index 18272bbbb..b2f5e4217 100644
--- a/src/main/java/org/scijava/command/Inputs.java
+++ b/src/main/java/org/scijava/command/Inputs.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/Interactive.java b/src/main/java/org/scijava/command/Interactive.java
index b1f3f999d..9714f4a6e 100644
--- a/src/main/java/org/scijava/command/Interactive.java
+++ b/src/main/java/org/scijava/command/Interactive.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/InteractiveCommand.java b/src/main/java/org/scijava/command/InteractiveCommand.java
index 49925091a..b45e3f21f 100644
--- a/src/main/java/org/scijava/command/InteractiveCommand.java
+++ b/src/main/java/org/scijava/command/InteractiveCommand.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/ModuleCommand.java b/src/main/java/org/scijava/command/ModuleCommand.java
index ac5b780b7..c09ad922c 100644
--- a/src/main/java/org/scijava/command/ModuleCommand.java
+++ b/src/main/java/org/scijava/command/ModuleCommand.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/Previewable.java b/src/main/java/org/scijava/command/Previewable.java
index da9308f5a..4fbeaebb9 100644
--- a/src/main/java/org/scijava/command/Previewable.java
+++ b/src/main/java/org/scijava/command/Previewable.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/UnimplementedCommand.java b/src/main/java/org/scijava/command/UnimplementedCommand.java
index eb8804716..f1103751a 100644
--- a/src/main/java/org/scijava/command/UnimplementedCommand.java
+++ b/src/main/java/org/scijava/command/UnimplementedCommand.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/console/RunArgument.java b/src/main/java/org/scijava/command/console/RunArgument.java
index 86ffa6df7..b2529d279 100644
--- a/src/main/java/org/scijava/command/console/RunArgument.java
+++ b/src/main/java/org/scijava/command/console/RunArgument.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/command/run/CommandCodeRunner.java b/src/main/java/org/scijava/command/run/CommandCodeRunner.java
index 5b843323e..bc8550275 100644
--- a/src/main/java/org/scijava/command/run/CommandCodeRunner.java
+++ b/src/main/java/org/scijava/command/run/CommandCodeRunner.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/console/AbstractConsoleArgument.java b/src/main/java/org/scijava/console/AbstractConsoleArgument.java
index 811dabf8c..76040544d 100644
--- a/src/main/java/org/scijava/console/AbstractConsoleArgument.java
+++ b/src/main/java/org/scijava/console/AbstractConsoleArgument.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/console/ConsoleArgument.java b/src/main/java/org/scijava/console/ConsoleArgument.java
index edfa4ea0c..44d058211 100644
--- a/src/main/java/org/scijava/console/ConsoleArgument.java
+++ b/src/main/java/org/scijava/console/ConsoleArgument.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/console/ConsoleService.java b/src/main/java/org/scijava/console/ConsoleService.java
index 23c5b9a24..3003892a4 100644
--- a/src/main/java/org/scijava/console/ConsoleService.java
+++ b/src/main/java/org/scijava/console/ConsoleService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/console/ConsoleUtils.java b/src/main/java/org/scijava/console/ConsoleUtils.java
index 6314e737e..2f62f0c14 100644
--- a/src/main/java/org/scijava/console/ConsoleUtils.java
+++ b/src/main/java/org/scijava/console/ConsoleUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/console/DefaultConsoleService.java b/src/main/java/org/scijava/console/DefaultConsoleService.java
index 535deb088..b3a1ef64b 100644
--- a/src/main/java/org/scijava/console/DefaultConsoleService.java
+++ b/src/main/java/org/scijava/console/DefaultConsoleService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/console/MultiOutputStream.java b/src/main/java/org/scijava/console/MultiOutputStream.java
index 043e5b439..a8d8238fd 100644
--- a/src/main/java/org/scijava/console/MultiOutputStream.java
+++ b/src/main/java/org/scijava/console/MultiOutputStream.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/console/MultiPrintStream.java b/src/main/java/org/scijava/console/MultiPrintStream.java
index e1f2a11c2..c27df7e9b 100644
--- a/src/main/java/org/scijava/console/MultiPrintStream.java
+++ b/src/main/java/org/scijava/console/MultiPrintStream.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/console/OutputEvent.java b/src/main/java/org/scijava/console/OutputEvent.java
index 762b7f249..c408bcaa3 100644
--- a/src/main/java/org/scijava/console/OutputEvent.java
+++ b/src/main/java/org/scijava/console/OutputEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/console/OutputListener.java b/src/main/java/org/scijava/console/OutputListener.java
index 640a9dbc7..b1543d339 100644
--- a/src/main/java/org/scijava/console/OutputListener.java
+++ b/src/main/java/org/scijava/console/OutputListener.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/console/SystemPropertyArgument.java b/src/main/java/org/scijava/console/SystemPropertyArgument.java
index 40590ccd0..33ba2771f 100644
--- a/src/main/java/org/scijava/console/SystemPropertyArgument.java
+++ b/src/main/java/org/scijava/console/SystemPropertyArgument.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/AbstractConvertService.java b/src/main/java/org/scijava/convert/AbstractConvertService.java
index 0388e601c..c3a56ae47 100644
--- a/src/main/java/org/scijava/convert/AbstractConvertService.java
+++ b/src/main/java/org/scijava/convert/AbstractConvertService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/AbstractConverter.java b/src/main/java/org/scijava/convert/AbstractConverter.java
index c80d2fbef..c6132c396 100644
--- a/src/main/java/org/scijava/convert/AbstractConverter.java
+++ b/src/main/java/org/scijava/convert/AbstractConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java
index 909c6f0da..97b8b23ea 100644
--- a/src/main/java/org/scijava/convert/AbstractDelegateConverter.java
+++ b/src/main/java/org/scijava/convert/AbstractDelegateConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/ArrayConverters.java b/src/main/java/org/scijava/convert/ArrayConverters.java
index ab9cb24a8..0c16551a0 100644
--- a/src/main/java/org/scijava/convert/ArrayConverters.java
+++ b/src/main/java/org/scijava/convert/ArrayConverters.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/ArrayToStringConverter.java b/src/main/java/org/scijava/convert/ArrayToStringConverter.java
index 1cf448747..e1e3ce96b 100644
--- a/src/main/java/org/scijava/convert/ArrayToStringConverter.java
+++ b/src/main/java/org/scijava/convert/ArrayToStringConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/CastingConverter.java b/src/main/java/org/scijava/convert/CastingConverter.java
index 27915c40d..3b5a4e91f 100644
--- a/src/main/java/org/scijava/convert/CastingConverter.java
+++ b/src/main/java/org/scijava/convert/CastingConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/ConversionRequest.java b/src/main/java/org/scijava/convert/ConversionRequest.java
index 3486e9a5f..c4ee0fd2b 100644
--- a/src/main/java/org/scijava/convert/ConversionRequest.java
+++ b/src/main/java/org/scijava/convert/ConversionRequest.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/ConvertService.java b/src/main/java/org/scijava/convert/ConvertService.java
index 14e65bae2..ff3309baf 100644
--- a/src/main/java/org/scijava/convert/ConvertService.java
+++ b/src/main/java/org/scijava/convert/ConvertService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/Converter.java b/src/main/java/org/scijava/convert/Converter.java
index 3191be092..1578a96dd 100644
--- a/src/main/java/org/scijava/convert/Converter.java
+++ b/src/main/java/org/scijava/convert/Converter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/DefaultConvertService.java b/src/main/java/org/scijava/convert/DefaultConvertService.java
index 434940368..2ddd292ad 100644
--- a/src/main/java/org/scijava/convert/DefaultConvertService.java
+++ b/src/main/java/org/scijava/convert/DefaultConvertService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/DefaultConverter.java b/src/main/java/org/scijava/convert/DefaultConverter.java
index 15064c8d7..c99c5a889 100644
--- a/src/main/java/org/scijava/convert/DefaultConverter.java
+++ b/src/main/java/org/scijava/convert/DefaultConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/FileListConverters.java b/src/main/java/org/scijava/convert/FileListConverters.java
index ed3da126e..8b5d86b73 100644
--- a/src/main/java/org/scijava/convert/FileListConverters.java
+++ b/src/main/java/org/scijava/convert/FileListConverters.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -82,6 +82,8 @@ public T convert(final Object src, final Class dest) {
final String[] tokens = StringUtils.splitUnquoted((String) src, ",");
final List fileList = new ArrayList<>();
for (final String filePath : tokens) {
+ if ( filePath.isEmpty() )
+ continue;
fileList.add(new File(filePath.replaceAll("^\"|\"$", "")));
}
return (T) fileList.toArray(new File[fileList.size()]);
diff --git a/src/main/java/org/scijava/convert/FileToPathConverter.java b/src/main/java/org/scijava/convert/FileToPathConverter.java
index 7d091b9e0..9c8717286 100644
--- a/src/main/java/org/scijava/convert/FileToPathConverter.java
+++ b/src/main/java/org/scijava/convert/FileToPathConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/NullConverter.java b/src/main/java/org/scijava/convert/NullConverter.java
index 9719d6afe..5c91943db 100644
--- a/src/main/java/org/scijava/convert/NullConverter.java
+++ b/src/main/java/org/scijava/convert/NullConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/NumberConverters.java b/src/main/java/org/scijava/convert/NumberConverters.java
index 05aa71c7c..4046d6503 100644
--- a/src/main/java/org/scijava/convert/NumberConverters.java
+++ b/src/main/java/org/scijava/convert/NumberConverters.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java
index 889cf75e9..910d5a02a 100644
--- a/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToBigDecimalConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java
index 80196b63a..ba3279439 100644
--- a/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToBigIntegerConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java
index 751badc6b..302ea4d22 100644
--- a/src/main/java/org/scijava/convert/NumberToDoubleConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToDoubleConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/NumberToFloatConverter.java b/src/main/java/org/scijava/convert/NumberToFloatConverter.java
index 19579a857..afd969dbe 100644
--- a/src/main/java/org/scijava/convert/NumberToFloatConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToFloatConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java
index 149962f42..e68c4cf29 100644
--- a/src/main/java/org/scijava/convert/NumberToIntegerConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToIntegerConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/NumberToLongConverter.java b/src/main/java/org/scijava/convert/NumberToLongConverter.java
index 7f7eef462..40c2c0bb8 100644
--- a/src/main/java/org/scijava/convert/NumberToLongConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToLongConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/NumberToNumberConverter.java b/src/main/java/org/scijava/convert/NumberToNumberConverter.java
index d3b3102fe..40035dc1f 100644
--- a/src/main/java/org/scijava/convert/NumberToNumberConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToNumberConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/NumberToShortConverter.java b/src/main/java/org/scijava/convert/NumberToShortConverter.java
index aed496f49..eda48e07f 100644
--- a/src/main/java/org/scijava/convert/NumberToShortConverter.java
+++ b/src/main/java/org/scijava/convert/NumberToShortConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/PathToFileConverter.java b/src/main/java/org/scijava/convert/PathToFileConverter.java
index 6c221f905..cc8aa967d 100644
--- a/src/main/java/org/scijava/convert/PathToFileConverter.java
+++ b/src/main/java/org/scijava/convert/PathToFileConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java
index 514077e15..6292aee6d 100644
--- a/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java
+++ b/src/main/java/org/scijava/convert/PrimitiveArrayUnwrapper.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java
index dedcc8092..f022900a8 100644
--- a/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java
+++ b/src/main/java/org/scijava/convert/PrimitiveArrayWrapper.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/StringToArrayConverter.java b/src/main/java/org/scijava/convert/StringToArrayConverter.java
index 18e6a38d6..deeb58010 100644
--- a/src/main/java/org/scijava/convert/StringToArrayConverter.java
+++ b/src/main/java/org/scijava/convert/StringToArrayConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/convert/StringToNumberConverter.java b/src/main/java/org/scijava/convert/StringToNumberConverter.java
index 817c0c37a..00a3f2640 100644
--- a/src/main/java/org/scijava/convert/StringToNumberConverter.java
+++ b/src/main/java/org/scijava/convert/StringToNumberConverter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/AbstractDisplay.java b/src/main/java/org/scijava/display/AbstractDisplay.java
index 02a44cd6d..e190f844c 100644
--- a/src/main/java/org/scijava/display/AbstractDisplay.java
+++ b/src/main/java/org/scijava/display/AbstractDisplay.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java
index 488cc2249..5997d66e8 100644
--- a/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java
+++ b/src/main/java/org/scijava/display/ActiveDisplayPreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/DefaultDisplay.java b/src/main/java/org/scijava/display/DefaultDisplay.java
index b7058f5e9..8b7755d44 100644
--- a/src/main/java/org/scijava/display/DefaultDisplay.java
+++ b/src/main/java/org/scijava/display/DefaultDisplay.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/DefaultDisplayService.java b/src/main/java/org/scijava/display/DefaultDisplayService.java
index f91dddc14..23a0c9c7f 100644
--- a/src/main/java/org/scijava/display/DefaultDisplayService.java
+++ b/src/main/java/org/scijava/display/DefaultDisplayService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/DefaultTextDisplay.java b/src/main/java/org/scijava/display/DefaultTextDisplay.java
index df16c01cc..380507bdf 100644
--- a/src/main/java/org/scijava/display/DefaultTextDisplay.java
+++ b/src/main/java/org/scijava/display/DefaultTextDisplay.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/Display.java b/src/main/java/org/scijava/display/Display.java
index 77921d195..2221db211 100644
--- a/src/main/java/org/scijava/display/Display.java
+++ b/src/main/java/org/scijava/display/Display.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/DisplayPostprocessor.java b/src/main/java/org/scijava/display/DisplayPostprocessor.java
index 9a69d7f8e..7a6c54264 100644
--- a/src/main/java/org/scijava/display/DisplayPostprocessor.java
+++ b/src/main/java/org/scijava/display/DisplayPostprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/DisplayService.java b/src/main/java/org/scijava/display/DisplayService.java
index 23acbf0e0..fcc13e0a0 100644
--- a/src/main/java/org/scijava/display/DisplayService.java
+++ b/src/main/java/org/scijava/display/DisplayService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/Displayable.java b/src/main/java/org/scijava/display/Displayable.java
index ae875c217..67c0e26ee 100644
--- a/src/main/java/org/scijava/display/Displayable.java
+++ b/src/main/java/org/scijava/display/Displayable.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/TextDisplay.java b/src/main/java/org/scijava/display/TextDisplay.java
index 29eb39843..0ada43aad 100644
--- a/src/main/java/org/scijava/display/TextDisplay.java
+++ b/src/main/java/org/scijava/display/TextDisplay.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java
index 0c6a12a07..1fe30c96c 100644
--- a/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java
+++ b/src/main/java/org/scijava/display/event/DisplayActivatedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java
index bd6f77560..347557f2f 100644
--- a/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java
+++ b/src/main/java/org/scijava/display/event/DisplayCreatedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java
index c1420e4d5..125ce25e3 100644
--- a/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java
+++ b/src/main/java/org/scijava/display/event/DisplayDeletedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/DisplayEvent.java b/src/main/java/org/scijava/display/event/DisplayEvent.java
index 95e90c7cb..99deab3ea 100644
--- a/src/main/java/org/scijava/display/event/DisplayEvent.java
+++ b/src/main/java/org/scijava/display/event/DisplayEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java
index 1be4cb353..cbb1fc3ab 100644
--- a/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java
+++ b/src/main/java/org/scijava/display/event/DisplayUpdatedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/InputEvent.java b/src/main/java/org/scijava/display/event/input/InputEvent.java
index d515f9c0a..4e278a185 100644
--- a/src/main/java/org/scijava/display/event/input/InputEvent.java
+++ b/src/main/java/org/scijava/display/event/input/InputEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/KyEvent.java b/src/main/java/org/scijava/display/event/input/KyEvent.java
index ddc2f3046..058c986dc 100644
--- a/src/main/java/org/scijava/display/event/input/KyEvent.java
+++ b/src/main/java/org/scijava/display/event/input/KyEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java
index 6cafacc77..e74dae63d 100644
--- a/src/main/java/org/scijava/display/event/input/KyPressedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/KyPressedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java
index acc1bdf9d..15659de2d 100644
--- a/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/KyReleasedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java
index 398fe027b..9f5d96c6e 100644
--- a/src/main/java/org/scijava/display/event/input/KyTypedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/KyTypedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java
index ed1d4eae4..09a91dabd 100644
--- a/src/main/java/org/scijava/display/event/input/MsButtonEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsButtonEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java
index 62f9bd622..f13524996 100644
--- a/src/main/java/org/scijava/display/event/input/MsClickedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsClickedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java
index ec6595127..f683dc4b9 100644
--- a/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsDraggedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java
index de13c50ee..310bcb444 100644
--- a/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsEnteredEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/MsEvent.java b/src/main/java/org/scijava/display/event/input/MsEvent.java
index 3836bb65c..b370e1e79 100644
--- a/src/main/java/org/scijava/display/event/input/MsEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java
index 28584e4e1..921e674f1 100644
--- a/src/main/java/org/scijava/display/event/input/MsExitedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsExitedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java
index f8be96df2..658b1b904 100644
--- a/src/main/java/org/scijava/display/event/input/MsMovedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsMovedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java
index c45b5991d..ea2593493 100644
--- a/src/main/java/org/scijava/display/event/input/MsPressedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsPressedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java
index 2ad017f9c..61786d727 100644
--- a/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsReleasedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java
index 0c723db58..32d92bd2f 100644
--- a/src/main/java/org/scijava/display/event/input/MsWheelEvent.java
+++ b/src/main/java/org/scijava/display/event/input/MsWheelEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java
index a51e7132b..f8c81ec30 100644
--- a/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinActivatedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java
index b54bae090..24476f5aa 100644
--- a/src/main/java/org/scijava/display/event/window/WinClosedEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinClosedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java
index 4bf578d83..ea6192681 100644
--- a/src/main/java/org/scijava/display/event/window/WinClosingEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinClosingEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java
index baceef2f0..8a27cfdce 100644
--- a/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinDeactivatedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java
index 882058c7a..b6f620918 100644
--- a/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinDeiconifiedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/window/WinEvent.java b/src/main/java/org/scijava/display/event/window/WinEvent.java
index 75a4714ea..8190bfcde 100644
--- a/src/main/java/org/scijava/display/event/window/WinEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java
index 731cae148..044182b2f 100644
--- a/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinIconifiedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java
index 4ac6abb44..4f10240f0 100644
--- a/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java
+++ b/src/main/java/org/scijava/display/event/window/WinOpenedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/download/DefaultDownloadService.java b/src/main/java/org/scijava/download/DefaultDownloadService.java
index 6775b0bc0..44c1b9aac 100644
--- a/src/main/java/org/scijava/download/DefaultDownloadService.java
+++ b/src/main/java/org/scijava/download/DefaultDownloadService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/download/DiskLocationCache.java b/src/main/java/org/scijava/download/DiskLocationCache.java
index eb9f1f8a1..ed576b4c4 100644
--- a/src/main/java/org/scijava/download/DiskLocationCache.java
+++ b/src/main/java/org/scijava/download/DiskLocationCache.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/download/Download.java b/src/main/java/org/scijava/download/Download.java
index 313bc5840..f311000b4 100644
--- a/src/main/java/org/scijava/download/Download.java
+++ b/src/main/java/org/scijava/download/Download.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/download/DownloadService.java b/src/main/java/org/scijava/download/DownloadService.java
index 7410aa1c5..ecf576475 100644
--- a/src/main/java/org/scijava/download/DownloadService.java
+++ b/src/main/java/org/scijava/download/DownloadService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/download/LocationCache.java b/src/main/java/org/scijava/download/LocationCache.java
index 30da5a620..3a5f7c031 100644
--- a/src/main/java/org/scijava/download/LocationCache.java
+++ b/src/main/java/org/scijava/download/LocationCache.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/download/MultiWriteHandle.java b/src/main/java/org/scijava/download/MultiWriteHandle.java
index b6a7c6e1d..4dd40b874 100644
--- a/src/main/java/org/scijava/download/MultiWriteHandle.java
+++ b/src/main/java/org/scijava/download/MultiWriteHandle.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/event/ContextCreatedEvent.java b/src/main/java/org/scijava/event/ContextCreatedEvent.java
index 8f6de90ee..c279e9a7e 100644
--- a/src/main/java/org/scijava/event/ContextCreatedEvent.java
+++ b/src/main/java/org/scijava/event/ContextCreatedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/event/ContextDisposingEvent.java b/src/main/java/org/scijava/event/ContextDisposingEvent.java
index 4f161ce33..570c0974c 100644
--- a/src/main/java/org/scijava/event/ContextDisposingEvent.java
+++ b/src/main/java/org/scijava/event/ContextDisposingEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/event/DefaultEventBus.java b/src/main/java/org/scijava/event/DefaultEventBus.java
index 8d3f91745..5587f6d59 100644
--- a/src/main/java/org/scijava/event/DefaultEventBus.java
+++ b/src/main/java/org/scijava/event/DefaultEventBus.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/event/DefaultEventHistory.java b/src/main/java/org/scijava/event/DefaultEventHistory.java
index 0847b9b7f..4b94b8bc3 100644
--- a/src/main/java/org/scijava/event/DefaultEventHistory.java
+++ b/src/main/java/org/scijava/event/DefaultEventHistory.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/event/DefaultEventService.java b/src/main/java/org/scijava/event/DefaultEventService.java
index 30194744d..3eca42db0 100644
--- a/src/main/java/org/scijava/event/DefaultEventService.java
+++ b/src/main/java/org/scijava/event/DefaultEventService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/event/EventDetails.java b/src/main/java/org/scijava/event/EventDetails.java
index be2bd9494..5e9344b24 100644
--- a/src/main/java/org/scijava/event/EventDetails.java
+++ b/src/main/java/org/scijava/event/EventDetails.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/event/EventHandler.java b/src/main/java/org/scijava/event/EventHandler.java
index 628e9a7a4..fa59a2a50 100644
--- a/src/main/java/org/scijava/event/EventHandler.java
+++ b/src/main/java/org/scijava/event/EventHandler.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/event/EventHistory.java b/src/main/java/org/scijava/event/EventHistory.java
index f1b49e309..7caaaf022 100644
--- a/src/main/java/org/scijava/event/EventHistory.java
+++ b/src/main/java/org/scijava/event/EventHistory.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/event/EventHistoryListener.java b/src/main/java/org/scijava/event/EventHistoryListener.java
index a0da0e664..30a305c83 100644
--- a/src/main/java/org/scijava/event/EventHistoryListener.java
+++ b/src/main/java/org/scijava/event/EventHistoryListener.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/event/EventService.java b/src/main/java/org/scijava/event/EventService.java
index 2a7f6d95b..1b0907f7a 100644
--- a/src/main/java/org/scijava/event/EventService.java
+++ b/src/main/java/org/scijava/event/EventService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/event/EventSubscriber.java b/src/main/java/org/scijava/event/EventSubscriber.java
index 7bcef12d3..9dcd25d94 100644
--- a/src/main/java/org/scijava/event/EventSubscriber.java
+++ b/src/main/java/org/scijava/event/EventSubscriber.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/event/SciJavaEvent.java b/src/main/java/org/scijava/event/SciJavaEvent.java
index b4c8343d3..4e51d775f 100644
--- a/src/main/java/org/scijava/event/SciJavaEvent.java
+++ b/src/main/java/org/scijava/event/SciJavaEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/event/bushe/AbstractProxySubscriber.java b/src/main/java/org/scijava/event/bushe/AbstractProxySubscriber.java
index f0db8aac1..bd745a92c 100644
--- a/src/main/java/org/scijava/event/bushe/AbstractProxySubscriber.java
+++ b/src/main/java/org/scijava/event/bushe/AbstractProxySubscriber.java
@@ -1,9 +1,9 @@
package org.scijava.event.bushe;
import java.lang.ref.WeakReference;
-import java.lang.reflect.Method;
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
/**
* Common base class for EventService Proxies.
@@ -104,18 +104,26 @@ protected boolean retryReflectiveCallUsingAccessibleObject(Object[] args, Method
AccessibleObject[] accessibleMethod = {subscriptionMethod};
try {
AccessibleObject.setAccessible(accessibleMethod, true);
- Object returnValue = subscriptionMethod.invoke(obj, args);
- return Boolean.valueOf(returnValue+"");
} catch (SecurityException ex) {
+ // SecurityManager (Java 8 and earlier) denied setAccessible
+ accessibleTriedAndFailed = true;
+ } catch (RuntimeException ex) {
+ // InaccessibleObjectException (Java 9+) or similar denied setAccessible
accessibleTriedAndFailed = true;
- } catch (InvocationTargetException e1) {
- throw new RuntimeException(message, e);
- } catch (IllegalAccessException e1) {
- throw new RuntimeException(message, e);
+ }
+ if (!accessibleTriedAndFailed) {
+ try {
+ Object returnValue = subscriptionMethod.invoke(obj, args);
+ return Boolean.valueOf(returnValue+"");
+ } catch (InvocationTargetException e1) {
+ throw new RuntimeException(message, e);
+ } catch (IllegalAccessException e1) {
+ throw new RuntimeException(message, e);
+ }
}
}
if (accessibleTriedAndFailed) {
- message = message + ". An attempt was made to make the method accessible, but the SecurityManager denied the attempt.";
+ message = message + ". An attempt was made to make the method accessible, but access was denied.";
}
throw new RuntimeException(message, e);
}
diff --git a/src/main/java/org/scijava/input/Accelerator.java b/src/main/java/org/scijava/input/Accelerator.java
index ffa6ca9ae..73878ca15 100644
--- a/src/main/java/org/scijava/input/Accelerator.java
+++ b/src/main/java/org/scijava/input/Accelerator.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/input/DefaultInputService.java b/src/main/java/org/scijava/input/DefaultInputService.java
index 3f9f9b03b..392dc250d 100644
--- a/src/main/java/org/scijava/input/DefaultInputService.java
+++ b/src/main/java/org/scijava/input/DefaultInputService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/input/InputModifiers.java b/src/main/java/org/scijava/input/InputModifiers.java
index dc1fd6095..50dba7820 100644
--- a/src/main/java/org/scijava/input/InputModifiers.java
+++ b/src/main/java/org/scijava/input/InputModifiers.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/input/InputService.java b/src/main/java/org/scijava/input/InputService.java
index 8bb2ea10a..0c7adae95 100644
--- a/src/main/java/org/scijava/input/InputService.java
+++ b/src/main/java/org/scijava/input/InputService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/input/KeyCode.java b/src/main/java/org/scijava/input/KeyCode.java
index c7207eeb3..a8eeccaad 100644
--- a/src/main/java/org/scijava/input/KeyCode.java
+++ b/src/main/java/org/scijava/input/KeyCode.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -52,7 +52,7 @@ public enum KeyCode {
CANCEL(0x03),
/** Clear. */
- CLEAR(0x0C),
+ CLEAR(0x0c),
/** Shift (left or right). */
SHIFT(0x10),
@@ -70,7 +70,7 @@ public enum KeyCode {
CAPS_LOCK(0x14),
/** Escape. */
- ESCAPE(0x1B),
+ ESCAPE(0x1b),
/** Space (' '). */
SPACE(0x20),
@@ -100,16 +100,16 @@ public enum KeyCode {
DOWN(0x28),
/** Comma (','). */
- COMMA(0x2C),
+ COMMA(0x2c),
/** Minus ('-'). */
- MINUS(0x2D),
+ MINUS(0x2d),
/** Period ('.'). */
- PERIOD(0x2E),
+ PERIOD(0x2e),
/** Forward slash ('/'). */
- SLASH(0x2F),
+ SLASH(0x2f),
/** Zero ('0', non-numpad). */
NUM0(0x30),
@@ -142,10 +142,10 @@ public enum KeyCode {
NUM9(0x39),
/** Semicolon (';'). */
- SEMICOLON(0x3B),
+ SEMICOLON(0x3b),
/** Equals ('='). */
- EQUALS(0x3D),
+ EQUALS(0x3d),
/** The letter A. */
A(0x41),
@@ -175,22 +175,22 @@ public enum KeyCode {
I(0x49),
/** The letter J. */
- J(0x4A),
+ J(0x4a),
/** The letter K. */
- K(0x4B),
+ K(0x4b),
/** The letter L. */
- L(0x4C),
+ L(0x4c),
/** The letter M. */
- M(0x4D),
+ M(0x4d),
/** The letter N. */
- N(0x4E),
+ N(0x4e),
/** The letter O. */
- O(0x4F),
+ O(0x4f),
/** The letter P. */
P(0x50),
@@ -223,16 +223,16 @@ public enum KeyCode {
Y(0x59),
/** The letter Z. */
- Z(0x5A),
+ Z(0x5a),
/** Left bracket ('['). */
- OPEN_BRACKET(0x5B),
+ OPEN_BRACKET(0x5b),
/** Backslash ('\\'). */
- BACK_SLASH(0x5C),
+ BACK_SLASH(0x5c),
/** Right bracket (']'). */
- CLOSE_BRACKET(0x5D),
+ CLOSE_BRACKET(0x5d),
/** Zero ('0') on numeric keypad. */
NUMPAD_0(0x60),
@@ -265,24 +265,24 @@ public enum KeyCode {
NUMPAD_9(0x69),
/** Asterisk ('*') on numeric keypad. */
- NUMPAD_ASTERISK(0x6A),
+ NUMPAD_ASTERISK(0x6a),
/** Plus ('+') on numeric keypad. */
- NUMPAD_PLUS(0x6B),
+ NUMPAD_PLUS(0x6b),
- NUMPAD_SEPARATOR(0x6C),
+ NUMPAD_SEPARATOR(0x6c),
/** Minus ('-') on numeric keypad. */
- NUMPAD_MINUS(0x6D),
+ NUMPAD_MINUS(0x6d),
/** Period ('.') on numeric keypad. */
- NUMPAD_PERIOD(0x6E),
+ NUMPAD_PERIOD(0x6e),
/** Slash ('/') on numeric keypad. */
- NUMPAD_SLASH(0x6F),
+ NUMPAD_SLASH(0x6f),
/** Delete (non-numpad). */
- DELETE(0x7F),
+ DELETE(0x7f),
/** Num Lock. */
NUM_LOCK(0x90),
@@ -321,76 +321,76 @@ public enum KeyCode {
F10(0x79),
/** F11. */
- F11(0x7A),
+ F11(0x7a),
/** F12. */
- F12(0x7B),
+ F12(0x7b),
/** F13. */
- F13(0xF000),
+ F13(0xf000),
/** F14. */
- F14(0xF001),
+ F14(0xf001),
/** F15. */
- F15(0xF002),
+ F15(0xf002),
/** F16. */
- F16(0xF003),
+ F16(0xf003),
/** F17. */
- F17(0xF004),
+ F17(0xf004),
/** F18 */
- F18(0xF005),
+ F18(0xf005),
/** F19. */
- F19(0xF006),
+ F19(0xf006),
/** F20. */
- F20(0xF007),
+ F20(0xf007),
/** F21. */
- F21(0xF008),
+ F21(0xf008),
/** F22. */
- F22(0xF009),
+ F22(0xf009),
/** F23. */
- F23(0xF00A),
+ F23(0xf00a),
/** F24. */
- F24(0xF00B),
+ F24(0xf00b),
/** Print Screen. */
- PRINTSCREEN(0x9A),
+ PRINTSCREEN(0x9a),
/** Insert. */
- INSERT(0x9B),
+ INSERT(0x9b),
/** Help. */
- HELP(0x9C),
+ HELP(0x9c),
/** Meta. */
- META(0x9D),
+ META(0x9d),
/** Backquote ('`'). */
- BACK_QUOTE(0xC0),
+ BACK_QUOTE(0xc0),
/** Single quote ('\''). */
- QUOTE(0xDE),
+ QUOTE(0xde),
/** Up arrow on numeric keypad. */
- KP_UP(0xE0),
+ KP_UP(0xe0),
/** Down arrow on numeric keypad. */
- KP_DOWN(0xE1),
+ KP_DOWN(0xe1),
/** Left arrow on numeric keypad. */
- KP_LEFT(0xE2),
+ KP_LEFT(0xe2),
/** Right arrow on numeric keypad. */
- KP_RIGHT(0xE3),
+ KP_RIGHT(0xe3),
/** TODO. */
DEAD_GRAVE(0x80),
@@ -492,51 +492,51 @@ public enum KeyCode {
PLUS(0x0209),
/** Right parenthesis (')'). */
- RIGHT_PARENTHESIS(0x020A),
+ RIGHT_PARENTHESIS(0x020a),
/** Underscore ('_'). */
- UNDERSCORE(0x020B),
+ UNDERSCORE(0x020b),
/** Windows key (both left and right). */
- WINDOWS(0x020C),
+ WINDOWS(0x020c),
/** Windows Context Menu key. */
- CONTEXT_MENU(0x020D),
+ CONTEXT_MENU(0x020d),
FINAL(0x0018),
/** Convert function key. */
- CONVERT(0x001C),
+ CONVERT(0x001c),
/** Don't Convert function key. */
- NONCONVERT(0x001D),
+ NONCONVERT(0x001d),
/** Accept or Commit function key. */
- ACCEPT(0x001E),
+ ACCEPT(0x001e),
- MODECHANGE(0x001F),
+ MODECHANGE(0x001f),
KANA(0x0015),
KANJI(0x0019),
/** Alphanumeric function key. */
- ALPHANUMERIC(0x00F0),
+ ALPHANUMERIC(0x00f0),
/** Katakana function key. */
- KATAKANA(0x00F1),
+ KATAKANA(0x00f1),
/** Hiragana function key. */
- HIRAGANA(0x00F2),
+ HIRAGANA(0x00f2),
/** Full-Width Characters function key. */
- FULL_WIDTH(0x00F3),
+ FULL_WIDTH(0x00f3),
/** Half-Width Characters function key. */
- HALF_WIDTH(0x00F4),
+ HALF_WIDTH(0x00f4),
/** Roman Characters function key. */
- ROMAN_CHARACTERS(0x00F5),
+ ROMAN_CHARACTERS(0x00f5),
/** All Candidates function key. */
ALL_CANDIDATES(0x0100),
@@ -563,37 +563,37 @@ public enum KeyCode {
INPUT_METHOD_ON_OFF(0x0107),
/** Cut (Sun keyboard). */
- CUT(0xFFD1),
+ CUT(0xffd1),
/** Copy (Sun keyboard). */
- COPY(0xFFCD),
+ COPY(0xffcd),
/** Paste (Sun keyboard). */
- PASTE(0xFFCF),
+ PASTE(0xffcf),
/** Undo (Sun keyboard). */
- UNDO(0xFFCB),
+ UNDO(0xffcb),
/** Again (Sun keyboard). */
- AGAIN(0xFFC9),
+ AGAIN(0xffc9),
/** Find (Sun keyboard). */
- FIND(0xFFD0),
+ FIND(0xffd0),
/** Props (Sun keyboard). */
- PROPS(0xFFCA),
+ PROPS(0xffca),
/** Stop (Sun keyboard). */
- STOP(0xFFC8),
+ STOP(0xffc8),
/** Compose function key. */
- COMPOSE(0xFF20),
+ COMPOSE(0xff20),
/** AltGraph function key. */
- ALT_GRAPH(0xFF7E),
+ ALT_GRAPH(0xff7e),
/** Begin key. */
- BEGIN(0xFF58),
+ BEGIN(0xff58),
/** Unknown code. */
UNDEFINED(0x0);
@@ -632,14 +632,97 @@ public static KeyCode get(final int code) {
return keyCode;
}
+ /**
+ * Gets the KeyCode corresponding to the given character,
+ * or {@link #UNDEFINED} if no such code.
+ */
+ public static KeyCode get(final char c) {
+ switch (c) {
+ case '\n': case '\r': return ENTER;
+ case '\b': return BACK_SPACE;
+ case '\t': return TAB;
+ case 0x1b: return ESCAPE;
+ case ' ': return SPACE;
+ case ',': return COMMA;
+ case '-': return MINUS;
+ case '.': return PERIOD;
+ case '/': return SLASH;
+ case '0': return NUM0;
+ case '1': return NUM1;
+ case '2': return NUM2;
+ case '3': return NUM3;
+ case '4': return NUM4;
+ case '5': return NUM5;
+ case '6': return NUM6;
+ case '7': return NUM7;
+ case '8': return NUM8;
+ case '9': return NUM9;
+ case ';': return SEMICOLON;
+ case '=': return EQUALS;
+ case 'a': case 'A': return A;
+ case 'b': case 'B': return B;
+ case 'c': case 'C': return C;
+ case 'd': case 'D': return D;
+ case 'e': case 'E': return E;
+ case 'f': case 'F': return F;
+ case 'g': case 'G': return G;
+ case 'h': case 'H': return H;
+ case 'i': case 'I': return I;
+ case 'j': case 'J': return J;
+ case 'k': case 'K': return K;
+ case 'l': case 'L': return L;
+ case 'm': case 'M': return M;
+ case 'n': case 'N': return N;
+ case 'o': case 'O': return O;
+ case 'p': case 'P': return P;
+ case 'q': case 'Q': return Q;
+ case 'r': case 'R': return R;
+ case 's': case 'S': return S;
+ case 't': case 'T': return T;
+ case 'u': case 'U': return U;
+ case 'v': case 'V': return V;
+ case 'w': case 'W': return W;
+ case 'x': case 'X': return X;
+ case 'y': case 'Y': return Y;
+ case 'z': case 'Z': return Z;
+ case '[': return OPEN_BRACKET;
+ case '\\': return BACK_SLASH;
+ case ']': return CLOSE_BRACKET;
+ case '`': return BACK_QUOTE;
+ case '\'': return QUOTE;
+ case '&': return AMPERSAND;
+ case '*': return ASTERISK;
+ case '"': return QUOTEDBL;
+ case '<': return LESS;
+ case '>': return GREATER;
+ case '{': return BRACELEFT;
+ case '}': return BRACERIGHT;
+ case '@': return AT;
+ case ':': return COLON;
+ case '^': return CIRCUMFLEX;
+ case '$': return DOLLAR;
+ case '€': return EURO_SIGN;
+ case '!': return EXCLAMATION_MARK;
+ case 161: return INVERTED_EXCLAMATION_MARK;
+ case '(': return LEFT_PARENTHESIS;
+ case '#': return NUMBER_SIGN;
+ case '+': return PLUS;
+ case ')': return RIGHT_PARENTHESIS;
+ case '_': return UNDERSCORE;
+ }
+ return UNDEFINED;
+ }
+
/**
* Gets the KeyCode with the given name, or {@link #UNDEFINED} if no such
* code.
*/
public static KeyCode get(final String name) {
final KeyCode keyCode = NAMES.get(name);
- if (keyCode == null) return UNDEFINED;
- return keyCode;
+ if (keyCode != null) return keyCode;
+ // Not a code name, but maybe a direct character value?
+ if (name.length() == 1) return KeyCode.get(name.charAt(0));
+ return UNDEFINED;
}
}
diff --git a/src/main/java/org/scijava/input/MouseCursor.java b/src/main/java/org/scijava/input/MouseCursor.java
index 1ade50c90..15bb0ccc8 100644
--- a/src/main/java/org/scijava/input/MouseCursor.java
+++ b/src/main/java/org/scijava/input/MouseCursor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/AbstractIOPlugin.java b/src/main/java/org/scijava/io/AbstractIOPlugin.java
index 954e77258..3c965739a 100644
--- a/src/main/java/org/scijava/io/AbstractIOPlugin.java
+++ b/src/main/java/org/scijava/io/AbstractIOPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/AbstractTypedIOService.java b/src/main/java/org/scijava/io/AbstractTypedIOService.java
index 520441e43..4d75bfb3e 100644
--- a/src/main/java/org/scijava/io/AbstractTypedIOService.java
+++ b/src/main/java/org/scijava/io/AbstractTypedIOService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/ByteArrayByteBank.java b/src/main/java/org/scijava/io/ByteArrayByteBank.java
index 196ba64c8..f0183f2d8 100644
--- a/src/main/java/org/scijava/io/ByteArrayByteBank.java
+++ b/src/main/java/org/scijava/io/ByteArrayByteBank.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/ByteBank.java b/src/main/java/org/scijava/io/ByteBank.java
index 1bb062b54..8d466e8ce 100644
--- a/src/main/java/org/scijava/io/ByteBank.java
+++ b/src/main/java/org/scijava/io/ByteBank.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/DefaultIOService.java b/src/main/java/org/scijava/io/DefaultIOService.java
index a5199e76e..0b67ce690 100644
--- a/src/main/java/org/scijava/io/DefaultIOService.java
+++ b/src/main/java/org/scijava/io/DefaultIOService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/DefaultRecentFileService.java b/src/main/java/org/scijava/io/DefaultRecentFileService.java
index 299f3f387..3cef6fb1a 100644
--- a/src/main/java/org/scijava/io/DefaultRecentFileService.java
+++ b/src/main/java/org/scijava/io/DefaultRecentFileService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/IOPlugin.java b/src/main/java/org/scijava/io/IOPlugin.java
index 2c12ccd6a..b8c69cc18 100644
--- a/src/main/java/org/scijava/io/IOPlugin.java
+++ b/src/main/java/org/scijava/io/IOPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/IOService.java b/src/main/java/org/scijava/io/IOService.java
index 26cd44836..672ba9f9b 100644
--- a/src/main/java/org/scijava/io/IOService.java
+++ b/src/main/java/org/scijava/io/IOService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/RecentFileService.java b/src/main/java/org/scijava/io/RecentFileService.java
index 7c549fe8b..20a6ad9c8 100644
--- a/src/main/java/org/scijava/io/RecentFileService.java
+++ b/src/main/java/org/scijava/io/RecentFileService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/TypedIOService.java b/src/main/java/org/scijava/io/TypedIOService.java
index 746311f6a..e6882fc95 100644
--- a/src/main/java/org/scijava/io/TypedIOService.java
+++ b/src/main/java/org/scijava/io/TypedIOService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/console/OpenArgument.java b/src/main/java/org/scijava/io/console/OpenArgument.java
index efe0fe257..bfdc3dbdd 100644
--- a/src/main/java/org/scijava/io/console/OpenArgument.java
+++ b/src/main/java/org/scijava/io/console/OpenArgument.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/event/DataOpenedEvent.java b/src/main/java/org/scijava/io/event/DataOpenedEvent.java
index a034e574f..c177c9195 100644
--- a/src/main/java/org/scijava/io/event/DataOpenedEvent.java
+++ b/src/main/java/org/scijava/io/event/DataOpenedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/event/DataSavedEvent.java b/src/main/java/org/scijava/io/event/DataSavedEvent.java
index d2fb9e03e..ec75495c9 100644
--- a/src/main/java/org/scijava/io/event/DataSavedEvent.java
+++ b/src/main/java/org/scijava/io/event/DataSavedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/event/IOEvent.java b/src/main/java/org/scijava/io/event/IOEvent.java
index 593cdf721..20a28a191 100644
--- a/src/main/java/org/scijava/io/event/IOEvent.java
+++ b/src/main/java/org/scijava/io/event/IOEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java
index dcafd62cd..f2446f90a 100644
--- a/src/main/java/org/scijava/io/handle/AbstractDataHandle.java
+++ b/src/main/java/org/scijava/io/handle/AbstractDataHandle.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java b/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java
index 853bc4098..7fa3d8df9 100644
--- a/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java
+++ b/src/main/java/org/scijava/io/handle/AbstractHigherOrderHandle.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java
index ac7318347..5b56c5e93 100644
--- a/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java
+++ b/src/main/java/org/scijava/io/handle/AbstractSeekableStreamHandle.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java
index 30af9f6a0..75a9f4939 100644
--- a/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java
+++ b/src/main/java/org/scijava/io/handle/AbstractStreamHandle.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/BytesHandle.java b/src/main/java/org/scijava/io/handle/BytesHandle.java
index 4b0051372..b09228673 100644
--- a/src/main/java/org/scijava/io/handle/BytesHandle.java
+++ b/src/main/java/org/scijava/io/handle/BytesHandle.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/DataHandle.java b/src/main/java/org/scijava/io/handle/DataHandle.java
index 61d413382..18cddadcb 100644
--- a/src/main/java/org/scijava/io/handle/DataHandle.java
+++ b/src/main/java/org/scijava/io/handle/DataHandle.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java
index 7613b17be..10e6b84e9 100644
--- a/src/main/java/org/scijava/io/handle/DataHandleInputStream.java
+++ b/src/main/java/org/scijava/io/handle/DataHandleInputStream.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java
index 4e8259a8b..3328a4e0a 100644
--- a/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java
+++ b/src/main/java/org/scijava/io/handle/DataHandleOutputStream.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/DataHandleService.java b/src/main/java/org/scijava/io/handle/DataHandleService.java
index e55cdfd3f..fae0e7f4a 100644
--- a/src/main/java/org/scijava/io/handle/DataHandleService.java
+++ b/src/main/java/org/scijava/io/handle/DataHandleService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/DataHandles.java b/src/main/java/org/scijava/io/handle/DataHandles.java
index a8976f3fa..1464f637e 100644
--- a/src/main/java/org/scijava/io/handle/DataHandles.java
+++ b/src/main/java/org/scijava/io/handle/DataHandles.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -30,10 +30,8 @@
package org.scijava.io.handle;
import java.io.DataOutput;
-import java.io.DataOutputStream;
import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
+import java.io.UTFDataFormatException;
import org.scijava.io.location.Location;
import org.scijava.task.Task;
@@ -46,8 +44,6 @@
*/
public final class DataHandles {
- private static Method utfMethod;
-
private DataHandles() {
// Prevent instantiation of utility class.
}
@@ -74,40 +70,38 @@ private DataHandles() {
public static int writeUTF(final String str, final DataOutput out)
throws IOException
{
- // HACK: Strangely, DataOutputStream.writeUTF(String, DataOutput)
- // has package-private access. We work around it via reflection.
- try {
- return (Integer) utfMethod().invoke(null, str, out);
- }
- catch (final IllegalAccessException | IllegalArgumentException
- | InvocationTargetException exc)
- {
- throw new IllegalStateException(
- "Cannot invoke DataOutputStream.writeUTF(String, DataOutput)", exc);
+ // Encode string as modified UTF-8 per java.io.DataOutput specification.
+ final int strlen = str.length();
+ int utflen = 0;
+ for (int i = 0; i < strlen; i++) {
+ final char c = str.charAt(i);
+ if (c >= '\u0001' && c <= '\u007F') utflen += 1;
+ else if (c <= '\u07FF') utflen += 2;
+ else utflen += 3;
}
- }
-
- // -- Helper methods --
-
- /** Gets the {@link #utfMethod} field, initializing if needed. */
- private static Method utfMethod() {
- if (utfMethod == null) initUTFMethod();
- return utfMethod;
- }
-
- /** Initializes the {@link #utfMethod} field. */
- private static synchronized void initUTFMethod() {
- if (utfMethod != null) return;
- try {
- final Method m = DataOutputStream.class.getDeclaredMethod("writeUTF",
- String.class, DataOutput.class);
- m.setAccessible(true);
- utfMethod = m;
- }
- catch (final NoSuchMethodException | SecurityException exc) {
- throw new IllegalStateException(
- "No usable DataOutputStream.writeUTF(String, DataOutput)", exc);
+ if (utflen > 65535) throw new UTFDataFormatException(
+ "encoded string too long: " + utflen + " bytes");
+ final byte[] bytes = new byte[utflen + 2];
+ bytes[0] = (byte) ((utflen >>> 8) & 0xFF);
+ bytes[1] = (byte) (utflen & 0xFF);
+ int pos = 2;
+ for (int i = 0; i < strlen; i++) {
+ final char c = str.charAt(i);
+ if (c >= '\u0001' && c <= '\u007F') {
+ bytes[pos++] = (byte) c;
+ }
+ else if (c <= '\u07FF') {
+ bytes[pos++] = (byte) (0xC0 | ((c >> 6) & 0x1F));
+ bytes[pos++] = (byte) (0x80 | (c & 0x3F));
+ }
+ else {
+ bytes[pos++] = (byte) (0xE0 | ((c >> 12) & 0x0F));
+ bytes[pos++] = (byte) (0x80 | ((c >> 6) & 0x3F));
+ bytes[pos++] = (byte) (0x80 | (c & 0x3F));
+ }
}
+ out.write(bytes);
+ return utflen + 2;
}
protected static IOException readOnlyException() {
diff --git a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java
index 66428855f..1cdbcdf46 100644
--- a/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java
+++ b/src/main/java/org/scijava/io/handle/DefaultDataHandleService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/DummyHandle.java b/src/main/java/org/scijava/io/handle/DummyHandle.java
index 61fe0bdf5..74b2d24ab 100644
--- a/src/main/java/org/scijava/io/handle/DummyHandle.java
+++ b/src/main/java/org/scijava/io/handle/DummyHandle.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/FileHandle.java b/src/main/java/org/scijava/io/handle/FileHandle.java
index 029c0c6b2..3734f7ebb 100644
--- a/src/main/java/org/scijava/io/handle/FileHandle.java
+++ b/src/main/java/org/scijava/io/handle/FileHandle.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java
index 35841320b..fed7de110 100644
--- a/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java
+++ b/src/main/java/org/scijava/io/handle/ReadBufferDataHandle.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java
index 6a1022e9a..b4a7310f8 100644
--- a/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java
+++ b/src/main/java/org/scijava/io/handle/ResettableStreamHandle.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java
index fa4e1666d..6b4746f56 100644
--- a/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java
+++ b/src/main/java/org/scijava/io/handle/SeekableStreamHandle.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/StreamHandle.java b/src/main/java/org/scijava/io/handle/StreamHandle.java
index c33eccdab..30a3e88ba 100644
--- a/src/main/java/org/scijava/io/handle/StreamHandle.java
+++ b/src/main/java/org/scijava/io/handle/StreamHandle.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java b/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java
index 4f3a7d818..f1549aa30 100644
--- a/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java
+++ b/src/main/java/org/scijava/io/handle/WriteBufferDataHandle.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/location/AbstractLocation.java b/src/main/java/org/scijava/io/location/AbstractLocation.java
index d93e29fa9..007a1a8a9 100644
--- a/src/main/java/org/scijava/io/location/AbstractLocation.java
+++ b/src/main/java/org/scijava/io/location/AbstractLocation.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/location/AbstractLocationResolver.java b/src/main/java/org/scijava/io/location/AbstractLocationResolver.java
index d05ad4c9b..b40f6c0d9 100644
--- a/src/main/java/org/scijava/io/location/AbstractLocationResolver.java
+++ b/src/main/java/org/scijava/io/location/AbstractLocationResolver.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java
index 78e66e53b..61b3f9735 100644
--- a/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java
+++ b/src/main/java/org/scijava/io/location/AbstractRemoteLocation.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/location/BrowsableLocation.java b/src/main/java/org/scijava/io/location/BrowsableLocation.java
index 68bbf0be3..f6efc3b99 100644
--- a/src/main/java/org/scijava/io/location/BrowsableLocation.java
+++ b/src/main/java/org/scijava/io/location/BrowsableLocation.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/location/BytesLocation.java b/src/main/java/org/scijava/io/location/BytesLocation.java
index 74bc91843..0b7f604ed 100644
--- a/src/main/java/org/scijava/io/location/BytesLocation.java
+++ b/src/main/java/org/scijava/io/location/BytesLocation.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/location/DefaultLocationService.java b/src/main/java/org/scijava/io/location/DefaultLocationService.java
index 46dd034ba..028dd807e 100644
--- a/src/main/java/org/scijava/io/location/DefaultLocationService.java
+++ b/src/main/java/org/scijava/io/location/DefaultLocationService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/location/DummyLocation.java b/src/main/java/org/scijava/io/location/DummyLocation.java
index 1235ff829..0a9dd546f 100644
--- a/src/main/java/org/scijava/io/location/DummyLocation.java
+++ b/src/main/java/org/scijava/io/location/DummyLocation.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/location/FileLocation.java b/src/main/java/org/scijava/io/location/FileLocation.java
index ef8b8950e..4cf688d3b 100644
--- a/src/main/java/org/scijava/io/location/FileLocation.java
+++ b/src/main/java/org/scijava/io/location/FileLocation.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/location/FileLocationResolver.java b/src/main/java/org/scijava/io/location/FileLocationResolver.java
index 9c02c4a8f..5e6b19df0 100644
--- a/src/main/java/org/scijava/io/location/FileLocationResolver.java
+++ b/src/main/java/org/scijava/io/location/FileLocationResolver.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/location/Location.java b/src/main/java/org/scijava/io/location/Location.java
index efb45542f..2c579ad7e 100644
--- a/src/main/java/org/scijava/io/location/Location.java
+++ b/src/main/java/org/scijava/io/location/Location.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/location/LocationResolver.java b/src/main/java/org/scijava/io/location/LocationResolver.java
index dac41d9bd..e4c60eada 100644
--- a/src/main/java/org/scijava/io/location/LocationResolver.java
+++ b/src/main/java/org/scijava/io/location/LocationResolver.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/location/LocationService.java b/src/main/java/org/scijava/io/location/LocationService.java
index ff29ce6e0..078eca44c 100644
--- a/src/main/java/org/scijava/io/location/LocationService.java
+++ b/src/main/java/org/scijava/io/location/LocationService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -56,14 +56,15 @@ public interface LocationService extends HandlerService,
*/
default Location resolve(final String uriString) throws URISyntaxException {
try {
- return resolve(new URI(uriString));
+ Location loc = resolve(new URI(uriString));
+ if (loc != null) return loc;
}
catch (final URISyntaxException exc) {
// In general, filenames are not valid URI strings.
// Particularly on Windows, there are backslashes, which are invalid in URIs.
// So we explicitly turn this string into a file if an error happens above.
- return resolve(new File(uriString).toURI());
}
+ return resolve(new File(uriString).toURI());
}
/**
diff --git a/src/main/java/org/scijava/io/location/RemoteLocation.java b/src/main/java/org/scijava/io/location/RemoteLocation.java
index ce5760565..20fd65fef 100644
--- a/src/main/java/org/scijava/io/location/RemoteLocation.java
+++ b/src/main/java/org/scijava/io/location/RemoteLocation.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/location/URILocation.java b/src/main/java/org/scijava/io/location/URILocation.java
index 3bc2789aa..52621ea91 100644
--- a/src/main/java/org/scijava/io/location/URILocation.java
+++ b/src/main/java/org/scijava/io/location/URILocation.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/location/URLLocation.java b/src/main/java/org/scijava/io/location/URLLocation.java
index 37619be4f..396dedeae 100644
--- a/src/main/java/org/scijava/io/location/URLLocation.java
+++ b/src/main/java/org/scijava/io/location/URLLocation.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
index 92ccd5a1f..6f9ec504d 100644
--- a/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
+++ b/src/main/java/org/scijava/io/nio/ByteBufferByteBank.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/nio/DefaultNIOService.java b/src/main/java/org/scijava/io/nio/DefaultNIOService.java
index 655580146..2550caab8 100644
--- a/src/main/java/org/scijava/io/nio/DefaultNIOService.java
+++ b/src/main/java/org/scijava/io/nio/DefaultNIOService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/io/nio/NIOService.java b/src/main/java/org/scijava/io/nio/NIOService.java
index 4bdb6be3e..5e90ced72 100644
--- a/src/main/java/org/scijava/io/nio/NIOService.java
+++ b/src/main/java/org/scijava/io/nio/NIOService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/log/AbstractLogService.java b/src/main/java/org/scijava/log/AbstractLogService.java
index de30db3da..099750f95 100644
--- a/src/main/java/org/scijava/log/AbstractLogService.java
+++ b/src/main/java/org/scijava/log/AbstractLogService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/log/CallingClassUtils.java b/src/main/java/org/scijava/log/CallingClassUtils.java
index c29516b91..3a615a5b2 100644
--- a/src/main/java/org/scijava/log/CallingClassUtils.java
+++ b/src/main/java/org/scijava/log/CallingClassUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/log/DefaultLogger.java b/src/main/java/org/scijava/log/DefaultLogger.java
index 0cf99f33e..a5522aa50 100644
--- a/src/main/java/org/scijava/log/DefaultLogger.java
+++ b/src/main/java/org/scijava/log/DefaultLogger.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java
index e59cc2c93..d562921e5 100644
--- a/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java
+++ b/src/main/java/org/scijava/log/DefaultUncaughtExceptionHandler.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java
index 0b18fac9f..5aa4a690a 100644
--- a/src/main/java/org/scijava/log/IgnoreAsCallingClass.java
+++ b/src/main/java/org/scijava/log/IgnoreAsCallingClass.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/log/LogLevel.java b/src/main/java/org/scijava/log/LogLevel.java
index 0172ed524..aabab92aa 100644
--- a/src/main/java/org/scijava/log/LogLevel.java
+++ b/src/main/java/org/scijava/log/LogLevel.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/log/LogListener.java b/src/main/java/org/scijava/log/LogListener.java
index b2e8dad4b..19c03c71f 100644
--- a/src/main/java/org/scijava/log/LogListener.java
+++ b/src/main/java/org/scijava/log/LogListener.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/log/LogMessage.java b/src/main/java/org/scijava/log/LogMessage.java
index 4a621b261..dce591878 100644
--- a/src/main/java/org/scijava/log/LogMessage.java
+++ b/src/main/java/org/scijava/log/LogMessage.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/log/LogService.java b/src/main/java/org/scijava/log/LogService.java
index 335abb8f6..ad9cdb40b 100644
--- a/src/main/java/org/scijava/log/LogService.java
+++ b/src/main/java/org/scijava/log/LogService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/log/LogSource.java b/src/main/java/org/scijava/log/LogSource.java
index b44c48556..5f03b1870 100644
--- a/src/main/java/org/scijava/log/LogSource.java
+++ b/src/main/java/org/scijava/log/LogSource.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/log/Logged.java b/src/main/java/org/scijava/log/Logged.java
index c12e4fe13..bee37e0fa 100644
--- a/src/main/java/org/scijava/log/Logged.java
+++ b/src/main/java/org/scijava/log/Logged.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/log/Logger.java b/src/main/java/org/scijava/log/Logger.java
index 0db237f70..c2657b0b0 100644
--- a/src/main/java/org/scijava/log/Logger.java
+++ b/src/main/java/org/scijava/log/Logger.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/log/StderrLogService.java b/src/main/java/org/scijava/log/StderrLogService.java
index 9801bb746..8c67b082b 100644
--- a/src/main/java/org/scijava/log/StderrLogService.java
+++ b/src/main/java/org/scijava/log/StderrLogService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/main/DefaultMainService.java b/src/main/java/org/scijava/main/DefaultMainService.java
index 79dea58cf..699a78132 100644
--- a/src/main/java/org/scijava/main/DefaultMainService.java
+++ b/src/main/java/org/scijava/main/DefaultMainService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/main/MainService.java b/src/main/java/org/scijava/main/MainService.java
index d8b190de1..36b92b89b 100644
--- a/src/main/java/org/scijava/main/MainService.java
+++ b/src/main/java/org/scijava/main/MainService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/main/console/MainArgument.java b/src/main/java/org/scijava/main/console/MainArgument.java
index 0125781da..0e0ebe29d 100644
--- a/src/main/java/org/scijava/main/console/MainArgument.java
+++ b/src/main/java/org/scijava/main/console/MainArgument.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/main/run/MainCodeRunner.java b/src/main/java/org/scijava/main/run/MainCodeRunner.java
index 6ff737b2b..a18ae6b3b 100644
--- a/src/main/java/org/scijava/main/run/MainCodeRunner.java
+++ b/src/main/java/org/scijava/main/run/MainCodeRunner.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/menu/AbstractMenuCreator.java b/src/main/java/org/scijava/menu/AbstractMenuCreator.java
index d28e3fa73..726639ae8 100644
--- a/src/main/java/org/scijava/menu/AbstractMenuCreator.java
+++ b/src/main/java/org/scijava/menu/AbstractMenuCreator.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/menu/DefaultMenuService.java b/src/main/java/org/scijava/menu/DefaultMenuService.java
index 73471d5c9..74ed27285 100644
--- a/src/main/java/org/scijava/menu/DefaultMenuService.java
+++ b/src/main/java/org/scijava/menu/DefaultMenuService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/menu/MenuConstants.java b/src/main/java/org/scijava/menu/MenuConstants.java
index 78f71535a..8c38942c9 100644
--- a/src/main/java/org/scijava/menu/MenuConstants.java
+++ b/src/main/java/org/scijava/menu/MenuConstants.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/menu/MenuCreator.java b/src/main/java/org/scijava/menu/MenuCreator.java
index 20249f21b..386771672 100644
--- a/src/main/java/org/scijava/menu/MenuCreator.java
+++ b/src/main/java/org/scijava/menu/MenuCreator.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/menu/MenuService.java b/src/main/java/org/scijava/menu/MenuService.java
index 1023a5fd6..ce9a5d36c 100644
--- a/src/main/java/org/scijava/menu/MenuService.java
+++ b/src/main/java/org/scijava/menu/MenuService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/menu/ShadowMenu.java b/src/main/java/org/scijava/menu/ShadowMenu.java
index f6b6e53db..c5eaea4cd 100644
--- a/src/main/java/org/scijava/menu/ShadowMenu.java
+++ b/src/main/java/org/scijava/menu/ShadowMenu.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -230,17 +230,24 @@ public URL getIconURL() {
if (isLeaf()) iconPath = DEFAULT_ICON_PATH;
else return null;
}
- final String className = moduleInfo.getDelegateClassName();
try {
- final Class> c = Types.load(className, false);
+ final Class> c = moduleInfo.loadDelegateClass();
final URL iconURL = c.getResource(iconPath);
if (iconURL == null) {
if (log != null) log.error("Could not load icon: " + iconPath);
}
return iconURL;
}
+ catch (final ClassNotFoundException exc) {
+ final String message = "Failed to load class: " +
+ moduleInfo.getDelegateClassName();
+ if (log.isDebug()) log.debug(message, exc);
+ else log.error(message);
+ return null;
+ }
catch (final IllegalArgumentException exc) {
- final String message = "Could not load icon for class: " + className;
+ final String message = "Could not load icon for class: " +
+ moduleInfo.getDelegateClassName();
if (log.isDebug()) log.debug(message, exc);
else log.error(message);
return null;
diff --git a/src/main/java/org/scijava/menu/ShadowMenuIterator.java b/src/main/java/org/scijava/menu/ShadowMenuIterator.java
index 4ac49edb9..ea69e7a2f 100644
--- a/src/main/java/org/scijava/menu/ShadowMenuIterator.java
+++ b/src/main/java/org/scijava/menu/ShadowMenuIterator.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/menu/event/MenuEvent.java b/src/main/java/org/scijava/menu/event/MenuEvent.java
index c8ef4a79d..ae0deaa13 100644
--- a/src/main/java/org/scijava/menu/event/MenuEvent.java
+++ b/src/main/java/org/scijava/menu/event/MenuEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java
index 299b7f68e..a3fd70e2f 100644
--- a/src/main/java/org/scijava/menu/event/MenusAddedEvent.java
+++ b/src/main/java/org/scijava/menu/event/MenusAddedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java
index 205c13229..24e3a8f93 100644
--- a/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java
+++ b/src/main/java/org/scijava/menu/event/MenusRemovedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java
index ea69e3833..951daace8 100644
--- a/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java
+++ b/src/main/java/org/scijava/menu/event/MenusUpdatedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/AbstractModule.java b/src/main/java/org/scijava/module/AbstractModule.java
index 4fd0aacf3..4ca6a4528 100644
--- a/src/main/java/org/scijava/module/AbstractModule.java
+++ b/src/main/java/org/scijava/module/AbstractModule.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -160,8 +160,13 @@ public void resolveInput(final String name) {
item.validate(this);
}
catch (final MethodCallException exc) {
- // NB: Hacky, but avoids changing the API signature.
- throw new RuntimeException(exc);
+ // NB: resolveInput cannot declare checked exceptions, so we wrap.
+ // Prefer the cause's message (the user-facing validation error) when
+ // available; otherwise fall back to the MethodCallException's message.
+ final Throwable cause = exc.getCause();
+ final String message = (cause != null && cause.getMessage() != null &&
+ !cause.getMessage().isEmpty()) ? cause.getMessage() : exc.getMessage();
+ throw new RuntimeException(message, exc);
}
}
resolvedInputs.add(name);
diff --git a/src/main/java/org/scijava/module/AbstractModuleInfo.java b/src/main/java/org/scijava/module/AbstractModuleInfo.java
index 29379b44e..704ac4cd3 100644
--- a/src/main/java/org/scijava/module/AbstractModuleInfo.java
+++ b/src/main/java/org/scijava/module/AbstractModuleInfo.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/AbstractModuleItem.java b/src/main/java/org/scijava/module/AbstractModuleItem.java
index f61cfcc54..e2648cd2f 100644
--- a/src/main/java/org/scijava/module/AbstractModuleItem.java
+++ b/src/main/java/org/scijava/module/AbstractModuleItem.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -210,7 +210,12 @@ public void validate(final Module module) throws MethodCallException {
if (validaterRef == null) {
validaterRef = new MethodRef(delegateObject.getClass(), getValidater());
}
- validaterRef.execute(module.getDelegateObject());
+ final Object result = validaterRef.executeWithResult(module.getDelegateObject());
+ // If the validater returns a non-empty String, treat it as an error message.
+ if (result instanceof String) {
+ final String message = (String) result;
+ if (!message.isEmpty()) throw new MethodCallException(message);
+ }
}
@Override
diff --git a/src/main/java/org/scijava/module/DefaultModuleService.java b/src/main/java/org/scijava/module/DefaultModuleService.java
index e4461f236..c6dee7f42 100644
--- a/src/main/java/org/scijava/module/DefaultModuleService.java
+++ b/src/main/java/org/scijava/module/DefaultModuleService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/DefaultMutableModule.java b/src/main/java/org/scijava/module/DefaultMutableModule.java
index 768d6c663..0e646a212 100644
--- a/src/main/java/org/scijava/module/DefaultMutableModule.java
+++ b/src/main/java/org/scijava/module/DefaultMutableModule.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java
index 859fe0d9b..372776ab9 100644
--- a/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java
+++ b/src/main/java/org/scijava/module/DefaultMutableModuleInfo.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java
index 3e3eb139c..c16ea80ec 100644
--- a/src/main/java/org/scijava/module/DefaultMutableModuleItem.java
+++ b/src/main/java/org/scijava/module/DefaultMutableModuleItem.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/MethodCallException.java b/src/main/java/org/scijava/module/MethodCallException.java
index eca6e5e5c..fc37d1313 100644
--- a/src/main/java/org/scijava/module/MethodCallException.java
+++ b/src/main/java/org/scijava/module/MethodCallException.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/MethodRef.java b/src/main/java/org/scijava/module/MethodRef.java
index 758f8d390..f77883204 100644
--- a/src/main/java/org/scijava/module/MethodRef.java
+++ b/src/main/java/org/scijava/module/MethodRef.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -62,9 +62,15 @@ public MethodRef(final Class> clazz, final String methodName,
public void execute(final Object obj, final Object... args)
throws MethodCallException
{
- if (method == null) return;
+ executeWithResult(obj, args);
+ }
+
+ public Object executeWithResult(final Object obj, final Object... args)
+ throws MethodCallException
+ {
+ if (method == null) return null;
try {
- method.invoke(obj, args);
+ return method.invoke(obj, args);
}
catch (final Exception exc) {
// NB: Several types of exceptions; simpler to handle them all the same.
diff --git a/src/main/java/org/scijava/module/Module.java b/src/main/java/org/scijava/module/Module.java
index 16f555a48..21e6730bf 100644
--- a/src/main/java/org/scijava/module/Module.java
+++ b/src/main/java/org/scijava/module/Module.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/ModuleCanceledException.java b/src/main/java/org/scijava/module/ModuleCanceledException.java
index c39147745..f500a4167 100644
--- a/src/main/java/org/scijava/module/ModuleCanceledException.java
+++ b/src/main/java/org/scijava/module/ModuleCanceledException.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/ModuleException.java b/src/main/java/org/scijava/module/ModuleException.java
index 0b4339108..9f9f3cb7c 100644
--- a/src/main/java/org/scijava/module/ModuleException.java
+++ b/src/main/java/org/scijava/module/ModuleException.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/ModuleIndex.java b/src/main/java/org/scijava/module/ModuleIndex.java
index 30f53e048..998568f10 100644
--- a/src/main/java/org/scijava/module/ModuleIndex.java
+++ b/src/main/java/org/scijava/module/ModuleIndex.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/ModuleInfo.java b/src/main/java/org/scijava/module/ModuleInfo.java
index d95a56335..c9b687177 100644
--- a/src/main/java/org/scijava/module/ModuleInfo.java
+++ b/src/main/java/org/scijava/module/ModuleInfo.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/ModuleItem.java b/src/main/java/org/scijava/module/ModuleItem.java
index cec5cb5e2..95ea748b4 100644
--- a/src/main/java/org/scijava/module/ModuleItem.java
+++ b/src/main/java/org/scijava/module/ModuleItem.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -126,11 +126,52 @@ public interface ModuleItem extends BasicDetails {
/**
* Invokes this item's validation function, if any, on the given module.
- *
+ *
+ * The validation function may signal failure either by throwing an exception
+ * or by returning a non-empty {@link String} error message.
+ *
+ *
+ * @throws MethodCallException if validation fails or the method cannot be
+ * invoked. When the validater returns a non-empty String, a
+ * {@link MethodCallException} is thrown with that string as its
+ * message.
* @see #getValidater()
+ * @see #validateMessage(Module)
*/
void validate(Module module) throws MethodCallException;
+ /**
+ * Validates this item's value in the given module, returning any error
+ * message rather than throwing.
+ *
+ * The validation function may signal failure either by throwing an exception
+ * or by returning a non-empty {@link String} error message. This method
+ * catches both cases and returns the error message as a string, or
+ * {@code null} if the value is valid.
+ *
+ *
+ * @return an error message if the value is invalid, or {@code null} if valid.
+ * @see #getValidater()
+ * @see #validate(Module)
+ */
+ default String validateMessage(final Module module) {
+ try {
+ validate(module);
+ return null;
+ }
+ catch (final MethodCallException exc) {
+ // Unwrap to find the most informative message.
+ final Throwable cause = exc.getCause();
+ if (cause != null && cause.getMessage() != null &&
+ !cause.getMessage().isEmpty())
+ {
+ return cause.getMessage();
+ }
+ final String msg = exc.getMessage();
+ return msg != null && !msg.isEmpty() ? msg : exc.toString();
+ }
+ }
+
/**
* Gets the function that is called whenever this item changes.
*
diff --git a/src/main/java/org/scijava/module/ModuleRunner.java b/src/main/java/org/scijava/module/ModuleRunner.java
index 7de66702f..ece995d8a 100644
--- a/src/main/java/org/scijava/module/ModuleRunner.java
+++ b/src/main/java/org/scijava/module/ModuleRunner.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/ModuleService.java b/src/main/java/org/scijava/module/ModuleService.java
index ad1ae76d3..3f97a56e4 100644
--- a/src/main/java/org/scijava/module/ModuleService.java
+++ b/src/main/java/org/scijava/module/ModuleService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/MutableModule.java b/src/main/java/org/scijava/module/MutableModule.java
index 487c98f00..3a907c854 100644
--- a/src/main/java/org/scijava/module/MutableModule.java
+++ b/src/main/java/org/scijava/module/MutableModule.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/MutableModuleInfo.java b/src/main/java/org/scijava/module/MutableModuleInfo.java
index 7dd5bffdd..31aeb7280 100644
--- a/src/main/java/org/scijava/module/MutableModuleInfo.java
+++ b/src/main/java/org/scijava/module/MutableModuleInfo.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/MutableModuleItem.java b/src/main/java/org/scijava/module/MutableModuleItem.java
index 73f952a7e..413950216 100644
--- a/src/main/java/org/scijava/module/MutableModuleItem.java
+++ b/src/main/java/org/scijava/module/MutableModuleItem.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java
index 4ad43d60d..baa6ce737 100644
--- a/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleCanceledEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModuleErroredEvent.java b/src/main/java/org/scijava/module/event/ModuleErroredEvent.java
index ce0fd6924..381cc0a4e 100644
--- a/src/main/java/org/scijava/module/event/ModuleErroredEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleErroredEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModuleEvent.java b/src/main/java/org/scijava/module/event/ModuleEvent.java
index d00c7ca09..9d402399a 100644
--- a/src/main/java/org/scijava/module/event/ModuleEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java
index eecd5c063..c8ec50ca5 100644
--- a/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleExecutedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java
index 2cd97f867..5110625e8 100644
--- a/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleExecutingEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java
index c19ba0535..73bfa9d14 100644
--- a/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleExecutionEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java
index 9bc5604b3..4c0f71dbf 100644
--- a/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleFinishedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java
index f92330682..e59f94ff2 100644
--- a/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java
+++ b/src/main/java/org/scijava/module/event/ModulePostprocessEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java
index 92e1ab81e..7efdc11c7 100644
--- a/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java
+++ b/src/main/java/org/scijava/module/event/ModulePreprocessEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java
index 3588bc103..f5ac20fe8 100644
--- a/src/main/java/org/scijava/module/event/ModuleProcessEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleProcessEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java
index 5da7e5fe7..2b8f59393 100644
--- a/src/main/java/org/scijava/module/event/ModuleStartedEvent.java
+++ b/src/main/java/org/scijava/module/event/ModuleStartedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java
index b32385ae3..30107c4e7 100644
--- a/src/main/java/org/scijava/module/event/ModulesAddedEvent.java
+++ b/src/main/java/org/scijava/module/event/ModulesAddedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModulesListEvent.java b/src/main/java/org/scijava/module/event/ModulesListEvent.java
index 5f6cca8c3..051edef8d 100644
--- a/src/main/java/org/scijava/module/event/ModulesListEvent.java
+++ b/src/main/java/org/scijava/module/event/ModulesListEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java
index f8a9a9780..495f9e7e2 100644
--- a/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java
+++ b/src/main/java/org/scijava/module/event/ModulesRemovedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java
index 075f1f826..df5a9065d 100644
--- a/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java
+++ b/src/main/java/org/scijava/module/event/ModulesUpdatedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java
index 575fec9b3..6e786753b 100644
--- a/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java
+++ b/src/main/java/org/scijava/module/process/AbstractPostprocessorPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java
index 53cbac997..b9cb5de9d 100644
--- a/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java
+++ b/src/main/java/org/scijava/module/process/AbstractPreprocessorPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java
index 0e30c3935..63e07cd2b 100644
--- a/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/AbstractSingleInputPreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java
index 545261ffc..8bbfac881 100644
--- a/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/CheckInputsPreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/DebugPostprocessor.java b/src/main/java/org/scijava/module/process/DebugPostprocessor.java
index af8bd28c2..e614afada 100644
--- a/src/main/java/org/scijava/module/process/DebugPostprocessor.java
+++ b/src/main/java/org/scijava/module/process/DebugPostprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/DebugPreprocessor.java b/src/main/java/org/scijava/module/process/DebugPreprocessor.java
index 8e33d1088..15f6afe1f 100644
--- a/src/main/java/org/scijava/module/process/DebugPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/DebugPreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java
index 28c951188..fed93f7e9 100644
--- a/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java
+++ b/src/main/java/org/scijava/module/process/DefaultValuePreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java
index b59b8c8cf..b3889d479 100644
--- a/src/main/java/org/scijava/module/process/GatewayPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/GatewayPreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/InitPreprocessor.java b/src/main/java/org/scijava/module/process/InitPreprocessor.java
index 89c6af4d7..d135614d6 100644
--- a/src/main/java/org/scijava/module/process/InitPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/InitPreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java
index 228058fac..eb405b424 100644
--- a/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java
index 7f4b5531e..b096c5593 100644
--- a/src/main/java/org/scijava/module/process/LoggerPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/LoggerPreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/ModulePostprocessor.java b/src/main/java/org/scijava/module/process/ModulePostprocessor.java
index ee9a06864..50a82900e 100644
--- a/src/main/java/org/scijava/module/process/ModulePostprocessor.java
+++ b/src/main/java/org/scijava/module/process/ModulePostprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/ModulePreprocessor.java b/src/main/java/org/scijava/module/process/ModulePreprocessor.java
index a90e04b8f..ee9d2af22 100644
--- a/src/main/java/org/scijava/module/process/ModulePreprocessor.java
+++ b/src/main/java/org/scijava/module/process/ModulePreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/ModuleProcessor.java b/src/main/java/org/scijava/module/process/ModuleProcessor.java
index 67284b0a1..605194d03 100644
--- a/src/main/java/org/scijava/module/process/ModuleProcessor.java
+++ b/src/main/java/org/scijava/module/process/ModuleProcessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java
index 21eccd05f..a010e0a6f 100644
--- a/src/main/java/org/scijava/module/process/PostprocessorPlugin.java
+++ b/src/main/java/org/scijava/module/process/PostprocessorPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java
index fb8765a20..57ccdc92f 100644
--- a/src/main/java/org/scijava/module/process/PreprocessorPlugin.java
+++ b/src/main/java/org/scijava/module/process/PreprocessorPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java
index c92e54bb8..8f4596f76 100644
--- a/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/ServicePreprocessor.java b/src/main/java/org/scijava/module/process/ServicePreprocessor.java
index 75c66526e..15ac626c5 100644
--- a/src/main/java/org/scijava/module/process/ServicePreprocessor.java
+++ b/src/main/java/org/scijava/module/process/ServicePreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java
index 47c523036..e1cbdb29e 100644
--- a/src/main/java/org/scijava/module/process/ValidityPreprocessor.java
+++ b/src/main/java/org/scijava/module/process/ValidityPreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java
index 15faa89ce..0369dee67 100644
--- a/src/main/java/org/scijava/module/run/ModuleCodeRunner.java
+++ b/src/main/java/org/scijava/module/run/ModuleCodeRunner.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/object/DefaultObjectService.java b/src/main/java/org/scijava/object/DefaultObjectService.java
index 7efa98f4b..885f2025c 100644
--- a/src/main/java/org/scijava/object/DefaultObjectService.java
+++ b/src/main/java/org/scijava/object/DefaultObjectService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/object/LazyObjects.java b/src/main/java/org/scijava/object/LazyObjects.java
index 8d90f18b0..3676085bb 100644
--- a/src/main/java/org/scijava/object/LazyObjects.java
+++ b/src/main/java/org/scijava/object/LazyObjects.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/object/NamedObjectIndex.java b/src/main/java/org/scijava/object/NamedObjectIndex.java
index a37c1eff1..0d807d166 100644
--- a/src/main/java/org/scijava/object/NamedObjectIndex.java
+++ b/src/main/java/org/scijava/object/NamedObjectIndex.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/object/ObjectIndex.java b/src/main/java/org/scijava/object/ObjectIndex.java
index 3bc0567b0..5eb81dde1 100644
--- a/src/main/java/org/scijava/object/ObjectIndex.java
+++ b/src/main/java/org/scijava/object/ObjectIndex.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/object/ObjectService.java b/src/main/java/org/scijava/object/ObjectService.java
index 7fce98b07..fac395e5d 100644
--- a/src/main/java/org/scijava/object/ObjectService.java
+++ b/src/main/java/org/scijava/object/ObjectService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/object/SortedObjectIndex.java b/src/main/java/org/scijava/object/SortedObjectIndex.java
index bb233bf26..a9d2d1f21 100644
--- a/src/main/java/org/scijava/object/SortedObjectIndex.java
+++ b/src/main/java/org/scijava/object/SortedObjectIndex.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/object/event/ListEvent.java b/src/main/java/org/scijava/object/event/ListEvent.java
index 84f8026a8..e7e5214f7 100644
--- a/src/main/java/org/scijava/object/event/ListEvent.java
+++ b/src/main/java/org/scijava/object/event/ListEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java
index 7e35c68e4..0cbd3dad0 100644
--- a/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java
+++ b/src/main/java/org/scijava/object/event/ObjectCreatedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java
index fc5e237b6..793a20c02 100644
--- a/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java
+++ b/src/main/java/org/scijava/object/event/ObjectDeletedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/object/event/ObjectEvent.java b/src/main/java/org/scijava/object/event/ObjectEvent.java
index 6730e23d1..7b1370612 100644
--- a/src/main/java/org/scijava/object/event/ObjectEvent.java
+++ b/src/main/java/org/scijava/object/event/ObjectEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java
index 33b1291d1..6e51bb9d2 100644
--- a/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java
+++ b/src/main/java/org/scijava/object/event/ObjectModifiedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java
index 1ec22cb3a..c4ce0e854 100644
--- a/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java
+++ b/src/main/java/org/scijava/object/event/ObjectsAddedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/object/event/ObjectsListEvent.java b/src/main/java/org/scijava/object/event/ObjectsListEvent.java
index d77e8f3cd..9bab39b51 100644
--- a/src/main/java/org/scijava/object/event/ObjectsListEvent.java
+++ b/src/main/java/org/scijava/object/event/ObjectsListEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java
index 938b55b8e..c042a73f8 100644
--- a/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java
+++ b/src/main/java/org/scijava/object/event/ObjectsRemovedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/options/DefaultOptionsService.java b/src/main/java/org/scijava/options/DefaultOptionsService.java
index 03379d9d8..aa6792276 100644
--- a/src/main/java/org/scijava/options/DefaultOptionsService.java
+++ b/src/main/java/org/scijava/options/DefaultOptionsService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/options/OptionsPlugin.java b/src/main/java/org/scijava/options/OptionsPlugin.java
index c86b0f34d..24208055c 100644
--- a/src/main/java/org/scijava/options/OptionsPlugin.java
+++ b/src/main/java/org/scijava/options/OptionsPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/options/OptionsService.java b/src/main/java/org/scijava/options/OptionsService.java
index 69353a5eb..6e659e1c9 100644
--- a/src/main/java/org/scijava/options/OptionsService.java
+++ b/src/main/java/org/scijava/options/OptionsService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/options/event/OptionsEvent.java b/src/main/java/org/scijava/options/event/OptionsEvent.java
index 42e5cd1b7..9ecea6af8 100644
--- a/src/main/java/org/scijava/options/event/OptionsEvent.java
+++ b/src/main/java/org/scijava/options/event/OptionsEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/parse/DefaultParseService.java b/src/main/java/org/scijava/parse/DefaultParseService.java
index b8d46f0f8..0924ab884 100644
--- a/src/main/java/org/scijava/parse/DefaultParseService.java
+++ b/src/main/java/org/scijava/parse/DefaultParseService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/parse/Item.java b/src/main/java/org/scijava/parse/Item.java
index 3ef55bcf4..416538777 100644
--- a/src/main/java/org/scijava/parse/Item.java
+++ b/src/main/java/org/scijava/parse/Item.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/parse/Items.java b/src/main/java/org/scijava/parse/Items.java
index 1b9ac7dd1..0b3b6becb 100644
--- a/src/main/java/org/scijava/parse/Items.java
+++ b/src/main/java/org/scijava/parse/Items.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/parse/ParseService.java b/src/main/java/org/scijava/parse/ParseService.java
index 19a705bcf..fe7ff2946 100644
--- a/src/main/java/org/scijava/parse/ParseService.java
+++ b/src/main/java/org/scijava/parse/ParseService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/AbstractPlatform.java b/src/main/java/org/scijava/platform/AbstractPlatform.java
index 73710dfc2..9005f3024 100644
--- a/src/main/java/org/scijava/platform/AbstractPlatform.java
+++ b/src/main/java/org/scijava/platform/AbstractPlatform.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/AppEventService.java b/src/main/java/org/scijava/platform/AppEventService.java
index b10605b52..6227d6563 100644
--- a/src/main/java/org/scijava/platform/AppEventService.java
+++ b/src/main/java/org/scijava/platform/AppEventService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/DefaultAppEventService.java b/src/main/java/org/scijava/platform/DefaultAppEventService.java
index 55b276774..07809297d 100644
--- a/src/main/java/org/scijava/platform/DefaultAppEventService.java
+++ b/src/main/java/org/scijava/platform/DefaultAppEventService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/DefaultPlatform.java b/src/main/java/org/scijava/platform/DefaultPlatform.java
index fbd7e67f0..18473f650 100644
--- a/src/main/java/org/scijava/platform/DefaultPlatform.java
+++ b/src/main/java/org/scijava/platform/DefaultPlatform.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -33,6 +33,8 @@
import java.net.URL;
import org.scijava.Priority;
+import org.scijava.log.LogService;
+import org.scijava.plugin.Parameter;
import org.scijava.plugin.Plugin;
/**
@@ -44,6 +46,9 @@
@Plugin(type = Platform.class, name = "Default", priority = Priority.VERY_LOW)
public class DefaultPlatform extends AbstractPlatform {
+ @Parameter(required = false)
+ private LogService log;
+
// -- PlatformHandler methods --
/**
@@ -66,9 +71,14 @@ public void open(final URL url) throws IOException {
try {
final int exitCode = getPlatformService().exec(browser, url.toString());
if (exitCode == 0) return;
+ else if (log != null) {
+ log.debug("Command '" + browser +
+ "' failed with exit code " + exitCode);
+ }
}
catch (final IOException e) {
// browser executable was invalid; try the next one
+ if (log != null) log.debug("Command '" + browser + "' failed", e);
}
}
throw new IOException("Could not open " + url);
diff --git a/src/main/java/org/scijava/platform/DefaultPlatformService.java b/src/main/java/org/scijava/platform/DefaultPlatformService.java
index 5804a11a4..bb8c962a6 100644
--- a/src/main/java/org/scijava/platform/DefaultPlatformService.java
+++ b/src/main/java/org/scijava/platform/DefaultPlatformService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/Platform.java b/src/main/java/org/scijava/platform/Platform.java
index 948024f61..31cc2e86a 100644
--- a/src/main/java/org/scijava/platform/Platform.java
+++ b/src/main/java/org/scijava/platform/Platform.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/PlatformService.java b/src/main/java/org/scijava/platform/PlatformService.java
index c8e796e7f..ff66f8939 100644
--- a/src/main/java/org/scijava/platform/PlatformService.java
+++ b/src/main/java/org/scijava/platform/PlatformService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/event/AppAboutEvent.java b/src/main/java/org/scijava/platform/event/AppAboutEvent.java
index b266a20bb..cd39d4764 100644
--- a/src/main/java/org/scijava/platform/event/AppAboutEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppAboutEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/event/AppFocusEvent.java b/src/main/java/org/scijava/platform/event/AppFocusEvent.java
index 4f65243fd..e18e88a14 100644
--- a/src/main/java/org/scijava/platform/event/AppFocusEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppFocusEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java
index 94244046e..3f8b80e0f 100644
--- a/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppMenusCreatedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java
index 6a51cf9da..cf42e0a73 100644
--- a/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppOpenFilesEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java
index 650200905..f6cf5ce81 100644
--- a/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppPreferencesEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/event/AppPrintEvent.java b/src/main/java/org/scijava/platform/event/AppPrintEvent.java
index 7325f24cc..2cfd3a56e 100644
--- a/src/main/java/org/scijava/platform/event/AppPrintEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppPrintEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/event/AppQuitEvent.java b/src/main/java/org/scijava/platform/event/AppQuitEvent.java
index 002192a48..0b5f5f1ac 100644
--- a/src/main/java/org/scijava/platform/event/AppQuitEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppQuitEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java
index f5657e7b2..a9db284a5 100644
--- a/src/main/java/org/scijava/platform/event/AppReOpenEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppReOpenEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java
index 678e2e839..d499a62db 100644
--- a/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppScreenSleepEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/event/AppSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSleepEvent.java
index c8e102725..5ba427317 100644
--- a/src/main/java/org/scijava/platform/event/AppSleepEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppSleepEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java
index 5fe8a7286..9e86cadf2 100644
--- a/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppSystemSleepEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java
index bd99e0c74..fb202cbc3 100644
--- a/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppUserSessionEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java
index 45a9fb4e2..1b6fd77d2 100644
--- a/src/main/java/org/scijava/platform/event/AppVisibleEvent.java
+++ b/src/main/java/org/scijava/platform/event/AppVisibleEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/platform/event/ApplicationEvent.java b/src/main/java/org/scijava/platform/event/ApplicationEvent.java
index 0038af03f..da0a2f3a1 100644
--- a/src/main/java/org/scijava/platform/event/ApplicationEvent.java
+++ b/src/main/java/org/scijava/platform/event/ApplicationEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java
index b0e475b68..2077a94c0 100644
--- a/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java
+++ b/src/main/java/org/scijava/plugin/AbstractHandlerPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/AbstractHandlerService.java b/src/main/java/org/scijava/plugin/AbstractHandlerService.java
index f2562e9ae..65873e6eb 100644
--- a/src/main/java/org/scijava/plugin/AbstractHandlerService.java
+++ b/src/main/java/org/scijava/plugin/AbstractHandlerService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/AbstractPTService.java b/src/main/java/org/scijava/plugin/AbstractPTService.java
index 5170d256e..5273d007b 100644
--- a/src/main/java/org/scijava/plugin/AbstractPTService.java
+++ b/src/main/java/org/scijava/plugin/AbstractPTService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java
index 5f804afa7..205d8ce8c 100644
--- a/src/main/java/org/scijava/plugin/AbstractRichPlugin.java
+++ b/src/main/java/org/scijava/plugin/AbstractRichPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/AbstractSingletonService.java b/src/main/java/org/scijava/plugin/AbstractSingletonService.java
index fe51559aa..b7f65c684 100644
--- a/src/main/java/org/scijava/plugin/AbstractSingletonService.java
+++ b/src/main/java/org/scijava/plugin/AbstractSingletonService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java
index 40929cf32..a9a12fb89 100644
--- a/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java
+++ b/src/main/java/org/scijava/plugin/AbstractTypedPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/AbstractTypedService.java b/src/main/java/org/scijava/plugin/AbstractTypedService.java
index 67fe4a669..c747223f3 100644
--- a/src/main/java/org/scijava/plugin/AbstractTypedService.java
+++ b/src/main/java/org/scijava/plugin/AbstractTypedService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java
index 525fd50c3..4a8d11412 100644
--- a/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java
+++ b/src/main/java/org/scijava/plugin/AbstractWrapperPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/AbstractWrapperService.java b/src/main/java/org/scijava/plugin/AbstractWrapperService.java
index c05cb94ad..9bd224855 100644
--- a/src/main/java/org/scijava/plugin/AbstractWrapperService.java
+++ b/src/main/java/org/scijava/plugin/AbstractWrapperService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/Attr.java b/src/main/java/org/scijava/plugin/Attr.java
index 4287edcc0..1dce1f4d7 100644
--- a/src/main/java/org/scijava/plugin/Attr.java
+++ b/src/main/java/org/scijava/plugin/Attr.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java
index 0b16c9d58..bd3a0eb08 100644
--- a/src/main/java/org/scijava/plugin/DefaultPluginFinder.java
+++ b/src/main/java/org/scijava/plugin/DefaultPluginFinder.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/DefaultPluginService.java b/src/main/java/org/scijava/plugin/DefaultPluginService.java
index c904ffb73..096e75c92 100644
--- a/src/main/java/org/scijava/plugin/DefaultPluginService.java
+++ b/src/main/java/org/scijava/plugin/DefaultPluginService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/HandlerPlugin.java b/src/main/java/org/scijava/plugin/HandlerPlugin.java
index f2fe8aaf8..8abcba382 100644
--- a/src/main/java/org/scijava/plugin/HandlerPlugin.java
+++ b/src/main/java/org/scijava/plugin/HandlerPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/HandlerService.java b/src/main/java/org/scijava/plugin/HandlerService.java
index 168f977d1..dec2d71b5 100644
--- a/src/main/java/org/scijava/plugin/HandlerService.java
+++ b/src/main/java/org/scijava/plugin/HandlerService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/HasPluginInfo.java b/src/main/java/org/scijava/plugin/HasPluginInfo.java
index 3f6cfaf1e..622429d98 100644
--- a/src/main/java/org/scijava/plugin/HasPluginInfo.java
+++ b/src/main/java/org/scijava/plugin/HasPluginInfo.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/Menu.java b/src/main/java/org/scijava/plugin/Menu.java
index d25e7fc0a..ce861c6b6 100644
--- a/src/main/java/org/scijava/plugin/Menu.java
+++ b/src/main/java/org/scijava/plugin/Menu.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/PTService.java b/src/main/java/org/scijava/plugin/PTService.java
index 191c8064a..d0e61a997 100644
--- a/src/main/java/org/scijava/plugin/PTService.java
+++ b/src/main/java/org/scijava/plugin/PTService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/Parameter.java b/src/main/java/org/scijava/plugin/Parameter.java
index 1ed64c82d..edc1da1af 100644
--- a/src/main/java/org/scijava/plugin/Parameter.java
+++ b/src/main/java/org/scijava/plugin/Parameter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/Plugin.java b/src/main/java/org/scijava/plugin/Plugin.java
index 5a8fbc5cb..cd1701881 100644
--- a/src/main/java/org/scijava/plugin/Plugin.java
+++ b/src/main/java/org/scijava/plugin/Plugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/PluginFinder.java b/src/main/java/org/scijava/plugin/PluginFinder.java
index 450af2428..9f193a90e 100644
--- a/src/main/java/org/scijava/plugin/PluginFinder.java
+++ b/src/main/java/org/scijava/plugin/PluginFinder.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/PluginIndex.java b/src/main/java/org/scijava/plugin/PluginIndex.java
index b1ae59bd4..ea3aa8fdc 100644
--- a/src/main/java/org/scijava/plugin/PluginIndex.java
+++ b/src/main/java/org/scijava/plugin/PluginIndex.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/PluginInfo.java b/src/main/java/org/scijava/plugin/PluginInfo.java
index dc127f074..85bab5954 100644
--- a/src/main/java/org/scijava/plugin/PluginInfo.java
+++ b/src/main/java/org/scijava/plugin/PluginInfo.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/PluginService.java b/src/main/java/org/scijava/plugin/PluginService.java
index e85bf76db..644268b87 100644
--- a/src/main/java/org/scijava/plugin/PluginService.java
+++ b/src/main/java/org/scijava/plugin/PluginService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/RichPlugin.java b/src/main/java/org/scijava/plugin/RichPlugin.java
index 8f5eb862b..891cc7822 100644
--- a/src/main/java/org/scijava/plugin/RichPlugin.java
+++ b/src/main/java/org/scijava/plugin/RichPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/SciJavaPlugin.java b/src/main/java/org/scijava/plugin/SciJavaPlugin.java
index b7bc4c919..97675e8bc 100644
--- a/src/main/java/org/scijava/plugin/SciJavaPlugin.java
+++ b/src/main/java/org/scijava/plugin/SciJavaPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/SingletonPlugin.java b/src/main/java/org/scijava/plugin/SingletonPlugin.java
index 79de0e2e0..72b5da303 100644
--- a/src/main/java/org/scijava/plugin/SingletonPlugin.java
+++ b/src/main/java/org/scijava/plugin/SingletonPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/SingletonService.java b/src/main/java/org/scijava/plugin/SingletonService.java
index 3ba80f8ca..a60622eac 100644
--- a/src/main/java/org/scijava/plugin/SingletonService.java
+++ b/src/main/java/org/scijava/plugin/SingletonService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/SortablePlugin.java b/src/main/java/org/scijava/plugin/SortablePlugin.java
index 257afa423..e7f005db9 100644
--- a/src/main/java/org/scijava/plugin/SortablePlugin.java
+++ b/src/main/java/org/scijava/plugin/SortablePlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/TypedPlugin.java b/src/main/java/org/scijava/plugin/TypedPlugin.java
index a3f6033ca..31153089a 100644
--- a/src/main/java/org/scijava/plugin/TypedPlugin.java
+++ b/src/main/java/org/scijava/plugin/TypedPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/TypedService.java b/src/main/java/org/scijava/plugin/TypedService.java
index 868144629..74701f46c 100644
--- a/src/main/java/org/scijava/plugin/TypedService.java
+++ b/src/main/java/org/scijava/plugin/TypedService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/WrapperPlugin.java b/src/main/java/org/scijava/plugin/WrapperPlugin.java
index 2cf9a517c..651bf634e 100644
--- a/src/main/java/org/scijava/plugin/WrapperPlugin.java
+++ b/src/main/java/org/scijava/plugin/WrapperPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/WrapperService.java b/src/main/java/org/scijava/plugin/WrapperService.java
index 3225df43b..4274f16e8 100644
--- a/src/main/java/org/scijava/plugin/WrapperService.java
+++ b/src/main/java/org/scijava/plugin/WrapperService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java
index 6a1fe60fe..edfc5b32e 100644
--- a/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java
+++ b/src/main/java/org/scijava/plugin/event/PluginsAddedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java
index 0f28602fc..af6bf4dc3 100644
--- a/src/main/java/org/scijava/plugin/event/PluginsListEvent.java
+++ b/src/main/java/org/scijava/plugin/event/PluginsListEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java
index 978a4e2de..baf9961a3 100644
--- a/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java
+++ b/src/main/java/org/scijava/plugin/event/PluginsRemovedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/prefs/AbstractPrefService.java b/src/main/java/org/scijava/prefs/AbstractPrefService.java
index 7c1b98cba..052603404 100644
--- a/src/main/java/org/scijava/prefs/AbstractPrefService.java
+++ b/src/main/java/org/scijava/prefs/AbstractPrefService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/prefs/DefaultPrefService.java b/src/main/java/org/scijava/prefs/DefaultPrefService.java
index f174db6c0..3c192f62b 100644
--- a/src/main/java/org/scijava/prefs/DefaultPrefService.java
+++ b/src/main/java/org/scijava/prefs/DefaultPrefService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/prefs/PrefService.java b/src/main/java/org/scijava/prefs/PrefService.java
index 30c91aa6e..98115b323 100644
--- a/src/main/java/org/scijava/prefs/PrefService.java
+++ b/src/main/java/org/scijava/prefs/PrefService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/run/AbstractCodeRunner.java b/src/main/java/org/scijava/run/AbstractCodeRunner.java
index 5d02b3634..a10bd9205 100644
--- a/src/main/java/org/scijava/run/AbstractCodeRunner.java
+++ b/src/main/java/org/scijava/run/AbstractCodeRunner.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/run/CodeRunner.java b/src/main/java/org/scijava/run/CodeRunner.java
index d1def7ea2..2efa316e2 100644
--- a/src/main/java/org/scijava/run/CodeRunner.java
+++ b/src/main/java/org/scijava/run/CodeRunner.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/run/DefaultRunService.java b/src/main/java/org/scijava/run/DefaultRunService.java
index 883f52e10..68239a4d7 100644
--- a/src/main/java/org/scijava/run/DefaultRunService.java
+++ b/src/main/java/org/scijava/run/DefaultRunService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/run/RunService.java b/src/main/java/org/scijava/run/RunService.java
index 3fd6cb61e..738cfb078 100644
--- a/src/main/java/org/scijava/run/RunService.java
+++ b/src/main/java/org/scijava/run/RunService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/run/console/RunArgument.java b/src/main/java/org/scijava/run/console/RunArgument.java
index 373da220d..028440a5e 100644
--- a/src/main/java/org/scijava/run/console/RunArgument.java
+++ b/src/main/java/org/scijava/run/console/RunArgument.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/AbstractAutoCompleter.java b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
index effad4d7f..ae255f5a2 100644
--- a/src/main/java/org/scijava/script/AbstractAutoCompleter.java
+++ b/src/main/java/org/scijava/script/AbstractAutoCompleter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/AbstractScriptContext.java b/src/main/java/org/scijava/script/AbstractScriptContext.java
index bc2290a23..3f69d608a 100644
--- a/src/main/java/org/scijava/script/AbstractScriptContext.java
+++ b/src/main/java/org/scijava/script/AbstractScriptContext.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/AbstractScriptEngine.java b/src/main/java/org/scijava/script/AbstractScriptEngine.java
index b62aa5c2f..c64f967c3 100644
--- a/src/main/java/org/scijava/script/AbstractScriptEngine.java
+++ b/src/main/java/org/scijava/script/AbstractScriptEngine.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/AbstractScriptHeader.java b/src/main/java/org/scijava/script/AbstractScriptHeader.java
index 03306775e..6dcf2650c 100644
--- a/src/main/java/org/scijava/script/AbstractScriptHeader.java
+++ b/src/main/java/org/scijava/script/AbstractScriptHeader.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/AbstractScriptLanguage.java b/src/main/java/org/scijava/script/AbstractScriptLanguage.java
index f99cba338..6f048fc89 100644
--- a/src/main/java/org/scijava/script/AbstractScriptLanguage.java
+++ b/src/main/java/org/scijava/script/AbstractScriptLanguage.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/AdaptedScriptEngine.java b/src/main/java/org/scijava/script/AdaptedScriptEngine.java
index 3144c16af..14e0d5a72 100644
--- a/src/main/java/org/scijava/script/AdaptedScriptEngine.java
+++ b/src/main/java/org/scijava/script/AdaptedScriptEngine.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java
index 084256755..695c214a9 100644
--- a/src/main/java/org/scijava/script/AdaptedScriptLanguage.java
+++ b/src/main/java/org/scijava/script/AdaptedScriptLanguage.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/AutoCompleter.java b/src/main/java/org/scijava/script/AutoCompleter.java
index 190dddd80..334addd58 100644
--- a/src/main/java/org/scijava/script/AutoCompleter.java
+++ b/src/main/java/org/scijava/script/AutoCompleter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/AutoCompletionResult.java b/src/main/java/org/scijava/script/AutoCompletionResult.java
index 5d65a3f36..8f5ac4d5c 100644
--- a/src/main/java/org/scijava/script/AutoCompletionResult.java
+++ b/src/main/java/org/scijava/script/AutoCompletionResult.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/CodeGenerator.java b/src/main/java/org/scijava/script/CodeGenerator.java
index ae578fb40..894ce8f54 100644
--- a/src/main/java/org/scijava/script/CodeGenerator.java
+++ b/src/main/java/org/scijava/script/CodeGenerator.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/CodeGeneratorJava.java b/src/main/java/org/scijava/script/CodeGeneratorJava.java
index 69a038be1..84e9e09c1 100644
--- a/src/main/java/org/scijava/script/CodeGeneratorJava.java
+++ b/src/main/java/org/scijava/script/CodeGeneratorJava.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/DefaultAutoCompleter.java b/src/main/java/org/scijava/script/DefaultAutoCompleter.java
index 18ebb0dcb..2de11644b 100644
--- a/src/main/java/org/scijava/script/DefaultAutoCompleter.java
+++ b/src/main/java/org/scijava/script/DefaultAutoCompleter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java
index fd34edbd6..284479134 100644
--- a/src/main/java/org/scijava/script/DefaultScriptHeaderService.java
+++ b/src/main/java/org/scijava/script/DefaultScriptHeaderService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java
index 664ccc300..d3448d373 100644
--- a/src/main/java/org/scijava/script/DefaultScriptInterpreter.java
+++ b/src/main/java/org/scijava/script/DefaultScriptInterpreter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/DefaultScriptService.java b/src/main/java/org/scijava/script/DefaultScriptService.java
index f8bd5e952..72b2403d3 100644
--- a/src/main/java/org/scijava/script/DefaultScriptService.java
+++ b/src/main/java/org/scijava/script/DefaultScriptService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/InvocationObject.java b/src/main/java/org/scijava/script/InvocationObject.java
index 1e768a057..3d9c0ce55 100644
--- a/src/main/java/org/scijava/script/InvocationObject.java
+++ b/src/main/java/org/scijava/script/InvocationObject.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/ParameterObject.java b/src/main/java/org/scijava/script/ParameterObject.java
index df2374beb..2f18323b8 100644
--- a/src/main/java/org/scijava/script/ParameterObject.java
+++ b/src/main/java/org/scijava/script/ParameterObject.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/ScriptCLI.java b/src/main/java/org/scijava/script/ScriptCLI.java
index db53036a3..e20cf8918 100644
--- a/src/main/java/org/scijava/script/ScriptCLI.java
+++ b/src/main/java/org/scijava/script/ScriptCLI.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/ScriptFinder.java b/src/main/java/org/scijava/script/ScriptFinder.java
index 55aad7ed5..89e4c1b16 100644
--- a/src/main/java/org/scijava/script/ScriptFinder.java
+++ b/src/main/java/org/scijava/script/ScriptFinder.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/ScriptHeader.java b/src/main/java/org/scijava/script/ScriptHeader.java
index fbaff7497..417551358 100644
--- a/src/main/java/org/scijava/script/ScriptHeader.java
+++ b/src/main/java/org/scijava/script/ScriptHeader.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/ScriptHeaderService.java b/src/main/java/org/scijava/script/ScriptHeaderService.java
index c1e167ade..a58dd7f81 100644
--- a/src/main/java/org/scijava/script/ScriptHeaderService.java
+++ b/src/main/java/org/scijava/script/ScriptHeaderService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/ScriptInfo.java b/src/main/java/org/scijava/script/ScriptInfo.java
index f643e0a54..8b9f1734e 100644
--- a/src/main/java/org/scijava/script/ScriptInfo.java
+++ b/src/main/java/org/scijava/script/ScriptInfo.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/ScriptInterpreter.java b/src/main/java/org/scijava/script/ScriptInterpreter.java
index 491847136..b48ad3254 100644
--- a/src/main/java/org/scijava/script/ScriptInterpreter.java
+++ b/src/main/java/org/scijava/script/ScriptInterpreter.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/ScriptLanguage.java b/src/main/java/org/scijava/script/ScriptLanguage.java
index f841f32c1..af1c27fc5 100644
--- a/src/main/java/org/scijava/script/ScriptLanguage.java
+++ b/src/main/java/org/scijava/script/ScriptLanguage.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/ScriptLanguageIndex.java b/src/main/java/org/scijava/script/ScriptLanguageIndex.java
index fe138cd28..b9e07d602 100644
--- a/src/main/java/org/scijava/script/ScriptLanguageIndex.java
+++ b/src/main/java/org/scijava/script/ScriptLanguageIndex.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -146,8 +146,8 @@ private boolean put(final String type, final Map map,
// Conflicting value; behavior depends on mode.
if (gently) {
// Do not overwrite the previous value.
- if (log != null && log.isWarn()) {
- log.warn(overwriteMessage(false, type, key, value, existing));
+ if (log != null && log.isDebug()) {
+ log.debug(overwriteMessage(false, type, key, value, existing));
}
return false;
}
diff --git a/src/main/java/org/scijava/script/ScriptModule.java b/src/main/java/org/scijava/script/ScriptModule.java
index dedf744f4..87fc5fb0d 100644
--- a/src/main/java/org/scijava/script/ScriptModule.java
+++ b/src/main/java/org/scijava/script/ScriptModule.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/ScriptREPL.java b/src/main/java/org/scijava/script/ScriptREPL.java
index 2a93a92c1..ec9e088c4 100644
--- a/src/main/java/org/scijava/script/ScriptREPL.java
+++ b/src/main/java/org/scijava/script/ScriptREPL.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/ScriptService.java b/src/main/java/org/scijava/script/ScriptService.java
index c1a61044d..e18e38d59 100644
--- a/src/main/java/org/scijava/script/ScriptService.java
+++ b/src/main/java/org/scijava/script/ScriptService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/console/RunScriptArgument.java b/src/main/java/org/scijava/script/console/RunScriptArgument.java
index b78065ee2..de6f3cbc6 100644
--- a/src/main/java/org/scijava/script/console/RunScriptArgument.java
+++ b/src/main/java/org/scijava/script/console/RunScriptArgument.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java
index b6b30209f..6f466accd 100644
--- a/src/main/java/org/scijava/script/io/ScriptIOPlugin.java
+++ b/src/main/java/org/scijava/script/io/ScriptIOPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java
index ded8f418d..5995b618e 100644
--- a/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java
+++ b/src/main/java/org/scijava/script/process/DefaultScriptProcessorService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java
index 4dfa5ff38..c3646466e 100644
--- a/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java
+++ b/src/main/java/org/scijava/script/process/DirectiveScriptProcessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
index 2e0dfd703..cb030c8d2 100644
--- a/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
+++ b/src/main/java/org/scijava/script/process/ParameterScriptProcessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/process/ScriptCallback.java b/src/main/java/org/scijava/script/process/ScriptCallback.java
index 445dd157e..849ab5f27 100644
--- a/src/main/java/org/scijava/script/process/ScriptCallback.java
+++ b/src/main/java/org/scijava/script/process/ScriptCallback.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java
index fffc58568..51c891acb 100644
--- a/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java
+++ b/src/main/java/org/scijava/script/process/ScriptDirectiveScriptProcessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -38,6 +38,8 @@
import org.scijava.module.ModuleService;
import org.scijava.plugin.Parameter;
import org.scijava.plugin.Plugin;
+import org.scijava.script.ScriptLanguage;
+import org.scijava.script.ScriptService;
/**
* A {@link ScriptProcessor} which parses the {@code #@script} directive.
@@ -97,7 +99,7 @@
public class ScriptDirectiveScriptProcessor extends DirectiveScriptProcessor {
public ScriptDirectiveScriptProcessor() {
- super(directive -> "script".equals(directive));
+ super("script"::equals);
}
@Parameter
@@ -106,6 +108,9 @@ public ScriptDirectiveScriptProcessor() {
@Parameter
private ModuleService moduleService;
+ @Parameter
+ private ScriptService scriptService;
+
// -- Internal DirectiveScriptProcessor methods --
@Override
@@ -125,6 +130,10 @@ private void assignAttribute(final String k, final Object v) {
if (is(k, "name")) info().setName(as(v, String.class));
else if (is(k, "label")) info().setLabel(as(v, String.class));
else if (is(k, "description")) info().setDescription(as(v, String.class));
+ else if (is(k, "language")) {
+ ScriptLanguage lang = parseScriptLanguage(v.toString());
+ if (lang != null) info().setLanguage(lang);
+ }
else if (is(k, "menuPath")) {
info().setMenuPath(new MenuPath(as(v, String.class)));
}
@@ -161,4 +170,12 @@ private Double priority(final Object p) {
if (lString.matches("last")) return Priority.LAST;
return null;
}
+
+ private ScriptLanguage parseScriptLanguage(final Object v) {
+ final String langHint = v.toString();
+ ScriptLanguage lang = scriptService.getLanguageByName(langHint);
+ if (lang == null) lang = scriptService.getLanguageByExtension(langHint);
+ if (lang == null) log.warn("Unknown script language: " + langHint);
+ return lang;
+ }
}
diff --git a/src/main/java/org/scijava/script/process/ScriptProcessor.java b/src/main/java/org/scijava/script/process/ScriptProcessor.java
index 415f51826..7e5347932 100644
--- a/src/main/java/org/scijava/script/process/ScriptProcessor.java
+++ b/src/main/java/org/scijava/script/process/ScriptProcessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/process/ScriptProcessorService.java b/src/main/java/org/scijava/script/process/ScriptProcessorService.java
index 811ab47d4..e78250b4d 100644
--- a/src/main/java/org/scijava/script/process/ScriptProcessorService.java
+++ b/src/main/java/org/scijava/script/process/ScriptProcessorService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java
index f7edef985..188f50906 100644
--- a/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java
+++ b/src/main/java/org/scijava/script/process/ShebangScriptProcessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java
index 8d4a4a61c..86c73042b 100644
--- a/src/main/java/org/scijava/script/run/ScriptCodeRunner.java
+++ b/src/main/java/org/scijava/script/run/ScriptCodeRunner.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/service/AbstractService.java b/src/main/java/org/scijava/service/AbstractService.java
index 841c8c468..d8f3ef1da 100644
--- a/src/main/java/org/scijava/service/AbstractService.java
+++ b/src/main/java/org/scijava/service/AbstractService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/service/SciJavaService.java b/src/main/java/org/scijava/service/SciJavaService.java
index 869ce3269..d252e1b52 100644
--- a/src/main/java/org/scijava/service/SciJavaService.java
+++ b/src/main/java/org/scijava/service/SciJavaService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/service/Service.java b/src/main/java/org/scijava/service/Service.java
index 392a6dc08..a7119ba21 100644
--- a/src/main/java/org/scijava/service/Service.java
+++ b/src/main/java/org/scijava/service/Service.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/service/ServiceHelper.java b/src/main/java/org/scijava/service/ServiceHelper.java
index d7ad8003e..0cf2a21ed 100644
--- a/src/main/java/org/scijava/service/ServiceHelper.java
+++ b/src/main/java/org/scijava/service/ServiceHelper.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/service/ServiceIndex.java b/src/main/java/org/scijava/service/ServiceIndex.java
index 962952d3e..910c6273d 100644
--- a/src/main/java/org/scijava/service/ServiceIndex.java
+++ b/src/main/java/org/scijava/service/ServiceIndex.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java
index 2b9e9a119..e2fc6e3fe 100644
--- a/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java
+++ b/src/main/java/org/scijava/service/event/ServicesLoadedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/startup/DefaultStartupService.java b/src/main/java/org/scijava/startup/DefaultStartupService.java
index 356437eb4..d3b253a58 100644
--- a/src/main/java/org/scijava/startup/DefaultStartupService.java
+++ b/src/main/java/org/scijava/startup/DefaultStartupService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/startup/StartupService.java b/src/main/java/org/scijava/startup/StartupService.java
index 6a47f97d1..6446b3447 100644
--- a/src/main/java/org/scijava/startup/StartupService.java
+++ b/src/main/java/org/scijava/startup/StartupService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/task/DefaultTask.java b/src/main/java/org/scijava/task/DefaultTask.java
index a275c3505..310dd8f15 100644
--- a/src/main/java/org/scijava/task/DefaultTask.java
+++ b/src/main/java/org/scijava/task/DefaultTask.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/task/DefaultTaskService.java b/src/main/java/org/scijava/task/DefaultTaskService.java
index 5ad770f25..7a2016f51 100644
--- a/src/main/java/org/scijava/task/DefaultTaskService.java
+++ b/src/main/java/org/scijava/task/DefaultTaskService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/task/Task.java b/src/main/java/org/scijava/task/Task.java
index a91cdcf6b..1dd539ab5 100644
--- a/src/main/java/org/scijava/task/Task.java
+++ b/src/main/java/org/scijava/task/Task.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/task/TaskService.java b/src/main/java/org/scijava/task/TaskService.java
index 5bf0cb2f8..d3a46b7f9 100644
--- a/src/main/java/org/scijava/task/TaskService.java
+++ b/src/main/java/org/scijava/task/TaskService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/task/event/TaskEvent.java b/src/main/java/org/scijava/task/event/TaskEvent.java
index 4173c3bc5..bb4cfb4dd 100644
--- a/src/main/java/org/scijava/task/event/TaskEvent.java
+++ b/src/main/java/org/scijava/task/event/TaskEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/test/TestUtils.java b/src/main/java/org/scijava/test/TestUtils.java
index 692b4fd25..fd4ed17c7 100644
--- a/src/main/java/org/scijava/test/TestUtils.java
+++ b/src/main/java/org/scijava/test/TestUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/text/AbstractTextFormat.java b/src/main/java/org/scijava/text/AbstractTextFormat.java
index 3bb2edc9e..f07498edd 100644
--- a/src/main/java/org/scijava/text/AbstractTextFormat.java
+++ b/src/main/java/org/scijava/text/AbstractTextFormat.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/text/DefaultTextService.java b/src/main/java/org/scijava/text/DefaultTextService.java
index a81ed7c0e..9a562a334 100644
--- a/src/main/java/org/scijava/text/DefaultTextService.java
+++ b/src/main/java/org/scijava/text/DefaultTextService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/text/TextFormat.java b/src/main/java/org/scijava/text/TextFormat.java
index 05ec572c7..66f5fc405 100644
--- a/src/main/java/org/scijava/text/TextFormat.java
+++ b/src/main/java/org/scijava/text/TextFormat.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/text/TextService.java b/src/main/java/org/scijava/text/TextService.java
index 75bae744a..6884d700f 100644
--- a/src/main/java/org/scijava/text/TextService.java
+++ b/src/main/java/org/scijava/text/TextService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/text/io/DefaultTextIOService.java b/src/main/java/org/scijava/text/io/DefaultTextIOService.java
index d27ec4657..a16fc1933 100644
--- a/src/main/java/org/scijava/text/io/DefaultTextIOService.java
+++ b/src/main/java/org/scijava/text/io/DefaultTextIOService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/text/io/TextIOPlugin.java b/src/main/java/org/scijava/text/io/TextIOPlugin.java
index 16e9ba34f..cd4d4e5c4 100644
--- a/src/main/java/org/scijava/text/io/TextIOPlugin.java
+++ b/src/main/java/org/scijava/text/io/TextIOPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/text/io/TextIOService.java b/src/main/java/org/scijava/text/io/TextIOService.java
index a218aec0f..d21d11c87 100644
--- a/src/main/java/org/scijava/text/io/TextIOService.java
+++ b/src/main/java/org/scijava/text/io/TextIOService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/thread/DefaultThreadService.java b/src/main/java/org/scijava/thread/DefaultThreadService.java
index 6f48f9e34..121dc74e1 100644
--- a/src/main/java/org/scijava/thread/DefaultThreadService.java
+++ b/src/main/java/org/scijava/thread/DefaultThreadService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/thread/ThreadService.java b/src/main/java/org/scijava/thread/ThreadService.java
index aeec0d1ba..3531fc2a3 100644
--- a/src/main/java/org/scijava/thread/ThreadService.java
+++ b/src/main/java/org/scijava/thread/ThreadService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/tool/AbstractTool.java b/src/main/java/org/scijava/tool/AbstractTool.java
index 4ec4bd878..35f3d0d0d 100644
--- a/src/main/java/org/scijava/tool/AbstractTool.java
+++ b/src/main/java/org/scijava/tool/AbstractTool.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/tool/CustomDrawnTool.java b/src/main/java/org/scijava/tool/CustomDrawnTool.java
index 10aafc9db..b7e766542 100644
--- a/src/main/java/org/scijava/tool/CustomDrawnTool.java
+++ b/src/main/java/org/scijava/tool/CustomDrawnTool.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/tool/DefaultToolService.java b/src/main/java/org/scijava/tool/DefaultToolService.java
index e59976a8f..a8ae89fe7 100644
--- a/src/main/java/org/scijava/tool/DefaultToolService.java
+++ b/src/main/java/org/scijava/tool/DefaultToolService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/tool/DummyTool.java b/src/main/java/org/scijava/tool/DummyTool.java
index 6dc220279..f8b90807e 100644
--- a/src/main/java/org/scijava/tool/DummyTool.java
+++ b/src/main/java/org/scijava/tool/DummyTool.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/tool/IconDrawer.java b/src/main/java/org/scijava/tool/IconDrawer.java
index 2493b7880..1c4778eb1 100644
--- a/src/main/java/org/scijava/tool/IconDrawer.java
+++ b/src/main/java/org/scijava/tool/IconDrawer.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/tool/IconService.java b/src/main/java/org/scijava/tool/IconService.java
index 0d6349818..8c7473dcb 100644
--- a/src/main/java/org/scijava/tool/IconService.java
+++ b/src/main/java/org/scijava/tool/IconService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/tool/Tool.java b/src/main/java/org/scijava/tool/Tool.java
index 31adad6d6..b42af857e 100644
--- a/src/main/java/org/scijava/tool/Tool.java
+++ b/src/main/java/org/scijava/tool/Tool.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/tool/ToolService.java b/src/main/java/org/scijava/tool/ToolService.java
index 8fe2855f9..061f3fed4 100644
--- a/src/main/java/org/scijava/tool/ToolService.java
+++ b/src/main/java/org/scijava/tool/ToolService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java
index e2eabdf0d..3ab52fca2 100644
--- a/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java
+++ b/src/main/java/org/scijava/tool/event/ToolActivatedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java
index 5b668aa23..fc61e8332 100644
--- a/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java
+++ b/src/main/java/org/scijava/tool/event/ToolDeactivatedEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/tool/event/ToolEvent.java b/src/main/java/org/scijava/tool/event/ToolEvent.java
index 553fd83e1..f55392dc8 100644
--- a/src/main/java/org/scijava/tool/event/ToolEvent.java
+++ b/src/main/java/org/scijava/tool/event/ToolEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/ARGBPlane.java b/src/main/java/org/scijava/ui/ARGBPlane.java
index b30d9df8f..7d158e366 100644
--- a/src/main/java/org/scijava/ui/ARGBPlane.java
+++ b/src/main/java/org/scijava/ui/ARGBPlane.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java
index b29383470..71afdf0cc 100644
--- a/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java
+++ b/src/main/java/org/scijava/ui/AbstractInputHarvesterPlugin.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java
index 606864da0..04561a123 100644
--- a/src/main/java/org/scijava/ui/AbstractUIInputWidget.java
+++ b/src/main/java/org/scijava/ui/AbstractUIInputWidget.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/AbstractUserInterface.java b/src/main/java/org/scijava/ui/AbstractUserInterface.java
index fd9cc24d1..8b5e426a5 100644
--- a/src/main/java/org/scijava/ui/AbstractUserInterface.java
+++ b/src/main/java/org/scijava/ui/AbstractUserInterface.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -79,6 +79,7 @@ public abstract class AbstractUserInterface extends AbstractRichPlugin
@Override
public void show() {
+ if (visible) return;
createUI();
visible = true;
}
diff --git a/src/main/java/org/scijava/ui/ApplicationFrame.java b/src/main/java/org/scijava/ui/ApplicationFrame.java
index 98a2ce24d..571ab621e 100644
--- a/src/main/java/org/scijava/ui/ApplicationFrame.java
+++ b/src/main/java/org/scijava/ui/ApplicationFrame.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/Arrangeable.java b/src/main/java/org/scijava/ui/Arrangeable.java
index 19c8cd3a3..1b92b5768 100644
--- a/src/main/java/org/scijava/ui/Arrangeable.java
+++ b/src/main/java/org/scijava/ui/Arrangeable.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/CloseConfirmable.java b/src/main/java/org/scijava/ui/CloseConfirmable.java
index 729a15ed5..73e657b63 100644
--- a/src/main/java/org/scijava/ui/CloseConfirmable.java
+++ b/src/main/java/org/scijava/ui/CloseConfirmable.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/DefaultUIService.java b/src/main/java/org/scijava/ui/DefaultUIService.java
index fe787ad5c..7c8103a4c 100644
--- a/src/main/java/org/scijava/ui/DefaultUIService.java
+++ b/src/main/java/org/scijava/ui/DefaultUIService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -32,6 +32,7 @@
import java.awt.GraphicsEnvironment;
import java.io.File;
import java.io.FileFilter;
+import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -161,10 +162,25 @@ public void showUI(final String name) {
@Override
public void showUI(final UserInterface ui) {
log.debug("Launching user interface: " + ui.getClass().getName());
- ui.show();
- // NB: Also show all the current displays.
- for (final Display> display : displayService.getDisplays()) {
- ui.show(display);
+ Runnable showUI = () -> {
+ ui.show();
+ // NB: Also show all the current displays.
+ for (final Display> display : displayService.getDisplays()) {
+ ui.show(display);
+ }
+ };
+
+ // Dispatch on EDT if necessary
+ if (ui.requiresEDT()) {
+ try {
+ threadService.invoke(showUI);
+ }
+ catch (InterruptedException | InvocationTargetException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ else {
+ showUI.run();
}
eventService.publish(new UIShownEvent(ui));
}
diff --git a/src/main/java/org/scijava/ui/Desktop.java b/src/main/java/org/scijava/ui/Desktop.java
index e851e6634..4e39f09dd 100644
--- a/src/main/java/org/scijava/ui/Desktop.java
+++ b/src/main/java/org/scijava/ui/Desktop.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/DialogPrompt.java b/src/main/java/org/scijava/ui/DialogPrompt.java
index 7a14960e2..0f598875a 100644
--- a/src/main/java/org/scijava/ui/DialogPrompt.java
+++ b/src/main/java/org/scijava/ui/DialogPrompt.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/FileListPreprocessor.java b/src/main/java/org/scijava/ui/FileListPreprocessor.java
index 1f3227731..9d8da8f0b 100644
--- a/src/main/java/org/scijava/ui/FileListPreprocessor.java
+++ b/src/main/java/org/scijava/ui/FileListPreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/FilePreprocessor.java b/src/main/java/org/scijava/ui/FilePreprocessor.java
index 2076665ec..0e4a52d97 100644
--- a/src/main/java/org/scijava/ui/FilePreprocessor.java
+++ b/src/main/java/org/scijava/ui/FilePreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/StatusBar.java b/src/main/java/org/scijava/ui/StatusBar.java
index 1d2c39232..009a5a7e0 100644
--- a/src/main/java/org/scijava/ui/StatusBar.java
+++ b/src/main/java/org/scijava/ui/StatusBar.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/SystemClipboard.java b/src/main/java/org/scijava/ui/SystemClipboard.java
index 1a362d55e..a2f5b2c59 100644
--- a/src/main/java/org/scijava/ui/SystemClipboard.java
+++ b/src/main/java/org/scijava/ui/SystemClipboard.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/ToolBar.java b/src/main/java/org/scijava/ui/ToolBar.java
index c7e4de97b..289dbc8b4 100644
--- a/src/main/java/org/scijava/ui/ToolBar.java
+++ b/src/main/java/org/scijava/ui/ToolBar.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/UIPreprocessor.java b/src/main/java/org/scijava/ui/UIPreprocessor.java
index eb7780a4f..d9af6ebca 100644
--- a/src/main/java/org/scijava/ui/UIPreprocessor.java
+++ b/src/main/java/org/scijava/ui/UIPreprocessor.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/UIService.java b/src/main/java/org/scijava/ui/UIService.java
index 0f3958698..a86652b8e 100644
--- a/src/main/java/org/scijava/ui/UIService.java
+++ b/src/main/java/org/scijava/ui/UIService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/UserInterface.java b/src/main/java/org/scijava/ui/UserInterface.java
index 54dbfb767..c2808bdc1 100644
--- a/src/main/java/org/scijava/ui/UserInterface.java
+++ b/src/main/java/org/scijava/ui/UserInterface.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -41,6 +41,7 @@
import org.scijava.ui.console.ConsolePane;
import org.scijava.ui.viewer.DisplayWindow;
import org.scijava.widget.FileWidget;
+import org.scijava.widget.WidgetStyle;
/**
* An end-user SciJava application user interface.
@@ -160,11 +161,11 @@ DialogPrompt dialogPrompt(String message, String title,
default File chooseFile(final File file, final String style) {
final String title;
// style can be a string with multiple comma-separated keywords
- // TODO use a utility class for style handling, e.g. StyleUtils.isStyle(style, ...)
if (style == null) title = "Choose a file";
- else if (style.toLowerCase().contains(FileWidget.DIRECTORY_STYLE)) title = "Choose a directory";
- else if (style.toLowerCase().contains(FileWidget.OPEN_STYLE)) title = "Open";
- else if (style.toLowerCase().contains(FileWidget.SAVE_STYLE)) title = "Save";
+ else if (WidgetStyle.isStyle(style, FileWidget.DIRECTORY_STYLE)) title = "Choose a directory";
+ else if (WidgetStyle.isStyle(style, FileWidget.FILE_AND_DIRECTORY_STYLE)) title = "Choose a file or directory";
+ else if (WidgetStyle.isStyle(style, FileWidget.OPEN_STYLE)) title = "Open";
+ else if (WidgetStyle.isStyle(style, FileWidget.SAVE_STYLE)) title = "Save";
else title = "Choose a file";
return chooseFile(title, file, style);
@@ -180,6 +181,7 @@ default File chooseFile(final File file, final String style) {
*
{@link FileWidget#OPEN_STYLE}
*
{@link FileWidget#SAVE_STYLE}
*
{@link FileWidget#DIRECTORY_STYLE}
+ *
{@link FileWidget#FILE_AND_DIRECTORY_STYLE}
*
* @return The {@link File} chosen by the user, or null if prompt is not
* available
diff --git a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java
index b9de2570f..1657a42e4 100644
--- a/src/main/java/org/scijava/ui/console/AbstractConsolePane.java
+++ b/src/main/java/org/scijava/ui/console/AbstractConsolePane.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/console/ConsolePane.java b/src/main/java/org/scijava/ui/console/ConsolePane.java
index 3db7788d4..de3c876b0 100644
--- a/src/main/java/org/scijava/ui/console/ConsolePane.java
+++ b/src/main/java/org/scijava/ui/console/ConsolePane.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/console/HeadlessArgument.java b/src/main/java/org/scijava/ui/console/HeadlessArgument.java
index 601b3d3ed..821dd516e 100644
--- a/src/main/java/org/scijava/ui/console/HeadlessArgument.java
+++ b/src/main/java/org/scijava/ui/console/HeadlessArgument.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/console/ShowUIArgument.java b/src/main/java/org/scijava/ui/console/ShowUIArgument.java
index 3c4cd4a7a..00b7a192f 100644
--- a/src/main/java/org/scijava/ui/console/ShowUIArgument.java
+++ b/src/main/java/org/scijava/ui/console/ShowUIArgument.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/console/UIArgument.java b/src/main/java/org/scijava/ui/console/UIArgument.java
index 40ee7986f..8f962fbe7 100644
--- a/src/main/java/org/scijava/ui/console/UIArgument.java
+++ b/src/main/java/org/scijava/ui/console/UIArgument.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java
index dfc445dca..0e9d59514 100644
--- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java
+++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropData.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java
index 53b24aae6..77bf71ca0 100644
--- a/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java
+++ b/src/main/java/org/scijava/ui/dnd/AbstractDragAndDropHandler.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java
index fc7f00803..e6095d0ea 100644
--- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java
+++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropData.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java
index 5a15efe09..4b36ad97d 100644
--- a/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java
+++ b/src/main/java/org/scijava/ui/dnd/DefaultDragAndDropService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java
index 8cc4e082f..2d3c6f856 100644
--- a/src/main/java/org/scijava/ui/dnd/DragAndDropData.java
+++ b/src/main/java/org/scijava/ui/dnd/DragAndDropData.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java
index 0377f1f03..419ef09e6 100644
--- a/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java
+++ b/src/main/java/org/scijava/ui/dnd/DragAndDropHandler.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java
index 2319a5c41..d63c06e53 100644
--- a/src/main/java/org/scijava/ui/dnd/DragAndDropService.java
+++ b/src/main/java/org/scijava/ui/dnd/DragAndDropService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java
index 336c94e20..4e16054f7 100644
--- a/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java
+++ b/src/main/java/org/scijava/ui/dnd/FileDragAndDropHandler.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java
index 42c2490c4..0057d863e 100644
--- a/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java
+++ b/src/main/java/org/scijava/ui/dnd/ListDragAndDropHandler.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/MIMEType.java b/src/main/java/org/scijava/ui/dnd/MIMEType.java
index db21cac88..71e1f13f1 100644
--- a/src/main/java/org/scijava/ui/dnd/MIMEType.java
+++ b/src/main/java/org/scijava/ui/dnd/MIMEType.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java
index a5e0cb5b6..f456671ae 100644
--- a/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java
+++ b/src/main/java/org/scijava/ui/dnd/ScriptFileDragAndDropHandler.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java
index aa8f3c624..4aecd6b8b 100644
--- a/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java
+++ b/src/main/java/org/scijava/ui/dnd/event/DragAndDropEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java
index b221fdadc..7b09815ba 100644
--- a/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java
+++ b/src/main/java/org/scijava/ui/dnd/event/DragEnterEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java
index 268b9b0c9..5f07f0b9d 100644
--- a/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java
+++ b/src/main/java/org/scijava/ui/dnd/event/DragExitEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java
index fd93d52eb..7baeaa77e 100644
--- a/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java
+++ b/src/main/java/org/scijava/ui/dnd/event/DragOverEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java
index a4a6ac4fe..2775e56f0 100644
--- a/src/main/java/org/scijava/ui/dnd/event/DropEvent.java
+++ b/src/main/java/org/scijava/ui/dnd/event/DropEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/event/UIEvent.java b/src/main/java/org/scijava/ui/event/UIEvent.java
index 92f876cd3..84a32ed63 100644
--- a/src/main/java/org/scijava/ui/event/UIEvent.java
+++ b/src/main/java/org/scijava/ui/event/UIEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/event/UIShownEvent.java b/src/main/java/org/scijava/ui/event/UIShownEvent.java
index c5e1fb2e3..2de7f2685 100644
--- a/src/main/java/org/scijava/ui/event/UIShownEvent.java
+++ b/src/main/java/org/scijava/ui/event/UIShownEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java
index 2dfa036da..dc65aae76 100644
--- a/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java
+++ b/src/main/java/org/scijava/ui/headless/HeadlessDisplayViewer.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/headless/HeadlessUI.java b/src/main/java/org/scijava/ui/headless/HeadlessUI.java
index 63cb32d5c..04536a6c0 100644
--- a/src/main/java/org/scijava/ui/headless/HeadlessUI.java
+++ b/src/main/java/org/scijava/ui/headless/HeadlessUI.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java
index d3f48f2fc..d473685b3 100644
--- a/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java
+++ b/src/main/java/org/scijava/ui/headlessUI/HeadlessUI.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java
index e705cbbb7..418f43830 100644
--- a/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java
+++ b/src/main/java/org/scijava/ui/viewer/AbstractDisplayViewer.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java
index c51213d04..3f88949e4 100644
--- a/src/main/java/org/scijava/ui/viewer/DisplayPanel.java
+++ b/src/main/java/org/scijava/ui/viewer/DisplayPanel.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java
index de99dfc95..9698cb56e 100644
--- a/src/main/java/org/scijava/ui/viewer/DisplayViewer.java
+++ b/src/main/java/org/scijava/ui/viewer/DisplayViewer.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java
index 2a45a3427..c6397ed6e 100644
--- a/src/main/java/org/scijava/ui/viewer/DisplayWindow.java
+++ b/src/main/java/org/scijava/ui/viewer/DisplayWindow.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java
index a737da1f5..e19a33e18 100644
--- a/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java
+++ b/src/main/java/org/scijava/ui/viewer/text/AbstractTextDisplayViewer.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java
index 9ca4ae5be..107d46aa8 100644
--- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java
+++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayPanel.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java
index fe8343711..4efb2adb1 100644
--- a/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java
+++ b/src/main/java/org/scijava/ui/viewer/text/TextDisplayViewer.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java
index 6c1a720b2..6b284c0c3 100644
--- a/src/main/java/org/scijava/util/AbstractPrimitiveArray.java
+++ b/src/main/java/org/scijava/util/AbstractPrimitiveArray.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/AppUtils.java b/src/main/java/org/scijava/util/AppUtils.java
index 4dd310c6a..134aa2ac4 100644
--- a/src/main/java/org/scijava/util/AppUtils.java
+++ b/src/main/java/org/scijava/util/AppUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/ArrayUtils.java b/src/main/java/org/scijava/util/ArrayUtils.java
index db6efcdbf..42afdfbcb 100644
--- a/src/main/java/org/scijava/util/ArrayUtils.java
+++ b/src/main/java/org/scijava/util/ArrayUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/BoolArray.java b/src/main/java/org/scijava/util/BoolArray.java
index 3ea2bee18..d0d6589b7 100644
--- a/src/main/java/org/scijava/util/BoolArray.java
+++ b/src/main/java/org/scijava/util/BoolArray.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/ByteArray.java b/src/main/java/org/scijava/util/ByteArray.java
index f5eda9f65..ad092abb5 100644
--- a/src/main/java/org/scijava/util/ByteArray.java
+++ b/src/main/java/org/scijava/util/ByteArray.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/Bytes.java b/src/main/java/org/scijava/util/Bytes.java
index 759383d73..5b56f8d03 100644
--- a/src/main/java/org/scijava/util/Bytes.java
+++ b/src/main/java/org/scijava/util/Bytes.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/CharArray.java b/src/main/java/org/scijava/util/CharArray.java
index cdfa1de15..8459597da 100644
--- a/src/main/java/org/scijava/util/CharArray.java
+++ b/src/main/java/org/scijava/util/CharArray.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/CheckSezpoz.java b/src/main/java/org/scijava/util/CheckSezpoz.java
index 235db46fd..d5f384f9e 100644
--- a/src/main/java/org/scijava/util/CheckSezpoz.java
+++ b/src/main/java/org/scijava/util/CheckSezpoz.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/ClassUtils.java b/src/main/java/org/scijava/util/ClassUtils.java
index 8569b4bd6..e9e7e4dc0 100644
--- a/src/main/java/org/scijava/util/ClassUtils.java
+++ b/src/main/java/org/scijava/util/ClassUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/ColorRGB.java b/src/main/java/org/scijava/util/ColorRGB.java
index cfc211e04..5cbcfb181 100644
--- a/src/main/java/org/scijava/util/ColorRGB.java
+++ b/src/main/java/org/scijava/util/ColorRGB.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/ColorRGBA.java b/src/main/java/org/scijava/util/ColorRGBA.java
index e78221623..34f2dac25 100644
--- a/src/main/java/org/scijava/util/ColorRGBA.java
+++ b/src/main/java/org/scijava/util/ColorRGBA.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/Colors.java b/src/main/java/org/scijava/util/Colors.java
index 2f616b838..c8d70d55f 100644
--- a/src/main/java/org/scijava/util/Colors.java
+++ b/src/main/java/org/scijava/util/Colors.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -115,8 +115,7 @@ public final class Colors {
public static final ColorRGB LIGHTBLUE = new ColorRGB(173, 216, 230);
public static final ColorRGB LIGHTCORAL = new ColorRGB(240, 128, 128);
public static final ColorRGB LIGHTCYAN = new ColorRGB(224, 255, 255);
- public static final ColorRGB LIGHTGOLDENRODYELLOW = new ColorRGB(250, 250,
- 210);
+ public static final ColorRGB LIGHTGOLDENRODYELLOW = new ColorRGB(250, 250, 210);
public static final ColorRGB LIGHTGRAY = new ColorRGB(211, 211, 211);
public static final ColorRGB LIGHTGREEN = new ColorRGB(144, 238, 144);
public static final ColorRGB LIGHTGREY = LIGHTGRAY;
@@ -194,19 +193,15 @@ public final class Colors {
public static final ColorRGB YELLOW = new ColorRGB(255, 255, 0);
public static final ColorRGB YELLOWGREEN = new ColorRGB(154, 205, 50);
- private static final Map COLORS =
- new HashMap<>();
+ private static final Map COLORS = new HashMap<>();
static {
- for (final Field f : Colors.class.getDeclaredFields()) {
+ for (final Field f : Colors.class.getFields()) {
final Object value;
try {
value = f.get(null);
}
- catch (final IllegalArgumentException e) {
- continue;
- }
- catch (final IllegalAccessException e) {
+ catch (final IllegalAccessException | IllegalArgumentException e) {
continue;
}
if (!(value instanceof ColorRGB)) continue; // not a color
diff --git a/src/main/java/org/scijava/util/CombineAnnotations.java b/src/main/java/org/scijava/util/CombineAnnotations.java
index dddf6046d..b248d64b3 100644
--- a/src/main/java/org/scijava/util/CombineAnnotations.java
+++ b/src/main/java/org/scijava/util/CombineAnnotations.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/Combiner.java b/src/main/java/org/scijava/util/Combiner.java
index 7b107d0fb..209c57c08 100644
--- a/src/main/java/org/scijava/util/Combiner.java
+++ b/src/main/java/org/scijava/util/Combiner.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/ConversionUtils.java b/src/main/java/org/scijava/util/ConversionUtils.java
index 7a01ba31f..e1dd17570 100644
--- a/src/main/java/org/scijava/util/ConversionUtils.java
+++ b/src/main/java/org/scijava/util/ConversionUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/DebugUtils.java b/src/main/java/org/scijava/util/DebugUtils.java
index 78f84c6fa..44e28f780 100644
--- a/src/main/java/org/scijava/util/DebugUtils.java
+++ b/src/main/java/org/scijava/util/DebugUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/DefaultTreeNode.java b/src/main/java/org/scijava/util/DefaultTreeNode.java
index e16bf02e5..e2c97985d 100644
--- a/src/main/java/org/scijava/util/DefaultTreeNode.java
+++ b/src/main/java/org/scijava/util/DefaultTreeNode.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/DigestUtils.java b/src/main/java/org/scijava/util/DigestUtils.java
index c63b035fb..84a79eb66 100644
--- a/src/main/java/org/scijava/util/DigestUtils.java
+++ b/src/main/java/org/scijava/util/DigestUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/DoubleArray.java b/src/main/java/org/scijava/util/DoubleArray.java
index 71aaaece8..de007478c 100644
--- a/src/main/java/org/scijava/util/DoubleArray.java
+++ b/src/main/java/org/scijava/util/DoubleArray.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/FileUtils.java b/src/main/java/org/scijava/util/FileUtils.java
index 73099aacc..2761edf73 100644
--- a/src/main/java/org/scijava/util/FileUtils.java
+++ b/src/main/java/org/scijava/util/FileUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -729,8 +729,9 @@ private static String classifiers() {
"sources",
"javadoc",
"natives?-?\\w*",
- "(natives-)?(android|linux|macosx|solaris|windows)-" +
- "(aarch64|amd64|arm|armv6|armv6hf|i586|universal|x86|x86_64)",
+ "(natives-)?(android|linux|macosx|macos|solaris|windows)-" +
+ "(aarch64|amd64|arm64|armv6hf|armv6|arm|" +
+ "i386|i486|i586|i686|universal|x86[_-]32|x86[_-]64|x86)",
};
final StringBuilder sb = new StringBuilder("(");
for (final String classifier : classifiers) {
diff --git a/src/main/java/org/scijava/util/FloatArray.java b/src/main/java/org/scijava/util/FloatArray.java
index 3c3bd00ce..49046497a 100644
--- a/src/main/java/org/scijava/util/FloatArray.java
+++ b/src/main/java/org/scijava/util/FloatArray.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/GenericUtils.java b/src/main/java/org/scijava/util/GenericUtils.java
index d470580e3..9cdb71614 100644
--- a/src/main/java/org/scijava/util/GenericUtils.java
+++ b/src/main/java/org/scijava/util/GenericUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/IntArray.java b/src/main/java/org/scijava/util/IntArray.java
index 32f2f027d..f3c6a8e71 100644
--- a/src/main/java/org/scijava/util/IntArray.java
+++ b/src/main/java/org/scijava/util/IntArray.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/IntCoords.java b/src/main/java/org/scijava/util/IntCoords.java
index 23d3bc238..d0498a7f3 100644
--- a/src/main/java/org/scijava/util/IntCoords.java
+++ b/src/main/java/org/scijava/util/IntCoords.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/IntRect.java b/src/main/java/org/scijava/util/IntRect.java
index 4c224be75..33670744f 100644
--- a/src/main/java/org/scijava/util/IntRect.java
+++ b/src/main/java/org/scijava/util/IntRect.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/IteratorPlus.java b/src/main/java/org/scijava/util/IteratorPlus.java
index da2c28dad..35c9cd3b6 100644
--- a/src/main/java/org/scijava/util/IteratorPlus.java
+++ b/src/main/java/org/scijava/util/IteratorPlus.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/LastRecentlyUsed.java b/src/main/java/org/scijava/util/LastRecentlyUsed.java
index 0714ce49c..50d292856 100644
--- a/src/main/java/org/scijava/util/LastRecentlyUsed.java
+++ b/src/main/java/org/scijava/util/LastRecentlyUsed.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/LineOutputStream.java b/src/main/java/org/scijava/util/LineOutputStream.java
index c3d95997d..b0cd47e87 100644
--- a/src/main/java/org/scijava/util/LineOutputStream.java
+++ b/src/main/java/org/scijava/util/LineOutputStream.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/ListUtils.java b/src/main/java/org/scijava/util/ListUtils.java
index 79c857461..8f07d06a3 100644
--- a/src/main/java/org/scijava/util/ListUtils.java
+++ b/src/main/java/org/scijava/util/ListUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/LongArray.java b/src/main/java/org/scijava/util/LongArray.java
index ee9a4a453..12ae4a737 100644
--- a/src/main/java/org/scijava/util/LongArray.java
+++ b/src/main/java/org/scijava/util/LongArray.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/Manifest.java b/src/main/java/org/scijava/util/Manifest.java
index e5f7fab67..58100535e 100644
--- a/src/main/java/org/scijava/util/Manifest.java
+++ b/src/main/java/org/scijava/util/Manifest.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/MersenneTwisterFast.java b/src/main/java/org/scijava/util/MersenneTwisterFast.java
index 089299ee0..e1cdb4a48 100644
--- a/src/main/java/org/scijava/util/MersenneTwisterFast.java
+++ b/src/main/java/org/scijava/util/MersenneTwisterFast.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/MetaInfCombiner.java b/src/main/java/org/scijava/util/MetaInfCombiner.java
index 4cb22cb05..3d03195f6 100644
--- a/src/main/java/org/scijava/util/MetaInfCombiner.java
+++ b/src/main/java/org/scijava/util/MetaInfCombiner.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/MirrorWebsite.java b/src/main/java/org/scijava/util/MirrorWebsite.java
index 4bd72155a..2b5bdf4f9 100644
--- a/src/main/java/org/scijava/util/MirrorWebsite.java
+++ b/src/main/java/org/scijava/util/MirrorWebsite.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/MiscUtils.java b/src/main/java/org/scijava/util/MiscUtils.java
index 667e7560a..eb9fad0c1 100644
--- a/src/main/java/org/scijava/util/MiscUtils.java
+++ b/src/main/java/org/scijava/util/MiscUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/NumberUtils.java b/src/main/java/org/scijava/util/NumberUtils.java
index 77137ecbe..ba3fdc6d9 100644
--- a/src/main/java/org/scijava/util/NumberUtils.java
+++ b/src/main/java/org/scijava/util/NumberUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/ObjectArray.java b/src/main/java/org/scijava/util/ObjectArray.java
index 486313d8c..daaa6e7ed 100644
--- a/src/main/java/org/scijava/util/ObjectArray.java
+++ b/src/main/java/org/scijava/util/ObjectArray.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/POM.java b/src/main/java/org/scijava/util/POM.java
index afd4771a0..ed7dc8009 100644
--- a/src/main/java/org/scijava/util/POM.java
+++ b/src/main/java/org/scijava/util/POM.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/PlatformUtils.java b/src/main/java/org/scijava/util/PlatformUtils.java
index 8e67ec1a3..a8b8cf909 100644
--- a/src/main/java/org/scijava/util/PlatformUtils.java
+++ b/src/main/java/org/scijava/util/PlatformUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/Prefs.java b/src/main/java/org/scijava/util/Prefs.java
index 4044f6762..f70bd70d1 100644
--- a/src/main/java/org/scijava/util/Prefs.java
+++ b/src/main/java/org/scijava/util/Prefs.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/PrimitiveArray.java b/src/main/java/org/scijava/util/PrimitiveArray.java
index 35a6c7498..6efb5e463 100644
--- a/src/main/java/org/scijava/util/PrimitiveArray.java
+++ b/src/main/java/org/scijava/util/PrimitiveArray.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/ProcessUtils.java b/src/main/java/org/scijava/util/ProcessUtils.java
index 9f97a24d0..2e5cb62e5 100644
--- a/src/main/java/org/scijava/util/ProcessUtils.java
+++ b/src/main/java/org/scijava/util/ProcessUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/PropertiesHelper.java b/src/main/java/org/scijava/util/PropertiesHelper.java
index 64c2336df..c2abeb78b 100644
--- a/src/main/java/org/scijava/util/PropertiesHelper.java
+++ b/src/main/java/org/scijava/util/PropertiesHelper.java
@@ -2,17 +2,17 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
- *
+ *
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. 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.
- *
+ *
* 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
diff --git a/src/main/java/org/scijava/util/Query.java b/src/main/java/org/scijava/util/Query.java
index 39914f518..7217b290e 100644
--- a/src/main/java/org/scijava/util/Query.java
+++ b/src/main/java/org/scijava/util/Query.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/ReadInto.java b/src/main/java/org/scijava/util/ReadInto.java
index 3aafebae3..cefca34fd 100644
--- a/src/main/java/org/scijava/util/ReadInto.java
+++ b/src/main/java/org/scijava/util/ReadInto.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/RealCoords.java b/src/main/java/org/scijava/util/RealCoords.java
index 7b49819fe..fd949dbbf 100644
--- a/src/main/java/org/scijava/util/RealCoords.java
+++ b/src/main/java/org/scijava/util/RealCoords.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/RealRect.java b/src/main/java/org/scijava/util/RealRect.java
index b149ba1d5..507406235 100644
--- a/src/main/java/org/scijava/util/RealRect.java
+++ b/src/main/java/org/scijava/util/RealRect.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/ReflectException.java b/src/main/java/org/scijava/util/ReflectException.java
index aa3e18849..bc4e0f246 100644
--- a/src/main/java/org/scijava/util/ReflectException.java
+++ b/src/main/java/org/scijava/util/ReflectException.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/ReflectedUniverse.java b/src/main/java/org/scijava/util/ReflectedUniverse.java
index 54ce3cd65..c43a05dab 100644
--- a/src/main/java/org/scijava/util/ReflectedUniverse.java
+++ b/src/main/java/org/scijava/util/ReflectedUniverse.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/ServiceCombiner.java b/src/main/java/org/scijava/util/ServiceCombiner.java
index 2a069ef5c..64053aa7c 100644
--- a/src/main/java/org/scijava/util/ServiceCombiner.java
+++ b/src/main/java/org/scijava/util/ServiceCombiner.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/ShortArray.java b/src/main/java/org/scijava/util/ShortArray.java
index 1f903b532..935bf6b96 100644
--- a/src/main/java/org/scijava/util/ShortArray.java
+++ b/src/main/java/org/scijava/util/ShortArray.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/Sizable.java b/src/main/java/org/scijava/util/Sizable.java
index 9c9d34a7a..21a1466d7 100644
--- a/src/main/java/org/scijava/util/Sizable.java
+++ b/src/main/java/org/scijava/util/Sizable.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/SizableArrayList.java b/src/main/java/org/scijava/util/SizableArrayList.java
index 89fa00b66..21ecdf0ac 100644
--- a/src/main/java/org/scijava/util/SizableArrayList.java
+++ b/src/main/java/org/scijava/util/SizableArrayList.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -29,9 +29,9 @@
package org.scijava.util;
-import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
/**
* An {@link ArrayList} whose size can be adjusted more efficiently.
@@ -84,42 +84,8 @@ public void setSize(final int size) {
else {
// need to add some elements
ensureCapacity(size);
- final boolean hackSuccessful = hackSize(size);
- if (!hackSuccessful) {
- // explicitly increase the size by adding nulls
- while (size() < size) add(null);
- }
+ addAll(Collections.nCopies(size - oldSize, null));
}
}
- // -- Helper methods --
-
- private boolean hackSize(final int size) {
- // HACK: Override the size field directly.
- final int oldSize;
- try {
- final Field sizeField = ArrayList.class.getDeclaredField("size");
- sizeField.setAccessible(true);
- oldSize = (Integer) sizeField.get(this);
- sizeField.set(this, size);
-
- // NB: Check that it worked. In the case of Java 1.7.0_45, it is possible
- // for the capacity to not *actually* be ensured, in which case
- // subsequently attempting to get the (size - 1)th value results in
- // ArrayIndexOutOfBoundsException. So let's be safe and verify it here.
- try {
- get(size - 1);
- }
- catch (final Exception exc) {
- // NB: Restore the previous size, then fail.
- sizeField.set(this, oldSize);
- return false;
- }
- }
- catch (final Exception exc) {
- return false;
- }
- return true;
- }
-
}
diff --git a/src/main/java/org/scijava/util/StringMaker.java b/src/main/java/org/scijava/util/StringMaker.java
index 3b2d1839c..3df9b8786 100644
--- a/src/main/java/org/scijava/util/StringMaker.java
+++ b/src/main/java/org/scijava/util/StringMaker.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/StringUtils.java b/src/main/java/org/scijava/util/StringUtils.java
index 5d72f80bd..a38afb144 100644
--- a/src/main/java/org/scijava/util/StringUtils.java
+++ b/src/main/java/org/scijava/util/StringUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/Timing.java b/src/main/java/org/scijava/util/Timing.java
index aec5a6d1e..9cd4a1863 100644
--- a/src/main/java/org/scijava/util/Timing.java
+++ b/src/main/java/org/scijava/util/Timing.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/TreeNode.java b/src/main/java/org/scijava/util/TreeNode.java
index a827556f9..f302f9e59 100644
--- a/src/main/java/org/scijava/util/TreeNode.java
+++ b/src/main/java/org/scijava/util/TreeNode.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/TunePlayer.java b/src/main/java/org/scijava/util/TunePlayer.java
index d14fd40b4..8ade8a695 100644
--- a/src/main/java/org/scijava/util/TunePlayer.java
+++ b/src/main/java/org/scijava/util/TunePlayer.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/Types.java b/src/main/java/org/scijava/util/Types.java
index d112b2114..f9c9068a9 100644
--- a/src/main/java/org/scijava/util/Types.java
+++ b/src/main/java/org/scijava/util/Types.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/UnitUtils.java b/src/main/java/org/scijava/util/UnitUtils.java
index d93471c25..43c13f1cb 100644
--- a/src/main/java/org/scijava/util/UnitUtils.java
+++ b/src/main/java/org/scijava/util/UnitUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/VersionUtils.java b/src/main/java/org/scijava/util/VersionUtils.java
index b5306c1de..2d7e97a32 100644
--- a/src/main/java/org/scijava/util/VersionUtils.java
+++ b/src/main/java/org/scijava/util/VersionUtils.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/util/XML.java b/src/main/java/org/scijava/util/XML.java
index 732b0ee0c..0dcbb1126 100644
--- a/src/main/java/org/scijava/util/XML.java
+++ b/src/main/java/org/scijava/util/XML.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java
index 817fc44f1..8977b0001 100644
--- a/src/main/java/org/scijava/welcome/DefaultWelcomeService.java
+++ b/src/main/java/org/scijava/welcome/DefaultWelcomeService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/welcome/WelcomeService.java b/src/main/java/org/scijava/welcome/WelcomeService.java
index a2819123f..8e2f77aec 100644
--- a/src/main/java/org/scijava/welcome/WelcomeService.java
+++ b/src/main/java/org/scijava/welcome/WelcomeService.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java
index f6f046b81..6f9c5946c 100644
--- a/src/main/java/org/scijava/welcome/event/WelcomeEvent.java
+++ b/src/main/java/org/scijava/welcome/event/WelcomeEvent.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/src/main/java/org/scijava/widget/AbstractInputHarvester.java b/src/main/java/org/scijava/widget/AbstractInputHarvester.java
index 2c259c400..0785fa157 100644
--- a/src/main/java/org/scijava/widget/AbstractInputHarvester.java
+++ b/src/main/java/org/scijava/widget/AbstractInputHarvester.java
@@ -2,7 +2,7 @@
* #%L
* SciJava Common shared library for SciJava software.
* %%
- * Copyright (C) 2009 - 2024 SciJava developers.
+ * Copyright (C) 2009 - 2026 SciJava developers.
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -30,9 +30,11 @@
package org.scijava.widget;
import java.util.ArrayList;
-import java.util.HashSet;
+import java.util.Arrays;
+import java.util.Collection;
import java.util.List;
import java.util.Set;
+import java.util.stream.Collectors;
import org.scijava.AbstractContextual;
import org.scijava.convert.ConvertService;
@@ -119,8 +121,15 @@ private WidgetModel addInput(final InputPanel
inputPanel,
}
if (item.isRequired()) {
- throw new ModuleException("A " + type.getSimpleName() +
- " is required but none exist.");
+ final List vowelSoundPrefixes = Arrays.asList(
+ "a", "e", "i", "o", "u", "honor", "honour", "hour", "xml"
+ );
+ final String typeName = type.getSimpleName();
+ final String article = vowelSoundPrefixes.stream().anyMatch(
+ prefix -> typeName.toLowerCase().startsWith(prefix)
+ ) ? "An" : "A";
+ throw new ModuleException(article + " " + typeName +
+ " is required but none is available.");
}
// item is not required; we can skip it
@@ -129,9 +138,24 @@ private WidgetModel addInput(final InputPanel
inputPanel,
/** Asks the object service and convert service for valid choices */
private List