diff --git a/.agents/memory/reference/cache-warm-window.md b/.agents/memory/reference/cache-warm-window.md index 796dd4d303..b57ca218cb 100644 --- a/.agents/memory/reference/cache-warm-window.md +++ b/.agents/memory/reference/cache-warm-window.md @@ -18,7 +18,7 @@ same cache slot — provided they fall within the TTL. Developers must have `ENABLE_PROMPT_CACHING_1H=1` set, otherwise the window is too short for cross-session hits to occur reliably. This setting will work ONLY for Claude Code which runs the CLI binary. -It will not work for JetBrains Air or any other IDE plugin which does not +It will not work for JetBrains Air or any other IDE plugin that does not run the Claude Code CLI binary. **Cache is per Anthropic workspace.** All developers authenticated via the diff --git a/.agents/tasks/add-suppliers2-iterators2.md b/.agents/tasks/add-suppliers2-iterators2.md index f820480fc7..3573ca3465 100644 --- a/.agents/tasks/add-suppliers2-iterators2.md +++ b/.agents/tasks/add-suppliers2-iterators2.md @@ -23,7 +23,7 @@ can later drop its copies. - `io.spine.util` already hosts the Guava-companion naming pattern (`Preconditions2`, `Predicates2`) and is `@NullMarked` via `package-info.java`. - The classes keep `@Internal` (as in the source PR): they are framework - plumbing; widening to public API later is non-breaking, the reverse is not. + plumbing; widening to public API later is non-breaking; the reverse is not. - New tests follow `kotlin-jvm-tester` conventions: Kotlin, `Spec` suffix, `internal`, `UtilityClassTest` base (private ctor + final + `NullPointerTester` on public statics), Kotest assertions. diff --git a/.agents/tasks/archive/raise-base-coverage.md b/.agents/tasks/archive/raise-base-coverage.md index cfc6176fa0..f7c17f8af3 100644 --- a/.agents/tasks/archive/raise-base-coverage.md +++ b/.agents/tasks/archive/raise-base-coverage.md @@ -39,7 +39,7 @@ gaps closed without weakening Codecov settings. - [x] Analyze whether `io.spine.code.fs` is used in SpineEventEngine projects. - [x] Mark `io.spine.code.fs` types that are not used by any project as deprecated. - [x] Deprecate `io.spine.code.fs` types that are not used. -- [x] Analyse whether `RejectionType` is used in Spine SDK projects and deprecate if not. +- [x] Analyze whether `RejectionType` is used in Spine SDK projects and deprecate if not. - [x] Finalize test cases for the remaining non-deprecated API and wait for approval to write tests. - [x] Add approved Kotlin `*Spec` tests using stubs, not mocks. diff --git a/annotations/src/main/kotlin/io/spine/annotation/GeneratedMixin.kt b/annotations/src/main/kotlin/io/spine/annotation/GeneratedMixin.kt index 7df4ec651a..bc2dd286f0 100644 --- a/annotations/src/main/kotlin/io/spine/annotation/GeneratedMixin.kt +++ b/annotations/src/main/kotlin/io/spine/annotation/GeneratedMixin.kt @@ -37,14 +37,14 @@ import kotlin.annotation.AnnotationTarget.CLASS * ## Motivation * * This annotation allows documenting the intent of the interface. - * It also allows to instruct IDEs to consider annotated interfaces as implemented before + * It also allows instructing IDEs to consider annotated interfaces as implemented before * the code generation phase, or if the interfaces are used only from projects that depend * on the one declaring these interfaces. * - * For example, Spine Base project introduces the `io.spine.base.CommandMessage` interface. + * For example, the Spine Base project introduces the `io.spine.base.CommandMessage` interface. * There are no command messages generated in the Base project because it does not provide any * backend API. The interface is used by multiple subprojects of the Spine SDK that depend - * on Base, but it is not used withing the project. + * on Base, but it is not used within the project. * Annotating the interface with `GeneratedMixin` addresses the issue. * * ## Creating a mixin interface diff --git a/base/build.gradle.kts b/base/build.gradle.kts index 6be73a1bd4..6014961fea 100644 --- a/base/build.gradle.kts +++ b/base/build.gradle.kts @@ -117,7 +117,7 @@ protobuf { } /** - * Remove the code generated for Google Protobuf library types. + * Removes the code generated for Google Protobuf library types. * * The code for the `com.google` package was generated because we wanted * to have descriptors for all the types, including those from Google Protobuf library. @@ -150,7 +150,7 @@ private val Project.generatedDir /** * Obtains the `generated` directory for the source set of the task. * - * If [language] is specified returns the subdirectory for this language. + * If [language] is specified, returns the subdirectory for this language. */ private fun GenerateProtoTask.generatedDir(language: String = ""): File { val path = "${project.generatedDir}/${sourceSet.name}/$language" diff --git a/base/src/main/java/io/spine/base/Errors.java b/base/src/main/java/io/spine/base/Errors.java index 69662629dc..f147eae410 100644 --- a/base/src/main/java/io/spine/base/Errors.java +++ b/base/src/main/java/io/spine/base/Errors.java @@ -1,11 +1,11 @@ /* - * Copyright 2022, TeamDev. All rights reserved. + * Copyright 2026, TeamDev. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Redistribution and use in source and/or binary forms, with or without * modification, must retain the above copyright notice and the following @@ -43,7 +43,7 @@ private Errors() { } /** - * Creates new instance of {@link Error} by the passed {@code Throwable}. + * Creates a new instance of {@link Error} by the passed {@code Throwable}. */ public static Error fromThrowable(Throwable throwable) { var result = toErrorBuilder(throwable); diff --git a/base/src/main/java/io/spine/base/Field.java b/base/src/main/java/io/spine/base/Field.java index 8ce0cae5ba..31ab5855fe 100644 --- a/base/src/main/java/io/spine/base/Field.java +++ b/base/src/main/java/io/spine/base/Field.java @@ -402,7 +402,7 @@ static FieldPath doParse(String fieldPath) { } /** - * If the passed value is {@code EnumValueDescriptor} converts it to the corresponding + * If the passed value is {@code EnumValueDescriptor}, converts it to the corresponding * Java enum value. Otherwise, returns the passed value. * *
{@link Message#getField(FieldDescriptor)} returns {@code EnumValueDescriptor} if @@ -448,7 +448,7 @@ private static Object convertIfEnum(Object currentValue) { return field; } - /** Ensures that the passed filed name does not contain the path separator. */ + /** Ensures that the passed field name does not contain the path separator. */ private static void checkName(String fieldName) { checkNotEmptyOrBlank(fieldName); checkArgument( diff --git a/base/src/main/java/io/spine/base/IdType.java b/base/src/main/java/io/spine/base/IdType.java index aa7127f7c1..492e720fc3 100644 --- a/base/src/main/java/io/spine/base/IdType.java +++ b/base/src/main/java/io/spine/base/IdType.java @@ -284,7 +284,7 @@ static IdType of(I id) { } /** - * Returns {@code true} if the passed instances of {@link Object} matches this + * Returns {@code true} if the passed instance of {@link Object} matches this * type of identifiers; {@code false} otherwise. */ abstract boolean matchValue(I id); diff --git a/base/src/main/java/io/spine/base/Identifier.java b/base/src/main/java/io/spine/base/Identifier.java index b3fd619829..29236aa394 100644 --- a/base/src/main/java/io/spine/base/Identifier.java +++ b/base/src/main/java/io/spine/base/Identifier.java @@ -289,7 +289,7 @@ private static IllegalArgumentException unsupportedClass(Class idClass) { until Java 18. So we link to the class Javadoc where the header comes first. */ public static void checkSupported(Class idClass) { checkNotNull(idClass); - // Even through `getType()` can never return null, we use its return value here + // Even though `getType()` can never return null, we use its return value here // instead of annotating the method so that the returned value can be ignored // just because of this one usage. var type = toType(idClass); @@ -343,7 +343,7 @@ public static boolean isSupportedIdType(FieldDescriptor field) { * Wraps the passed ID value into an instance of {@link Any}. * *
The passed value must be of one of the supported types listed below. - * The type of the value wrapped in to the returned instance is defined by the type + * The type of the value wrapped into the returned instance is defined by the type * of the passed value: *
Returned type depends on the type of the message wrapped into {@code Any}: + *
The returned type depends on the type of the message wrapped into {@code Any}: *
The most common scenario for using this method is test cases of code that deals * with current time. @@ -184,7 +184,7 @@ public Timestamp currentTime() { /** * Provides an incremental value of nanoseconds for the local JVM. * - *
In most cases, the JVM and underlying OS provides the millisecond-level precision at best. + *
In most cases, the JVM and underlying OS provide the millisecond-level precision at best. * Therefore, the messages produced in such a virtual machine are often stamped * with the same time value. However, most of the message-ordering routines require * the distinct time values for proper work. @@ -201,7 +201,7 @@ public Timestamp currentTime() { * It is designed to keep the millisecond value provided by a typical-JVM system clock intact. * *
The nanosecond value is reset for each new passed {@code seconds} and {@code nanos} - * values. That allows to receive {@code 1 000} distinct time values per millisecond. + * values. That allows receiving {@code 1 000} distinct time values per millisecond. * *
In case the upper bound of the nanos is reached, meaning that there were more than * {@code 1 000} calls to this class within a millisecond, the nanosecond value is reset diff --git a/base/src/main/java/io/spine/code/java/ClassName.java b/base/src/main/java/io/spine/code/java/ClassName.java index c456312f76..41a29d858c 100644 --- a/base/src/main/java/io/spine/code/java/ClassName.java +++ b/base/src/main/java/io/spine/code/java/ClassName.java @@ -96,7 +96,7 @@ public static ClassName of(@FullyQualifiedName String className) { } /** - * Creates a class name from the specified package the and simple name. + * Creates a class name from the specified package and simple name. * * @param packageName * the name of the class package @@ -240,7 +240,7 @@ public String canonicalName() { * The actual returned value is obtained from {@link Class#getName()}. In most cases, * the {@code Class.getName()} and the JDK-spec binary name coincide. * - * @return the name with the {@link #OUTER_CLASS_DELIMITER}s between nested classed if any + * @return the name with the {@link #OUTER_CLASS_DELIMITER}s between nested classes if any * @implSpec This method returns the same value as does the {@code value()} method. Use * this method for more clarity in the client code. */ @@ -306,7 +306,7 @@ public String withoutPackage() { } /** - * Obtain the part of the name after the last {@link #DOT_SEPARATOR .} (dot) symbol. + * Obtains the part of the name after the last {@link #DOT_SEPARATOR .} (dot) symbol. * * @param fullName * a full class name @@ -334,10 +334,10 @@ private int packageEndIndex() { } /** - * Obtains the simple name of the top level class. + * Obtains the simple name of the top-level class. * *
If this class is top level, returns the simple name of this class. - * If this class is nested, returns the name of the declaring top level class. + * If this class is nested, returns the name of the declaring top-level class. */ public SimpleClassName topLevelClass() { var qualifiedClassName = afterDot(value()); diff --git a/base/src/main/java/io/spine/code/java/PackageName.java b/base/src/main/java/io/spine/code/java/PackageName.java index 69d8383acf..be9e6df18b 100644 --- a/base/src/main/java/io/spine/code/java/PackageName.java +++ b/base/src/main/java/io/spine/code/java/PackageName.java @@ -1,11 +1,11 @@ /* - * Copyright 2022, TeamDev. All rights reserved. + * Copyright 2026, TeamDev. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Redistribution and use in source and/or binary forms, with or without * modification, must retain the above copyright notice and the following @@ -50,7 +50,7 @@ private PackageName(String value) { } /** - * Creates instance for the passed package name. + * Creates an instance for the passed package name. * * @param value * the package name, which cannot be empty or blank diff --git a/base/src/main/java/io/spine/code/proto/ColumnOption.java b/base/src/main/java/io/spine/code/proto/ColumnOption.java index fb879c29d6..9216f3d9fa 100644 --- a/base/src/main/java/io/spine/code/proto/ColumnOption.java +++ b/base/src/main/java/io/spine/code/proto/ColumnOption.java @@ -69,8 +69,8 @@ public static boolean hasColumns(MessageType messageType) { /** * Returns all fields of a message type that are declared as columns. * - *
If the message type is not eligible for having columns, returns empty list regardless of - * how fields are declared. + *
If the message type is not eligible for having columns, returns an empty list regardless
+ * of how fields are declared.
*/
public static ImmutableList There are four kids of options, namely, Aggregate, Projection, Process Manager, and Entity.
+ * There are four kinds of options, namely, Aggregate, Projection, Process Manager, and Entity.
*/
@Immutable
public final class EntityStateOption extends MessageOption If the field is {@code repeated}, obtains the name of the elements.
@@ -271,7 +271,7 @@ public boolean isCollection() {
}
/**
- * Determines whether the field marked as {@code repeated}.
+ * Determines whether the field is marked as {@code repeated}.
*
* A map field is not considered repeated.
*
@@ -311,7 +311,7 @@ public MessageType messageType() {
}
/**
- * Obtains a class name of the field type or a name a wrapper class, if the field is scalar.
+ * Obtains a class name of the field type or a name of a wrapper class, if the field is scalar.
*/
@Internal
public ClassName className() {
diff --git a/base/src/main/java/io/spine/code/proto/FieldName.java b/base/src/main/java/io/spine/code/proto/FieldName.java
index 3178014826..b6e67131bb 100644
--- a/base/src/main/java/io/spine/code/proto/FieldName.java
+++ b/base/src/main/java/io/spine/code/proto/FieldName.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -77,7 +77,7 @@ public static FieldName of(FieldDescriptorProto field) {
}
/**
- * Obtains immutable list of words used in the name of the field.
+ * Obtains an immutable list of words used in the name of the field.
*
* A word is a part of the name, the first letter of which should be capitalized
* when converting {@linkplain #toCamelCase() to CamelCase}.
diff --git a/base/src/main/java/io/spine/code/proto/FileSet.java b/base/src/main/java/io/spine/code/proto/FileSet.java
index f22256b0a3..c106a42531 100644
--- a/base/src/main/java/io/spine/code/proto/FileSet.java
+++ b/base/src/main/java/io/spine/code/proto/FileSet.java
@@ -245,14 +245,14 @@ public FileSet filter(Predicate Such a resource is represented by a string path relative to the {@code "resources"} directory
- * of a project, and is loaded by a specified {@link ClassLoader} on runtime.
+ * of a project, and is loaded by a specified {@link ClassLoader} at runtime.
*/
abstract class ResourceObject {
diff --git a/base/src/main/java/io/spine/option/BaseOptionsProvider.java b/base/src/main/java/io/spine/option/BaseOptionsProvider.java
index 43f83d5360..070af4d069 100644
--- a/base/src/main/java/io/spine/option/BaseOptionsProvider.java
+++ b/base/src/main/java/io/spine/option/BaseOptionsProvider.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -30,7 +30,7 @@
import com.google.protobuf.ExtensionRegistry;
/**
- * Register options generated for the {@code spine/options.proto} file.
+ * Registers options generated for the {@code spine/options.proto} file.
*/
@AutoService(OptionsProvider.class)
public final class BaseOptionsProvider implements OptionsProvider {
diff --git a/base/src/main/java/io/spine/protobuf/AnyPacker.java b/base/src/main/java/io/spine/protobuf/AnyPacker.java
index a08dd19e58..b0f821f93b 100644
--- a/base/src/main/java/io/spine/protobuf/AnyPacker.java
+++ b/base/src/main/java/io/spine/protobuf/AnyPacker.java
@@ -41,14 +41,14 @@
/**
* Utilities for packing messages into {@link Any} and unpacking them.
*
- * When packing, the {@code AnyPacker} takes care of obtaining correct type URL prefix
+ * When packing, the {@code AnyPacker} takes care of obtaining the correct type URL prefix
* for the passed messages.
*
* When unpacking, the {@code AnyPacker} obtains a Java class matching the type URL
* from the given instance of {@link Any}.
*
* @implNote This class does not use the {@link Any#unpack(Class)} method for unpacking
- * because for the performance reasons.
+ * for performance reasons.
*
* The implementation of {@link Any#unpack(Class)} invokes the {@link Any#is(Class) is(Class)}
* method that obtains a default instance of a message by calling a method
@@ -71,7 +71,7 @@ private AnyPacker() {
/**
* Wraps {@link Message} object inside of {@link Any} instance.
*
- * If an instance of {@code Any} passed, this instance is returned.
+ * If an instance of {@code Any} is passed, this instance is returned.
*
* @param message the message to pack
* @return the wrapping instance of {@link Any} or the message itself, if it is {@code Any}
diff --git a/base/src/main/java/io/spine/protobuf/Durations2.java b/base/src/main/java/io/spine/protobuf/Durations2.java
index 7df4ae3a0c..03ece2fb12 100644
--- a/base/src/main/java/io/spine/protobuf/Durations2.java
+++ b/base/src/main/java/io/spine/protobuf/Durations2.java
@@ -60,7 +60,7 @@
@SuppressWarnings("UtilityClass")
public final class Durations2 {
- /** Prevent instantiation of this utility class. */
+ /** Prevents instantiation of this utility class. */
private Durations2() {
}
@@ -160,7 +160,7 @@ public static Duration hoursAndMinutes(long hours, long minutes) {
}
/**
- * Returns {@code true} of the passed value is greater or equal zero,
+ * Returns {@code true} if the passed value is greater or equal zero,
* {@code false} otherwise.
*/
public static boolean isPositiveOrZero(Duration value) {
@@ -204,7 +204,7 @@ public static Duration of(java.time.Duration value) {
}
/**
- * Converts the passed value to Java Time value.
+ * Converts the passed value to a Java Time value.
*/
public static java.time.Duration toJavaTime(Duration value) {
checkNotNull(value);
@@ -232,7 +232,7 @@ public static Duration parse(String str) {
}
/**
- * Obtains the instance of Java Time converter.
+ * Obtains the instance of the Java Time converter.
*/
public static Converter Since the Protobuf and Java primitives differ, there may be more then one
+ * Since the Protobuf and Java primitives differ, there may be more than one
* {@code WrappingConverter} for a Java primitive type. In this case, if the resulting Protobuf
* value type is not specified explicitly, the closest type is selected as a target for
* the conversion. The closeness of two types is determined by the lexicographic closeness.
diff --git a/base/src/main/java/io/spine/protobuf/package-info.java b/base/src/main/java/io/spine/protobuf/package-info.java
index a338ae378e..d03b5e7250 100644
--- a/base/src/main/java/io/spine/protobuf/package-info.java
+++ b/base/src/main/java/io/spine/protobuf/package-info.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -25,7 +25,7 @@
*/
/**
- * This package provides utility classes for working with Google Protobuf implementation in Java.
+ * This package provides utility classes for working with the Google Protobuf implementation in Java.
*/
@CheckReturnValue
@NullMarked
diff --git a/base/src/main/java/io/spine/query/CartesianProducts.java b/base/src/main/java/io/spine/query/CartesianProducts.java
index 086a49d105..a05cc8a376 100644
--- a/base/src/main/java/io/spine/query/CartesianProducts.java
+++ b/base/src/main/java/io/spine/query/CartesianProducts.java
@@ -48,7 +48,7 @@ private CartesianProducts() {
}
/**
- * Multiplies the each of the passed simple parameters onto each of parts
+ * Multiplies each of the passed simple parameters onto each of the parts
* of the passed {@code OrExpression}, handling the multiplication
* as {@code A && (B || C || D ...) <=> (A && B) || (A && C) || (A && D) || ...)}
*
@@ -72,7 +72,7 @@ void cartesianSimpleParams(List If the passed child expression is a conjunctive one, its contents are copied
- * to the contents of the passed builder. And in other case, it is appended as a child
+ * to the contents of the passed builder. And in the other case, it is appended as a child
* of the passed builder.
*
* @param The custom parameters are set as desired values for the {@link CustomColumn}s.
*
diff --git a/base/src/main/java/io/spine/query/Distribution.java b/base/src/main/java/io/spine/query/Distribution.java
index 5335ba60c1..0a077a8d01 100644
--- a/base/src/main/java/io/spine/query/Distribution.java
+++ b/base/src/main/java/io/spine/query/Distribution.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -67,7 +67,7 @@ private Distribution() {
}
/**
- * Applies the distribution law to given {@code AndExpression} being in conjunction
+ * Applies the distribution law to the given {@code AndExpression} being in conjunction
* with an {@code OrExpression}.
*/
private static The outcome is a cartesian product of parts of each expression. All resulting pairs
- * are expressions such as {@code (paramA && childB)}, joined by conjunction. The resulting
+ * are expressions such as {@code (paramA && childB)}, joined by conjunction. The resulting
* {@code OrExpression} contains all these newly created conjunctive pairs as children:
*
* Outcome:
diff --git a/base/src/main/java/io/spine/query/EntityCriterion.java b/base/src/main/java/io/spine/query/EntityCriterion.java
index 670876b4f6..4ee7d8fa9b 100644
--- a/base/src/main/java/io/spine/query/EntityCriterion.java
+++ b/base/src/main/java/io/spine/query/EntityCriterion.java
@@ -31,7 +31,7 @@
/**
* An expression that sets the value to compare for the {@link EntityColumn} in scope of
- * a {@link EntityQueryBuilder} when building an {@link EntityQuery}.
+ * an {@link EntityQueryBuilder} when building an {@link EntityQuery}.
*
* @param This method is a syntax sugar for a convenient method chaining for those who wishes to use
+ * This method is a syntax sugar for a convenient method chaining for those who wish to use
* the produced query in their own transformation flow.
*
* @param transformer
diff --git a/base/src/main/java/io/spine/query/Expression.java b/base/src/main/java/io/spine/query/Expression.java
index 180bfe7d0d..cf7a90f30a 100644
--- a/base/src/main/java/io/spine/query/Expression.java
+++ b/base/src/main/java/io/spine/query/Expression.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -43,7 +43,7 @@
* It makes it difficult to use them in operations like applying the distributive law
* of boolean algebra.
*
- * Therefore, this type and its descendants serve as a "staging" data structures for performing
+ * Therefore, this type and its descendants serve as "staging" data structures for performing
* manipulations with the expression parts.
*
* @param Note that {@code myProjectName} is checked to be of {@code ProjectName} type, at the time
* of code compilation.
*
- * Also, the snake_case notation used in the declaration of {@code project_name} field.
- * As many field names contain at least two words, such an approach allows to easily distinguish
+ * Also, note the snake_case notation used in the declaration of the {@code project_name} field.
+ * As many field names contain at least two words, such an approach allows easily distinguishing
* a field from a Java variable holding a value to which the field values are compared
* ({@code myProjectName} in the example above).
*
diff --git a/base/src/main/java/io/spine/query/RecordQueryBuilder.java b/base/src/main/java/io/spine/query/RecordQueryBuilder.java
index 810581b7cd..15db42a67e 100644
--- a/base/src/main/java/io/spine/query/RecordQueryBuilder.java
+++ b/base/src/main/java/io/spine/query/RecordQueryBuilder.java
@@ -74,7 +74,7 @@ public RecordQuery build() {
* Builds a query on top of this record query builder and transforms it according
* to the logic of the passed transformer.
*
- * This method is a syntax sugar for a convenient method chaining for those who wishes to use
+ * This method is a syntax sugar for a convenient method chaining for those who wish to use
* the produced query in their own transformation flow.
*
* @param transformer
diff --git a/base/src/main/java/io/spine/query/SortBy.java b/base/src/main/java/io/spine/query/SortBy.java
index 9e6c4bfa1d..01946daaa6 100644
--- a/base/src/main/java/io/spine/query/SortBy.java
+++ b/base/src/main/java/io/spine/query/SortBy.java
@@ -46,7 +46,7 @@ public final class SortBy A significant part of the Protobuf messages emitted in the Spine-powered applications are
* written and read from a persistent storage at some point in their lifecycle. At the same time,
- * Spine apps follow the hexagonal architecture. Instead of writing a database-specific code,
+ * Spine apps follow the hexagonal architecture. Instead of writing database-specific code,
* developers deal with an abstraction over a database port. Under these circumstances,
- * a convenient language is required to describe the how the message data is saved and retrieved.
+ * a convenient language is required to describe how the message data is saved and retrieved.
*
* Proto messages may have complex structure that hardly maps to a flat structure of most
* relational databases and even some NoSQL storages. Therefore, when a Protobuf message
@@ -41,7 +41,7 @@
* serialization mechanism. The resulting record is stored along with its identifier.
* It's worth mentioning that the Protobuf binary format makes the records compact in size and
* resilient to any future changes made to the declaration of a stored {@code Message}. There
- * are more information available on the Protobuf serialization performance
+ * is more information available on the Protobuf serialization performance
* over
* the web.
*
@@ -167,7 +167,7 @@
* .build();
*
*
- * Where {@code someManufacturer} must a value of {@code ManufacturerId} type. In addition
+ * Where {@code someManufacturer} must be a value of {@code ManufacturerId} type. In addition
* to {@link io.spine.query.IdCriterion#is(java.lang.Object) is(value)}, the framework also provides
* {@link io.spine.query.IdCriterion#in(java.lang.Object[]) in(...values)} and
* {@link io.spine.query.IdCriterion#in(java.lang.Iterable) in(Iterable values)}
@@ -220,7 +220,7 @@
* Among all the stored Protobuf messages, there is a special case. If a message is declared as
- * an Entity state, it triggers an additional processing on a build-time. The framework
+ * an Entity state, it triggers additional processing at build-time. The framework
* automatically extends the Java types generated for Entity states with more Entity-specific API.
*
* Let's consider a message:
@@ -319,8 +319,8 @@
*
* In addition to the columns declared in the Entity state, the query API allows declaring
* the custom columns. They are intended to handle the cases in which some computed on-the-fly data
- * should be stored along with the record. It may the time of entity creation, the role of the
- * user created the record, whether the entity is deleted or archived etc. That is, something
+ * should be stored along with the record. It may be the time of entity creation, the role of the
+ * user who created the record, whether the entity is deleted or archived, etc. That is, something
* that isn't included into the definition of the original {@code Message} type of the record.
*
* If a Proto message declares an Entity state with no columns, the framework still requires
* at least one field declared. As described above, it is treated as an Entity identifier.
* Therefore, both {@code QueryBuilder} and {@code Query} are generated for this case, allowing
- * to query the Entity state records by their identifiers.
+ * querying the Entity state records by their identifiers.
*
* It is used for converting back and forth between the different
@@ -42,12 +42,12 @@
public abstract class Stringifier This method logs a warning message if the file declaring this message type does not have
* {@linkplain FileDescriptorProto#hasSourceCodeInfo() source code info}
- * produced ty Protobuf compiler. The warning message provides instructions for configuring
+ * produced by Protobuf compiler. The warning message provides instructions for configuring
* the Protobuf Gradle plugin for enabling source code info.
*
* @param locationPath
@@ -366,7 +366,7 @@ public Optional Descriptors available in the generated code -- obtained via
diff --git a/base/src/main/java/io/spine/type/Type.java b/base/src/main/java/io/spine/type/Type.java
index 336149a0d3..02a1f4a50a 100644
--- a/base/src/main/java/io/spine/type/Type.java
+++ b/base/src/main/java/io/spine/type/Type.java
@@ -134,7 +134,7 @@ public Class> javaClass() {
public abstract ClassName javaClassName();
/**
- * Obtains package for the corresponding Java type.
+ * Obtains the package for the corresponding Java type.
*/
public PackageName javaPackage() {
var file = descriptor.getFile().toProto();
@@ -143,7 +143,7 @@ public PackageName javaPackage() {
}
/**
- * Obtains simple class name for corresponding Java type.
+ * Obtains the simple class name for the corresponding Java type.
*/
public final SimpleClassName simpleJavaClassName() {
return javaClassName().toSimple();
diff --git a/base/src/main/java/io/spine/type/TypeName.java b/base/src/main/java/io/spine/type/TypeName.java
index 1a621d68ba..b2f10820f6 100644
--- a/base/src/main/java/io/spine/type/TypeName.java
+++ b/base/src/main/java/io/spine/type/TypeName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2024, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -78,7 +78,7 @@ public static TypeName of(String typeName) {
}
/**
- * Obtain a type name from the given type URL.
+ * Obtains a type name from the given type URL.
*/
public static TypeName from(TypeUrl typeUrl) {
checkNotNull(typeUrl);
diff --git a/base/src/main/java/io/spine/type/TypeUrl.java b/base/src/main/java/io/spine/type/TypeUrl.java
index 6e5538b07c..e2e224adf7 100644
--- a/base/src/main/java/io/spine/type/TypeUrl.java
+++ b/base/src/main/java/io/spine/type/TypeUrl.java
@@ -82,7 +82,7 @@ private TypeUrl(String prefix, String typeName) {
}
/**
- * Create new {@code TypeUrl}.
+ * Creates a new {@code TypeUrl}.
*/
private static TypeUrl create(String prefix, String typeName) {
return new TypeUrl(prefix, typeName);
@@ -218,7 +218,7 @@ public static TypeUrl of(Class extends Message> cls) {
* If the type is a standard proto type, the {@linkplain Prefix#GOOGLE_APIS standard prefix}
* is returned.
*
- * For custom times, returns the value specified in the {@linkplain
+ * For custom types, returns the value specified in the {@linkplain
* OptionsProto#typeUrlPrefix file option}.
*/
private static String prefixFor(GenericDescriptor descriptor) {
@@ -280,7 +280,7 @@ public TypeName typeName() {
}
/**
- * Obtains string representation of the URL.
+ * Obtains the string representation of the URL.
*/
public String value() {
var result = composeTypeUrl(prefix, typeName.value());
diff --git a/base/src/main/java/io/spine/type/UnexpectedTypeException.java b/base/src/main/java/io/spine/type/UnexpectedTypeException.java
index 5b445d3e14..0fa6e0c39f 100644
--- a/base/src/main/java/io/spine/type/UnexpectedTypeException.java
+++ b/base/src/main/java/io/spine/type/UnexpectedTypeException.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -51,7 +51,7 @@ public UnexpectedTypeException(Throwable cause) {
}
/**
- * Creates an instance {@code UnexpectedTypeException} with the expected and actual type URLs.
+ * Creates an instance of {@code UnexpectedTypeException} with the expected and actual type URLs.
*/
public UnexpectedTypeException(TypeUrl expected, TypeUrl actual) {
super(formatMsg(expected, actual));
diff --git a/base/src/main/java/io/spine/value/StringTypeValue.java b/base/src/main/java/io/spine/value/StringTypeValue.java
index f8335ebd9d..63345a5984 100644
--- a/base/src/main/java/io/spine/value/StringTypeValue.java
+++ b/base/src/main/java/io/spine/value/StringTypeValue.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -44,7 +44,7 @@ protected StringTypeValue(String value) {
}
/**
- * Returns {@code true} the length of the {@link #value() value} is zero,
+ * Returns {@code true} if the length of the {@link #value() value} is zero,
* {@code false} otherwise.
*/
public boolean isEmpty() {
diff --git a/base/src/main/kotlin/io/spine/base/EntityState.kt b/base/src/main/kotlin/io/spine/base/EntityState.kt
index 81645253d9..26dab1e45f 100644
--- a/base/src/main/kotlin/io/spine/base/EntityState.kt
+++ b/base/src/main/kotlin/io/spine/base/EntityState.kt
@@ -35,7 +35,7 @@ import com.google.errorprone.annotations.Immutable
*
* The `kind` of the entity state defines the actual interface of the entity state
* that could be this interface or one that extends it.
- * If the `kind` is [ENTITY][io.spine.option.EntityOption.Kind.ENTITY] the generated
+ * If the `kind` is [ENTITY][io.spine.option.EntityOption.Kind.ENTITY], the generated
* message will implement this interface. Otherwise, it would be one of the subinterfaces.
* For example, if the `kind` is [PROJECTION][io.spine.option.EntityOption.Kind.PROJECTION],
* the generated message will implement [ProjectionState].
diff --git a/base/src/main/kotlin/io/spine/base/FieldPathExts.kt b/base/src/main/kotlin/io/spine/base/FieldPathExts.kt
index 33c4fe6002..e780b475c4 100644
--- a/base/src/main/kotlin/io/spine/base/FieldPathExts.kt
+++ b/base/src/main/kotlin/io/spine/base/FieldPathExts.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2024, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -102,7 +102,7 @@ public val FieldPath.root: String
/**
* Obtains the path immediately nested into this one.
*
- * @throws IllegalStateException if this path is not tested.
+ * @throws IllegalStateException if this path is not nested.
*/
public fun FieldPath.stepInto(): FieldPath = fieldPath {
check(isNested) {
diff --git a/base/src/main/kotlin/io/spine/base/ThrowableExts.kt b/base/src/main/kotlin/io/spine/base/ThrowableExts.kt
index 9ab649e52c..117ae0e104 100644
--- a/base/src/main/kotlin/io/spine/base/ThrowableExts.kt
+++ b/base/src/main/kotlin/io/spine/base/ThrowableExts.kt
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -31,7 +31,7 @@ package io.spine.base
import com.google.common.base.Throwables.getRootCause
/**
- * Tells if this throwable was cased by a [RejectionThrowable].
+ * Tells if this throwable was caused by a [RejectionThrowable].
*/
public fun The message should never evaluated or queried for any fields. The implementation is
* completely non-operational.
*
- * In a real world scenario, the message would be generated by the Protobuf Compiler with
+ * In a real-world scenario, the message would be generated by the Protobuf Compiler with
* the Spine Protobuf Compiler plugin. However, in this module we're unable to use the plugin,
* so this fake implementation is declared.
*/
diff --git a/base/src/test/java/io/spine/base/given/ConstantTimeProvider.java b/base/src/test/java/io/spine/base/given/ConstantTimeProvider.java
index 701cc6de54..811b5ec0e2 100644
--- a/base/src/test/java/io/spine/base/given/ConstantTimeProvider.java
+++ b/base/src/test/java/io/spine/base/given/ConstantTimeProvider.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -30,7 +30,7 @@
import io.spine.base.Time;
/**
- * The provider of the current time with value that does not change.
+ * The provider of the current time with a value that does not change.
*/
public class ConstantTimeProvider implements Time.Provider {
diff --git a/base/src/test/java/io/spine/base/given/GivenDurations.java b/base/src/test/java/io/spine/base/given/GivenDurations.java
index 3bff664ce7..69a21aa8db 100644
--- a/base/src/test/java/io/spine/base/given/GivenDurations.java
+++ b/base/src/test/java/io/spine/base/given/GivenDurations.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -42,7 +42,7 @@ private static Duration newDuration(int seconds) {
.build();
}
- /** Prevent instantiation of this test environment. */
+ /** Prevents instantiation of this test environment. */
private GivenDurations() {
}
}
diff --git a/base/src/test/java/io/spine/code/proto/given/package-info.java b/base/src/test/java/io/spine/code/proto/given/package-info.java
index 2fd2c39fc0..0cb774e35a 100644
--- a/base/src/test/java/io/spine/code/proto/given/package-info.java
+++ b/base/src/test/java/io/spine/code/proto/given/package-info.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -25,7 +25,7 @@
*/
/**
- * The test environment classes for Protobuf code related tools.
+ * The test environment classes for Protobuf code-related tools.
*/
@CheckReturnValue
@NullMarked
diff --git a/base/src/test/java/io/spine/protobuf/AnyPackerTest.java b/base/src/test/java/io/spine/protobuf/AnyPackerTest.java
index 69974cc83d..6ea390b8c2 100644
--- a/base/src/test/java/io/spine/protobuf/AnyPackerTest.java
+++ b/base/src/test/java/io/spine/protobuf/AnyPackerTest.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -59,10 +59,10 @@
@DisplayName("AnyPacker utility class should")
class AnyPackerTest extends UtilityClassTest Source:
* {@code
diff --git a/base/src/test/java/io/spine/query/given/RecordQueryBuilderTestEnv.java b/base/src/test/java/io/spine/query/given/RecordQueryBuilderTestEnv.java
index eb77d10816..7f1ca9e3e3 100644
--- a/base/src/test/java/io/spine/query/given/RecordQueryBuilderTestEnv.java
+++ b/base/src/test/java/io/spine/query/given/RecordQueryBuilderTestEnv.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -113,7 +113,7 @@ public static void assertNoSortingMaskLimit(RecordQuery {@code Environment} allows to {@link Environment#register(Class) register custom types}.
+ * {@code Environment} allows one to {@link Environment#register(Class) register custom types}.
* In this case the environment detection functionality iterates over all known types, starting
* with those registered by the framework user:
*
diff --git a/environment/src/main/java/io/spine/environment/Environment.java b/environment/src/main/java/io/spine/environment/Environment.java
index 21c63d363b..dd817c05e6 100644
--- a/environment/src/main/java/io/spine/environment/Environment.java
+++ b/environment/src/main/java/io/spine/environment/Environment.java
@@ -48,7 +48,7 @@
* It is possible to {@linkplain #type() obtain the type} of the current
- * environment, or to check whether current environment type {@linkplain #is(Class) matches
+ * environment, or to check whether the current environment type {@linkplain #is(Class) matches
* another type}.
* The framework users may define their custom settings depending on the current environment
* type and then {@linkplain #register(Class) register} them for further detection. Custom types
* are {@linkplain CustomEnvironmentType#enabled() evaluated} in the order reverse to registration.
- * That is, last registered type would be checked first and so on.
+ * That is, the last-registered type would be checked first and so on.
* Please see {@link CustomEnvironmentType} for details.
*
* Always contains {@link #STANDARD_TYPES} as last two elements.
+ * Always contains {@link #STANDARD_TYPES} as the last two elements.
*
* @see #register(EnvironmentType)
*/
@@ -168,7 +168,7 @@ private Environment(Environment copy) {
}
/**
- * Remembers the specified environment type, allowing {@linkplain #is(Class) to
+ * Remembers the specified environment type, allowing one {@linkplain #is(Class) to
* determine whether it's enabled} later.
*
* Note that the default types are still present.
@@ -195,7 +195,7 @@ private Environment register(EnvironmentType> type) {
}
/**
- * Give custom environment types a chance to be detected as the current one
+ * Gives custom environment types a chance to be detected as the current one
* in response to the changes of their surroundings.
*
* Unlike {@link #reset()} this method keeps custom types, but clears
@@ -207,7 +207,7 @@ void autoDetect() {
}
/**
- * Configures a callback to be called when corresponding environment type is
+ * Configures a callback to be called when the corresponding environment type is
* {@linkplain EnvironmentType#enabled() detected}.
*
* @param cls
@@ -234,7 +234,7 @@ void whenDetected(Class The specified {@code type} must have a parameterless constructor. The
@@ -271,7 +271,7 @@ public Environment createCopy() {
* the method goes through them in the latest-registered to earliest-registered order.
* Then, checks {@link Tests} and {@link DefaultMode}.
*
- * Please note that this method follows assigment compatibility:
+ * Please note that this method follows assignment compatibility:
* For example, if an application is deployed to a fleet of virtual machines, an environment
- * variable may be set for every virtual machine. Application developer may use this type of
+ * variable may be set for every virtual machine. An application developer may use this type of
* knowledge to determine the current environment.
*/
protected abstract boolean enabled();
diff --git a/environment/src/main/java/io/spine/environment/Tests.java b/environment/src/main/java/io/spine/environment/Tests.java
index eaa24a7166..ba17bd7413 100644
--- a/environment/src/main/java/io/spine/environment/Tests.java
+++ b/environment/src/main/java/io/spine/environment/Tests.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -32,7 +32,7 @@
/**
* Testing environment.
*
- * Detected by checking stack trace for mentions of the known testing frameworks.
+ * Detected by checking the stack trace for mentions of the known testing frameworks.
*
* This option is mutually exclusive with {@link DefaultMode}, i.e. one of them is always enabled.
*/
diff --git a/environment/src/test/java/io/spine/environment/given/AppEngineStandard.java b/environment/src/test/java/io/spine/environment/given/AppEngineStandard.java
index 2a4d2bdfce..882d5db969 100644
--- a/environment/src/test/java/io/spine/environment/given/AppEngineStandard.java
+++ b/environment/src/test/java/io/spine/environment/given/AppEngineStandard.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -53,7 +53,7 @@ public static void enable() {
}
/**
- * Disables teh App Engine Standard environment.
+ * Disables the App Engine Standard environment.
*/
public static void clear() {
System.clearProperty(ENV_KEY);
diff --git a/format/src/main/kotlin/io/spine/format/Parse.kt b/format/src/main/kotlin/io/spine/format/Parse.kt
index 7400942581..4c8f364766 100644
--- a/format/src/main/kotlin/io/spine/format/Parse.kt
+++ b/format/src/main/kotlin/io/spine/format/Parse.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2025, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -40,7 +40,7 @@ import java.io.File
* @param file The file to parse.
* @throws IllegalStateException if the file is not of the supported [format][Format].
* @throws java.io.IOException or its subclass, if the parsing of the file fails.
- * @throws ClassCastException if the stored values is not of the type [T].
+ * @throws ClassCastException if the stored value is not of the type [T].
*/
public inline fun Conversion of Singular Types
@@ -51,7 +51,7 @@
*
* the type of entity state
diff --git a/base/src/main/java/io/spine/query/EntityQueryBuilder.java b/base/src/main/java/io/spine/query/EntityQueryBuilder.java
index b3676f3976..294c7c1937 100644
--- a/base/src/main/java/io/spine/query/EntityQueryBuilder.java
+++ b/base/src/main/java/io/spine/query/EntityQueryBuilder.java
@@ -57,7 +57,7 @@ public abstract class EntityQueryBuilder, B, Q> {
/**
- * Creates an new instance of the {@code EntityQueryBuilder}.
+ * Creates a new instance of the {@code EntityQueryBuilder}.
*
* @param idType
* the type of entity identifiers
@@ -106,7 +106,7 @@ public final B withMask(SubscribableField... fields) {
* Builds a query on top of this entity query builder and transforms it according
* to the logic of the passed transformer.
*
- * Entity Queries
*
*
@@ -413,7 +413,7 @@
*
Further reading
*
diff --git a/base/src/main/java/io/spine/string/Stringifier.java b/base/src/main/java/io/spine/string/Stringifier.java
index c98a0747cd..74d7473e05 100644
--- a/base/src/main/java/io/spine/string/Stringifier.java
+++ b/base/src/main/java/io/spine/string/Stringifier.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -29,7 +29,7 @@
import com.google.common.base.Converter;
/**
- * Serves as converter from {@code I} to {@code String} with an associated
+ * Serves as a converter from {@code I} to {@code String} with an associated
* reverse function from {@code String} to {@code I}.
*
* Detecting the type of the environment
*
*
*
@@ -81,7 +81,7 @@
*
When environment changes
@@ -133,7 +133,7 @@ public final class Environment implements WithLogging {
/**
* The types the environment can be in.
*
- *
*
* abstract class AppEngine extends EnvironmentType {
diff --git a/environment/src/main/java/io/spine/environment/EnvironmentType.java b/environment/src/main/java/io/spine/environment/EnvironmentType.java
index fd6cce91cf..961287c711 100644
--- a/environment/src/main/java/io/spine/environment/EnvironmentType.java
+++ b/environment/src/main/java/io/spine/environment/EnvironmentType.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2022, TeamDev. All rights reserved.
+ * Copyright 2026, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
@@ -48,7 +48,7 @@ public abstract class EnvironmentType