This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/main by this push:
new f42b5bed7f1 CAUSEWAY-3859: Java record refactoring (part 16)
f42b5bed7f1 is described below
commit f42b5bed7f1f4103cd2dc466139312bd6f17f6ab
Author: Andi Huber <[email protected]>
AuthorDate: Wed Feb 19 08:07:45 2025 +0100
CAUSEWAY-3859: Java record refactoring (part 16)
---
.../members/layout/group/GroupIdAndName.java | 34 +++++++-----------
.../members/layout/group/LayoutGroupFacet.java | 4 +--
.../DomainObjectAnnotationFacetFactory.java | 6 ++--
.../MetaModelValidatorForMixinTypes.java | 19 ++++------
...ainObjectLayoutAnnotationUsingTitleUiEvent.java | 6 ++--
.../facets/object/entity/EntityOrmMetadata.java | 42 +++++++++-------------
.../object/entity/_EntityFacetForTesting.java | 14 ++++----
.../mixin/MixinFacetForDomainObjectAnnotation.java | 33 +++++++++--------
.../ident/TitleFacetFromProjectionFacet.java | 2 +-
.../metamodel/facets/object/title/TitleFacet.java | 4 +--
.../facets/object/title/TitleRenderRequest.java | 34 ++++++++----------
.../annotation/TitleFacetViaTitleAnnotation.java | 9 +++--
.../methods/TitleFacetFromToStringMethod.java | 2 +-
.../title/methods/TitleFacetViaTitleMethod.java | 7 ++--
.../title/parser/TitleFacetFromValueFacet.java | 16 ++++-----
.../core/metamodel/object/MmTitleUtils.java | 5 +--
.../core/metamodel/object/_InternalTitleUtil.java | 13 +++----
.../grid/bootstrap/GridSystemServiceBootstrap.java | 2 +-
.../services/grid/bootstrap/_GridModel.java | 16 ++++-----
.../services/title/TitleServiceDefault.java | 9 ++---
.../spec/impl/ObjectSpecificationDefault.java | 2 +-
.../memberorder/DeweyOrderComparatorTest.java | 2 +-
.../ordering/memberorder/DeweyOrderSetTest.java | 2 +-
23 files changed, 116 insertions(+), 167 deletions(-)
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/layout/group/GroupIdAndName.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/layout/group/GroupIdAndName.java
index c4b630536da..a33565e49d9 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/layout/group/GroupIdAndName.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/layout/group/GroupIdAndName.java
@@ -32,32 +32,24 @@
import org.apache.causeway.commons.internal.base._Strings;
import org.jspecify.annotations.NonNull;
-import lombok.Value;
-
-@Value(staticConstructor = "of")
-public class GroupIdAndName
-implements
- Comparable<GroupIdAndName>,
- Serializable {
-
- private static final long serialVersionUID = 1L;
+public record GroupIdAndName(
/**
* Id of a layout group (a <i>FieldSet</i> or a <i>Collection panel</i>).
*/
- private final @NonNull String id;
-
+ @NonNull String id,
/**
* (Friendly) name of a layout group (a <i>FieldSet</i> or a <i>Collection
panel</i>).
*/
- private final @NonNull String name;
+ @NonNull String name)
+implements
+ Comparable<GroupIdAndName>,
+ Serializable {
@Override
public int compareTo(final GroupIdAndName other) {
- if(other==null) {
- return -1; // null last
- }
- return this.getId().compareTo(other.getId());
+ if(other==null) return -1; // null last
+ return this.id().compareTo(other.id());
}
// -- FACTORIES FOR ANNOTATIONS
@@ -77,9 +69,7 @@ public static Optional<GroupIdAndName> forActionLayout(
actionLayout.fieldSetId(),
actionLayout.fieldSetName());
- if(explicit.isPresent()) {
- return explicit;
- }
+ if(explicit.isPresent()) return explicit;
return GroupIdAndName.inferIfOneMissing(
actionLayout.associateWith(),
@@ -141,12 +131,12 @@ private static Optional<GroupIdAndName> inferIfOneMissing(
if(inferredId.isEmpty()) {
return Optional.empty(); // cannot infer a usable id, so don't
create a LayoutGroupFacet down the line
}
- return Optional.of(GroupIdAndName.of(inferredId, name));
+ return Optional.of(new GroupIdAndName(inferredId, name));
} else if(isNameUnspecified) {
var inferredName = inferNameFromId(id);
- return Optional.of(GroupIdAndName.of(id, inferredName));
+ return Optional.of(new GroupIdAndName(id, inferredName));
}
- return Optional.of(GroupIdAndName.of(id, name));
+ return Optional.of(new GroupIdAndName(id, name));
}
/**
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/layout/group/LayoutGroupFacet.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/layout/group/LayoutGroupFacet.java
index 1b075b5c53c..32f685191aa 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/layout/group/LayoutGroupFacet.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/layout/group/LayoutGroupFacet.java
@@ -58,14 +58,14 @@ public interface LayoutGroupFacet extends Facet {
* Id of the layout group this member is associated with.
*/
public default String getGroupId() {
- return getGroupIdAndName().getId();
+ return getGroupIdAndName().id();
}
/**
* (Friendly) name of the layout group this member is associated with.
*/
public default String getGroupName() {
- return getGroupIdAndName().getName();
+ return getGroupIdAndName().name();
}
/**
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
index ee31c6ca353..c7a7a402e38 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
@@ -26,7 +26,9 @@
import jakarta.inject.Inject;
import jakarta.inject.Named;
+import org.jspecify.annotations.NonNull;
import org.jspecify.annotations.Nullable;
+
import org.springframework.util.ClassUtils;
import org.apache.causeway.applib.Identifier;
@@ -71,7 +73,6 @@
import
org.apache.causeway.core.metamodel.facets.object.domainobject.editing.ImmutableFacetForDomainObjectAnnotation;
import
org.apache.causeway.core.metamodel.facets.object.domainobject.entitychangepublishing.EntityChangePublishingFacetForDomainObjectAnnotation;
import
org.apache.causeway.core.metamodel.facets.object.domainobject.introspection.IntrospectionPolicyFacetForDomainObjectAnnotation;
-import
org.apache.causeway.core.metamodel.facets.object.mixin.MetaModelValidatorForMixinTypes;
import
org.apache.causeway.core.metamodel.facets.object.mixin.MixinFacetForDomainObjectAnnotation;
import
org.apache.causeway.core.metamodel.facets.object.viewmodel.ViewModelFacetForDomainObjectAnnotation;
import org.apache.causeway.core.metamodel.object.MmEventUtils;
@@ -82,7 +83,6 @@
import static org.apache.causeway.commons.internal.base._NullSafe.stream;
-import org.jspecify.annotations.NonNull;
import lombok.extern.log4j.Log4j2;
@Log4j2
@@ -353,7 +353,7 @@ void processNature(
addFacetIfPresent(
MixinFacetForDomainObjectAnnotation
- .create(mixinDomainObjectIfAny, cls, facetHolder,
mixinTypeValidator));
+ .create(mixinDomainObjectIfAny, cls, facetHolder));
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/mixin/MetaModelValidatorForMixinTypes.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/MetaModelValidatorForMixinTypes.java
similarity index 87%
rename from
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/mixin/MetaModelValidatorForMixinTypes.java
rename to
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/MetaModelValidatorForMixinTypes.java
index fe020290c6b..76cb5efcb52 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/mixin/MetaModelValidatorForMixinTypes.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/MetaModelValidatorForMixinTypes.java
@@ -16,7 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.causeway.core.metamodel.facets.object.mixin;
+package org.apache.causeway.core.metamodel.facets.object.domainobject;
+
+import org.jspecify.annotations.NonNull;
import org.apache.causeway.applib.Identifier;
import org.apache.causeway.applib.id.LogicalType;
@@ -26,15 +28,8 @@
import static
org.apache.causeway.commons.internal.reflection._Reflect.predicates.paramCount;
-import org.jspecify.annotations.NonNull;
-
-public class MetaModelValidatorForMixinTypes {
-
- private final String annotation;
-
- public MetaModelValidatorForMixinTypes(final String annotation) {
- this.annotation = annotation;
- }
+record MetaModelValidatorForMixinTypes(
+ @NonNull String annotation) {
public boolean ensureMixinType(
final @NonNull FacetHolder facetHolder,
@@ -44,9 +39,7 @@ public boolean ensureMixinType(
.getPublicConstructors(candidateMixinType)
.filter(paramCount(1));
- if(mixinContructors.getCardinality().isOne()) {
- return true; // happy case
- }
+ if(mixinContructors.getCardinality().isOne()) return true; // happy
case
if(mixinContructors.getCardinality().isZero()) {
ValidationFailure.raise(
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
index 80c2f560773..3ce94788718 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
@@ -89,11 +89,9 @@ public
TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent(
@Override
public String title(final TitleRenderRequest titleRenderRequest) {
- final ManagedObject owningAdapter = titleRenderRequest.getObject();
+ final ManagedObject owningAdapter = titleRenderRequest.object();
- if(ManagedObjects.isNullOrUnspecifiedOrEmpty(owningAdapter)) {
- return null;
- }
+ if(ManagedObjects.isNullOrUnspecifiedOrEmpty(owningAdapter)) return
null;
final TitleUiEvent<Object> titleUiEvent =
newTitleUiEvent(owningAdapter);
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/entity/EntityOrmMetadata.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/entity/EntityOrmMetadata.java
index 533282f4dd2..4a1cc2e3c2f 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/entity/EntityOrmMetadata.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/entity/EntityOrmMetadata.java
@@ -20,35 +20,25 @@
import java.util.Optional;
-import org.apache.causeway.commons.collections.Can;
-import
org.apache.causeway.core.config.beans.CausewayBeanMetaData.PersistenceStack;
-
import org.jspecify.annotations.NonNull;
-import lombok.experimental.Accessors;
-
-// record candidate
[email protected] @Accessors(fluent=true)
-public class EntityOrmMetadata {
-
- @lombok.Value @Accessors(fluent=true)
- public static class ColumnOrmMetadata {
-
- final @NonNull String name;
- final @NonNull String memberId;
- final @NonNull String javaType;
- //final @NonNull String sqlType;
- final @NonNull Object vendorColumnMetadata;
+import org.apache.causeway.commons.collections.Can;
+import
org.apache.causeway.core.config.beans.CausewayBeanMetaData.PersistenceStack;
+public record EntityOrmMetadata(
+ @NonNull PersistenceStack persistenceStack,
+ @NonNull Optional<String> table,
+ @NonNull Optional<String> schema,
+ @NonNull Class<?> primaryKeyClass,
+ @NonNull Can<ColumnOrmMetadata> columns,
+ @NonNull Object vendorEntityMetadata) {
+
+ public record ColumnOrmMetadata(
+ @NonNull String name,
+ @NonNull String memberId,
+ @NonNull String javaType,
+ //@NonNull String sqlType,
+ @NonNull Object vendorColumnMetadata) {
}
- final @NonNull PersistenceStack persistenceStack;
- final @NonNull Optional<String> table;
- final @NonNull Optional<String> schema;
- final @NonNull Class<?> primaryKeyClass;
-
- final @NonNull Can<ColumnOrmMetadata> columns;
-
- final @NonNull Object vendorEntityMetadata;
-
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/entity/_EntityFacetForTesting.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/entity/_EntityFacetForTesting.java
index 16e9a59fd11..f8cd794c669 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/entity/_EntityFacetForTesting.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/entity/_EntityFacetForTesting.java
@@ -22,6 +22,7 @@
import java.util.Optional;
import java.util.function.BiConsumer;
+import org.jspecify.annotations.NonNull;
import org.jspecify.annotations.Nullable;
import org.apache.causeway.applib.query.Query;
@@ -34,15 +35,12 @@
import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
import org.apache.causeway.core.metamodel.object.ManagedObject;
-import lombok.Getter;
-import org.jspecify.annotations.NonNull;
-import lombok.RequiredArgsConstructor;
-
-@RequiredArgsConstructor
-class _EntityFacetForTesting implements EntityFacet {
+record _EntityFacetForTesting(
+ PersistenceStack persistenceStack,
+ FacetHolder facetHolder) implements EntityFacet {
- @Getter private final PersistenceStack persistenceStack;
- @Getter private final FacetHolder facetHolder;
+ @Override public PersistenceStack getPersistenceStack() { return
persistenceStack(); }
+ @Override public FacetHolder getFacetHolder() { return facetHolder(); }
@Override
public Class<? extends Facet> facetType() {
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/mixin/MixinFacetForDomainObjectAnnotation.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/mixin/MixinFacetForDomainObjectAnnotation.java
index 2d7c7dfc46b..91b0cea37c2 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/mixin/MixinFacetForDomainObjectAnnotation.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/mixin/MixinFacetForDomainObjectAnnotation.java
@@ -32,25 +32,24 @@ public class MixinFacetForDomainObjectAnnotation
public static Optional<MixinFacetForDomainObjectAnnotation> create(
final Optional<DomainObject> domainObjectIfAny,
final Class<?> candidateMixinType,
- final FacetHolder facetHolder,
- final MetaModelValidatorForMixinTypes mixinTypeValidator) {
+ final FacetHolder facetHolder) {
return domainObjectIfAny
- .filter(domainObject -> domainObject.nature() == Nature.MIXIN)
- .map(domainObject -> {
-
- var mixinContructors =
-
ProgrammingModelConstants.MixinConstructor.PUBLIC_SINGLE_ARG_RECEIVING_MIXEE
- .getConstructors(candidateMixinType);
-
- return mixinContructors.getSingleton() // empty if cardinality!=1
- .map(constructor -> new MixinFacetForDomainObjectAnnotation(
- candidateMixinType,
- domainObject.mixinMethod(),
- constructor,
- facetHolder))
- .orElse(null);
- });
+ .filter(domainObject -> domainObject.nature() == Nature.MIXIN)
+ .map(domainObject -> {
+
+ var mixinContructors =
+
ProgrammingModelConstants.MixinConstructor.PUBLIC_SINGLE_ARG_RECEIVING_MIXEE
+ .getConstructors(candidateMixinType);
+
+ return mixinContructors.getSingleton() // empty if
cardinality!=1
+ .map(constructor -> new MixinFacetForDomainObjectAnnotation(
+ candidateMixinType,
+ domainObject.mixinMethod(),
+ constructor,
+ facetHolder))
+ .orElse(null);
+ });
}
private MixinFacetForDomainObjectAnnotation(
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/projection/ident/TitleFacetFromProjectionFacet.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/projection/ident/TitleFacetFromProjectionFacet.java
index 1e99bfcf6ef..b4958677dc9 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/projection/ident/TitleFacetFromProjectionFacet.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/projection/ident/TitleFacetFromProjectionFacet.java
@@ -40,7 +40,7 @@ public TitleFacetFromProjectionFacet(
@Override
public String title(final TitleRenderRequest titleRenderRequest) {
- final ManagedObject targetAdapter = titleRenderRequest.getObject();
+ final ManagedObject targetAdapter = titleRenderRequest.object();
var projectedAdapter = projectionFacet.projected(targetAdapter);
return projectedAdapter.getTitle();
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/TitleFacet.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/TitleFacet.java
index 25abd612523..6bb19e12cba 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/TitleFacet.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/TitleFacet.java
@@ -40,9 +40,7 @@ public interface TitleFacet extends Facet {
String title(TitleRenderRequest titleRenderRequest);
default String title(final ManagedObject targetAdapter) {
- return title(TitleRenderRequest.builder()
- .object(targetAdapter)
- .build());
+ return title(TitleRenderRequest.forObject(targetAdapter));
}
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/TitleRenderRequest.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/TitleRenderRequest.java
index 0c283728157..b7bfcbadb5c 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/TitleRenderRequest.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/TitleRenderRequest.java
@@ -20,28 +20,16 @@
import java.util.function.Predicate;
+import org.jspecify.annotations.NonNull;
import org.jspecify.annotations.Nullable;
import org.apache.causeway.commons.internal.functions._Predicates;
import org.apache.causeway.core.metamodel.object.ManagedObject;
import org.apache.causeway.core.metamodel.spec.feature.ObjectFeature;
-import lombok.Builder;
-import org.jspecify.annotations.NonNull;
-import lombok.Value;
-
-@Value @Builder
-public class TitleRenderRequest {
-
- public static TitleRenderRequest forObject(final ManagedObject object) {
- return TitleRenderRequest.builder()
- .object(object)
- .build();
- }
-
- private final @Nullable ObjectFeature feature;
- private final @NonNull ManagedObject object;
-
+public record TitleRenderRequest(
+ @NonNull ManagedObject object,
+ @Nullable ObjectFeature feature,
/**
* Provide a title for the target object, possibly abbreviated (according
to supplied predicate)
* <p>
@@ -51,8 +39,16 @@ public static TitleRenderRequest forObject(final
ManagedObject object) {
* In such a context, the title might be shortened so that it does not
needlessly incorporate
* the title of the parent (context) object.
*/
- @Builder.Default
- private final @NonNull Predicate<ManagedObject> skipTitlePartEvaluator =
- _Predicates.alwaysFalse();
+ @NonNull Predicate<ManagedObject> skipTitlePartEvaluator) {
+
+ public static TitleRenderRequest forObject(final ManagedObject object) {
+ return new TitleRenderRequest(object, null);
+ }
+
+ public TitleRenderRequest(
+ @NonNull final ManagedObject object,
+ @Nullable final ObjectFeature feature) {
+ this(object, feature, _Predicates.alwaysFalse());
+ }
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
index c67989a076d..129b634e4b4 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
@@ -116,12 +116,11 @@ public Intent getIntent() {
@Override
public String title(final TitleRenderRequest titleRenderRequest) {
- final ManagedObject targetAdapter = titleRenderRequest.getObject();
+ final ManagedObject targetAdapter = titleRenderRequest.object();
var pojo = targetAdapter.getPojo();
- if(pojo==null) {
- return "";
- }
+ if(pojo==null) return "";
+
var stringBuilder = new StringBuilder();
var objectManager = getObjectManager();
@@ -133,7 +132,7 @@ public String title(final TitleRenderRequest
titleRenderRequest) {
}
// ignore context, if provided
var titlePartAdapter = objectManager.adapt(titlePart);
-
if(titleRenderRequest.getSkipTitlePartEvaluator().test(titlePartAdapter)) {
+
if(titleRenderRequest.skipTitlePartEvaluator().test(titlePartAdapter)) {
continue;
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/methods/TitleFacetFromToStringMethod.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/methods/TitleFacetFromToStringMethod.java
index cc0e8de6dff..14a08e92da2 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/methods/TitleFacetFromToStringMethod.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/methods/TitleFacetFromToStringMethod.java
@@ -62,7 +62,7 @@ private TitleFacetFromToStringMethod(
@Override
public String title(final TitleRenderRequest titleRenderRequest) {
- return imperativeAspect.eval(titleRenderRequest.getObject(), "(not
present)");
+ return imperativeAspect.eval(titleRenderRequest.object(), "(not
present)");
}
@Override
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/methods/TitleFacetViaTitleMethod.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/methods/TitleFacetViaTitleMethod.java
index a9219521000..032e3bfdd79 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/methods/TitleFacetViaTitleMethod.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/methods/TitleFacetViaTitleMethod.java
@@ -73,11 +73,10 @@ private TitleFacetViaTitleMethod(
@Override
public String title(final TitleRenderRequest titleRenderRequest) {
- final ManagedObject owningAdapter = titleRenderRequest.getObject();
+ final ManagedObject owningAdapter = titleRenderRequest.object();
+
+ if(ManagedObjects.isNullOrUnspecifiedOrEmpty(owningAdapter)) return
null;
- if(ManagedObjects.isNullOrUnspecifiedOrEmpty(owningAdapter)) {
- return null;
- }
try {
var returnValue =
imperativeAspect.invokeSingleMethod(owningAdapter);
if(returnValue instanceof String) {
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/parser/TitleFacetFromValueFacet.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/parser/TitleFacetFromValueFacet.java
index c14c4ff61ac..16fea5e1b3b 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/parser/TitleFacetFromValueFacet.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/parser/TitleFacetFromValueFacet.java
@@ -55,7 +55,7 @@ public String title(final TitleRenderRequest renderRequest) {
if (renderRequest == null) {
return null;
}
- final Object pojo = renderRequest.getObject().getPojo();
+ final Object pojo = renderRequest.object().getPojo();
if (pojo == null) {
return null;
}
@@ -64,16 +64,16 @@ public String title(final TitleRenderRequest renderRequest)
{
* and alternatively object-support method 'title()',
* by letting the SpecificationLoader introspect enum types and
populate the meta-model
* with TitleFacets (that have higher priority than this one). */
-
if(renderRequest.getObject().getSpecification().getCorrespondingClass().isEnum())
{
+
if(renderRequest.object().getSpecification().getCorrespondingClass().isEnum()) {
return Enums.getFriendlyNameOf((Enum<?>)pojo);
}
// support for qualified value semantics, requires a 'where' context,
that is,
// what property, collection, action return or action param this is to
be rendered for ...
- if(renderRequest.getFeature()!=null) {
- switch(renderRequest.getFeature().getFeatureType()) {
+ if(renderRequest.feature()!=null) {
+ switch(renderRequest.feature().getFeatureType()) {
case PROPERTY: {
- var prop = (OneToOneAssociation)renderRequest.getFeature();
+ var prop = (OneToOneAssociation)renderRequest.feature();
final Renderer renderer = valueFacet
.selectRendererForPropertyElseFallback(prop);
return renderer
@@ -81,7 +81,7 @@ public String title(final TitleRenderRequest renderRequest) {
.createValueSemanticsContext(prop), pojo);
}
case COLLECTION: {
- var coll = (OneToManyAssociation)renderRequest.getFeature();
+ var coll = (OneToManyAssociation)renderRequest.feature();
final Renderer renderer = valueFacet
.selectRendererForCollectionElseFallback(coll);
return renderer
@@ -90,7 +90,7 @@ public String title(final TitleRenderRequest renderRequest) {
}
case ACTION_PARAMETER_SINGULAR:
case ACTION_PARAMETER_PLURAL:{
- var param = (ObjectActionParameter)renderRequest.getFeature();
+ var param = (ObjectActionParameter)renderRequest.feature();
final Renderer renderer = valueFacet
.selectRendererForParameterElseFallback(param);
return
renderer.titlePresentation(valueFacet.createValueSemanticsContext(param), pojo);
@@ -109,7 +109,7 @@ public String title(final TitleRenderRequest renderRequest)
{
.map(renderer->(Renderer) renderer)
.map(renderer->renderer.titlePresentation(valueFacet.createValueSemanticsContext(feature),
pojo))
.orElseGet(()->String.format("Value type %s has no value semantics for
title rendering.",
-
renderRequest.getObject().getSpecification().getCorrespondingClass()));
+
renderRequest.object().getSpecification().getCorrespondingClass()));
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmTitleUtils.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmTitleUtils.java
index 931a4a91007..b9353d9bdba 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmTitleUtils.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmTitleUtils.java
@@ -49,10 +49,7 @@ public String getTitleHonoringTitlePartSkipping(
? "(multiple objects)"
: managedObject != null
? _InternalTitleUtil.titleString(
- TitleRenderRequest.builder()
- .object(managedObject)
- .skipTitlePartEvaluator(skipTitlePart)
- .build())
+ new TitleRenderRequest(managedObject, null,
skipTitlePart))
: "(no object)";
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/_InternalTitleUtil.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/_InternalTitleUtil.java
index c6c4f42448f..7b2280795d6 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/_InternalTitleUtil.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/_InternalTitleUtil.java
@@ -35,11 +35,9 @@ final class _InternalTitleUtil {
String titleString(final @NonNull TitleRenderRequest titleRenderRequest) {
- var managedObject = titleRenderRequest.getObject();
+ var managedObject = titleRenderRequest.object();
- if(managedObject.getSpecialization().isUnspecified()) {
- return managedObject.getTitle();
- }
+ if(managedObject.getSpecialization().isUnspecified()) return
managedObject.getTitle();
var objSpec = managedObject.getSpecification();
@@ -58,12 +56,11 @@ String abbreviated(final String str, final int maxLength,
final String suffix) {
}
private String objectTitleString(final @NonNull TitleRenderRequest
titleRenderRequest) {
- var managedObject = titleRenderRequest.getObject();
+ var managedObject = titleRenderRequest.object();
//TODO we have value-semantics now, don't skip it for strings
- if (managedObject.getPojo() instanceof String) {
- return (String) managedObject.getPojo();
- }
+ if (managedObject.getPojo() instanceof String) return (String)
managedObject.getPojo();
+
var spec = managedObject.getSpecification();
return Optional.ofNullable(spec.getTitle(titleRenderRequest))
.orElseGet(()->getDefaultTitle(managedObject));
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/grid/bootstrap/GridSystemServiceBootstrap.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/grid/bootstrap/GridSystemServiceBootstrap.java
index 91e51327cc6..310d1d4329f 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/grid/bootstrap/GridSystemServiceBootstrap.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/grid/bootstrap/GridSystemServiceBootstrap.java
@@ -280,7 +280,7 @@ protected boolean validateAndNormalize(
var fieldSetId = GroupIdAndName.forFieldSet(fieldSet)
.orElseThrow(()->_Exceptions.illegalArgument("invalid fieldSet
detected, "
+ "requires at least an id or a name"))
- .getId();
+ .id();
Set<String> boundAssociationIds =
boundAssociationIdsByFieldSetId.get(fieldSetId);
if(boundAssociationIds == null) {
boundAssociationIds = stream(fieldSet.getProperties())
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/grid/bootstrap/_GridModel.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/grid/bootstrap/_GridModel.java
index ff40c92e87b..582c9052f1f 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/grid/bootstrap/_GridModel.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/grid/bootstrap/_GridModel.java
@@ -55,17 +55,17 @@ final class _GridModel {
private boolean gridErrorsDetected = false;
- public boolean contains(String id) {
+ public boolean contains(final String id) {
return allIds.contains(id);
}
public Collection<FieldSet> fieldSets() {
return fieldSets.values();
}
- public boolean containsFieldSetId(String id) {
+ public boolean containsFieldSetId(final String id) {
return fieldSets.containsKey(id);
}
- public FieldSet getFieldSet(String id) {
+ public FieldSet getFieldSet(final String id) {
return fieldSets.get(id);
}
@@ -77,7 +77,7 @@ public FieldSet getFieldSet(String id) {
* @param bsGrid
* @return empty if not valid
*/
- public static Optional<_GridModel> createFrom(BSGrid bsGrid) {
+ public static Optional<_GridModel> createFrom(final BSGrid bsGrid) {
var gridModel = new _GridModel();
@@ -118,7 +118,7 @@ public void visit(final FieldSet fieldSet) {
gridModel.gridErrorsDetected = true;
return;
}
- String id = groupIdAndName.get().getId();
+ String id = groupIdAndName.get().id();
if(gridModel.contains(id)) {
fieldSet.setMetadataError("There is another element in
the grid with this id: " + id);
gridModel.gridErrorsDetected = true;
@@ -211,15 +211,15 @@ public void visit(final BSTabGroup bsTabGroup) {
}
- private void putRow(String id, BSRow bsRow) {
+ private void putRow(final String id, final BSRow bsRow) {
rows.put(id, bsRow);
allIds.add(id);
}
- private void putCol(String id, BSCol bsCol) {
+ private void putCol(final String id, final BSCol bsCol) {
cols.put(id, bsCol);
allIds.add(id);
}
- private void putFieldSet(String id, FieldSet fieldSet) {
+ private void putFieldSet(final String id, final FieldSet fieldSet) {
fieldSets.put(id, fieldSet);
allIds.add(id);
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/title/TitleServiceDefault.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/title/TitleServiceDefault.java
index 80c3f417dfa..c6715833ac2 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/title/TitleServiceDefault.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/title/TitleServiceDefault.java
@@ -69,10 +69,7 @@ public String titleOf(final Object domainObject) {
// here we just mean NOT-ATTACHED (and not the concrete DETACHED
entity state)
return "[DETACHED]";
} else {
- return objectAdapter.getSpecification().getTitle(
- TitleRenderRequest.builder()
- .object(objectAdapter)
- .build());
+ return
objectAdapter.getSpecification().getTitle(TitleRenderRequest.forObject(objectAdapter));
}
}
@@ -86,9 +83,7 @@ public String iconNameOf(final Object domainObject) {
var pojo = unwrapped(domainObject);
var objectAdapter = objectManager.adapt(pojo);
- if(ManagedObjects.isNullOrUnspecifiedOrEmpty(objectAdapter)) {
- return "unspecified";
- }
+ if(ManagedObjects.isNullOrUnspecifiedOrEmpty(objectAdapter)) return
"unspecified";
return objectAdapter.getSpecification().getIconName(objectAdapter);
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectSpecificationDefault.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectSpecificationDefault.java
index c98049291a1..5e27b2f7034 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectSpecificationDefault.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectSpecificationDefault.java
@@ -761,7 +761,7 @@ private void notifySubscribersIfEntity(
if (!isEntity()) {
return;
}
- var managedObject = titleRenderRequest.getObject();
+ var managedObject = titleRenderRequest.object();
managedObject.getBookmark().ifPresent(bookmark -> {
getTitleSubscribers().stream().forEach(x ->
x.entityTitleIs(bookmark, titleString));
});
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/ordering/memberorder/DeweyOrderComparatorTest.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/ordering/memberorder/DeweyOrderComparatorTest.java
index 8e51fe929e2..e6a5e469185 100644
---
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/ordering/memberorder/DeweyOrderComparatorTest.java
+++
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/ordering/memberorder/DeweyOrderComparatorTest.java
@@ -169,7 +169,7 @@ void nonAnnotatedAfterAnnotated() {
// -- HELPER
void setupLayoutFacets(final String groupId, final String sequence, final
FacetedMethod facetedMethod) {
- facetedMethod.addFacet(new
LayoutGroupFacetAbstract(GroupIdAndName.of(groupId, ""), facetedMethod) {});
+ facetedMethod.addFacet(new LayoutGroupFacetAbstract(new
GroupIdAndName(groupId, ""), facetedMethod) {});
facetedMethod.addFacet(new LayoutOrderFacetAbstract(sequence,
facetedMethod) {});
}
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/ordering/memberorder/DeweyOrderSetTest.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/ordering/memberorder/DeweyOrderSetTest.java
index e93c1d45168..2b9395b982f 100644
---
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/ordering/memberorder/DeweyOrderSetTest.java
+++
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/ordering/memberorder/DeweyOrderSetTest.java
@@ -238,7 +238,7 @@ void
defaultGroupMixOfAnnotatedAndNotOrderedWithAnnotatedFirst() {
// -- HELPER
void setupLayoutFacets(final String groupId, final String sequence, final
FacetHolder facetedHolder) {
- facetedHolder.addFacet(new
LayoutGroupFacetAbstract(GroupIdAndName.of(groupId, ""), facetedHolder) {});
+ facetedHolder.addFacet(new LayoutGroupFacetAbstract(new
GroupIdAndName(groupId, ""), facetedHolder) {});
facetedHolder.addFacet(new LayoutOrderFacetAbstract(sequence,
facetedHolder) {});
}