You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2024/02/08 16:51:27 UTC
(sis) branch geoapi-4.0 updated (938b35b5e4 -> 738fd95772)
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a change to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
from 938b35b5e4 Deprecate `ArgumentChecks` methods that are replaced by Java 9 methods: - `ensureValidIndex`, replaced by `Objects.checkIndex`. - `ensureValidIndexRange`, replaced by `Objects.checkFromToIndex`.
new 9657ffffe8 Modernize the check for null argument value:
new a721c85238 Deprecate a method which is provided in the standard JDK since Java 21.
new 738fd95772 Move to public API the annotation used for documenting methods that use assertions for arguments validation.
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../org/apache/sis/coverage/SampleDimension.java | 3 +-
.../sis/coverage/grid/BufferedGridCoverage.java | 5 ++-
.../coverage/grid/CoordinateOperationFinder.java | 5 +--
.../sis/coverage/grid/DimensionalityReduction.java | 6 ++--
.../org/apache/sis/coverage/grid/GridCoverage.java | 8 ++---
.../apache/sis/coverage/grid/GridCoverage2D.java | 8 ++---
.../sis/coverage/grid/GridCoverageBuilder.java | 13 +++-----
.../sis/coverage/grid/GridCoverageProcessor.java | 4 ---
.../apache/sis/coverage/grid/GridDerivation.java | 11 +++----
.../org/apache/sis/coverage/grid/GridExtent.java | 11 +------
.../org/apache/sis/coverage/grid/GridGeometry.java | 5 ++-
.../apache/sis/coverage/grid/ImageRenderer.java | 9 ++----
.../apache/sis/coverage/grid/ReshapedImage.java | 2 --
.../sis/coverage/grid/j2d/ColorsForRange.java | 3 +-
.../sis/coverage/grid/j2d/TilePlaceholder.java | 5 ++-
.../sis/coverage/internal/CompoundTransform.java | 1 -
.../apache/sis/feature/AbstractAssociation.java | 3 --
.../org/apache/sis/feature/AbstractAttribute.java | 3 --
.../org/apache/sis/feature/AbstractFeature.java | 4 +--
.../apache/sis/feature/AbstractIdentifiedType.java | 5 ++-
.../org/apache/sis/feature/CharacteristicMap.java | 5 ---
.../apache/sis/feature/DefaultAssociationRole.java | 8 ++---
.../apache/sis/feature/DefaultAttributeType.java | 6 ++--
.../org/apache/sis/feature/DefaultFeatureType.java | 3 +-
.../main/org/apache/sis/feature/DenseFeature.java | 6 ++--
.../main/org/apache/sis/feature/FeatureFormat.java | 2 +-
.../main/org/apache/sis/feature/Field.java | 2 --
.../main/org/apache/sis/feature/LinkOperation.java | 2 --
.../apache/sis/feature/MultiValuedAssociation.java | 2 +-
.../org/apache/sis/feature/OperationResult.java | 3 +-
.../main/org/apache/sis/feature/SparseFeature.java | 6 ++--
.../apache/sis/feature/StringJoinOperation.java | 3 +-
.../main/org/apache/sis/filter/BinaryFunction.java | 8 ++---
.../apache/sis/filter/BinaryGeometryFilter.java | 4 +--
.../org/apache/sis/filter/BinarySpatialFilter.java | 5 ++-
.../org/apache/sis/filter/ComparisonFilter.java | 5 ++-
.../main/org/apache/sis/filter/DistanceFilter.java | 5 ++-
.../main/org/apache/sis/filter/LikeFilter.java | 7 ++--
.../main/org/apache/sis/filter/LogicalFilter.java | 4 +--
.../main/org/apache/sis/filter/UnaryFunction.java | 5 ++-
.../apache/sis/filter/internal/CopyVisitor.java | 8 ++---
.../sis/filter/internal/GeometryConverter.java | 8 ++---
.../org/apache/sis/geometry/wrapper/jts/JTS.java | 7 ++--
.../sis/geometry/wrapper/jts/ShapeAdapter.java | 3 +-
.../main/org/apache/sis/image/ComputedImage.java | 3 +-
.../main/org/apache/sis/image/DataType.java | 2 --
.../main/org/apache/sis/image/ImageAdapter.java | 5 ++-
.../main/org/apache/sis/image/ImageCombiner.java | 8 ++---
.../main/org/apache/sis/image/ImageProcessor.java | 18 +++++------
.../main/org/apache/sis/image/PixelIterator.java | 13 +++-----
.../main/org/apache/sis/image/PlanarImage.java | 5 ++-
.../main/org/apache/sis/image/UserProperties.java | 5 ++-
.../main/org/apache/sis/index/tree/PointTree.java | 5 ++-
.../apache/sis/feature/test/FeatureComparator.java | 10 ++----
.../org/apache/sis/metadata/MetadataStandard.java | 4 +--
.../sis/metadata/internal/NameToIdentifier.java | 4 +--
.../sis/metadata/iso/extent/DefaultExtent.java | 8 ++---
.../iso/extent/DefaultGeographicBoundingBox.java | 7 +---
.../metadata/iso/extent/DefaultVerticalExtent.java | 2 --
.../metadata/iso/legacy/LegacyPropertyAdapter.java | 4 +--
.../iso/quality/DefaultEvaluationMethod.java | 4 +--
.../apache/sis/metadata/sql/MetadataSource.java | 5 ++-
.../apache/sis/metadata/sql/util/ScriptRunner.java | 1 -
.../org/apache/sis/util/iso/DefaultLocalName.java | 6 ++--
.../org/apache/sis/util/iso/DefaultMemberName.java | 4 +--
.../apache/sis/util/iso/DefaultNameFactory.java | 1 -
.../org/apache/sis/util/iso/DefaultNameSpace.java | 3 +-
.../org/apache/sis/util/iso/DefaultRecord.java | 5 +--
.../apache/sis/util/iso/DefaultRecordSchema.java | 4 +--
.../org/apache/sis/util/iso/DefaultRecordType.java | 6 ++--
.../org/apache/sis/util/iso/DefaultScopedName.java | 1 -
.../main/org/apache/sis/xml/MarshallerPool.java | 5 ++-
.../main/org/apache/sis/xml/Namespaces.java | 5 ++-
.../org/apache/sis/xml/bind/gco/PropertyType.java | 2 +-
.../org/apache/sis/portrayal/CanvasFollower.java | 8 ++---
.../apache/sis/portrayal/TransformChangeEvent.java | 5 ++-
.../org/apache/sis/style/se1/StyleElement.java | 5 ++-
.../org/apache/sis/style/se1/StyleFactory.java | 5 ++-
.../gazetteer/GeohashReferenceSystem.java | 1 -
.../gazetteer/MilitaryGridReferenceSystem.java | 9 ++----
.../gazetteer/ModifiableLocationType.java | 8 ++---
.../org/apache/sis/geometry/AbstractEnvelope.java | 21 ++++++------
.../org/apache/sis/geometry/ArrayEnvelope.java | 8 +----
.../org/apache/sis/geometry/CoordinateFormat.java | 7 ++--
.../org/apache/sis/geometry/DirectPosition2D.java | 2 --
.../org/apache/sis/geometry/GeneralEnvelope.java | 20 ++++++------
.../apache/sis/geometry/WraparoundAdjustment.java | 8 ++---
.../org/apache/sis/io/wkt/FormattableObject.java | 5 ++-
.../main/org/apache/sis/io/wkt/Symbols.java | 5 ++-
.../main/org/apache/sis/io/wkt/WKTDictionary.java | 5 ++-
.../main/org/apache/sis/io/wkt/WKTFormat.java | 2 +-
.../sis/parameter/DefaultParameterDescriptor.java | 9 +++---
.../parameter/DefaultParameterDescriptorGroup.java | 1 -
.../sis/parameter/DefaultParameterValue.java | 2 --
.../sis/parameter/DefaultParameterValueGroup.java | 15 +++++----
.../org/apache/sis/parameter/ParameterBuilder.java | 9 +++---
.../org/apache/sis/parameter/ParameterFormat.java | 6 ++--
.../org/apache/sis/parameter/TensorParameters.java | 3 +-
.../parameter/UnmodifiableParameterValueGroup.java | 5 ++-
.../sis/referencing/AbstractIdentifiedObject.java | 1 -
.../main/org/apache/sis/referencing/Builder.java | 37 +++++++++++-----------
.../main/org/apache/sis/referencing/CRS.java | 1 -
.../apache/sis/referencing/GeodeticCalculator.java | 4 +--
.../sis/referencing/ImmutableIdentifier.java | 3 --
.../apache/sis/referencing/NamedIdentifier.java | 3 +-
.../apache/sis/referencing/crs/AbstractCRS.java | 7 ++--
.../sis/referencing/crs/DefaultCompoundCRS.java | 4 +--
.../sis/referencing/crs/DefaultEngineeringCRS.java | 5 ++-
.../sis/referencing/crs/DefaultGeodeticCRS.java | 5 ++-
.../sis/referencing/crs/DefaultImageCRS.java | 5 ++-
.../sis/referencing/crs/DefaultParametricCRS.java | 5 ++-
.../sis/referencing/crs/DefaultTemporalCRS.java | 5 ++-
.../sis/referencing/crs/DefaultVerticalCRS.java | 5 ++-
.../org/apache/sis/referencing/cs/AbstractCS.java | 7 ++--
.../org/apache/sis/referencing/cs/AxisName.java | 2 +-
.../sis/referencing/cs/CoordinateSystems.java | 9 ++----
.../sis/referencing/cs/DefaultCompoundCS.java | 5 ++-
.../sis/referencing/cs/DirectionAlongMeridian.java | 3 +-
.../sis/referencing/datum/DatumShiftGrid.java | 1 -
.../referencing/datum/DefaultGeodeticDatum.java | 6 ++--
.../sis/referencing/datum/DefaultImageDatum.java | 4 +--
.../referencing/datum/DefaultPrimeMeridian.java | 4 +--
.../referencing/datum/DefaultTemporalDatum.java | 2 --
.../referencing/datum/DefaultVerticalDatum.java | 4 +--
.../sis/referencing/datum/TimeDependentBWP.java | 1 -
.../factory/CommonAuthorityFactory.java | 6 ++--
.../referencing/factory/GeodeticObjectFactory.java | 4 +--
.../factory/IdentifiedObjectFinder.java | 11 +++----
.../referencing/factory/IdentifiedObjectSet.java | 9 ++----
.../referencing/factory/sql/EPSGDataAccess.java | 7 ++--
.../sis/referencing/factory/sql/EPSGFactory.java | 5 ++-
.../factory/sql/InstallationScriptProvider.java | 5 ++-
.../sis/referencing/factory/sql/SQLTranslator.java | 2 --
.../referencing/internal/PositionTransformer.java | 6 ++--
.../operation/AbstractSingleOperation.java | 3 +-
.../operation/CoordinateOperationRegistry.java | 10 +++---
.../operation/DefaultConcatenatedOperation.java | 1 -
.../DefaultCoordinateOperationFactory.java | 3 +-
.../sis/referencing/operation/DefaultFormula.java | 8 ++---
.../operation/builder/LinearTransformBuilder.java | 8 +----
.../operation/builder/LocalizationGridBuilder.java | 9 ++----
.../operation/builder/ProjectedTransformTry.java | 8 ++---
.../operation/matrix/AffineTransforms2D.java | 16 ++++------
.../sis/referencing/operation/matrix/Matrices.java | 10 +++---
.../operation/projection/Initializer.java | 7 ++--
.../operation/provider/AbstractProvider.java | 2 +-
.../operation/transform/AbstractMathTransform.java | 2 ++
.../operation/transform/ConcatenatedTransform.java | 1 -
.../operation/transform/ContextualParameters.java | 3 +-
.../transform/DefaultMathTransformFactory.java | 8 ++---
.../operation/transform/DomainDefinition.java | 4 +--
.../transform/EllipsoidToCentricTransform.java | 1 -
.../transform/InterpolatedGeocentricTransform.java | 1 +
.../operation/transform/InterpolatedTransform.java | 5 ++-
.../operation/transform/MathTransforms.java | 15 ++++-----
.../operation/transform/MolodenskyTransform.java | 1 +
.../operation/transform/TransferFunction.java | 4 +--
.../operation/transform/TransformSeparator.java | 7 ++--
.../org/apache/sis/referencing/util/j2d/Tile.java | 2 --
.../apache/sis/referencing/ClenshawSummation.java | 6 ++--
.../operation/transform/MathTransformWrapper.java | 4 +--
.../apache/sis/storage/geotiff/GeoTiffStore.java | 2 +-
.../apache/sis/storage/netcdf/base/Decoder.java | 3 +-
.../apache/sis/storage/sql/SQLStoreProvider.java | 7 ++--
.../sis/storage/sql/feature/FeatureStream.java | 5 +--
.../sis/storage/sql/feature/ValueGetter.java | 5 ++-
.../apache/sis/util/stream/BaseStreamWrapper.java | 5 ++-
.../main/org/apache/sis/storage/gpx/Store.java | 5 ++-
.../sis/storage/xml/stream/StaxStreamIO.java | 5 ++-
.../main/org/apache/sis/storage/CoverageQuery.java | 3 +-
.../main/org/apache/sis/storage/DataStore.java | 6 ++--
.../org/apache/sis/storage/DataStoreProvider.java | 4 +--
.../main/org/apache/sis/storage/FeatureNaming.java | 7 ++--
.../main/org/apache/sis/storage/FeatureQuery.java | 13 +++-----
.../main/org/apache/sis/storage/FeatureSet.java | 5 ++-
.../apache/sis/storage/GridCoverageResource.java | 8 ++---
.../org/apache/sis/storage/StorageConnector.java | 10 ++----
.../storage/aggregate/ConcatenatedFeatureSet.java | 1 -
.../apache/sis/storage/base/MemoryFeatureSet.java | 8 ++---
.../sis/storage/base/MemoryGridResource.java | 5 ++-
.../apache/sis/storage/base/MetadataBuilder.java | 16 +++-------
.../org/apache/sis/storage/base/PRJDataStore.java | 5 ++-
.../sis/storage/base/WritableAggregateSupport.java | 5 ++-
.../storage/base/WritableGridCoverageSupport.java | 2 --
.../org/apache/sis/storage/csv/StoreProvider.java | 2 --
.../apache/sis/storage/event/StoreListeners.java | 9 +++---
.../org/apache/sis/storage/event/WarningEvent.java | 5 ++-
.../apache/sis/storage/folder/StoreProvider.java | 2 --
.../apache/sis/storage/folder/WritableStore.java | 5 ++-
.../apache/sis/converter/ConverterRegistry.java | 2 +-
.../apache/sis/converter/FallbackConverter.java | 2 +-
.../org/apache/sis/converter/StringConverter.java | 1 -
.../main/org/apache/sis/io/Appender.java | 5 ++-
.../main/org/apache/sis/io/CompoundFormat.java | 4 ++-
.../main/org/apache/sis/io/TableAppender.java | 14 +++-----
.../main/org/apache/sis/math/Line.java | 1 -
.../main/org/apache/sis/math/Plane.java | 6 ++--
.../main/org/apache/sis/math/Statistics.java | 4 ---
.../org/apache/sis/measure/AbstractConverter.java | 2 --
.../main/org/apache/sis/measure/AngleFormat.java | 10 ++----
.../apache/sis/measure/ConcatenatedConverter.java | 2 --
.../org/apache/sis/measure/ConventionalUnit.java | 18 +++++------
.../sis/measure/FormattedCharacterIterator.java | 8 ++---
.../org/apache/sis/measure/IdentityConverter.java | 5 ++-
.../org/apache/sis/measure/LinearConverter.java | 11 ++++---
.../main/org/apache/sis/measure/Quantities.java | 2 --
.../org/apache/sis/measure/QuantityFormat.java | 11 +++----
.../main/org/apache/sis/measure/Range.java | 5 ++-
.../main/org/apache/sis/measure/RangeFormat.java | 8 ++---
.../main/org/apache/sis/measure/SystemUnit.java | 7 ++--
.../main/org/apache/sis/measure/UnitFormat.java | 10 +++---
.../main/org/apache/sis/measure/UnitServices.java | 4 +--
.../main/org/apache/sis/pending/jdk/JDK21.java | 27 +++++++++++-----
.../main/org/apache/sis/setup/Configuration.java | 9 +++---
.../main/org/apache/sis/setup/OptionKey.java | 10 ++----
.../{internal => }/ArgumentCheckByAssertion.java | 21 +++++++++---
.../main/org/apache/sis/util/ArgumentChecks.java | 23 ++++++++++++--
.../main/org/apache/sis/util/ArraysExt.java | 1 -
.../main/org/apache/sis/util/Locales.java | 1 -
.../main/org/apache/sis/util/ObjectConverters.java | 5 ++-
.../sis/util/ResourceInternationalString.java | 4 +--
.../apache/sis/util/SimpleInternationalString.java | 4 +--
.../main/org/apache/sis/util/StringBuilders.java | 10 +++---
.../main/org/apache/sis/util/Version.java | 4 +--
.../sis/util/collection/DefaultTreeTable.java | 11 +++----
.../org/apache/sis/util/collection/RangeSet.java | 8 ++---
.../apache/sis/util/collection/TableColumn.java | 6 ++--
.../org/apache/sis/util/collection/TreeTables.java | 1 -
.../apache/sis/util/collection/WeakHashSet.java | 4 +--
.../apache/sis/util/internal/CheckedArrayList.java | 9 ++----
.../apache/sis/util/internal/CheckedHashSet.java | 9 ++----
.../sis/util/internal/SimpleCharacterIterator.java | 1 -
.../main/org/apache/sis/util/logging/Logging.java | 1 -
.../apache/sis/util/logging/MonolineFormatter.java | 2 --
.../org/apache/sis/map/ExceptionPresentation.java | 10 +++---
.../main/org/apache/sis/map/SEPortrayer.java | 5 ++-
.../apache/sis/map/service/GraphicsPortrayer.java | 11 +++----
.../main/org/apache/sis/map/service/Scene2D.java | 8 ++---
.../sis/map/service/se1/PresentationToScene2D.java | 9 ++----
.../apache/sis/gui/coverage/CoverageExplorer.java | 11 +++----
.../org/apache/sis/gui/coverage/ImageRequest.java | 8 ++---
.../org/apache/sis/gui/dataset/WindowHandler.java | 3 --
.../main/org/apache/sis/gui/map/MapMenu.java | 9 +++---
.../main/org/apache/sis/gui/map/StatusBar.java | 7 ++--
.../gui/referencing/PositionableProjection.java | 2 --
245 files changed, 574 insertions(+), 882 deletions(-)
rename endorsed/src/org.apache.sis.util/main/org/apache/sis/util/{internal => }/ArgumentCheckByAssertion.java (57%)
(sis) 02/03: Deprecate a method which is provided in the standard JDK since Java 21.
Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
commit a721c85238a2be59cc542251ea2c9477ed363210
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Thu Feb 8 17:08:14 2024 +0100
Deprecate a method which is provided in the standard JDK since Java 21.
---
.../sis/referencing/operation/matrix/Matrices.java | 8 +++----
.../apache/sis/referencing/ClenshawSummation.java | 6 ++---
.../main/org/apache/sis/io/TableAppender.java | 4 ++--
.../main/org/apache/sis/pending/jdk/JDK21.java | 27 +++++++++++++++-------
.../main/org/apache/sis/util/StringBuilders.java | 3 +++
5 files changed, 31 insertions(+), 17 deletions(-)
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/Matrices.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/Matrices.java
index a1d61b56f5..0dea2cb77d 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/Matrices.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/Matrices.java
@@ -29,12 +29,12 @@ import org.apache.sis.util.Static;
import org.apache.sis.util.CharSequences;
import org.apache.sis.util.ComparisonMode;
import org.apache.sis.util.ArgumentChecks;
-import org.apache.sis.util.StringBuilders;
import org.apache.sis.util.resources.Errors;
-import org.apache.sis.math.DecimalFunctions;
-import org.apache.sis.math.MathFunctions;
import org.apache.sis.util.internal.Numerics;
import org.apache.sis.util.internal.DoubleDouble;
+import org.apache.sis.math.DecimalFunctions;
+import org.apache.sis.math.MathFunctions;
+import org.apache.sis.pending.jdk.JDK21;
import org.apache.sis.referencing.util.AxisDirections;
import org.apache.sis.referencing.util.ExtendedPrecisionMatrix;
import org.apache.sis.referencing.internal.Resources;
@@ -1317,7 +1317,7 @@ public final class Matrices extends Static {
s += 2;
} else {
int n = Math.min(s, maximumPaddingZeros[flatIndex]);
- StringBuilders.repeat(buffer, '0', n);
+ JDK21.repeat(buffer, '0', n);
s -= n;
}
buffer.append(CharSequences.spaces(s));
diff --git a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/ClenshawSummation.java b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/ClenshawSummation.java
index d99addb214..6a40477726 100644
--- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/ClenshawSummation.java
+++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/ClenshawSummation.java
@@ -17,7 +17,7 @@
package org.apache.sis.referencing;
import org.apache.sis.math.Fraction;
-import org.apache.sis.util.StringBuilders;
+import org.apache.sis.pending.jdk.JDK21;
/**
@@ -268,7 +268,7 @@ public final class ClenshawSummation {
}
}
if (term.length != 1) {
- StringBuilders.repeat(b, ')', term.length);
+ JDK21.repeat(b, ')', term.length);
}
}
@@ -318,7 +318,7 @@ public final class ClenshawSummation {
b.append('0');
}
}
- StringBuilders.repeat(b, ')', cosineCoefficients.length);
+ JDK21.repeat(b, ')', cosineCoefficients.length);
}
return b.toString();
}
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/TableAppender.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/TableAppender.java
index 4db41fc7e1..5adf4e1643 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/TableAppender.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/TableAppender.java
@@ -23,9 +23,9 @@ import java.util.Objects;
import java.io.Flushable;
import java.io.IOException;
import java.io.UncheckedIOException;
+import org.apache.sis.pending.jdk.JDK21;
import org.apache.sis.util.ArraysExt;
import org.apache.sis.util.CharSequences;
-import org.apache.sis.util.StringBuilders;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.util.internal.X364;
import static org.apache.sis.util.Characters.isLineOrParagraphSeparator;
@@ -865,7 +865,7 @@ public class TableAppender extends Appender implements Flushable {
private static void repeat(final Appendable out, final char car, int count) throws IOException {
if (out instanceof StringBuilder) {
if (count > 0) {
- StringBuilders.repeat((StringBuilder) out, car, count);
+ JDK21.repeat((StringBuilder) out, car, count);
}
} else while (--count >= 0) {
out.append(car);
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/jdk/JDK21.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/jdk/JDK21.java
index d1853ad2a5..d77a06786f 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/jdk/JDK21.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/jdk/JDK21.java
@@ -80,14 +80,25 @@ public final class JDK21 {
} else {
list = new ArrayList<>(sequenced);
}
- return new Iterable<>() {
- @Override public Iterator<E> iterator() {
- final ListIterator<E> it = list.listIterator(list.size());
- return new Iterator<E>() {
- @Override public boolean hasNext() {return it.hasPrevious();}
- @Override public E next() {return it.previous();}
- };
- }
+ return () -> {
+ final ListIterator<E> it = list.listIterator(list.size());
+ return new Iterator<E>() {
+ @Override public boolean hasNext() {return it.hasPrevious();}
+ @Override public E next() {return it.previous();}
+ };
};
}
+
+ /**
+ * Appends the given character <var>n</var> times.
+ *
+ * @param buffer the buffer where to append the character.
+ * @param c the character to repeat.
+ * @param count number of times to repeat the given character.
+ */
+ public static void repeat(final StringBuilder buffer, final char c, int count) {
+ while (--count >= 0) {
+ buffer.append(c);
+ }
+ }
}
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/StringBuilders.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/StringBuilders.java
index 5ed92d4f64..df23d9e4ff 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/StringBuilders.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/StringBuilders.java
@@ -171,7 +171,10 @@ public final class StringBuilders extends Static {
* @throws IllegalArgumentException if the given count is negative.
*
* @since 1.0
+ *
+ * @deprecated Replaced by {@link StringBuilder#repeat(int, int)} since Java 21.
*/
+ @Deprecated(since="1.5", forRemoval=true)
public static void repeat(final StringBuilder buffer, final char c, final int count) {
switch (count) {
case 0: break;
(sis) 03/03: Move to public API the annotation used for documenting methods that use assertions for arguments validation.
Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
commit 738fd95772219647445c9e35207353304b1e098d
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Thu Feb 8 17:49:12 2024 +0100
Move to public API the annotation used for documenting methods that use assertions for arguments validation.
---
.../sis/coverage/grid/DimensionalityReduction.java | 6 ++++--
.../org/apache/sis/geometry/AbstractEnvelope.java | 10 +++++-----
.../org/apache/sis/geometry/GeneralEnvelope.java | 8 ++++----
.../main/org/apache/sis/referencing/Builder.java | 2 ++
.../operation/transform/AbstractMathTransform.java | 2 ++
.../main/org/apache/sis/measure/Range.java | 2 +-
.../{internal => }/ArgumentCheckByAssertion.java | 21 +++++++++++++++++----
7 files changed, 35 insertions(+), 16 deletions(-)
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/DimensionalityReduction.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/DimensionalityReduction.java
index 9b0c7ca751..ae52bd3e01 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/DimensionalityReduction.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/DimensionalityReduction.java
@@ -33,9 +33,9 @@ import org.opengis.referencing.datum.PixelInCell;
import org.apache.sis.util.Utilities;
import org.apache.sis.util.ArraysExt;
import org.apache.sis.util.ArgumentChecks;
+import org.apache.sis.util.ArgumentCheckByAssertion;
import org.apache.sis.util.ComparisonMode;
import org.apache.sis.util.internal.Numerics;
-import org.apache.sis.util.internal.ArgumentCheckByAssertion;
import org.apache.sis.feature.internal.Resources;
import org.apache.sis.geometry.ImmutableEnvelope;
import org.apache.sis.geometry.GeneralDirectPosition;
@@ -627,9 +627,11 @@ public class DimensionalityReduction implements UnaryOperator<GridCoverage>, Ser
/**
* Returns a coordinate tuple on which dimensionality reduction has been applied.
+ *
+ * <h4>Precondition</h4>
* The coordinate reference system of the given {@code source} should be either
* null or equal (ignoring metadata) to the CRS of the source grid geometry.
- * For performance reason, this is not verified unless assertions are enabled.
+ * For performance reason, this condition is not verified unless Java assertions are enabled.
*
* @param source the source coordinate tuple, or {@code null}.
* @return the reduced coordinate tuple, or {@code null} if the given source was null.
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/AbstractEnvelope.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/AbstractEnvelope.java
index 2e81670ba3..5942cd1631 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/AbstractEnvelope.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/AbstractEnvelope.java
@@ -37,16 +37,16 @@ import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.cs.CoordinateSystemAxis;
import org.opengis.referencing.cs.CoordinateSystem;
import org.opengis.referencing.cs.RangeMeaning;
+import org.apache.sis.util.ArgumentCheckByAssertion;
import org.apache.sis.util.Emptiable;
import org.apache.sis.util.Utilities;
import org.apache.sis.util.ComparisonMode;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.io.wkt.Formatter;
import org.apache.sis.io.wkt.FormattableObject;
+import org.apache.sis.referencing.IdentifiedObjects;
import org.apache.sis.referencing.util.WKTUtilities;
import org.apache.sis.referencing.util.TemporalAccessor;
-import org.apache.sis.util.internal.ArgumentCheckByAssertion;
-import org.apache.sis.referencing.IdentifiedObjects;
import org.apache.sis.measure.Range;
import org.apache.sis.math.Vector;
@@ -765,7 +765,7 @@ public abstract class AbstractEnvelope extends FormattableObject implements Enve
*
* <h4>Preconditions</h4>
* This method assumes that the specified point uses a CRS equivalent to this envelope CRS.
- * For performance reasons, it will no be verified unless Java assertions are enabled.
+ * For performance reasons, this condition is not verified unless Java assertions are enabled.
*
* <h4>Crossing the anti-meridian of a Geographic CRS</h4>
* For any dimension, if <var>upper</var> < <var>lower</var> then this method uses an
@@ -817,7 +817,7 @@ public abstract class AbstractEnvelope extends FormattableObject implements Enve
*
* <h4>Preconditions</h4>
* This method assumes that the specified envelope uses the same CRS as this envelope.
- * For performance reasons, it will no be verified unless Java assertions are enabled.
+ * For performance reasons, this condition is not verified unless Java assertions are enabled.
*
* <h4>Crossing the anti-meridian of a Geographic CRS</h4>
* For every cases illustrated below, the yellow box is considered completely enclosed
@@ -947,7 +947,7 @@ public abstract class AbstractEnvelope extends FormattableObject implements Enve
*
* <h4>Preconditions</h4>
* This method assumes that the specified envelope uses the same CRS as this envelope.
- * For performance reasons, it will no be verified unless Java assertions are enabled.
+ * For performance reasons, this condition is not verified unless Java assertions are enabled.
*
* <h4>Crossing the anti-meridian of a Geographic CRS</h4>
* This method can handle envelopes crossing the anti-meridian.
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/GeneralEnvelope.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/GeneralEnvelope.java
index 76eb1d05b3..996a9c6cb6 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/GeneralEnvelope.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/GeneralEnvelope.java
@@ -39,7 +39,7 @@ import org.opengis.geometry.MismatchedReferenceSystemException;
import org.opengis.metadata.extent.GeographicBoundingBox;
import org.apache.sis.referencing.util.TemporalAccessor;
import org.apache.sis.referencing.util.AxisDirections;
-import org.apache.sis.util.internal.ArgumentCheckByAssertion;
+import org.apache.sis.util.ArgumentCheckByAssertion;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.referencing.CRS;
import org.apache.sis.referencing.IdentifiedObjects;
@@ -535,7 +535,7 @@ public class GeneralEnvelope extends ArrayEnvelope implements Cloneable, Seriali
*
* <h4>Preconditions</h4>
* This method assumes that the specified point uses a CRS equivalent to this envelope CRS.
- * For performance reasons, it will no be verified unless Java assertions are enabled.
+ * For performance reasons, this condition is not verified unless Java assertions are enabled.
*
* <h4>Crossing the anti-meridian of a Geographic CRS</h4>
* This method supports envelopes crossing the anti-meridian. In such cases it is possible to
@@ -613,7 +613,7 @@ public class GeneralEnvelope extends ArrayEnvelope implements Cloneable, Seriali
*
* <h4>Preconditions</h4>
* This method assumes that the specified envelope uses a CRS equivalent to this envelope CRS.
- * For performance reasons, it will no be verified unless Java assertions are enabled.
+ * For performance reasons, this condition is not verified unless Java assertions are enabled.
*
* <h4>Crossing the anti-meridian of a Geographic CRS</h4>
* This method supports envelopes crossing the anti-meridian. If one or both envelopes cross
@@ -770,7 +770,7 @@ public class GeneralEnvelope extends ArrayEnvelope implements Cloneable, Seriali
*
* <h4>Preconditions</h4>
* This method assumes that the specified envelope uses a CRS equivalent to this envelope CRS.
- * For performance reasons, it will no be verified unless Java assertions are enabled.
+ * For performance reasons, this condition is not verified unless Java assertions are enabled.
*
* <h4>Crossing the anti-meridian of a Geographic CRS</h4>
* This method supports envelopes crossing the anti-meridian.
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/Builder.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/Builder.java
index 7f6078bb49..40642e616b 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/Builder.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/Builder.java
@@ -36,6 +36,7 @@ import org.apache.sis.referencing.internal.DeprecatedCode;
import org.apache.sis.referencing.internal.DeprecatedName;
import org.apache.sis.util.Deprecable;
import org.apache.sis.util.ArgumentChecks;
+import org.apache.sis.util.ArgumentCheckByAssertion;
import org.apache.sis.util.iso.DefaultNameFactory;
import org.apache.sis.util.iso.Types;
import org.apache.sis.util.resources.Errors;
@@ -219,6 +220,7 @@ public abstract class Builder<B extends Builder<B>> {
*
* @throws AssertionError if assertions are enabled and the {@code <B>} type is not the type of {@code this}.
*/
+ @ArgumentCheckByAssertion
protected Builder() {
assert verifyParameterizedType(getClass());
properties = new HashMap<>(8);
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/AbstractMathTransform.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/AbstractMathTransform.java
index ba31250c72..592fd6ba3c 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/AbstractMathTransform.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/AbstractMathTransform.java
@@ -44,6 +44,7 @@ import org.apache.sis.referencing.util.WKTUtilities;
import org.apache.sis.referencing.util.WKTKeywords;
import org.apache.sis.system.Loggers;
import org.apache.sis.util.ArgumentChecks;
+import org.apache.sis.util.ArgumentCheckByAssertion;
import org.apache.sis.util.Utilities;
import org.apache.sis.util.ComparisonMode;
import org.apache.sis.util.LenientComparable;
@@ -1148,6 +1149,7 @@ public abstract class AbstractMathTransform extends FormattableObject
* @throws AssertionError if assertions are enabled and the objects are equal but their hash codes are different.
*/
@Override
+ @ArgumentCheckByAssertion
public final boolean equals(final Object object) {
final boolean eq = equals(object, ComparisonMode.STRICT);
// If objects are equal, then they must have the same hash code value.
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Range.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Range.java
index 5dd5801093..26c06c9da4 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Range.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Range.java
@@ -23,10 +23,10 @@ import java.util.FormattableFlags;
import java.io.Serializable;
import javax.measure.Unit;
import org.apache.sis.util.ArgumentChecks;
+import org.apache.sis.util.ArgumentCheckByAssertion;
import org.apache.sis.util.Emptiable;
import org.apache.sis.util.Numbers;
import org.apache.sis.util.internal.Strings;
-import org.apache.sis.util.internal.ArgumentCheckByAssertion;
import org.apache.sis.util.collection.CheckedContainer;
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/ArgumentCheckByAssertion.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArgumentCheckByAssertion.java
similarity index 57%
rename from endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/ArgumentCheckByAssertion.java
rename to endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArgumentCheckByAssertion.java
index 6367f2abdb..c1ffaf3074 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/ArgumentCheckByAssertion.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArgumentCheckByAssertion.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.sis.util.internal;
+package org.apache.sis.util;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -23,11 +23,24 @@ import java.lang.annotation.Target;
/**
- * Marker annotation for public methods which use assertions for validating users arguments.
- * This is not recommended for public API, but we do that in a few places where unconditional
- * argument checks may be too expensive. This annotation is used for tracking those methods.
+ * Marker annotation for methods which use assertions for validating their arguments.
+ * Arguments validation with assertions is usually not a recommended practice,
+ * but Apache SIS does that when unconditional argument checks would be too expensive.
+ * Examples:
+ *
+ * <ul>
+ * <li>Checking wether two Coordinate Reference Systems are equal (ignoring metadata)
+ * in methods potentially executed millions of times (e.g. adding points).</li>
+ * <li>Checking the class of argument values when those classes should never be wrong
+ * if the code has been compiled without Java compiler warnings.</li>
+ * </ul>
+ *
+ * This annotation is used for documenting methods where some preconditions are checked with assertions.
+ * The Javadoc should document what those preconditions are.
*
* @author Martin Desruisseaux (Geomatys)
+ * @version 1.5
+ * @since 1.5
*/
@Target({
ElementType.METHOD,
(sis) 01/03: Modernize the check for null argument value:
Posted by de...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
commit 9657ffffe8fb513c45e0d042fedb9d98066f70d2
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Thu Feb 8 16:05:38 2024 +0100
Modernize the check for null argument value:
Some (but not all) calls to `ArgumentChecks.ensureNonNull` are replaced by `Objects.requireNonNull`,
because the latter has optimization (@ForceInline) that we cannot match. It may also be intrinsified
in a future Java version. However, we do this replacement only when there is few ambiguity about which
argument was null. We keep the old method when there is many arguments, or when the null check is done
in a non-obvious place.
Check for null value is completely removed when we can rely on the implicit null check, for example
when the argument is dereferenced in the first few lines. We can do that because since Java 14, the
NullPointerException messages are automatically generated (https://openjdk.org/jeps/358).
Many of the previous checks were workaround for the non-helpful error messages in older Java versions.
This commit contains also two opportunistic changes:
- `GenericName` constructors do not allow anymore empty names (`ensureNonNull` → `ensureNonEmpty`).
- Opportunistic revision of a few `@SuppressWarnings` annotations.
---
.../org/apache/sis/coverage/SampleDimension.java | 3 +-
.../sis/coverage/grid/BufferedGridCoverage.java | 5 ++--
.../coverage/grid/CoordinateOperationFinder.java | 5 ++--
.../org/apache/sis/coverage/grid/GridCoverage.java | 8 ++---
.../apache/sis/coverage/grid/GridCoverage2D.java | 8 ++---
.../sis/coverage/grid/GridCoverageBuilder.java | 13 ++++----
.../sis/coverage/grid/GridCoverageProcessor.java | 4 ---
.../apache/sis/coverage/grid/GridDerivation.java | 11 +++----
.../org/apache/sis/coverage/grid/GridExtent.java | 11 +------
.../org/apache/sis/coverage/grid/GridGeometry.java | 5 ++--
.../apache/sis/coverage/grid/ImageRenderer.java | 9 ++----
.../apache/sis/coverage/grid/ReshapedImage.java | 2 --
.../sis/coverage/grid/j2d/ColorsForRange.java | 3 +-
.../sis/coverage/grid/j2d/TilePlaceholder.java | 5 ++--
.../sis/coverage/internal/CompoundTransform.java | 1 -
.../apache/sis/feature/AbstractAssociation.java | 3 --
.../org/apache/sis/feature/AbstractAttribute.java | 3 --
.../org/apache/sis/feature/AbstractFeature.java | 4 +--
.../apache/sis/feature/AbstractIdentifiedType.java | 5 ++--
.../org/apache/sis/feature/CharacteristicMap.java | 5 ----
.../apache/sis/feature/DefaultAssociationRole.java | 8 ++---
.../apache/sis/feature/DefaultAttributeType.java | 6 ++--
.../org/apache/sis/feature/DefaultFeatureType.java | 3 +-
.../main/org/apache/sis/feature/DenseFeature.java | 6 ++--
.../main/org/apache/sis/feature/FeatureFormat.java | 2 +-
.../main/org/apache/sis/feature/Field.java | 2 --
.../main/org/apache/sis/feature/LinkOperation.java | 2 --
.../apache/sis/feature/MultiValuedAssociation.java | 2 +-
.../org/apache/sis/feature/OperationResult.java | 3 +-
.../main/org/apache/sis/feature/SparseFeature.java | 6 ++--
.../apache/sis/feature/StringJoinOperation.java | 3 +-
.../main/org/apache/sis/filter/BinaryFunction.java | 8 ++---
.../apache/sis/filter/BinaryGeometryFilter.java | 4 +--
.../org/apache/sis/filter/BinarySpatialFilter.java | 5 ++--
.../org/apache/sis/filter/ComparisonFilter.java | 5 ++--
.../main/org/apache/sis/filter/DistanceFilter.java | 5 ++--
.../main/org/apache/sis/filter/LikeFilter.java | 7 ++---
.../main/org/apache/sis/filter/LogicalFilter.java | 4 +--
.../main/org/apache/sis/filter/UnaryFunction.java | 5 ++--
.../apache/sis/filter/internal/CopyVisitor.java | 8 ++---
.../sis/filter/internal/GeometryConverter.java | 8 ++---
.../org/apache/sis/geometry/wrapper/jts/JTS.java | 7 ++---
.../sis/geometry/wrapper/jts/ShapeAdapter.java | 3 +-
.../main/org/apache/sis/image/ComputedImage.java | 3 +-
.../main/org/apache/sis/image/DataType.java | 2 --
.../main/org/apache/sis/image/ImageAdapter.java | 5 ++--
.../main/org/apache/sis/image/ImageCombiner.java | 8 ++---
.../main/org/apache/sis/image/ImageProcessor.java | 18 +++++------
.../main/org/apache/sis/image/PixelIterator.java | 13 ++++----
.../main/org/apache/sis/image/PlanarImage.java | 5 ++--
.../main/org/apache/sis/image/UserProperties.java | 5 ++--
.../main/org/apache/sis/index/tree/PointTree.java | 5 ++--
.../apache/sis/feature/test/FeatureComparator.java | 10 ++-----
.../org/apache/sis/metadata/MetadataStandard.java | 4 +--
.../sis/metadata/internal/NameToIdentifier.java | 4 +--
.../sis/metadata/iso/extent/DefaultExtent.java | 8 ++---
.../iso/extent/DefaultGeographicBoundingBox.java | 7 +----
.../metadata/iso/extent/DefaultVerticalExtent.java | 2 --
.../metadata/iso/legacy/LegacyPropertyAdapter.java | 4 +--
.../iso/quality/DefaultEvaluationMethod.java | 4 +--
.../apache/sis/metadata/sql/MetadataSource.java | 5 ++--
.../apache/sis/metadata/sql/util/ScriptRunner.java | 1 -
.../org/apache/sis/util/iso/DefaultLocalName.java | 6 ++--
.../org/apache/sis/util/iso/DefaultMemberName.java | 4 +--
.../apache/sis/util/iso/DefaultNameFactory.java | 1 -
.../org/apache/sis/util/iso/DefaultNameSpace.java | 3 +-
.../org/apache/sis/util/iso/DefaultRecord.java | 5 +---
.../apache/sis/util/iso/DefaultRecordSchema.java | 4 +--
.../org/apache/sis/util/iso/DefaultRecordType.java | 6 ++--
.../org/apache/sis/util/iso/DefaultScopedName.java | 1 -
.../main/org/apache/sis/xml/MarshallerPool.java | 5 ++--
.../main/org/apache/sis/xml/Namespaces.java | 5 ++--
.../org/apache/sis/xml/bind/gco/PropertyType.java | 2 +-
.../org/apache/sis/portrayal/CanvasFollower.java | 8 ++---
.../apache/sis/portrayal/TransformChangeEvent.java | 5 ++--
.../org/apache/sis/style/se1/StyleElement.java | 5 ++--
.../org/apache/sis/style/se1/StyleFactory.java | 5 ++--
.../gazetteer/GeohashReferenceSystem.java | 1 -
.../gazetteer/MilitaryGridReferenceSystem.java | 9 ++----
.../gazetteer/ModifiableLocationType.java | 8 ++---
.../org/apache/sis/geometry/AbstractEnvelope.java | 11 +++----
.../org/apache/sis/geometry/ArrayEnvelope.java | 8 +----
.../org/apache/sis/geometry/CoordinateFormat.java | 7 ++---
.../org/apache/sis/geometry/DirectPosition2D.java | 2 --
.../org/apache/sis/geometry/GeneralEnvelope.java | 12 ++++----
.../apache/sis/geometry/WraparoundAdjustment.java | 8 ++---
.../org/apache/sis/io/wkt/FormattableObject.java | 5 ++--
.../main/org/apache/sis/io/wkt/Symbols.java | 5 ++--
.../main/org/apache/sis/io/wkt/WKTDictionary.java | 5 ++--
.../main/org/apache/sis/io/wkt/WKTFormat.java | 2 +-
.../sis/parameter/DefaultParameterDescriptor.java | 9 +++---
.../parameter/DefaultParameterDescriptorGroup.java | 1 -
.../sis/parameter/DefaultParameterValue.java | 2 --
.../sis/parameter/DefaultParameterValueGroup.java | 15 +++++-----
.../org/apache/sis/parameter/ParameterBuilder.java | 9 +++---
.../org/apache/sis/parameter/ParameterFormat.java | 6 ++--
.../org/apache/sis/parameter/TensorParameters.java | 3 +-
.../parameter/UnmodifiableParameterValueGroup.java | 5 ++--
.../sis/referencing/AbstractIdentifiedObject.java | 1 -
.../main/org/apache/sis/referencing/Builder.java | 35 ++++++++++------------
.../main/org/apache/sis/referencing/CRS.java | 1 -
.../apache/sis/referencing/GeodeticCalculator.java | 4 +--
.../sis/referencing/ImmutableIdentifier.java | 3 --
.../apache/sis/referencing/NamedIdentifier.java | 3 +-
.../apache/sis/referencing/crs/AbstractCRS.java | 7 ++---
.../sis/referencing/crs/DefaultCompoundCRS.java | 4 +--
.../sis/referencing/crs/DefaultEngineeringCRS.java | 5 ++--
.../sis/referencing/crs/DefaultGeodeticCRS.java | 5 ++--
.../sis/referencing/crs/DefaultImageCRS.java | 5 ++--
.../sis/referencing/crs/DefaultParametricCRS.java | 5 ++--
.../sis/referencing/crs/DefaultTemporalCRS.java | 5 ++--
.../sis/referencing/crs/DefaultVerticalCRS.java | 5 ++--
.../org/apache/sis/referencing/cs/AbstractCS.java | 7 ++---
.../org/apache/sis/referencing/cs/AxisName.java | 2 +-
.../sis/referencing/cs/CoordinateSystems.java | 9 ++----
.../sis/referencing/cs/DefaultCompoundCS.java | 5 ++--
.../sis/referencing/cs/DirectionAlongMeridian.java | 3 +-
.../sis/referencing/datum/DatumShiftGrid.java | 1 -
.../referencing/datum/DefaultGeodeticDatum.java | 6 ++--
.../sis/referencing/datum/DefaultImageDatum.java | 4 +--
.../referencing/datum/DefaultPrimeMeridian.java | 4 +--
.../referencing/datum/DefaultTemporalDatum.java | 2 --
.../referencing/datum/DefaultVerticalDatum.java | 4 +--
.../sis/referencing/datum/TimeDependentBWP.java | 1 -
.../factory/CommonAuthorityFactory.java | 6 ++--
.../referencing/factory/GeodeticObjectFactory.java | 4 +--
.../factory/IdentifiedObjectFinder.java | 11 +++----
.../referencing/factory/IdentifiedObjectSet.java | 9 ++----
.../referencing/factory/sql/EPSGDataAccess.java | 7 ++---
.../sis/referencing/factory/sql/EPSGFactory.java | 5 ++--
.../factory/sql/InstallationScriptProvider.java | 5 ++--
.../sis/referencing/factory/sql/SQLTranslator.java | 2 --
.../referencing/internal/PositionTransformer.java | 6 ++--
.../operation/AbstractSingleOperation.java | 3 +-
.../operation/CoordinateOperationRegistry.java | 10 ++++---
.../operation/DefaultConcatenatedOperation.java | 1 -
.../DefaultCoordinateOperationFactory.java | 3 +-
.../sis/referencing/operation/DefaultFormula.java | 8 ++---
.../operation/builder/LinearTransformBuilder.java | 8 +----
.../operation/builder/LocalizationGridBuilder.java | 9 ++----
.../operation/builder/ProjectedTransformTry.java | 8 ++---
.../operation/matrix/AffineTransforms2D.java | 16 ++++------
.../sis/referencing/operation/matrix/Matrices.java | 2 --
.../operation/projection/Initializer.java | 7 ++---
.../operation/provider/AbstractProvider.java | 2 +-
.../operation/transform/ConcatenatedTransform.java | 1 -
.../operation/transform/ContextualParameters.java | 3 +-
.../transform/DefaultMathTransformFactory.java | 8 ++---
.../operation/transform/DomainDefinition.java | 4 +--
.../transform/EllipsoidToCentricTransform.java | 1 -
.../transform/InterpolatedGeocentricTransform.java | 1 +
.../operation/transform/InterpolatedTransform.java | 5 ++--
.../operation/transform/MathTransforms.java | 15 ++++------
.../operation/transform/MolodenskyTransform.java | 1 +
.../operation/transform/TransferFunction.java | 4 +--
.../operation/transform/TransformSeparator.java | 7 ++---
.../org/apache/sis/referencing/util/j2d/Tile.java | 2 --
.../operation/transform/MathTransformWrapper.java | 4 +--
.../apache/sis/storage/geotiff/GeoTiffStore.java | 2 +-
.../apache/sis/storage/netcdf/base/Decoder.java | 3 +-
.../apache/sis/storage/sql/SQLStoreProvider.java | 7 ++---
.../sis/storage/sql/feature/FeatureStream.java | 5 ++--
.../sis/storage/sql/feature/ValueGetter.java | 5 ++--
.../apache/sis/util/stream/BaseStreamWrapper.java | 5 ++--
.../main/org/apache/sis/storage/gpx/Store.java | 5 ++--
.../sis/storage/xml/stream/StaxStreamIO.java | 5 ++--
.../main/org/apache/sis/storage/CoverageQuery.java | 3 +-
.../main/org/apache/sis/storage/DataStore.java | 6 ++--
.../org/apache/sis/storage/DataStoreProvider.java | 4 +--
.../main/org/apache/sis/storage/FeatureNaming.java | 7 ++---
.../main/org/apache/sis/storage/FeatureQuery.java | 13 ++++----
.../main/org/apache/sis/storage/FeatureSet.java | 5 ++--
.../apache/sis/storage/GridCoverageResource.java | 8 ++---
.../org/apache/sis/storage/StorageConnector.java | 10 ++-----
.../storage/aggregate/ConcatenatedFeatureSet.java | 1 -
.../apache/sis/storage/base/MemoryFeatureSet.java | 8 ++---
.../sis/storage/base/MemoryGridResource.java | 5 ++--
.../apache/sis/storage/base/MetadataBuilder.java | 16 +++-------
.../org/apache/sis/storage/base/PRJDataStore.java | 5 ++--
.../sis/storage/base/WritableAggregateSupport.java | 5 ++--
.../storage/base/WritableGridCoverageSupport.java | 2 --
.../org/apache/sis/storage/csv/StoreProvider.java | 2 --
.../apache/sis/storage/event/StoreListeners.java | 9 +++---
.../org/apache/sis/storage/event/WarningEvent.java | 5 ++--
.../apache/sis/storage/folder/StoreProvider.java | 2 --
.../apache/sis/storage/folder/WritableStore.java | 5 ++--
.../apache/sis/converter/ConverterRegistry.java | 2 +-
.../apache/sis/converter/FallbackConverter.java | 2 +-
.../org/apache/sis/converter/StringConverter.java | 1 -
.../main/org/apache/sis/io/Appender.java | 5 ++--
.../main/org/apache/sis/io/CompoundFormat.java | 4 ++-
.../main/org/apache/sis/io/TableAppender.java | 10 ++-----
.../main/org/apache/sis/math/Line.java | 1 -
.../main/org/apache/sis/math/Plane.java | 6 ++--
.../main/org/apache/sis/math/Statistics.java | 4 ---
.../org/apache/sis/measure/AbstractConverter.java | 2 --
.../main/org/apache/sis/measure/AngleFormat.java | 10 ++-----
.../apache/sis/measure/ConcatenatedConverter.java | 2 --
.../org/apache/sis/measure/ConventionalUnit.java | 18 +++++------
.../sis/measure/FormattedCharacterIterator.java | 8 ++---
.../org/apache/sis/measure/IdentityConverter.java | 5 ++--
.../org/apache/sis/measure/LinearConverter.java | 11 +++----
.../main/org/apache/sis/measure/Quantities.java | 2 --
.../org/apache/sis/measure/QuantityFormat.java | 11 +++----
.../main/org/apache/sis/measure/Range.java | 3 +-
.../main/org/apache/sis/measure/RangeFormat.java | 8 ++---
.../main/org/apache/sis/measure/SystemUnit.java | 7 ++---
.../main/org/apache/sis/measure/UnitFormat.java | 10 +++----
.../main/org/apache/sis/measure/UnitServices.java | 4 +--
.../main/org/apache/sis/setup/Configuration.java | 9 +++---
.../main/org/apache/sis/setup/OptionKey.java | 10 ++-----
.../main/org/apache/sis/util/ArgumentChecks.java | 23 ++++++++++++--
.../main/org/apache/sis/util/ArraysExt.java | 1 -
.../main/org/apache/sis/util/Locales.java | 1 -
.../main/org/apache/sis/util/ObjectConverters.java | 5 ++--
.../sis/util/ResourceInternationalString.java | 4 +--
.../apache/sis/util/SimpleInternationalString.java | 4 +--
.../main/org/apache/sis/util/StringBuilders.java | 7 ++---
.../main/org/apache/sis/util/Version.java | 4 +--
.../sis/util/collection/DefaultTreeTable.java | 11 ++++---
.../org/apache/sis/util/collection/RangeSet.java | 8 ++---
.../apache/sis/util/collection/TableColumn.java | 6 ++--
.../org/apache/sis/util/collection/TreeTables.java | 1 -
.../apache/sis/util/collection/WeakHashSet.java | 4 +--
.../apache/sis/util/internal/CheckedArrayList.java | 9 ++----
.../apache/sis/util/internal/CheckedHashSet.java | 9 ++----
.../sis/util/internal/SimpleCharacterIterator.java | 1 -
.../main/org/apache/sis/util/logging/Logging.java | 1 -
.../apache/sis/util/logging/MonolineFormatter.java | 2 --
.../org/apache/sis/map/ExceptionPresentation.java | 10 +++----
.../main/org/apache/sis/map/SEPortrayer.java | 5 ++--
.../apache/sis/map/service/GraphicsPortrayer.java | 11 +++----
.../main/org/apache/sis/map/service/Scene2D.java | 8 ++---
.../sis/map/service/se1/PresentationToScene2D.java | 9 ++----
.../apache/sis/gui/coverage/CoverageExplorer.java | 11 +++----
.../org/apache/sis/gui/coverage/ImageRequest.java | 8 ++---
.../org/apache/sis/gui/dataset/WindowHandler.java | 3 --
.../main/org/apache/sis/gui/map/MapMenu.java | 9 +++---
.../main/org/apache/sis/gui/map/StatusBar.java | 7 ++---
.../gui/referencing/PositionableProjection.java | 2 --
240 files changed, 508 insertions(+), 849 deletions(-)
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/SampleDimension.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/SampleDimension.java
index 8eda32d0e7..d977ab5894 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/SampleDimension.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/SampleDimension.java
@@ -493,8 +493,7 @@ public class SampleDimension implements Serializable {
*/
@Debug
public static String toString(final Locale locale, SampleDimension... dimensions) {
- ArgumentChecks.ensureNonNull("dimensions", dimensions);
- return new SampleRangeFormat(locale).write(dimensions);
+ return new SampleRangeFormat(locale).write(Objects.requireNonNull(dimensions));
}
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/BufferedGridCoverage.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/BufferedGridCoverage.java
index 5de8fcad3b..7745f75e46 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/BufferedGridCoverage.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/BufferedGridCoverage.java
@@ -17,6 +17,7 @@
package org.apache.sis.coverage.grid;
import java.util.List;
+import java.util.Objects;
import java.util.function.Function;
import java.awt.image.DataBuffer;
import java.awt.image.DataBufferByte;
@@ -33,7 +34,6 @@ import org.opengis.geometry.MismatchedDimensionException;
import org.opengis.referencing.operation.TransformException;
import org.apache.sis.coverage.SampleDimension;
import org.apache.sis.feature.internal.Resources;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.util.collection.Cache;
import org.apache.sis.image.DataType;
@@ -148,8 +148,7 @@ public class BufferedGridCoverage extends GridCoverage {
*/
public BufferedGridCoverage(final GridGeometry domain, final List<? extends SampleDimension> range, final DataBuffer data) {
super(domain, range);
- this.data = data;
- ArgumentChecks.ensureNonNull("data", data);
+ this.data = Objects.requireNonNull(data);
/*
* The buffer shall either contain all values in a single bank (pixel interleaved sample model)
* or contain as many banks as bands (banded sample model).
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/CoordinateOperationFinder.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/CoordinateOperationFinder.java
index 1f46d7ed3b..4c0f1f0725 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/CoordinateOperationFinder.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/CoordinateOperationFinder.java
@@ -17,7 +17,6 @@
package org.apache.sis.coverage.grid;
import java.util.Arrays;
-import java.util.Objects;
import java.util.function.Supplier;
import javax.measure.Quantity;
import javax.measure.quantity.Length;
@@ -239,7 +238,9 @@ final class CoordinateOperationFinder implements Supplier<double[]> {
*/
final void verifyPresenceOfCRS(final boolean rs) {
if ((rs ? target : source).isDefined(GridGeometry.CRS)) {
- Objects.requireNonNull((rs ? source : target).getCoordinateReferenceSystem());
+ if ((rs ? source : target).getCoordinateReferenceSystem() == null) {
+ throw new IncompleteGridGeometryException();
+ }
}
}
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverage.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverage.java
index b7f4fca4f1..049b9f7ee0 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverage.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverage.java
@@ -19,6 +19,7 @@ package org.apache.sis.coverage.grid;
import java.util.Map;
import java.util.List;
import java.util.Locale;
+import java.util.Objects;
import java.util.Optional;
import java.awt.image.RenderedImage;
import org.opengis.geometry.Envelope;
@@ -104,10 +105,8 @@ public abstract class GridCoverage extends BandedCoverage {
* @throws IllegalArgumentException if the {@code range} list is empty.
*/
protected GridCoverage(final GridGeometry domain, final List<? extends SampleDimension> ranges) {
- gridGeometry = domain;
+ gridGeometry = Objects.requireNonNull(domain);
sampleDimensions = ranges.toArray(SampleDimension[]::new);
- ArgumentChecks.ensureNonNull ("domain", domain);
- ArgumentChecks.ensureNonEmpty("ranges", sampleDimensions);
for (int i=0; i<sampleDimensions.length; i++) {
ArgumentChecks.ensureNonNullElement("ranges", i, sampleDimensions[i]);
}
@@ -535,8 +534,7 @@ public abstract class GridCoverage extends BandedCoverage {
*/
@Debug
public TreeTable toTree(final Locale locale, final int bitmask) {
- ArgumentChecks.ensureNonNull("locale", locale);
- final Vocabulary vocabulary = Vocabulary.forLocale(locale);
+ final Vocabulary vocabulary = Vocabulary.forLocale(Objects.requireNonNull(locale));
final TableColumn<CharSequence> column = TableColumn.VALUE_AS_TEXT;
final TreeTable tree = new DefaultTreeTable(column);
final TreeTable.Node root = tree.getRoot();
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverage2D.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverage2D.java
index da18e5448e..c8dd74fc94 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverage2D.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverage2D.java
@@ -19,6 +19,7 @@ package org.apache.sis.coverage.grid;
import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;
+import java.util.Objects;
import java.util.concurrent.atomic.AtomicReference;
import java.text.NumberFormat;
import java.text.FieldPosition;
@@ -47,7 +48,6 @@ import org.apache.sis.image.DataType;
import org.apache.sis.coverage.SampleDimension;
import org.apache.sis.coverage.grid.j2d.ImageUtilities;
import org.apache.sis.feature.internal.Resources;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.ArraysExt;
import org.apache.sis.util.Debug;
import org.apache.sis.util.iso.DefaultNameFactory;
@@ -186,8 +186,7 @@ public class GridCoverage2D extends GridCoverage {
*/
public GridCoverage2D(final GridCoverage source, RenderedImage data) {
super(source, source.getGridGeometry());
- ArgumentChecks.ensureNonNull("data", data);
- this.data = data = unwrapIfSameSize(data);
+ this.data = data = unwrapIfSameSize(Objects.requireNonNull(data));
final GridExtent extent = gridGeometry.getExtent();
final int[] imageAxes;
if (source instanceof GridCoverage2D) {
@@ -249,8 +248,7 @@ public class GridCoverage2D extends GridCoverage {
super(domain = addExtentIfAbsent(domain, data = unwrapIfSameSize(data)),
defaultIfAbsent(range, data, ImageUtilities.getNumBands(data)));
- this.data = data;
- ArgumentChecks.ensureNonNull("data", data);
+ this.data = Objects.requireNonNull(data);
/*
* Find indices of the two dimensions of the slice. Those dimensions are usually 0 for x and 1 for y,
* but not necessarily. A two dimensional CRS will be extracted for those dimensions later if needed.
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageBuilder.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageBuilder.java
index 052fd59f0b..e94d34d03b 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageBuilder.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageBuilder.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Hashtable;
+import static java.util.Objects.requireNonNull;
import java.awt.Point;
import java.awt.Dimension;
import java.awt.Rectangle;
@@ -298,7 +299,7 @@ public class GridCoverageBuilder {
* @see SampleDimension.Builder
*/
public GridCoverageBuilder addRange(final SampleDimension band) {
- ArgumentChecks.ensureNonNull("band", band);
+ requireNonNull(band);
if (!(ranges instanceof ArrayList<?>)) {
ranges = (ranges != null) ? new ArrayList<>(ranges) : new ArrayList<>();
}
@@ -322,8 +323,7 @@ public class GridCoverageBuilder {
* @see BufferedImage
*/
public GridCoverageBuilder setValues(final RenderedImage data) {
- ArgumentChecks.ensureNonNull("data", data);
- image = data;
+ image = requireNonNull(data);
raster = null;
buffer = null;
size = null;
@@ -346,8 +346,7 @@ public class GridCoverageBuilder {
* @see Raster#createBandedRaster(int, int, int, int, Point)
*/
public GridCoverageBuilder setValues(final Raster data) {
- ArgumentChecks.ensureNonNull("data", data);
- raster = data;
+ raster = requireNonNull(data);
image = null;
buffer = null;
size = null;
@@ -425,9 +424,7 @@ public class GridCoverageBuilder {
*/
@SuppressWarnings("UseOfObsoleteCollectionType")
public GridCoverageBuilder addImageProperty(final String key, final Object value) {
- ArgumentChecks.ensureNonNull("key", key);
- ArgumentChecks.ensureNonNull("value", value);
- if (properties.putIfAbsent(key, value) != null) {
+ if (properties.putIfAbsent(requireNonNull(key, "key"), requireNonNull(value, "value")) != null) {
throw new IllegalArgumentException(Errors.format(Errors.Keys.ElementAlreadyPresent_1, key));
}
return this;
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageProcessor.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageProcessor.java
index e9f0431fa4..09c0f29f2c 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageProcessor.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageProcessor.java
@@ -152,7 +152,6 @@ public class GridCoverageProcessor implements Cloneable {
* @param processor the processor to use for operations on two-dimensional slices.
*/
public GridCoverageProcessor(final ImageProcessor processor) {
- ArgumentChecks.ensureNonNull("processor", processor);
imageProcessor = processor.clone();
}
@@ -716,7 +715,6 @@ public class GridCoverageProcessor implements Cloneable {
* @since 1.4
*/
public GridCoverage reduceDimensionality(final GridCoverage source) {
- ArgumentChecks.ensureNonNull("source", source);
return DimensionalityReduction.reduce(source.getGridGeometry()).apply(source);
}
@@ -761,7 +759,6 @@ public class GridCoverageProcessor implements Cloneable {
* @since 1.4
*/
public GridCoverage removeGridDimensions(final GridCoverage source, final int... gridAxesToRemove) {
- ArgumentChecks.ensureNonNull("source", source);
var reduction = DimensionalityReduction.remove(source.getGridGeometry(), gridAxesToRemove);
reduction.ensureIsSlice();
return reduction.apply(source);
@@ -812,7 +809,6 @@ public class GridCoverageProcessor implements Cloneable {
* @since 1.4
*/
public GridCoverage selectGridDimensions(final GridCoverage source, final int... gridAxesToPass) {
- ArgumentChecks.ensureNonNull("source", source);
var reduction = DimensionalityReduction.select(source.getGridGeometry(), gridAxesToPass);
reduction.ensureIsSlice();
return reduction.apply(source);
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridDerivation.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridDerivation.java
index abe77fe7ca..30065e9503 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridDerivation.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridDerivation.java
@@ -18,6 +18,7 @@ package org.apache.sis.coverage.grid;
import java.util.Arrays;
import java.util.Locale;
+import java.util.Objects;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.math.RoundingMode;
@@ -221,8 +222,7 @@ public class GridDerivation {
* @see GridGeometry#derive()
*/
protected GridDerivation(final GridGeometry base) {
- ArgumentChecks.ensureNonNull("base", base);
- this.base = base;
+ this.base = Objects.requireNonNull(base);
baseExtent = base.extent; // May be null.
rounding = GridRoundingMode.NEAREST;
clipping = GridClippingMode.STRICT;
@@ -256,9 +256,8 @@ public class GridDerivation {
* has already been invoked.
*/
public GridDerivation rounding(final GridRoundingMode mode) {
- ArgumentChecks.ensureNonNull("mode", mode);
ensureSubgridNotSet();
- rounding = mode;
+ rounding = Objects.requireNonNull(mode);
return this;
}
@@ -274,9 +273,8 @@ public class GridDerivation {
* @since 1.1
*/
public GridDerivation clipping(final GridClippingMode mode) {
- ArgumentChecks.ensureNonNull("mode", mode);
ensureSubgridNotSet();
- clipping = mode;
+ clipping = Objects.requireNonNull(mode);
return this;
}
@@ -474,7 +472,6 @@ public class GridDerivation {
*/
public GridDerivation subgrid(final GridGeometry areaOfInterest) {
ensureSubgridNotSet();
- ArgumentChecks.ensureNonNull("areaOfInterest", areaOfInterest);
if (areaOfInterest.isEnvelopeOnly()) {
return subgrid(areaOfInterest.envelope, (double[]) null);
}
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridExtent.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridExtent.java
index b27691017b..f3f1703eb2 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridExtent.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridExtent.java
@@ -21,12 +21,12 @@ import java.util.TreeMap;
import java.util.SortedMap;
import java.util.Arrays;
import java.util.Optional;
+import java.util.Objects;
import java.util.logging.Logger;
import java.io.Serializable;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.awt.Rectangle;
-import java.util.Objects;
import org.opengis.util.FactoryException;
import org.opengis.util.InternationalString;
import org.opengis.geometry.Envelope;
@@ -358,7 +358,6 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
* @see #insertDimension(int, DimensionNameType, long, long, boolean)
*/
public GridExtent(final DimensionNameType[] axisTypes, final long[] low, final long[] high, final boolean isHighIncluded) {
- ArgumentChecks.ensureNonNull("high", high);
final int dimension = high.length;
if (low != null && low.length != dimension) {
throw new IllegalArgumentException(Errors.format(Errors.Keys.MismatchedDimension_2, low.length, dimension));
@@ -675,7 +674,6 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
* @see #castOrCopy(GridEnvelope)
*/
protected GridExtent(final GridEnvelope extent) {
- ArgumentChecks.ensureNonNull("extent", extent);
final int dimension = extent.getDimension();
coordinates = allocate(dimension);
for (int i=0; i<dimension; i++) {
@@ -1477,7 +1475,6 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
* @return a clone of the given array, or {@code null} if the caller can return {@code this}.
*/
static int[] verifyDimensions(int[] indices, final int limit) {
- ArgumentChecks.ensureNonNull("indices", indices);
final int n = indices.length;
ArgumentChecks.ensureCountBetween("indices", false, 1, limit, n);
indices = indices.clone();
@@ -1535,7 +1532,6 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
* @see GridDerivation#margin(int...)
*/
public GridExtent expand(final long... margins) {
- ArgumentChecks.ensureNonNull("margins", margins);
final int m = getDimension();
final int length = Math.min(m, margins.length);
if (isZero(margins, length)) {
@@ -1607,7 +1603,6 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
* @see GridDerivation#subgrid(GridExtent, int...)
*/
public GridExtent resize(final long... sizes) {
- ArgumentChecks.ensureNonNull("sizes", sizes);
final int m = getDimension();
final int length = Math.min(m, sizes.length);
final GridExtent resize = new GridExtent(this);
@@ -1665,7 +1660,6 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
* @see GridDerivation#subgrid(GridExtent, int...)
*/
public GridExtent subsample(final int... periods) {
- ArgumentChecks.ensureNonNull("periods", periods);
final int m = getDimension();
final int length = Math.min(m, periods.length);
final GridExtent sub = new GridExtent(this);
@@ -1711,7 +1705,6 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
* @since 1.3
*/
public GridExtent upsample(final int... periods) {
- ArgumentChecks.ensureNonNull("periods", periods);
final int m = getDimension();
final int length = Math.min(m, periods.length);
final GridExtent sub = new GridExtent(this);
@@ -1856,7 +1849,6 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
* @since 1.1
*/
public GridExtent translate(final long... translation) {
- ArgumentChecks.ensureNonNull("translation", translation);
final int m = getDimension();
final int length = Math.min(m, translation.length);
if (isZero(translation, length)) {
@@ -1889,7 +1881,6 @@ public class GridExtent implements GridEnvelope, LenientComparable, Serializable
* @since 1.2
*/
public boolean contains(final long... cell) {
- ArgumentChecks.ensureNonNull("cell", cell);
final int m = getDimension();
final int length = Math.min(m, cell.length);
for (int i=0; i<length; i++) {
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridGeometry.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridGeometry.java
index 3e3f3823f5..e52888ce5e 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridGeometry.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridGeometry.java
@@ -348,7 +348,6 @@ public class GridGeometry implements LenientComparable, Serializable {
* @since 1.2
*/
public GridGeometry(final GridGeometry other, final GridExtent extent, final MathTransform toOther) throws TransformException {
- ArgumentChecks.ensureNonNull("other", other);
final int dimension = other.getDimension();
this.extent = extent;
ensureDimensionMatches(dimension, extent);
@@ -383,6 +382,7 @@ public class GridGeometry implements LenientComparable, Serializable {
* Recompute the envelope and clip only if a sub-sampling may have been applied (toOther != null).
* The reason for clipping is because subsampling may cause cells to appear larger.
*/
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
ImmutableEnvelope envelope = other.envelope; // We will share the same instance if possible.
ImmutableEnvelope computed = computeEnvelope(gridToCRS, getCoordinateReferenceSystem(envelope),
toOther == null ? null : envelope); // Clip.
@@ -716,7 +716,7 @@ public class GridGeometry implements LenientComparable, Serializable {
* @since 1.4
*/
public GridGeometry(final Envelope envelope) {
- ArgumentChecks.ensureNonNull("envelope", envelope);
+ // Implicit null value check below.
this.envelope = ImmutableEnvelope.castOrCopy(envelope);
if (this.envelope.isAllNaN() && this.envelope.getCoordinateReferenceSystem() == null) {
throw new IllegalArgumentException(Errors.format(Errors.Keys.EmptyArgument_1, "envelope"));
@@ -1585,7 +1585,6 @@ public class GridGeometry implements LenientComparable, Serializable {
* @since 1.3
*/
public GridGeometry relocate(final GridExtent newExtent) throws TransformException {
- ArgumentChecks.ensureNonNull("newExtent", newExtent);
if (newExtent.equals(extent)) {
return this;
}
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ImageRenderer.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ImageRenderer.java
index 8a02c4ffb1..80663e1663 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ImageRenderer.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ImageRenderer.java
@@ -18,6 +18,7 @@ package org.apache.sis.coverage.grid;
import java.util.Arrays;
import java.util.Hashtable;
+import java.util.Objects;
import java.util.function.Function;
import java.nio.Buffer;
import java.awt.Color;
@@ -300,7 +301,6 @@ public class ImageRenderer {
* @throws ArithmeticException if a stride calculation overflows the 32 bits integer capacity.
*/
public ImageRenderer(final GridCoverage coverage, GridExtent sliceExtent) {
- ArgumentChecks.ensureNonNull("coverage", coverage);
bands = coverage.getSampleDimensions().toArray(SampleDimension[]::new);
geometry = coverage.getGridGeometry();
final GridExtent source = geometry.getExtent();
@@ -540,7 +540,6 @@ public class ImageRenderer {
* @throws MismatchedCoverageRangeException if the given data buffer does not have the expected number of banks.
*/
public void setData(final DataBuffer data) {
- ArgumentChecks.ensureNonNull("data", data);
ensureExpectedBandCount(data.getNumBanks(), true);
buffer = data;
}
@@ -572,7 +571,6 @@ public class ImageRenderer {
*/
public void setData(final DataType dataType, final Buffer... data) {
ArgumentChecks.ensureNonNull("dataType", dataType);
- ArgumentChecks.ensureNonNull("data", data);
ensureExpectedBandCount(data.length, true);
setData(RasterFactory.wrap(dataType, data));
}
@@ -594,7 +592,6 @@ public class ImageRenderer {
* @throws ArithmeticException if a buffer position overflows the 32 bits integer capacity.
*/
public void setData(final Vector... data) {
- ArgumentChecks.ensureNonNull("data", data);
ensureExpectedBandCount(data.length, true);
final Buffer[] buffers = new Buffer[data.length];
DataType dataType = null;
@@ -631,7 +628,6 @@ public class ImageRenderer {
*/
public void setInterleavedPixelOffsets(final int pixelStride, final int[] bandOffsets) {
ArgumentChecks.ensureStrictlyPositive("pixelStride", pixelStride);
- ArgumentChecks.ensureNonNull("bandOffsets", bandOffsets);
ensureExpectedBandCount(bandOffsets.length, false);
this.strideFactor = pixelStride;
this.bandOffsets = bandOffsets.clone();
@@ -682,8 +678,7 @@ public class ImageRenderer {
* @since 1.2
*/
public void setCategoryColors(final Function<Category,Color[]> colors) {
- ArgumentChecks.ensureNonNull("colors", colors);
- this.colors = colors;
+ this.colors = Objects.requireNonNull(colors);
}
/**
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ReshapedImage.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ReshapedImage.java
index 749c2bbaaa..2091cd364a 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ReshapedImage.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ReshapedImage.java
@@ -31,7 +31,6 @@ import static java.lang.Math.subtractExact;
import static java.lang.Math.floorDiv;
import static java.lang.Math.toIntExact;
import org.apache.sis.image.PlanarImage;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -242,7 +241,6 @@ final class ReshapedImage extends PlanarImage {
*/
@Override
public Raster getData(final Rectangle aoi) {
- ArgumentChecks.ensureNonNull("aoi", aoi);
return copyData(new Rectangle(aoi));
}
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ColorsForRange.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ColorsForRange.java
index e29e93c744..a261e41631 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ColorsForRange.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ColorsForRange.java
@@ -119,9 +119,8 @@ final class ColorsForRange implements Comparable<ColorsForRange> {
ColorsForRange(final CharSequence name, final NumberRange<?> sampleRange, final Color[] colors,
final boolean isData, final ColorModel inherited)
{
- ArgumentChecks.ensureNonNull("sampleRange", sampleRange);
this.name = name;
- this.sampleRange = originalSampleRange = sampleRange;
+ this.sampleRange = originalSampleRange = Objects.requireNonNull(sampleRange);
this.isData = isData;
this.colors = colors;
inheritedColors = inherited;
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/TilePlaceholder.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/TilePlaceholder.java
index 1be924a4ca..8b367f2af4 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/TilePlaceholder.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/TilePlaceholder.java
@@ -17,6 +17,7 @@
package org.apache.sis.coverage.grid.j2d;
import java.util.Arrays;
+import java.util.Objects;
import java.awt.Point;
import java.awt.color.ColorSpace;
import java.awt.image.ColorModel;
@@ -29,7 +30,6 @@ import java.awt.image.BufferedImage;
import java.lang.ref.WeakReference;
import org.apache.sis.util.Disposable;
import org.apache.sis.util.Workaround;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.collection.WeakHashSet;
import org.apache.sis.util.internal.Numerics;
import org.apache.sis.system.ReferenceQueueConsumer;
@@ -117,8 +117,7 @@ public class TilePlaceholder {
* @param model sample model of the empty tiles.
*/
protected TilePlaceholder(final SampleModel model) {
- ArgumentChecks.ensureNonNull("model", model);
- this.model = model;
+ this.model = Objects.requireNonNull(model);
}
/**
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/internal/CompoundTransform.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/internal/CompoundTransform.java
index 90db3ba661..45b803cf76 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/internal/CompoundTransform.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/internal/CompoundTransform.java
@@ -65,7 +65,6 @@ public abstract class CompoundTransform extends AbstractMathTransform {
* @return compound transforms with the given components.
*/
public static MathTransform create(final MathTransform[] components) {
- ArgumentChecks.ensureNonNull("components", components);
final int n = components.length;
if (n == 0) {
return MathTransforms.identity(0);
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractAssociation.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractAssociation.java
index a8f9b286fb..eec56f1b88 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractAssociation.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractAssociation.java
@@ -21,7 +21,6 @@ import java.util.Iterator;
import java.io.Serializable;
import org.opengis.util.GenericName;
import org.opengis.metadata.quality.DataQuality;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.feature.internal.Resources;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
@@ -86,7 +85,6 @@ public abstract class AbstractAssociation extends Field<Feature> implements Feat
* @see DefaultAssociationRole#newInstance()
*/
public static AbstractAssociation create(final FeatureAssociationRole role) {
- ArgumentChecks.ensureNonNull("role", role);
return isSingleton(role.getMaximumOccurs())
? new SingletonAssociation(role)
: new MultiValuedAssociation(role);
@@ -100,7 +98,6 @@ public abstract class AbstractAssociation extends Field<Feature> implements Feat
* @return the new association.
*/
static AbstractAssociation create(final FeatureAssociationRole role, final Object value) {
- ArgumentChecks.ensureNonNull("role", role);
return isSingleton(role.getMaximumOccurs())
? new SingletonAssociation(role, (Feature) value)
: new MultiValuedAssociation(role, value);
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractAttribute.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractAttribute.java
index d4ca535955..cd4dacb599 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractAttribute.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractAttribute.java
@@ -28,7 +28,6 @@ import org.opengis.util.GenericName;
import org.opengis.metadata.quality.DataQuality;
import org.opengis.metadata.maintenance.ScopeCode;
import org.apache.sis.util.Classes;
-import org.apache.sis.util.ArgumentChecks;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.feature.Attribute;
@@ -126,7 +125,6 @@ public abstract class AbstractAttribute<V> extends Field<V> implements Attribute
* @see DefaultAttributeType#newInstance()
*/
public static <V> AbstractAttribute<V> create(final AttributeType<V> type) {
- ArgumentChecks.ensureNonNull("type", type);
return isSingleton(type.getMaximumOccurs())
? new SingletonAttribute<>(type)
: new MultiValuedAttribute<>(type);
@@ -142,7 +140,6 @@ public abstract class AbstractAttribute<V> extends Field<V> implements Attribute
* @return the new attribute.
*/
static <V> AbstractAttribute<V> create(final AttributeType<V> type, final Object value) {
- ArgumentChecks.ensureNonNull("type", type);
return isSingleton(type.getMaximumOccurs())
? new SingletonAttribute<>(type, value)
: new MultiValuedAttribute<>(type, value);
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java
index 32ec993453..41f7584409 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java
@@ -119,8 +119,7 @@ public abstract class AbstractFeature implements Feature, Serializable {
* @see DefaultFeatureType#newInstance()
*/
protected AbstractFeature(final FeatureType type) {
- ArgumentChecks.ensureNonNull("type", type);
- this.type = type;
+ this.type = Objects.requireNonNull(type);
}
/**
@@ -214,7 +213,6 @@ public abstract class AbstractFeature implements Feature, Serializable {
*/
@Override
public void setProperty(final Property property) throws IllegalArgumentException {
- ArgumentChecks.ensureNonNull("property", property);
final String name = property.getName().toString();
verifyPropertyType(name, property);
if (property instanceof Attribute<?> && !Containers.isNullOrEmpty(((Attribute<?>) property).characteristics())) {
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractIdentifiedType.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractIdentifiedType.java
index 186a7a933c..f20e505641 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractIdentifiedType.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractIdentifiedType.java
@@ -29,7 +29,6 @@ import org.apache.sis.util.Deprecable;
import org.apache.sis.util.iso.DefaultNameFactory;
import org.apache.sis.util.iso.Types;
import org.apache.sis.util.resources.Errors;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.feature.IdentifiedType;
@@ -200,9 +199,9 @@ public class AbstractIdentifiedType implements IdentifiedType, Deprecable, Seria
* @param identification the name and other information to be given to this identified type.
* @throws IllegalArgumentException if a property has an invalid value.
*/
- @SuppressWarnings("OverridableMethodCallInConstructor")
+ @SuppressWarnings("this-escape")
protected AbstractIdentifiedType(final Map<String,?> identification) throws IllegalArgumentException {
- ensureNonNull("identification", identification);
+ // Implicit null value check.
Object value = identification.get(NAME_KEY);
if (value == null) {
throw new IllegalArgumentException(Errors.forProperties(identification)
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/CharacteristicMap.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/CharacteristicMap.java
index 7e42b006c7..60346f525a 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/CharacteristicMap.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/CharacteristicMap.java
@@ -18,7 +18,6 @@ package org.apache.sis.feature;
import java.util.Map;
import org.opengis.util.GenericName;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.internal.Cloner;
import org.apache.sis.util.internal.CloneAccess;
import org.apache.sis.util.internal.AbstractMap;
@@ -169,7 +168,6 @@ final class CharacteristicMap extends AbstractMap<String,Attribute<?>> implement
* @throws PropertyNotFoundException if the given key is not the name of a characteristic in this map.
*/
private int indexOf(final String key) {
- ArgumentChecks.ensureNonNull("key", key);
final Integer index = types.indices.get(key);
if (index == null) {
throw new PropertyNotFoundException(Resources.format(
@@ -206,7 +204,6 @@ final class CharacteristicMap extends AbstractMap<String,Attribute<?>> implement
@Override
public Attribute<?> put(final String key, final Attribute<?> value) {
final int index = indexOf(key);
- ArgumentChecks.ensureNonNull("value", value);
verifyAttributeType(index, value.getType());
if (characterizedBy == null) {
characterizedBy = new Attribute<?>[types.characterizedBy.length];
@@ -247,7 +244,6 @@ final class CharacteristicMap extends AbstractMap<String,Attribute<?>> implement
*/
@Override
protected boolean addValue(final Attribute<?> value) {
- ArgumentChecks.ensureNonNull("value", value);
final int index = indexOf(value.getName().toString());
verifyAttributeType(index, value.getType());
if (characterizedBy == null) {
@@ -342,7 +338,6 @@ final class CharacteristicMap extends AbstractMap<String,Attribute<?>> implement
/** Sets the attribute characteristic. */
@Override public Attribute<?> setValue(final Attribute<?> value) {
- ArgumentChecks.ensureNonNull("value", value);
verifyAttributeType(index, value.getType());
final Attribute<?> previous = this.value;
characterizedBy[index] = value;
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DefaultAssociationRole.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DefaultAssociationRole.java
index 82a50c05c8..ca01aa5810 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DefaultAssociationRole.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DefaultAssociationRole.java
@@ -21,12 +21,12 @@ import java.util.List;
import java.util.ArrayList;
import java.util.Collection;
import java.util.IdentityHashMap;
+import java.util.Objects;
import org.opengis.util.GenericName;
import org.opengis.util.InternationalString;
import org.opengis.metadata.Identifier;
import org.apache.sis.feature.internal.Resources;
import org.apache.sis.feature.internal.AttributeConvention;
-import static org.apache.sis.util.ArgumentChecks.*;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.feature.PropertyType;
@@ -136,8 +136,7 @@ public class DefaultAssociationRole extends FieldType implements FeatureAssociat
final int minimumOccurs, final int maximumOccurs)
{
super(identification, minimumOccurs, maximumOccurs);
- ensureNonNull("valueType", valueType);
- this.valueType = valueType;
+ this.valueType = Objects.requireNonNull(valueType);
}
/**
@@ -179,8 +178,7 @@ public class DefaultAssociationRole extends FieldType implements FeatureAssociat
final int minimumOccurs, final int maximumOccurs)
{
super(identification, minimumOccurs, maximumOccurs);
- ensureNonNull("valueType", valueType);
- this.valueType = new NamedFeatureType(valueType);
+ this.valueType = new NamedFeatureType(Objects.requireNonNull(valueType));
}
/**
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DefaultAttributeType.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DefaultAttributeType.java
index 619ed2cdb9..b5b5c12a55 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DefaultAttributeType.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DefaultAttributeType.java
@@ -26,7 +26,7 @@ import java.io.InvalidObjectException;
import org.opengis.util.GenericName;
import org.opengis.util.InternationalString;
import org.apache.sis.util.Classes;
-import static org.apache.sis.util.ArgumentChecks.*;
+import org.apache.sis.util.ArgumentChecks;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.feature.Attribute;
@@ -189,8 +189,8 @@ public class DefaultAttributeType<V> extends FieldType implements AttributeType<
final AttributeType<?>... characterizedBy)
{
super(identification, minimumOccurs, maximumOccurs);
- ensureNonNull("valueClass", valueClass);
- ensureCanCast("defaultValue", valueClass, defaultValue);
+ ArgumentChecks.ensureNonNull("valueClass", valueClass);
+ ArgumentChecks.ensureCanCast("defaultValue", valueClass, defaultValue);
this.valueClass = valueClass;
this.defaultValue = defaultValue;
if (characterizedBy != null && characterizedBy.length != 0) {
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DefaultFeatureType.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DefaultFeatureType.java
index dd68969bbb..cd48081f8b 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DefaultFeatureType.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DefaultFeatureType.java
@@ -685,8 +685,7 @@ public class DefaultFeatureType extends AbstractIdentifiedType implements Featur
if (type == this) {
return true; // Optimization for a common case.
}
- ArgumentChecks.ensureNonNull("type", type);
- if (!maybeAssignableFrom(this, type)) {
+ if (!maybeAssignableFrom(this, Objects.requireNonNull(type))) {
return false;
}
/*
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DenseFeature.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DenseFeature.java
index 4111119c00..0608b56c55 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DenseFeature.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/DenseFeature.java
@@ -92,6 +92,7 @@ final class DenseFeature extends AbstractFeature implements CloneAccess {
if (index != null) {
return index;
}
+ ArgumentChecks.ensureNonNull("name", name);
throw new PropertyNotFoundException(propertyNotFound(type, getName(), name));
}
@@ -104,7 +105,7 @@ final class DenseFeature extends AbstractFeature implements CloneAccess {
*/
@Override
public Property getProperty(final String name) throws PropertyNotFoundException {
- ArgumentChecks.ensureNonNull("name", name);
+ // Null value check done by the invoked method.
final int index = getIndex(name);
if (index < 0) {
return getOperationResult(name);
@@ -137,7 +138,6 @@ final class DenseFeature extends AbstractFeature implements CloneAccess {
*/
@Override
public void setProperty(final Property property) throws IllegalArgumentException {
- ArgumentChecks.ensureNonNull("property", property);
final String name = property.getName().toString();
verifyPropertyType(name, property);
if (!(properties instanceof Property[])) {
@@ -229,7 +229,7 @@ final class DenseFeature extends AbstractFeature implements CloneAccess {
*/
@Override
public void setPropertyValue(final String name, Object value) throws IllegalArgumentException {
- ArgumentChecks.ensureNonNull("name", name);
+ // Null value check done by the invoked method.
final int index = getIndex(name);
if (index < 0) {
setOperationValue(name, value);
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/FeatureFormat.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/FeatureFormat.java
index 22083db4b0..926a630d29 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/FeatureFormat.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/FeatureFormat.java
@@ -24,13 +24,13 @@ import java.util.Iterator;
import java.util.Collection;
import java.util.Locale;
import java.util.TimeZone;
+import java.util.concurrent.atomic.AtomicReference;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.text.Format;
import java.text.FieldPosition;
import java.text.ParsePosition;
import java.text.ParseException;
-import java.util.concurrent.atomic.AtomicReference;
import org.opengis.referencing.IdentifiedObject;
import org.opengis.util.InternationalString;
import org.opengis.util.GenericName;
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/Field.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/Field.java
index 29ab67f054..a2560fc6d9 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/Field.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/Field.java
@@ -18,7 +18,6 @@ package org.apache.sis.feature;
import java.util.Collection;
import java.util.Iterator;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.Deprecable;
import org.apache.sis.util.resources.Errors;
@@ -97,7 +96,6 @@ abstract class Field<V> implements Property {
*/
public void setValues(final Collection<? extends V> values) throws InvalidPropertyValueException {
V value = null;
- ArgumentChecks.ensureNonNull("values", values);
final Iterator<? extends V> it = values.iterator();
if (it.hasNext()) {
value = it.next();
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/LinkOperation.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/LinkOperation.java
index e72faecf50..f10e1b2e0d 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/LinkOperation.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/LinkOperation.java
@@ -22,7 +22,6 @@ import java.io.IOException;
import org.opengis.parameter.ParameterValueGroup;
import org.opengis.parameter.ParameterDescriptorGroup;
import org.apache.sis.feature.internal.FeatureUtilities;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Errors;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
@@ -114,7 +113,6 @@ final class LinkOperation extends AbstractOperation {
*/
@Override
public Property apply(final Feature feature, final ParameterValueGroup parameters) {
- ArgumentChecks.ensureNonNull("feature", feature);
return feature.getProperty(referentName);
}
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/MultiValuedAssociation.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/MultiValuedAssociation.java
index 297672c7ff..2eefcee07d 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/MultiValuedAssociation.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/MultiValuedAssociation.java
@@ -133,7 +133,7 @@ final class MultiValuedAssociation extends AbstractAssociation {
@Override
public void setValues(final Collection<? extends Feature> newValues) {
if (newValues != values) {
- ArgumentChecks.ensureNonNull("values", newValues); // The parameter name in public API is "values".
+ ArgumentChecks.ensureNonNull("values", newValues); // The parameter name in public API is "values".
final FeatureType base = role.getValueType();
values.clear();
for (final Feature value : newValues) {
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/OperationResult.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/OperationResult.java
index a1876449a8..04e3ba749d 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/OperationResult.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/OperationResult.java
@@ -49,7 +49,8 @@ abstract class OperationResult<V> extends AbstractAttribute<V> {
/**
* Creates a new operation for a result of the given type.
*
- * @param type information about the attribute (base Java class, domain of values, <i>etc.</i>).
+ * @param type information about the attribute (base Java class, domain of values, <i>etc.</i>).
+ * @param feature the feature instance to use as a source for computing the result.
*/
protected OperationResult(final AttributeType<V> type, final Feature feature) {
super(type);
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/SparseFeature.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/SparseFeature.java
index be78c691d8..dcb48cd7e2 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/SparseFeature.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/SparseFeature.java
@@ -122,6 +122,7 @@ final class SparseFeature extends AbstractFeature implements CloneAccess {
* @throws PropertyNotFoundException if the given argument is not a property name of this feature.
*/
private Integer getIndex(final String name) throws PropertyNotFoundException {
+ ArgumentChecks.ensureNonNull("name", name); // Parameter name in public API.
final Integer index = indices.get(name);
if (index != null) {
return index;
@@ -175,7 +176,7 @@ final class SparseFeature extends AbstractFeature implements CloneAccess {
*/
@Override
public Property getProperty(final String name) throws PropertyNotFoundException {
- ArgumentChecks.ensureNonNull("name", name);
+ // Null value check done by the invoked method.
requireMapOfProperties();
return getPropertyInstance(name);
}
@@ -207,7 +208,6 @@ final class SparseFeature extends AbstractFeature implements CloneAccess {
*/
@Override
public void setProperty(final Property property) throws IllegalArgumentException {
- ArgumentChecks.ensureNonNull("property", property);
final String name = property.getName().toString();
verifyPropertyType(name, property);
requireMapOfProperties();
@@ -279,7 +279,7 @@ final class SparseFeature extends AbstractFeature implements CloneAccess {
*/
@Override
public void setPropertyValue(final String name, final Object value) throws IllegalArgumentException {
- ArgumentChecks.ensureNonNull("name", name);
+ // Null value check done by the invoked method.
final Integer index = getIndex(name);
if (index < 0) {
setOperationValue(name, value);
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/StringJoinOperation.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/StringJoinOperation.java
index 929e533656..c2cc0789fd 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/StringJoinOperation.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/StringJoinOperation.java
@@ -303,8 +303,7 @@ final class StringJoinOperation extends AbstractOperation {
*/
@Override
public Property apply(Feature feature, ParameterValueGroup parameters) {
- ArgumentChecks.ensureNonNull("feature", feature);
- return new Result(feature);
+ return new Result(Objects.requireNonNull(feature));
}
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/BinaryFunction.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/BinaryFunction.java
index aaf267871a..ddafb45f34 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/BinaryFunction.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/BinaryFunction.java
@@ -18,10 +18,10 @@ package org.apache.sis.filter;
import java.util.List;
import java.util.Collection;
+import java.util.Objects;
import java.math.BigInteger;
import java.math.BigDecimal;
import org.apache.sis.util.Numbers;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.math.Fraction;
import org.apache.sis.math.DecimalFunctions;
import org.apache.sis.filter.internal.Node;
@@ -75,10 +75,8 @@ abstract class BinaryFunction<R,V1,V2> extends Node {
protected BinaryFunction(final Expression<R, ? extends V1> expression1,
final Expression<R, ? extends V2> expression2)
{
- ArgumentChecks.ensureNonNull("expression1", expression1);
- ArgumentChecks.ensureNonNull("expression2", expression2);
- this.expression1 = expression1;
- this.expression2 = expression2;
+ this.expression1 = Objects.requireNonNull(expression1);
+ this.expression2 = Objects.requireNonNull(expression2);
}
/**
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/BinaryGeometryFilter.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/BinaryGeometryFilter.java
index 444b38b8c7..c7f0875914 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/BinaryGeometryFilter.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/BinaryGeometryFilter.java
@@ -27,7 +27,6 @@ import org.apache.sis.geometry.wrapper.GeometryWrapper;
import org.apache.sis.geometry.wrapper.SpatialOperationContext;
import org.apache.sis.feature.internal.AttributeConvention;
import org.apache.sis.filter.internal.Node;
-import org.apache.sis.util.ArgumentChecks;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.filter.Filter;
@@ -91,8 +90,7 @@ abstract class BinaryGeometryFilter<R> extends Node implements SpatialOperator<R
final Expression<R,?> geometry2,
final Unit<?> systemUnit)
{
- ArgumentChecks.ensureNonNull("expression1", geometry1);
- ArgumentChecks.ensureNonNull("expression2", geometry2);
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
Expression<R, GeometryWrapper> expression1, expression2;
expression1 = toGeometryWrapper(library, geometry1);
expression2 = toGeometryWrapper(library, geometry2);
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/BinarySpatialFilter.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/BinarySpatialFilter.java
index 856f7b342d..7a3eb192d2 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/BinarySpatialFilter.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/BinarySpatialFilter.java
@@ -17,12 +17,12 @@
package org.apache.sis.filter;
import java.util.Collection;
+import java.util.Objects;
import org.opengis.geometry.Envelope;
import org.apache.sis.geometry.WraparoundMethod;
import org.apache.sis.geometry.wrapper.SpatialOperationContext;
import org.apache.sis.geometry.wrapper.GeometryWrapper;
import org.apache.sis.geometry.wrapper.Geometries;
-import org.apache.sis.util.ArgumentChecks;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.filter.Expression;
@@ -83,8 +83,7 @@ final class BinarySpatialFilter<R> extends BinaryGeometryFilter<R> implements Bi
final Expression<R,?> geometry2)
{
super(library, geometry1, geometry2, null);
- this.operatorType = operatorType;
- ArgumentChecks.ensureNonNull("operatorType", operatorType);
+ this.operatorType = Objects.requireNonNull(operatorType);
}
/**
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/ComparisonFilter.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/ComparisonFilter.java
index abbe38b014..0529727c64 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/ComparisonFilter.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/ComparisonFilter.java
@@ -22,6 +22,7 @@ import java.util.List;
import java.util.Collection;
import java.util.Date;
import java.util.Calendar;
+import java.util.Objects;
import java.time.Instant;
import java.time.LocalTime;
import java.time.OffsetTime;
@@ -35,7 +36,6 @@ import java.time.chrono.ChronoZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.Temporal;
import org.apache.sis.math.Fraction;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.filter.internal.Node;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
@@ -104,8 +104,7 @@ abstract class ComparisonFilter<R> extends BinaryFunction<R,Object,Object>
{
super(expression1, expression2);
this.isMatchingCase = isMatchingCase;
- this.matchAction = matchAction;
- ArgumentChecks.ensureNonNull("matchAction", matchAction);
+ this.matchAction = Objects.requireNonNull(matchAction);
}
/**
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/DistanceFilter.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/DistanceFilter.java
index 276892a187..4b551af15d 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/DistanceFilter.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/DistanceFilter.java
@@ -18,13 +18,13 @@ package org.apache.sis.filter;
import java.util.List;
import java.util.Collection;
+import java.util.Objects;
import javax.measure.Quantity;
import javax.measure.quantity.Length;
import org.opengis.geometry.Geometry;
import org.apache.sis.geometry.wrapper.Geometries;
import org.apache.sis.geometry.wrapper.GeometryWrapper;
import org.apache.sis.geometry.wrapper.SpatialOperationContext;
-import org.apache.sis.util.ArgumentChecks;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.filter.Literal;
@@ -79,8 +79,7 @@ final class DistanceFilter<R> extends BinaryGeometryFilter<R> implements Distanc
final Quantity<Length> distance)
{
super(library, geometry1, geometry2, distance.getUnit().getSystemUnit());
- ArgumentChecks.ensureNonNull("operatorType", operatorType);
- this.operatorType = operatorType;
+ this.operatorType = Objects.requireNonNull(operatorType);
this.distance = distance;
}
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/LikeFilter.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/LikeFilter.java
index 8751c3e13d..25a68709e0 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/LikeFilter.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/LikeFilter.java
@@ -18,8 +18,8 @@ package org.apache.sis.filter;
import java.util.List;
import java.util.Collection;
+import java.util.Objects;
import java.util.regex.Pattern;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.filter.internal.Node;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
@@ -100,9 +100,8 @@ final class LikeFilter<R> extends Node implements LikeOperator<R>, Optimization.
LikeFilter(final Expression<R,?> expression, final String pattern,
final char wildcard, final char singleChar, final char escape, final boolean isMatchingCase)
{
- ArgumentChecks.ensureNonNull("pattern", pattern);
- this.expression = expression;
- this.pattern = pattern;
+ this.expression = Objects.requireNonNull(expression);
+ this.pattern = Objects.requireNonNull(pattern);
this.wildcard = wildcard;
this.singleChar = singleChar;
this.escape = escape;
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/LogicalFilter.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/LogicalFilter.java
index 88a2b8c646..25b783a4c7 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/LogicalFilter.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/LogicalFilter.java
@@ -19,6 +19,7 @@ package org.apache.sis.filter;
import java.util.List;
import java.util.Collection;
import java.util.LinkedHashSet;
+import java.util.Objects;
import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.filter.internal.Node;
import org.apache.sis.util.internal.CollectionsExt;
@@ -231,8 +232,7 @@ abstract class LogicalFilter<R> extends Node implements LogicalOperator<R>, Opti
/** Creates a new operator. */
Not(final Filter<R> operand) {
- ArgumentChecks.ensureNonNull("operand", operand);
- this.operand = operand;
+ this.operand = Objects.requireNonNull(operand);
}
/** Identification of the operation. */
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/UnaryFunction.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/UnaryFunction.java
index 882a4b0786..24d193e50f 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/UnaryFunction.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/UnaryFunction.java
@@ -18,9 +18,9 @@ package org.apache.sis.filter;
import java.util.List;
import java.util.Collection;
+import java.util.Objects;
import java.util.Optional;
import org.apache.sis.xml.NilReason;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.filter.internal.Node;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
@@ -58,8 +58,7 @@ class UnaryFunction<R,V> extends Node {
* Creates a new unary operator.
*/
UnaryFunction(final Expression<R, ? extends V> expression) {
- ArgumentChecks.ensureNonNull("expression", expression);
- this.expression = expression;
+ this.expression = Objects.requireNonNull(expression);
}
/**
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/CopyVisitor.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/CopyVisitor.java
index fd63bfd8df..466a3d8b01 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/CopyVisitor.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/CopyVisitor.java
@@ -19,15 +19,15 @@ package org.apache.sis.filter.internal;
import java.util.List;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Objects;
import javax.measure.Quantity;
import javax.measure.quantity.Length;
import org.opengis.util.CodeList;
import org.opengis.geometry.Envelope;
import org.opengis.filter.*;
-import org.apache.sis.util.ArgumentChecks;
+import org.apache.sis.util.internal.CollectionsExt;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.feature.internal.Resources;
-import org.apache.sis.util.internal.CollectionsExt;
/**
@@ -326,9 +326,9 @@ public class CopyVisitor<SR,TR,G,T> extends Visitor<SR, List<Object>> {
* @param forceNew whether to force creation of new filters or expressions even when the operands did not changed.
* @param forceUse whether to force the use of newly created filters or expressions even when they are equal to the original ones.
*/
+ @SuppressWarnings("this-escape")
CopyVisitor(final FilterFactory<TR,G,T> newFactory, final boolean forceNew, final boolean forceUse) {
- ArgumentChecks.ensureNonNull("factory", newFactory);
- this.factory = newFactory;
+ this.factory = Objects.requireNonNull(newFactory);
this.forceNew = forceNew;
this.forceUse = forceUse;
setCopyHandler(ComparisonOperatorName.PROPERTY_IS_EQUAL_TO, FilterFactory::equal);
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/GeometryConverter.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/GeometryConverter.java
index a7a4bcc805..129d1f4c73 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/GeometryConverter.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/GeometryConverter.java
@@ -18,13 +18,13 @@ package org.apache.sis.filter.internal;
import java.util.List;
import java.util.Collection;
+import java.util.Objects;
import org.opengis.util.ScopedName;
import org.opengis.geometry.Envelope;
import org.opengis.geometry.DirectPosition;
import org.opengis.geometry.MismatchedDimensionException;
import org.opengis.metadata.extent.GeographicBoundingBox;
import org.apache.sis.util.Classes;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.geometry.ImmutableEnvelope;
import org.apache.sis.geometry.WraparoundMethod;
@@ -80,10 +80,8 @@ final class GeometryConverter<R,G> extends Node implements Optimization.OnExpres
* @param expression the expression providing source values.
*/
public GeometryConverter(final Geometries<G> library, final Expression<R,?> expression) {
- ArgumentChecks.ensureNonNull("expression", expression);
- ArgumentChecks.ensureNonNull("library", library);
- this.expression = expression;
- this.library = library;
+ this.expression = Objects.requireNonNull(expression);
+ this.library = Objects.requireNonNull(library);
}
/**
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/JTS.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/JTS.java
index 0a135fc31f..3910653f32 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/JTS.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/JTS.java
@@ -17,6 +17,7 @@
package org.apache.sis.geometry.wrapper.jts;
import java.util.Map;
+import java.util.Objects;
import java.awt.Shape;
import org.locationtech.jts.geom.Envelope;
import org.locationtech.jts.geom.Geometry;
@@ -31,7 +32,6 @@ import org.apache.sis.referencing.CRS;
import org.apache.sis.referencing.IdentifiedObjects;
import org.apache.sis.util.Static;
import org.apache.sis.util.Utilities;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.logging.Logging;
import org.apache.sis.metadata.iso.citation.Citations;
import org.apache.sis.metadata.iso.extent.DefaultGeographicBoundingBox;
@@ -309,7 +309,7 @@ public final class JTS extends Static {
* @return the Java2D shape view.
*/
public static Shape asShape(final Geometry geometry) {
- ArgumentChecks.ensureNonNull("geometry", geometry);
+ // Null value check in the invoked constructor.
return new ShapeAdapter(geometry);
}
@@ -324,7 +324,6 @@ public final class JTS extends Static {
* @return JTS geometry with shape coordinates. Never null but can be empty.
*/
public static Geometry fromAWT(final GeometryFactory factory, final Shape shape, final double flatness) {
- ArgumentChecks.ensureNonNull("shape", shape);
- return ShapeConverter.create(factory, shape, flatness);
+ return ShapeConverter.create(factory, Objects.requireNonNull(shape), flatness);
}
}
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/ShapeAdapter.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/ShapeAdapter.java
index 9ae78d0a06..583e9ce09a 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/ShapeAdapter.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/ShapeAdapter.java
@@ -23,6 +23,7 @@ import java.awt.geom.PathIterator;
import java.awt.geom.AffineTransform;
import java.awt.geom.Point2D;
import java.io.Serializable;
+import java.util.Objects;
import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.CoordinateSequence;
import org.locationtech.jts.geom.Envelope;
@@ -72,7 +73,7 @@ final class ShapeAdapter extends AbstractShape implements Serializable {
* @param geometry the JTS geometry to wrap.
*/
protected ShapeAdapter(final Geometry geometry) {
- this.geometry = geometry;
+ this.geometry = Objects.requireNonNull(geometry);
}
/**
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ComputedImage.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ComputedImage.java
index 4ac0862e90..8444a8c30a 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ComputedImage.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ComputedImage.java
@@ -224,8 +224,7 @@ public abstract class ComputedImage extends PlanarImage implements Disposable {
* @param sources sources of this image (may be an empty array), or a null array if unknown.
*/
protected ComputedImage(final SampleModel sampleModel, RenderedImage... sources) {
- ArgumentChecks.ensureNonNull("sampleModel", sampleModel);
- this.sampleModel = sampleModel;
+ this.sampleModel = Objects.requireNonNull(sampleModel);
/*
* Verify the `sources` argument validity and opportunistically collect all writable sources
* in a separated array. If at the end it appears that the two arrays have the same content,
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/DataType.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/DataType.java
index e804c5b40e..a3e2e760c7 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/DataType.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/DataType.java
@@ -20,7 +20,6 @@ import java.awt.image.DataBuffer;
import java.awt.image.RenderedImage;
import java.awt.image.RasterFormatException;
import org.apache.sis.util.Numbers;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.measure.NumberRange;
import org.apache.sis.coverage.grid.j2d.ImageUtilities;
import org.apache.sis.feature.internal.Resources;
@@ -119,7 +118,6 @@ public enum DataType {
* @return smallest data type for the given range of values.
*/
public static DataType forRange(final NumberRange<?> range, final boolean asInteger) {
- ArgumentChecks.ensureNonNull("range", range);
final byte nt = Numbers.getEnumConstant(range.getElementType());
if (!asInteger) {
if (nt >= Numbers.DOUBLE) return DOUBLE;
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageAdapter.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageAdapter.java
index 4a954f6cd0..560ae873d5 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageAdapter.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageAdapter.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.image;
+import java.util.Objects;
import java.util.Vector;
import java.awt.Image;
import java.awt.Rectangle;
@@ -24,7 +25,6 @@ import java.awt.image.SampleModel;
import java.awt.image.RenderedImage;
import java.awt.image.Raster;
import java.awt.image.WritableRaster;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.Disposable;
@@ -58,8 +58,7 @@ abstract class ImageAdapter extends PlanarImage {
* @param source the image to wrap.
*/
protected ImageAdapter(final RenderedImage source) {
- ArgumentChecks.ensureNonNull("source", source);
- this.source = source;
+ this.source = Objects.requireNonNull(source);
}
/**
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageCombiner.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageCombiner.java
index 8532e9ec94..63e215779c 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageCombiner.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageCombiner.java
@@ -20,6 +20,7 @@ import java.awt.Rectangle;
import java.awt.image.Raster;
import java.awt.image.RenderedImage;
import java.awt.image.WritableRenderedImage;
+import java.util.Objects;
import java.util.function.Consumer;
import javax.measure.Quantity;
import org.opengis.referencing.operation.MathTransform;
@@ -94,10 +95,8 @@ public class ImageCombiner implements Consumer<RenderedImage> {
* @since 1.2
*/
public ImageCombiner(final WritableRenderedImage destination, final ImageProcessor processor) {
- ArgumentChecks.ensureNonNull("destination", destination);
- ArgumentChecks.ensureNonNull("processor", processor);
- this.destination = destination;
- this.processor = processor;
+ this.destination = Objects.requireNonNull(destination);
+ this.processor = Objects.requireNonNull(processor);
}
/**
@@ -181,6 +180,7 @@ public class ImageCombiner implements Consumer<RenderedImage> {
@Override
public void accept(final RenderedImage source) {
ArgumentChecks.ensureNonNull("source", source);
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
final WritableRenderedImage destination = this.destination;
final Rectangle bounds = ImageUtilities.getBounds(source);
ImageUtilities.clipBounds(destination, bounds);
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageProcessor.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageProcessor.java
index 2797c0f9fb..5eaab13eb9 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageProcessor.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageProcessor.java
@@ -308,8 +308,7 @@ public class ImageProcessor implements Cloneable {
* This method is not yet public because {@link ImageLayout} is not a public class.
*/
final synchronized void setImageLayout(final ImageLayout layout) {
- ArgumentChecks.ensureNonNull("layout", layout);
- this.layout = layout;
+ this.layout = Objects.requireNonNull(layout);
}
/**
@@ -331,8 +330,7 @@ public class ImageProcessor implements Cloneable {
* @see #resample(RenderedImage, Rectangle, MathTransform)
*/
public synchronized void setInterpolation(final Interpolation method) {
- ArgumentChecks.ensureNonNull("method", method);
- interpolation = method;
+ interpolation = Objects.requireNonNull(method);
}
/**
@@ -409,8 +407,9 @@ public class ImageProcessor implements Cloneable {
* @param policy the new image resizing policy.
*/
public synchronized void setImageResizingPolicy(final Resizing policy) {
- ArgumentChecks.ensureNonNull("policy", policy);
- layout = (policy == Resizing.EXPAND) ? ImageLayout.SIZE_ADJUST : ImageLayout.DEFAULT;
+ layout = (Objects.requireNonNull(policy) == Resizing.EXPAND)
+ ? ImageLayout.SIZE_ADJUST
+ : ImageLayout.DEFAULT;
}
/**
@@ -485,8 +484,7 @@ public class ImageProcessor implements Cloneable {
* @param mode whether the operations can be executed in parallel.
*/
public synchronized void setExecutionMode(final Mode mode) {
- ArgumentChecks.ensureNonNull("mode", mode);
- executionMode = mode;
+ executionMode = Objects.requireNonNull(mode);
}
/**
@@ -535,8 +533,7 @@ public class ImageProcessor implements Cloneable {
* or {@link ErrorHandler#THROW} for propagating the exception.
*/
public synchronized void setErrorHandler(final ErrorHandler handler) {
- ArgumentChecks.ensureNonNull("handler", handler);
- errorHandler = handler;
+ errorHandler = Objects.requireNonNull(handler);
}
/**
@@ -1370,6 +1367,7 @@ public class ImageProcessor implements Cloneable {
*/
public List<NavigableMap<Double,Shape>> isolines(final RenderedImage data, final double[][] levels, final MathTransform gridToCRS) {
ArgumentChecks.ensureNonNull("data", data);
+ ArgumentChecks.ensureNonNull("levels", levels);
final boolean parallel;
synchronized (this) {
parallel = parallel(data);
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/PixelIterator.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/PixelIterator.java
index 7d5d4a33db..5dceb32598 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/PixelIterator.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/PixelIterator.java
@@ -17,6 +17,7 @@
package org.apache.sis.image;
import java.util.Arrays;
+import java.util.Objects;
import java.util.Optional;
import java.util.NoSuchElementException;
import java.nio.Buffer;
@@ -427,7 +428,6 @@ public class PixelIterator {
* @return a new iterator traversing pixels in the given raster.
*/
public PixelIterator create(final Raster data) {
- ArgumentChecks.ensureNonNull("data", data);
final int scanlineStride = getScanlineStride(data.getSampleModel());
if (scanlineStride > 0) {
return new BandedIterator(data, null, subArea, window, order, scanlineStride);
@@ -443,8 +443,7 @@ public class PixelIterator {
* @return a new iterator traversing pixels in the given image.
*/
public PixelIterator create(RenderedImage data) {
- ArgumentChecks.ensureNonNull("data", data);
- data = unwrap(data);
+ data = unwrap(Objects.requireNonNull(data));
/*
* Note: Before Java 16, `BufferedImage.getTileGridXOffset()` and `getTileGridYOffset()` had a bug.
* They should return `BufferedImage.getMinX()` (which is always 0) because the image contains only
@@ -472,8 +471,7 @@ public class PixelIterator {
* @return a new iterator traversing pixels in the given raster.
*/
public WritablePixelIterator createWritable(final WritableRaster data) {
- ArgumentChecks.ensureNonNull("data", data);
- return createWritable(data, data);
+ return createWritable(Objects.requireNonNull(data), data);
}
/**
@@ -483,8 +481,7 @@ public class PixelIterator {
* @return a new iterator traversing pixels in the given image.
*/
public WritablePixelIterator createWritable(final WritableRenderedImage data) {
- ArgumentChecks.ensureNonNull("data", data);
- if (data instanceof BufferedImage) {
+ if (Objects.requireNonNull(data) instanceof BufferedImage) {
return createWritable(((BufferedImage) data).getRaster());
}
return createWritable(data, data);
@@ -1142,7 +1139,7 @@ public class PixelIterator {
*/
@SuppressWarnings("unchecked")
public <T extends Buffer> Window<T> createWindow(final TransferType<T> type) {
- ArgumentChecks.ensureNonNull("type", type);
+ // Implicit null value check below.
final int length = numBands * windowWidth * windowHeight;
// `transfer` array needs one row or one column less than `data`.
final int transferLength = length - numBands * Math.min(windowWidth, windowHeight);
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/PlanarImage.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/PlanarImage.java
index abb6865993..d9b18d125f 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/PlanarImage.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/PlanarImage.java
@@ -25,12 +25,12 @@ import java.awt.image.Raster;
import java.awt.image.WritableRaster;
import java.awt.image.WritableRenderedImage;
import java.awt.image.RenderedImage;
+import java.util.Objects;
import java.util.Vector;
import java.util.function.DoubleUnaryOperator;
import static java.lang.Math.multiplyFull;
import org.apache.sis.util.Classes;
import org.apache.sis.util.Disposable;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.util.resources.Messages;
import org.apache.sis.coverage.SampleDimension;
@@ -270,7 +270,7 @@ public abstract class PlanarImage implements RenderedImage {
*/
@Override
public Object getProperty(String key) {
- ArgumentChecks.ensureNonNull("key", key);
+ Objects.requireNonNull(key);
return Image.UndefinedProperty;
}
@@ -451,7 +451,6 @@ public abstract class PlanarImage implements RenderedImage {
*/
@Override
public Raster getData(final Rectangle aoi) {
- ArgumentChecks.ensureNonNull("aoi", aoi);
if (!getBounds().contains(aoi)) {
throw new IllegalArgumentException(Errors.format(Errors.Keys.OutsideDomainOfValidity));
}
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/UserProperties.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/UserProperties.java
index 2b9ad98e18..24a53783b6 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/UserProperties.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/UserProperties.java
@@ -20,9 +20,9 @@ import java.util.Arrays;
import java.util.Map;
import java.util.Set;
import java.util.HashSet;
+import java.util.Objects;
import java.awt.Image;
import java.awt.image.RenderedImage;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -51,8 +51,7 @@ final class UserProperties extends ImageAdapter {
@SuppressWarnings("AssignmentToCollectionOrArrayFieldFromParameter")
UserProperties(final RenderedImage source, final Map<String,Object> properties) {
super(source);
- ArgumentChecks.ensureNonNull("properties", properties);
- this.properties = properties;
+ this.properties = Objects.requireNonNull(properties);
}
/**
diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/index/tree/PointTree.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/index/tree/PointTree.java
index 3754823b67..cfb4b578df 100644
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/index/tree/PointTree.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/index/tree/PointTree.java
@@ -20,6 +20,7 @@ import java.util.Optional;
import java.util.AbstractSet;
import java.util.Collection;
import java.util.Iterator;
+import java.util.Objects;
import java.util.Spliterator;
import java.util.Spliterators;
import java.util.stream.Stream;
@@ -315,8 +316,7 @@ public class PointTree<E> extends AbstractSet<E> implements CheckedContainer<E>
*/
@Override
public boolean add(final E element) {
- ArgumentChecks.ensureNonNull("element", element);
- final boolean modified = insert(root, treeRegion, element, new double[getDimension()]);
+ final boolean modified = insert(root, treeRegion, Objects.requireNonNull(element), new double[getDimension()]);
if (modified) count++;
return modified;
}
@@ -330,7 +330,6 @@ public class PointTree<E> extends AbstractSet<E> implements CheckedContainer<E>
*/
@Override
public boolean addAll(final Collection<? extends E> elements) {
- ArgumentChecks.ensureNonNull("elements", elements);
final double[] buffer = new double[getDimension()];
boolean modified = false;
int i = 0;
diff --git a/endorsed/src/org.apache.sis.feature/test/org/apache/sis/feature/test/FeatureComparator.java b/endorsed/src/org.apache.sis.feature/test/org/apache/sis/feature/test/FeatureComparator.java
index b8c1224c37..c542d87539 100644
--- a/endorsed/src/org.apache.sis.feature/test/org/apache/sis/feature/test/FeatureComparator.java
+++ b/endorsed/src/org.apache.sis.feature/test/org/apache/sis/feature/test/FeatureComparator.java
@@ -25,9 +25,9 @@ import java.util.ArrayDeque;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.Objects;
import java.util.stream.Collectors;
import org.opengis.util.GenericName;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.Deprecable;
import org.apache.sis.util.internal.CollectionsExt;
@@ -135,8 +135,6 @@ public class FeatureComparator {
* @param actual the actual feature instance.
*/
public FeatureComparator(final Feature expected, final Feature actual) {
- ArgumentChecks.ensureNonNull("expected", expected);
- ArgumentChecks.ensureNonNull("actual", actual);
expectedInstance = expected;
expectedType = expected.getType();
actualInstance = actual;
@@ -150,12 +148,10 @@ public class FeatureComparator {
* @param actual the actual feature type.
*/
public FeatureComparator(final FeatureType expected, final FeatureType actual) {
- ArgumentChecks.ensureNonNull("expected", expected);
- ArgumentChecks.ensureNonNull("actual", actual);
expectedInstance = null;
- expectedType = expected;
+ expectedType = Objects.requireNonNull(expected);
actualInstance = null;
- actualType = actual;
+ actualType = Objects.requireNonNull(actual);
}
/**
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/MetadataStandard.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/MetadataStandard.java
index a1da1aae50..1adacd818f 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/MetadataStandard.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/MetadataStandard.java
@@ -21,6 +21,7 @@ import java.util.Map;
import java.util.LinkedHashSet;
import java.util.Collection;
import java.util.Iterator;
+import java.util.Objects;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ConcurrentHashMap;
import java.io.IOException;
@@ -597,8 +598,7 @@ public class MetadataStandard implements Serializable {
* @see AbstractMetadata#getInterface()
*/
public <T> Class<? super T> getInterface(final Class<T> type) throws ClassCastException {
- ensureNonNull("type", type);
- return getInterface(new CacheKey(type));
+ return getInterface(new CacheKey(Objects.requireNonNull(type)));
}
/**
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/NameToIdentifier.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/NameToIdentifier.java
index 720d4d239f..7913e21064 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/NameToIdentifier.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/NameToIdentifier.java
@@ -28,7 +28,6 @@ import org.opengis.metadata.citation.Citation;
import org.apache.sis.metadata.iso.citation.Citations;
import org.apache.sis.util.CharSequences;
import org.apache.sis.util.iso.DefaultNameSpace;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
import static org.apache.sis.util.Characters.Filter.LETTERS_AND_DIGITS;
@@ -54,8 +53,7 @@ public final class NameToIdentifier implements Identifier {
* @param name the name from which to infer the identifier properties.
*/
public NameToIdentifier(final GenericName name) {
- ensureNonNull("name", name);
- this.name = name;
+ this.name = Objects.requireNonNull(name);
}
/**
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/DefaultExtent.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/DefaultExtent.java
index 5f4bb57069..56d7141e40 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/DefaultExtent.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/DefaultExtent.java
@@ -18,6 +18,7 @@ package org.apache.sis.metadata.iso.extent;
import java.util.LinkedHashSet;
import java.util.Collection;
+import java.util.Objects;
import java.util.function.BinaryOperator;
import jakarta.xml.bind.annotation.XmlType;
import jakarta.xml.bind.annotation.XmlElement;
@@ -31,7 +32,6 @@ import org.opengis.metadata.extent.GeographicBoundingBox;
import org.opengis.referencing.operation.TransformException;
import org.opengis.util.InternationalString;
import org.apache.sis.util.Emptiable;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.iso.Types;
import org.apache.sis.util.collection.Containers;
import org.apache.sis.pending.jdk.JDK19;
@@ -145,6 +145,7 @@ public class DefaultExtent extends ISOMetadata implements Extent {
* @param verticalElements a vertical component, or {@code null} if none.
* @param temporalElements a temporal component, or {@code null} if none.
*/
+ @SuppressWarnings("this-escape")
public DefaultExtent(final CharSequence description,
final GeographicExtent geographicElements,
final VerticalExtent verticalElements,
@@ -165,6 +166,7 @@ public class DefaultExtent extends ISOMetadata implements Extent {
*
* @see #castOrCopy(Extent)
*/
+ @SuppressWarnings("this-escape")
public DefaultExtent(final Extent object) {
super(object);
if (object != null) {
@@ -308,8 +310,7 @@ public class DefaultExtent extends ISOMetadata implements Extent {
*/
public void addElements(final Envelope envelope) throws TransformException {
checkWritePermission(isNonEmpty());
- ArgumentChecks.ensureNonNull("envelope", envelope);
- if (!ReferencingServices.getInstance().addElements(envelope, this)) {
+ if (!ReferencingServices.getInstance().addElements(Objects.requireNonNull(envelope), this)) {
throw new NotSpatioTemporalException(3, envelope);
}
}
@@ -333,7 +334,6 @@ public class DefaultExtent extends ISOMetadata implements Extent {
*/
public void intersect(final Extent other) {
checkWritePermission(isNonEmpty());
- ArgumentChecks.ensureNonNull("other", other);
final InternationalString od = other.getDescription();
if (od != null && !(description instanceof NilObject)) {
if (description == null || (od instanceof NilObject)) {
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.java
index 8f1e9f97e4..7b9c760173 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.java
@@ -30,7 +30,6 @@ import org.apache.sis.measure.Longitude;
import org.apache.sis.measure.ValueRange;
import org.apache.sis.math.MathFunctions;
import org.apache.sis.util.ComparisonMode;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.util.resources.Vocabulary;
import org.apache.sis.metadata.InvalidMetadataException;
@@ -514,9 +513,8 @@ public class DefaultGeographicBoundingBox extends AbstractGeographicExtent imple
* @see DefaultTemporalExtent#setBounds(Envelope)
*/
public void setBounds(final Envelope envelope) throws TransformException {
- ArgumentChecks.ensureNonNull("envelope", envelope);
checkWritePermission(isNonEmpty());
- if (ReferencingServices.getInstance().setBounds(envelope, this, null) == null) {
+ if (ReferencingServices.getInstance().setBounds(Objects.requireNonNull(envelope), this, null) == null) {
throw new NotSpatioTemporalException(0, envelope);
}
}
@@ -527,7 +525,6 @@ public class DefaultGeographicBoundingBox extends AbstractGeographicExtent imple
* @param box the geographic bounding box to use for setting the values of this box.
*/
public void setBounds(final GeographicBoundingBox box) {
- ArgumentChecks.ensureNonNull("box", box);
setBounds(box.getWestBoundLongitude(), box.getEastBoundLongitude(),
box.getSouthBoundLatitude(), box.getNorthBoundLatitude());
setInclusion(box.getInclusion()); // Set only on success.
@@ -644,7 +641,6 @@ public class DefaultGeographicBoundingBox extends AbstractGeographicExtent imple
*/
public void add(final GeographicBoundingBox box) {
checkWritePermission(isNonEmpty());
- ArgumentChecks.ensureNonNull("box", box);
double λmin = box.getWestBoundLongitude();
double λmax = box.getEastBoundLongitude();
double φmin = box.getSouthBoundLatitude();
@@ -702,7 +698,6 @@ public class DefaultGeographicBoundingBox extends AbstractGeographicExtent imple
*/
public void intersect(final GeographicBoundingBox box) throws IllegalArgumentException {
checkWritePermission(isNonEmpty());
- ArgumentChecks.ensureNonNull("box", box);
if (getInclusion(getInclusion()) != getInclusion(box.getInclusion())) {
throw new IllegalArgumentException(Errors.format(Errors.Keys.IncompatiblePropertyValue_1, "inclusion"));
}
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.java
index f4b83c32d0..99b5c3fc8b 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.java
@@ -31,7 +31,6 @@ import org.apache.sis.xml.NilReason;
import org.apache.sis.xml.bind.gco.GO_Real;
import org.apache.sis.metadata.internal.ReferencingServices;
import org.apache.sis.math.MathFunctions;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.Utilities;
import org.apache.sis.util.resources.Errors;
@@ -285,7 +284,6 @@ public class DefaultVerticalExtent extends ISOMetadata implements VerticalExtent
*/
public void intersect(final VerticalExtent other) throws MismatchedReferenceSystemException {
checkWritePermission(value());
- ArgumentChecks.ensureNonNull("other", other);
Double min = other.getMinimumValue();
Double max = other.getMaximumValue();
try {
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/legacy/LegacyPropertyAdapter.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/legacy/LegacyPropertyAdapter.java
index 9056c43cab..73c256c327 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/legacy/LegacyPropertyAdapter.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/legacy/LegacyPropertyAdapter.java
@@ -22,7 +22,6 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.Objects;
import org.apache.sis.xml.bind.Context;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.Emptiable;
import org.apache.sis.util.internal.AbstractIterator;
import org.apache.sis.util.resources.Messages;
@@ -235,8 +234,7 @@ public abstract class LegacyPropertyAdapter<L,N> extends AbstractCollection<L> {
*/
@Override
public boolean add(final L value) {
- ArgumentChecks.ensureNonNull("value", value);
- return elements.add(wrap(value));
+ return elements.add(wrap(Objects.requireNonNull(value)));
}
/**
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/quality/DefaultEvaluationMethod.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/quality/DefaultEvaluationMethod.java
index cd17f22a8a..f711cf4d5d 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/quality/DefaultEvaluationMethod.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/quality/DefaultEvaluationMethod.java
@@ -19,6 +19,7 @@ package org.apache.sis.metadata.iso.quality;
import java.util.Iterator;
import java.util.Collection;
import java.util.AbstractList;
+import java.util.Objects;
import java.io.Serializable;
import java.time.temporal.Temporal;
import jakarta.xml.bind.annotation.XmlType;
@@ -29,7 +30,6 @@ import org.opengis.util.InternationalString;
import org.opengis.metadata.citation.Citation;
import org.opengis.metadata.quality.EvaluationMethodType;
import org.apache.sis.system.Semaphores;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.internal.CloneAccess;
import org.apache.sis.util.collection.CheckedContainer;
import org.apache.sis.util.resources.Errors;
@@ -181,7 +181,7 @@ public class DefaultEvaluationMethod extends ISOMetadata implements EvaluationMe
*/
@Override
public Temporal set(final int index, final Temporal date) {
- ArgumentChecks.ensureNonNull("date", date);
+ Objects.requireNonNull(date);
final Temporal previous = get(index);
switch (index) {
case 0: date1 = date; break;
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataSource.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataSource.java
index 18fa5bcf1e..1fa7136ced 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataSource.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataSource.java
@@ -28,6 +28,7 @@ import java.util.Collections;
import java.util.EnumSet;
import java.util.Iterator;
import java.util.Locale;
+import java.util.Objects;
import java.util.logging.Level;
import java.util.logging.Filter;
import java.util.logging.LogRecord;
@@ -409,7 +410,6 @@ public class MetadataSource implements AutoCloseable {
* @param source the source from which to copy the configuration.
*/
public MetadataSource(final MetadataSource source) {
- ArgumentChecks.ensureNonNull("source", source);
standard = source.standard;
dataSource = source.dataSource;
catalog = source.catalog;
@@ -661,8 +661,7 @@ public class MetadataSource implements AutoCloseable {
* of the expected package, or if an error occurred while searching in the database.
*/
public String search(final Object metadata) throws MetadataStoreException {
- ArgumentChecks.ensureNonNull("metadata", metadata);
- String identifier = proxy(metadata);
+ String identifier = proxy(Objects.requireNonNull(metadata));
if (identifier == null) {
/*
* Code lists do not need to be stored in the database. Some code list tables may
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/ScriptRunner.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/ScriptRunner.java
index 67f08e213b..ea4c641501 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/ScriptRunner.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/ScriptRunner.java
@@ -275,7 +275,6 @@ public class ScriptRunner implements AutoCloseable {
* @throws SQLException if an error occurred while creating a SQL statement.
*/
public ScriptRunner(final Connection connection, final int maxRowsPerInsert) throws SQLException {
- ArgumentChecks.ensureNonNull("connection", connection);
ArgumentChecks.ensurePositive("maxRowsPerInsert", maxRowsPerInsert);
final DatabaseMetaData metadata = connection.getMetaData();
this.maxRowsPerInsert = maxRowsPerInsert;
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultLocalName.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultLocalName.java
index 881d154155..7dcce90865 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultLocalName.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultLocalName.java
@@ -55,7 +55,7 @@ import org.apache.sis.xml.bind.gco.CharSequenceAdapter;
* remain safe to call from multiple threads and do not change any public {@code LocalName} state.
*
* @author Martin Desruisseaux (IRD, Geomatys)
- * @version 1.4
+ * @version 1.5
*
* @see DefaultNameSpace
* @see DefaultScopedName
@@ -124,10 +124,10 @@ public class DefaultLocalName extends AbstractName implements LocalName {
* Otherwise the {@link CharSequence#toString()} method will be used.
*
* @param scope the scope of this name, or {@code null} for a global scope.
- * @param name the local name (never {@code null}).
+ * @param name the local name. Shall not be {@code null} or empty.
*/
protected DefaultLocalName(NameSpace scope, final CharSequence name) {
- ArgumentChecks.ensureNonNull("name", name);
+ ArgumentChecks.ensureNonEmpty("name", name);
if (scope == GlobalNameSpace.GLOBAL) {
scope = null; // Handled specially by scope().
}
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultMemberName.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultMemberName.java
index c56a67752c..00d032a7db 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultMemberName.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultMemberName.java
@@ -23,7 +23,6 @@ import jakarta.xml.bind.annotation.XmlRootElement;
import org.opengis.util.MemberName;
import org.opengis.util.NameSpace;
import org.opengis.util.TypeName;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
/**
@@ -74,8 +73,7 @@ public class DefaultMemberName extends DefaultLocalName implements MemberName {
*/
protected DefaultMemberName(final NameSpace scope, final CharSequence name, final TypeName attributeType) {
super(scope, name);
- ensureNonNull("attributeType", attributeType);
- this.attributeType = attributeType;
+ this.attributeType = Objects.requireNonNull(attributeType);
}
/**
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultNameFactory.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultNameFactory.java
index 2278f3e396..a19156fe06 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultNameFactory.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultNameFactory.java
@@ -144,7 +144,6 @@ public class DefaultNameFactory extends AbstractFactory implements NameFactory {
*/
@Override
public InternationalString createInternationalString(final Map<Locale,String> strings) {
- ArgumentChecks.ensureNonNull("strings", strings);
switch (strings.size()) {
case 0: throw new IllegalArgumentException(Errors.format(Errors.Keys.EmptyDictionary));
case 1: return new SimpleInternationalString(strings.values().iterator().next());
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultNameSpace.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultNameSpace.java
index f48ba3d467..a9e1a4a49e 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultNameSpace.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultNameSpace.java
@@ -429,6 +429,7 @@ public class DefaultNameSpace implements NameSpace, Serializable {
} else {
name = simplify(name);
}
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
final WeakValueHashMap<String,Object> childs = this.childs; // Paranoiac protection against accidental changes.
DefaultNameSpace child;
synchronized (childs) {
@@ -467,8 +468,8 @@ public class DefaultNameSpace implements NameSpace, Serializable {
* @return a name which is local in this namespace.
*/
final DefaultLocalName local(final CharSequence name, final DefaultLocalName candidate) {
- ensureNonNull("name", name);
final String key = name.toString();
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
final WeakValueHashMap<String,Object> childs = this.childs; // Paranoiac protection against accidental changes.
DefaultLocalName child;
synchronized (childs) {
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultRecord.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultRecord.java
index cb1d7f03ee..1cbc249019 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultRecord.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultRecord.java
@@ -30,7 +30,6 @@ import org.opengis.util.MemberName;
import org.opengis.util.Record;
import org.opengis.util.RecordType;
import org.apache.sis.util.Utilities;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.util.internal.Strings;
import org.apache.sis.util.internal.AbstractMapEntry;
@@ -91,8 +90,7 @@ public class DefaultRecord implements Record, Serializable {
* @param type the type definition of the new record.
*/
public DefaultRecord(final RecordType type) {
- ArgumentChecks.ensureNonNull("type", type);
- if (type instanceof RecordDefinition) {
+ if (Objects.requireNonNull(type) instanceof RecordDefinition) {
definition = (RecordDefinition) type;
} else {
definition = new RecordDefinition.Adapter(type);
@@ -336,7 +334,6 @@ public class DefaultRecord implements Record, Serializable {
* @throws ClassCastException if a value is not an instance of the expected type for this record.
*/
public void setAll(final Object... newValues) {
- ArgumentChecks.ensureNonNull("values", newValues);
final int length = Array.getLength(values);
if (newValues.length != length) {
throw new IllegalArgumentException(Errors.format(
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultRecordSchema.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultRecordSchema.java
index 014dcaaa27..e92e7ebf91 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultRecordSchema.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultRecordSchema.java
@@ -19,6 +19,7 @@ package org.apache.sis.util.iso;
import java.util.Map;
import java.util.Iterator;
import java.util.Collections;
+import java.util.Objects;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ConcurrentHashMap;
import org.opengis.util.Type;
@@ -160,8 +161,7 @@ public class DefaultRecordSchema implements RecordSchema {
* @since 1.3
*/
public TypeName createRecordTypeName(final CharSequence typeName) {
- ArgumentChecks.ensureNonNull("typeName", typeName);
- return nameFactory.createTypeName(namespace, typeName, null);
+ return nameFactory.createTypeName(namespace, Objects.requireNonNull(typeName), null);
}
/**
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultRecordType.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultRecordType.java
index 1e8f0183f0..fff042ed4f 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultRecordType.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultRecordType.java
@@ -39,7 +39,6 @@ import org.opengis.util.RecordType;
import org.opengis.util.RecordSchema;
import org.apache.sis.pending.jdk.JDK19;
import org.apache.sis.util.CharSequences;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.ObjectConverters;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.converter.SurjectiveConverter;
@@ -151,13 +150,12 @@ public class DefaultRecordType extends RecordDefinition implements RecordType, S
*
* @deprecated The {@code RecordSchema} interface has been removed in the 2015 revision of the ISO 19103 standard.
*/
+ @SuppressWarnings("this-escape")
@Deprecated(since = "1.5", forRemoval = true)
public DefaultRecordType(final TypeName typeName, final RecordSchema container,
final Map<? extends MemberName, ? extends Type> fields)
{
- ArgumentChecks.ensureNonNull("typeName", typeName);
- ArgumentChecks.ensureNonNull("field", fields);
- this.typeName = typeName;
+ this.typeName = Objects.requireNonNull(typeName);
this.container = container;
this.fieldTypes = computeTransientFields(fields);
/*
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultScopedName.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultScopedName.java
index 4e27eb9321..2d55590c9d 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultScopedName.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/DefaultScopedName.java
@@ -114,7 +114,6 @@ public class DefaultScopedName extends AbstractName implements ScopedName {
* @param names the local names. This list must have at least two elements.
*/
protected DefaultScopedName(final NameSpace scope, final List<? extends CharSequence> names) {
- ArgumentChecks.ensureNonNull("names", names);
final int size = names.size();
ArgumentChecks.ensureCountBetween("names", true, 2, Integer.MAX_VALUE, size);
DefaultNameSpace ns = DefaultNameSpace.castOrCopy(scope);
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/MarshallerPool.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/MarshallerPool.java
index 3914f3ed34..d3418468bc 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/MarshallerPool.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/MarshallerPool.java
@@ -19,6 +19,7 @@ package org.apache.sis.xml;
import java.util.Map;
import java.util.Deque;
import java.util.ServiceLoader;
+import java.util.Objects;
import java.util.concurrent.ConcurrentLinkedDeque;
import java.util.concurrent.atomic.AtomicBoolean;
import jakarta.xml.bind.JAXBContext;
@@ -26,7 +27,6 @@ import jakarta.xml.bind.JAXBException;
import jakarta.xml.bind.Marshaller;
import jakarta.xml.bind.Unmarshaller;
import org.apache.sis.util.Classes;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.CharSequences;
import org.apache.sis.util.logging.Logging;
import org.apache.sis.system.Reflect;
@@ -179,8 +179,7 @@ public class MarshallerPool {
*/
@SuppressWarnings("this-escape")
public MarshallerPool(final JAXBContext context, final Map<String,?> properties) throws JAXBException {
- ArgumentChecks.ensureNonNull("context", context);
- this.context = context;
+ this.context = Objects.requireNonNull(context);
replacements = ServiceLoader.load(AdapterReplacement.class, Reflect.getContextClassLoader());
implementation = Implementation.detect(context);
template = new PooledTemplate(this, properties, implementation);
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/Namespaces.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/Namespaces.java
index 1410be9320..b8f7cdec6f 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/Namespaces.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/Namespaces.java
@@ -18,9 +18,9 @@ package org.apache.sis.xml;
import java.util.Map;
import java.util.Locale;
+import java.util.Objects;
import javax.xml.XMLConstants;
import org.apache.sis.util.Static;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.xml.util.LegacyNamespaces;
import static org.apache.sis.metadata.internal.ImplementationHelper.ISO_NAMESPACE;
@@ -592,8 +592,7 @@ public final class Namespaces extends Static {
* and the {@code defaultValue} is null.
*/
public static String getPreferredPrefix(String namespace, final String defaultValue) {
- ArgumentChecks.ensureNonNull("namespace", namespace);
- String prefix = SPECIFIC_URLS.get(namespace);
+ String prefix = SPECIFIC_URLS.get(Objects.requireNonNull(namespace));
if (prefix != null) {
return prefix;
}
diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/PropertyType.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/PropertyType.java
index cfccbb2a03..0ab220e4fd 100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/PropertyType.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/PropertyType.java
@@ -195,6 +195,7 @@ public abstract class PropertyType<ValueType extends PropertyType<ValueType,Boun
*
* @param value the interface to wrap.
*/
+ @SuppressWarnings("this-escape")
protected PropertyType(final BoundType value) {
/*
* Do not invoke NilReason.forObject(metadata) in order to avoid unnecessary synchronization.
@@ -213,7 +214,6 @@ public abstract class PropertyType<ValueType extends PropertyType<ValueType,Boun
* First, check if we can use a xlink:href="#foo" reference to a gml:id="foo".
* Only if no gml:id was found, check for user-defined xlink or uuidref.
*/
- @SuppressWarnings("OverridableMethodCallInConstructor")
final Class<BoundType> type = getBoundType();
final Context context = Context.current();
final ReferenceResolver resolver = Context.resolver(context);
diff --git a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/CanvasFollower.java b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/CanvasFollower.java
index d432fb3a48..3121093882 100644
--- a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/CanvasFollower.java
+++ b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/CanvasFollower.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.portrayal;
+import java.util.Objects;
import java.util.Optional;
import java.awt.geom.Point2D;
import java.awt.geom.AffineTransform;
@@ -31,7 +32,6 @@ import org.opengis.referencing.operation.TransformException;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.apache.sis.referencing.CRS;
import org.apache.sis.util.Disposable;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.logging.Logging;
import org.apache.sis.geometry.DirectPosition2D;
import org.apache.sis.referencing.util.j2d.AffineTransform2D;
@@ -146,10 +146,8 @@ public class CanvasFollower implements PropertyChangeListener, Disposable {
* @param target the canvas on which to apply the changes of zoom, pan or rotation.
*/
public CanvasFollower(final PlanarCanvas source, final PlanarCanvas target) {
- ArgumentChecks.ensureNonNull("source", source);
- ArgumentChecks.ensureNonNull("target", target);
- this.source = source;
- this.target = target;
+ this.source = Objects.requireNonNull(source);
+ this.target = Objects.requireNonNull(target);
followRealWorld = true;
displayTransformStatus = OUTDATED;
objectiveTransformStatus = OUTDATED;
diff --git a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/TransformChangeEvent.java b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/TransformChangeEvent.java
index 5dc631c1fc..444da8c9bc 100644
--- a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/TransformChangeEvent.java
+++ b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/TransformChangeEvent.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.portrayal;
+import java.util.Objects;
import java.util.Optional;
import java.awt.geom.AffineTransform;
import java.beans.PropertyChangeEvent;
@@ -26,7 +27,6 @@ import org.apache.sis.referencing.operation.matrix.AffineTransforms2D;
import org.apache.sis.referencing.operation.transform.LinearTransform;
import org.apache.sis.referencing.operation.transform.MathTransforms;
import org.apache.sis.coverage.grid.GridGeometry;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.logging.Logging;
@@ -159,8 +159,7 @@ public class TransformChangeEvent extends PropertyChangeEvent {
final Reason reason)
{
super(source, Canvas.OBJECTIVE_TO_DISPLAY_PROPERTY, oldValue, newValue);
- ArgumentChecks.ensureNonNull("reason", reason);
- this.reason = reason;
+ this.reason = Objects.requireNonNull(reason);
}
/**
diff --git a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/se1/StyleElement.java b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/se1/StyleElement.java
index 179f313d2f..cb20c18989 100644
--- a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/se1/StyleElement.java
+++ b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/se1/StyleElement.java
@@ -18,9 +18,9 @@ package org.apache.sis.style.se1;
import java.awt.Color;
import java.util.Arrays;
+import java.util.Objects;
import jakarta.xml.bind.annotation.XmlTransient;
import org.opengis.util.InternationalString;
-import org.apache.sis.util.ArgumentChecks;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.filter.Expression;
@@ -54,8 +54,7 @@ public abstract class StyleElement<R> implements Cloneable {
* @param factory the factory to use for creating expressions and child elements.
*/
StyleElement(final StyleFactory<R> factory) {
- ArgumentChecks.ensureNonNull("factory", factory);
- this.factory = factory;
+ this.factory = Objects.requireNonNull(factory);
}
/**
diff --git a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/se1/StyleFactory.java b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/se1/StyleFactory.java
index 70e7a9e603..66b33da43c 100644
--- a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/se1/StyleFactory.java
+++ b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/se1/StyleFactory.java
@@ -18,7 +18,7 @@ package org.apache.sis.style.se1;
import java.net.URI;
import java.awt.Color;
-import org.apache.sis.util.ArgumentChecks;
+import java.util.Objects;
import org.apache.sis.feature.internal.AttributeConvention;
import org.apache.sis.metadata.iso.citation.DefaultOnlineResource;
@@ -96,8 +96,7 @@ public class StyleFactory<R> {
* @param filterFactory the factory to use for creating expressions.
*/
public StyleFactory(final FilterFactory<R,?,?> filterFactory) {
- ArgumentChecks.ensureNonNull("filterFactory", filterFactory);
- this.filterFactory = filterFactory;
+ this.filterFactory = Objects.requireNonNull(filterFactory);
enabled = filterFactory.literal(Boolean.TRUE);
disabled = filterFactory.literal(Boolean.FALSE);
zeroAsInt = filterFactory.literal(0);
diff --git a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java
index 9739217760..f9db8d453e 100644
--- a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java
+++ b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java
@@ -345,7 +345,6 @@ public class GeohashReferenceSystem extends ReferencingByIdentifiers {
*/
@Override
public void setPrecision(final Quantity<?> precision, DirectPosition position) throws IncommensurableException {
- ArgumentChecks.ensureNonNull("precision", precision);
double p = precision.getValue().doubleValue();
final Unit<?> unit = precision.getUnit();
double numLat=0, numLon=0; // Number of distinct latitude and longitude values.
diff --git a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java
index 6223017a9f..95009787d9 100644
--- a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java
+++ b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java
@@ -541,7 +541,6 @@ public class MilitaryGridReferenceSystem extends ReferencingByIdentifiers {
*/
@Override
public void setPrecision(final Quantity<?> precision, DirectPosition position) throws IncommensurableException {
- ArgumentChecks.ensureNonNull("precision", precision);
double p = precision.getValue().doubleValue();
final Unit<?> unit = precision.getUnit();
if (Units.isAngular(unit)) {
@@ -672,7 +671,6 @@ public class MilitaryGridReferenceSystem extends ReferencingByIdentifiers {
*/
@Override
public String encode(final DirectPosition position) throws TransformException {
- ArgumentChecks.ensureNonNull("position", position);
try {
return encoder(position.getCoordinateReferenceSystem())
.encode(this, position, true, getSeparator(), digits(), 0);
@@ -699,8 +697,7 @@ public class MilitaryGridReferenceSystem extends ReferencingByIdentifiers {
public String encode(final DirectPosition position, final Quantity<?> precision)
throws IncommensurableException, TransformException
{
- ArgumentChecks.ensureNonNull("position", position);
- ArgumentChecks.ensureNonNull("precision", precision);
+ // Implicit null check below.
double p = precision.getValue().doubleValue();
final Unit<?> unit = precision.getUnit();
if (Units.isAngular(unit)) {
@@ -735,7 +732,7 @@ public class MilitaryGridReferenceSystem extends ReferencingByIdentifiers {
* @throws TransformException if an error occurred while transforming the area of interest.
*/
public Iterator<String> encode(final Envelope areaOfInterest) throws TransformException {
- ArgumentChecks.ensureNonNull("areaOfInterest", areaOfInterest);
+ // Implicit null check in `IteratorAllZones` constructor.
try {
return Spliterators.iterator(new IteratorAllZones(areaOfInterest).simplify());
} catch (IllegalArgumentException | FactoryException e) {
@@ -762,7 +759,7 @@ public class MilitaryGridReferenceSystem extends ReferencingByIdentifiers {
* @throws TransformException if an error occurred while transforming the area of interest.
*/
public Stream<String> encode(final Envelope areaOfInterest, final boolean parallel) throws TransformException {
- ArgumentChecks.ensureNonNull("areaOfInterest", areaOfInterest);
+ // Implicit null check in `IteratorAllZones` constructor.
try {
return StreamSupport.stream(new IteratorAllZones(areaOfInterest).simplify(), parallel);
} catch (IllegalArgumentException | FactoryException e) {
diff --git a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/ModifiableLocationType.java b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/ModifiableLocationType.java
index 5abd091b23..944766c729 100644
--- a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/ModifiableLocationType.java
+++ b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/ModifiableLocationType.java
@@ -159,7 +159,7 @@ public class ModifiableLocationType extends AbstractLocationType { // Not S
* @param name the location type name.
*/
public ModifiableLocationType(final CharSequence name) {
- ArgumentChecks.ensureNonNull("name", name);
+ ArgumentChecks.ensureNonEmpty("name", name);
this.name = Types.toInternationalString(name);
identifications = new LinkedHashMap<>();
parents = new LinkedHashMap<>();
@@ -264,7 +264,7 @@ public class ModifiableLocationType extends AbstractLocationType { // Not S
* @throws IllegalArgumentException if the given value is already defined.
*/
public void addIdentification(final CharSequence value) {
- ArgumentChecks.ensureNonNull("value", value);
+ ArgumentChecks.ensureNonEmpty("value", value);
final String key = value.toString();
if (identifications.putIfAbsent(key, Types.toInternationalString(value)) != null) {
throw new IllegalArgumentException(Errors.format(Errors.Keys.ElementAlreadyPresent_1, key));
@@ -278,7 +278,7 @@ public class ModifiableLocationType extends AbstractLocationType { // Not S
* @throws IllegalArgumentException if the given value is not found.
*/
public void removeIdentification(final CharSequence value) {
- ArgumentChecks.ensureNonNull("value", value);
+ ArgumentChecks.ensureNonEmpty("value", value);
final String key = value.toString();
if (identifications.remove(key) == null) {
throw new IllegalArgumentException(Errors.format(Errors.Keys.ElementNotFound_1, key));
@@ -421,7 +421,6 @@ public class ModifiableLocationType extends AbstractLocationType { // Not S
* @throws IllegalArgumentException if the given parent already have a child of the same name as this location type.
*/
public void addParent(final ModifiableLocationType parent) {
- ArgumentChecks.ensureNonNull("parent", parent);
final String parentName = parent.name.toString();
if (parents.putIfAbsent(parentName, parent) != null) {
throw new IllegalStateException(Resources.format(Resources.Keys.ParentAlreadyExists_1, parentName));
@@ -457,7 +456,6 @@ public class ModifiableLocationType extends AbstractLocationType { // Not S
* @throws IllegalArgumentException if the given parent has not been found.
*/
public void removeParent(final ModifiableLocationType parent) {
- ArgumentChecks.ensureNonNull("parent", parent);
final String key = parent.name.toString();
final ModifiableLocationType removed = parents.remove(key);
if (removed == null) {
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/AbstractEnvelope.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/AbstractEnvelope.java
index f63a071ebe..2e81670ba3 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/AbstractEnvelope.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/AbstractEnvelope.java
@@ -52,7 +52,6 @@ import org.apache.sis.math.Vector;
import static java.lang.Double.doubleToLongBits;
import static org.apache.sis.util.internal.Numerics.SIGN_BIT_MASK;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
import static org.apache.sis.util.ArgumentChecks.ensureDimensionMatches;
import static org.apache.sis.util.StringBuilders.trimFractionalPart;
import static org.apache.sis.math.MathFunctions.epsilonEqual;
@@ -192,8 +191,6 @@ public abstract class AbstractEnvelope extends FormattableObject implements Enve
final DirectPosition upperCorner)
throws MismatchedReferenceSystemException
{
- ensureNonNull("lowerCorner", lowerCorner);
- ensureNonNull("upperCorner", upperCorner);
final CoordinateReferenceSystem crs1 = lowerCorner.getCoordinateReferenceSystem();
final CoordinateReferenceSystem crs2 = upperCorner.getCoordinateReferenceSystem();
if (crs1 == null) {
@@ -783,7 +780,7 @@ public abstract class AbstractEnvelope extends FormattableObject implements Enve
*/
@ArgumentCheckByAssertion
public boolean contains(final DirectPosition position) throws MismatchedDimensionException {
- ensureNonNull("position", position);
+ // Implicit null check below.
final int dimension = getDimension();
ensureDimensionMatches("point", dimension, position);
assert assertEquals(getCoordinateReferenceSystem(), position.getCoordinateReferenceSystem()) : position;
@@ -862,7 +859,7 @@ public abstract class AbstractEnvelope extends FormattableObject implements Enve
*/
@ArgumentCheckByAssertion
public boolean contains(final Envelope envelope, final boolean edgesInclusive) throws MismatchedDimensionException {
- ensureNonNull("envelope", envelope);
+ // Implicit null check below.
final int dimension = getDimension();
ensureDimensionMatches("envelope", dimension, envelope);
assert assertEquals(getCoordinateReferenceSystem(), envelope.getCoordinateReferenceSystem()) : envelope;
@@ -998,7 +995,7 @@ public abstract class AbstractEnvelope extends FormattableObject implements Enve
*/
@ArgumentCheckByAssertion
public boolean intersects(final Envelope envelope, final boolean touch) throws MismatchedDimensionException {
- ensureNonNull("envelope", envelope);
+ // Implicit null check below.
final int dimension = getDimension();
ensureDimensionMatches("envelope", dimension, envelope);
assert assertEquals(getCoordinateReferenceSystem(), envelope.getCoordinateReferenceSystem()) : envelope;
@@ -1106,7 +1103,7 @@ public abstract class AbstractEnvelope extends FormattableObject implements Enve
* @see #intersects(Envelope)
*/
public boolean equals(final Envelope other, final double eps, final boolean epsIsRelative) {
- ensureNonNull("other", other);
+ // Implicit null check below.
final int dimension = getDimension();
if (other.getDimension() != dimension ||
!equals(getCoordinateReferenceSystem(), other.getCoordinateReferenceSystem(),
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/ArrayEnvelope.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/ArrayEnvelope.java
index 0eac36ed68..f2c9cb7313 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/ArrayEnvelope.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/ArrayEnvelope.java
@@ -39,7 +39,7 @@ import org.apache.sis.util.ArraysExt;
import org.apache.sis.util.CharSequences;
import org.apache.sis.util.resources.Errors;
-import static org.apache.sis.util.ArgumentChecks.*;
+import static org.apache.sis.util.ArgumentChecks.ensureDimensionMatches;
import static org.apache.sis.math.MathFunctions.isNegative;
import static org.apache.sis.referencing.util.Formulas.isPoleToPole;
@@ -127,8 +127,6 @@ class ArrayEnvelope extends AbstractEnvelope implements Serializable {
* @throws MismatchedDimensionException if the two sequences do not have the same length.
*/
public ArrayEnvelope(final double[] lowerCorner, final double[] upperCorner) throws MismatchedDimensionException {
- ensureNonNull("lowerCorner", lowerCorner);
- ensureNonNull("upperCorner", upperCorner);
ensureSameDimension(lowerCorner.length, upperCorner.length);
coordinates = Arrays.copyOf(lowerCorner, lowerCorner.length + upperCorner.length);
System.arraycopy(upperCorner, 0, coordinates, lowerCorner.length, upperCorner.length);
@@ -151,7 +149,6 @@ class ArrayEnvelope extends AbstractEnvelope implements Serializable {
* @param crs the coordinate reference system.
*/
public ArrayEnvelope(final CoordinateReferenceSystem crs) {
- ensureNonNull("crs", crs);
coordinates = new double[crs.getCoordinateSystem().getDimension() * 2];
this.crs = crs;
}
@@ -162,7 +159,6 @@ class ArrayEnvelope extends AbstractEnvelope implements Serializable {
* @param envelope the envelope to copy.
*/
public ArrayEnvelope(final Envelope envelope) {
- ensureNonNull("envelope", envelope);
/*
* Do not optimize with `if (envelope instanceof ArrayEnvelope)` because subclasses may change the semantic.
* In particular the SubEnvelope subclass uses only a subrange of this array. If we still want to optimize,
@@ -189,7 +185,6 @@ class ArrayEnvelope extends AbstractEnvelope implements Serializable {
* @param box the bounding box to copy.
*/
public ArrayEnvelope(final GeographicBoundingBox box) {
- ensureNonNull("box", box);
coordinates = new double[] {
box.getWestBoundLongitude(),
box.getSouthBoundLatitude(),
@@ -223,7 +218,6 @@ class ArrayEnvelope extends AbstractEnvelope implements Serializable {
* @throws IllegalArgumentException if the given string cannot be parsed.
*/
public ArrayEnvelope(final CharSequence wkt) throws IllegalArgumentException {
- ensureNonNull("wkt", wkt);
int levelParenth = 0; // Number of opening parenthesis: (
int levelBracket = 0; // Number of opening brackets: [
int dimLimit = 4; // The length of minimum and maximum arrays.
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/CoordinateFormat.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/CoordinateFormat.java
index a1af970122..3173699118 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/CoordinateFormat.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/CoordinateFormat.java
@@ -24,6 +24,7 @@ import java.text.DecimalFormat;
import java.text.FieldPosition;
import java.text.ParsePosition;
import java.text.ParseException;
+import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.Arrays;
@@ -925,8 +926,7 @@ public class CoordinateFormat extends CompoundFormat<DirectPosition> {
* @since 1.1
*/
public void setGroundPrecision(final Quantity<?> precision) {
- ArgumentChecks.ensureNonNull("precision", precision);
- groundPrecision = precision;
+ groundPrecision = Objects.requireNonNull(precision);
if (isPrecisionApplied) {
applyGroundPrecision(lastCRS);
}
@@ -1539,8 +1539,6 @@ abort: if (dimensions != 0 && groundAccuracy != null) try {
*/
@Override
public DirectPosition parse(final CharSequence text, final ParsePosition pos) throws ParseException {
- ArgumentChecks.ensureNonNull("text", text);
- ArgumentChecks.ensureNonNull("pos", pos);
final int start = pos.getIndex();
final int length = text.length();
/*
@@ -1569,6 +1567,7 @@ abort: if (dimensions != 0 && groundAccuracy != null) try {
}
final double[] coordinates;
Format format;
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
final Format[] formats = this.formats;
if (formats != null) {
format = null;
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/DirectPosition2D.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/DirectPosition2D.java
index c0331b7ef9..53d77703b4 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/DirectPosition2D.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/DirectPosition2D.java
@@ -25,7 +25,6 @@ import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.cs.AxisDirection;
import org.apache.sis.util.ArraysExt;
import org.apache.sis.util.resources.Errors;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
import static org.apache.sis.util.ArgumentChecks.ensureDimensionMatches;
@@ -148,7 +147,6 @@ public class DirectPosition2D extends Point2D.Double implements DirectPosition,
* @see #setLocation(Point2D)
*/
public DirectPosition2D(final DirectPosition position) throws MismatchedDimensionException {
- ensureNonNull("position", position);
ensureDimensionMatches("position", 2, position);
x = position.getOrdinate(0);
y = position.getOrdinate(1);
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/GeneralEnvelope.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/GeneralEnvelope.java
index 3d00c8f948..76eb1d05b3 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/GeneralEnvelope.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/GeneralEnvelope.java
@@ -44,7 +44,7 @@ import org.apache.sis.util.resources.Errors;
import org.apache.sis.referencing.CRS;
import org.apache.sis.referencing.IdentifiedObjects;
-import static org.apache.sis.util.ArgumentChecks.*;
+import static org.apache.sis.util.ArgumentChecks.ensureDimensionMatches;
import static org.apache.sis.math.MathFunctions.isSameSign;
import static org.apache.sis.math.MathFunctions.isNegative;
import static org.apache.sis.math.MathFunctions.isNegativeZero;
@@ -404,7 +404,7 @@ public class GeneralEnvelope extends ArrayEnvelope implements Cloneable, Seriali
if (envelope == this) {
return; // Optimization for methods chaining like env.setEnvelope(Envelopes.transform(env, crs))
}
- ensureNonNull("envelope", envelope);
+ Objects.requireNonNull(envelope);
final int beginIndex = beginIndex();
final int dimension = endIndex() - beginIndex;
ensureDimensionMatches("envelope", dimension, envelope);
@@ -514,7 +514,7 @@ public class GeneralEnvelope extends ArrayEnvelope implements Cloneable, Seriali
* @since 0.5
*/
public void translate(final double... vector) {
- ensureNonNull("vector", vector);
+ Objects.requireNonNull(vector);
final int beginIndex = beginIndex();
ensureDimensionMatches("vector", endIndex() - beginIndex, vector);
final int upperIndex = beginIndex + (coordinates.length >>> 1);
@@ -554,7 +554,7 @@ public class GeneralEnvelope extends ArrayEnvelope implements Cloneable, Seriali
*/
@ArgumentCheckByAssertion
public void add(final DirectPosition position) throws MismatchedDimensionException {
- ensureNonNull("position", position);
+ Objects.requireNonNull(position);
final int beginIndex = beginIndex();
final int dimension = endIndex() - beginIndex;
ensureDimensionMatches("position", dimension, position);
@@ -657,7 +657,7 @@ public class GeneralEnvelope extends ArrayEnvelope implements Cloneable, Seriali
*/
@ArgumentCheckByAssertion
public void add(final Envelope envelope) throws MismatchedDimensionException {
- ensureNonNull("envelope", envelope);
+ Objects.requireNonNull(envelope);
final int beginIndex = beginIndex();
final int dimension = endIndex() - beginIndex;
ensureDimensionMatches("envelope", dimension, envelope);
@@ -814,7 +814,7 @@ public class GeneralEnvelope extends ArrayEnvelope implements Cloneable, Seriali
*/
@ArgumentCheckByAssertion
public void intersect(final Envelope envelope) throws MismatchedDimensionException {
- ensureNonNull("envelope", envelope);
+ Objects.requireNonNull(envelope);
final int beginIndex = beginIndex();
final int dimension = endIndex() - beginIndex;
ensureDimensionMatches("envelope", dimension, envelope);
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/WraparoundAdjustment.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/WraparoundAdjustment.java
index 9c63a01919..8d526682e7 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/WraparoundAdjustment.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/geometry/WraparoundAdjustment.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.geometry;
+import java.util.Objects;
import org.opengis.geometry.DirectPosition;
import org.opengis.geometry.Envelope;
import org.opengis.util.FactoryException;
@@ -30,7 +31,6 @@ import org.apache.sis.math.MathFunctions;
import org.apache.sis.metadata.internal.ReferencingServices;
import org.apache.sis.referencing.util.ReferencingUtilities;
import org.apache.sis.referencing.util.WraparoundAxesFinder;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.Utilities;
import org.apache.sis.util.logging.Logging;
@@ -131,8 +131,7 @@ public class WraparoundAdjustment {
* or {@code null} for the same CRS as the {@code domain} CRS..
*/
public WraparoundAdjustment(final Envelope domain, final CoordinateReferenceSystem target) {
- ArgumentChecks.ensureNonNull("domain", domain);
- domainOfValidity = ImmutableEnvelope.castOrCopy(domain);
+ domainOfValidity = ImmutableEnvelope.castOrCopy(Objects.requireNonNull(domain));
resultCRS = (target != null) ? target : domainOfValidity.getCoordinateReferenceSystem();
domainToInput = null;
}
@@ -155,8 +154,7 @@ public class WraparoundAdjustment {
* If {@code null}, the results will be expressed in same CRS as the inputs.
*/
public WraparoundAdjustment(final Envelope domain, MathTransform domainToInput, MathTransform inputToResult) {
- ArgumentChecks.ensureNonNull("domain", domain);
- domainOfValidity = ImmutableEnvelope.castOrCopy(domain);
+ domainOfValidity = ImmutableEnvelope.castOrCopy(Objects.requireNonNull(domain));
if (domainToInput == null) {
domainToInput = MathTransforms.identity(domainOfValidity.getDimension());
}
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/FormattableObject.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/FormattableObject.java
index 87914bad03..9cb41453a8 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/FormattableObject.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/FormattableObject.java
@@ -19,11 +19,11 @@ package org.apache.sis.io.wkt;
import java.io.Console;
import java.io.IOException;
import java.io.PrintWriter;
+import java.util.Objects;
import java.util.concurrent.atomic.AtomicReference;
import jakarta.xml.bind.annotation.XmlTransient;
import org.apache.sis.util.Debug;
import org.apache.sis.util.Printable;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.internal.X364;
import org.apache.sis.util.internal.Constants;
import org.apache.sis.system.Environment;
@@ -138,8 +138,7 @@ public abstract class FormattableObject implements Printable {
* @return the Well Known Text (WKT) or a pseudo-WKT representation of this object.
*/
public String toString(final Convention convention) {
- ArgumentChecks.ensureNonNull("convention", convention);
- return formatWKT(convention, false, false);
+ return formatWKT(Objects.requireNonNull(convention), false, false);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Symbols.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Symbols.java
index ddd5da483f..34870e79b1 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Symbols.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Symbols.java
@@ -18,6 +18,7 @@ package org.apache.sis.io.wkt;
import java.util.Arrays;
import java.util.Locale;
+import java.util.Objects;
import java.io.Serializable;
import java.io.ObjectStreamException;
import java.text.NumberFormat;
@@ -207,7 +208,6 @@ public class Symbols implements Localized, Cloneable, Serializable {
* @param symbols the symbols to copy.
*/
public Symbols(final Symbols symbols) {
- ensureNonNull("symbols", symbols);
locale = symbols.locale;
brackets = symbols.brackets;
quotes = symbols.quotes;
@@ -282,8 +282,7 @@ public class Symbols implements Localized, Cloneable, Serializable {
*/
public void setLocale(final Locale locale) {
checkWritePermission();
- ensureNonNull("locale", locale);
- this.locale = locale;
+ this.locale = Objects.requireNonNull(locale);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/WKTDictionary.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/WKTDictionary.java
index 5c9e28f880..e80012b4c5 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/WKTDictionary.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/WKTDictionary.java
@@ -22,6 +22,7 @@ import java.util.Set;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.Objects;
import java.util.stream.Stream;
import java.util.function.Predicate;
import java.util.function.Consumer;
@@ -469,7 +470,7 @@ public class WKTDictionary extends GeodeticAuthorityFactory {
* @throws FactoryException if the definition file cannot be read.
*/
public void load(final BufferedReader source) throws FactoryException {
- ArgumentChecks.ensureNonNull("source", source);
+ Objects.requireNonNull(source);
lock.writeLock().lock();
try {
final Loader loader = new Loader(source);
@@ -704,7 +705,6 @@ public class WKTDictionary extends GeodeticAuthorityFactory {
* used for two objects.
*/
public void addDefinitions(final Stream<String> objects) throws FactoryException {
- ArgumentChecks.ensureNonNull("objects", objects);
/*
* We work with iterator because we do not support parallelism yet.
* However, a future version may support that, which is why argument
@@ -900,7 +900,6 @@ public class WKTDictionary extends GeodeticAuthorityFactory {
*/
@Override
public Set<String> getAuthorityCodes(Class<? extends IdentifiedObject> type) throws FactoryException {
- ArgumentChecks.ensureNonNull("type", type);
if (!type.isInterface()) {
type = ReferencingUtilities.getInterface(IdentifiedObject.class, type);
}
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/WKTFormat.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/WKTFormat.java
index a1fe7839e9..811309c1fb 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/WKTFormat.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/WKTFormat.java
@@ -708,13 +708,13 @@ public class WKTFormat extends CompoundFormat<Object> {
* Verifies if the given type is a valid key for the {@link #factories} map.
*/
private void ensureValidFactoryType(final Class<?> type) throws IllegalArgumentException {
- ArgumentChecks.ensureNonNull("type", type);
if (type != CRSFactory.class &&
type != CSFactory.class &&
type != DatumFactory.class &&
type != MathTransformFactory.class &&
type != CoordinateOperationFactory.class)
{
+ ArgumentChecks.ensureNonNull("type", type);
throw new IllegalArgumentException(errors().getString(Errors.Keys.IllegalArgumentValue_2, "type", type));
}
}
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterDescriptor.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterDescriptor.java
index fb6e618b97..03c2d9e7fe 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterDescriptor.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterDescriptor.java
@@ -31,17 +31,16 @@ import org.apache.sis.util.Classes;
import org.apache.sis.util.Numbers;
import org.apache.sis.util.Utilities;
import org.apache.sis.util.ComparisonMode;
+import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Errors;
+import org.apache.sis.util.internal.CollectionsExt;
import org.apache.sis.measure.Range;
import org.apache.sis.measure.MeasurementRange;
-import org.apache.sis.util.internal.CollectionsExt;
import org.apache.sis.xml.bind.Context;
import org.apache.sis.xml.bind.gco.PropertyType;
import org.apache.sis.xml.bind.metadata.replace.QualityParameter;
import org.apache.sis.xml.bind.referencing.CC_OperationParameter;
import org.apache.sis.referencing.IdentifiedObjects;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
-import static org.apache.sis.util.ArgumentChecks.ensureCanCast;
/**
@@ -204,8 +203,8 @@ public class DefaultParameterDescriptor<T> extends AbstractParameterDescriptor i
final T defaultValue)
{
super(properties, minimumOccurs, maximumOccurs);
- ensureNonNull("valueClass", valueClass);
- ensureCanCast("defaultValue", valueClass, defaultValue);
+ ArgumentChecks.ensureNonNull("valueClass", valueClass);
+ ArgumentChecks.ensureCanCast("defaultValue", valueClass, defaultValue);
if (valueDomain != null) {
Class<?> componentType = valueClass.getComponentType();
if (componentType != null) {
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java
index 7407974f2b..b091ef6648 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java
@@ -158,7 +158,6 @@ public class DefaultParameterDescriptorGroup extends AbstractParameterDescriptor
final int minimumOccurs, final int maximumOccurs, GeneralParameterDescriptor... parameters)
{
super(properties, minimumOccurs, maximumOccurs);
- ArgumentChecks.ensureNonNull("parameters", parameters);
verifyNames(properties, parameters = parameters.clone());
descriptors = asList(parameters);
}
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterValue.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterValue.java
index 9afa4c78e1..5689ace18a 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterValue.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterValue.java
@@ -211,7 +211,6 @@ public class DefaultParameterValue<T> extends FormattableObject implements Param
* @param descriptor the abstract definition of this parameter.
*/
public DefaultParameterValue(final ParameterDescriptor<T> descriptor) {
- ArgumentChecks.ensureNonNull("descriptor", descriptor);
this.descriptor = descriptor;
this.value = descriptor.getDefaultValue();
this.unit = descriptor.getUnit();
@@ -228,7 +227,6 @@ public class DefaultParameterValue<T> extends FormattableObject implements Param
* @see #unmodifiable(ParameterValue)
*/
public DefaultParameterValue(final ParameterValue<T> parameter) {
- ArgumentChecks.ensureNonNull("parameter", parameter);
descriptor = parameter.getDescriptor();
value = parameter.getValue();
unit = parameter.getUnit();
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterValueGroup.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterValueGroup.java
index f6dbe2f9bf..d098db719f 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterValueGroup.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/DefaultParameterValueGroup.java
@@ -40,7 +40,6 @@ import org.apache.sis.referencing.IdentifiedObjects;
import org.apache.sis.referencing.internal.Resources;
import org.apache.sis.util.LenientComparable;
import org.apache.sis.util.ComparisonMode;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.Utilities;
import org.apache.sis.util.resources.Errors;
@@ -140,8 +139,7 @@ public class DefaultParameterValueGroup extends Parameters implements LenientCom
* @param descriptor the descriptor for this group.
*/
public DefaultParameterValueGroup(final ParameterDescriptorGroup descriptor) {
- ArgumentChecks.ensureNonNull("descriptor", descriptor);
- values = new ParameterValueList(descriptor);
+ values = new ParameterValueList(Objects.requireNonNull(descriptor));
}
/**
@@ -156,7 +154,6 @@ public class DefaultParameterValueGroup extends Parameters implements LenientCom
* @since 0.6
*/
public DefaultParameterValueGroup(final ParameterValueGroup parameters) {
- ArgumentChecks.ensureNonNull("parameters", parameters);
values = new ParameterValueList(parameters.getDescriptor());
values.addAll(parameters.values());
}
@@ -216,6 +213,7 @@ public class DefaultParameterValueGroup extends Parameters implements LenientCom
*/
@Override
public <T> ParameterValue<T> getOrCreate(final ParameterDescriptor<T> parameter) throws ParameterNotFoundException {
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
final ParameterValueList values = this.values; // Protect against accidental changes.
final int n = values.size();
for (int i=0; i<n; i++) {
@@ -235,6 +233,7 @@ public class DefaultParameterValueGroup extends Parameters implements LenientCom
*/
@Override
final ParameterValue<?> getParameter(final ParameterDescriptor<?> parameter) throws ParameterNotFoundException {
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
final ParameterValueList values = this.values; // Protect against accidental changes.
final int n = values.size();
for (int i=0; i<n; i++) {
@@ -284,8 +283,7 @@ public class DefaultParameterValueGroup extends Parameters implements LenientCom
*/
@Override
public ParameterValue<?> parameter(final String name) throws ParameterNotFoundException {
- ArgumentChecks.ensureNonNull("name", name);
- ParameterValue<?> value = parameterIfExist(name);
+ ParameterValue<?> value = parameterIfExist(Objects.requireNonNull(name));
if (value == null) {
/*
* No existing parameter found. Maybe the parameter is optional and not yet created.
@@ -318,6 +316,7 @@ public class DefaultParameterValueGroup extends Parameters implements LenientCom
*/
@Override
ParameterValue<?> parameterIfExist(final String name) throws ParameterNotFoundException {
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
final ParameterValueList values = this.values; // Protect against accidental changes.
/*
* Search for an exact match. By invoking `descriptor(i)` instead of `get(i)`, we avoid the
@@ -370,7 +369,8 @@ public class DefaultParameterValueGroup extends Parameters implements LenientCom
*/
@Override
public List<ParameterValueGroup> groups(final String name) throws ParameterNotFoundException {
- ArgumentChecks.ensureNonNull("name", name);
+ Objects.requireNonNull(name);
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
final ParameterValueList values = this.values; // Protect against accidental changes.
final List<ParameterValueGroup> groups = new ArrayList<>(4);
final int size = values.size();
@@ -418,6 +418,7 @@ public class DefaultParameterValueGroup extends Parameters implements LenientCom
public ParameterValueGroup addGroup(final String name)
throws ParameterNotFoundException, InvalidParameterCardinalityException
{
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
final ParameterValueList values = this.values; // Protect against accidental changes.
final ParameterDescriptorGroup descriptor = values.descriptor;
final GeneralParameterDescriptor child = descriptor.descriptor(name);
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/ParameterBuilder.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/ParameterBuilder.java
index ecc0db0bc2..8ca1ec54d4 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/ParameterBuilder.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/ParameterBuilder.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.parameter;
+import java.util.Objects;
import javax.measure.Unit;
import org.opengis.parameter.ParameterDescriptor;
import org.opengis.parameter.ParameterDescriptorGroup;
@@ -24,7 +25,7 @@ import org.apache.sis.measure.MeasurementRange;
import org.apache.sis.measure.NumberRange;
import org.apache.sis.measure.Range;
import org.apache.sis.referencing.Builder;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
+import org.apache.sis.util.ArgumentChecks;
/**
@@ -273,7 +274,7 @@ public class ParameterBuilder extends Builder<ParameterBuilder> {
public <T extends Comparable<? super T>> ParameterDescriptor<T> createBounded(final Class<T> valueClass,
final T minimumValue, final T maximumValue, final T defaultValue)
{
- ensureNonNull("valueClass", valueClass);
+ ArgumentChecks.ensureNonNull("valueClass", valueClass);
final Range<T> valueDomain;
if (minimumValue == null && maximumValue == null) {
valueDomain = null;
@@ -297,7 +298,6 @@ public class ParameterBuilder extends Builder<ParameterBuilder> {
public <T extends Comparable<? super T>> ParameterDescriptor<T> createBounded(
final Range<T> valueDomain, final T defaultValue)
{
- ensureNonNull("valueDomain", valueDomain);
return create(valueDomain.getElementType(), valueDomain, null, defaultValue);
}
@@ -317,8 +317,7 @@ public class ParameterBuilder extends Builder<ParameterBuilder> {
* @return the parameter descriptor for the given set of valid values.
*/
public <T> ParameterDescriptor<T> createEnumerated(final Class<T> valueClass, final T[] validValues, final T defaultValue) {
- ensureNonNull("valueClass", valueClass);
- return create(valueClass, null, validValues, defaultValue);
+ return create(Objects.requireNonNull(valueClass), null, validValues, defaultValue);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/ParameterFormat.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/ParameterFormat.java
index 0e59fb3865..90a5d0a81e 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/ParameterFormat.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/ParameterFormat.java
@@ -25,6 +25,8 @@ import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.TimeZone;
+import java.util.Objects;
+import java.util.concurrent.atomic.AtomicReference;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.io.PrintWriter;
@@ -33,7 +35,6 @@ import java.text.NumberFormat;
import java.text.FieldPosition;
import java.text.ParsePosition;
import java.text.ParseException;
-import java.util.concurrent.atomic.AtomicReference;
import javax.measure.Unit;
import org.opengis.parameter.*;
import org.opengis.util.ScopedName;
@@ -318,8 +319,7 @@ public class ParameterFormat extends TabularFormat<Object> {
* @param level the amount of information to put in the table.
*/
public void setContentLevel(final ContentLevel level) {
- ArgumentChecks.ensureNonNull("level", level);
- this.contentLevel = level;
+ this.contentLevel = Objects.requireNonNull(level);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/TensorParameters.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/TensorParameters.java
index c45f53882e..8e277c4843 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/TensorParameters.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/TensorParameters.java
@@ -763,8 +763,7 @@ public class TensorParameters<E> implements Serializable {
if (rank() != 2) {
throw new IllegalStateException();
}
- ArgumentChecks.ensureNonNull("parameters", parameters);
- if (parameters instanceof TensorValues) {
+ if (Objects.requireNonNull(parameters) instanceof TensorValues) {
return ((TensorValues) parameters).toMatrix(); // More efficient implementation
}
// Fallback on the general case (others implementations)
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/UnmodifiableParameterValueGroup.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/UnmodifiableParameterValueGroup.java
index d671e6e966..f26fb7aa65 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/UnmodifiableParameterValueGroup.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/UnmodifiableParameterValueGroup.java
@@ -150,8 +150,7 @@ class UnmodifiableParameterValueGroup extends Parameters implements LenientCompa
*/
@Override
public final ParameterValue<?> parameter(final String name) throws ParameterNotFoundException {
- ArgumentChecks.ensureNonNull("name", name);
- final ParameterValue<?> value = parameterIfExist(name);
+ final ParameterValue<?> value = parameterIfExist(Objects.requireNonNull(name));
if (value != null) {
return value;
}
@@ -164,7 +163,7 @@ class UnmodifiableParameterValueGroup extends Parameters implements LenientCompa
*/
@Override
public List<ParameterValueGroup> groups(final String name) throws ParameterNotFoundException {
- ArgumentChecks.ensureNonNull("name", name);
+ Objects.requireNonNull(name);
final List<ParameterValueGroup> groups = new ArrayList<>(4);
for (final GeneralParameterValue value : values) {
if (value instanceof ParameterValueGroup) {
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/AbstractIdentifiedObject.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/AbstractIdentifiedObject.java
index 9b51935e55..73be8a000e 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/AbstractIdentifiedObject.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/AbstractIdentifiedObject.java
@@ -451,7 +451,6 @@ public class AbstractIdentifiedObject extends FormattableObject implements Ident
* @param object the object to shallow copy.
*/
protected AbstractIdentifiedObject(final IdentifiedObject object) {
- ensureNonNull("object", object);
name = object.getName();
alias = nonEmpty(object.getAlias()); // Favor null for empty set in case it is not Collections.EMPTY_SET
identifiers = nonEmpty(object.getIdentifiers());
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/Builder.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/Builder.java
index a2340c7789..7f6078bb49 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/Builder.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/Builder.java
@@ -21,6 +21,7 @@ import java.util.List;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Objects;
import java.lang.reflect.Type;
import java.lang.reflect.ParameterizedType;
import org.opengis.util.NameSpace;
@@ -34,10 +35,10 @@ import org.apache.sis.metadata.iso.citation.Citations;
import org.apache.sis.referencing.internal.DeprecatedCode;
import org.apache.sis.referencing.internal.DeprecatedName;
import org.apache.sis.util.Deprecable;
+import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.iso.DefaultNameFactory;
import org.apache.sis.util.iso.Types;
import org.apache.sis.util.resources.Errors;
-import static org.apache.sis.util.ArgumentChecks.*;
/**
@@ -494,7 +495,7 @@ public abstract class Builder<B extends Builder<B>> {
* @return {@code this}, for method call chaining.
*/
public B addName(final CharSequence name) {
- ensureNonNull("name", name);
+ ArgumentChecks.ensureNonEmpty("name", name);
if (isDeprecated()) {
aliases.add(new DeprecatedName(getAuthority(), getCodeSpace(), name, getVersion(), getRemarks()));
} else if (properties.putIfAbsent(IdentifiedObject.NAME_KEY, name.toString()) != null) {
@@ -533,7 +534,7 @@ public abstract class Builder<B extends Builder<B>> {
* @see #addIdentifier(Citation, String)
*/
public B addName(final Citation authority, final CharSequence name) {
- ensureNonNull("name", name);
+ ArgumentChecks.ensureNonEmpty("name", name);
final boolean isDeprecated = isDeprecated();
if (!isDeprecated && properties.get(IdentifiedObject.NAME_KEY) != null) {
// A primary name is already present. Add the given name as an alias instead.
@@ -577,8 +578,7 @@ public abstract class Builder<B extends Builder<B>> {
* @return {@code this}, for method call chaining.
*/
public B addName(final Identifier name) {
- ensureNonNull("name", name);
- if (properties.putIfAbsent(IdentifiedObject.NAME_KEY, name) != null) {
+ if (properties.putIfAbsent(IdentifiedObject.NAME_KEY, Objects.requireNonNull(name)) != null) {
// A primary name is already present. Add the given name as an alias instead.
aliases.add(name instanceof GenericName ? (GenericName) name : new NamedIdentifier(name));
}
@@ -603,7 +603,7 @@ public abstract class Builder<B extends Builder<B>> {
* @return {@code this}, for method call chaining.
*/
public B addName(final GenericName name) {
- ensureNonNull("name", name);
+ Objects.requireNonNull(name);
if (properties.get(IdentifiedObject.NAME_KEY) == null) {
properties.put(IdentifiedObject.NAME_KEY, toIdentifier(name));
} else {
@@ -632,7 +632,7 @@ public abstract class Builder<B extends Builder<B>> {
* @return {@code this}, for method call chaining.
*/
public B addIdentifier(final String identifier) {
- ensureNonNull("identifier", identifier);
+ ArgumentChecks.ensureNonEmpty("identifier", identifier);
identifiers.add(createIdentifier(getAuthority(), getCodeSpace(), identifier, getVersion()));
return self();
}
@@ -651,7 +651,7 @@ public abstract class Builder<B extends Builder<B>> {
* @see #addName(Citation, CharSequence)
*/
public B addIdentifier(final Citation authority, final String identifier) {
- ensureNonNull("identifier", identifier);
+ ArgumentChecks.ensureNonEmpty("identifier", identifier);
identifiers.add(createIdentifier(authority, identifier));
return self();
}
@@ -669,8 +669,7 @@ public abstract class Builder<B extends Builder<B>> {
* @return {@code this}, for method call chaining.
*/
public B addIdentifier(final Identifier identifier) {
- ensureNonNull("identifier", identifier);
- identifiers.add(identifier);
+ identifiers.add(Objects.requireNonNull(identifier));
return self();
}
@@ -697,7 +696,6 @@ public abstract class Builder<B extends Builder<B>> {
* @since 0.6
*/
public B addNamesAndIdentifiers(final IdentifiedObject object) {
- ensureNonNull("object", object);
for (final Identifier id : object.getIdentifiers()) {
if (isValid(id)) {
addIdentifier(id);
@@ -726,8 +724,7 @@ public abstract class Builder<B extends Builder<B>> {
* @since 1.1
*/
public B addNameAndIdentifier(final Citation authority, final IdentifiedObject object) {
- ensureNonNull("authority", authority);
- ensureNonNull("object", object);
+ ArgumentChecks.ensureNonNull("authority", authority);
for (final Identifier id : object.getIdentifiers()) {
if (isValid(id) && authority.equals(id.getAuthority())) {
addIdentifier(id);
@@ -775,7 +772,7 @@ public abstract class Builder<B extends Builder<B>> {
* @since 0.6
*/
public B rename(final Citation authority, final CharSequence... replacements) {
- ensureNonNull("authority", authority);
+ ArgumentChecks.ensureNonNull("authority", authority);
final int length = (replacements != null) ? replacements.length : 0;
/*
* IdentifiedObjects store the "primary name" separately from aliases. Consequently, we will start
@@ -802,7 +799,7 @@ public abstract class Builder<B extends Builder<B>> {
*/
if (next < length) {
final CharSequence name;
- ensureNonNullElement("replacements", next, name = replacements[next++]);
+ ArgumentChecks.ensureNonNullElement("replacements", next, name = replacements[next++]);
/*
* If the current name matches the specified replacement, we can leave the name as-is.
* Only if the name (in its local part) is not the same, proceed to the replacement.
@@ -831,7 +828,7 @@ public abstract class Builder<B extends Builder<B>> {
*/
while (next < length) {
final CharSequence name;
- ensureNonNullElement("replacements", next, name = replacements[next++]);
+ ArgumentChecks.ensureNonNullElement("replacements", next, name = replacements[next++]);
aliases.add(insertAt++, createName(authority, name));
}
/*
@@ -874,7 +871,7 @@ public abstract class Builder<B extends Builder<B>> {
* @since 0.8
*/
public B reidentify(final Citation authority, final String... replacements) {
- ensureNonNull("authority", authority);
+ ArgumentChecks.ensureNonNull("authority", authority);
final int length = (replacements != null) ? replacements.length : 0;
int next = 0;
int insertAt = identifiers.size();
@@ -883,7 +880,7 @@ public abstract class Builder<B extends Builder<B>> {
if (authority.equals(old.getAuthority())) {
if (next < length) {
final String code;
- ensureNonNullElement("replacements", next, code = replacements[next++]);
+ ArgumentChecks.ensureNonNullElement("replacements", next, code = replacements[next++]);
if (!code.equals(old.getCode())) {
identifiers.set(i, createIdentifier(authority, code));
insertAt = i + 1;
@@ -895,7 +892,7 @@ public abstract class Builder<B extends Builder<B>> {
}
while (next < length) {
final String code;
- ensureNonNullElement("replacements", next, code = replacements[next++]);
+ ArgumentChecks.ensureNonNullElement("replacements", next, code = replacements[next++]);
identifiers.add(insertAt++, createIdentifier(authority, code));
}
return self();
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java
index e367036ff2..7fd0ec9828 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java
@@ -1499,7 +1499,6 @@ check: while (lower != 0 || upper != dimension) {
* @since 0.5
*/
public static double getGreenwichLongitude(final GeodeticCRS crs) {
- ArgumentChecks.ensureNonNull("crs", crs);
return ReferencingUtilities.getGreenwichLongitude(crs.getDatum().getPrimeMeridian(), Units.DEGREE);
}
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/GeodeticCalculator.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/GeodeticCalculator.java
index 40646ee6d9..96048ecaac 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/GeodeticCalculator.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/GeodeticCalculator.java
@@ -19,6 +19,7 @@ package org.apache.sis.referencing;
import java.awt.Shape;
import java.awt.geom.Path2D;
import java.util.Locale;
+import java.util.Objects;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.text.NumberFormat;
@@ -292,8 +293,7 @@ public class GeodeticCalculator {
* @return a new geodetic calculator using the specified CRS.
*/
public static GeodeticCalculator create(final CoordinateReferenceSystem crs) {
- ArgumentChecks.ensureNonNull("crs", crs);
- final Ellipsoid ellipsoid = ReferencingUtilities.getEllipsoid(crs);
+ final Ellipsoid ellipsoid = ReferencingUtilities.getEllipsoid(Objects.requireNonNull(crs));
if (ellipsoid == null) {
throw new IllegalArgumentException(Errors.format(Errors.Keys.IllegalCRSType_1,
ReferencingUtilities.getInterface(CoordinateReferenceSystem.class, crs)));
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/ImmutableIdentifier.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/ImmutableIdentifier.java
index b49854e32f..0b5e406791 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/ImmutableIdentifier.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/ImmutableIdentifier.java
@@ -36,7 +36,6 @@ import org.apache.sis.io.wkt.FormattableObject;
import org.apache.sis.io.wkt.Formatter;
import org.apache.sis.io.wkt.Convention;
import org.apache.sis.io.wkt.ElementKind;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
import static org.apache.sis.util.collection.Containers.property;
@@ -162,7 +161,6 @@ public class ImmutableIdentifier extends FormattableObject implements Identifier
* @see #castOrCopy(Identifier)
*/
public ImmutableIdentifier(final Identifier identifier) {
- ensureNonNull("identifier", identifier);
code = identifier.getCode();
codeSpace = identifier.getCodeSpace();
authority = identifier.getAuthority();
@@ -264,7 +262,6 @@ public class ImmutableIdentifier extends FormattableObject implements Identifier
* @throws IllegalArgumentException if a property has an illegal value.
*/
public ImmutableIdentifier(final Map<String,?> properties) throws IllegalArgumentException {
- ensureNonNull("properties", properties);
code = Strings.trimOrNull(property(properties, CODE_KEY, String.class));
version = Strings.trimOrNull(property(properties, VERSION_KEY, String.class));
description = Types.toInternationalString(properties, DESCRIPTION_KEY);
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/NamedIdentifier.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/NamedIdentifier.java
index 0b06eef4f8..163f6ae5fd 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/NamedIdentifier.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/NamedIdentifier.java
@@ -32,7 +32,6 @@ import org.opengis.util.InternationalString;
import org.opengis.metadata.Identifier;
import org.opengis.metadata.citation.Citation;
import org.opengis.parameter.InvalidParameterValueException;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.metadata.internal.NameToIdentifier;
import org.apache.sis.metadata.iso.citation.Citations;
@@ -271,7 +270,7 @@ public class NamedIdentifier extends ImmutableIdentifier implements GenericName
* Returns the unlocalized string representation of the given code.
*/
private static String toString(final CharSequence code) {
- ArgumentChecks.ensureNonNull("code", code);
+ // Implicit null check below.
final String c;
if (code instanceof InternationalString) {
c = ((InternationalString) code).toString(Locale.ROOT);
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/AbstractCRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/AbstractCRS.java
index 3343469505..dc67d54836 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/AbstractCRS.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/AbstractCRS.java
@@ -40,7 +40,6 @@ import org.apache.sis.metadata.internal.ImplementationHelper;
import org.apache.sis.io.wkt.Convention;
import org.apache.sis.io.wkt.Formatter;
import org.apache.sis.util.Utilities;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.ComparisonMode;
import org.apache.sis.util.resources.Errors;
@@ -179,8 +178,7 @@ public class AbstractCRS extends AbstractReferenceSystem implements CoordinateRe
@SuppressWarnings("this-escape")
public AbstractCRS(final Map<String,?> properties, final CoordinateSystem cs) {
super(properties);
- ArgumentChecks.ensureNonNull("cs", cs);
- coordinateSystem = cs;
+ coordinateSystem = Objects.requireNonNull(cs);
forConvention = forConvention(this);
}
@@ -338,9 +336,8 @@ public class AbstractCRS extends AbstractReferenceSystem implements CoordinateRe
* @see AbstractCS#forConvention(AxesConvention)
*/
public AbstractCRS forConvention(final AxesConvention convention) {
- ArgumentChecks.ensureNonNull("convention", convention);
synchronized (forConvention) {
- AbstractCRS crs = forConvention.get(convention);
+ AbstractCRS crs = forConvention.get(Objects.requireNonNull(convention));
if (crs == null) {
final AbstractCS cs = AbstractCS.castOrCopy(coordinateSystem);
final AbstractCS candidate = cs.forConvention(convention);
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultCompoundCRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultCompoundCRS.java
index 910937dda4..d296be8294 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultCompoundCRS.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultCompoundCRS.java
@@ -20,6 +20,7 @@ import java.util.Map;
import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;
+import java.util.Objects;
import java.io.IOException;
import java.io.ObjectInputStream;
import jakarta.xml.bind.annotation.XmlType;
@@ -492,9 +493,8 @@ public class DefaultCompoundCRS extends AbstractCRS implements CompoundCRS {
*/
@Override
public DefaultCompoundCRS forConvention(final AxesConvention convention) {
- ArgumentChecks.ensureNonNull("convention", convention);
synchronized (forConvention) {
- DefaultCompoundCRS crs = (DefaultCompoundCRS) forConvention.get(convention);
+ var crs = (DefaultCompoundCRS) forConvention.get(Objects.requireNonNull(convention));
if (crs == null) {
crs = this;
boolean changed = false;
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
index 1ce8d59bbf..dc2b1c032e 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultEngineeringCRS.java
@@ -17,6 +17,7 @@
package org.apache.sis.referencing.crs;
import java.util.Map;
+import java.util.Objects;
import jakarta.xml.bind.annotation.XmlType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;
@@ -30,7 +31,6 @@ import org.apache.sis.metadata.internal.ImplementationHelper;
import org.apache.sis.referencing.util.WKTKeywords;
import org.apache.sis.xml.bind.referencing.CS_CoordinateSystem;
import org.apache.sis.io.wkt.Formatter;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -142,8 +142,7 @@ public class DefaultEngineeringCRS extends AbstractCRS implements EngineeringCRS
final CoordinateSystem cs)
{
super(properties, cs);
- this.datum = datum;
- ArgumentChecks.ensureNonNull("datum", datum);
+ this.datum = Objects.requireNonNull(datum);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultGeodeticCRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultGeodeticCRS.java
index d4a72411e1..5c6ad56bac 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultGeodeticCRS.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultGeodeticCRS.java
@@ -17,6 +17,7 @@
package org.apache.sis.referencing.crs;
import java.util.Map;
+import java.util.Objects;
import jakarta.xml.bind.annotation.XmlType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;
@@ -44,7 +45,6 @@ import org.apache.sis.metadata.internal.ImplementationHelper;
import org.apache.sis.io.wkt.Convention;
import org.apache.sis.io.wkt.Formatter;
import org.apache.sis.measure.Units;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
/**
@@ -102,8 +102,7 @@ class DefaultGeodeticCRS extends AbstractCRS implements GeodeticCRS { // If made
final CoordinateSystem cs)
{
super(properties, cs);
- ensureNonNull("datum", datum);
- this.datum = datum;
+ this.datum = Objects.requireNonNull(datum);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultImageCRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultImageCRS.java
index 0cdc10d827..5f84e83e77 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultImageCRS.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultImageCRS.java
@@ -17,6 +17,7 @@
package org.apache.sis.referencing.crs;
import java.util.Map;
+import java.util.Objects;
import jakarta.xml.bind.annotation.XmlType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;
@@ -30,7 +31,6 @@ import org.apache.sis.referencing.cs.AxesConvention;
import org.apache.sis.referencing.cs.AbstractCS;
import org.apache.sis.metadata.internal.ImplementationHelper;
import org.apache.sis.io.wkt.Formatter;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -127,8 +127,7 @@ public class DefaultImageCRS extends AbstractCRS implements ImageCRS {
final AffineCS cs)
{
super(properties, cs);
- this.datum = datum;
- ArgumentChecks.ensureNonNull("datum", datum);
+ this.datum = Objects.requireNonNull(datum);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultParametricCRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultParametricCRS.java
index b494749046..7ceca78059 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultParametricCRS.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultParametricCRS.java
@@ -17,6 +17,7 @@
package org.apache.sis.referencing.crs;
import java.util.Map;
+import java.util.Objects;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlType;
@@ -25,7 +26,6 @@ import org.apache.sis.referencing.util.WKTKeywords;
import org.apache.sis.referencing.cs.AxesConvention;
import org.apache.sis.referencing.cs.AbstractCS;
import org.apache.sis.io.wkt.Formatter;
-import org.apache.sis.util.ArgumentChecks;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.referencing.cs.ParametricCS;
@@ -126,8 +126,7 @@ public class DefaultParametricCRS extends AbstractCRS implements ParametricCRS {
final ParametricCS cs)
{
super(properties, cs);
- this.datum = datum;
- ArgumentChecks.ensureNonNull("datum", datum);
+ this.datum = Objects.requireNonNull(datum);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultTemporalCRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultTemporalCRS.java
index 1af0b32bb4..adfd4783a7 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultTemporalCRS.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultTemporalCRS.java
@@ -18,6 +18,7 @@ package org.apache.sis.referencing.crs;
import java.util.Map;
import java.util.Date;
+import java.util.Objects;
import java.time.Instant;
import java.time.Duration;
import java.io.IOException;
@@ -39,7 +40,6 @@ import org.apache.sis.metadata.internal.ImplementationHelper;
import org.apache.sis.io.wkt.Formatter;
import org.apache.sis.measure.Units;
import org.apache.sis.math.Fraction;
-import org.apache.sis.util.ArgumentChecks;
import static org.apache.sis.util.internal.StandardDateFormat.NANOS_PER_SECOND;
import static org.apache.sis.util.internal.StandardDateFormat.MILLIS_PER_SECOND;
@@ -158,8 +158,7 @@ public class DefaultTemporalCRS extends AbstractCRS implements TemporalCRS {
final TimeCS cs)
{
super(properties, cs);
- this.datum = datum;
- ArgumentChecks.ensureNonNull("datum", datum);
+ this.datum = Objects.requireNonNull(datum);
initializeConverter();
}
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultVerticalCRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultVerticalCRS.java
index 38ecdbd588..351261b68b 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultVerticalCRS.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultVerticalCRS.java
@@ -17,6 +17,7 @@
package org.apache.sis.referencing.crs;
import java.util.Map;
+import java.util.Objects;
import jakarta.xml.bind.annotation.XmlType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;
@@ -29,7 +30,6 @@ import org.apache.sis.referencing.cs.AbstractCS;
import org.apache.sis.referencing.util.WKTKeywords;
import org.apache.sis.metadata.internal.ImplementationHelper;
import org.apache.sis.io.wkt.Formatter;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -125,8 +125,7 @@ public class DefaultVerticalCRS extends AbstractCRS implements VerticalCRS {
final VerticalCS cs)
{
super(properties, cs);
- this.datum = datum;
- ArgumentChecks.ensureNonNull("datum", datum);
+ this.datum = Objects.requireNonNull(datum);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AbstractCS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AbstractCS.java
index 4433ad7035..1fc873fcf2 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AbstractCS.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AbstractCS.java
@@ -182,10 +182,9 @@ public class AbstractCS extends AbstractIdentifiedObject implements CoordinateSy
* @param axes the sequence of axes.
* @throws IllegalArgumentException if an axis has an illegal direction or an illegal unit of measurement.
*/
- @SuppressWarnings({"this-escape", "OverridableMethodCallInConstructor"})
+ @SuppressWarnings("this-escape")
public AbstractCS(final Map<String,?> properties, final CoordinateSystemAxis... axes) {
super(properties);
- ensureNonNull("axes", axes);
this.axes = axes.clone();
validate(properties);
forConvention = forConvention(this);
@@ -273,7 +272,6 @@ public class AbstractCS extends AbstractIdentifiedObject implements CoordinateSy
*
* @see #createForAxes(String, CoordinateSystemAxis[])
*/
- @SuppressWarnings("OverridableMethodCallInConstructor")
AbstractCS(final AbstractCS original, final String name, final CoordinateSystemAxis[] axes) {
super(original.getPropertiesWithoutIdentifiers(name));
this.axes = axes;
@@ -292,7 +290,7 @@ public class AbstractCS extends AbstractIdentifiedObject implements CoordinateSy
*
* @see #castOrCopy(CoordinateSystem)
*/
- @SuppressWarnings({"this-escape", "OverridableMethodCallInConstructor"})
+ @SuppressWarnings("this-escape")
protected AbstractCS(final CoordinateSystem original) {
super(original);
axes = (original instanceof AbstractCS) ? ((AbstractCS) original).axes : getAxes(original);
@@ -461,7 +459,6 @@ next: for (final CoordinateSystemAxis axis : axes) {
* @see org.apache.sis.referencing.crs.AbstractCRS#forConvention(AxesConvention)
*/
public AbstractCS forConvention(final AxesConvention convention) {
- ensureNonNull("convention", convention);
synchronized (forConvention) {
AbstractCS cs = forConvention.get(convention);
if (cs == null) {
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AxisName.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AxisName.java
index 4cc70be5df..94c086a1a6 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AxisName.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AxisName.java
@@ -64,7 +64,7 @@ final class AxisName {
* and the space is rare.
*
* @param axis the axis for which to get a short label.
- * @param locale desired locale for the label.
+ * @param locale desired locale for the label, or {@code null} for the default.
* @return a relatively short axis label, in the desired locale if possible.
*/
static String find(final CoordinateSystemAxis axis, final Locale locale) {
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/CoordinateSystems.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/CoordinateSystems.java
index 11342637ff..ed81369c4b 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/CoordinateSystems.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/CoordinateSystems.java
@@ -361,8 +361,6 @@ next: for (final CoordinateSystem cs : targets) {
final CoordinateSystem targetCS)
throws IllegalArgumentException, IncommensurableException
{
- ArgumentChecks.ensureNonNull("sourceCS", sourceCS);
- ArgumentChecks.ensureNonNull("targetCS", targetCS);
if (!Classes.implementSameInterfaces(sourceCS.getClass(), targetCS.getClass(), CoordinateSystem.class)) {
// Above line was a relatively cheap test. Try the more expensive test below only if necessary.
if (!hasAllTargetTypes(sourceCS, targetCS)) {
@@ -565,7 +563,6 @@ next: for (final CoordinateSystem cs : targets) {
* @since 0.8
*/
public static AxisDirection[] getAxisDirections(final CoordinateSystem cs) {
- ArgumentChecks.ensureNonNull("cs", cs);
final AxisDirection[] directions = new AxisDirection[cs.getDimension()];
for (int i=0; i<directions.length; i++) {
final CoordinateSystemAxis axis = cs.getAxis(i);
@@ -582,14 +579,13 @@ next: for (final CoordinateSystem cs : targets) {
* and the space is rare.
*
* @param axis the axis for which to get a short label.
- * @param locale desired locale for the label.
+ * @param locale desired locale for the label, or {@code null} for the default.
* @return a relatively short axis label, in the desired locale if possible.
*
* @since 1.3
*/
public static String getShortName(final CoordinateSystemAxis axis, final Locale locale) {
- ArgumentChecks.ensureNonNull("axis", axis);
- return AxisName.find(axis, locale);
+ return AxisName.find(Objects.requireNonNull(axis), locale);
}
/**
@@ -644,7 +640,6 @@ next: for (final CoordinateSystem cs : targets) {
@SuppressWarnings("fallthrough")
public static Integer getEpsgCode(final Class<? extends CoordinateSystem> type, final CoordinateSystemAxis... axes) {
ArgumentChecks.ensureNonNull("type", type);
- ArgumentChecks.ensureNonNull("axes", axes);
forDim: switch (axes.length) {
case 3: {
if (!Units.METRE.equals(axes[2].getUnit())) break; // Restriction in our hard-coded list of codes.
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCompoundCS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCompoundCS.java
index a5ac52ab0b..5993a4c4cc 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCompoundCS.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCompoundCS.java
@@ -18,6 +18,7 @@ package org.apache.sis.referencing.cs;
import java.util.Map;
import java.util.List;
+import java.util.Objects;
import jakarta.xml.bind.annotation.XmlTransient;
import org.opengis.referencing.cs.CoordinateSystem;
import org.opengis.referencing.cs.CoordinateSystemAxis;
@@ -139,7 +140,6 @@ public class DefaultCompoundCS extends AbstractCS {
* Returns a clone of the given array, making sure that it contains only non-null elements.
*/
private static CoordinateSystem[] clone(CoordinateSystem[] components) {
- ArgumentChecks.ensureNonNull("components", components);
components = components.clone();
for (int i=0; i<components.length; i++) {
ArgumentChecks.ensureNonNullElement("components", i, components[i]);
@@ -186,9 +186,8 @@ public class DefaultCompoundCS extends AbstractCS {
*/
@Override
public DefaultCompoundCS forConvention(final AxesConvention convention) {
- ArgumentChecks.ensureNonNull("convention", convention);
synchronized (forConvention) {
- DefaultCompoundCS cs = (DefaultCompoundCS) forConvention.get(convention);
+ var cs = (DefaultCompoundCS) forConvention.get(Objects.requireNonNull(convention));
if (cs == null) {
cs = this;
boolean changed = false;
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DirectionAlongMeridian.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DirectionAlongMeridian.java
index 72b094b58f..dcdf8287a2 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DirectionAlongMeridian.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DirectionAlongMeridian.java
@@ -90,8 +90,7 @@ final class DirectionAlongMeridian extends FormattableObject implements Comparab
* Meridians in the East hemisphere are positive and meridians in the West hemisphere are negative.
*/
DirectionAlongMeridian(final AxisDirection baseDirection, final double meridian) {
- ArgumentChecks.ensureNonNull("baseDirection", baseDirection);
- if (!AxisDirection.NORTH.equals(baseDirection) && !AxisDirection.SOUTH.equals(baseDirection)) {
+ if (!baseDirection.equals(AxisDirection.NORTH) && !baseDirection.equals(AxisDirection.SOUTH)) {
throw new IllegalArgumentException(Errors.format(
Errors.Keys.IllegalArgumentValue_2, "baseDirection", baseDirection));
}
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DatumShiftGrid.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DatumShiftGrid.java
index 02ffafab3d..9d9b2f382f 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DatumShiftGrid.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DatumShiftGrid.java
@@ -266,7 +266,6 @@ public abstract class DatumShiftGrid<C extends Quantity<C>, T extends Quantity<T
* @param other the other datum shift grid from which to copy the grid geometry.
*/
protected DatumShiftGrid(final DatumShiftGrid<C,T> other) {
- ArgumentChecks.ensureNonNull("other", other);
coordinateUnit = other.coordinateUnit;
coordinateToGrid = other.coordinateToGrid;
isCellValueRatio = other.isCellValueRatio;
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
index fbad0aa9fa..0fb2305028 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
@@ -260,10 +260,8 @@ public class DefaultGeodeticDatum extends AbstractDatum implements GeodeticDatum
final PrimeMeridian primeMeridian)
{
super(properties);
- ensureNonNull("ellipsoid", ellipsoid);
- ensureNonNull("primeMeridian", primeMeridian);
- this.ellipsoid = ellipsoid;
- this.primeMeridian = primeMeridian;
+ this.ellipsoid = Objects.requireNonNull(ellipsoid);
+ this.primeMeridian = Objects.requireNonNull(primeMeridian);
bursaWolf = CollectionsExt.nonEmpty(CollectionsExt.nonNullArraySet(
BURSA_WOLF_KEY, properties.get(BURSA_WOLF_KEY), EMPTY_ARRAY));
if (bursaWolf != null) {
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultImageDatum.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultImageDatum.java
index ee810fb4ae..a6b58d7f66 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultImageDatum.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultImageDatum.java
@@ -30,7 +30,6 @@ import org.apache.sis.metadata.internal.ImplementationHelper;
import org.apache.sis.io.wkt.Formatter;
import org.apache.sis.io.wkt.Convention;
import org.apache.sis.util.ComparisonMode;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.metadata.Identifier;
@@ -122,8 +121,7 @@ public class DefaultImageDatum extends AbstractDatum implements ImageDatum {
*/
public DefaultImageDatum(final Map<String,?> properties, final PixelInCell pixelInCell) {
super(properties);
- this.pixelInCell = pixelInCell;
- ensureNonNull("pixelInCell", pixelInCell);
+ this.pixelInCell = Objects.requireNonNull(pixelInCell);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
index 587df1eb0b..053e2f43d8 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
@@ -40,7 +40,6 @@ import org.apache.sis.io.wkt.Formatter;
import org.apache.sis.io.wkt.Convention;
import org.apache.sis.measure.Units;
import static org.apache.sis.util.ArgumentChecks.ensureFinite;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.metadata.Identifier;
@@ -156,9 +155,8 @@ public class DefaultPrimeMeridian extends AbstractIdentifiedObject implements Pr
{
super(properties);
ensureFinite("greenwichLongitude", greenwichLongitude);
- ensureNonNull("angularUnit", angularUnit);
this.greenwichLongitude = greenwichLongitude;
- this.angularUnit = angularUnit;
+ this.angularUnit = Objects.requireNonNull(angularUnit);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultTemporalDatum.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
index 5d784d7ef9..0c6dbaad99 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
@@ -33,7 +33,6 @@ import org.apache.sis.metadata.internal.ImplementationHelper;
import org.apache.sis.util.ComparisonMode;
import org.apache.sis.io.wkt.Formatter;
import org.apache.sis.io.wkt.FormattableObject;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.metadata.Identifier;
@@ -147,7 +146,6 @@ public class DefaultTemporalDatum extends AbstractDatum implements TemporalDatum
*/
public DefaultTemporalDatum(final Map<String,?> properties, final Date origin) {
super(properties);
- ensureNonNull("origin", origin);
this.origin = origin.getTime();
}
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultVerticalDatum.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
index 44981e4770..a0fc87041e 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
@@ -32,7 +32,6 @@ import org.apache.sis.xml.util.LegacyNamespaces;
import org.apache.sis.referencing.util.WKTKeywords;
import org.apache.sis.referencing.internal.VerticalDatumTypes;
import org.apache.sis.metadata.internal.ImplementationHelper;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.metadata.Identifier;
@@ -148,8 +147,7 @@ public class DefaultVerticalDatum extends AbstractDatum implements VerticalDatum
*/
public DefaultVerticalDatum(final Map<String,?> properties, final VerticalDatumType type) {
super(properties);
- this.type = type;
- ensureNonNull("type", type);
+ this.type = Objects.requireNonNull(type);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/TimeDependentBWP.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/TimeDependentBWP.java
index c1f0a54d55..97d6aab748 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/TimeDependentBWP.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/TimeDependentBWP.java
@@ -122,7 +122,6 @@ public class TimeDependentBWP extends BursaWolfParameters {
*/
public TimeDependentBWP(final GeodeticDatum targetDatum, final Extent domainOfValidity, final Date timeReference) {
super(targetDatum, domainOfValidity);
- ensureNonNull("timeReference", timeReference);
this.timeReference = timeReference.getTime();
}
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/CommonAuthorityFactory.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/CommonAuthorityFactory.java
index fcf3a78254..3064a5aec1 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/CommonAuthorityFactory.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/CommonAuthorityFactory.java
@@ -22,6 +22,7 @@ import java.util.List;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.Collections;
+import java.util.Objects;
import javax.measure.Unit;
import javax.measure.quantity.Length;
import org.opengis.util.FactoryException;
@@ -45,7 +46,6 @@ import org.apache.sis.referencing.operation.provider.TransverseMercator.Zoner;
import org.apache.sis.referencing.util.GeodeticObjectBuilder;
import org.apache.sis.referencing.internal.Resources;
import org.apache.sis.metadata.iso.citation.Citations;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.SimpleInternationalString;
import org.apache.sis.util.internal.Constants;
import org.apache.sis.measure.Units;
@@ -341,7 +341,6 @@ public class CommonAuthorityFactory extends GeodeticAuthorityFactory implements
*/
@Override
public Set<String> getAuthorityCodes(final Class<? extends IdentifiedObject> type) throws FactoryException {
- ArgumentChecks.ensureNonNull("type", type);
if (!type.isAssignableFrom(SingleCRS.class) && !SingleCRS.class.isAssignableFrom(type)) {
return Collections.emptySet();
}
@@ -480,8 +479,7 @@ public class CommonAuthorityFactory extends GeodeticAuthorityFactory implements
*/
@Override
public CoordinateReferenceSystem createCoordinateReferenceSystem(final String code) throws FactoryException {
- ArgumentChecks.ensureNonNull("code", code);
- return createCoordinateReferenceSystem(code, new CommonAuthorityCode(code));
+ return createCoordinateReferenceSystem(Objects.requireNonNull(code), new CommonAuthorityCode(code));
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
index 76ad2c8c3c..d9905520cb 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
@@ -19,6 +19,7 @@ package org.apache.sis.referencing.factory;
import java.util.Date;
import java.util.Locale;
import java.util.Map;
+import java.util.Objects;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.LogRecord;
@@ -270,8 +271,7 @@ public class GeodeticObjectFactory extends AbstractFactory implements CRSFactory
* @return the union of the given properties with the default properties.
*/
protected Map<String,?> complete(final Map<String,?> properties) {
- ArgumentChecks.ensureNonNull("properties", properties);
- return new MergedProperties(properties, defaultProperties) {
+ return new MergedProperties(Objects.requireNonNull(properties), defaultProperties) {
/**
* Handles the {@code "mtFactory"} key in a special way since this is normally not needed for
* {@link GeodeticObjectFactory}, except when creating the SIS implementation of derived or
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/IdentifiedObjectFinder.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/IdentifiedObjectFinder.java
index dadbfb3e65..161d23c18a 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/IdentifiedObjectFinder.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/IdentifiedObjectFinder.java
@@ -18,6 +18,7 @@ package org.apache.sis.referencing.factory;
import java.util.Set;
import java.util.LinkedHashSet;
+import java.util.Objects;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import org.opengis.util.GenericName;
@@ -28,7 +29,6 @@ import org.opengis.referencing.AuthorityFactory;
import org.opengis.referencing.NoSuchAuthorityCodeException;
import org.apache.sis.referencing.AbstractIdentifiedObject;
import org.apache.sis.referencing.IdentifiedObjects;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.ComparisonMode;
import org.apache.sis.util.Utilities;
import org.apache.sis.util.internal.Constants;
@@ -188,8 +188,7 @@ public class IdentifiedObjectFinder {
* @see GeodeticAuthorityFactory#newIdentifiedObjectFinder()
*/
protected IdentifiedObjectFinder(final AuthorityFactory factory) {
- ArgumentChecks.ensureNonNull("factory", factory);
- this.factory = factory;
+ this.factory = Objects.requireNonNull(factory);
}
/**
@@ -228,8 +227,7 @@ public class IdentifiedObjectFinder {
* @param domain the domain of the search.
*/
public void setSearchDomain(final Domain domain) {
- ArgumentChecks.ensureNonNull("domain", domain);
- this.domain = domain;
+ this.domain = Objects.requireNonNull(domain);
}
/**
@@ -311,8 +309,7 @@ public class IdentifiedObjectFinder {
* @throws FactoryException if an error occurred while creating an object.
*/
public Set<IdentifiedObject> find(final IdentifiedObject object) throws FactoryException {
- ArgumentChecks.ensureNonNull("object", object);
- Set<IdentifiedObject> result = getFromCache(object);
+ Set<IdentifiedObject> result = getFromCache(Objects.requireNonNull(object));
if (result == null) {
final AuthorityFactoryProxy<?> previousProxy = proxy;
proxy = AuthorityFactoryProxy.getInstance(object.getClass());
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/IdentifiedObjectSet.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/IdentifiedObjectSet.java
index a5ad1f0267..5f5ac29be8 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/IdentifiedObjectSet.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/IdentifiedObjectSet.java
@@ -35,7 +35,6 @@ import org.opengis.referencing.AuthorityFactory;
import org.opengis.referencing.IdentifiedObject;
import org.opengis.referencing.NoSuchAuthorityCodeException;
import org.apache.sis.referencing.IdentifiedObjects;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.Localized;
import org.apache.sis.util.Classes;
import org.apache.sis.util.logging.Logging;
@@ -128,11 +127,9 @@ public class IdentifiedObjectSet<T extends IdentifiedObject> extends AbstractSet
* @param type the type of objects included in this set.
*/
public IdentifiedObjectSet(final AuthorityFactory factory, final Class<T> type) {
- ArgumentChecks.ensureNonNull("factory", factory);
- ArgumentChecks.ensureNonNull("type", type);
- proxy = AuthorityFactoryProxy.getInstance(type);
- this.factory = factory;
- this.type = type;
+ this.factory = Objects.requireNonNull(factory);
+ this.type = Objects.requireNonNull(type);
+ this.proxy = AuthorityFactoryProxy.getInstance(type);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
index 2282beebc8..d9890a0f32 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
@@ -29,6 +29,7 @@ import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
+import java.util.Objects;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.LogRecord;
@@ -372,11 +373,9 @@ public class EPSGDataAccess extends GeodeticAuthorityFactory implements CRSAutho
* @see EPSGFactory#newDataAccess(Connection, SQLTranslator)
*/
protected EPSGDataAccess(final EPSGFactory owner, final Connection connection, final SQLTranslator translator) {
- ArgumentChecks.ensureNonNull("connection", connection);
- ArgumentChecks.ensureNonNull("translator", translator);
this.owner = owner;
- this.connection = connection;
- this.translator = translator;
+ this.connection = Objects.requireNonNull(connection);
+ this.translator = Objects.requireNonNull(translator);
this.namespace = owner.nameFactory.createNameSpace(
owner.nameFactory.createLocalName(null, Constants.IOGP), null);
}
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGFactory.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGFactory.java
index 85d4974f56..1f4b0519c6 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGFactory.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/EPSGFactory.java
@@ -19,6 +19,7 @@ package org.apache.sis.referencing.factory.sql;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
+import java.util.Objects;
import java.util.concurrent.TimeUnit;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
@@ -41,7 +42,6 @@ import org.apache.sis.metadata.sql.util.Initializer;
import org.apache.sis.referencing.internal.DeferredCoordinateOperation;
import org.apache.sis.referencing.internal.Resources;
import org.apache.sis.referencing.util.ReferencingFactoryContainer;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.Classes;
import org.apache.sis.util.Exceptions;
import org.apache.sis.util.Localized;
@@ -375,10 +375,9 @@ public class EPSGFactory extends ConcurrentAuthorityFactory<EPSGDataAccess> impl
* @see InstallationScriptProvider
*/
public synchronized void install(final Connection connection) throws UnavailableFactoryException {
- ArgumentChecks.ensureNonNull("connection", connection);
String message = null;
Exception failure = null;
- try (EPSGInstaller installer = new EPSGInstaller(connection)) {
+ try (EPSGInstaller installer = new EPSGInstaller(Objects.requireNonNull(connection))) {
final boolean ac = connection.getAutoCommit();
if (ac) {
connection.setAutoCommit(false);
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/InstallationScriptProvider.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/InstallationScriptProvider.java
index 51e5802a77..64cbd920ca 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/InstallationScriptProvider.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/InstallationScriptProvider.java
@@ -18,6 +18,7 @@ package org.apache.sis.referencing.factory.sql;
import java.util.Set;
import java.util.Locale;
+import java.util.Objects;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.sql.Connection;
@@ -31,7 +32,6 @@ import java.nio.charset.StandardCharsets;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.util.logging.Logging;
import org.apache.sis.setup.InstallationResources;
@@ -117,9 +117,8 @@ public abstract class InstallationScriptProvider extends InstallationResources {
* @see #openStream(String)
*/
protected InstallationScriptProvider(final String authority, final String... resources) {
- ArgumentChecks.ensureNonNull("resources", resources);
+ this.resources = Objects.requireNonNull(resources);
authorities = CollectionsExt.singletonOrEmpty(authority);
- this.resources = resources;
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/SQLTranslator.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/SQLTranslator.java
index b938aeb75e..b04e4f7d5f 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/SQLTranslator.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/sql/SQLTranslator.java
@@ -25,7 +25,6 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import org.apache.sis.util.CharSequences;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.util.internal.Constants;
import static org.apache.sis.util.internal.Strings.isNullOrEmpty;
@@ -248,7 +247,6 @@ public class SQLTranslator implements Function<String,String> {
* @throws SQLException if an error occurred while querying the database metadata.
*/
public SQLTranslator(final DatabaseMetaData md, final String catalog, final String schema) throws SQLException {
- ArgumentChecks.ensureNonNull("md", md);
quote = md.getIdentifierQuoteString().trim();
accessToAnsi = new HashMap<>(4);
this.catalog = catalog;
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/PositionTransformer.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/PositionTransformer.java
index 5fab4bd1d4..8b66a6eea0 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/PositionTransformer.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/PositionTransformer.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.referencing.internal;
+import java.util.Objects;
import org.opengis.util.FactoryException;
import org.opengis.geometry.DirectPosition;
import org.opengis.geometry.MismatchedDimensionException;
@@ -28,7 +29,6 @@ import org.opengis.referencing.operation.TransformException;
import org.apache.sis.referencing.operation.DefaultCoordinateOperationFactory;
import org.apache.sis.referencing.operation.transform.MathTransforms;
import org.apache.sis.geometry.GeneralDirectPosition;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.Utilities;
@@ -127,7 +127,6 @@ public final class PositionTransformer extends GeneralDirectPosition {
final CoordinateOperationFactory factory)
{
super(targetCRS);
- ArgumentChecks.ensureNonNull("targetCRS", targetCRS);
this.defaultCRS = (defaultCRS != null) ? defaultCRS : targetCRS;
this.factory = (factory != null) ? factory : DefaultCoordinateOperationFactory.provider();
}
@@ -146,8 +145,7 @@ public final class PositionTransformer extends GeneralDirectPosition {
*/
@Override
public void setCoordinateReferenceSystem(final CoordinateReferenceSystem targetCRS) throws MismatchedDimensionException {
- ArgumentChecks.ensureNonNull("targetCRS", targetCRS);
- super.setCoordinateReferenceSystem(targetCRS);
+ super.setCoordinateReferenceSystem(Objects.requireNonNull(targetCRS));
forward = null;
inverse = null;
}
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/AbstractSingleOperation.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/AbstractSingleOperation.java
index 8c385e61fa..0cdf46e38b 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/AbstractSingleOperation.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/AbstractSingleOperation.java
@@ -143,8 +143,7 @@ class AbstractSingleOperation extends AbstractCoordinateOperation implements Sin
*/
AbstractSingleOperation(final Map<String,?> properties, final OperationMethod method) {
super(properties);
- ArgumentChecks.ensureNonNull("method", method);
- this.method = method;
+ this.method = Objects.requireNonNull(method);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java
index fb91a2d451..cd666cdae0 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java
@@ -72,7 +72,6 @@ import org.apache.sis.metadata.iso.citation.Citations;
import org.apache.sis.metadata.iso.extent.Extents;
import org.apache.sis.system.Semaphores;
import org.apache.sis.util.ArraysExt;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.ComparisonMode;
import org.apache.sis.util.Utilities;
import org.apache.sis.util.Deprecable;
@@ -249,7 +248,7 @@ class CoordinateOperationRegistry {
/**
* Creates a new instance for the given factory and context.
*
- * @param registry the factory to use for creating operations as defined by authority.
+ * @param registry the factory to use for creating operations as defined by authority, or {@code null} if none.
* @param factory the factory to use for creating operations not found in the registry.
* @param context the area of interest and desired accuracy, or {@code null} if none.
* @throws FactoryException if an error occurred while initializing this {@link CoordinateOperationRegistry}.
@@ -258,13 +257,16 @@ class CoordinateOperationRegistry {
final CoordinateOperationFactory factory,
final CoordinateOperationContext context) throws FactoryException
{
- ArgumentChecks.ensureNonNull("factory", factory);
this.registry = registry;
- this.factory = factory;
+ this.factory = Objects.requireNonNull(factory);
factorySIS = (factory instanceof DefaultCoordinateOperationFactory)
? (DefaultCoordinateOperationFactory) factory
: DefaultCoordinateOperationFactory.provider();
+
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
Map<CoordinateReferenceSystem, List<String>> authorityCodes = Collections.emptyMap();
+
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
IdentifiedObjectFinder codeFinder = null;
if (registry != null) {
if (registry instanceof GeodeticAuthorityFactory) {
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
index 279fed307e..3443925f55 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
@@ -140,7 +140,6 @@ final class DefaultConcatenatedOperation extends AbstractCoordinateOperation imp
final MathTransformFactory mtFactory) throws FactoryException
{
super(properties);
- ArgumentChecks.ensureNonNull("operations", operations);
if (operations.length < 2) {
throw new InvalidGeodeticParameterException(Errors.forProperties(properties).getString(
Errors.Keys.TooFewOccurrences_2, 2, CoordinateOperation.class));
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java
index 3c46079c6a..ff170d5386 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java
@@ -176,7 +176,7 @@ public class DefaultCoordinateOperationFactory extends AbstractFactory implement
* @param factory the factory to use for creating {@linkplain AbstractMathTransform math transforms},
* or {@code null} for the default factory.
*/
- @SuppressWarnings("ResultOfMethodCallIgnored")
+ @SuppressWarnings({"LocalVariableHidesMemberVariable", "UnusedAssignment"})
public DefaultCoordinateOperationFactory(Map<String,?> properties, MathTransformFactory factory) {
final CSFactory csFactory;
final CRSFactory crsFactory;
@@ -281,6 +281,7 @@ public class DefaultCoordinateOperationFactory extends AbstractFactory implement
@Override
public OperationMethod getOperationMethod(String name) throws FactoryException {
ArgumentChecks.ensureNonEmpty("name", name = name.strip());
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
final MathTransformFactory mtFactory = getMathTransformFactory();
if (mtFactory instanceof DefaultMathTransformFactory) {
return ((DefaultMathTransformFactory) mtFactory).getOperationMethod(name);
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultFormula.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultFormula.java
index 8871d7ea74..77902c6267 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultFormula.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultFormula.java
@@ -26,7 +26,7 @@ import org.apache.sis.io.wkt.ElementKind;
import org.apache.sis.io.wkt.FormattableObject;
import org.apache.sis.io.wkt.Formatter;
import org.apache.sis.util.iso.Types;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
+import org.apache.sis.util.ArgumentChecks;
/**
@@ -81,7 +81,7 @@ public class DefaultFormula extends FormattableObject implements Formula, Serial
* @param formula the formula.
*/
public DefaultFormula(final CharSequence formula) {
- ensureNonNull("formula", formula);
+ ArgumentChecks.ensureNonEmpty("formula", formula);
this.formula = Types.toInternationalString(formula);
this.citation = null;
}
@@ -92,8 +92,7 @@ public class DefaultFormula extends FormattableObject implements Formula, Serial
* @param citation the citation.
*/
public DefaultFormula(final Citation citation) {
- ensureNonNull("citation", citation);
- this.citation = citation;
+ this.citation = Objects.requireNonNull(citation);
this.formula = null;
}
@@ -109,7 +108,6 @@ public class DefaultFormula extends FormattableObject implements Formula, Serial
* @see #castOrCopy(Formula)
*/
protected DefaultFormula(final Formula formula) {
- ensureNonNull("formula", formula);
this.citation = formula.getCitation();
this.formula = formula.getFormula();
}
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/builder/LinearTransformBuilder.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/builder/LinearTransformBuilder.java
index 9f2c085be4..36415ed206 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/builder/LinearTransformBuilder.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/builder/LinearTransformBuilder.java
@@ -572,7 +572,6 @@ search: for (int j=numPoints; --j >= 0;) {
* @since 1.1
*/
public void setControlPoints(final MathTransform gridToCRS) throws TransformException {
- ArgumentChecks.ensureNonNull("gridToCRS", gridToCRS);
if (gridSize == null) {
throw new IllegalStateException(Resources.format(Resources.Keys.PointsAreNotOnRegularGrid));
}
@@ -644,7 +643,6 @@ search: for (int j=numPoints; --j >= 0;) {
throws MismatchedDimensionException
{
ensureModifiable();
- ArgumentChecks.ensureNonNull("sourceToTarget", sourceToTarget);
sources = null;
targets = null;
numPoints = 0;
@@ -974,8 +972,6 @@ search: for (int j=domain(); --j >= 0;) {
*/
public void setControlPoint(final int[] source, final double[] target) {
ensureModifiable();
- ArgumentChecks.ensureNonNull("source", source);
- ArgumentChecks.ensureNonNull("target", target);
verifySourceDimension(source.length);
final int tgtDim = target.length;
if (targets != null && tgtDim != targets.length) {
@@ -1051,7 +1047,6 @@ search: for (int j=domain(); --j >= 0;) {
* @since 0.8
*/
public double[] getControlPoint(final int[] source) {
- ArgumentChecks.ensureNonNull("source", source);
verifySourceDimension(source.length);
if (targets == null) {
return null;
@@ -1311,8 +1306,7 @@ search: for (int j=domain(); --j >= 0;) {
* @since 1.0
*/
public void addLinearizers(final Map<String,MathTransform> projections, final int... projToGrid) {
- ArgumentChecks.ensureNonNull("projections", projections);
- addLinearizers(projections, false, projToGrid);
+ addLinearizers(Objects.requireNonNull(projections), false, projToGrid);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.java
index c373e3ac7f..432a33436a 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/builder/LocalizationGridBuilder.java
@@ -18,6 +18,7 @@ package org.apache.sis.referencing.operation.builder;
import java.util.Map;
import java.util.Locale;
+import java.util.Objects;
import java.util.Optional;
import java.io.IOException;
import java.io.UncheckedIOException;
@@ -215,7 +216,6 @@ public class LocalizationGridBuilder extends TransformBuilder {
* @since 1.0
*/
public LocalizationGridBuilder(final LinearTransformBuilder localizations) {
- ArgumentChecks.ensureNonNull("localizations", localizations);
int n = localizations.getGridDimensions();
if (n == SOURCE_DIMENSION) {
linearBuilder = localizations;
@@ -371,7 +371,6 @@ public class LocalizationGridBuilder extends TransformBuilder {
*/
public void setSourceToGrid(final LinearTransform sourceToGrid) {
ensureModifiable();
- ArgumentChecks.ensureNonNull("sourceToGrid", sourceToGrid);
int isTarget = 0;
int dim = sourceToGrid.getSourceDimensions();
if (dim >= SOURCE_DIMENSION) {
@@ -451,8 +450,7 @@ public class LocalizationGridBuilder extends TransformBuilder {
*/
public void setControlPoints(final Vector... coordinates) {
ensureModifiable();
- ArgumentChecks.ensureNonNull("coordinates", coordinates);
- linearBuilder.setControlPoints(coordinates);
+ linearBuilder.setControlPoints(Objects.requireNonNull(coordinates));
}
/**
@@ -618,9 +616,8 @@ public class LocalizationGridBuilder extends TransformBuilder {
* @since 1.1
*/
public void addLinearizers(final Map<String,MathTransform> projections, final boolean compensate, final int... projToGrid) {
- ArgumentChecks.ensureNonNull("projections", projections);
ensureModifiable();
- linearBuilder.addLinearizers(projections, compensate, projToGrid);
+ linearBuilder.addLinearizers(Objects.requireNonNull(projections), compensate, projToGrid);
}
/**
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/builder/ProjectedTransformTry.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/builder/ProjectedTransformTry.java
index 2b794027b5..1823ffa35e 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/builder/ProjectedTransformTry.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/builder/ProjectedTransformTry.java
@@ -21,6 +21,7 @@ import java.util.List;
import java.util.Queue;
import java.util.Locale;
import java.util.Collections;
+import java.util.Objects;
import java.text.NumberFormat;
import org.opengis.geometry.MismatchedDimensionException;
import org.opengis.referencing.operation.MathTransform;
@@ -28,7 +29,6 @@ import org.opengis.referencing.operation.TransformException;
import org.apache.sis.io.TableAppender;
import org.apache.sis.util.ArraysExt;
import org.apache.sis.util.Exceptions;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.referencing.operation.matrix.Matrices;
import org.apache.sis.referencing.operation.matrix.MatrixSIS;
@@ -140,10 +140,8 @@ final class ProjectedTransformTry implements Comparable<ProjectedTransformTry>,
ProjectedTransformTry(final String name, final MathTransform projection, final int[] projToGrid, int expectedDimension,
final boolean reverseAfterLinearization)
{
- ArgumentChecks.ensureNonNull("name", name);
- ArgumentChecks.ensureNonNull("projection", projection);
- this.name = name;
- this.projection = projection;
+ this.name = Objects.requireNonNull(name);
+ this.projection = Objects.requireNonNull(projection);
this.projToGrid = projToGrid;
this.reverseAfterLinearization = reverseAfterLinearization;
int side = 0; // 0 = problem with source dimensions, 1 = problem with target dimensions.
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/AffineTransforms2D.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/AffineTransforms2D.java
index 0ca0002ae0..f379f89f41 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/AffineTransforms2D.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/AffineTransforms2D.java
@@ -33,7 +33,6 @@ import org.apache.sis.referencing.util.j2d.AffineTransform2D;
import org.apache.sis.referencing.util.j2d.IntervalRectangle;
import org.apache.sis.referencing.internal.Resources;
import org.apache.sis.util.Static;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -149,7 +148,7 @@ public final class AffineTransforms2D extends Static {
* @see AffineTransform#createTransformedShape(Shape)
*/
public static Shape transform(final AffineTransform transform, Shape shape, boolean allowOverwrite) {
- ArgumentChecks.ensureNonNull("transform", transform);
+ // Implicit null check of `transform` below.
if (shape == null) {
return null;
}
@@ -227,7 +226,7 @@ public final class AffineTransforms2D extends Static {
public static Rectangle2D transform(final AffineTransform transform,
final Rectangle2D bounds, final Rectangle2D dest)
{
- ArgumentChecks.ensureNonNull("transform", transform);
+ // Implicit null check of `transform` below.
if (bounds == null) {
return null;
}
@@ -271,7 +270,7 @@ public final class AffineTransforms2D extends Static {
public static Rectangle2D inverseTransform(final AffineTransform transform,
final Rectangle2D bounds, final Rectangle2D dest) throws NoninvertibleTransformException
{
- ArgumentChecks.ensureNonNull("transform", transform);
+ // Implicit null check of `transform` below.
if (bounds == null) {
return null;
}
@@ -310,7 +309,7 @@ public final class AffineTransforms2D extends Static {
public static Point2D inverseDeltaTransform(final AffineTransform transform,
final Point2D vector, final Point2D dest) throws NoninvertibleTransformException
{
- ArgumentChecks.ensureNonNull("transform", transform);
+ // Implicit null check of `transform` below.
if (vector == null) {
return null;
}
@@ -344,7 +343,7 @@ public final class AffineTransforms2D extends Static {
* @return {@code true} if the given transform seems to swap axis order.
*/
public static int getSwapXY(final AffineTransform transform) {
- ArgumentChecks.ensureNonNull("transform", transform);
+ // Implicit null check of `transform` in `getFlip`.
final int flip = getFlip(transform);
if (flip != 0) {
final double scaleX = getScaleX0(transform);
@@ -369,7 +368,7 @@ public final class AffineTransforms2D extends Static {
* or {@link Double#NaN NaN} if the angle cannot be estimated.
*/
public static double getRotation(final AffineTransform transform) {
- ArgumentChecks.ensureNonNull("transform", transform);
+ // Implicit null check of `transform` in `getFlip`.
final int flip = getFlip(transform);
if (flip != 0) {
final double scaleX = getScaleX0(transform);
@@ -411,7 +410,6 @@ public final class AffineTransforms2D extends Static {
* @return -1 if an axis has been flipped, +1 if no flipping, or 0 if unknown.
*/
public static int getFlip(final AffineTransform transform) {
- ArgumentChecks.ensureNonNull("transform", transform);
final double scaleX = Math.signum(transform.getScaleX());
final double scaleY = Math.signum(transform.getScaleY());
final double shearX = Math.signum(transform.getShearX());
@@ -431,7 +429,6 @@ public final class AffineTransforms2D extends Static {
* @return the magnitude of scale factor <var>x</var>.
*/
public static double getScaleX0(final AffineTransform transform) {
- ArgumentChecks.ensureNonNull("transform", transform);
final double scale = transform.getScaleX();
final double shear = transform.getShearX();
if (shear == 0) return abs(scale); // Optimization for a very common case.
@@ -449,7 +446,6 @@ public final class AffineTransforms2D extends Static {
* @return the magnitude of scale factor <var>y</var>.
*/
public static double getScaleY0(final AffineTransform transform) {
- ArgumentChecks.ensureNonNull("transform", transform);
final double scale = transform.getScaleY();
final double shear = transform.getShearY();
if (shear == 0) return abs(scale); // Optimization for a very common case.
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/Matrices.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/Matrices.java
index ea5432b721..a1d61b56f5 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/Matrices.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/matrix/Matrices.java
@@ -371,8 +371,6 @@ public final class Matrices extends Static {
* @see org.apache.sis.referencing.cs.CoordinateSystems#swapAndScaleAxes(CoordinateSystem, CoordinateSystem)
*/
public static MatrixSIS createTransform(final Envelope srcEnvelope, final Envelope dstEnvelope) {
- ArgumentChecks.ensureNonNull("srcEnvelope", srcEnvelope);
- ArgumentChecks.ensureNonNull("dstEnvelope", dstEnvelope);
/*
* Following code is a simplified version of above createTransform(Envelope, AxisDirection[], ...) method.
* We need to make sure that those two methods are consistent and compute the matrix values in the same way.
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Initializer.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Initializer.java
index 5ec1361547..ea7c986323 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Initializer.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/Initializer.java
@@ -17,6 +17,7 @@
package org.apache.sis.referencing.operation.projection;
import java.util.Map;
+import java.util.Objects;
import static java.lang.Math.*;
import org.opengis.parameter.ParameterDescriptor;
import org.opengis.parameter.ParameterNotFoundException;
@@ -29,7 +30,6 @@ import org.apache.sis.parameter.Parameters;
import org.apache.sis.referencing.operation.matrix.MatrixSIS;
import org.apache.sis.referencing.operation.transform.ContextualParameters;
import org.apache.sis.referencing.operation.projection.NormalizedProjection.ParameterRole;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
/**
@@ -102,11 +102,8 @@ final class Initializer {
final Map<ParameterRole, ? extends ParameterDescriptor<? extends Number>> roles,
final ProjectionVariant variant)
{
- ensureNonNull("method", method);
- ensureNonNull("parameters", parameters);
- ensureNonNull("roles", roles);
this.context = new ContextualParameters(method.getParameters(), 2, 2);
- this.parameters = parameters;
+ this.parameters = Objects.requireNonNull(parameters);
this.variant = variant;
/*
* Note: we do not use Map.getOrDefault(K,V) below because the user could have explicitly associated
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AbstractProvider.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AbstractProvider.java
index 2229e6057d..9aa1f91739 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AbstractProvider.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AbstractProvider.java
@@ -165,7 +165,7 @@ public abstract class AbstractProvider extends DefaultOperationMethod implements
*/
@Workaround(library="JDK", version="1.7")
private static Map<String,Object> toMap(final IdentifiedObject parameters) {
- ArgumentChecks.ensureNonNull("parameters", parameters);
+ // Implicit null value check below.
final Map<String,Object> properties = new HashMap<>(4);
properties.put(NAME_KEY, parameters.getName());
final Collection<Identifier> identifiers = parameters.getIdentifiers();
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java
index 7fe7306481..59c9aa4fe1 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java
@@ -105,7 +105,6 @@ class ConcatenatedTransform extends AbstractMathTransform implements Serializabl
* @param transform1 the first math transform.
* @param transform2 the second math transform.
*/
- @SuppressWarnings("OverridableMethodCallInConstructor")
protected ConcatenatedTransform(final MathTransform transform1,
final MathTransform transform2)
{
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/ContextualParameters.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/ContextualParameters.java
index 119b1f9631..3478d8ab23 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/ContextualParameters.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/ContextualParameters.java
@@ -248,10 +248,9 @@ public class ContextualParameters extends Parameters implements Serializable {
* @since 1.0
*/
public ContextualParameters(final ParameterDescriptorGroup descriptor, int srcDim, int tgtDim) {
- ArgumentChecks.ensureNonNull("descriptor", descriptor);
ArgumentChecks.ensureStrictlyPositive("srcDim", srcDim);
ArgumentChecks.ensureStrictlyPositive("tgtDim", tgtDim);
- this.descriptor = descriptor;
+ this.descriptor = Objects.requireNonNull(descriptor);
this.normalize = Matrices.create(++srcDim, srcDim, ExtendedPrecisionMatrix.CREATE_IDENTITY);
this.denormalize = Matrices.create(++tgtDim, tgtDim, ExtendedPrecisionMatrix.CREATE_IDENTITY);
this.values = new ParameterValue<?>[descriptor.descriptors().size()];
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
index 4ac8bd5642..08f3266b26 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
@@ -21,6 +21,7 @@ import java.util.Map;
import java.util.HashMap;
import java.util.IdentityHashMap;
import java.util.ServiceLoader;
+import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicReference;
@@ -310,8 +311,7 @@ public class DefaultMathTransformFactory extends AbstractFactory implements Math
* @param methods the operation methods to use, stored by reference (not copied).
*/
public DefaultMathTransformFactory(final Iterable<? extends OperationMethod> methods) {
- ArgumentChecks.ensureNonNull("methods", methods);
- this.methods = methods;
+ this.methods = Objects.requireNonNull(methods);
methodsByName = new ConcurrentHashMap<>();
methodsByType = new IdentityHashMap<>();
lastMethod = new ThreadLocal<>();
@@ -416,10 +416,9 @@ public class DefaultMathTransformFactory extends AbstractFactory implements Math
*/
@Override
public Set<OperationMethod> getAvailableMethods(final Class<? extends SingleOperation> type) {
- ArgumentChecks.ensureNonNull("type", type);
OperationMethodSet set;
synchronized (methodsByType) {
- set = methodsByType.get(type);
+ set = methodsByType.get(Objects.requireNonNull(type));
}
if (set == null) {
/*
@@ -1207,7 +1206,6 @@ public class DefaultMathTransformFactory extends AbstractFactory implements Math
RuntimeException failure = null;
MathTransform transform;
try {
- ArgumentChecks.ensureNonNull("parameters", parameters);
final ParameterDescriptorGroup descriptor = parameters.getDescriptor();
final String methodName = descriptor.getName().getCode();
String methodIdentifier = IdentifiedObjects.toString(IdentifiedObjects.getIdentifier(descriptor, Citations.EPSG));
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/DomainDefinition.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/DomainDefinition.java
index 03fe17c144..614fc12cbd 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/DomainDefinition.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/DomainDefinition.java
@@ -16,13 +16,13 @@
*/
package org.apache.sis.referencing.operation.transform;
+import java.util.Objects;
import java.util.Optional;
import org.opengis.geometry.Envelope;
import org.opengis.referencing.operation.MathTransform;
import org.opengis.referencing.operation.TransformException;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.apache.sis.referencing.CRS;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.geometry.Envelopes;
import org.apache.sis.geometry.GeneralEnvelope;
@@ -219,7 +219,7 @@ public class DomainDefinition {
* @param domain the domain to intersect with.
*/
public void intersect(final Envelope domain) {
- ArgumentChecks.ensureNonNull("domain", domain);
+ Objects.requireNonNull(domain);
if (limits == null) {
limits = domain;
} else {
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java
index 2b34b208b7..94109155ee 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java
@@ -846,7 +846,6 @@ next: while (--numPts >= 0) {
*/
@Override
public Matrix derivative(final DirectPosition point) throws TransformException {
- ArgumentChecks.ensureNonNull("point", point);
final double[] coordinate = point.getCoordinate();
ArgumentChecks.ensureDimensionMatches("point", 3, coordinate);
return this.transform(coordinate, 0, coordinate, 0, true);
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.java
index 92749e6522..0a3e30d5dd 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/InterpolatedGeocentricTransform.java
@@ -211,6 +211,7 @@ public class InterpolatedGeocentricTransform extends DatumShiftTransform {
* If {@code inverse} is {@code null}, then this constructor creates the forward transformation.
* Otherwise this constructor creates the inverse of the given {@code inverse} transformation.
*/
+ @SuppressWarnings("this-escape")
private InterpolatedGeocentricTransform(final Ellipsoid source, final boolean isSource3D,
final Ellipsoid target, final boolean isTarget3D,
final DatumShiftGrid<?,?> grid,
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/InterpolatedTransform.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/InterpolatedTransform.java
index 5c30db4a10..672f641794 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/InterpolatedTransform.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/InterpolatedTransform.java
@@ -32,7 +32,6 @@ import org.apache.sis.referencing.operation.matrix.MatrixSIS;
import org.apache.sis.referencing.operation.matrix.NoninvertibleMatrixException;
import org.apache.sis.measure.Units;
import org.apache.sis.util.Debug;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.ComparisonMode;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.referencing.internal.Resources;
@@ -128,7 +127,7 @@ public class InterpolatedTransform extends DatumShiftTransform {
*
* @see #createGeodeticTransformation(MathTransformFactory, DatumShiftGrid)
*/
- @SuppressWarnings( {"OverridableMethodCallInConstructor", "fallthrough"})
+ @SuppressWarnings("fallthrough")
protected <T extends Quantity<T>> InterpolatedTransform(final DatumShiftGrid<T,T> grid) throws NoninvertibleMatrixException {
/*
* Create the contextual parameters using the descriptor of the provider that created the datum shift grid.
@@ -216,7 +215,7 @@ public class InterpolatedTransform extends DatumShiftTransform {
public static <T extends Quantity<T>> MathTransform createGeodeticTransformation(
final MathTransformFactory factory, final DatumShiftGrid<T,T> grid) throws FactoryException
{
- ArgumentChecks.ensureNonNull("grid", grid);
+ // Implicit null value check below.
final InterpolatedTransform tr;
try {
if (grid.getTranslationDimensions() == 2) {
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MathTransforms.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MathTransforms.java
index fec53caa70..593e75d8ee 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MathTransforms.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MathTransforms.java
@@ -19,6 +19,7 @@ package org.apache.sis.referencing.operation.transform;
import java.util.Map;
import java.util.List;
import java.util.BitSet;
+import java.util.Objects;
import java.util.Optional;
import java.awt.geom.AffineTransform;
import javax.measure.UnitConverter;
@@ -125,7 +126,7 @@ public final class MathTransforms extends Static {
* @since 1.0
*/
public static LinearTransform translation(final double... vector) {
- ArgumentChecks.ensureNonNull("vector", vector);
+ // Implicit null value check below.
final LinearTransform tr;
switch (vector.length) {
case 0: return IdentityTransform.create(0);
@@ -146,7 +147,7 @@ public final class MathTransforms extends Static {
* @since 1.0
*/
public static LinearTransform scale(final double... factors) {
- ArgumentChecks.ensureNonNull("factors", factors);
+ // Implicit null value check below.
final LinearTransform tr;
switch (factors.length) {
case 0: return IdentityTransform.create(0);
@@ -190,7 +191,6 @@ public final class MathTransforms extends Static {
* @see DefaultMathTransformFactory#createAffineTransform(Matrix)
*/
public static LinearTransform linear(final Matrix matrix) {
- ArgumentChecks.ensureNonNull("matrix", matrix);
final int sourceDimension = matrix.getNumCol() - 1;
final int targetDimension = matrix.getNumRow() - 1;
if (sourceDimension == targetDimension) {
@@ -268,8 +268,7 @@ public final class MathTransforms extends Static {
*/
@SuppressWarnings("fallthrough")
public static MathTransform1D convert(final UnitConverter converter) {
- ArgumentChecks.ensureNonNull("converter", converter);
- return UnitConversion.create(converter);
+ return UnitConversion.create(Objects.requireNonNull(converter));
}
/**
@@ -331,8 +330,7 @@ public final class MathTransforms extends Static {
* @since 1.0
*/
public static MathTransform specialize(final MathTransform global, final Map<Envelope,MathTransform> specializations) {
- ArgumentChecks.ensureNonNull("generic", global);
- ArgumentChecks.ensureNonNull("specializations", specializations);
+ ArgumentChecks.ensureNonNull("global", global);
final SpecializableTransform tr;
if (specializations.isEmpty()) {
return global;
@@ -443,7 +441,7 @@ public final class MathTransforms extends Static {
* @since 0.6
*/
public static MathTransform compound(final MathTransform... components) {
- ArgumentChecks.ensureNonNull("components", components);
+ // Implicit null value check below.
int sum = 0;
final int[] dimensions = new int[components.length];
for (int i=0; i<components.length; i++) {
@@ -695,7 +693,6 @@ public final class MathTransforms extends Static {
* @see #tangent(MathTransform, DirectPosition)
*/
public static Matrix getMatrix(final MathTransform toApproximate, final DirectPosition tangentPoint) throws TransformException {
- ArgumentChecks.ensureNonNull("toApproximate", toApproximate);
final int srcDim = toApproximate.getSourceDimensions();
ArgumentChecks.ensureDimensionMatches("tangentPoint", srcDim, tangentPoint); // Null position is okay for now.
final Matrix affine = getMatrix(toApproximate);
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MolodenskyTransform.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MolodenskyTransform.java
index 260edc2dcf..78bbcffa5d 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MolodenskyTransform.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/MolodenskyTransform.java
@@ -280,6 +280,7 @@ public class MolodenskyTransform extends DatumShiftTransform {
* @param isAbridged {@code true} for the abridged formula, or {@code false} for the complete one.
* @param descriptor the contextual parameter descriptor.
*/
+ @SuppressWarnings("this-escape")
private MolodenskyTransform(final Ellipsoid source, final boolean isSource3D,
final Ellipsoid target, final boolean isTarget3D,
final double tX, final double tY, final double tZ,
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/TransferFunction.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/TransferFunction.java
index f943fb4099..103ca1a245 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/TransferFunction.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/TransferFunction.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.referencing.operation.transform;
+import java.util.Objects;
import java.io.Serializable;
import org.opengis.metadata.content.TransferFunctionType;
import org.opengis.referencing.operation.MathTransformFactory;
@@ -140,8 +141,7 @@ public class TransferFunction implements Cloneable, Serializable {
* @param type the transfer function type.
*/
public void setType(final TransferFunctionType type) {
- ArgumentChecks.ensureNonNull("type", type);
- this.type = type;
+ this.type = Objects.requireNonNull(type);
transform = null;
}
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/TransformSeparator.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/TransformSeparator.java
index 92b7777463..cec847483d 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/TransformSeparator.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/transform/TransformSeparator.java
@@ -17,6 +17,7 @@
package org.apache.sis.referencing.operation.transform;
import java.util.Arrays;
+import java.util.Objects;
import org.opengis.util.FactoryException;
import org.opengis.referencing.operation.Matrix;
import org.opengis.referencing.operation.MathTransform;
@@ -121,8 +122,7 @@ public class TransformSeparator {
* @param factory the factory to use for creating new math transforms, or {@code null} if none.
*/
public TransformSeparator(final MathTransform transform, final MathTransformFactory factory) {
- ArgumentChecks.ensureNonNull("transform", transform);
- this.transform = transform;
+ this.transform = Objects.requireNonNull(transform);
this.factory = ReferencingUtilities.nonNull(factory);
}
@@ -177,6 +177,7 @@ public class TransformSeparator {
* @throws IllegalArgumentException if a {@code dimensions} value does not met the conditions.
*/
private static int[] add(int[] sequence, final int[] dimensions, final int max) throws IllegalArgumentException {
+ ArgumentChecks.ensureNonNull("dimensions", dimensions);
int offset = 0;
int previous = -1; // This initial value will ensure that we have no negative value.
if (sequence != null && (offset = sequence.length) != 0) {
@@ -268,7 +269,6 @@ public class TransformSeparator {
* or if values are not in a strictly increasing order.
*/
public void addSourceDimensions(final int... dimensions) throws IllegalArgumentException {
- ArgumentChecks.ensureNonNull("dimensions", dimensions);
sourceDimensions = add(sourceDimensions, dimensions, transform.getSourceDimensions());
}
@@ -332,7 +332,6 @@ public class TransformSeparator {
* or if values are not in a strictly increasing order.
*/
public void addTargetDimensions(final int... dimensions) throws IllegalArgumentException {
- ArgumentChecks.ensureNonNull("dimensions", dimensions);
targetDimensions = add(targetDimensions, dimensions, transform.getTargetDimensions());
}
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/Tile.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/Tile.java
index e5d91c168c..7ff5c46cbc 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/Tile.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/Tile.java
@@ -160,7 +160,6 @@ public class Tile implements Serializable {
* This argument can be understood as pixel size relative to finest resolution.
*/
public Tile(final Point location, final Dimension subsampling) {
- ArgumentChecks.ensureNonNull("location", location);
x = location.x;
y = location.y;
setSubsampling(subsampling);
@@ -178,7 +177,6 @@ public class Tile implements Serializable {
* @throws IllegalArgumentException if the given region {@linkplain Rectangle#isEmpty() is empty}.
*/
public Tile(final Rectangle region, final Dimension subsampling) {
- ArgumentChecks.ensureNonNull("location", region);
x = region.x;
y = region.y;
width = region.width;
diff --git a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/MathTransformWrapper.java b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/MathTransformWrapper.java
index 26740d9966..49e4a130f1 100644
--- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/MathTransformWrapper.java
+++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/MathTransformWrapper.java
@@ -25,7 +25,6 @@ import org.opengis.referencing.operation.NoninvertibleTransformException;
import org.opengis.referencing.operation.TransformException;
import org.opengis.geometry.MismatchedDimensionException;
import org.opengis.geometry.DirectPosition;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.io.wkt.Formatter;
import org.apache.sis.io.wkt.FormattableObject;
import org.apache.sis.io.wkt.UnformattableObjectException;
@@ -61,8 +60,7 @@ public class MathTransformWrapper extends FormattableObject implements MathTrans
* @param transform the math transform on which to delegate the work.
*/
public MathTransformWrapper(final MathTransform transform) {
- ArgumentChecks.ensureNonNull("transform", transform);
- this.transform = transform;
+ this.transform = Objects.requireNonNull(transform);
}
/**
diff --git a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffStore.java b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffStore.java
index c0f412e202..95abfd7cdc 100644
--- a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffStore.java
+++ b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffStore.java
@@ -626,7 +626,7 @@ public class GeoTiffStore extends DataStore implements Aggregate {
*/
@Override
public synchronized GridCoverageResource findResource(final String sequence) throws DataStoreException {
- ArgumentChecks.ensureNonNull("sequence", sequence);
+ ArgumentChecks.ensureNonEmpty("sequence", sequence);
final int index = parseImageIndex(sequence);
if (index >= 0) try {
final GridCoverageResource image = reader().getImage(index - 1);
diff --git a/endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/Decoder.java b/endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/Decoder.java
index 86c7a1c763..494df28cff 100644
--- a/endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/Decoder.java
+++ b/endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/Decoder.java
@@ -165,9 +165,8 @@ public abstract class Decoder extends ReferencingFactoryContainer {
* @param listeners where to send the warnings.
*/
protected Decoder(final GeometryLibrary geomlib, final StoreListeners listeners) {
- Objects.requireNonNull(listeners);
this.geomlib = geomlib;
- this.listeners = listeners;
+ this.listeners = Objects.requireNonNull(listeners);
this.nameFactory = DefaultNameFactory.provider();
this.datumCache = new Datum[CRSBuilder.DATUM_CACHE_SIZE];
this.gridMapping = new HashMap<>();
diff --git a/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/SQLStoreProvider.java b/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/SQLStoreProvider.java
index 13c1187536..e6fc576e6b 100644
--- a/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/SQLStoreProvider.java
+++ b/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/SQLStoreProvider.java
@@ -17,10 +17,11 @@
package org.apache.sis.storage.sql;
import java.util.Map;
+import java.util.Objects;
+import java.util.logging.Logger;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
-import java.util.logging.Logger;
import org.opengis.util.GenericName;
import org.opengis.parameter.ParameterValueGroup;
import org.opengis.parameter.ParameterDescriptor;
@@ -41,7 +42,6 @@ import org.apache.sis.storage.base.StoreMetadata;
import org.apache.sis.parameter.Parameters;
import org.apache.sis.parameter.ParameterBuilder;
import org.apache.sis.util.UnconvertibleObjectException;
-import org.apache.sis.util.ArgumentChecks;
import static org.apache.sis.storage.sql.feature.Database.WILDCARD;
@@ -224,9 +224,8 @@ public class SQLStoreProvider extends DataStoreProvider {
*/
@Override
public DataStore open(final ParameterValueGroup parameters) throws DataStoreException {
- ArgumentChecks.ensureNonNull("parameters", parameters);
try {
- final Parameters p = Parameters.castOrWrap(parameters);
+ final Parameters p = Parameters.castOrWrap(Objects.requireNonNull(parameters));
final StorageConnector connector = new StorageConnector(p.getValue(SOURCE_PARAM));
final GenericName[] tableNames = p.getValue(TABLES_PARAM);
final Map<?,?> queries = p.getValue(QUERIES_PARAM);
diff --git a/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/FeatureStream.java b/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/FeatureStream.java
index 7efcc354b6..90711e9ee6 100644
--- a/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/FeatureStream.java
+++ b/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/FeatureStream.java
@@ -16,8 +16,9 @@
*/
package org.apache.sis.storage.sql.feature;
-import java.util.Spliterator;
+import java.util.Objects;
import java.util.Comparator;
+import java.util.Spliterator;
import java.util.stream.Stream;
import java.util.function.Function;
import java.util.function.Predicate;
@@ -153,7 +154,7 @@ final class FeatureStream extends DeferredStream<Feature> {
*/
@Override
public Stream<Feature> filter(final Predicate<? super Feature> predicate) {
- ArgumentChecks.ensureNonNull("predicate", predicate);
+ Objects.requireNonNull(predicate);
if (predicate == Filter.include()) return this;
if (predicate == Filter.exclude()) return empty();
if (isPagined()) {
diff --git a/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/ValueGetter.java b/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/ValueGetter.java
index 9c8d949ca2..28f2824743 100644
--- a/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/ValueGetter.java
+++ b/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/ValueGetter.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.storage.sql.feature;
+import java.util.Objects;
import java.util.Collection;
import java.sql.Array;
import java.sql.ResultSet;
@@ -32,7 +33,6 @@ import java.time.ZoneOffset;
import java.math.BigDecimal;
import org.apache.sis.math.Vector;
import org.apache.sis.util.Numbers;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.internal.StandardDateFormat;
import org.apache.sis.util.internal.UnmodifiableArrayList;
@@ -103,8 +103,7 @@ public class ValueGetter<T> {
* @param valueType the type of Java objects fetched from the column.
*/
protected ValueGetter(final Class<? extends T> valueType) {
- ArgumentChecks.ensureNonNull("valueType", valueType);
- this.valueType = valueType;
+ this.valueType = Objects.requireNonNull(valueType);
}
/**
diff --git a/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/util/stream/BaseStreamWrapper.java b/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/util/stream/BaseStreamWrapper.java
index e14ea4feb5..98c8f12f06 100644
--- a/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/util/stream/BaseStreamWrapper.java
+++ b/endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/util/stream/BaseStreamWrapper.java
@@ -16,8 +16,8 @@
*/
package org.apache.sis.util.stream;
+import java.util.Objects;
import java.util.stream.BaseStream;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -49,8 +49,7 @@ public abstract class BaseStreamWrapper<T, S extends BaseStream<T,S>> implements
* @param source the stream to wrap.
*/
protected BaseStreamWrapper(final S source) {
- ArgumentChecks.ensureNonNull("source", source);
- toClose = source;
+ toClose = Objects.requireNonNull(source);
}
/**
diff --git a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Store.java b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Store.java
index 369a96d93f..7035f360a8 100644
--- a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Store.java
+++ b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Store.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.storage.gpx;
+import java.util.Objects;
import java.util.Optional;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
@@ -31,7 +32,6 @@ import org.apache.sis.storage.DataStoreContentException;
import org.apache.sis.storage.IllegalNameException;
import org.apache.sis.storage.base.StoreUtilities;
import org.apache.sis.storage.xml.stream.StaxDataStore;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.Version;
import org.apache.sis.util.SimpleInternationalString;
import org.apache.sis.setup.OptionKey;
@@ -140,8 +140,7 @@ public class Store extends StaxDataStore implements FeatureSet {
* @throws DataStoreException if an error occurred while setting the format.
*/
public synchronized void setVersion(final Version version) throws DataStoreException {
- ArgumentChecks.ensureNonNull("version", version);
- this.version = version;
+ this.version = Objects.requireNonNull(version);
}
/**
diff --git a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/StaxStreamIO.java b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/StaxStreamIO.java
index f284ab923e..949751e852 100644
--- a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/StaxStreamIO.java
+++ b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/StaxStreamIO.java
@@ -16,12 +16,12 @@
*/
package org.apache.sis.storage.xml.stream;
+import java.util.Objects;
import java.io.Closeable;
import java.io.IOException;
import javax.xml.stream.XMLStreamException;
import jakarta.xml.bind.JAXBException;
import org.apache.sis.xml.MarshallerPool;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Errors;
@@ -65,8 +65,7 @@ abstract class StaxStreamIO implements AutoCloseable {
* @param owner the data store for which this reader or writer is created.
*/
StaxStreamIO(final StaxDataStore owner) {
- ArgumentChecks.ensureNonNull("owner", owner);
- this.owner = owner;
+ this.owner = Objects.requireNonNull(owner);
}
/**
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/CoverageQuery.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/CoverageQuery.java
index aa6bfad590..27054ab88f 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/CoverageQuery.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/CoverageQuery.java
@@ -356,8 +356,7 @@ next: for (int i=0; i<rangeNames.length; i++) {
* @since 1.2
*/
protected GridCoverageResource execute(final GridCoverageResource source) throws DataStoreException {
- ArgumentChecks.ensureNonNull("source", source);
- return new CoverageSubset(null, source, this);
+ return new CoverageSubset(null, Objects.requireNonNull(source), this);
}
/**
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStore.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStore.java
index f82e56d7f8..f5e0152d1e 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStore.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStore.java
@@ -19,6 +19,7 @@ package org.apache.sis.storage;
import java.util.Locale;
import java.util.Map;
import java.util.IdentityHashMap;
+import java.util.Objects;
import java.util.Optional;
import org.opengis.util.ScopedName;
import org.opengis.util.GenericName;
@@ -128,7 +129,6 @@ public abstract class DataStore implements Resource, Localized, AutoCloseable {
* @since 0.8
*/
protected DataStore(final DataStoreProvider provider, final StorageConnector connector) throws DataStoreException {
- ArgumentChecks.ensureNonNull("connector", connector);
this.provider = provider;
this.name = connector.getStorageName();
this.locale = Locale.getDefault(Locale.Category.DISPLAY);
@@ -158,7 +158,6 @@ public abstract class DataStore implements Resource, Localized, AutoCloseable {
protected DataStore(final DataStore parent, final DataStoreProvider provider, final StorageConnector connector,
final boolean hidden) throws DataStoreException
{
- ArgumentChecks.ensureNonNull("connector", connector);
this.provider = provider;
name = connector.getStorageName();
final StoreListeners forwardTo;
@@ -232,8 +231,7 @@ public abstract class DataStore implements Resource, Localized, AutoCloseable {
* @see DataStoreException#getLocalizedMessage()
*/
public synchronized void setLocale(final Locale locale) {
- ArgumentChecks.ensureNonNull("locale", locale);
- this.locale = locale;
+ this.locale = Objects.requireNonNull(locale);
}
// See class javadoc for a note on synchronization.
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreProvider.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreProvider.java
index c6e338d1b6..49503157e6 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreProvider.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreProvider.java
@@ -20,6 +20,7 @@ import java.io.Reader;
import java.io.InputStream;
import java.nio.ByteBuffer;
import javax.imageio.stream.ImageInputStream;
+import java.util.Objects;
import java.util.logging.Logger;
import org.opengis.parameter.ParameterValueGroup;
import org.opengis.parameter.ParameterDescriptorGroup;
@@ -610,8 +611,7 @@ public abstract class DataStoreProvider {
* @since 0.8
*/
public DataStore open(final ParameterValueGroup parameters) throws DataStoreException {
- ArgumentChecks.ensureNonNull("parameter", parameters);
- return open(URIDataStoreProvider.connector(this, parameters));
+ return open(URIDataStoreProvider.connector(this, Objects.requireNonNull(parameters)));
}
/**
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureNaming.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureNaming.java
index 9287ddd1ab..9c3391e2db 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureNaming.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureNaming.java
@@ -21,9 +21,9 @@ import java.util.HashMap;
import java.util.List;
import java.util.ConcurrentModificationException;
import java.util.Locale;
+import java.util.Objects;
import org.opengis.util.GenericName;
import org.opengis.util.ScopedName;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Vocabulary;
import org.apache.sis.util.internal.CollectionsExt;
import org.apache.sis.storage.internal.Resources;
@@ -183,10 +183,8 @@ public class FeatureNaming<E> {
* @throws IllegalNameException if another element is already registered for the given name.
*/
public void add(final DataStore store, GenericName name, final E value) throws IllegalNameException {
- ArgumentChecks.ensureNonNull("name", name);
- ArgumentChecks.ensureNonNull("value", value);
final String key = name.toString();
- final E previous = values.put(key, value);
+ final E previous = values.put(key, Objects.requireNonNull(value));
if (previous != null) {
final List<String> fullNames = aliases.get(key); // Null is synonymous of singletonList(key).
if (fullNames == null || fullNames.contains(key)) {
@@ -243,7 +241,6 @@ public class FeatureNaming<E> {
* representation, but for which {@link ScopedName#tail()} returns different values.
*/
public boolean remove(final DataStore store, GenericName name) throws IllegalNameException {
- ArgumentChecks.ensureNonNull("name", name);
final String key = name.toString();
if (values.remove(key) == null) {
return false;
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java
index d4da656505..38fd9b04f4 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java
@@ -577,8 +577,7 @@ public class FeatureQuery extends Query implements Cloneable, Serializable {
* @param alias the name to assign to the expression result, or {@code null} if unspecified.
*/
public NamedExpression(final Expression<? super Feature,?> expression, final String alias) {
- ArgumentChecks.ensureNonNull("expression", expression);
- this.expression = expression;
+ this.expression = Objects.requireNonNull(expression);
this.alias = (alias != null) ? Names.createLocalName(null, null, alias) : null;
this.type = ProjectionType.STORED;
}
@@ -593,11 +592,9 @@ public class FeatureQuery extends Query implements Cloneable, Serializable {
* @since 1.4
*/
public NamedExpression(final Expression<? super Feature,?> expression, final GenericName alias, ProjectionType type) {
- ArgumentChecks.ensureNonNull("expression", expression);
- ArgumentChecks.ensureNonNull("type", type);
- this.expression = expression;
- this.alias = alias;
- this.type = type;
+ this.expression = Objects.requireNonNull(expression);
+ this.type = Objects.requireNonNull(type);
+ this.alias = alias;
}
/**
@@ -698,7 +695,7 @@ public class FeatureQuery extends Query implements Cloneable, Serializable {
* @since 1.2
*/
protected FeatureSet execute(final FeatureSet source) throws DataStoreException {
- ArgumentChecks.ensureNonNull("source", source);
+ Objects.requireNonNull(source);
final FeatureQuery query = clone();
if (query.selection != null) {
final Optimization optimization = new Optimization();
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureSet.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureSet.java
index c14840b95a..b500df4042 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureSet.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureSet.java
@@ -16,8 +16,8 @@
*/
package org.apache.sis.storage;
+import java.util.Objects;
import java.util.stream.Stream;
-import org.apache.sis.util.ArgumentChecks;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.feature.Feature;
@@ -108,8 +108,7 @@ public interface FeatureSet extends DataSet {
* @see FeatureQuery#execute(FeatureSet)
*/
default FeatureSet subset(Query query) throws UnsupportedQueryException, DataStoreException {
- ArgumentChecks.ensureNonNull("query", query);
- if (query instanceof FeatureQuery) {
+ if (Objects.requireNonNull(query) instanceof FeatureQuery) {
return ((FeatureQuery) query).execute(this);
} else {
throw new UnsupportedQueryException();
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/GridCoverageResource.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/GridCoverageResource.java
index 8921547408..bda5db8ce1 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/GridCoverageResource.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/GridCoverageResource.java
@@ -17,13 +17,13 @@
package org.apache.sis.storage;
import java.util.List;
+import java.util.Objects;
import java.util.Optional;
import org.opengis.geometry.Envelope;
import org.apache.sis.coverage.SampleDimension;
import org.apache.sis.coverage.grid.GridGeometry;
import org.apache.sis.coverage.grid.GridCoverage;
import org.apache.sis.coverage.grid.DisjointExtentException;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.ArraysExt;
@@ -191,8 +191,7 @@ public interface GridCoverageResource extends DataSet {
* @since 1.1
*/
default GridCoverageResource subset(final Query query) throws UnsupportedQueryException, DataStoreException {
- ArgumentChecks.ensureNonNull("query", query);
- if (query instanceof CoverageQuery) try {
+ if (Objects.requireNonNull(query) instanceof CoverageQuery) try {
return ((CoverageQuery) query).execute(this);
} catch (RuntimeException e) {
throw new UnsupportedQueryException(e);
@@ -255,7 +254,6 @@ public interface GridCoverageResource extends DataSet {
* @since 1.1
*/
default boolean setLoadingStrategy(final RasterLoadingStrategy strategy) throws DataStoreException {
- ArgumentChecks.ensureNonNull("strategy", strategy);
- return strategy == getLoadingStrategy();
+ return Objects.requireNonNull(strategy) == getLoadingStrategy();
}
}
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/StorageConnector.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/StorageConnector.java
index 8eba8409cc..436815a500 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/StorageConnector.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/StorageConnector.java
@@ -20,6 +20,7 @@ import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.IdentityHashMap;
+import java.util.Objects;
import java.util.function.UnaryOperator;
import java.net.URI;
import java.net.URL;
@@ -51,7 +52,6 @@ import javax.sql.DataSource;
import org.apache.sis.util.Debug;
import org.apache.sis.util.Classes;
import org.apache.sis.util.Workaround;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.ObjectConverters;
import org.apache.sis.util.UnconvertibleObjectException;
import org.apache.sis.util.resources.Errors;
@@ -620,8 +620,7 @@ public class StorageConnector implements Serializable {
* @param storage the input/output object as a URL, file, image input stream, <i>etc.</i>.
*/
public StorageConnector(final Object storage) {
- ArgumentChecks.ensureNonNull("storage", storage);
- this.storage = storage;
+ this.storage = Objects.requireNonNull(storage);
}
/**
@@ -658,7 +657,6 @@ public class StorageConnector implements Serializable {
* @param value the new value for the given option, or {@code null} for removing the value.
*/
public <T> void setOption(final OptionKey<T> key, final T value) {
- ArgumentChecks.ensureNonNull("key", key);
options = key.setValueInto(options, value);
}
@@ -671,7 +669,6 @@ public class StorageConnector implements Serializable {
* @return the current value for the given option, or {@code null} if none.
*/
public <T> T getOption(final OptionKey<T> key) {
- ArgumentChecks.ensureNonNull("key", key);
return key.getValueFrom(options);
}
@@ -889,7 +886,6 @@ public class StorageConnector implements Serializable {
* @see DataStoreProvider#probeContent(StorageConnector, Class, Prober)
*/
public <S> S getStorageAs(final Class<S> type) throws IllegalArgumentException, DataStoreException {
- ArgumentChecks.ensureNonNull("type", type);
if (views != null && views.isEmpty()) {
throw new IllegalStateException(Resources.format(Resources.Keys.ClosedStorageConnector));
}
@@ -905,7 +901,7 @@ public class StorageConnector implements Serializable {
* 4) getStorageAs(InputStream.class) needs to rewind the InputStream itself since it was
* not done at step 3. However, doing so invalidate the Reader, so we need to discard it.
*/
- Coupled value = getView(type);
+ Coupled value = getView(Objects.requireNonNull(type));
if (reset(value)) {
return type.cast(value.view); // null is a valid result.
}
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/ConcatenatedFeatureSet.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/ConcatenatedFeatureSet.java
index d5dd7eec14..89ee4b9027 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/ConcatenatedFeatureSet.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/ConcatenatedFeatureSet.java
@@ -137,7 +137,6 @@ public class ConcatenatedFeatureSet extends AggregatedFeatureSet {
* @throws DataStoreException if given feature sets does not share any common type.
*/
public static FeatureSet create(final Collection<? extends FeatureSet> sources) throws DataStoreException {
- ArgumentChecks.ensureNonNull("sources", sources);
final int size = sources.size();
switch (size) {
case 0: {
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MemoryFeatureSet.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MemoryFeatureSet.java
index 102d902af4..8b25894a1b 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MemoryFeatureSet.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MemoryFeatureSet.java
@@ -16,12 +16,12 @@
*/
package org.apache.sis.storage.base;
+import java.util.Objects;
import java.util.Collection;
import java.util.OptionalLong;
import java.util.stream.Stream;
import org.apache.sis.storage.Resource;
import org.apache.sis.storage.AbstractFeatureSet;
-import org.apache.sis.util.ArgumentChecks;
// Specific to the geoapi-3.1 and geoapi-4.0 branches:
import org.opengis.feature.Feature;
@@ -58,10 +58,8 @@ public class MemoryFeatureSet extends AbstractFeatureSet {
*/
public MemoryFeatureSet(final Resource parent, final FeatureType type, final Collection<Feature> features) {
super(parent);
- ArgumentChecks.ensureNonNull("type", type);
- ArgumentChecks.ensureNonNull("features", features);
- this.type = type;
- this.features = features;
+ this.type = Objects.requireNonNull(type);
+ this.features = Objects.requireNonNull(features);
}
/**
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MemoryGridResource.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MemoryGridResource.java
index 9ae29ce056..2cf57dc5b8 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MemoryGridResource.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MemoryGridResource.java
@@ -18,6 +18,7 @@ package org.apache.sis.storage.base;
import java.util.List;
import java.util.Arrays;
+import java.util.Objects;
import java.awt.image.RenderedImage;
import org.opengis.referencing.datum.PixelInCell;
import org.apache.sis.coverage.SampleDimension;
@@ -29,7 +30,6 @@ import org.apache.sis.coverage.grid.GridGeometry;
import org.apache.sis.coverage.grid.GridRoundingMode;
import org.apache.sis.storage.AbstractGridCoverageResource;
import org.apache.sis.storage.event.StoreListeners;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -61,8 +61,7 @@ public final class MemoryGridResource extends AbstractGridCoverageResource {
*/
public MemoryGridResource(final StoreListeners parent, final GridCoverage coverage, final GridCoverageProcessor processor) {
super(parent, false);
- ArgumentChecks.ensureNonNull("coverage", coverage);
- this.coverage = coverage;
+ this.coverage = Objects.requireNonNull(coverage);
this.processor = (processor != null) ? processor : new GridCoverageProcessor();
}
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
index eb2937c12c..eb7efb2d2f 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
@@ -29,6 +29,7 @@ import java.util.LinkedHashSet;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.function.Function;
import java.util.logging.Level;
import java.net.URI;
@@ -59,7 +60,6 @@ import org.opengis.referencing.crs.VerticalCRS;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.operation.TransformException;
import org.apache.sis.util.AbstractInternationalString;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.CharSequences;
import org.apache.sis.util.Characters;
import org.apache.sis.util.iso.Names;
@@ -627,12 +627,11 @@ public class MetadataBuilder {
* @param type whether the party to create is an individual or an organization.
*/
public final void newParty(final PartyType type) {
- ArgumentChecks.ensureNonNull("type", type);
if (party != null) {
addIfNotPresent(responsibility().getParties(), party);
party = null;
}
- partyType = type;
+ partyType = Objects.requireNonNull(type);
}
/**
@@ -792,7 +791,6 @@ public class MetadataBuilder {
* @param type whether the next grid should be an instance of {@link DefaultGeorectified} or {@link DefaultGeoreferenceable}.
*/
public final void newGridRepresentation(final GridType type) {
- ArgumentChecks.ensureNonNull("type", type);
if (gridRepresentation != null) {
final int n = gridRepresentation.getAxisDimensionProperties().size();
if (n != 0) {
@@ -805,7 +803,7 @@ public class MetadataBuilder {
addIfNotPresent(metadata.getSpatialRepresentationInfo(), gridRepresentation);
gridRepresentation = null;
}
- gridType = type;
+ gridType = Objects.requireNonNull(type);
}
/**
@@ -965,7 +963,6 @@ public class MetadataBuilder {
* @see #addIdentifier(CharSequence, String, Scope)
*/
public final void addIdentifier(Identifier id, final Scope scope) {
- ArgumentChecks.ensureNonNull("scope", scope);
if (id != null) {
id = (Identifier) sharedValues.getOrDefault(id, id);
if (scope != Scope.RESOURCE) metadata().setMetadataIdentifier(id);
@@ -994,7 +991,6 @@ public class MetadataBuilder {
* @see #addIdentifier(Identifier, Scope)
*/
public final void addIdentifier(final CharSequence authority, String code, final Scope scope) {
- ArgumentChecks.ensureNonNull("scope", scope);
code = Strings.trimOrNull(code);
if (code != null) {
final Identifier id = sharedIdentifier(authority, code);
@@ -1058,7 +1054,6 @@ public class MetadataBuilder {
* @param scope whether the language applies to data, to metadata or to both.
*/
public final void addLanguage(final Locale language, final Charset encoding, final Scope scope) {
- ArgumentChecks.ensureNonNull("scope", scope);
if (language != null) {
if (scope != Scope.RESOURCE) metadata().getLocalesAndCharsets().put(language, encoding);
if (scope != Scope.METADATA) identification().getLocalesAndCharsets().put(language, encoding);
@@ -1108,7 +1103,6 @@ public class MetadataBuilder {
* @see #addAcquisitionTime(Date)
*/
public final void addCitationDate(final Date date, final DateType type, final Scope scope) {
- ArgumentChecks.ensureNonNull("scope", scope);
if (date != null) {
final DefaultCitationDate cd = new DefaultCitationDate(date, type);
if (scope != Scope.RESOURCE) addEarliest(metadata().getDateInfo(), cd, type);
@@ -1226,7 +1220,6 @@ public class MetadataBuilder {
* @see #addIdentifier(CharSequence, String, Scope)
*/
public final void addTitleOrIdentifier(final String code, Scope scope) {
- ArgumentChecks.ensureNonNull("scope", scope);
if (scope != Scope.METADATA) {
if (citation == null || citation.getTitle() == null) {
addTitle(code);
@@ -1521,9 +1514,8 @@ public class MetadataBuilder {
* @param scope whether the contact applies to data, to metadata or to both.
*/
public final void addPointOfContact(final Responsibility contact, final Scope scope) {
- ArgumentChecks.ensureNonNull("scope", scope);
if (contact != null) {
- if (scope != Scope.RESOURCE) addIfNotPresent(metadata().getContacts(), contact);
+ if (scope != Scope.RESOURCE) addIfNotPresent(metadata().getContacts(), contact);
if (scope != Scope.METADATA) addIfNotPresent(identification().getPointOfContacts(), contact);
}
}
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/PRJDataStore.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/PRJDataStore.java
index 60712fad88..2a78877f68 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/PRJDataStore.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/PRJDataStore.java
@@ -26,6 +26,7 @@ import java.nio.file.NoSuchFileException;
import java.text.ParseException;
import java.text.ParsePosition;
import java.util.Arrays;
+import java.util.Objects;
import java.util.Optional;
import jakarta.xml.bind.JAXBException;
import org.opengis.parameter.ParameterDescriptor;
@@ -43,7 +44,6 @@ import org.apache.sis.storage.wkt.StoreFormat;
import org.apache.sis.io.wkt.Convention;
import org.apache.sis.parameter.ParameterBuilder;
import org.apache.sis.parameter.Parameters;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.ArraysExt;
import org.apache.sis.util.Classes;
import org.apache.sis.util.resources.Vocabulary;
@@ -322,8 +322,7 @@ public abstract class PRJDataStore extends URIDataStore {
*/
@Override
public DataStore open(final ParameterValueGroup parameters) throws DataStoreException {
- ArgumentChecks.ensureNonNull("parameter", parameters);
- final StorageConnector connector = connector(this, parameters);
+ final StorageConnector connector = connector(this, Objects.requireNonNull(parameters));
final Parameters pg = Parameters.castOrWrap(parameters);
connector.setOption(OptionKey.DEFAULT_CRS, pg.getValue(DEFAULT_CRS));
return open(connector);
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/WritableAggregateSupport.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/WritableAggregateSupport.java
index a6e501d78b..6e68cd3f6d 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/WritableAggregateSupport.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/WritableAggregateSupport.java
@@ -19,6 +19,7 @@ package org.apache.sis.storage.base;
import java.util.Locale;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Objects;
import java.lang.reflect.Modifier;
import org.opengis.util.GenericName;
import org.apache.sis.storage.Aggregate;
@@ -29,7 +30,6 @@ import org.apache.sis.storage.DataStoreException;
import org.apache.sis.storage.IncompatibleResourceException;
import org.apache.sis.util.Classes;
import org.apache.sis.util.Localized;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.storage.internal.Resources;
import org.apache.sis.util.collection.BackingStoreException;
@@ -90,8 +90,7 @@ public final class WritableAggregateSupport implements Localized {
* @throws IncompatibleResourceException if the given resource is not for a grid coverage.
*/
public GridCoverageResource asGridCoverage(final Resource resource) throws DataStoreException {
- ArgumentChecks.ensureNonNull("resource", resource);
- if (resource instanceof GridCoverageResource) {
+ if (Objects.requireNonNull(resource) instanceof GridCoverageResource) {
return (GridCoverageResource) resource;
}
throw new IncompatibleResourceException(message(GridCoverageResource.class, resource));
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/WritableGridCoverageSupport.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/WritableGridCoverageSupport.java
index 893a7d2ddb..247e22b692 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/WritableGridCoverageSupport.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/WritableGridCoverageSupport.java
@@ -39,7 +39,6 @@ import org.apache.sis.io.stream.ChannelDataInput;
import org.apache.sis.io.stream.ChannelDataOutput;
import org.apache.sis.referencing.operation.matrix.AffineTransforms2D;
import org.apache.sis.referencing.operation.transform.TransformSeparator;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.Classes;
import org.apache.sis.util.Localized;
import org.apache.sis.util.resources.Errors;
@@ -79,7 +78,6 @@ public final class WritableGridCoverageSupport implements Localized {
*/
public WritableGridCoverageSupport(final GridCoverageResource target, final WritableGridCoverageResource.Option[] options) {
this.target = target;
- ArgumentChecks.ensureNonNull("options", options);
for (final WritableGridCoverageResource.Option option : options) {
replace |= WritableGridCoverageResource.CommonOption.REPLACE.equals(option);
update |= WritableGridCoverageResource.CommonOption.UPDATE .equals(option);
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/csv/StoreProvider.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/csv/StoreProvider.java
index c66fc677ac..492e9bd874 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/csv/StoreProvider.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/csv/StoreProvider.java
@@ -34,7 +34,6 @@ import org.apache.sis.storage.base.Capability;
import org.apache.sis.storage.base.StoreMetadata;
import org.apache.sis.storage.base.URIDataStoreProvider;
import org.apache.sis.storage.wkt.FirstKeywordPeek;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -182,7 +181,6 @@ public final class StoreProvider extends URIDataStoreProvider {
*/
@Override
public DataStore open(final ParameterValueGroup parameters) throws DataStoreException {
- ArgumentChecks.ensureNonNull("parameter", parameters);
final StorageConnector connector = connector(this, parameters);
final Parameters pg = Parameters.castOrWrap(parameters);
connector.setOption(DataOptionKey.ENCODING, pg.getValue(ENCODING));
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/event/StoreListeners.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/event/StoreListeners.java
index 8bdc7e6504..bbadea9d88 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/event/StoreListeners.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/event/StoreListeners.java
@@ -19,6 +19,7 @@ package org.apache.sis.storage.event;
import java.util.Map;
import java.util.Set;
import java.util.Locale;
+import java.util.Objects;
import java.util.Optional;
import java.util.IdentityHashMap;
import java.util.logging.Level;
@@ -290,8 +291,7 @@ public class StoreListeners implements Localized {
* @param source the source of events. Cannot be null.
*/
public StoreListeners(final StoreListeners parent, Resource source) {
- ArgumentChecks.ensureNonNull("source", source);
- this.source = source;
+ this.source = Objects.requireNonNull(source);
this.parent = parent;
if (parent != null) {
permittedEventTypes = parent.permittedEventTypes;
@@ -424,7 +424,7 @@ public class StoreListeners implements Localized {
* @param message the warning message to report.
*/
public void warning(final String message) {
- ArgumentChecks.ensureNonNull("message", message);
+ // Null value check done by invoked method.
warning(Level.WARNING, message, null);
}
@@ -440,8 +440,7 @@ public class StoreListeners implements Localized {
* @param exception the exception to report.
*/
public void warning(final Exception exception) {
- ArgumentChecks.ensureNonNull("exception", exception);
- warning(Level.WARNING, null, exception);
+ warning(Level.WARNING, null, Objects.requireNonNull(exception));
}
/**
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/event/WarningEvent.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/event/WarningEvent.java
index 71ba97b3ed..910ec2dd87 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/event/WarningEvent.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/event/WarningEvent.java
@@ -16,10 +16,10 @@
*/
package org.apache.sis.storage.event;
+import java.util.Objects;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import org.apache.sis.storage.Resource;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -54,8 +54,7 @@ public class WarningEvent extends StoreEvent {
*/
public WarningEvent(final Resource source, final LogRecord description) {
super(source);
- ArgumentChecks.ensureNonNull("description", description);
- this.description = description;
+ this.description = Objects.requireNonNull(description);
}
/**
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/folder/StoreProvider.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/folder/StoreProvider.java
index cc26a51f10..24412acf85 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/folder/StoreProvider.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/folder/StoreProvider.java
@@ -42,7 +42,6 @@ import org.apache.sis.storage.ProbeResult;
import org.apache.sis.storage.Aggregate;
import org.apache.sis.storage.FeatureSet;
import org.apache.sis.storage.GridCoverageResource;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.logging.Logging;
import org.apache.sis.storage.internal.Resources;
import org.apache.sis.storage.base.URIDataStoreProvider;
@@ -275,7 +274,6 @@ public final class StoreProvider extends DataStoreProvider {
*/
@Override
public DataStore open(final ParameterValueGroup parameters) throws DataStoreException {
- ArgumentChecks.ensureNonNull("parameter", parameters);
final StorageConnector connector = URIDataStoreProvider.connector(this, parameters);
final Parameters pg = Parameters.castOrWrap(parameters);
connector.setOption(OptionKey.LOCALE, pg.getValue(LOCALE));
diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/folder/WritableStore.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/folder/WritableStore.java
index d89e0b6641..f553e6549a 100644
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/folder/WritableStore.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/folder/WritableStore.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.storage.folder;
+import java.util.Objects;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Files;
@@ -38,7 +39,6 @@ import org.apache.sis.storage.base.StoreUtilities;
import org.apache.sis.storage.base.ResourceOnFileSystem;
import org.apache.sis.storage.internal.Resources;
import org.apache.sis.io.stream.IOUtilities;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -74,8 +74,7 @@ final class WritableStore extends Store implements WritableAggregate {
*/
@Override
public synchronized Resource add(final Resource resource) throws DataStoreException {
- ArgumentChecks.ensureNonNull("resource", resource);
- if (!(resource instanceof FeatureSet)) {
+ if (!(Objects.requireNonNull(resource) instanceof FeatureSet)) {
throw new DataStoreException(message(Resources.Keys.CanNotStoreResourceType_2, new Object[] {
StoreProvider.NAME, StoreUtilities.getInterface(resource.getClass())
}));
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/ConverterRegistry.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/ConverterRegistry.java
index 699c02b9f9..961ad19b77 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/ConverterRegistry.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/ConverterRegistry.java
@@ -239,7 +239,7 @@ public class ConverterRegistry {
* @param converter the converter to register.
*/
public <S,T> void register(final ObjectConverter<S,T> converter) {
- ArgumentChecks.ensureNonNull("converter", converter);
+ // Implicit null value check below.
/*
* If the given converter is a FallbackConverter (maybe obtained from another
* ConverterRegistry), unwraps it and registers its component individually.
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/FallbackConverter.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/FallbackConverter.java
index 52e75946f0..ec905ec8c3 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/FallbackConverter.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/FallbackConverter.java
@@ -156,7 +156,7 @@ final class FallbackConverter<S,T> extends SystemConverter<S,T> {
{
ArgumentChecks.ensureNonNull("primary", primary);
ArgumentChecks.ensureNonNull("fallback", fallback);
- assert !(fallback instanceof FallbackConverter<?,?>) : fallback; // See javadoc
+ assert !(fallback instanceof FallbackConverter<?,?>) : fallback; // See javadoc
final ObjectConverter<S, ? extends T> candidate = mergeIfSubtype(primary, fallback, null);
if (candidate != null) {
return candidate;
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/StringConverter.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/StringConverter.java
index 17eae4de09..0a8ffa5589 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/StringConverter.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/StringConverter.java
@@ -84,7 +84,6 @@ abstract class StringConverter<T> extends SystemConverter<String, T> {
*
* @param targetClass the {@linkplain #getTargetClass() target class}.
*/
- @SuppressWarnings("OverridableMethodCallInConstructor")
StringConverter(final Class<T> targetClass) {
super(String.class, targetClass);
inverse = createInverse();
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/Appender.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/Appender.java
index 83d85fcd9e..39013f4e51 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/Appender.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/Appender.java
@@ -16,9 +16,9 @@
*/
package org.apache.sis.io;
+import java.util.Objects;
import java.io.IOException;
import java.io.CharConversionException;
-import org.apache.sis.util.ArgumentChecks;
import static org.apache.sis.util.Characters.isLineOrParagraphSeparator;
@@ -65,8 +65,7 @@ abstract class Appender implements Appendable {
* @param out the underlying character output stream or buffer.
*/
protected Appender(final Appendable out) {
- ArgumentChecks.ensureNonNull("out", out);
- this.out = out;
+ this.out = Objects.requireNonNull(out);
}
/**
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/CompoundFormat.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/CompoundFormat.java
index b9231e2f89..466702ed37 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/CompoundFormat.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/CompoundFormat.java
@@ -45,6 +45,7 @@ import org.apache.sis.util.Classes;
import org.apache.sis.util.Localized;
import org.apache.sis.util.ArraysExt;
import org.apache.sis.util.ArgumentChecks;
+import org.apache.sis.util.resources.Errors;
import org.apache.sis.util.internal.MetadataServices;
import org.apache.sis.util.internal.LocalizedParseException;
import static org.apache.sis.util.internal.StandardDateFormat.UTC;
@@ -356,9 +357,10 @@ public abstract class CompoundFormat<T> extends Format implements Localized {
@Override
public StringBuffer format(final Object object, final StringBuffer toAppendTo, final FieldPosition pos) {
final Class<? extends T> valueType = getValueType();
- ArgumentChecks.ensureCanCast("object", valueType, object);
try {
format(valueType.cast(object), toAppendTo);
+ } catch (ClassCastException e) {
+ throw new IllegalArgumentException(Errors.format(Errors.Keys.IllegalClass_2, valueType, Classes.getClass(object)), e);
} catch (IOException e) {
/*
* Should never happen when writing into a StringBuffer, unless the user
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/TableAppender.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/TableAppender.java
index 0de68ba745..4db41fc7e1 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/TableAppender.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/io/TableAppender.java
@@ -25,7 +25,6 @@ import java.io.IOException;
import java.io.UncheckedIOException;
import org.apache.sis.util.ArraysExt;
import org.apache.sis.util.CharSequences;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.StringBuilders;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.util.internal.X364;
@@ -275,12 +274,9 @@ public class TableAppender extends Appender implements Flushable {
*/
public TableAppender(final Appendable out, final String leftBorder, final String separator, final String rightBorder) {
super(out);
- ArgumentChecks.ensureNonNull("leftBorder", leftBorder);
- ArgumentChecks.ensureNonNull("separator", separator);
- ArgumentChecks.ensureNonNull("rightBorder", rightBorder);
- this.leftBorder = leftBorder;
- this.rightBorder = rightBorder;
- this.columnSeparator = separator;
+ this.leftBorder = Objects.requireNonNull(leftBorder);
+ this.rightBorder = Objects.requireNonNull(rightBorder);
+ this.columnSeparator = Objects.requireNonNull(separator);
}
/**
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/math/Line.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/math/Line.java
index 489a53a244..e867953ce6 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/math/Line.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/math/Line.java
@@ -302,7 +302,6 @@ public class Line implements DoubleUnaryOperator, Cloneable, Serializable {
* @throws MismatchedDimensionException if a point is not two-dimensional.
*/
public double fit(final Iterable<? extends DirectPosition> points) {
- ArgumentChecks.ensureNonNull("points", points);
int i = 0, n = 0;
DoubleDouble mean_x = DoubleDouble.ZERO;
DoubleDouble mean_y = DoubleDouble.ZERO;
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/math/Plane.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/math/Plane.java
index 0492f9c35f..ef0413e42b 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/math/Plane.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/math/Plane.java
@@ -16,8 +16,9 @@
*/
package org.apache.sis.math;
-import java.util.Iterator;
import java.io.Serializable;
+import java.util.Objects;
+import java.util.Iterator;
import java.util.function.DoubleBinaryOperator;
import static java.lang.Math.abs;
import static java.lang.Math.sqrt;
@@ -362,8 +363,7 @@ public class Plane implements DoubleBinaryOperator, Cloneable, Serializable {
* @throws MismatchedDimensionException if a point is not three-dimensional.
*/
public double fit(final Iterable<? extends DirectPosition> points) {
- ArgumentChecks.ensureNonNull("points", points);
- final Fit r = new Fit(points);
+ final Fit r = new Fit(Objects.requireNonNull(points));
r.resolve();
final double p = r.correlation(0, 0, null, points.iterator());
/*
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/math/Statistics.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/math/Statistics.java
index 01f0cbeeb3..11fd135b9a 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/math/Statistics.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/math/Statistics.java
@@ -262,7 +262,6 @@ public class Statistics implements DoubleConsumer, LongConsumer, Cloneable, Seri
* @see #differences()
*/
public static Statistics forSeries(final CharSequence name, final CharSequence... differenceNames) {
- ArgumentChecks.ensureNonNull("differenceNames", differenceNames);
Statistics stats = null;
for (int i=differenceNames.length; --i >= -1;) {
final CharSequence n = (i >= 0) ? differenceNames[i] : name;
@@ -377,8 +376,6 @@ public class Statistics implements DoubleConsumer, LongConsumer, Cloneable, Seri
* @param stats the statistics to be added to {@code this}.
*/
public void combine(final Statistics stats) {
- ArgumentChecks.ensureNonNull("stats", stats);
-
// "if (a < b)" is equivalent to "if (!isNaN(a) && a < b)".
if (isNaN(minimum) || stats.minimum < minimum) minimum = stats.minimum;
if (isNaN(maximum) || stats.maximum > maximum) maximum = stats.maximum;
@@ -746,7 +743,6 @@ public class Statistics implements DoubleConsumer, LongConsumer, Cloneable, Seri
*/
@Override
public void combine(final Statistics stats) throws ClassCastException {
- ArgumentChecks.ensureNonNull("stats", stats);
delta.combine(stats.differences());
super.combine(stats);
if (stats instanceof WithDelta) {
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/AbstractConverter.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/AbstractConverter.java
index e43062581e..83d648276e 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/AbstractConverter.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/AbstractConverter.java
@@ -19,7 +19,6 @@ package org.apache.sis.measure;
import java.util.List;
import java.io.Serializable;
import javax.measure.UnitConverter;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.math.DecimalFunctions;
@@ -139,7 +138,6 @@ abstract class AbstractConverter implements UnitConverter, Serializable {
*/
@Override
public UnitConverter concatenate(final UnitConverter converter) {
- ArgumentChecks.ensureNonNull("converter", converter);
if (equals(converter.inverse())) {
return IdentityConverter.INSTANCE;
}
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/AngleFormat.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/AngleFormat.java
index 0f084440c9..f678e39a09 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/AngleFormat.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/AngleFormat.java
@@ -405,8 +405,7 @@ public class AngleFormat extends Format implements Localized {
*/
@SuppressWarnings("PointlessBitwiseExpression") // We rely on the compiler for simplifying the expression.
public AngleFormat(final Locale locale) {
- ArgumentChecks.ensureNonNull("locale", locale);
- this.locale = locale;
+ this.locale = Objects.requireNonNull(locale);
degreesFieldWidth = 1;
minutesFieldWidth = 2;
secondsFieldWidth = 2;
@@ -438,9 +437,7 @@ public class AngleFormat extends Format implements Localized {
* @throws IllegalArgumentException if the specified pattern is illegal.
*/
public AngleFormat(final String pattern, final Locale locale) throws IllegalArgumentException {
- ArgumentChecks.ensureNonEmpty("pattern", pattern);
- ArgumentChecks.ensureNonNull("locale", locale);
- this.locale = locale;
+ this.locale = Objects.requireNonNull(locale);
applyPattern(pattern, SYMBOLS, '.');
}
@@ -758,8 +755,7 @@ public class AngleFormat extends Format implements Localized {
* @since 0.8
*/
public void setRoundingMode(final RoundingMode mode) {
- ArgumentChecks.ensureNonNull("mode", mode);
- if (mode == RoundingMode.HALF_UP || mode == RoundingMode.HALF_DOWN) {
+ if (Objects.requireNonNull(mode) == RoundingMode.HALF_UP || mode == RoundingMode.HALF_DOWN) {
throw new IllegalArgumentException(Errors.format(Errors.Keys.UnsupportedArgumentValue_1, mode));
}
roundingMode = mode;
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/ConcatenatedConverter.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/ConcatenatedConverter.java
index d2affa6d35..8970c57786 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/ConcatenatedConverter.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/ConcatenatedConverter.java
@@ -19,7 +19,6 @@ package org.apache.sis.measure;
import java.util.List;
import java.util.ArrayList;
import javax.measure.UnitConverter;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.ComparisonMode;
import org.apache.sis.util.LenientComparable;
import org.apache.sis.util.Utilities;
@@ -123,7 +122,6 @@ final class ConcatenatedConverter extends AbstractConverter implements LenientCo
*/
@Override
public UnitConverter concatenate(final UnitConverter converter) {
- ArgumentChecks.ensureNonNull("converter", converter);
if (equals(converter.inverse())) {
return IdentityConverter.INSTANCE;
}
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/ConventionalUnit.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/ConventionalUnit.java
index 6c9ae59766..8645d641c0 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/ConventionalUnit.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/ConventionalUnit.java
@@ -17,6 +17,7 @@
package org.apache.sis.measure;
import java.util.Map;
+import java.util.Objects;
import javax.measure.Unit;
import javax.measure.Quantity;
import javax.measure.Dimension;
@@ -24,7 +25,6 @@ import javax.measure.UnitConverter;
import javax.measure.MeasurementException;
import javax.measure.UnconvertibleException;
import javax.measure.IncommensurableException;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.Characters;
import org.apache.sis.util.ComparisonMode;
import org.apache.sis.util.Utilities;
@@ -86,9 +86,9 @@ final class ConventionalUnit<Q extends Quantity<Q>> extends AbstractUnit<Q> {
}
/*
* Verifies if an instance already exists for the given converter.
- * The 'related' array is populated only by the Units class static initializer.
+ * The `related` array is populated only by the Units class static initializer.
* The SystemUnitTest.verifyRelatedUnits() method verified that the array does
- * not contain null element and that all 'toTarget' are instances of LinearConverter.
+ * not contain null element and that all `toTarget` are instances of LinearConverter.
*/
final ConventionalUnit<Q>[] related = target.related();
if (related != null && toTarget instanceof LinearConverter) {
@@ -313,15 +313,14 @@ final class ConventionalUnit<Q extends Quantity<Q>> extends AbstractUnit<Q> {
if (that == this) {
return IdentityConverter.INSTANCE;
}
- ArgumentChecks.ensureNonNull("that", that);
UnitConverter c = toTarget;
- if (target != that) { // Optimization for a common case.
+ if (target != Objects.requireNonNull(that)) { // Optimization for a common case.
final Unit<Q> step = that.getSystemUnit();
if (target != step && !target.isCompatible(step)) {
// Should never occur unless parameterized type has been compromised.
throw new UnconvertibleException(incompatible(that));
}
- c = target.getConverterTo(step).concatenate(c); // Usually leave 'c' unchanged.
+ c = target.getConverterTo(step).concatenate(c); // Usually leave `c` unchanged.
c = step.getConverterTo(that).concatenate(c);
}
return c;
@@ -343,14 +342,13 @@ final class ConventionalUnit<Q extends Quantity<Q>> extends AbstractUnit<Q> {
if (that == this) {
return IdentityConverter.INSTANCE;
}
- ArgumentChecks.ensureNonNull("that", that);
UnitConverter c = toTarget;
- if (target != that) { // Optimization for a common case.
+ if (target != Objects.requireNonNull(that)) { // Optimization for a common case.
final Unit<?> step = that.getSystemUnit();
if (target != step && !target.isCompatible(step)) {
throw new IncommensurableException(incompatible(that));
}
- c = target.getConverterToAny(step).concatenate(c); // Usually leave 'c' unchanged.
+ c = target.getConverterToAny(step).concatenate(c); // Usually leave `c` unchanged.
c = step.getConverterToAny(that).concatenate(c);
}
return c;
@@ -472,7 +470,7 @@ final class ConventionalUnit<Q extends Quantity<Q>> extends AbstractUnit<Q> {
*/
@Override
public Unit<Q> transform(UnitConverter operation) {
- ArgumentChecks.ensureNonNull("operation", operation);
+ Objects.requireNonNull(operation);
AbstractUnit<Q> base = this;
if (!isPrefixable()) {
base = target;
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/FormattedCharacterIterator.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/FormattedCharacterIterator.java
index 9cf58b5762..858920e852 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/FormattedCharacterIterator.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/FormattedCharacterIterator.java
@@ -22,9 +22,9 @@ import java.util.Collections;
import java.util.IdentityHashMap;
import java.util.Map;
import java.util.Set;
+import java.util.Objects;
import java.text.Format;
import java.text.AttributedCharacterIterator;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.collection.Containers;
import org.apache.sis.converter.SurjectiveConverter;
import org.apache.sis.util.internal.SimpleCharacterIterator;
@@ -248,8 +248,7 @@ final class FormattedCharacterIterator extends SimpleCharacterIterator implement
*/
@Override
public int getRunStart(final Attribute attribute) {
- ArgumentChecks.ensureNonNull("attribute", attribute);
- update(attribute, null);
+ update(Objects.requireNonNull(attribute), null);
return start;
}
@@ -282,8 +281,7 @@ final class FormattedCharacterIterator extends SimpleCharacterIterator implement
*/
@Override
public int getRunLimit(final Attribute attribute) {
- ArgumentChecks.ensureNonNull("attribute", attribute);
- update(attribute, null);
+ update(Objects.requireNonNull(attribute), null);
return limit;
}
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/IdentityConverter.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/IdentityConverter.java
index 31fe1ae39d..7daffa9ac1 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/IdentityConverter.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/IdentityConverter.java
@@ -16,8 +16,8 @@
*/
package org.apache.sis.measure;
+import java.util.Objects;
import javax.measure.UnitConverter;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.ComparisonMode;
import org.apache.sis.util.LenientComparable;
@@ -67,8 +67,7 @@ final class IdentityConverter extends AbstractConverter implements LenientCompar
*/
@Override
public Number convert(Number value) {
- ArgumentChecks.ensureNonNull("value", value);
- return value;
+ return Objects.requireNonNull(value);
}
/**
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/LinearConverter.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/LinearConverter.java
index b1e00bcb65..7a82c804eb 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/LinearConverter.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/LinearConverter.java
@@ -16,10 +16,10 @@
*/
package org.apache.sis.measure;
+import java.util.Objects;
import java.math.BigDecimal;
import java.math.BigInteger;
import javax.measure.UnitConverter;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.StringBuilders;
import org.apache.sis.util.ComparisonMode;
import org.apache.sis.util.LenientComparable;
@@ -285,7 +285,7 @@ final class LinearConverter extends AbstractConverter implements LenientComparab
*/
@Override
public Number convert(Number value) {
- ArgumentChecks.ensureNonNull("value", value);
+ Objects.requireNonNull(value);
if (!isIdentity()) {
if (value instanceof DoubleDouble) {
var dd = (DoubleDouble) value;
@@ -295,9 +295,11 @@ final class LinearConverter extends AbstractConverter implements LenientComparab
value = new BigDecimal((BigInteger) value);
}
if (value instanceof BigDecimal) {
- BigDecimal scale10 = this.scale10;
- BigDecimal offset10 = this.offset10;
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
+ BigDecimal scale10 = this.scale10,
+ offset10 = this.offset10;
if (scale10 == null || offset10 == null) {
+ @SuppressWarnings("LocalVariableHidesMemberVariable")
final BigDecimal divisor = BigDecimal.valueOf(this.divisor);
scale10 = BigDecimal.valueOf(scale) .divide(divisor);
offset10 = BigDecimal.valueOf(offset).divide(divisor);
@@ -337,7 +339,6 @@ final class LinearConverter extends AbstractConverter implements LenientComparab
*/
@Override
public UnitConverter concatenate(final UnitConverter converter) {
- ArgumentChecks.ensureNonNull("converter", converter);
if (converter.isIdentity()) {
return this;
}
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Quantities.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Quantities.java
index c5571b13b1..bc0bc47a22 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Quantities.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Quantities.java
@@ -27,7 +27,6 @@ import javax.measure.quantity.Length;
import javax.measure.format.MeasurementParseException;
import org.apache.sis.util.Static;
import org.apache.sis.util.Numbers;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Errors;
@@ -78,7 +77,6 @@ public final class Quantities extends Static {
* @see UnitServices#getQuantityFactory(Class)
*/
public static <Q extends Quantity<Q>> Q create(final double value, final Unit<Q> unit) {
- ArgumentChecks.ensureNonNull("unit", unit);
final Unit<Q> system = unit.getSystemUnit();
if (system instanceof SystemUnit<?>) {
final UnitConverter c = unit.getConverterTo(system);
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/QuantityFormat.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/QuantityFormat.java
index 6c9f326e22..ca60bc1905 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/QuantityFormat.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/QuantityFormat.java
@@ -17,6 +17,7 @@
package org.apache.sis.measure;
import java.util.Locale;
+import java.util.Objects;
import java.text.Format;
import java.text.FieldPosition;
import java.text.NumberFormat;
@@ -26,7 +27,6 @@ import java.lang.reflect.InaccessibleObjectException;
import javax.measure.Quantity;
import javax.measure.Unit;
import javax.measure.format.MeasurementParseException;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.logging.Logging;
import org.apache.sis.util.resources.Errors;
@@ -70,9 +70,8 @@ public class QuantityFormat extends Format implements javax.measure.format.Quant
* @param locale the locale for the quantity format.
*/
public QuantityFormat(final Locale locale) {
- ArgumentChecks.ensureNonNull("locale", locale);
+ unitFormat = new UnitFormat(locale); // Does null check.
numberFormat = NumberFormat.getNumberInstance(locale);
- unitFormat = new UnitFormat(locale);
}
/**
@@ -82,10 +81,8 @@ public class QuantityFormat extends Format implements javax.measure.format.Quant
* @param unitFormat the format for parsing and formatting the unit of measurement part.
*/
public QuantityFormat(final NumberFormat numberFormat, final UnitFormat unitFormat) {
- ArgumentChecks.ensureNonNull("numberFormat", numberFormat);
- ArgumentChecks.ensureNonNull("unitFormat", unitFormat);
- this.numberFormat = numberFormat;
- this.unitFormat = unitFormat;
+ this.numberFormat = Objects.requireNonNull(numberFormat);
+ this.unitFormat = Objects.requireNonNull(unitFormat);
}
/**
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Range.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Range.java
index b170fd2d40..5dd5801093 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Range.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Range.java
@@ -150,12 +150,11 @@ public class Range<E extends Comparable<? super E>> implements CheckedContainer<
final E minValue, final boolean isMinIncluded,
final E maxValue, final boolean isMaxIncluded)
{
- ArgumentChecks.ensureNonNull("elementType", elementType);
/*
* The `isMin/Maxincluded` flags must be forced to `false` if `minValue` or `maxValue`
* are null. This is required for proper working of algorithms implemented in this class.
*/
- this.elementType = elementType;
+ this.elementType = Objects.requireNonNull(elementType);
this.minValue = minValue;
this.isMinIncluded = isMinIncluded && (minValue != null);
this.maxValue = maxValue;
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/RangeFormat.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/RangeFormat.java
index c9c7a920f3..06cbcbbfc6 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/RangeFormat.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/RangeFormat.java
@@ -21,6 +21,7 @@ import java.util.HashMap;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
+import java.util.Objects;
import java.text.Format;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
@@ -39,7 +40,6 @@ import java.lang.reflect.InaccessibleObjectException;
import javax.measure.Unit;
import org.apache.sis.util.Numbers;
import org.apache.sis.util.Localized;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.UnconvertibleObjectException;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.util.internal.LocalizedParseException;
@@ -350,10 +350,8 @@ public class RangeFormat extends Format implements Localized {
* @throws IllegalArgumentException if the given type is not recognized by this constructor.
*/
public RangeFormat(final Locale locale, final Class<?> elementType) throws IllegalArgumentException {
- ArgumentChecks.ensureNonNull("locale", locale);
- ArgumentChecks.ensureNonNull("elementType", elementType);
- this.locale = locale;
- this.elementType = elementType;
+ this.locale = Objects.requireNonNull(locale);
+ this.elementType = Objects.requireNonNull(elementType);
if (Angle.class.isAssignableFrom(elementType)) {
elementFormat = AngleFormat.getInstance(locale);
unitFormat = null;
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/SystemUnit.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/SystemUnit.java
index 9245db4722..bb7abf1421 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/SystemUnit.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/SystemUnit.java
@@ -285,8 +285,7 @@ final class SystemUnit<Q extends Quantity<Q>> extends AbstractUnit<Q> implements
@Override
@SuppressWarnings("unchecked")
public <T extends Quantity<T>> Unit<T> asType(final Class<T> type) throws ClassCastException {
- ArgumentChecks.ensureNonNull("type", type);
- if (type == quantity) {
+ if (Objects.requireNonNull(type) == quantity) {
if (getSymbol() == null) {
// If this unit has no symbol, opportunistically supply a symbol if we find it.
final SystemUnit<T> unit = Units.get(type);
@@ -350,7 +349,6 @@ final class SystemUnit<Q extends Quantity<Q>> extends AbstractUnit<Q> implements
*/
@Override
public UnitConverter getConverterTo(final Unit<Q> unit) throws UnconvertibleException {
- ArgumentChecks.ensureNonNull("unit", unit);
final Unit<Q> step = unit.getSystemUnit();
if (step != this && !equalsIgnoreMetadata(step)) {
// Should never occur unless parameterized type has been compromised.
@@ -381,7 +379,6 @@ final class SystemUnit<Q extends Quantity<Q>> extends AbstractUnit<Q> implements
*/
@Override
public UnitConverter getConverterToAny(final Unit<?> unit) throws IncommensurableException {
- ArgumentChecks.ensureNonNull("unit", unit);
final Unit<?> step = unit.getSystemUnit();
if (step != this && !isCompatible(step)) {
throw new IncommensurableException(incompatible(unit));
@@ -454,8 +451,8 @@ final class SystemUnit<Q extends Quantity<Q>> extends AbstractUnit<Q> implements
*/
@Override
public Unit<?> multiply(final Unit<?> multiplier) {
- ArgumentChecks.ensureNonNull("multiplier", multiplier);
if (multiplier == this) return pow(2); // For formating e.g. "K²" instead of "K⋅K".
+ ArgumentChecks.ensureNonNull("multiplier", multiplier);
return product(multiplier, false);
}
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitFormat.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitFormat.java
index 2ed8106ea8..08889cf493 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitFormat.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitFormat.java
@@ -24,6 +24,7 @@ import java.util.HashMap;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.MissingResourceException;
+import java.util.Objects;
import java.text.Format;
import java.text.FieldPosition;
import java.text.ParsePosition;
@@ -328,8 +329,7 @@ public class UnitFormat extends Format implements javax.measure.format.UnitForma
* @param locale the locale to use for parsing and formatting units.
*/
public UnitFormat(final Locale locale) {
- ArgumentChecks.ensureNonNull("locale", locale);
- this.locale = locale;
+ this.locale = Objects.requireNonNull(locale);
style = Style.SYMBOL;
unitToLabel = new HashMap<>();
labelToUnit = new HashMap<>();
@@ -355,8 +355,7 @@ public class UnitFormat extends Format implements javax.measure.format.UnitForma
* @see UnitServices#getUnitFormat(String)
*/
public void setLocale(final Locale locale) {
- ArgumentChecks.ensureNonNull("locale", locale);
- this.locale = locale;
+ this.locale = Objects.requireNonNull(locale);
symbolToName = null; // Force reloading for the new locale.
nameToUnit = null;
}
@@ -388,8 +387,7 @@ public class UnitFormat extends Format implements javax.measure.format.UnitForma
* @param style the desired style of units.
*/
public void setStyle(final Style style) {
- ArgumentChecks.ensureNonNull("style", style);
- this.style = style;
+ this.style = Objects.requireNonNull(style);
}
/**
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitServices.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitServices.java
index 6cb3744b6b..b2e0c4efce 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitServices.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitServices.java
@@ -20,6 +20,7 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.Locale;
import java.util.Set;
+import java.util.Objects;
import java.text.NumberFormat;
import javax.measure.Unit;
import javax.measure.Quantity;
@@ -279,8 +280,7 @@ public class UnitServices extends ServiceProvider implements SystemOfUnitsServic
*/
@Override
public <Q extends Quantity<Q>> QuantityFactory<Q> getQuantityFactory(final Class<Q> type) {
- ArgumentChecks.ensureNonNull("type", type);
- QuantityFactory<Q> factory = Units.get(type);
+ QuantityFactory<Q> factory = Units.get(Objects.requireNonNull(type));
if (factory == null) {
if (type != null) {
factory = new DefaultQuantityFactory<Q>() {
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/Configuration.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/Configuration.java
index 341720d978..bbf04c8f5c 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/Configuration.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/Configuration.java
@@ -17,12 +17,12 @@
package org.apache.sis.setup;
import java.util.Locale;
+import java.util.Objects;
import java.util.Optional;
-import javax.sql.DataSource;
-import java.sql.SQLException;
import java.util.function.Supplier;
import java.util.concurrent.TimeUnit;
-import org.apache.sis.util.ArgumentChecks;
+import javax.sql.DataSource;
+import java.sql.SQLException;
import org.apache.sis.util.internal.MetadataServices;
@@ -144,7 +144,6 @@ public final class Configuration {
* @see <a href="https://sis.apache.org/epsg.html#jndi">How to use EPSG geodetic dataset</a>
*/
public void setDatabase(final Supplier<DataSource> source) {
- ArgumentChecks.ensureNonNull("source", source);
- MetadataServices.getInstance().setDataSource(source);
+ MetadataServices.getInstance().setDataSource(Objects.requireNonNull(source));
}
}
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/OptionKey.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/OptionKey.java
index 03377c606d..d98fea5257 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/OptionKey.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/OptionKey.java
@@ -20,6 +20,7 @@ import java.util.Map;
import java.util.HashMap;
import java.util.Locale;
import java.util.TimeZone;
+import java.util.Objects;
import java.nio.ByteBuffer;
import java.io.Serializable;
import java.io.ObjectStreamException;
@@ -28,7 +29,6 @@ import java.nio.file.OpenOption;
import java.nio.file.StandardOpenOption;
import static java.util.logging.Logger.getLogger;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.logging.Logging;
import org.apache.sis.system.Modules;
@@ -248,10 +248,8 @@ public class OptionKey<T> implements Serializable {
* @param type the type of values.
*/
protected OptionKey(final String name, final Class<T> type) {
- ArgumentChecks.ensureNonEmpty("name", name);
- ArgumentChecks.ensureNonNull ("type", type);
- this.name = name;
- this.type = type;
+ this.name = Objects.requireNonNull(name);
+ this.type = Objects.requireNonNull(type);
}
/**
@@ -278,7 +276,6 @@ public class OptionKey<T> implements Serializable {
*
* {@snippet lang="java" :
* public <T> T getOption(final OptionKey<T> key) {
- * ArgumentChecks.ensureNonNull("key", key);
* return key.getValueFrom(options);
* }
* }
@@ -296,7 +293,6 @@ public class OptionKey<T> implements Serializable {
*
* {@snippet lang="java" :
* public <T> void setOption(final OptionKey<T> key, final T value) {
- * ArgumentChecks.ensureNonNull("key", key);
* options = key.setValueInto(options, value);
* }
* }
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArgumentChecks.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArgumentChecks.java
index c5e93c7a6d..e39f175e73 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArgumentChecks.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArgumentChecks.java
@@ -96,14 +96,31 @@ public final class ArgumentChecks extends Static {
/**
* Makes sure that an argument is non-null. If the given {@code object} is null, then a
* {@link NullPointerException} is thrown with a localized message containing the given name.
+ * This method differs from {@link java.util.Objects#requireNonNull(Object, String)} in that
+ * the {@code String} argument is only the parameter name, not the full exception message.
+ *
+ * <h4>Suggestions about when to use</h4>
+ * This method is helpful for validating arguments in a method receiving many arguments,
+ * when there is a potential ambiguity about which argument is {@code null}.
+ * This method is also useful when the validation is done in a private method invoked by a public method,
+ * because it is no longer obvious that a {@link NullPointerException} is caused by a null argument given
+ * to the public method.
+ *
+ * <h4>Suggestions about when to not use</h4>
+ * When there is no ambiguity, for example in methods receiving a single argument, the standard
+ * {@link java.util.Objects#requireNonNull(Object)} method should be preferred as it is more efficient.
+ * Another situation where to not use this method is when an implicit null check would occur early
+ * because the argument is used immediately. Since Java 14, the exception thrown by implicit null
+ * checks contains sufficiently <a href="https://openjdk.org/jeps/358">helpful message</a>.
*
* @param name the name of the argument to be checked. Used only if an exception is thrown.
* @param object the user argument to check against null value.
* @throws NullPointerException if {@code object} is null.
+ *
+ * @see java.util.Objects#requireNonNull(Object)
+ * @see java.util.Objects#requireNonNull(Object, String)
*/
- public static void ensureNonNull(final String name, final Object object)
- throws NullPointerException
- {
+ public static void ensureNonNull(final String name, final Object object) throws NullPointerException {
if (object == null) {
throw new NullPointerException(Errors.format(Errors.Keys.NullArgument_1, name));
}
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArraysExt.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArraysExt.java
index 8de4c589fc..725033dc76 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArraysExt.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ArraysExt.java
@@ -1128,7 +1128,6 @@ public final class ArraysExt extends Static {
* @see #concatenate(Object[][])
*/
public static <T> T[] append(final T[] array, final T element) {
- ArgumentChecks.ensureNonNull("array", array);
final T[] copy = Arrays.copyOf(array, array.length + 1);
copy[array.length] = element;
return copy;
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/Locales.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/Locales.java
index 274640eb78..7c5c5153f7 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/Locales.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/Locales.java
@@ -261,7 +261,6 @@ filter: for (final Locale locale : locales) {
* @see org.apache.sis.util.iso.Types#toInternationalString(Map, String)
*/
public static Locale parse(final String code, final int fromIndex) throws IllformedLocaleException {
- ArgumentChecks.ensureNonNull("code", code);
ArgumentChecks.ensurePositive("fromIndex", fromIndex);
int p1 = code.indexOf('_', fromIndex);
int i = code.indexOf('-', fromIndex);
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ObjectConverters.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ObjectConverters.java
index 9d42320bd0..03583f96ed 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ObjectConverters.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ObjectConverters.java
@@ -17,6 +17,7 @@
package org.apache.sis.util;
import java.util.Map;
+import java.util.Objects;
import java.util.Set;
import org.apache.sis.util.collection.Containers;
import org.apache.sis.converter.IdentityConverter;
@@ -79,8 +80,7 @@ public final class ObjectConverters extends Static {
* @return an identity converter for objects of the given type.
*/
public static <T> ObjectConverter<T,T> identity(final Class<T> type) {
- ArgumentChecks.ensureNonNull("type", type);
- return new IdentityConverter<>(type, type, null).unique();
+ return new IdentityConverter<>(Objects.requireNonNull(type), type, null).unique();
}
/**
@@ -115,7 +115,6 @@ public final class ObjectConverters extends Static {
*/
@SuppressWarnings({"unchecked","rawtypes"})
public static <T> T convert(Object value, final Class<T> target) throws UnconvertibleObjectException {
- ArgumentChecks.ensureNonNull("target", target);
if (!target.isInstance(value) && value != null) {
value = ((ObjectConverter) SystemRegistry.INSTANCE.find(value.getClass(), target)).apply(value);
}
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ResourceInternationalString.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ResourceInternationalString.java
index 288dc9c2e9..fad909aebd 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ResourceInternationalString.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/ResourceInternationalString.java
@@ -21,6 +21,7 @@ import java.util.Locale;
import java.util.Properties;
import java.util.ResourceBundle;
import java.util.MissingResourceException;
+import java.util.Objects;
/**
@@ -87,8 +88,7 @@ public abstract class ResourceInternationalString extends AbstractInternationalS
* @param key the key for the resource to fetch.
*/
protected ResourceInternationalString(final String key) {
- ArgumentChecks.ensureNonNull("key", key);
- this.key = key;
+ this.key = Objects.requireNonNull(key);
}
/**
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/SimpleInternationalString.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/SimpleInternationalString.java
index a00306454a..80b35e232e 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/SimpleInternationalString.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/SimpleInternationalString.java
@@ -21,6 +21,7 @@ import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Locale;
+import java.util.Objects;
/**
@@ -56,8 +57,7 @@ public class SimpleInternationalString extends AbstractInternationalString imple
* @param text the string for all locales.
*/
public SimpleInternationalString(final String text) {
- ArgumentChecks.ensureNonNull("text", text);
- defaultValue = text;
+ defaultValue = Objects.requireNonNull(text);
}
/**
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/StringBuilders.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/StringBuilders.java
index a2889f10bb..5ed92d4f64 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/StringBuilders.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/StringBuilders.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.util;
+import java.util.Objects;
import java.text.Normalizer;
import static java.lang.Character.*;
import org.apache.sis.util.resources.Errors;
@@ -172,7 +173,6 @@ public final class StringBuilders extends Static {
* @since 1.0
*/
public static void repeat(final StringBuilder buffer, final char c, final int count) {
- ArgumentChecks.ensureNonNull("buffer", buffer);
switch (count) {
case 0: break;
case 1: buffer.append(c); break;
@@ -199,7 +199,6 @@ public final class StringBuilders extends Static {
* @since 0.8
*/
public static void repeat(final StringBuilder buffer, final int offset, final char c, final int count) {
- ArgumentChecks.ensureNonNull("buffer", buffer);
switch (count) {
case 0: break;
case 1: buffer.insert(offset, c); break;
@@ -271,7 +270,6 @@ public final class StringBuilders extends Static {
*/
@SuppressWarnings("fallthrough")
public static void trimFractionalPart(final StringBuilder buffer) {
- ArgumentChecks.ensureNonNull ("buffer", buffer);
for (int i=buffer.length(); i > 0;) {
switch (buffer.charAt(--i)) { // No need to use Unicode code points here.
case '0': continue;
@@ -295,8 +293,7 @@ public final class StringBuilders extends Static {
* @see Normalizer#normalize(CharSequence, Normalizer.Form)
*/
public static void toASCII(final StringBuilder buffer) {
- ArgumentChecks.ensureNonNull("buffer", buffer);
- toASCII(buffer, buffer);
+ toASCII(Objects.requireNonNull(buffer), buffer);
}
/**
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/Version.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/Version.java
index 641666537d..deb39d2408 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/Version.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/Version.java
@@ -73,7 +73,7 @@ public class Version implements CharSequence, Comparable<Version>, Serializable
};
/**
- * The version in string form, with leading and trailing spaces removed.
+ * The version in string form.
*/
private final String version;
@@ -98,7 +98,7 @@ public class Version implements CharSequence, Comparable<Version>, Serializable
* @param version the version as a string.
*/
public Version(final String version) {
- ArgumentChecks.ensureNonNull("version", version);
+ ArgumentChecks.ensureNonEmpty("version", version);
this.version = version;
}
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/DefaultTreeTable.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/DefaultTreeTable.java
index a19c3337d7..78d4dbf308 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/DefaultTreeTable.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/DefaultTreeTable.java
@@ -137,7 +137,7 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
* @param root the tree table root (cannot be null).
*/
public DefaultTreeTable(final Node root) {
- ArgumentChecks.ensureNonNull("root", root);
+ // Implicit null check below.
this.root = root;
columnIndices = root.columnIndices;
}
@@ -220,14 +220,13 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
* with the table columns in this {@code DefaultTreeTable}.
*/
public void setRoot(final TreeTable.Node root) {
- ArgumentChecks.ensureNonNull("root", root);
if (root instanceof Node) {
final Map<TableColumn<?>,Integer> other = ((Node) root).columnIndices;
if (other != columnIndices && !columnIndices.keySet().containsAll(other.keySet())) {
throw new IllegalArgumentException(Errors.format(Errors.Keys.InconsistentTableColumns));
}
}
- this.root = root;
+ this.root = Objects.requireNonNull(root);
}
/**
@@ -430,7 +429,7 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
* @param table the table for which this node is created.
*/
public Node(final TreeTable table) {
- ArgumentChecks.ensureNonNull("table", table);
+ // Implicit null check below.
if (table instanceof DefaultTreeTable) {
// Share the same instance if possible.
columnIndices = ((DefaultTreeTable) table).columnIndices;
@@ -447,8 +446,8 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
*
* @param parent the parent of the new node.
*/
+ @SuppressWarnings("this-escape")
public Node(final Node parent) {
- ArgumentChecks.ensureNonNull("parent", parent);
this.parent = parent;
columnIndices = parent.columnIndices;
final TreeNodeList addTo = (TreeNodeList) parent.getChildren();
@@ -463,8 +462,8 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
* @param parent the parent of the new node.
* @param index the index where to add the new node in the parent list of children.
*/
+ @SuppressWarnings("this-escape")
public Node(final Node parent, final int index) {
- ArgumentChecks.ensureNonNull("parent", parent);
this.parent = parent;
columnIndices = parent.columnIndices;
final TreeNodeList addTo = (TreeNodeList) parent.getChildren();
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/RangeSet.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/RangeSet.java
index f1cbc44084..2c5d0f893f 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/RangeSet.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/RangeSet.java
@@ -477,7 +477,6 @@ public class RangeSet<E extends Comparable<? super E>> extends AbstractSet<Range
*/
@Override
public boolean add(final Range<E> range) throws IllegalArgumentException {
- ArgumentChecks.ensureNonNull("range", range);
if (range.isEmpty()) {
return false;
}
@@ -816,7 +815,7 @@ public class RangeSet<E extends Comparable<? super E>> extends AbstractSet<Range
* @return {@code true} if the given object is contained in this set.
*/
public boolean contains(final Range<E> range, final boolean exact) {
- ArgumentChecks.ensureNonNull("range", range);
+ // Implicit null value check below.
if (exact) {
if (range.isMinIncluded() && !range.isMaxIncluded()) {
final int index = binarySearch(range.getMinValue(), 0, length);
@@ -907,8 +906,7 @@ public class RangeSet<E extends Comparable<? super E>> extends AbstractSet<Range
* @return a view of the specified range within this range set.
*/
public SortedSet<Range<E>> intersect(final Range<E> subRange) {
- ArgumentChecks.ensureNonNull("subRange", subRange);
- return new SubSet(subRange);
+ return new SubSet(Objects.requireNonNull(subRange));
}
/**
@@ -961,7 +959,6 @@ public class RangeSet<E extends Comparable<? super E>> extends AbstractSet<Range
*/
@Override
public SortedSet<Range<E>> headSet(final Range<E> upper) {
- ArgumentChecks.ensureNonNull("upper", upper);
final E maxValue = upper.getMinValue();
if (maxValue == null) {
throw new IllegalArgumentException(Errors.format(
@@ -984,7 +981,6 @@ public class RangeSet<E extends Comparable<? super E>> extends AbstractSet<Range
*/
@Override
public SortedSet<Range<E>> tailSet(final Range<E> lower) {
- ArgumentChecks.ensureNonNull("lower", lower);
return intersect(new Range<>(elementType, lower.getMinValue(), lower.isMinIncluded(), null, false));
}
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/TableColumn.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/TableColumn.java
index f4d8418d51..463c6ec423 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/TableColumn.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/TableColumn.java
@@ -17,12 +17,12 @@
package org.apache.sis.util.collection;
import java.util.Map;
+import java.util.Objects;
import java.io.Serializable;
import java.io.ObjectStreamException;
import java.io.InvalidObjectException;
import org.opengis.annotation.Obligation;
import org.opengis.util.InternationalString;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.SimpleInternationalString;
import org.apache.sis.util.resources.Vocabulary;
@@ -286,8 +286,8 @@ public class TableColumn<V> implements CheckedContainer<V> {
* @param header the text to display as column header.
*/
public TableColumn(final Class<V> type, final CharSequence header) {
- ArgumentChecks.ensureNonNull("type", this.type = type);
- ArgumentChecks.ensureNonNull("header", this.header = header);
+ this.type = Objects.requireNonNull(type);
+ this.header = Objects.requireNonNull(header);
}
/**
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/TreeTables.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/TreeTables.java
index d7df8a5806..f09d2d7750 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/TreeTables.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/TreeTables.java
@@ -201,7 +201,6 @@ public final class TreeTables extends Static {
*/
@SuppressWarnings({"unchecked", "rawtypes"})
public static int replaceCharSequences(final TreeTable table, final Locale locale) {
- ArgumentChecks.ensureNonNull("table", table);
final List<TableColumn<?>> columns = table.getColumns();
TableColumn<? super String>[] filtered = new TableColumn[columns.size()];
int count = 0;
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/WeakHashSet.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/WeakHashSet.java
index 24bb09ba57..ef7c7ba71c 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/WeakHashSet.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/collection/WeakHashSet.java
@@ -24,7 +24,6 @@ import java.lang.reflect.Array;
import org.apache.sis.util.Debug;
import org.apache.sis.util.ArraysExt;
import org.apache.sis.util.Utilities;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.ConditionallySafe;
import static org.apache.sis.util.collection.WeakEntry.*;
@@ -213,8 +212,7 @@ public class WeakHashSet<E> extends AbstractSet<E> implements CheckedContainer<E
*/
@Override
public synchronized boolean add(final E element) {
- ArgumentChecks.ensureNonNull("element", element);
- return intern(element, ADD) == null;
+ return intern(Objects.requireNonNull(element), ADD) == null;
}
/**
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CheckedArrayList.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CheckedArrayList.java
index a65e388130..0ac4d10bec 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CheckedArrayList.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CheckedArrayList.java
@@ -21,11 +21,11 @@ import java.util.AbstractList;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.Objects;
import org.apache.sis.util.Classes;
import org.apache.sis.util.ArraysExt;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.util.collection.CheckedContainer;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
/**
@@ -67,9 +67,7 @@ public final class CheckedArrayList<E> extends ArrayList<E> implements CheckedCo
* @param type the element type (cannot be null).
*/
public CheckedArrayList(final Class<E> type) {
- super();
- this.type = type;
- ensureNonNull("type", type);
+ this.type = Objects.requireNonNull(type);
}
/**
@@ -80,8 +78,7 @@ public final class CheckedArrayList<E> extends ArrayList<E> implements CheckedCo
*/
public CheckedArrayList(final Class<E> type, final int capacity) {
super(capacity);
- this.type = type;
- ensureNonNull("type", type);
+ this.type = Objects.requireNonNull(type);
}
/**
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CheckedHashSet.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CheckedHashSet.java
index 0802abbb12..9266f069dc 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CheckedHashSet.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CheckedHashSet.java
@@ -19,8 +19,8 @@ package org.apache.sis.util.internal;
import java.util.Set;
import java.util.Collections;
import java.util.LinkedHashSet;
+import java.util.Objects;
import org.apache.sis.util.collection.CheckedContainer;
-import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
/**
@@ -59,9 +59,7 @@ public final class CheckedHashSet<E> extends LinkedHashSet<E> implements Checked
* @param type the element type (cannot be null).
*/
public CheckedHashSet(final Class<E> type) {
- super();
- this.type = type;
- ensureNonNull("type", type);
+ this.type = Objects.requireNonNull(type);
}
/**
@@ -72,8 +70,7 @@ public final class CheckedHashSet<E> extends LinkedHashSet<E> implements Checked
*/
public CheckedHashSet(final Class<E> type, final int capacity) {
super(capacity);
- this.type = type;
- ensureNonNull("type", type);
+ this.type = Objects.requireNonNull(type);
}
/**
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/SimpleCharacterIterator.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/SimpleCharacterIterator.java
index 726e2c66f5..863da02b96 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/SimpleCharacterIterator.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/SimpleCharacterIterator.java
@@ -56,7 +56,6 @@ public class SimpleCharacterIterator implements CharacterIterator, CharSequence
* @param text the character sequence to wrap.
*/
public SimpleCharacterIterator(final CharSequence text) {
- ArgumentChecks.ensureNonNull("text", text);
this.text = text;
upper = text.length();
}
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/Logging.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/Logging.java
index 7a38ac2d88..c3c68deafd 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/Logging.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/Logging.java
@@ -75,7 +75,6 @@ public final class Logging extends Static {
* @since 1.0
*/
public static Logger getLogger(final Class<?> source) {
- ArgumentChecks.ensureNonNull("source", source);
return Logger.getLogger(source.getPackageName());
}
diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/MonolineFormatter.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/MonolineFormatter.java
index 7ac201fe35..1600ee1c45 100644
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/MonolineFormatter.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/logging/MonolineFormatter.java
@@ -35,7 +35,6 @@ import java.util.logging.*;
import java.util.function.IntSupplier;
import org.apache.sis.system.Modules;
import org.apache.sis.system.Configuration;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.CharSequences;
import org.apache.sis.util.Debug;
import org.apache.sis.util.internal.X364;
@@ -1067,7 +1066,6 @@ loop: for (int i=0; ; i++) {
@Debug
@Configuration(writeAccess = Configuration.Access.STATIC)
public static MonolineFormatter install(final Logger logger, final Level level) throws SecurityException {
- ArgumentChecks.ensureNonNull("logger", logger);
MonolineFormatter monoline = null;
for (final Handler handler : logger.getHandlers()) {
if (handler instanceof ConsoleHandler) {
diff --git a/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/ExceptionPresentation.java b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/ExceptionPresentation.java
index 65fbc3ee36..dbaebca2ca 100644
--- a/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/ExceptionPresentation.java
+++ b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/ExceptionPresentation.java
@@ -16,9 +16,9 @@
*/
package org.apache.sis.map;
+import java.util.Objects;
import org.opengis.feature.Feature;
import org.apache.sis.storage.Resource;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -40,17 +40,15 @@ public class ExceptionPresentation extends Presentation {
* @param exception not null.
*/
public ExceptionPresentation(Exception exception) {
- ArgumentChecks.ensureNonNull("exception", exception);
- this.exception = exception;
+ this.exception = Objects.requireNonNull(exception);
}
/**
* @param exception not null.
*/
public ExceptionPresentation(MapLayer layer, Resource resource, Feature candidate, Exception exception) {
- super(layer,resource, candidate);
- ArgumentChecks.ensureNonNull("exception", exception);
- this.exception = exception;
+ super(layer, resource, candidate);
+ this.exception = Objects.requireNonNull(exception);
}
/**
diff --git a/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/SEPortrayer.java b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/SEPortrayer.java
index 47efb5ab89..956ca9f394 100644
--- a/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/SEPortrayer.java
+++ b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/SEPortrayer.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
+import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.function.BiFunction;
@@ -69,7 +70,6 @@ import org.apache.sis.storage.Query;
import org.apache.sis.storage.Resource;
import org.apache.sis.referencing.CRS;
import org.apache.sis.referencing.operation.matrix.AffineTransforms2D;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.style.se1.FeatureTypeStyle;
import org.apache.sis.style.se1.Rule;
import org.apache.sis.style.se1.Symbolizer;
@@ -157,8 +157,7 @@ public final class SEPortrayer {
* @param marginSolver
*/
public void setMarginSolver(BiFunction<GridGeometry, Symbolizer<?>, Double> marginSolver) {
- ArgumentChecks.ensureNonNull("marginSolver", marginSolver);
- this.marginSolver = marginSolver;
+ this.marginSolver = Objects.requireNonNull(marginSolver);
}
/**
diff --git a/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/GraphicsPortrayer.java b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/GraphicsPortrayer.java
index c146d3a81b..6500fd1f49 100644
--- a/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/GraphicsPortrayer.java
+++ b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/GraphicsPortrayer.java
@@ -31,7 +31,6 @@ import org.apache.sis.map.MapLayer;
import org.apache.sis.map.MapLayers;
import org.apache.sis.map.Presentation;
import org.apache.sis.style.Style;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -65,8 +64,7 @@ public final class GraphicsPortrayer {
* @return this portrayer
*/
public GraphicsPortrayer setCanvas(BufferedImage image) {
- ArgumentChecks.ensureNonNull("image", image);
- this.image = image;
+ this.image = Objects.requireNonNull(image);
this.graphics = image.createGraphics();
return this;
}
@@ -78,8 +76,7 @@ public final class GraphicsPortrayer {
* @return this portrayer
*/
public GraphicsPortrayer setCanvas(Graphics2D graphics) {
- ArgumentChecks.ensureNonNull("graphics", graphics);
- this.graphics = graphics;
+ this.graphics = Objects.requireNonNull(graphics);
return this;
}
@@ -89,7 +86,7 @@ public final class GraphicsPortrayer {
* @param domain not null, lower extent coordinates must be on 0.
*/
public GraphicsPortrayer setDomain(GridGeometry domain) {
- ArgumentChecks.ensureNonNull("domain", domain);
+ // Implicit null check. As of Java 14, exception message is informative.
long[] low = domain.getExtent().getLow().getCoordinateValues();
for (long l : low) {
Objects.checkIndex((int) l, 1);
@@ -119,7 +116,7 @@ public final class GraphicsPortrayer {
* Validate parameters and create image if needed.
*/
private Scene2D init() {
- ArgumentChecks.ensureNonNull("domain", domain);
+ Objects.requireNonNull(domain, "domain"); // Not an argument.
if (image == null) {
setCanvas(new BufferedImage(
(int) domain.getExtent().getSize(0),
diff --git a/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/Scene2D.java b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/Scene2D.java
index 12a25b0533..02ac199164 100644
--- a/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/Scene2D.java
+++ b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/Scene2D.java
@@ -17,9 +17,9 @@
package org.apache.sis.map.service;
import java.awt.Graphics2D;
+import java.util.Objects;
import java.util.logging.Logger;
import org.apache.sis.coverage.grid.GridGeometry;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -42,10 +42,8 @@ public final class Scene2D {
public final Graphics2D graphics;
public Scene2D(GridGeometry grid, Graphics2D graphics) {
- ArgumentChecks.ensureNonNull("grid", grid);
- ArgumentChecks.ensureNonNull("graphics", graphics);
- this.grid = grid;
- this.graphics = graphics;
+ this.grid = Objects.requireNonNull(grid);
+ this.graphics = Objects.requireNonNull(graphics);
}
public Graphics2D getGraphics() {
diff --git a/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/se1/PresentationToScene2D.java b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/se1/PresentationToScene2D.java
index c479c8018f..66bc6680ad 100644
--- a/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/se1/PresentationToScene2D.java
+++ b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/se1/PresentationToScene2D.java
@@ -22,6 +22,7 @@ import java.io.IOException;
import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.Map;
+import java.util.Objects;
import java.util.function.Consumer;
import java.util.function.Predicate;
import java.util.logging.Level;
@@ -37,7 +38,6 @@ import org.apache.sis.map.service.RenderingException;
import org.apache.sis.coverage.grid.GridGeometry;
import org.apache.sis.storage.DataStoreException;
import org.apache.sis.style.se1.Symbolizer;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -70,8 +70,7 @@ final class PresentationToScene2D {
* @param grid, not null
*/
public PresentationToScene2D(GridGeometry grid, Graphics2D graphics) throws FactoryException, MismatchedDimensionException, TransformException {
- ArgumentChecks.ensureNonNull("grid", grid);
-
+ // Null values are verified by the Scene2D constuctor.
state = new Scene2D(grid, graphics);
}
@@ -81,9 +80,7 @@ final class PresentationToScene2D {
* @param state, not null
*/
public PresentationToScene2D(Scene2D state) {
- ArgumentChecks.ensureNonNull("state", state);
-
- this.state = state;
+ this.state = Objects.requireNonNull(state);
}
/**
diff --git a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageExplorer.java b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageExplorer.java
index 88486ce894..0bb555922f 100644
--- a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageExplorer.java
+++ b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageExplorer.java
@@ -18,6 +18,7 @@ package org.apache.sis.gui.coverage;
import java.util.Map;
import java.util.EnumMap;
+import java.util.Objects;
import java.util.Optional;
import java.awt.image.RenderedImage;
import javafx.application.Platform;
@@ -41,7 +42,6 @@ import org.apache.sis.gui.internal.Resources;
import org.apache.sis.gui.internal.ToolbarButton;
import org.apache.sis.gui.internal.NonNullObjectProperty;
import org.apache.sis.gui.internal.PrivateAccess;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.portrayal.RenderException;
import org.apache.sis.gui.referencing.RecentReferenceSystems;
import org.apache.sis.gui.dataset.WindowHandler;
@@ -231,9 +231,8 @@ public class CoverageExplorer extends Widget {
*/
@SuppressWarnings("this-escape")
public CoverageExplorer(final View type) {
- ArgumentChecks.ensureNonNull("type", type);
views = new EnumMap<>(View.class);
- viewTypeProperty = new NonNullObjectProperty<>(this, "viewType", type);
+ viewTypeProperty = new NonNullObjectProperty<>(this, "viewType", Objects.requireNonNull(type));
resourceProperty = new SimpleObjectProperty<> (this, "resource");
coverageProperty = new SimpleObjectProperty<> (this, "coverage");
referenceSystems = new RecentReferenceSystems();
@@ -392,8 +391,7 @@ public class CoverageExplorer extends Widget {
*/
public final Region getDataView(final View type) {
assert Platform.isFxApplicationThread();
- ArgumentChecks.ensureNonNull("type", type);
- return getViewAndControls(type, false).viewAndNavigation;
+ return getViewAndControls(Objects.requireNonNull(type), false).viewAndNavigation;
}
/**
@@ -405,8 +403,7 @@ public class CoverageExplorer extends Widget {
*/
public final TitledPane[] getControls(final View type) {
assert Platform.isFxApplicationThread();
- ArgumentChecks.ensureNonNull("type", type);
- return getViewAndControls(type, false).controlPanes.clone();
+ return getViewAndControls(Objects.requireNonNull(type), false).controlPanes.clone();
}
/**
diff --git a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/ImageRequest.java b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/ImageRequest.java
index edd691605d..f0153d4750 100644
--- a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/ImageRequest.java
+++ b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/ImageRequest.java
@@ -16,13 +16,13 @@
*/
package org.apache.sis.gui.coverage;
+import java.util.Objects;
import java.util.Optional;
import org.apache.sis.coverage.grid.GridCoverage;
import org.apache.sis.coverage.grid.GridGeometry;
import org.apache.sis.coverage.grid.GridExtent;
import org.apache.sis.storage.GridCoverageResource;
import org.apache.sis.storage.DataStoreException;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -114,8 +114,7 @@ public class ImageRequest {
* @see GridCoverageResource#read(GridGeometry, int...)
*/
public ImageRequest(final GridCoverageResource source, final GridGeometry domain, final int... range) {
- ArgumentChecks.ensureNonNull("source", source);
- this.resource = source;
+ this.resource = Objects.requireNonNull(source);
this.domain = domain;
this.range = (range != null && range.length != 0) ? range : null;
/*
@@ -140,8 +139,7 @@ public class ImageRequest {
* @see GridCoverage#render(GridExtent)
*/
public ImageRequest(final GridCoverage source, final GridExtent slice) {
- ArgumentChecks.ensureNonNull("source", source);
- this.coverage = source;
+ this.coverage = Objects.requireNonNull(source);
this.slice = slice;
this.resource = null;
this.domain = null;
diff --git a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/dataset/WindowHandler.java b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/dataset/WindowHandler.java
index 0b1994c748..3cd9cdca73 100644
--- a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/dataset/WindowHandler.java
+++ b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/dataset/WindowHandler.java
@@ -28,7 +28,6 @@ import javafx.beans.value.ChangeListener;
import javafx.beans.property.StringProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.collections.ObservableList;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.resources.Vocabulary;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.storage.Resource;
@@ -126,7 +125,6 @@ public abstract class WindowHandler {
* @return a handler for the window of the given widget.
*/
public static WindowHandler create(final CoverageExplorer widget) {
- ArgumentChecks.ensureNonNull("widget", widget);
return new ForCoverage(null, widget.getLocale(), widget).finish();
}
@@ -137,7 +135,6 @@ public abstract class WindowHandler {
* @return a handler for the window of the given widget.
*/
public static WindowHandler create(final FeatureTable widget) {
- ArgumentChecks.ensureNonNull("widget", widget);
return new ForFeatures(null, widget.textLocale, widget).finish();
}
diff --git a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapMenu.java b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapMenu.java
index 29fd56f4da..04b4520ebe 100644
--- a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapMenu.java
+++ b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapMenu.java
@@ -17,6 +17,7 @@
package org.apache.sis.gui.map;
import java.util.Locale;
+import java.util.Objects;
import java.util.Optional;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuItem;
@@ -35,7 +36,6 @@ import org.apache.sis.gui.referencing.PositionableProjection;
import org.apache.sis.gui.internal.ExceptionReporter;
import org.apache.sis.gui.internal.Resources;
import org.apache.sis.referencing.IdentifiedObjects;
-import org.apache.sis.util.ArgumentChecks;
/**
@@ -87,8 +87,7 @@ public class MapMenu extends ContextMenu {
* @param canvas the canvas for which to create menus.
*/
public MapMenu(final MapCanvas canvas) {
- ArgumentChecks.ensureNonNull("canvas", canvas);
- this.canvas = canvas;
+ this.canvas = Objects.requireNonNull(canvas);
}
/**
@@ -129,7 +128,7 @@ public class MapMenu extends ContextMenu {
* @see #selectedReferenceSystem()
*/
public void addReferenceSystems(final RecentReferenceSystems preferences) {
- ArgumentChecks.ensureNonNull("preferences", preferences);
+ Objects.requireNonNull(preferences);
final MapCanvas.MenuHandler handler = startNewMenuItems(CRS);
final Menu systemChoices = preferences.createMenuItems(true, handler);
handler.selectedCrsProperty = RecentReferenceSystems.getSelectedProperty(systemChoices);
@@ -155,7 +154,7 @@ public class MapMenu extends ContextMenu {
* @param format status bar determining the CRS and format to use for coordinate values.
*/
public void addCopyOptions(final StatusBar format) {
- ArgumentChecks.ensureNonNull("format", format);
+ Objects.requireNonNull(format);
final MapCanvas.MenuHandler handler = startNewMenuItems(COPY);
final Resources resources = Resources.forLocale(canvas.getLocale());
final MenuItem coordinates = resources.menu(Resources.Keys.CopyCoordinates, (event) -> {
diff --git a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/StatusBar.java b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/StatusBar.java
index b38fc1eb30..7ce7a37301 100644
--- a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/StatusBar.java
+++ b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/StatusBar.java
@@ -582,7 +582,6 @@ public class StatusBar extends Widget implements EventHandler<MouseEvent> {
* @since 1.3
*/
public void track(final MapCanvas canvas) {
- ArgumentChecks.ensureNonNull("canvas", canvas);
if (this.canvas != null) {
throw new IllegalArgumentException(Errors.format(
Errors.Keys.TooManyCollectionElements_3, "canvas", 1, 2));
@@ -592,7 +591,7 @@ public class StatusBar extends Widget implements EventHandler<MouseEvent> {
* We do not allow the canvas to be changed after construction because of the added complexity
* (e.g. we would have to remember all registered listeners so we can unregister them).
*/
- this.canvas = canvas;
+ this.canvas = Objects.requireNonNull(canvas);
sampleValuesProvider.set(ValuesUnderCursor.create(canvas));
canvas.errorProperty().addListener((p,o,n) -> setRenderingError(n));
canvas.renderingProperty().addListener((p,o,n) -> {if (!n) applyCanvasGeometry();});
@@ -1162,11 +1161,11 @@ public class StatusBar extends Widget implements EventHandler<MouseEvent> {
* @throws MismatchedDimensionException if the number of dimensions is not the same as previous conversion.
*/
@Override public void set(MathTransform newValue) {
- ArgumentChecks.ensureNonNull("newValue", newValue);
final MathTransform oldValue = get();
ArgumentChecks.ensureDimensionsMatch("newValue",
oldValue.getSourceDimensions(),
- oldValue.getTargetDimensions(), newValue);
+ oldValue.getTargetDimensions(),
+ Objects.requireNonNull(newValue));
final MathTransform tr = objectiveToPositionCRS;
if (tr != null) {
newValue = MathTransforms.concatenate(newValue, tr);
diff --git a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/referencing/PositionableProjection.java b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/referencing/PositionableProjection.java
index 74ac5d0566..370d6e0ae9 100644
--- a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/referencing/PositionableProjection.java
+++ b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/referencing/PositionableProjection.java
@@ -34,7 +34,6 @@ import org.apache.sis.measure.AngleFormat;
import org.apache.sis.measure.Latitude;
import org.apache.sis.measure.Longitude;
import org.apache.sis.measure.Units;
-import org.apache.sis.util.ArgumentChecks;
import org.apache.sis.util.Utilities;
import org.apache.sis.util.resources.Errors;
import org.apache.sis.util.logging.Logging;
@@ -211,7 +210,6 @@ public abstract class PositionableProjection extends CodeList<PositionableProjec
* @throws TransformException if an error occurred while converting the given position.
*/
public ProjectedCRS createProjectedCRS(DirectPosition center) throws FactoryException, TransformException {
- ArgumentChecks.ensureNonNull("center", center);
final CoordinateReferenceSystem inherit = center.getCoordinateReferenceSystem();
if (inherit == null) {
throw new IllegalArgumentException(Errors.format(Errors.Keys.UnspecifiedCRS));