This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 28502ec7e7 ISIS-3202: update site index
28502ec7e7 is described below
commit 28502ec7e767ecf79eb2a612d28a4d05f6e4b1e8
Author: Andi Huber <[email protected]>
AuthorDate: Sun Sep 4 22:14:37 2022 +0200
ISIS-3202: update site index
---
.../pages/index/services/bookmark/Bookmark.adoc | 16 ++++-
.../index/services/bookmark/BookmarkHolder.adoc | 8 +--
.../index/services/bookmark/IdStringifier.adoc | 11 +++
.../index/services/repository/EntityState.adoc | 80 +++++++++++++---------
.../modules/applib/pages/index/value/Clob.adoc | 1 +
.../index/metamodel/object/ManagedObject.adoc | 60 ++++------------
.../publish/LifecycleCallbackNotifier.adoc | 8 ++-
.../publish/ObjectLifecyclePublisherDefault.adoc | 2 +-
core/adoc/modules/_overview/pages/about.adoc | 2 +-
9 files changed, 101 insertions(+), 87 deletions(-)
diff --git
a/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/Bookmark.adoc
b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/Bookmark.adoc
index c62b5f3023..58bc87615d 100644
---
a/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/Bookmark.adoc
+++
b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/Bookmark.adoc
@@ -11,13 +11,13 @@ String representation of any persistable or re-creatable
object managed by the f
class Bookmark {
Bookmark empty(LogicalType logicalType)
Bookmark emptyForLogicalTypeName(String logicalTypeName)
- Bookmark forLogicalTypeNameAndIdentifier(String logicalTypeName, String
identifier)
- Bookmark forLogicalTypeAndIdentifier(LogicalType logicalType, String
identifier)
+ Bookmark forLogicalTypeNameAndIdentifier(String logicalTypeName, String
urlSafeIdentifier)
+ Bookmark forLogicalTypeAndIdentifier(LogicalType logicalType, String
urlSafeIdentifier)
Bookmark forOidDto(OidDto oidDto)
Bookmark withHintId(String hintId)
Optional<Bookmark> parse(String str) // <.>
Bookmark parseElseFail(String input)
- Optional<Bookmark> parseUrlEncoded(String urlEncodedStr)
+ Optional<Bookmark> parseUrlEncoded(String urlEncodedStr) // <.>
OidDto toOidDto()
String stringify()
boolean equals(Object other)
@@ -34,6 +34,11 @@ class Bookmark {
--
Round-trip with _#stringify()_ representation.
--
+<.> xref:#parseUrlEncoded_String[parseUrlEncoded(String)]
++
+--
+there is only one use-case, that is, if a bookmark itself needs to be encoded
(eg. page params)
+--
<.> xref:#stringifyHonoringHintIfAny_[stringifyHonoringHintIfAny()]
+
--
@@ -52,6 +57,11 @@ Whether represents _null_ .
Round-trip with _#stringify()_ representation.
+[#parseUrlEncoded_String]
+=== parseUrlEncoded(String)
+
+there is only one use-case, that is, if a bookmark itself needs to be encoded
(eg. page params)
+
[#stringifyHonoringHintIfAny_]
=== stringifyHonoringHintIfAny()
diff --git
a/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/BookmarkHolder.adoc
b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/BookmarkHolder.adoc
index f82ce3c07d..b95d5b706d 100644
---
a/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/BookmarkHolder.adoc
+++
b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/BookmarkHolder.adoc
@@ -11,11 +11,11 @@ The framework provides mixins that surface the bookmarked
domain object as eithe
.BookmarkHolder.java
----
interface BookmarkHolder {
- Bookmark bookmark() // <.>
+ Bookmark getBookmark() // <.>
}
----
-<.> xref:#bookmark_[bookmark()]
+<.> xref:#getBookmark_[getBookmark()]
+
--
A reference to an arbitrary domain object, as a
xref:refguide:applib:index/services/bookmark/Bookmark.adoc[Bookmark] .
@@ -23,7 +23,7 @@ A reference to an arbitrary domain object, as a
xref:refguide:applib:index/servi
== Members
-[#bookmark_]
-=== bookmark()
+[#getBookmark_]
+=== getBookmark()
A reference to an arbitrary domain object, as a
xref:refguide:applib:index/services/bookmark/Bookmark.adoc[Bookmark] .
diff --git
a/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/IdStringifier.adoc
b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/IdStringifier.adoc
index c6a6e10934..f0ad68e1f4 100644
---
a/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/IdStringifier.adoc
+++
b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/IdStringifier.adoc
@@ -17,6 +17,7 @@ interface IdStringifier<T> {
Class<T> getCorrespondingClass()
String enstring(T value) // <.>
T destring(Class<?> targetEntityClass, String stringified) // <.>
+ boolean isValid(T value) // <.>
}
----
@@ -30,6 +31,11 @@ Convert the value (which will be of the same type as
returned by _#getCorrespond
--
Convert a string representation of the identifier (as returned by
_#enstring(Object)_ ) into an object that can be used to retrieve.
--
+<.> xref:#isValid_T[isValid(T)]
++
+--
+Whether the non-null primary key object is valid, that is, in the case of a
composite, whether it is fully populated.
+--
== Members
@@ -42,3 +48,8 @@ Convert the value (which will be of the same type as returned
by _#getCorrespond
=== destring(Class, String)
Convert a string representation of the identifier (as returned by
_#enstring(Object)_ ) into an object that can be used to retrieve.
+
+[#isValid_T]
+=== isValid(T)
+
+Whether the non-null primary key object is valid, that is, in the case of a
composite, whether it is fully populated.
diff --git
a/antora/components/refguide-index/modules/applib/pages/index/services/repository/EntityState.adoc
b/antora/components/refguide-index/modules/applib/pages/index/services/repository/EntityState.adoc
index 87eb830ca3..2ec790cca0 100644
---
a/antora/components/refguide-index/modules/applib/pages/index/services/repository/EntityState.adoc
+++
b/antora/components/refguide-index/modules/applib/pages/index/services/repository/EntityState.adoc
@@ -11,17 +11,19 @@ Enumerates the state of an entity.
enum EntityState {
NOT_PERSISTABLE // <.>
PERSISTABLE_ATTACHED // <.>
- PERSISTABLE_NEW // <.>
PERSISTABLE_DETACHED // <.>
PERSISTABLE_REMOVED // <.>
+ PERSISTABLE_ATTACHED_NO_OID // <.>
+ PERSISTABLE_DETACHED_WITH_OID // <.>
boolean isPersistable() // <.>
boolean isAttached() // <.>
- boolean isNew() // <.>
boolean isDetached() // <.>
boolean isRemoved() // <.>
- boolean isDetachedOrRemoved() // <.>
+ boolean isDetachedCannotReattach()
boolean isAttachedOrRemoved() // <.>
- boolean isAttachedOrNew() // <.>
+ boolean isSpecicalJdoAttachedNoOid() // <.>
+ boolean isSpecicalJpaDetachedWithOid() // <.>
+ boolean hasOid()
}
----
@@ -35,11 +37,6 @@ Object with this state is not an entity (for example it
might be a view model, v
--
Object with this state is an entity that is attached to a persistence session,
in other words changes to the entity will be flushed back to the database.
--
-<.> xref:#PERSISTABLE_NEW[PERSISTABLE_NEW]
-+
---
-DN/JDO specific on pre-store. Is attached, has no OID yet.
---
<.> xref:#PERSISTABLE_DETACHED[PERSISTABLE_DETACHED]
+
--
@@ -50,6 +47,16 @@ Object with this state is an entity but that is detached
from a persistence sess
--
Object with this state is an entity that has been removed from the database.
Objects in this state may no longer be interacted with.
--
+<.> xref:#PERSISTABLE_ATTACHED_NO_OID[PERSISTABLE_ATTACHED_NO_OID]
++
+--
+DN/JDO specific on pre-store. Is attached, has no OID yet.
+--
+<.> xref:#PERSISTABLE_DETACHED_WITH_OID[PERSISTABLE_DETACHED_WITH_OID]
++
+--
+JPA specific. Is detached, but has an OID.
+--
<.> xref:#isPersistable_[isPersistable()]
+
--
@@ -60,11 +67,6 @@ Object is an entity so is _potentially_ persistable ot the
database.
--
Object with this state is an entity that is attached to a persistence session,
in other words changes to the entity will be flushed back to the database.
--
-<.> xref:#isNew_[isNew()]
-+
---
-DN/JDO specific on pre-store. Is attached, has no OID yet.
---
<.> xref:#isDetached_[isDetached()]
+
--
@@ -75,9 +77,18 @@ Object with this state is an entity but that is detached
from a persistence sess
--
Object with this state is an entity that has been removed from the database.
Objects in this state may no longer be interacted with.
--
-<.> xref:#isDetachedOrRemoved_[isDetachedOrRemoved()]
<.> xref:#isAttachedOrRemoved_[isAttachedOrRemoved()]
-<.> xref:#isAttachedOrNew_[isAttachedOrNew()]
++
+--
+[WARNING]
+====
+[red]#_deprecated:_#
+
+not supported by JPA
+====
+--
+<.> xref:#isSpecicalJdoAttachedNoOid_[isSpecicalJdoAttachedNoOid()]
+<.> xref:#isSpecicalJpaDetachedWithOid_[isSpecicalJpaDetachedWithOid()]
== Members
@@ -91,11 +102,6 @@ Object with this state is not an entity (for example it
might be a view model, v
Object with this state is an entity that is attached to a persistence session,
in other words changes to the entity will be flushed back to the database.
-[#PERSISTABLE_NEW]
-=== PERSISTABLE_NEW
-
-DN/JDO specific on pre-store. Is attached, has no OID yet.
-
[#PERSISTABLE_DETACHED]
=== PERSISTABLE_DETACHED
@@ -106,6 +112,16 @@ Object with this state is an entity but that is detached
from a persistence sess
Object with this state is an entity that has been removed from the database.
Objects in this state may no longer be interacted with.
+[#PERSISTABLE_ATTACHED_NO_OID]
+=== PERSISTABLE_ATTACHED_NO_OID
+
+DN/JDO specific on pre-store. Is attached, has no OID yet.
+
+[#PERSISTABLE_DETACHED_WITH_OID]
+=== PERSISTABLE_DETACHED_WITH_OID
+
+JPA specific. Is detached, but has an OID.
+
[#isPersistable_]
=== isPersistable()
@@ -116,11 +132,6 @@ Object is an entity so is _potentially_ persistable ot the
database.
Object with this state is an entity that is attached to a persistence session,
in other words changes to the entity will be flushed back to the database.
-[#isNew_]
-=== isNew()
-
-DN/JDO specific on pre-store. Is attached, has no OID yet.
-
[#isDetached_]
=== isDetached()
@@ -133,11 +144,18 @@ Object with this state is an entity that has been removed
from the database. Obj
Only supported by JDO. Will always return false with JPA.
-[#isDetachedOrRemoved_]
-=== isDetachedOrRemoved()
-
[#isAttachedOrRemoved_]
=== isAttachedOrRemoved()
-[#isAttachedOrNew_]
-=== isAttachedOrNew()
+[WARNING]
+====
+[red]#_deprecated:_#
+
+not supported by JPA
+====
+
+[#isSpecicalJdoAttachedNoOid_]
+=== isSpecicalJdoAttachedNoOid()
+
+[#isSpecicalJpaDetachedWithOid_]
+=== isSpecicalJpaDetachedWithOid()
diff --git
a/antora/components/refguide-index/modules/applib/pages/index/value/Clob.adoc
b/antora/components/refguide-index/modules/applib/pages/index/value/Clob.adoc
index feaa64642b..c07ca86988 100644
---
a/antora/components/refguide-index/modules/applib/pages/index/value/Clob.adoc
+++
b/antora/components/refguide-index/modules/applib/pages/index/value/Clob.adoc
@@ -27,6 +27,7 @@ class Clob {
CharSequence getChars()
Blob toBlob(Charset charset)
void writeCharsTo(Writer wr)
+ String asString()
boolean equals(Object o)
int hashCode()
String toString()
diff --git
a/antora/components/refguide-index/modules/core/pages/index/metamodel/object/ManagedObject.adoc
b/antora/components/refguide-index/modules/core/pages/index/metamodel/object/ManagedObject.adoc
index 24a4dd830a..6bbb081f70 100644
---
a/antora/components/refguide-index/modules/core/pages/index/metamodel/object/ManagedObject.adoc
+++
b/antora/components/refguide-index/modules/core/pages/index/metamodel/object/ManagedObject.adoc
@@ -14,30 +14,28 @@ interface ManagedObject {
ObjectSpecification getSpecification() // <.>
Object getPojo() // <.>
EntityState getEntityState()
- void refreshViewmodel(Supplier<Bookmark> bookmarkSupplier) // <.>
Supplier<ManagedObject> asSupplier()
T assertCompliance(T pojo) // <.>
String getTitle() // <.>
- Optional<ObjectSpecification> getElementSpecification() // <.>
String getIconName() // <.>
ObjectIcon getIcon()
+ Either<ManagedObject, ManagedObject> asEitherWithOrWithoutMemoizedBookmark()
ManagedObject unspecified() // <.>
ManagedObject empty(ObjectSpecification spec) // <.>
ManagedObject value(ObjectSpecification spec, Object pojo) // <.>
ManagedObject service(ObjectSpecification spec, Object pojo) // <.>
ManagedObject viewmodel(ObjectSpecification spec, Object pojo,
Optional<Bookmark> bookmarkIfKnown) // <.>
ManagedObject entity(ObjectSpecification spec, Object pojo,
Optional<Bookmark> bookmarkIfKnown) // <.>
- ManagedObject entityAttached(ObjectSpecification spec, Object pojo,
Optional<Bookmark> bookmarkIfKnown)
- ManagedObject entityDetached(ObjectSpecification spec, Object pojo)
+ ManagedObject entityHypridBookmarked(ObjectSpecification spec, Object pojo,
Optional<Bookmark> bookmarkIfKnown)
+ ManagedObject entityHybirdDetached(ObjectSpecification spec, Object pojo)
ManagedObject mixin(ObjectSpecification spec, Object pojo) // <.>
ManagedObject other(ObjectSpecification spec, Object pojo) // <.>
PackedManagedObject packed(ObjectSpecification elementSpec,
Can<ManagedObject> nonScalar) // <.>
ManagedObject adaptScalar(SpecificationLoader specLoader, Object pojo)
// <.>
ManagedObject adaptScalar(ObjectSpecification guess, Object pojo)
- ManagedObject identified(ObjectSpecification spec, Object pojo, Bookmark
bookmark)
- ManagedObject adaptScalarInternal(ObjectSpecification guess, Object pojo,
Optional<Bookmark> bookmarkIfAny) // <.>
- ManagedObject of(ObjectSpecification spec, Object pojo) // <.>
ManagedObject bookmarked(ObjectSpecification spec, Object pojo, Bookmark
bookmark) // <.>
+ ManagedObject adaptScalarInternal(ObjectSpecification guess, Object pojo,
Optional<Bookmark> bookmarkIfAny) // <.>
+ ManagedObject adaptParameter(ObjectActionParameter param, Object paramValue)
}
----
@@ -56,11 +54,6 @@ Returns the specification that details the structure
(meta-model) of this object
--
Returns the adapted domain object, the 'plain old java' object this managed
object represents with the framework.
--
-<.> xref:#refreshViewmodel_Supplier[refreshViewmodel(Supplier)]
-+
---
-If the underlying domain object is a viewmodel, refreshes any referenced
entities. (Acts as a no-op otherwise.)
---
<.> xref:#assertCompliance_T[assertCompliance(T)]
+
--
@@ -71,11 +64,6 @@ Unary operator asserting that _pojo_ and
_#getSpecification()_ are compliant wit
--
The (untranslated) title of the wrapped pojo.
--
-<.> xref:#getElementSpecification_[getElementSpecification()]
-+
---
-As used for the element type of collections.
---
<.> xref:#getIconName_[getIconName()]
+
--
@@ -131,20 +119,15 @@ PACKED
--
For cases, when the pojo's specification is not available and needs to be
looked up.
--
-<.>
xref:#adaptScalarInternal_ObjectSpecification_Object_Optional[adaptScalarInternal(ObjectSpecification,
Object, Optional)]
-+
---
-spec and pojo don't need to be strictly in sync, we adapt if required
---
-<.> xref:#of_ObjectSpecification_Object[of(ObjectSpecification, Object)]
+<.>
xref:#bookmarked_ObjectSpecification_Object_Bookmark[bookmarked(ObjectSpecification,
Object, Bookmark)]
+
--
-Optimized for cases, when the pojo's specification is already available. If
_pojo_ is an entity, automatically memoizes its bookmark.
+Optimized for cases, when the pojo's specification and bookmark are already
available.
--
-<.>
xref:#bookmarked_ObjectSpecification_Object_Bookmark[bookmarked(ObjectSpecification,
Object, Bookmark)]
+<.>
xref:#adaptScalarInternal_ObjectSpecification_Object_Optional[adaptScalarInternal(ObjectSpecification,
Object, Optional)]
+
--
-Optimized for cases, when the pojo's specification and bookmark are already
available.
+spec and pojo don't need to be strictly in sync, we adapt if required
--
== Members
@@ -164,11 +147,6 @@ Returns the specification that details the structure
(meta-model) of this object
Returns the adapted domain object, the 'plain old java' object this managed
object represents with the framework.
-[#refreshViewmodel_Supplier]
-=== refreshViewmodel(Supplier)
-
-If the underlying domain object is a viewmodel, refreshes any referenced
entities. (Acts as a no-op otherwise.)
-
[#assertCompliance_T]
=== assertCompliance(T)
@@ -179,11 +157,6 @@ Unary operator asserting that _pojo_ and
_#getSpecification()_ are compliant wit
The (untranslated) title of the wrapped pojo.
-[#getElementSpecification_]
-=== getElementSpecification()
-
-As used for the element type of collections.
-
[#getIconName_]
=== getIconName()
@@ -243,17 +216,12 @@ For cases, when the pojo's specification is not available
and needs to be looked
Fails if the pojo is non-scalar.
-[#adaptScalarInternal_ObjectSpecification_Object_Optional]
-=== adaptScalarInternal(ObjectSpecification, Object, Optional)
-
-spec and pojo don't need to be strictly in sync, we adapt if required
-
-[#of_ObjectSpecification_Object]
-=== of(ObjectSpecification, Object)
-
-Optimized for cases, when the pojo's specification is already available. If
_pojo_ is an entity, automatically memoizes its bookmark.
-
[#bookmarked_ObjectSpecification_Object_Bookmark]
=== bookmarked(ObjectSpecification, Object, Bookmark)
Optimized for cases, when the pojo's specification and bookmark are already
available.
+
+[#adaptScalarInternal_ObjectSpecification_Object_Optional]
+=== adaptScalarInternal(ObjectSpecification, Object, Optional)
+
+spec and pojo don't need to be strictly in sync, we adapt if required
diff --git
a/antora/components/refguide-index/modules/core/pages/index/runtimeservices/publish/LifecycleCallbackNotifier.adoc
b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/publish/LifecycleCallbackNotifier.adoc
index 5fbe58bf9d..c2859618ae 100644
---
a/antora/components/refguide-index/modules/core/pages/index/runtimeservices/publish/LifecycleCallbackNotifier.adoc
+++
b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/publish/LifecycleCallbackNotifier.adoc
@@ -11,7 +11,7 @@ Calls lifecycle callbacks for entities, ensuring that any
given entity is only e
class LifecycleCallbackNotifier {
void postCreate(ManagedObject entity)
void postLoad(ManagedObject entity)
- void prePersist(ManagedObject entity)
+ void prePersist(Either<ManagedObject, ManagedObject> eitherWithOrWithoutOid)
// <.>
void postPersist(ManagedObject entity)
void preUpdate(ManagedObject entity)
void postUpdate(ManagedObject entity)
@@ -19,3 +19,9 @@ class LifecycleCallbackNotifier {
}
----
+<.> xref:#prePersist_Either[prePersist(Either)]
+
+== Members
+
+[#prePersist_Either]
+=== prePersist(Either)
diff --git
a/antora/components/refguide-index/modules/core/pages/index/runtimeservices/publish/ObjectLifecyclePublisherDefault.adoc
b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/publish/ObjectLifecyclePublisherDefault.adoc
index 81bd3f111e..92cb6801a4 100644
---
a/antora/components/refguide-index/modules/core/pages/index/runtimeservices/publish/ObjectLifecyclePublisherDefault.adoc
+++
b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/publish/ObjectLifecyclePublisherDefault.adoc
@@ -10,7 +10,7 @@ class ObjectLifecyclePublisherDefault {
LifecycleCallbackNotifier lifecycleCallbackNotifier()
void onPostCreate(ManagedObject entity)
void onPostLoad(ManagedObject entity)
- void onPrePersist(ManagedObject entity)
+ void onPrePersist(Either<ManagedObject, ManagedObject>
eitherWithOrWithoutOid)
void onPostPersist(ManagedObject entity)
void onPreUpdate(ManagedObject entity, Can<PropertyChangeRecord>
changeRecords)
void onPostUpdate(ManagedObject entity)
diff --git a/core/adoc/modules/_overview/pages/about.adoc
b/core/adoc/modules/_overview/pages/about.adoc
index c18c89b94e..f495450810 100644
--- a/core/adoc/modules/_overview/pages/about.adoc
+++ b/core/adoc/modules/_overview/pages/about.adoc
@@ -1702,7 +1702,7 @@ Directory: /core/runtime
****
o.a.i.core.runtime.events.MetamodelEventService +
o.a.i.core.runtime.events.TransactionEventEmitter +
-o.a.i.core.runtime.idstringifier.IdStringifierService +
+o.a.i.core.runtime.idstringifier.IdStringifierLookupService +
****
.Dependencies