You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2020/03/03 12:33:54 UTC
[isis] 01/02: ISIS-2062: adds tags into applib classes for refguide
docs
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 4984c0c5f317540b481f0d07684f85c20c49b009
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Mar 3 11:39:45 2020 +0000
ISIS-2062: adds tags into applib classes for refguide docs
---
.../org/apache/isis/applib/AbstractViewModel.java | 2 +
.../apache/isis/applib/ApplicationException.java | 2 +
.../org/apache/isis/applib/FatalException.java | 2 +
.../java/org/apache/isis/applib/Identifier.java | 2 +
.../isis/applib/NonRecoverableException.java | 2 +
.../apache/isis/applib/PersistFailedException.java | 2 +
.../apache/isis/applib/RecoverableException.java | 2 +
.../isis/applib/RecreatableDomainObject.java | 2 +
.../apache/isis/applib/RepositoryException.java | 2 +
.../java/org/apache/isis/applib/ViewModel.java | 2 +
.../isis/applib/adapters/DefaultsProvider.java | 4 +
.../isis/applib/adapters/EncoderDecoder.java | 8 +-
.../isis/applib/adapters/EncodingException.java | 2 +
.../org/apache/isis/applib/adapters/Parser.java | 14 ++
.../isis/applib/adapters/ParsingException.java | 2 +
.../applib/adapters/ValueSemanticsProvider.java | 8 +
.../org/apache/isis/applib/annotation/Action.java | 61 ++++---
.../isis/applib/annotation/ActionLayout.java | 51 +++---
.../apache/isis/applib/annotation/Auditing.java | 15 ++
.../isis/applib/annotation/BookmarkPolicy.java | 17 +-
.../apache/isis/applib/annotation/Bounding.java | 2 +
.../apache/isis/applib/annotation/Collection.java | 39 +++--
.../isis/applib/annotation/CollectionLayout.java | 44 ++---
.../isis/applib/annotation/CommandExecuteIn.java | 22 +--
.../isis/applib/annotation/CommandPersistence.java | 16 +-
.../isis/applib/annotation/CommandReification.java | 15 ++
.../apache/isis/applib/annotation/Constants.java | 27 ---
.../apache/isis/applib/annotation/Contributed.java | 20 ++-
.../apache/isis/applib/annotation/Defaulted.java | 6 +
.../isis/applib/annotation/DomainObject.java | 82 +++++----
.../isis/applib/annotation/DomainObjectLayout.java | 56 ++++---
.../isis/applib/annotation/DomainService.java | 23 ++-
.../applib/annotation/DomainServiceLayout.java | 17 +-
.../org/apache/isis/applib/annotation/Editing.java | 14 ++
.../isis/applib/annotation/EqualByContent.java | 7 +-
.../org/apache/isis/applib/annotation/Facets.java | 7 +
.../apache/isis/applib/annotation/HomePage.java | 2 +
.../isis/applib/annotation/LabelPosition.java | 9 +-
.../apache/isis/applib/annotation/MemberOrder.java | 6 +
.../applib/annotation/MementoSerialization.java | 12 ++
.../apache/isis/applib/annotation/MinLength.java | 3 +-
.../org/apache/isis/applib/annotation/Mixin.java | 6 +
.../org/apache/isis/applib/annotation/Module.java | 5 +-
.../org/apache/isis/applib/annotation/Nature.java | 29 +++-
.../isis/applib/annotation/NatureOfService.java | 31 ++--
.../apache/isis/applib/annotation/Navigable.java | 9 +-
.../apache/isis/applib/annotation/Optionality.java | 27 ++-
.../isis/applib/annotation/OrderPrecedence.java | 13 ++
.../apache/isis/applib/annotation/Parameter.java | 32 ++--
.../isis/applib/annotation/ParameterLayout.java | 24 ++-
.../isis/applib/annotation/Programmatic.java | 13 +-
.../apache/isis/applib/annotation/Projecting.java | 8 +
.../apache/isis/applib/annotation/PromptStyle.java | 27 ++-
.../apache/isis/applib/annotation/Property.java | 92 +++++-----
.../isis/applib/annotation/PropertyLayout.java | 26 ++-
.../apache/isis/applib/annotation/Publishing.java | 15 ++
.../applib/annotation/PublishingChangeKind.java | 8 +-
.../apache/isis/applib/annotation/Redirect.java | 10 ++
.../apache/isis/applib/annotation/RenderDay.java | 12 +-
.../apache/isis/applib/annotation/Repainting.java | 10 ++
.../apache/isis/applib/annotation/RestrictTo.java | 6 +
.../apache/isis/applib/annotation/SemanticsOf.java | 35 +++-
.../org/apache/isis/applib/annotation/Title.java | 16 +-
.../org/apache/isis/applib/annotation/Value.java | 6 +
.../apache/isis/applib/annotation/ViewModel.java | 14 +-
.../isis/applib/annotation/ViewModelLayout.java | 55 +++---
.../org/apache/isis/applib/annotation/Where.java | 65 ++++++++
.../apache/isis/applib/client/SuppressionType.java | 48 ++++--
.../events/{domain => }/EventObjectBase.java | 20 ++-
.../applib/events/domain/AbstractDomainEvent.java | 185 +++++++++++++--------
.../applib/events/domain/ActionDomainEvent.java | 152 +++++++----------
.../events/domain/CollectionDomainEvent.java | 62 +++----
.../applib/events/domain/PropertyDomainEvent.java | 55 +++---
.../events/lifecycle/AbstractLifecycleEvent.java | 6 +-
.../events/lifecycle/ObjectCreatedEvent.java | 23 +--
.../applib/events/lifecycle/ObjectLoadedEvent.java | 25 +--
.../events/lifecycle/ObjectPersistedEvent.java | 24 +--
.../events/lifecycle/ObjectPersistingEvent.java | 22 +--
.../events/lifecycle/ObjectRemovingEvent.java | 22 +--
.../events/lifecycle/ObjectUpdatedEvent.java | 22 +--
.../events/lifecycle/ObjectUpdatingEvent.java | 22 +--
.../isis/applib/events/ui/AbstractUiEvent.java | 11 +-
.../isis/applib/events/ui/CssClassUiEvent.java | 56 ++++---
.../isis/applib/events/ui/LayoutUiEvent.java | 64 ++++---
.../apache/isis/applib/events/ui/TitleUiEvent.java | 45 ++---
.../java/org/apache/isis/applib/graph/Edge.java | 7 +-
.../org/apache/isis/applib/graph/SimpleEdge.java | 2 +
.../java/org/apache/isis/applib/graph/Vertex.java | 15 +-
.../jaxbadapters/PersistentEntitiesAdapter.java | 22 ++-
.../jaxbadapters/PersistentEntityAdapter.java | 15 +-
.../java/org/apache/isis/applib/query/Query.java | 24 ++-
.../apache/isis/applib/security/RoleMemento.java | 27 ++-
.../apache/isis/applib/security/UserMemento.java | 73 ++++----
.../apache/isis/applib/services/HasUniqueId.java | 4 +
.../apache/isis/applib/services/HasUsername.java | 4 +-
.../isis/applib/services/WithTransactionScope.java | 2 +
.../applib/services/metrics/MetricsService.java | 4 +
.../applib/services/publish/PublishedObjects.java | 3 -
.../applib/services/publish/PublisherService.java | 2 +
.../queryresultscache/QueryResultsCache.java | 14 +-
.../applib/services/registry/ServiceRegistry.java | 40 ++++-
.../applib/services/repository/EntityState.java | 8 +-
.../services/repository/RepositoryService.java | 35 +++-
.../applib/services/routing/RoutingService.java | 1 -
.../applib/services/scratchpad/Scratchpad.java | 12 +-
.../services/session/SessionLoggingService.java | 11 +-
.../isis/applib/services/sudo/SudoService.java | 40 +++--
.../applib/services/swagger/SwaggerService.java | 26 ++-
.../services/tablecol/TableColumnOrderService.java | 3 -
.../isis/applib/services/title/TitleService.java | 4 +
.../services/urlencoding/UrlEncodingService.java | 1 +
.../isis/applib/services/user/UserService.java | 2 +
.../services/userprof/UserProfileService.java | 2 +
.../services/userreg/EmailNotificationService.java | 8 +-
.../isis/applib/services/userreg/UserDetails.java | 3 +-
.../applib/services/wrapper/WrapperFactory.java | 106 +++++++++---
.../applib/services/wrapper/WrappingObject.java | 11 +-
.../services/wrapper/events/InteractionEvent.java | 2 +-
.../isis/applib/services/xactn/Transaction.java | 2 +
.../isis/applib/services/xactn/TransactionId.java | 12 +-
.../applib/services/xactn/TransactionService.java | 26 ++-
.../applib/services/xactn/TransactionState.java | 24 ++-
.../services/xmlsnapshot/XmlSnapshotService.java | 24 ++-
.../snapshot/SnapshottableWithInclusions.java | 5 +
.../isis/applib/spec/AbstractSpecification2.java | 2 +
.../org/apache/isis/applib/spec/Specification.java | 7 +-
.../apache/isis/applib/spec/Specification2.java | 7 +-
.../apache/isis/applib/spec/SpecificationAnd.java | 2 +
.../apache/isis/applib/spec/SpecificationNot.java | 2 +
.../apache/isis/applib/spec/SpecificationOr.java | 4 +-
.../apache/isis/applib/types/DescriptionType.java | 10 +-
.../isis/applib/types/MemberIdentifierType.java | 8 +-
.../apache/isis/applib/types/TargetActionType.java | 10 +-
.../apache/isis/applib/types/TargetClassType.java | 10 +-
.../java/org/apache/isis/applib/util/Enums.java | 5 +-
.../java/org/apache/isis/applib/util/JaxbUtil.java | 4 +-
.../java/org/apache/isis/applib/value/Blob.java | 2 +
.../java/org/apache/isis/applib/value/Clob.java | 2 +
.../java/org/apache/isis/applib/value/Image.java | 2 +
.../isis/applib/value/LocalResourcePath.java | 2 +
.../java/org/apache/isis/applib/value/Markup.java | 2 +
.../isis/applib/value/NamedWithMimeType.java | 2 +
.../org/apache/isis/applib/value/Password.java | 2 +
.../core/metamodel/facets/DomainEventHelper.java | 2 +-
.../transaction/ChangedObjectsService.java | 5 +-
.../userreg/EmailNotificationServiceDefault.java | 1 -
.../runtimeservices/wrapper/AsyncWrapDefault.java | 20 +--
.../wrapper/WrapperFactoryDefault.java | 8 +-
.../commons/internal/reflection/ReflectTest.java | 9 +-
.../wrapper/WrapperFactoryDefaultTest.java | 12 +-
.../testdomain/auditing/AuditerServiceTest.java | 5 +-
.../publishing/PublisherServiceTest.java | 5 +-
.../applib/events/FixturesInstalledEvent.java | 2 +-
.../applib/events/FixturesInstallingEvent.java | 2 +-
154 files changed, 1885 insertions(+), 986 deletions(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java b/api/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java
index 6d81128..ce2cb98 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java
@@ -32,6 +32,8 @@ package org.apache.isis.applib;
* </p>
*
*/
+// tag::refguide[]
+// end::refguide[]
public abstract class AbstractViewModel implements ViewModel {
@Override
diff --git a/api/applib/src/main/java/org/apache/isis/applib/ApplicationException.java b/api/applib/src/main/java/org/apache/isis/applib/ApplicationException.java
index a48f454..5fa2858 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/ApplicationException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/ApplicationException.java
@@ -45,6 +45,8 @@ import org.apache.isis.applib.services.i18n.TranslatableString;
* @see NonRecoverableException
* @see FatalException
*/
+// tag::refguide[]
+// end::refguide[]
public class ApplicationException extends RecoverableException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/FatalException.java b/api/applib/src/main/java/org/apache/isis/applib/FatalException.java
index 60191a9..dadd763 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/FatalException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/FatalException.java
@@ -34,6 +34,8 @@ package org.apache.isis.applib;
* @see ApplicationException
* @see NonRecoverableException
*/
+// tag::refguide[]
+// end::refguide[]
public class FatalException extends NonRecoverableException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/Identifier.java b/api/applib/src/main/java/org/apache/isis/applib/Identifier.java
index 7a7a2d6..bfd8f62 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/Identifier.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/Identifier.java
@@ -28,6 +28,8 @@ import java.util.stream.Collectors;
import org.apache.isis.core.commons.internal.base._NullSafe;
import org.apache.isis.core.commons.internal.collections._Lists;
+// tag::refguide[]
+// end::refguide[]
public class Identifier implements Comparable<Identifier> {
private static final List<String> EMPTY_LIST_OF_STRINGS = Collections.<String> emptyList();
diff --git a/api/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java b/api/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java
index a5ef8d0..2853e2b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java
@@ -39,6 +39,8 @@ import org.apache.isis.core.commons.internal.functions._Functions;
* @see ApplicationException
* @see FatalException
*/
+// tag::refguide[]
+// end::refguide[]
public class NonRecoverableException extends RuntimeException implements TranslatableException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/PersistFailedException.java b/api/applib/src/main/java/org/apache/isis/applib/PersistFailedException.java
index 615f0a9..44cfe31 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/PersistFailedException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/PersistFailedException.java
@@ -31,6 +31,8 @@ package org.apache.isis.applib;
* @see NonRecoverableException
* @see RecoverableException
*/
+// tag::refguide[]
+// end::refguide[]
public class PersistFailedException extends NonRecoverableException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/RecoverableException.java b/api/applib/src/main/java/org/apache/isis/applib/RecoverableException.java
index a52e2f5..5ff2e77 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/RecoverableException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/RecoverableException.java
@@ -48,6 +48,8 @@ import org.apache.isis.core.commons.internal.exceptions._Exceptions;
* @see NonRecoverableException
* @see FatalException
*/
+// tag::refguide[]
+// end::refguide[]
public class RecoverableException extends RuntimeException implements TranslatableException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/RecreatableDomainObject.java b/api/applib/src/main/java/org/apache/isis/applib/RecreatableDomainObject.java
index 37e6c12..d6ede95 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/RecreatableDomainObject.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/RecreatableDomainObject.java
@@ -29,6 +29,8 @@ package org.apache.isis.applib;
* </p>
*/
+// tag::refguide[]
+// end::refguide[]
public interface RecreatableDomainObject {
/**
diff --git a/api/applib/src/main/java/org/apache/isis/applib/RepositoryException.java b/api/applib/src/main/java/org/apache/isis/applib/RepositoryException.java
index af66af9..d320dc3 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/RepositoryException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/RepositoryException.java
@@ -31,6 +31,8 @@ package org.apache.isis.applib;
* @see NonRecoverableException
* @see RecoverableException
*/
+// tag::refguide[]
+// end::refguide[]
public class RepositoryException extends NonRecoverableException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/ViewModel.java b/api/applib/src/main/java/org/apache/isis/applib/ViewModel.java
index 9fb7857..fe69f1c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/ViewModel.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/ViewModel.java
@@ -28,6 +28,8 @@ import org.apache.isis.applib.annotation.Programmatic;
* Objects that are part of the domain object layer should instead implement {@link RecreatableDomainObject}.
* </p>
*/
+// tag::refguide[]
+// end::refguide[]
public interface ViewModel {
/**
diff --git a/api/applib/src/main/java/org/apache/isis/applib/adapters/DefaultsProvider.java b/api/applib/src/main/java/org/apache/isis/applib/adapters/DefaultsProvider.java
index 69a5fa5..cb51705 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/adapters/DefaultsProvider.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/adapters/DefaultsProvider.java
@@ -45,11 +45,15 @@ package org.apache.isis.applib.adapters;
* @see EncoderDecoder
* @see ValueSemanticsProvider
*/
+// tag::refguide[]
public interface DefaultsProvider<T> {
+ // tag::refguide[]
/**
* The default, if any (as a pojo).
*/
T getDefaultValue();
+ // tag::refguide[]
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/adapters/EncoderDecoder.java b/api/applib/src/main/java/org/apache/isis/applib/adapters/EncoderDecoder.java
index f15f195..ad2c792 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/adapters/EncoderDecoder.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/adapters/EncoderDecoder.java
@@ -45,8 +45,10 @@ package org.apache.isis.applib.adapters;
* @see DefaultsProvider
* @see ValueSemanticsProvider
*/
+// tag::refguide[]
public interface EncoderDecoder<T> {
+ // end::refguide[]
/**
* Returns the provided object as an encoded string.
*
@@ -56,16 +58,20 @@ public interface EncoderDecoder<T> {
* constructor. That is, the object shouldn't encode itself, it should
* encode the object provided to it.
*/
+ // tag::refguide[]
String toEncodedString(T toEncode);
+ // end::refguide[]
/**
* Converts an encoded string to an instance of the object.
*
* <p>
* Note that here the implementing class is acting as a factory for itself.
*
- * @see #toEncodedString(% toEncode)
+ * @see #toEncodedString(T toEncode)
*/
+ // tag::refguide[]
T fromEncodedString(String encodedString);
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/adapters/EncodingException.java b/api/applib/src/main/java/org/apache/isis/applib/adapters/EncodingException.java
index 625d059..5827d0f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/adapters/EncodingException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/adapters/EncodingException.java
@@ -22,6 +22,7 @@ package org.apache.isis.applib.adapters;
/**
* Indicates that encoding or decoding has failed.
*/
+// tag::refguide[]
public class EncodingException extends RuntimeException {
private static final long serialVersionUID = 1L;
@@ -42,3 +43,4 @@ public class EncodingException extends RuntimeException {
}
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java b/api/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
index 703441f..7cd592f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
@@ -74,8 +74,10 @@ package org.apache.isis.applib.adapters;
* @see EncoderDecoder
* @see ValueSemanticsProvider
*/
+// tag::refguide[]
public interface Parser<T> {
+ // end::refguide[]
/**
* Parses a string to an instance of the object.
*
@@ -85,23 +87,31 @@ public interface Parser<T> {
* - the context domain object for which the text is being
* parsed. For example +3 might mean add 3 to the current number.
*/
+ // tag::refguide[]
T parseTextEntry(Object contextPojo, String entry);
+ // end::refguide[]
/**
* The typical length of objects that can be parsed.
*/
+ // tag::refguide[]
int typicalLength();
+ // end::refguide[]
/**
* The title of the object.
*/
+ // tag::refguide[]
String displayTitleOf(T object);
+ // end::refguide[]
/**
* The title of the object using a mask.
*/
+ // tag::refguide[]
String displayTitleOf(T object, String usingMask);
+ // end::refguide[]
/**
* A title for the object that is valid but which may be easier to edit than
* the title provided by a <code>TitleFacet</code>.
@@ -112,14 +122,18 @@ public interface Parser<T> {
* field. So, a date might be rendered via a <code>TitleFacet</code> as
* <tt>May 2, 2007</tt>, but its editable form might be <tt>20070502</tt>.
*/
+ // tag::refguide[]
String parseableTitleOf(T existing);
+ // end::refguide[]
/**
* The max length of objects that can be parsed (if any).
* A return type of -1 corresponds to unlimited.
*/
+ // tag::refguide[]
default int maxLength() {
return -1;
}
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/adapters/ParsingException.java b/api/applib/src/main/java/org/apache/isis/applib/adapters/ParsingException.java
index a219eaf..9b4413e 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/adapters/ParsingException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/adapters/ParsingException.java
@@ -23,6 +23,7 @@ package org.apache.isis.applib.adapters;
* Indicates that parsing has failed, ie the entry is illegal (rather than
* invalid).
*/
+// tag::refguide[]
public class ParsingException extends RuntimeException {
private static final long serialVersionUID = 1L;
@@ -43,3 +44,4 @@ public class ParsingException extends RuntimeException {
}
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/adapters/ValueSemanticsProvider.java b/api/applib/src/main/java/org/apache/isis/applib/adapters/ValueSemanticsProvider.java
index 80c7336..a639ffd 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/adapters/ValueSemanticsProvider.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/adapters/ValueSemanticsProvider.java
@@ -39,24 +39,32 @@ import org.apache.isis.applib.annotation.Value;
* @see EncoderDecoder
* @see DefaultsProvider
*/
+// tag::refguide[]
public interface ValueSemanticsProvider<T> {
+ // end::refguide[]
/**
* The {@link Parser}, if any.
*/
+ // tag::refguide[]
Parser<T> getParser();
+ // end::refguide[]
/**
* The {@link EncoderDecoder}, if any.
*/
+ // tag::refguide[]
EncoderDecoder<T> getEncoderDecoder();
+ // end::refguide[]
/**
* The {@link DefaultsProvider}, if any.
*
* <p>
* If not <tt>null</tt>, implies that the value has (or may have) a default.
*/
+ // tag::refguide[]
DefaultsProvider<T> getDefaultsProvider();
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
index b9347b8..4549519 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
@@ -37,13 +37,18 @@ import org.apache.isis.applib.value.Clob;
/**
* Domain semantics for domain object collection.
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.METHOD, ElementType.TYPE, ElementType.ANNOTATION_TYPE })
+@Target({
+ ElementType.METHOD,
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE }
+)
@Retention(RetentionPolicy.RUNTIME)
@Mixin(method = "act")
public @interface Action {
-
+ // end::refguide[]
/**
* Indicates that an invocation of the action should be posted to the
* {@link org.apache.isis.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
@@ -66,11 +71,10 @@ public @interface Action {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends ActionDomainEvent<?>> domainEvent() default ActionDomainEvent.Default.class;
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Indicates where (in the UI) the action is not visible to the user.
*
@@ -84,30 +88,34 @@ public @interface Action {
* {@link ActionLayout#contributed()}.
* </p>
*/
+ // tag::refguide[]
Where hidden() default Where.NOT_SPECIFIED;
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* The action semantics, either {@link SemanticsOf#SAFE_AND_REQUEST_CACHEABLE cached}, {@link SemanticsOf#SAFE safe} (query-only),
* {@link SemanticsOf#IDEMPOTENT idempotent} or
* {@link SemanticsOf#NON_IDEMPOTENT non-idempotent}.
*/
+ // tag::refguide[]
SemanticsOf semantics() default SemanticsOf.NOT_SPECIFIED;
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Whether the action invocation should be reified into a {@link org.apache.isis.applib.services.command.Command} object.
*/
+ // tag::refguide[]
CommandReification command() default CommandReification.NOT_SPECIFIED;
+ // end::refguide[]
/**
* How the {@link org.apache.isis.applib.services.command.Command Command} object provided by the
* {@link org.apache.isis.applib.services.command.CommandContext CommandContext} domain service should be persisted.
*/
+ // tag::refguide[]
CommandPersistence commandPersistence() default CommandPersistence.PERSISTED;
+ // end::refguide[]
/**
* How the command/action should be executed.
*
@@ -117,8 +125,10 @@ public @interface Action {
* will be set to this value.
* </p>
*/
+ // tag::refguide[]
CommandExecuteIn commandExecuteIn() default CommandExecuteIn.FOREGROUND;
+ // end::refguide[]
/**
* The {@link CommandDtoProcessor} to process this command's DTO.
*
@@ -133,12 +143,10 @@ public @interface Action {
* {@link ContentMappingServiceForCommandsDto} to dynamically transform the DTOs.
* </p>
*/
+ // tag::refguide[]
Class<? extends CommandDtoProcessor> commandDtoProcessor() default CommandDtoProcessor.class;
-
- // //////////////////////////////////////
-
-
+ // end::refguide[]
/**
* Whether the action invocation should be published.
*
@@ -147,22 +155,18 @@ public @interface Action {
* or {@link org.apache.isis.applib.services.publish.PublisherService} is registered with the framework.
* </p>
*/
+ // tag::refguide[]
Publishing publishing() default Publishing.NOT_SPECIFIED;
-
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* The type-of the elements returned by the action.
* @return
*/
+ // tag::refguide[]
Class<?> typeOf() default Object.class;
-
- // //////////////////////////////////////
-
-
+ // end::refguide[]
/**
* Whether the action is restricted to prototyping.
*
@@ -170,12 +174,10 @@ public @interface Action {
* By default there are no restrictions, with the action being available in all environments.
* </p>
*/
+ // tag::refguide[]
RestrictTo restrictTo() default RestrictTo.NOT_SPECIFIED;
-
- // //////////////////////////////////////
-
-
+ // end::refguide[]
/**
* Associates this action with a property or collection, specifying its id.
*
@@ -195,8 +197,10 @@ public @interface Action {
* (in the Wicket UI, at least).
* </p>
*/
+ // tag::refguide[]
String associateWith() default "";
+ // end::refguide[]
/**
* Specifies the sequence/order in the UI for an action that's been associated with a property or collection.
*
@@ -209,8 +213,10 @@ public @interface Action {
* For example <code>@Action(associateWith="items", associateWithSequence="2.1")</code>
* </p>
*/
+ // tag::refguide[]
String associateWithSequence() default "1";
+ // end::refguide[]
/**
* For uploading {@link Blob} or {@link Clob}, optionally restrict the files accepted (eg <tt>.xslx</tt>).
*
@@ -220,5 +226,8 @@ public @interface Action {
*
* @see <a href="http://www.w3schools.com/tags/att_input_accept.asp">http://www.w3schools.com</a>
*/
+ // tag::refguide[]
String fileAccept() default "";
-}
\ No newline at end of file
+
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/ActionLayout.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/ActionLayout.java
index ca1a3a7..8a6f370 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/ActionLayout.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/ActionLayout.java
@@ -32,13 +32,18 @@ import org.apache.isis.applib.layout.component.CssClassFaPosition;
/**
* Layout hints for actions.
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.METHOD, ElementType.TYPE, ElementType.ANNOTATION_TYPE })
+@Target({
+ ElementType.METHOD,
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
@Retention(RetentionPolicy.RUNTIME)
@Mixin(method = "act")
public @interface ActionLayout {
-
+ // end::refguide[]
/**
* Whether (and how) this action can be bookmarked in the UI.
*
@@ -48,10 +53,10 @@ public @interface ActionLayout {
* identically).
* </p>
*/
+ // tag::refguide[]
BookmarkPolicy bookmarking() default BookmarkPolicy.NOT_SPECIFIED;
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Indicates the css class that an action should have.
*
@@ -59,47 +64,47 @@ public @interface ActionLayout {
* For the Wicket viewer, this can be a bootstrap class such as <code>btn-info</code>.
* </p>
*/
+ // tag::refguide[]
String cssClass() default "";
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Indicates the <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a> CSS class to decorate an
* action (button or menu item).
*/
+ // tag::refguide[]
String cssClassFa() default "";
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Indicates the position of the <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a>
* icon. The icon could be rendered on the left or the right of the action button
*/
+ // tag::refguide[]
CssClassFaPosition cssClassFaPosition() default CssClassFaPosition.LEFT;
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Description of this action, eg to be rendered in a tooltip.
*/
+ // tag::refguide[]
String describedAs() default "";
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Indicates where in the UI the action should <i>not</i>not be visible.
*/
+ // tag::refguide[]
Where hidden() default Where.NOT_SPECIFIED;
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Name of this action (overriding the name derived from its name in code).
*/
+ // tag::refguide[]
String named() default "";
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* For actions that are associated with a property, indicates the positioning of the
* action's button relative to the property.
@@ -108,6 +113,7 @@ public @interface ActionLayout {
* Ignored if the action has not been associated with a property.
* </p>
*/
+ // tag::refguide[]
Position position() default Position.NOT_SPECIFIED;
@XmlType(
@@ -121,22 +127,22 @@ public @interface ActionLayout {
NOT_SPECIFIED
}
+ // end::refguide[]
/**
* How this parameters for this action are prompted, either {@link PromptStyle#DIALOG dialog} or {@link PromptStyle#INLINE inline}.
*/
+ // tag::refguide[]
PromptStyle promptStyle() default PromptStyle.AS_CONFIGURED;
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* If the action returns its target, then determines whether to update the page or
* instead to redirect (forcing a re-rendering of a new page).
*/
+ // tag::refguide[]
Redirect redirectPolicy() default Redirect.AS_CONFIGURED;
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* For actions of domain services that can be viewed and contributed (that is, whose
* {@link DomainService#nature() nature} is either {@link org.apache.isis.applib.annotation.NatureOfService#VIEW}
@@ -147,7 +153,8 @@ public @interface ActionLayout {
* Has no meaning for actions of domain entities.
* </p>
*/
+ // tag::refguide[]
Contributed contributed() default Contributed.NOT_SPECIFIED;
-
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Auditing.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Auditing.java
index eb1f6f8..01fdf3c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Auditing.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Auditing.java
@@ -21,7 +21,10 @@ package org.apache.isis.applib.annotation;
/**
* The available policies for auditing changes to the properties of the object.
*/
+// tag::refguide[]
public enum Auditing {
+
+ // end::refguide[]
/**
* The auditing of the object should be as per the default auditing policy configured in <tt>application.properties</tt>.
*
@@ -29,18 +32,30 @@ public enum Auditing {
* If no auditing policy is configured, then the auditing is disabled.
* </p>
*/
+ // tag::refguide[]
AS_CONFIGURED,
+
+ // end::refguide[]
/**
* Audit changes to this object.
*/
+ // tag::refguide[]
ENABLED,
+
+ // end::refguide[]
/**
* Do not audit changes to this object (even if otherwise configured to enable auditing).
*/
+ // tag::refguide[]
DISABLED,
+
+ // end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
* annotations or superclasses/interfaces).
*/
+ // tag::refguide[]
NOT_SPECIFIED
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/BookmarkPolicy.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/BookmarkPolicy.java
index a310d85..a17a903 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/BookmarkPolicy.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/BookmarkPolicy.java
@@ -21,25 +21,40 @@ package org.apache.isis.applib.annotation;
import javax.xml.bind.annotation.XmlType;
+// tag::refguide[]
@XmlType(
namespace = "http://isis.apache.org/applib/layout/component"
)
public enum BookmarkPolicy {
+
+ // end::refguide[]
/**
* Can be bookmarked, and is a top-level 'root' (or parent) bookmark.
*/
+ // tag::refguide[]
AS_ROOT,
+
+ // end::refguide[]
/**
* Can be bookmarked, but only as a child or some other parent/root bookmark
*/
+ // tag::refguide[]
AS_CHILD,
+
+ // end::refguide[]
/**
* An unimportant entity that should never be bookmarked.
*/
+ // tag::refguide[]
NEVER,
+
+ // end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
* annotations or superclasses/interfaces).
*/
+ // tag::refguide[]
NOT_SPECIFIED
-}
\ No newline at end of file
+
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Bounding.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Bounding.java
index fc33caa..4e18848 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Bounding.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Bounding.java
@@ -21,8 +21,10 @@ package org.apache.isis.applib.annotation;
/**
* Whether the set of instances of a domain object is bounded or not.
*/
+// tag::refguide[]
public enum Bounding {
BOUNDED,
UNBOUNDED,
NOT_SPECIFIED
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Collection.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Collection.java
index fa8944a..38a7d19 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Collection.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Collection.java
@@ -30,12 +30,19 @@ import org.apache.isis.applib.events.domain.CollectionDomainEvent;
/**
* Domain semantics for domain object collection.
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.TYPE, ElementType.ANNOTATION_TYPE})
+@Target({
+ ElementType.METHOD,
+ ElementType.FIELD,
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
@Retention(RetentionPolicy.RUNTIME)
@Mixin(method = "coll")
public @interface Collection {
+ // end::refguide[]
/**
* Indicates that changes to the collection that should be posted to the
* {@link org.apache.isis.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
@@ -56,18 +63,17 @@ public @interface Collection {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends CollectionDomainEvent<?,?>> domainEvent() default CollectionDomainEvent.Default.class;
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Indicates when the collection is not visible to the user.
*/
+ // tag::refguide[]
Where hidden() default Where.NOT_SPECIFIED;
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Whether the properties of this domain object can be edited, or collections of this object be added to/removed from.
*
@@ -75,36 +81,37 @@ public @interface Collection {
* Note that non-editable objects can nevertheless have actions invoked upon them.
* </p>
*/
+ // tag::refguide[]
Editing editing() default Editing.NOT_SPECIFIED;
+ // end::refguide[]
/**
* If {@link #editing()} is set to {@link Editing#DISABLED},
* then the reason to provide to the user as to why this property cannot be edited.
*/
+ // tag::refguide[]
String editingDisabledReason() default "";
-
- // //////////////////////////////////////
-
-
+ // end::refguide[]
/**
* Indicates whether the collecion should be included or excluded from mementos.
*
* <p>
- * To ensure that the collection is actually not persisted in the objectstore,
+ * To ensure that the collection is actually not persisted in the objectstore,
* also annotate with the JDO annotation {@link javax.jdo.annotations.NotPersistent}.
* </p>
*/
+ // tag::refguide[]
MementoSerialization mementoSerialization() default MementoSerialization.NOT_SPECIFIED;
-
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* The type-of the elements held within the collection.
+ *
* @return
*/
+ // tag::refguide[]
Class<?> typeOf() default Object.class;
-}
\ No newline at end of file
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
index bc38db5..c061cbb 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
@@ -29,28 +29,33 @@ import java.util.Comparator;
/**
* Layout hints for collections.
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.TYPE, ElementType.ANNOTATION_TYPE })
+@Target({
+ ElementType.METHOD,
+ ElementType.FIELD,
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
@Retention(RetentionPolicy.RUNTIME)
@Mixin(method = "coll")
public @interface CollectionLayout {
-
+ // end::refguide[]
/**
* Indicates the css class that a collection should have.
*/
+ // tag::refguide[]
String cssClass() default "";
- // //////////////////////////////////////
-
-
+ // end::refguide[]
/**
* Description of this collection, eg to be rendered in a tooltip.
*/
+ // tag::refguide[]
String describedAs() default "";
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Indicates which view is used by default to render the collection.
*
@@ -62,10 +67,10 @@ public @interface CollectionLayout {
* "<a href="https://github.com/isisaddons/isis-wicket-gmap3">map</a>".
* </p>
*/
+ // tag::refguide[]
String defaultView() default "";
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Indicates where in the UI the collection should <i>not</i>not be visible.
*
@@ -74,24 +79,24 @@ public @interface CollectionLayout {
* apply for collections.
* </p>
*/
+ // tag::refguide[]
Where hidden() default Where.NOT_SPECIFIED;
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Name of this collection (overriding the name derived from its name in code).
*/
+ // tag::refguide[]
String named() default "";
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* A flag indicating whether the value of {@linkplain #named()} should be HTML escaped or not.
*/
+ // tag::refguide[]
boolean namedEscaped() default true;
+ // end::refguide[]
/**
* The page size for instances of this class when rendered within
* a table.
@@ -104,13 +109,10 @@ public @interface CollectionLayout {
* If annotated on a type, then the page size refers to standalone
* collections (eg as returned from a repository query).
*/
+ // tag::refguide[]
int paged() default -1;
-
-
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Indicates that the elements in a ({@link java.util.SortedSet}) collection should be sorted according to a different order than the
* natural sort order, as defined by the specified{@link java.util.Comparator}.
@@ -130,6 +132,8 @@ public @interface CollectionLayout {
* may be sorted in an order more suitable to the context.
*/
@SuppressWarnings("rawtypes")
+ // tag::refguide[]
Class sortedBy() default Comparator.class;
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandExecuteIn.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandExecuteIn.java
index d416983..6aecd14 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandExecuteIn.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandExecuteIn.java
@@ -30,23 +30,24 @@ package org.apache.isis.applib.annotation;
*/
// tag::refguide[]
public enum CommandExecuteIn {
-// end::refguide[]
+
+ // end::refguide[]
/**
* Execute synchronously in the "foreground", wait for the results.
*/
-// tag::refguide[]
+ // tag::refguide[]
FOREGROUND,
-// end::refguide[]
+ // end::refguide[]
/**
* Execute "asynchronously" through the {@link org.apache.isis.applib.services.background.BackgroundCommandService}, returning (if possible) the
* persisted {@link org.apache.isis.applib.services.command.Command command} object as a placeholder to the
* result.
*/
-// tag::refguide[]
+ // tag::refguide[]
BACKGROUND,
-// end::refguide[]
+ // end::refguide[]
/**
* For commands that are replicated from a master onto a slave and are to be replayed (typically using the same
* mechanism as "regular" background commands, eg a background job).
@@ -55,18 +56,19 @@ public enum CommandExecuteIn {
* For framework use, not intended to be used in application code.
* </p>
*/
-// tag::refguide[]
+ // tag::refguide[]
REPLAYABLE,
-// end::refguide[]
+ // end::refguide[]
/**
* For commands that have been excluded and will not run.
* These are typically for a replayable command that has hit an exception (which normally would prevent any further
* replayable commands from being replayed) and which the administrator has decided to skip.
*/
-// tag::refguide[]
+ // tag::refguide[]
EXCLUDED
-// end::refguide[]
+
+ // end::refguide[]
;
public boolean isForeground() { return this == FOREGROUND; }
@@ -82,7 +84,7 @@ public enum CommandExecuteIn {
private Meta() {}
}
}
+ // tag::refguide[]
-// tag::refguide[]
}
// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandPersistence.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandPersistence.java
index b518f5a..635db744 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandPersistence.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandPersistence.java
@@ -23,34 +23,32 @@ package org.apache.isis.applib.annotation;
*/
// tag::refguide[]
public enum CommandPersistence {
-// end::refguide[]
+ // end::refguide[]
/**
* (If the configured {@link org.apache.isis.applib.services.command.spi.CommandService} supports it), indicates that the
* {@link org.apache.isis.applib.services.command.Command Command} object should be persisted.
*/
-// tag::refguide[]
+ // tag::refguide[]
PERSISTED,
-// end::refguide[]
+ // end::refguide[]
/**
* (If the configured {@link org.apache.isis.applib.services.command.spi.CommandService} supports it), indicates that the
* {@link org.apache.isis.applib.services.command.Command Command} object should only be persisted if
* another service, such as the {@link org.apache.isis.applib.services.background.BackgroundCommandService}, hints that it should.
*/
-// tag::refguide[]
+ // tag::refguide[]
IF_HINTED,
-// end::refguide[]
+ // end::refguide[]
/**
* (Even if the configured {@link org.apache.isis.applib.services.command.spi.CommandService} supports it), indicates that the
* {@link org.apache.isis.applib.services.command.Command Command} object should <i>not</i> be persisted (even if
* another service, such as the {@link org.apache.isis.applib.services.background.BackgroundCommandService}, hints that it should).
*/
-// tag::refguide[]
- NOT_PERSISTED;
-// end::refguide[]
+ // tag::refguide[]
+ NOT_PERSISTED
-// tag::refguide[]
}
// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandReification.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandReification.java
index 89edc33..32bef90 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandReification.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandReification.java
@@ -21,7 +21,10 @@ package org.apache.isis.applib.annotation;
/**
* The available policies as to whether action invocations are reified into commands.
*/
+// tag::refguide[]
public enum CommandReification {
+
+ // end::refguide[]
/**
* Whether the action should be handled as a command as per the default command configured in <tt>applicationp.properties</tt>.
*
@@ -29,18 +32,30 @@ public enum CommandReification {
* If no command policy is configured, then the action is <i>not</i> treated as a command.
* </p>
*/
+ // tag::refguide[]
AS_CONFIGURED,
+
+ // end::refguide[]
/**
* Handle the action as a command, irrespective of any configuration settings.
*/
+ // tag::refguide[]
ENABLED,
+
+ // end::refguide[]
/**
* Do not handle the action as a command, irrespective of any configuration settings.
*/
+ // tag::refguide[]
DISABLED,
+
+ // end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
* annotations or superclasses/interfaces).
*/
+ // tag::refguide[]
NOT_SPECIFIED
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Constants.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Constants.java
deleted file mode 100644
index c33615f..0000000
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Constants.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.applib.annotation;
-
-public class Constants {
-
- private Constants(){}
-
- public static final String MENU_ORDER_DEFAULT = "" + (Integer.MAX_VALUE - 100);
-}
\ No newline at end of file
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Contributed.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Contributed.java
index 64cb43c..8859a28 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Contributed.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Contributed.java
@@ -24,32 +24,50 @@ import javax.xml.bind.annotation.XmlType;
/**
* The means by which a domain service action will be contributed to a domain object.
*/
+// tag::refguide[]
@XmlType(
namespace = "http://isis.apache.org/applib/layout/component"
)
public enum Contributed {
+
+ // end::refguide[]
/**
* Default: contributed as both an action and also (if takes a single argument and has safe semantics) as an association
* (contributed property if returns a single value, contributed collection if returns a collection).
*/
+ // tag::refguide[]
AS_BOTH,
+
+ // end::refguide[]
/**
* Contributed as an action but <i>not</i> as an association.
*/
+ // tag::refguide[]
AS_ACTION,
+
+ // end::refguide[]
/**
* (If takes a single argument and has safe semantics) then is contributed as an association
* (contributed property if returns a single value, contributed collection if returns a collection) but <i>not</i>
* as an action.
*/
+ // tag::refguide[]
AS_ASSOCIATION,
+
+ // end::refguide[]
/**
* The action is not contributed as either an action or as an association.
*/
+ // tag::refguide[]
AS_NEITHER,
+
+ // end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
* annotations or superclasses/interfaces).
*/
+ // tag::refguide[]
NOT_SPECIFIED
-}
\ No newline at end of file
+
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java
index 3cc72fc..ad4bc6f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java
@@ -48,11 +48,13 @@ import org.apache.isis.applib.adapters.DefaultsProvider;
* Note: This annotation is only incompletely recognized by the framework, and may be deprecated in the future.
* </p>
*/
+// tag::refguide[]
@Inherited
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface Defaulted {
+ // end::refguide[]
/**
* The fully qualified name of a class that implements the
* {@link DefaultsProvider} interface.
@@ -66,8 +68,10 @@ public @interface Defaulted {
* Implementation note: the default value provided here is simply an empty
* string because <tt>null</tt> is not a valid default.
*/
+ // tag::refguide[]
String defaultsProviderName() default "";
+ // end::refguide[]
/**
* As per {@link #defaultsProviderName()}, but specifying a class literal
* rather than a fully qualified class name.
@@ -77,6 +81,8 @@ public @interface Defaulted {
* {@link Defaulted}'s own class, because <tt>null</tt> is not a valid
* default.
*/
+ // tag::refguide[]
Class<?> defaultsProviderClass() default Defaulted.class;
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
index 785446f..bf5bee4 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
@@ -45,12 +45,17 @@ import org.apache.isis.applib.events.lifecycle.ObjectUpdatingEvent;
* annotated type.
* For more details see <code>org.apache.isis.config.beans.IsisBeanFactoryPostProcessorForSpring</code>
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.TYPE, ElementType.ANNOTATION_TYPE })
+@Target({
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
@Retention(RetentionPolicy.RUNTIME)
@Component @Scope("prototype")
public @interface DomainObject {
+ // end::refguide[]
/**
* Whether the entity should be audited (note: does not apply to view models or other recreatable objects.
*
@@ -59,12 +64,10 @@ public @interface DomainObject {
* registered with the framework.
* </p>
*/
+ // tag::refguide[]
Auditing auditing() default Auditing.NOT_SPECIFIED;
-
- // //////////////////////////////////////
-
-
+ // end::refguide[]
/**
* Whether changes to the object should be published.
*
@@ -73,21 +76,20 @@ public @interface DomainObject {
* registered with the framework.
* </p>
*/
+ // tag::refguide[]
Publishing publishing() default Publishing.NOT_SPECIFIED;
-
- // //////////////////////////////////////
-
-
+ // end::refguide[]
/**
* The class of the domain service that provides an <code>autoComplete(String)</code> method.
*
* <p>
* It is sufficient to specify an interface rather than a concrete type.
*/
+ // tag::refguide[]
Class<?> autoCompleteRepository() default Object.class;
-
+ // end::refguide[]
/**
* The method (despite its name, not necessarily an action) to use in order to perform the auto-complete search
* (defaults to "autoComplete").
@@ -95,12 +97,10 @@ public @interface DomainObject {
* <p>
* The method is required to accept a single string parameter, and must return a list of the domain type.
*/
+ // tag::refguide[]
String autoCompleteAction() default "autoComplete";
-
- // //////////////////////////////////////
-
-
+ // end::refguide[]
/**
* Indicates that the class has a bounded, or finite, set of instances.
*
@@ -113,12 +113,10 @@ public @interface DomainObject {
* </p>
*
*/
+ // tag::refguide[]
Bounding bounding() default Bounding.NOT_SPECIFIED;
-
- // //////////////////////////////////////
-
-
+ // end::refguide[]
/**
* Whether the properties of this domain object can be edited, or collections of this object be added to/removed from.
*
@@ -126,19 +124,18 @@ public @interface DomainObject {
* Note that non-editable objects can nevertheless have actions invoked upon them.
* </p>
*/
+ // tag::refguide[]
Editing editing() default Editing.NOT_SPECIFIED;
-
+ // end::refguide[]
/**
* If {@link #editing()} is set to {@link Editing#DISABLED},
* then the reason to provide to the user as to why the object's properties cannot be edited/collections modified.
*/
+ // tag::refguide[]
String editingDisabledReason() default "Disabled";
-
- // //////////////////////////////////////
-
-
+ // end::refguide[]
/**
* Provides a unique abbreviation for the object type, eg "customer.Customer" for Customer.
*
@@ -147,19 +144,17 @@ public @interface DomainObject {
* used by the framework to unique identify an object over time (same concept as a URN).
* </p>
*/
+ // tag::refguide[]
String objectType() default "";
-
- // //////////////////////////////////////
-
-
+ // end::refguide[]
/**
* The nature of this domain object.
*/
+ // tag::refguide[]
Nature nature() default Nature.NOT_SPECIFIED;
-
-
+ // end::refguide[]
/**
* Equivalent to {@link Mixin#method()}.
*
@@ -167,11 +162,10 @@ public @interface DomainObject {
* Applicable only if {@link #nature()} is {@link Nature#MIXIN}.
* </p>
*/
+ // tag::refguide[]
String mixinMethod() default Mixin.DEFAULT_METHOD_NAME;
- // //////////////////////////////////////
-
-
+ // end::refguide[]
/**
* Indicates that the loading of the domain object should be posted to the
* {@link org.apache.isis.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
@@ -181,8 +175,10 @@ public @interface DomainObject {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends ObjectCreatedEvent<?>> createdLifecycleEvent() default ObjectCreatedEvent.Default.class;
+ // end::refguide[]
/**
* Indicates that the loading of the domain object should be posted to the
* {@link org.apache.isis.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
@@ -192,8 +188,10 @@ public @interface DomainObject {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends ObjectPersistingEvent<?>> persistingLifecycleEvent() default ObjectPersistingEvent.Default.class;
+ // end::refguide[]
/**
* Indicates that the loading of the domain object should be posted to the
* {@link org.apache.isis.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
@@ -203,8 +201,10 @@ public @interface DomainObject {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends ObjectPersistedEvent<?>> persistedLifecycleEvent() default ObjectPersistedEvent.Default.class;
+ // end::refguide[]
/**
* Indicates that the loading of the domain object should be posted to the
* {@link org.apache.isis.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
@@ -214,8 +214,10 @@ public @interface DomainObject {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends ObjectLoadedEvent<?>> loadedLifecycleEvent() default ObjectLoadedEvent.Default.class;
+ // end::refguide[]
/**
* Indicates that the loading of the domain object should be posted to the
* {@link org.apache.isis.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
@@ -225,8 +227,10 @@ public @interface DomainObject {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends ObjectUpdatingEvent<?>> updatingLifecycleEvent() default ObjectUpdatingEvent.Default.class;
+ // end::refguide[]
/**
* Indicates that the loading of the domain object should be posted to the
* {@link org.apache.isis.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
@@ -236,9 +240,10 @@ public @interface DomainObject {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends ObjectUpdatedEvent<?>> updatedLifecycleEvent() default ObjectUpdatedEvent.Default.class;
-
+ // end::refguide[]
/**
* Indicates that the loading of the domain object should be posted to the
* {@link org.apache.isis.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
@@ -248,9 +253,10 @@ public @interface DomainObject {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends ObjectRemovingEvent<?>> removingLifecycleEvent() default ObjectRemovingEvent.Default.class;
-
+ // end::refguide[]
/**
* Indicates that an invocation of <i>any</i> action of the domain object (that do not themselves specify their own
* <tt>@Action(domainEvent=...)</tt> should be posted to the
@@ -278,8 +284,10 @@ public @interface DomainObject {
* It must also use <tt>Object</tt> as its generic type. This is to allow mixins to also emit the same event.
* </p>
*/
+ // tag::refguide[]
Class<? extends ActionDomainEvent<?>> actionDomainEvent() default ActionDomainEvent.Default.class;
+ // end::refguide[]
/**
* Indicates that changes to <i>any</i> property of the domain object (that do not themselves specify their own
* <tt>@Property(domainEvent=...)</tt> should be posted to the
@@ -302,8 +310,10 @@ public @interface DomainObject {
* It must also use <tt>Object</tt> as its generic type. This is to allow mixins to also emit the same event.
* </p>
*/
+ // tag::refguide[]
Class<? extends PropertyDomainEvent<?,?>> propertyDomainEvent() default PropertyDomainEvent.Default.class;
+ // end::refguide[]
/**
* Indicates that changes to <i>any</i> collection of the domain object (that do not themselves specify their own
* <tt>@Collection(domainEvent=...)</tt> should be posted to the
@@ -325,6 +335,8 @@ public @interface DomainObject {
* It must also use <tt>Object</tt> as its generic type. This is to allow mixins to also emit the same event.
* </p>
*/
+ // tag::refguide[]
Class<? extends CollectionDomainEvent<?,?>> collectionDomainEvent() default CollectionDomainEvent.Default.class;
-}
\ No newline at end of file
+}
+// end::refguide[]
\ No newline at end of file
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java
index 73344ce..b1360a8 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java
@@ -34,12 +34,16 @@ import org.apache.isis.applib.layout.component.CssClassFaPosition;
/**
* Layout hints for domain objects.
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.TYPE, ElementType.ANNOTATION_TYPE })
+@Target({
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
@Retention(RetentionPolicy.RUNTIME)
public @interface DomainObjectLayout {
-
+ // end::refguide[]
/**
* Which subclass of {@link TitleUiEvent} should be used to obtain a title.
*
@@ -47,10 +51,10 @@ public @interface DomainObjectLayout {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends TitleUiEvent<?>> titleUiEvent() default TitleUiEvent.Default.class;
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Which subclass of {@link IconUiEvent} should be used to obtain an icon.
*
@@ -58,10 +62,10 @@ public @interface DomainObjectLayout {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends IconUiEvent<?>> iconUiEvent() default IconUiEvent.Default.class;
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Which subclass of {@link CssClassUiEvent} should be used to obtain a CSS class.
*
@@ -69,10 +73,10 @@ public @interface DomainObjectLayout {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends CssClassUiEvent<?>> cssClassUiEvent() default CssClassUiEvent.Default.class;
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Which subclass of {@link LayoutUiEvent} should be used to obtain a layout.
*
@@ -80,21 +84,25 @@ public @interface DomainObjectLayout {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends LayoutUiEvent<?>> layoutUiEvent() default LayoutUiEvent.Default.class;
+ // end::refguide[]
/**
* Indicates the css class that a domain class (type) should have.
*/
+ // tag::refguide[]
String cssClass() default "";
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Indicates the <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a> CSS class to decorate an
* domain object.
*/
+ // tag::refguide[]
String cssClassFa() default "";
+ // end::refguide[]
/**
* Indicates the position of the <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a>
* icon. The icon could be rendered on the left or the right of the object's title.
@@ -103,27 +111,24 @@ public @interface DomainObjectLayout {
* This attribute is currently ignored by Isis viewers.
* </p>
*/
+ // tag::refguide[]
CssClassFaPosition cssClassFaPosition() default CssClassFaPosition.LEFT;
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Description of this class, eg to be rendered in a tooltip.
*/
+ // tag::refguide[]
String describedAs() default "";
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Name of this class (overriding the name derived from its name in code).
*/
+ // tag::refguide[]
String named() default "";
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* The page size for instances of this class when rendered within
* a table.
@@ -136,21 +141,22 @@ public @interface DomainObjectLayout {
* If annotated on a type, then the page size refers to standalone
* collections (eg as returned from a repository query).
*/
+ // tag::refguide[]
int paged() default -1;
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* The plural name of the class.
*/
+ // tag::refguide[]
String plural() default "";
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Whether (and how) this domain object can be bookmarked in the UI.
*/
+ // tag::refguide[]
BookmarkPolicy bookmarking() default BookmarkPolicy.NOT_SPECIFIED;
-}
\ No newline at end of file
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainService.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainService.java
index e836635..02b2cee 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainService.java
@@ -41,21 +41,34 @@ import org.springframework.stereotype.Service;
* For more details see {@link org.apache.isis.config.beans.IsisBeanFactoryPostProcessorForSpring}.
*
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.TYPE, ElementType.ANNOTATION_TYPE })
+@Target({
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
@Retention(RetentionPolicy.RUNTIME)
@Service @Singleton
public @interface DomainService {
+ // end::refguide[]
/**
* Provides the (first part of the) unique identifier (OID) for the service (the instanceId is always "1").
*
* <p>
* If not specified then either the optional "getId()" is used, otherwise the class' name.
*/
+ // tag::refguide[]
String objectType() default "";
+ // end::refguide[]
+ /**
+ * The nature of this service, eg for menus, contributed actions, repository.
+ */
+ // tag::refguide[]
+ NatureOfService nature() default NatureOfService.VIEW;
+ // end::refguide[]
/**
* If this domain service acts as a repository for an entity type, specify that entity type.
* @deprecated was never implemented
@@ -63,10 +76,6 @@ public @interface DomainService {
@Deprecated
Class<?> repositoryFor() default Object.class;
- /**
- * The nature of this service, eg for menus, contributed actions, repository.
- */
- NatureOfService nature() default NatureOfService.VIEW;
-
-
+ // tag::refguide[]
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainServiceLayout.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainServiceLayout.java
index abc7fc1..a3342fe 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainServiceLayout.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainServiceLayout.java
@@ -32,14 +32,20 @@ import java.lang.annotation.Target;
* Also indicates the name, and menu ordering UI hints.
* </p>
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.TYPE, ElementType.ANNOTATION_TYPE })
+@Target({
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
@Retention(RetentionPolicy.RUNTIME)
public @interface DomainServiceLayout {
+ // end::refguide[]
/**
* Name of this class (overriding the name derived from its name in code).
*/
+ // tag::refguide[]
String named() default "";
public enum MenuBar {
@@ -49,12 +55,15 @@ public @interface DomainServiceLayout {
NOT_SPECIFIED
}
+ // end::refguide[]
/**
* The menubar in which the menu that holds this service's actions should reside.
*/
+ // tag::refguide[]
MenuBar menuBar() default MenuBar.NOT_SPECIFIED;
- //TODO[2140] DomainServiceLayout
+ // end::refguide[]
+ //TODO[2140] DomainServiceLayout
// /**
// * Number in Dewey Decimal format representing the order.
// *
@@ -78,4 +87,8 @@ public @interface DomainServiceLayout {
// * </p>
// */
// String menuOrder() default Constants.MENU_ORDER_DEFAULT;
+
+ // tag::refguide[]
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Editing.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Editing.java
index 9404bc4..32c1761 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Editing.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Editing.java
@@ -21,7 +21,10 @@ package org.apache.isis.applib.annotation;
/**
* The available policies for editing properties and collections.
*/
+// tag::refguide[]
public enum Editing {
+
+ // end::refguide[]
/**
* The editing of the object should be as per the default editing policy configured in <tt>application.properties</tt>.
*
@@ -29,19 +32,30 @@ public enum Editing {
* If no editing policy is configured, then the editing is enabled.
* </p>
*/
+ // tag::refguide[]
AS_CONFIGURED,
+
+ // end::refguide[]
/**
* Audit changes to this object.
*/
+ // tag::refguide[]
ENABLED,
+
+ // end::refguide[]
/**
* Do not allow the properties to be edited, or the collections to be added to/removed from.
*/
+ // tag::refguide[]
DISABLED,
+
+ // end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
* annotations or superclasses/interfaces).
*/
+ // tag::refguide[]
NOT_SPECIFIED
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/EqualByContent.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/EqualByContent.java
index afaf0ad..b907f48 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/EqualByContent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/EqualByContent.java
@@ -57,8 +57,13 @@ import java.util.HashMap;
* Note: This annotation is only incompletely recognized by the framework, and may be deprecated in the future.
* </p>
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.TYPE, ElementType.METHOD })
+@Target({
+ ElementType.TYPE,
+ ElementType.METHOD
+})
@Retention(RetentionPolicy.RUNTIME)
public @interface EqualByContent {
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Facets.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Facets.java
index db68ad0..8be974f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Facets.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Facets.java
@@ -33,10 +33,13 @@ import java.lang.annotation.Target;
* At least one named factory (as per {@link #facetFactoryNames()}) or one class
* factory (as per {@link #facetFactoryClasses()}) should be specified.
*/
+// tag::refguide[]
@Inherited
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface Facets {
+
+ // end::refguide[]
/**
* Array of fully qualified names of classes each implementing
* <tt>org.apache.isis.core.metamodel.facets.FacetFactory</tt>.
@@ -45,8 +48,10 @@ public @interface Facets {
* Either the array provided by this method or by
* {@link #facetFactoryClasses()} should be non-empty.
*/
+ // tag::refguide[]
String[] facetFactoryNames() default {};
+ // end::refguide[]
/**
* Array of {@link Class}s, each indicating a class implementing
* <tt>org.apache.isis.core.metamodel.facets.FacetFactory</tt>.
@@ -55,6 +60,8 @@ public @interface Facets {
* Either the array provided by this method or by
* {@link #facetFactoryNames()} should be non-empty.
*/
+ // tag::refguide[]
Class<?>[] facetFactoryClasses() default {};
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java
index fbc757f..014f8e5 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java
@@ -34,8 +34,10 @@ import java.lang.annotation.Target;
* to traverse or operate on the rendered state.
* </p>
*/
+// tag::refguide[]
@Inherited
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface HomePage {
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/LabelPosition.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/LabelPosition.java
index 99abea8..5ac5aa1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/LabelPosition.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/LabelPosition.java
@@ -26,23 +26,30 @@ import javax.xml.bind.annotation.XmlType;
* @see org.apache.isis.applib.annotation.PropertyLayout
* @see org.apache.isis.applib.annotation.ParameterLayout
*/
+// tag::refguide[]
@XmlType(
namespace = "http://isis.apache.org/applib/layout/component"
)
public enum LabelPosition {
+
DEFAULT,
LEFT,
-
+ // end::refguide[]
/**
* Right position of the label for Boolean properties.
* <strong>Not supported</strong> for now for other types.
*/
+ // tag::refguide[]
RIGHT,
TOP,
NONE,
+ // end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
* annotations or superclasses/interfaces).
*/
+ // tag::refguide[]
NOT_SPECIFIED
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/MemberOrder.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/MemberOrder.java
index 659f1a2..eef7938 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/MemberOrder.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/MemberOrder.java
@@ -33,11 +33,13 @@ import java.lang.annotation.Target;
* where <code>Xxx</code> is the domain object name.
* </p>
*/
+// tag::refguide[]
@Inherited
@Target({ ElementType.METHOD, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
public @interface MemberOrder {
+ // end::refguide[]
/**
* Groups or associate members with each other.
*
@@ -47,13 +49,17 @@ public @interface MemberOrder {
* <li>For collections, currently has no meaning</li>
* </ul>
*/
+ // tag::refguide[]
String name() default "";
+ // end::refguide[]
/**
* The order of this member relative to other members in the same group, in
* Dewey-decimal notation. For collections this is relative to each other
* (collections aren't grouped).
*/
+ // tag::refguide[]
String sequence();
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/MementoSerialization.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/MementoSerialization.java
index 9f79818..a4f9410 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/MementoSerialization.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/MementoSerialization.java
@@ -21,12 +21,18 @@ package org.apache.isis.applib.annotation;
/**
* Whether the property or collection is included if the domain object is serialized into a memento.
*/
+// tag::refguide[]
public enum MementoSerialization {
+
+ // end::refguide[]
/**
* Property or collection is included in any mementos.
* This is the fallback/default if not explicitly excluded.
*/
+ // tag::refguide[]
INCLUDED,
+
+ // end::refguide[]
/**
* Property or collection's state is excluded from any mementos.
*
@@ -34,10 +40,16 @@ public enum MementoSerialization {
* Corresponds to <tt>@Property(notPersisted=true)</tt> or <tt>@Collection(notPersisted=true)</tt> prior to Isis 2.x
* </p>
*/
+ // tag::refguide[]
EXCLUDED,
+
+ // end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
* annotations or superclasses/interfaces).
*/
+ // tag::refguide[]
NOT_SPECIFIED
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/MinLength.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/MinLength.java
index 77bba48..469a0e3 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/MinLength.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/MinLength.java
@@ -28,10 +28,11 @@ import java.lang.annotation.Target;
/**
* Specify the minimum number of characters for an autocomplete search argument.
*/
+// tag::refguide[]
@Inherited
@Target({ ElementType.PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
public @interface MinLength {
-
int value();
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Mixin.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Mixin.java
index 5e47907..5d8d41c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Mixin.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Mixin.java
@@ -36,17 +36,21 @@ import org.springframework.stereotype.Component;
* annotated type.
* For more details see {@link org.apache.isis.config.beans.IsisBeanFactoryPostProcessorForSpring}.
*/
+// tag::refguide[]
@Inherited
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Component @Scope("prototype")
public @interface Mixin {
+ // end::refguide[]
/**
* The default of {@link Mixin#method()}).
*/
+ // tag::refguide[]
String DEFAULT_METHOD_NAME = "$$";
+ // end::refguide[]
/**
* Specifies the name of the verb to use within the mixin, eg "exec", "invoke", "apply" and so on,
*
@@ -64,6 +68,8 @@ public @interface Mixin {
* valid identifiers after Java 8.
* </p>
*/
+ // tag::refguide[]
String method() default DEFAULT_METHOD_NAME;
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Module.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Module.java
index 7b7887f..b9e82b3 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Module.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Module.java
@@ -49,6 +49,7 @@ import org.springframework.context.annotation.Import;
* scanning more classes than are needed. It is therefore not used within the framework code, but is
* provided as a convenience by domain applications.
*/
+// tag::refguide[]
@Inherited
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@@ -56,5 +57,5 @@ import org.springframework.context.annotation.Import;
@Documented
@ComponentScan
public @interface Module {
-
-}
\ No newline at end of file
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Nature.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Nature.java
index df64918..b044747 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Nature.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Nature.java
@@ -28,15 +28,19 @@ import javax.xml.bind.annotation.XmlRootElement;
* difference is one of intent.
* </p>
*/
+// tag::refguide[]
public enum Nature {
+ // end::refguide[]
/**
* The default; allows the programmer to combine <tt>@DomainObject</tt> annotation with the
* {@link ViewModel} annotation, or the {@link XmlRootElement} annotation, or by implementing the
* {@link org.apache.isis.applib.ViewModel} interface.
*/
+ // tag::refguide[]
NOT_SPECIFIED,
+ // end::refguide[]
/**
* A domain entity whose persistence is managed internally by Isis, using JDO as the persistence implementation.
* Domain entities are considered to be part of the domain model layer.
@@ -49,7 +53,10 @@ public enum Nature {
* Currently implies no additional semantics other than documentation.
* </p>
*/
+ // tag::refguide[]
JDO_ENTITY,
+
+ // end::refguide[]
/**
* A domain entity that is a wrapper/proxy/stub to some externally managed entity. Domain entities are
* considered to be part of the domain model layer.
@@ -64,15 +71,18 @@ public enum Nature {
* {@link XmlRootElement} annotation instead.
* </p>
*/
+ // tag::refguide[]
EXTERNAL_ENTITY,
+
+ // end::refguide[]
/**
* A domain entity that is a wrapper/proxy/stub to a "synthetic" entity, for example one that is
* constructed from some sort of internal memory data structure.
*
* <p>
- * As for a {@link #EXTERNAL_ENTITY}, the identity of a synthetic entity is determined solely by the
+ * As for a {@link #EXTERNAL_ENTITY}, the identity of a synthetic entity is determined solely by the
* state of object's properties (that have not been set to be ignored using
- * {@link org.apache.isis.applib.annotation.Property#notPersisted()}).
+ * {@link Property#mementoSerialization()}).
* </p>
*
* <p>
@@ -80,7 +90,10 @@ public enum Nature {
* {@link XmlRootElement} annotation instead.
* </p>
*/
+ // tag::refguide[]
INMEMORY_ENTITY,
+
+ // end::refguide[]
/**
* An object that is conceptually part of the application layer, and which surfaces behavior and/or state that
* is aggregate of one or more domain entity.
@@ -100,20 +113,26 @@ public enum Nature {
*
* @see ViewModel
*/
+ // tag::refguide[]
VIEW_MODEL,
+ // end::refguide[]
/**
* An object that acts as a mix-in to some other object, contributing behavior and/or derived state based on the
* domain object.
*
* @see Mixin
*/
+ // tag::refguide[]
MIXIN,
-
+
+ // end::refguide[]
/**
- * An object that is entirely managed by the underlying IoC container.
+ * An object that is entirely managed by the underlying IoC container.
* @apiNote EXPERIMENTAL
*/
+ // tag::refguide[]
BEAN,
-
+
}
+// tag::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/NatureOfService.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/NatureOfService.java
index f02c2aa..77ad2d9 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/NatureOfService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/NatureOfService.java
@@ -22,23 +22,32 @@ package org.apache.isis.applib.annotation;
* The different sorts of domain services recognized by Isis, as specified in {@link DomainService#nature()}
*
*/
+// tag::refguide[]
public enum NatureOfService {
+ // end::refguide[]
/**
* The service's actions appear in the REST API and in 'viewers', eg. in the menu bar.
- *
+ *
* @apiNote
* Contributing actions to the 'viewer' implies, that these must also be exposed to the REST API,
- * simply because alternative viewers might be solely based on the provided REST end-points.
+ * simply because alternative viewers might be solely based on the provided REST end-points.
*/
+ // tag::refguide[]
VIEW,
+ // end::refguide[]
/**
* The service's actions should only be visible in the REST API exposed by the Restful Objects viewer.
*/
+ // tag::refguide[]
REST,
-
+
+ // end::refguide[]
+
+ //
// -- DEPRECATIONS
+ //
/**
* A <em>programmatic</em> service.
@@ -59,21 +68,21 @@ public enum NatureOfService {
*/
@Deprecated
VIEW_REST_ONLY,
-
+
/**
* @deprecated will be removed with 2.0.0 release! use {@link #VIEW} instead
* @apiNote For now, used as synonym for {@link #VIEW}
*/
@Deprecated
VIEW_MENU_ONLY,
-
+
/**
* @deprecated will be removed with 2.0.0 release!
* <p>
- * For now, contributing actions will be gathered to show up in the 'others' menu to ease migration.
+ * For now, contributing actions will be gathered to show up in the 'others' menu to ease migration.
* These will likely not work.
* <p>
- * Migration Note: For each {@code Action} write a new mixin class.
+ * Migration Note: For each {@code Action} write a new mixin class.
* see {@link Mixin}
* @apiNote For now, used as synonym for {@link #VIEW}
*/
@@ -90,7 +99,7 @@ public enum NatureOfService {
public boolean isView() {
return this == VIEW || this == VIEW_MENU_ONLY || this == VIEW_CONTRIBUTIONS_ONLY;
}
-
+
/**
* Whether a service contributes its actions exclusively to the REST API.
* @see {@link NatureOfService#REST}
@@ -98,7 +107,7 @@ public enum NatureOfService {
public boolean isRestOnly() {
return this == REST || this == VIEW_REST_ONLY;
}
-
+
/**
* Whether a service contributes no actions at all.
* @see {@link NatureOfService#DOMAIN}
@@ -116,7 +125,7 @@ public enum NatureOfService {
return isRestOnly() || isView();
}
-
-
+ // tag::refguide[]
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Navigable.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Navigable.java
index 6daac44..d4ba91e 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Navigable.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Navigable.java
@@ -26,19 +26,20 @@ package org.apache.isis.applib.annotation;
* @since 2.0
*
*/
+// tag::refguide[]
public enum Navigable {
-
NOT_SPECIFIED,
-
IGNORE,
-
PARENT,
-
+ // end::refguide[]
;
public boolean isParent() {
return this == PARENT;
}
+ // tag::refguide[]
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Optionality.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Optionality.java
index e3efad5..9389e42 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Optionality.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Optionality.java
@@ -21,30 +21,39 @@ package org.apache.isis.applib.annotation;
/**
* Whether the property or parameter is optional or is required (aka mandatory).
*/
+// tag::refguide[]
public enum Optionality {
+
+ // end::refguide[]
/**
* Default, usually meaning mandatory for properties and always meaning mandatory for parameters.
*
* <p>
- * For properties, will be false unless JDO {@link javax.jdo.annotations.Column} has also specified with
- * {@link javax.jdo.annotations.Column#allowsNull()} set to <code>true</code>.
+ * For properties, will be false unless JDO <code>javax.jdo.annotations.Column</code> has also specified with
+ * <code>javax.jdo.annotations.Column#allowsNull()</code> set to <code>true</code>.
* </p>
*/
+ // tag::refguide[]
DEFAULT,
+
+ // end::refguide[]
/**
* Indicates that the property or parameter is not required.
*/
+ // tag::refguide[]
OPTIONAL,
+
+ // end::refguide[]
/**
- * Indicates that the property is required (even if the JDO {@link javax.jdo.annotations.Column} annotation
+ * Indicates that the property is required (even if the JDO <code>javax.jdo.annotations.Column</code> annotation
* says otherwise).
*
* <p>
* When using the JDO/DataNucleus objectstore, it is sometimes necessary to annotate a property as optional
- * (using {@link javax.jdo.annotations.Column#allowsNull()} set to <code>true</code>), even if the property is
+ * (using <code>javax.jdo.annotations.Column#allowsNull()</code> set to <code>true</code>), even if the property is
* logically mandatory. For example, this can occur when the property is in a subtype class that has been
- * "rolled up" to the superclass table using {@link javax.jdo.annotations.Inheritance} with the
- * {@link javax.jdo.annotations.InheritanceStrategy#SUPERCLASS_TABLE superclass}<tt> strategy.
+ * "rolled up" to the superclass table using <code>javax.jdo.annotations.Inheritance</code>> with the
+ * <code>javax.jdo.annotations.InheritanceStrategy#SUPERCLASS_TABLE</code> superclass strategy.
* </p>
*
* <p>
@@ -53,10 +62,16 @@ public enum Optionality {
* is unable to do so.
* </p>
*/
+ // tag::refguide[]
MANDATORY,
+
+ // end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
* annotations or superclasses/interfaces).
*/
+ // tag::refguide[]
NOT_SPECIFIED
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/OrderPrecedence.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/OrderPrecedence.java
index 7751a58..e4caea8 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/OrderPrecedence.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/OrderPrecedence.java
@@ -27,6 +27,7 @@ import lombok.experimental.UtilityClass;
@UtilityClass
public class OrderPrecedence {
+ // end::refguide[]
/**
* For domain services with the highest precedence value.
* No framework services use this constant, but some very fundamental services (eg for security)
@@ -35,28 +36,40 @@ public class OrderPrecedence {
* @see java.lang.Integer#MIN_VALUE
* @see Ordered#HIGHEST_PRECEDENCE
*/
+ // tag::refguide[]
public static final int FIRST = Ordered.HIGHEST_PRECEDENCE;
+ // end::refguide[]
/**
* For framework for services that are unlikely to be overridden by application code.
*/
+ // tag::refguide[]
public static final int EARLY = FIRST / 2;
+
+ // end::refguide[]
/**
* For framework for services that could be overridden by application code (though not commonly).
*/
+ // tag::refguide[]
public static final int MIDPOINT = 0;
+
+ // end::refguide[]
/**
* For framework services that are expected to be overridden by application code, or that act as a fallback.
*/
+ // tag::refguide[]
public static final int LATE = OrderPrecedence.LAST / 2;
+ // end::refguide[]
/**
* For domain services that act as a fallback, and which will typically be overridden.
*
* @see java.lang.Integer#MAX_VALUE
* @see Ordered#LOWEST_PRECEDENCE
*/
+ // tag::refguide[]
public static final int LAST = Ordered.LOWEST_PRECEDENCE;
}
// end::refguide[]
+
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Parameter.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Parameter.java
index 718908c..149a336 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Parameter.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Parameter.java
@@ -32,13 +32,16 @@ import org.apache.isis.applib.value.Clob;
/**
* Domain semantics for domain object collection.
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
+@Target({
+ ElementType.PARAMETER,
+ ElementType.ANNOTATION_TYPE
+})
@Retention(RetentionPolicy.RUNTIME)
public @interface Parameter {
-
-
+ // end::refguide[]
/**
* The maximum entry length of a field.
*
@@ -46,10 +49,10 @@ public @interface Parameter {
* The default value (<code>-1</code>) indicates that no maxLength has been specified.
* </p>
*/
+ // tag::refguide[]
int maxLength() default -1;
-
-
+ // end::refguide[]
/**
* Whether this parameter is optional or is mandatory (ie required).
*
@@ -58,10 +61,10 @@ public @interface Parameter {
* to mean that the parameter is required.
* </p>
*/
+ // tag::refguide[]
Optionality optionality() default Optionality.NOT_SPECIFIED;
-
-
+ // end::refguide[]
/**
* The {@link org.apache.isis.applib.spec.Specification}(s) to be satisfied by this parameter.
*
@@ -69,15 +72,17 @@ public @interface Parameter {
* If more than one is provided, then all must be satisfied (in effect "AND"ed together).
* </p>
*/
+ // tag::refguide[]
Class<? extends Specification>[] mustSatisfy() default {};
-
-
+ // end::refguide[]
/**
* Regular expression pattern that a value should conform to, and can be formatted as.
*/
+ // tag::refguide[]
String regexPattern() default "";
+ // end::refguide[]
/**
* Pattern flags, as per {@link java.util.regex.Pattern#compile(String, int)} .
*
@@ -85,14 +90,17 @@ public @interface Parameter {
* The default value, <code>0</code>, means that no flags have been specified.
* </p>
*/
+ // tag::refguide[]
int regexPatternFlags() default 0;
+ // end::refguide[]
/**
* Replacement text for the pattern in generated error message.
*/
+ // tag::refguide[]
String regexPatternReplacement() default "Doesn't match pattern";
-
+ // end::refguide[]
/**
* For uploading {@link Blob} or {@link Clob}, optionally restrict the files accepted (eg <tt>.xslx</tt>).
*
@@ -102,6 +110,8 @@ public @interface Parameter {
*
* @see <a href="http://www.w3schools.com/tags/att_input_accept.asp">http://www.w3schools.com</a>
*/
+ // tag::refguide[]
String fileAccept() default "";
-}
\ No newline at end of file
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java
index 60bf10c..782b3a6 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java
@@ -30,21 +30,30 @@ import java.lang.annotation.Target;
*
* @see org.apache.isis.applib.annotation.PropertyLayout
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
+@Target({
+ ElementType.PARAMETER,
+ ElementType.ANNOTATION_TYPE
+})
@Retention(RetentionPolicy.RUNTIME)
public @interface ParameterLayout {
+ // end::refguide[]
/**
* Indicates the css class that a parameter should have.
*/
+ // tag::refguide[]
String cssClass() default "";
+ // end::refguide[]
/**
* Description of this property, eg to be rendered in a tooltip.
*/
+ // tag::refguide[]
String describedAs() default "";
+ // end::refguide[]
/**
* In forms, positioning of the label (left, top or none) relative to the parameter value.
*
@@ -52,23 +61,31 @@ public @interface ParameterLayout {
* If not specified, the default depends upon the parameter value's datatype.
* </p>
*/
+ // tag::refguide[]
LabelPosition labelPosition() default LabelPosition.NOT_SPECIFIED;
+ // end::refguide[]
/**
* Name of this action parameter.
*/
+ // tag::refguide[]
String named() default "";
+ // end::refguide[]
/**
* A flag indicating whether the value of {@linkplain #named()} should be HTML escaped or not.
*/
+ // tag::refguide[]
boolean namedEscaped() default true;
+ // end::refguide[]
/**
* For string parameters (and properties), whether to render as a text area over multiple lines.
*/
+ // tag::refguide[]
int multiLine() default -1;
+ // end::refguide[]
/**
* For date parameters (and properties) only, instructs the viewer that the date should be rendered as one day
* prior to the actually stored date.
@@ -93,12 +110,15 @@ public @interface ParameterLayout {
* In the domain object, itself, however, the value stored is 1-jun-2013.
* </p>
*/
+ // tag::refguide[]
RenderDay renderDay() default RenderDay.NOT_SPECIFIED;
+ // end::refguide[]
/**
* The typical entry length of a field, use to determine the optimum width for display
*/
+ // tag::refguide[]
int typicalLength() default -1;
}
-
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Programmatic.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Programmatic.java
index ce61dc7..215bf43 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Programmatic.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Programmatic.java
@@ -38,14 +38,15 @@ import java.lang.annotation.Target;
* It can also be added to a type, meaning that the type is ignored from the metamodel.
* This is intended as a "get out of jail" for any classes from unit tests, say,
* that end up on the classpath of integration tests but should otherwise be ignored.
- *
- * <p>
- * This is intended as a replacement for {@link Ignore} (the use of which is
- * being discouraged because of the name clash with <tt>org.junit.Ignore</tt>).
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.METHOD, ElementType.TYPE, ElementType.FIELD })
+@Target({
+ ElementType.METHOD,
+ ElementType.TYPE,
+ ElementType.FIELD
+})
@Retention(RetentionPolicy.RUNTIME)
public @interface Programmatic {
-
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Projecting.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Projecting.java
index ce231ce..82b7a74 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Projecting.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Projecting.java
@@ -18,14 +18,22 @@
*/
package org.apache.isis.applib.annotation;
+// tag::refguide[]
public enum Projecting {
+ // end::refguide[]
/**
* The property holds the underlying domain object of which this (view model) object is a projection.
*/
+ // tag::refguide[]
PROJECTED,
+
+ // end::refguide[]
/**
* The property
*/
+ // tag::refguide[]
NOT_SPECIFIED;
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/PromptStyle.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/PromptStyle.java
index 2c6d6da..bbe9e1b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/PromptStyle.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/PromptStyle.java
@@ -23,10 +23,13 @@ import javax.xml.bind.annotation.XmlType;
/**
* How prompting for new values of a property/arguments for an action should be performed
*/
+// tag::refguide[]
@XmlType(
namespace = "http://isis.apache.org/applib/layout/component"
)
public enum PromptStyle {
+
+ // end::refguide[]
/**
* Prompt using the style configured by <tt>isis.viewer.wicket.promptStyle</tt>.
*
@@ -34,7 +37,10 @@ public enum PromptStyle {
* If no style is configured, then {@link #INLINE} is assumed.
* </p>
*/
+ // tag::refguide[]
AS_CONFIGURED,
+
+ // end::refguide[]
/**
* Use a dialog for the prompt.
*
@@ -44,19 +50,31 @@ public enum PromptStyle {
* <code>isis.viweer.wicket.dialogMode</code> configuration property.
* </p>
*/
+ // tag::refguide[]
DIALOG,
+
+ // end::refguide[]
/**
* Use a dialog for the prompt, rendered in a sidebar.
*/
+ // tag::refguide[]
DIALOG_SIDEBAR,
+
+ // end::refguide[]
/**
* Use a dialog for the prompt, rendered in a modal dialog.
*/
+ // tag::refguide[]
DIALOG_MODAL,
+
+ // end::refguide[]
/**
* Show the form inline, temporarily replacing the rendering of the property.
*/
+ // tag::refguide[]
INLINE,
+
+ // end::refguide[]
/**
* Applies only to actions, show the form inline, invoked as if editing the property.
*
@@ -76,16 +94,23 @@ public enum PromptStyle {
* </p>
*
*/
+ // tag::refguide[]
INLINE_AS_IF_EDIT,
+
+ // end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
* annotations or superclasses/interfaces).
*/
+ // tag::refguide[]
NOT_SPECIFIED;
+ // end::refguide[]
public boolean isDialog() { return this == DIALOG || this == DIALOG_MODAL || this == DIALOG_SIDEBAR; }
public boolean isInline() { return this == INLINE; }
public boolean isInlineAsIfEdit() { return this == INLINE_AS_IF_EDIT; }
-
public boolean isInlineOrInlineAsIfEdit() { return this == INLINE || this == INLINE_AS_IF_EDIT; }
+ // tag::refguide[]
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
index bd774db..df31640 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
@@ -38,15 +38,19 @@ import org.apache.isis.applib.value.Clob;
/**
* Domain semantics for domain object property.
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.TYPE, ElementType.ANNOTATION_TYPE })
+@Target({
+ ElementType.METHOD,
+ ElementType.FIELD,
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
@Retention(RetentionPolicy.RUNTIME)
-
-//@Action(semantics=SemanticsOf.SAFE)
-//@ActionLayout(contributed=Contributed.AS_ASSOCIATION)
@Mixin(method = "prop")
public @interface Property {
+ // end::refguide[]
/**
* Indicates that changes to the property that should be posted to the
* {@link org.apache.isis.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
@@ -66,17 +70,17 @@ public @interface Property {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends PropertyDomainEvent<?,?>> domainEvent() default PropertyDomainEvent.Default.class;
-
-
-
-
+ // end::refguide[]
/**
* Indicates where the property is not visible to the user.
*/
+ // tag::refguide[]
Where hidden() default Where.NOT_SPECIFIED;
+ // end::refguide[]
/**
* If set to {@link Projecting#PROJECTED projected}, then indicates that the owner of this property is a view model
* which is a projection of some other entity, and that the property holds a reference to that
@@ -91,11 +95,10 @@ public @interface Property {
* Only one such property should be marked as being a projection with a view model.
* </p>
*/
+ // tag::refguide[]
Projecting projecting() default Projecting.NOT_SPECIFIED;
-
-
-
+ // end::refguide[]
/**
* Whether the properties of this domain object can be edited, or collections of this object be added to/removed from.
*
@@ -103,29 +106,32 @@ public @interface Property {
* Note that non-editable objects can nevertheless have actions invoked upon them.
* </p>
*/
+ // tag::refguide[]
Editing editing() default Editing.NOT_SPECIFIED;
+ // end::refguide[]
/**
* If {@link #editing()} is set to {@link Editing#DISABLED},
* then the reason to provide to the user as to why this property cannot be edited.
*/
+ // tag::refguide[]
String editingDisabledReason() default "";
-
-
-
-
+ // end::refguide[]
/**
* Whether the property edit should be reified into a {@link org.apache.isis.applib.services.command.Command} object.
*/
CommandReification command() default CommandReification.NOT_SPECIFIED;
+ // end::refguide[]
/**
* How the {@link org.apache.isis.applib.services.command.Command Command} object provided by the
* {@link org.apache.isis.applib.services.command.CommandContext CommandContext} domain service should be persisted.
*/
+ // tag::refguide[]
CommandPersistence commandPersistence() default CommandPersistence.PERSISTED;
+ // end::refguide[]
/**
* How the command/property edit should be executed.
*
@@ -135,10 +141,10 @@ public @interface Property {
* will be set to this value.
* </p>
*/
+ // tag::refguide[]
CommandExecuteIn commandExecuteIn() default CommandExecuteIn.FOREGROUND;
-
-
+ // end::refguide[]
/**
* Whether the property edit should be published.
*
@@ -147,9 +153,10 @@ public @interface Property {
* or {@link org.apache.isis.applib.services.publish.PublisherService} is registered with the framework.
* </p>
*/
+ // tag::refguide[]
Publishing publishing() default Publishing.NOT_SPECIFIED;
-
+ // end::refguide[]
/**
* The {@link CommandDtoProcessor} to process this command's DTO.
*
@@ -164,11 +171,10 @@ public @interface Property {
* {@link ContentMappingServiceForCommandsDto} to dynamically transform the DTOs.
* </p>
*/
+ // tag::refguide[]
Class<? extends CommandDtoProcessor> commandDtoProcessor() default CommandDtoProcessor.class;
-
-
-
+ // end::refguide[]
/**
* The maximum entry length of a field.
*
@@ -176,12 +182,10 @@ public @interface Property {
* The default value (<code>-1</code>) indicates that no maxLength has been specified.
* </p>
*/
+ // tag::refguide[]
int maxLength() default -1;
-
-
-
-
+ // end::refguide[]
/**
* The {@link org.apache.isis.applib.spec.Specification}(s) to be satisfied by this property.
*
@@ -189,45 +193,42 @@ public @interface Property {
* If more than one is provided, then all must be satisfied (in effect "AND"ed together).
* </p>
*/
+ // tag::refguide[]
Class<? extends Specification>[] mustSatisfy() default {};
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Indicates whether the property should be included or excluded from mementos.
*
* <p>
- * To ensure that the property is actually not persisted in the objectstore, also annotate with the JDO annotation
- * {@link javax.jdo.annotations.NotPersistent}.
+ * To ensure that the property is actually not persisted in the objectstore, also annotate with the JDO annotation
+ * <code>javax.jdo.annotations.NotPersistent</code>
* </p>
*/
+ // tag::refguide[]
MementoSerialization mementoSerialization() default MementoSerialization.NOT_SPECIFIED;
-
-
-
-
+ // end::refguide[]
/**
* Whether this property is optional or is mandatory (ie required).
*
* <p>
* For properties the default value, {@link org.apache.isis.applib.annotation.Optionality#DEFAULT}, usually
* means that the property is required unless it has been overridden by {@link javax.jdo.annotations.Column}
- * with its {@link javax.jdo.annotations.Column#allowsNull() allowsNull()} attribute set to true.
+ * with its <code>javax.jdo.annotations.Column#allowsNull()</code> attribute set to true.
* </p>
*/
+ // tag::refguide[]
Optionality optionality() default Optionality.NOT_SPECIFIED;
-
-
-
-
+ // end::refguide[]
/**
* Regular expression pattern that a value should conform to, and can be formatted as.
*/
+ // tag::refguide[]
String regexPattern() default "";
+ // end::refguide[]
/**
* Pattern flags, as per {@link java.util.regex.Pattern#compile(String, int)} .
*
@@ -235,17 +236,17 @@ public @interface Property {
* The default value, <code>0</code>, means that no flags have been specified.
* </p>
*/
+ // tag::refguide[]
int regexPatternFlags() default 0;
+ // end::refguide[]
/**
* Replacement text for the pattern in generated error message.
*/
+ // tag::refguide[]
String regexPatternReplacement() default "Doesn't match pattern";
-
-
-
-
+ // end::refguide[]
/**
* For uploading {@link Blob} or {@link Clob}, optionally restrict the files accepted (eg <tt>.xslx</tt>).
*
@@ -255,7 +256,8 @@ public @interface Property {
*
* @see <a href="http://www.w3schools.com/tags/att_input_accept.asp">http://www.w3schools.com</a>
*/
+ // tag::refguide[]
String fileAccept() default "";
-
-}
\ No newline at end of file
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
index edd145d..11f965b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
@@ -30,28 +30,35 @@ import java.lang.annotation.Target;
*
* @see org.apache.isis.applib.annotation.ParameterLayout
*/
+// tag::refguide[]
@Inherited
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.TYPE, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Mixin(method = "prop")
public @interface PropertyLayout {
+ // end::refguide[]
/**
* Indicates the css class that a property should have.
*/
+ // tag::refguide[]
String cssClass() default "";
+ // end::refguide[]
/**
* Description of this property, eg to be rendered in a tooltip.
*/
+ // tag::refguide[]
String describedAs() default "";
-
+ // end::refguide[]
/**
* Indicates where in the UI the property should <i>not</i>not be visible.
*/
+ // tag::refguide[]
Where hidden() default Where.NOT_SPECIFIED;
+ // end::refguide[]
/**
* In forms, positioning of the label (left, top or none) relative to the property value.
*
@@ -59,30 +66,41 @@ public @interface PropertyLayout {
* If not specified, the default depends upon the property value's datatype.
* </p>
*/
+ // tag::refguide[]
LabelPosition labelPosition() default LabelPosition.NOT_SPECIFIED;
+ // end::refguide[]
/**
* For string properties (and parameters), render as a text area over specified number of lines.
*/
+ // tag::refguide[]
int multiLine() default -1;
+ // end::refguide[]
/**
* Name of this property (overriding the name derived from its name in code).
*/
+ // tag::refguide[]
String named() default "";
+ // end::refguide[]
/**
* A flag indicating whether the value of {@linkplain #named()} should be HTML escaped or not.
*/
+ // tag::refguide[]
boolean namedEscaped() default true;
+ // tag::refguide[]
Navigable navigable() default Navigable.NOT_SPECIFIED;
+ // end::refguide[]
/**
* How the properties of this domain object are be edited, either {@link PromptStyle#DIALOG dialog} or {@link PromptStyle#INLINE inline}.
*/
+ // tag::refguide[]
PromptStyle promptStyle() default PromptStyle.NOT_SPECIFIED;
+ // end::refguide[]
/**
* For date properties (and parameters) only, instructs the viewer that the date should be rendered as one day
* prior to the actually stored date.
@@ -108,13 +126,17 @@ public @interface PropertyLayout {
* In the domain object, itself, however, the value stored is 1-jun-2013.
* </p>
*/
+ // tag::refguide[]
RenderDay renderDay() default RenderDay.NOT_SPECIFIED;
+ // end::refguide[]
/**
* The typical entry length of a field, use to determine the optimum width for display
*/
+ // tag::refguide[]
int typicalLength() default -1;
+ // end::refguide[]
/**
* Indicates that the value held by the property never changes over time, even when other properties of the object
* do change.
@@ -137,7 +159,9 @@ public @interface PropertyLayout {
* within the framework than simply a hint for rendering.
* </p>
*/
+ // tag::refguide[]
Repainting repainting() default Repainting.NOT_SPECIFIED;
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Publishing.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Publishing.java
index 581bdab..0afa406 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Publishing.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Publishing.java
@@ -21,7 +21,10 @@ package org.apache.isis.applib.annotation;
/**
* The available policies for publishing changes to the properties of the object.
*/
+// tag::refguide[]
public enum Publishing {
+
+ // end::refguide[]
/**
* The publishing of the object should be as per the default publishing policy configured in <tt>application.properties</tt>.
*
@@ -29,18 +32,30 @@ public enum Publishing {
* If no publishing policy is configured, then the publishing is disabled.
* </p>
*/
+ // tag::refguide[]
AS_CONFIGURED,
+
+ // end::refguide[]
/**
* Publish changes to this object.
*/
+ // tag::refguide[]
ENABLED,
+
+ // end::refguide[]
/**
* Do not publish changes to this object (even if otherwise configured to enable publishing).
*/
+ // tag::refguide[]
DISABLED,
+
+ // end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
* annotations or superclasses/interfaces).
*/
+ // tag::refguide[]
NOT_SPECIFIED
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/PublishingChangeKind.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/PublishingChangeKind.java
index c7f7be7..48eba88 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/PublishingChangeKind.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/PublishingChangeKind.java
@@ -18,8 +18,14 @@
*/
package org.apache.isis.applib.annotation;
+// tag::refguide[]
public enum PublishingChangeKind {
+
CREATE,
+
UPDATE,
- DELETE;
+
+ DELETE,
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Redirect.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Redirect.java
index fe999c8..20d1e38 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Redirect.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Redirect.java
@@ -24,20 +24,27 @@ import javax.xml.bind.annotation.XmlType;
* The available policies for rendering the next page if the result is the same as the target
* (in other words, an action that returns "this").
*/
+// tag::refguide[]
@XmlType(
namespace = "http://isis.apache.org/applib/layout/component"
)
public enum Redirect {
+
+ // end::refguide[]
/**
* As defined by configuration property <code>isis.viewer.wicket.redirectEvenIfSameObject</code>
*/
+ // tag::refguide[]
AS_CONFIGURED,
+ // end::refguide[]
/**
* Redirect (meaning render a new page) even if the result of the action is the same as the target.
*/
+ // tag::refguide[]
EVEN_IF_SAME,
+ // end::refguide[]
/**
* Don't redirect if the result is the same as the target, instead just update the existing page.
*
@@ -45,5 +52,8 @@ public enum Redirect {
* Of course, a redirect is still performed if the result of the action is different from the target.
* </p>
*/
+ // tag::refguide[]
ONLY_IF_DIFFERS,
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/RenderDay.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/RenderDay.java
index b5b60cd..15d79ed 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/RenderDay.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/RenderDay.java
@@ -23,18 +23,28 @@ import javax.xml.bind.annotation.XmlType;
/**
* How to render days.
*/
+// tag::refguide[]
@XmlType(
namespace = "http://isis.apache.org/applib/layout/component"
)
public enum RenderDay {
+
AS_DAY,
+
+ // end::refguide[]
/**
* Equivalent to <tt>@PropertyLayout(renderAsDayBefore=true)</tt> prior to Isis 2.x
*/
+ // tag::refguide[]
AS_DAY_BEFORE,
+
+ // end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
* annotations or superclasses/interfaces).
*/
- NOT_SPECIFIED;
+ // tag::refguide[]
+ NOT_SPECIFIED
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Repainting.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Repainting.java
index ffc0052..ed7c88e 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Repainting.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Repainting.java
@@ -23,18 +23,28 @@ import javax.xml.bind.annotation.XmlType;
/**
* Whether a component is unchanging and so does not require repainting.
*/
+// tag::refguide[]
@XmlType(
namespace = "http://isis.apache.org/applib/layout/component"
)
public enum Repainting {
+
REPAINT,
+
+ // end::refguide[]
/**
* Equivalent to <tt>@PropertyLayout(unchanging=true)</tt> prior to Isis 2.x
*/
+ // tag::refguide[]
NO_REPAINT,
+
+ // end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
* annotations or superclasses/interfaces).
*/
+ // tag::refguide[]
NOT_SPECIFIED
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/RestrictTo.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/RestrictTo.java
index 801939f..b7b395d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/RestrictTo.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/RestrictTo.java
@@ -21,8 +21,14 @@ package org.apache.isis.applib.annotation;
/**
* Whether an action is restricted to development mode, or available in all.
*/
+// tag::refguide[]
public enum RestrictTo {
+
PROTOTYPING,
+
NO_RESTRICTIONS,
+
NOT_SPECIFIED;
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/SemanticsOf.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/SemanticsOf.java
index 553f2c7..49a0436 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/SemanticsOf.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/SemanticsOf.java
@@ -23,53 +23,63 @@ import org.apache.isis.applib.util.Enums;
/**
* @see <a href="https://isis.apache.org/guides/rgant/rgant.html#_rgant-Action_semantics">Reference Guide</a>
*/
+// tag::refguide[]
public enum SemanticsOf {
+ // end::refguide[]
/**
* Safe, with no side effects, and caching the returned value when invoked multiple times in the same request.
* <ul>
* <li>Changes state: <b>No</b></li>
* <li>HTTP verb: <b>GET</b></li>
- * <li>Effect of multiple calls: Will <b>always return the same result</b> each time invoked
+ * <li>Effect of multiple calls: Will <b>always return the same result</b> each time invoked
* (within a given request scope).</li>
* </ul>
*/
+ // tag::refguide[]
SAFE_AND_REQUEST_CACHEABLE,
+ // end::refguide[]
/**
* Safe, with no side-effects. In other words, a query-only action.
* <ul>
* <li>Changes state: <b>No</b></li>
* <li>HTTP verb: <b>GET</b></li>
- * <li>Effect of multiple calls: Might result in <b>different results each invocation</b>
+ * <li>Effect of multiple calls: Might result in <b>different results each invocation</b>
* (within a given request scope).</li>
* </ul>
*/
+ // tag::refguide[]
SAFE,
+ // end::refguide[]
/**
* Post-conditions are always the same, irrespective as to how many times called.
* <ul>
* <li>Changes state: <b>Yes</b></li>
* <li>HTTP verb: <b>PUT</b></li>
- * <li>Effect of multiple calls: Will make <b>no further changes</b> if called multiple times
+ * <li>Effect of multiple calls: Will make <b>no further changes</b> if called multiple times
* (eg sets a property or adds of same item to a Set).</li>
* </ul>
*/
+ // tag::refguide[]
IDEMPOTENT,
+ // end::refguide[]
/**
* Neither safe nor idempotent; every invocation is likely to change the state of the object.
* <ul>
* <li>Changes state: <b>Yes</b></li>
* <li>HTTP verb: <b>POST</b></li>
- * <li>Effect of multiple calls: Might <b>change the state</b> of the system each time called
+ * <li>Effect of multiple calls: Might <b>change the state</b> of the system each time called
* (eg increments a counter or adds to a List).</li>
* <li>Example: Increasing the quantity of a line item in an Order by 1.</li>
* </ul>
*/
+ // tag::refguide[]
NON_IDEMPOTENT,
+ // end::refguide[]
/**
* Post-conditions are always the same, irrespective as to how many times called.
* <p>
@@ -77,12 +87,14 @@ public enum SemanticsOf {
* <ul>
* <li>Changes state: <b>Yes</b></li>
* <li>HTTP verb: <b>PUT</b></li>
- * <li>Effect of multiple calls: Will make <b>no further changes</b> if called multiple times
+ * <li>Effect of multiple calls: Will make <b>no further changes</b> if called multiple times
* (eg sets a property or adds of same item to a Set).</li>
* </ul>
*/
+ // tag::refguide[]
IDEMPOTENT_ARE_YOU_SURE,
+ // end::refguide[]
/**
* Neither safe nor idempotent; every invocation is likely to change the state of the object.
* <p>
@@ -90,17 +102,23 @@ public enum SemanticsOf {
* <ul>
* <li>Changes state: <b>Yes</b></li>
* <li>HTTP verb: <b>POST</b></li>
- * <li>Effect of multiple calls: Might <b>change the state</b> of the system each time called
+ * <li>Effect of multiple calls: Might <b>change the state</b> of the system each time called
* (eg increments a counter or adds to a List).</li>
* <li>Example: Increasing the quantity of a line item in an Order by 1.</li>
*/
+ // tag::refguide[]
NON_IDEMPOTENT_ARE_YOU_SURE,
+ // end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
* annotations or superclasses/interfaces).
*/
- NOT_SPECIFIED;
+ // tag::refguide[]
+ NOT_SPECIFIED
+
+ // end::refguide[]
+ ;
public String getFriendlyName() {
return Enums.getFriendlyNameOf(this);
@@ -140,4 +158,7 @@ public enum SemanticsOf {
return this == IDEMPOTENT_ARE_YOU_SURE || this == NON_IDEMPOTENT_ARE_YOU_SURE;
}
+ // tag::refguide[]
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Title.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Title.java
index f7c3259..b6cd0c1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Title.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Title.java
@@ -28,30 +28,44 @@ import java.lang.annotation.Target;
* A title annotation used to annotate methods used to construct the title of a
* domain object instance. It is used as a marker.
*/
+// tag::refguide[]
@Retention(RetentionPolicy.RUNTIME)
-@Target({ ElementType.METHOD, ElementType.FIELD })
+@Target({
+ ElementType.METHOD,
+ ElementType.FIELD
+})
public @interface Title {
+ // end::refguide[]
/**
* The order (in Dewey decimal notation) that the property annotated with
* {@link Title} appears with respect to other properties also annotated
* with {@link Title}.
*/
+ // tag::refguide[]
String sequence() default "1.0";
+ // end::refguide[]
/**
* The string to use to separate this property from any preceding properties
* in the title.
*/
+ // tag::refguide[]
String prepend() default " ";
+ // end::refguide[]
/**
* The string to append to this property if non-empty.
*/
+ // tag::refguide[]
String append() default "";
+ // end::refguide[]
/**
* The length to abbreviate this title element to.
*/
+ // tag::refguide[]
int abbreviatedTo() default Integer.MAX_VALUE;
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Value.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Value.java
index 03e8dd2..446bf84 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Value.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Value.java
@@ -54,11 +54,13 @@ import org.apache.isis.applib.adapters.ValueSemanticsProvider;
* Note: This annotation is only incompletely recognized by the framework, and may be deprecated in the future.
* </p>
*/
+// tag::refguide[]
@Inherited
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface Value {
+ // end::refguide[]
/**
* The fully qualified name of a class that implements the
* {@link ValueSemanticsProvider} interface.
@@ -82,8 +84,10 @@ public @interface Value {
* Implementation note: the default value provided here is simply an empty
* string because <tt>null</tt> is not a valid default.
*/
+ // tag::refguide[]
String semanticsProviderName() default "";
+ // end::refguide[]
/**
* As per {@link #semanticsProviderName()}, but specifying a class literal
* rather than a fully qualified class name.
@@ -92,6 +96,8 @@ public @interface Value {
* Implementation note: the default value provided here is simply the
* {@link Value}'s own class, because <tt>null</tt> is not a valid default.
*/
+ // tag::refguide[]
Class<?> semanticsProviderClass() default Value.class;
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/ViewModel.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/ViewModel.java
index e76c9d2..8c4b8c7 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/ViewModel.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/ViewModel.java
@@ -51,14 +51,18 @@ import org.springframework.stereotype.Component;
* @see ViewModel
*
* @apiNote Meta annotation {@link Component} allows for the Spring framework to pick up (discover) the
- * annotated type.
- * For more details see {@link org.apache.isis.config.beans.IsisBeanFactoryPostProcessorForSpring}.
+ * annotated type.
+ *
+ * For more details see <code>org.apache.isis.config.beans.IsisBeanFactoryPostProcessorForSpring</code>.
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.TYPE, ElementType.ANNOTATION_TYPE })
+@Target({
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
@Retention(RetentionPolicy.RUNTIME)
@Component @Scope("prototype")
public @interface ViewModel {
-
-
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/ViewModelLayout.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/ViewModelLayout.java
index f2972f8..c748e84 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/ViewModelLayout.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/ViewModelLayout.java
@@ -46,11 +46,16 @@ import org.apache.isis.applib.layout.component.CssClassFaPosition;
* with just <tt>@ViewModel</tt> and <tt>@ViewModelLayout</tt>.
* </p>
*/
+// tag::refguide[]
@Inherited
-@Target({ ElementType.TYPE, ElementType.ANNOTATION_TYPE })
+@Target({
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
@Retention(RetentionPolicy.RUNTIME)
public @interface ViewModelLayout {
+ // end::refguide[]
/**
* Which subclass of {@link TitleUiEvent} should be used to obtain a title.
*
@@ -58,10 +63,10 @@ public @interface ViewModelLayout {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends TitleUiEvent<?>> titleUiEvent() default TitleUiEvent.Default.class;
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Which subclass of {@link IconUiEvent} should be used to obtain an icon.
*
@@ -69,10 +74,10 @@ public @interface ViewModelLayout {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends IconUiEvent<?>> iconUiEvent() default IconUiEvent.Default.class;
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Which subclass of {@link CssClassUiEvent} should be used to obtain a CSS class.
*
@@ -80,10 +85,10 @@ public @interface ViewModelLayout {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends CssClassUiEvent<?>> cssClassUiEvent() default CssClassUiEvent.Default.class;
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Which subclass of {@link LayoutUiEvent} should be used to obtain a layout.
*
@@ -91,22 +96,25 @@ public @interface ViewModelLayout {
* This subclass must provide a no-arg constructor; the fields are set reflectively.
* </p>
*/
+ // tag::refguide[]
Class<? extends LayoutUiEvent<?>> layoutUiEvent() default LayoutUiEvent.Default.class;
-
+ // end::refguide[]
/**
* Indicates the css class that a domain class (type) should have.
*/
+ // tag::refguide[]
String cssClass() default "";
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Indicates the <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a> CSS class to decorate an
* domain object.
*/
+ // tag::refguide[]
String cssClassFa() default "";
+ // end::refguide[]
/**
* Indicates the position of the <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a>
* icon. The icon could be rendered on the left or the right of the object's title.
@@ -115,26 +123,24 @@ public @interface ViewModelLayout {
* This attribute is currently ignored by Isis viewers.
* </p>
*/
+ // tag::refguide[]
CssClassFaPosition cssClassFaPosition() default CssClassFaPosition.LEFT;
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Description of this class, eg to be rendered in a tooltip.
*/
+ // tag::refguide[]
String describedAs() default "";
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Name of this class (overriding the name derived from its name in code).
*/
+ // tag::refguide[]
String named() default "";
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* The page size for instances of this class when rendered within
* a table.
@@ -147,21 +153,22 @@ public @interface ViewModelLayout {
* If annotated on a type, then the page size refers to standalone
* collections (eg as returned from a repository query).
*/
+ // tag::refguide[]
int paged() default -1;
-
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* The plural name of the class.
*/
+ // tag::refguide[]
String plural() default "";
- // //////////////////////////////////////
-
+ // end::refguide[]
/**
* Whether (and how) this domain object can be bookmarked in the UI.
*/
+ // tag::refguide[]
BookmarkPolicy bookmarking() default BookmarkPolicy.NOT_SPECIFIED;
-}
\ No newline at end of file
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Where.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Where.java
index 497b111..c1d01c2 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Where.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Where.java
@@ -40,41 +40,63 @@ import org.apache.isis.applib.util.Enums;
* This enum is also used internally within the framework. When rendering an element,
* the framework developer should only use those values that represent concrete locations.
*/
+// tag::refguide[]
@XmlType(
namespace = "http://isis.apache.org/applib/layout/component"
)
public enum Where {
+
+ // end::refguide[]
/**
* The member should be disabled/hidden everywhere.
*
* <p>
* Synonym for {@link #ANYWHERE}.
*/
+ // tag::refguide[]
EVERYWHERE {
+ // end::refguide[]
+
@Override
public boolean includes(Where context) {
return true;
}
+
+ // tag::refguide[]
+ // ...
},
+
+ // end::refguide[]
/**
* The member should be disabled/hidden everywhere.
*
* <p>
* Synonym for {@link #EVERYWHERE}.
*/
+ // tag::refguide[]
ANYWHERE {
+ // end::refguide[]
+
@Override
public boolean includes(Where context) {
return true;
}
+
+ // tag::refguide[]
+ // ...
},
+
+ // end::refguide[]
/**
* The member should be disabled/hidden when displayed within an object form.
*
* <p>
* For most viewers, this applies to property and collection members, not actions.
*/
+ // tag::refguide[]
OBJECT_FORMS,
+
+ // end::refguide[]
/**
* The member should be disabled/hidden when displayed as a column of a table
* within parent object's collection, and references that parent.
@@ -82,7 +104,10 @@ public enum Where {
* <p>
* For most (all?) viewers, this will have meaning only if applied to a property member.
*/
+ // tag::refguide[]
REFERENCES_PARENT,
+
+ // end::refguide[]
/**
* The member should be disabled/hidden when displayed as a column of a table within
* a parent object's collection.
@@ -90,7 +115,10 @@ public enum Where {
* <p>
* For most (all?) viewers, this will have meaning only if applied to a property member.
*/
+ // tag::refguide[]
PARENTED_TABLES ,
+
+ // end::refguide[]
/**
* The member should be disabled/hidden when displayed as a column of a table showing a standalone list
* of objects, for example as returned by a repository query.
@@ -98,7 +126,10 @@ public enum Where {
* <p>
* For most (all?) viewers, this will have meaning only if applied to a property member.
*/
+ // tag::refguide[]
STANDALONE_TABLES,
+
+ // end::refguide[]
/**
* The member should be disabled/hidden when displayed as a column of a table, either an object's
* collection or a standalone list.
@@ -106,24 +137,40 @@ public enum Where {
* <p>
* This combines {@link #PARENTED_TABLES} and {@link #STANDALONE_TABLES}.
*/
+ // tag::refguide[]
ALL_TABLES {
+ // end::refguide[]
+
@Override
public boolean includes(Where context) {
return context == this || context == PARENTED_TABLES || context == STANDALONE_TABLES;
}
+
+ // tag::refguide[]
+ // ...
},
+
+ // end::refguide[]
/**
* The member should be disabled/hidden except when displayed as a column of a standalone table.
*
* <p>
* This is the inverse of {@link #STANDALONE_TABLES}.
*/
+ // tag::refguide[]
ALL_EXCEPT_STANDALONE_TABLES {
+ // end::refguide[]
+
@Override
public boolean includes(Where context) {
return context != STANDALONE_TABLES;
}
+
+ // tag::refguide[]
+ // ...
},
+
+ // end::refguide[]
/**
* To act as an override if a member would normally be hidden as a result of some other convention.
*
@@ -131,22 +178,37 @@ public enum Where {
* For example, if a property is annotated with <tt>@Title</tt>, then normally this should be hidden
* from all tables. Additionally annotating with <tt>@Hidden(where=Where.NOWHERE)</tt> overrides this.
*/
+ // tag::refguide[]
NOWHERE {
+ // end::refguide[]
+
@Override
public boolean includes(Where context) {
return false;
}
+
+ // tag::refguide[]
+ // ...
},
+
+ // end::refguide[]
/**
* Acts as the default no-op value for {@link PropertyLayout#hidden()}, {@link CollectionLayout#hidden()} and {@link ActionLayout#hidden()}.
*/
+ // tag::refguide[]
NOT_SPECIFIED {
+ // end::refguide[]
+
@Override
public boolean includes(Where context) {
return false;
}
+
+ // tag::refguide[]
+ // ...
};
+ // end::refguide[]
public String getFriendlyName() {
return Enums.getFriendlyNameOf(this);
}
@@ -169,4 +231,7 @@ public enum Where {
return context == this;
}
+ // tag::refguide[]
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/client/SuppressionType.java b/api/applib/src/main/java/org/apache/isis/applib/client/SuppressionType.java
index dd0ff85..4a0a42c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/client/SuppressionType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/client/SuppressionType.java
@@ -29,25 +29,52 @@ import static org.apache.isis.core.commons.internal.base._NullSafe.stream;
*
* @since 2.0
*/
+// tag::refguide[]
public enum SuppressionType {
- /** suppress '$$RO', RO Spec representation*/
+ // end::refguide[]
+ /**
+ * suppress '$$RO', RO Spec representation
+ */
+ // tag::refguide[]
RO,
- /** suppress '$$href', hyperlink to the representation*/
+ // end::refguide[]
+ /**
+ * suppress '$$href', hyperlink to the representation
+ */
+ // tag::refguide[]
HREF,
- /** suppress '$$instanceId', instance id of the domain object*/
+ // end::refguide[]
+ /**
+ suppress '$$instanceId', instance id of the domain object
+ */
+ // tag::refguide[]
ID,
- /** suppress '$$domainType', object spec of the domain object */
+ // end::refguide[]
+ /**
+ * suppress '$$domainType', object spec of the domain object
+ */
+ // tag::refguide[]
DOMAIN_TYPE,
- /** suppress '$$title', title of the domain object*/
+ // end::refguide[]
+ /**
+ * suppress '$$title', title of the domain object
+ */
+ // tag::refguide[]
TITLE,
- /** suppress all '$$...' entries*/
+ // end::refguide[]
+ /**
+ * suppress all '$$...' entries
+ */
+ // tag::refguide[]
ALL
+
+ // end::refguide[]
;
public static EnumSet<SuppressionType> setOf(SuppressionType ... types){
@@ -74,7 +101,7 @@ public enum SuppressionType {
// honor pre v2 behavior
if("true".equalsIgnoreCase(literal)) {
- return SuppressionType.RO;
+ return SuppressionType.RO;
}
try {
@@ -83,9 +110,8 @@ public enum SuppressionType {
return null;
}
}
-
}
+ // tag::refguide[]
-
-
-}
\ No newline at end of file
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/domain/EventObjectBase.java b/api/applib/src/main/java/org/apache/isis/applib/events/EventObjectBase.java
similarity index 89%
rename from api/applib/src/main/java/org/apache/isis/applib/events/domain/EventObjectBase.java
rename to api/applib/src/main/java/org/apache/isis/applib/events/EventObjectBase.java
index 06a9edb..2cee75b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/domain/EventObjectBase.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/EventObjectBase.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.applib.events.domain;
+package org.apache.isis.applib.events;
import javax.annotation.Nullable;
@@ -27,36 +27,44 @@ import static org.apache.isis.core.commons.internal.base._With.requires;
/**
* @since 2.0
*/
+// tag::refguide[]
public abstract class EventObjectBase<T> {
+ // end::refguide[]
/**
* The object on which the Event initially occurred.
*/
+ // tag::refguide[]
protected transient T source;
+ // end::refguide[]
/**
* Constructs a prototypical Event.
*
* @param source The object on which the Event initially occurred.
*/
+ // tag::refguide[]
protected EventObjectBase(@Nullable T source) {
this.source = source;
}
+ // end::refguide[]
/**
* The object on which the Event initially occurred.
*
* @return The object on which the Event initially occurred.
*/
+ // tag::refguide[]
public @Nullable T getSource() {
return source;
}
-
+
+ // end::refguide[]
/**
* A one-shot function. Only allowed to be called if a source has not already been set.
- *
+ *
* @apiNote reserved for framework internal use
- *
+ *
* @param source non-null
*/
public void initSource(T source) {
@@ -75,5 +83,7 @@ public abstract class EventObjectBase<T> {
public String toString() {
return getClass().getName() + "[source=" + source + "]";
}
-
+ // tag::refguide[]
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/domain/AbstractDomainEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/domain/AbstractDomainEvent.java
index 16aef719..4ca383c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/domain/AbstractDomainEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/domain/AbstractDomainEvent.java
@@ -23,19 +23,24 @@ import java.util.Map;
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.events.EventObjectBase;
import org.apache.isis.applib.services.command.CommandContext;
import org.apache.isis.applib.services.i18n.TranslatableString;
import org.apache.isis.applib.util.ObjectContracts;
import org.apache.isis.applib.util.ToString;
import org.apache.isis.core.commons.internal.exceptions._Exceptions;
+import lombok.Getter;
+
+// tag::refguide[]
public abstract class AbstractDomainEvent<S> extends EventObjectBase<S> {
+ // end::refguide[]
/**
* If used then the framework will set state via (non-API) setters.
*
* <p>
- * Because the {@link EventObjectBase} superclass prohibits a null source,
+ * Because the {@link EventObjectBase} superclass prohibits a null source,
* a dummy value is temporarily used.
* </p>
*/
@@ -50,16 +55,14 @@ public abstract class AbstractDomainEvent<S> extends EventObjectBase<S> {
this.identifier = identifier;
}
- // - mixedIn
-
- private Object mixedIn;
-
/**
* Populated only for mixins; holds the underlying domain object that the mixin contributes to.
*/
- public Object getMixedIn() {
- return mixedIn;
- }
+ // tag::refguide[]
+ @Getter
+ private Object mixedIn;
+
+ // end::refguide[]
/**
* Not API - set by the framework.
*/
@@ -68,28 +71,32 @@ public abstract class AbstractDomainEvent<S> extends EventObjectBase<S> {
}
-
- // -- Subject
-
/**
* The subject of the event, which will be either the {@link #getSource() source} for a regular action, or the
* {@link #getMixedIn() mixed-in} domain object for a mixin.
*/
+ // tag::refguide[]
public Object getSubject() {
final Object mixedIn = getMixedIn();
return mixedIn != null ? mixedIn : getSource();
}
-
-
- // -- Phase
-
+ // end::refguide[]
+ // tag::refguide-1[]
public enum Phase {
+
HIDE,
+
DISABLE,
+
VALIDATE,
+
EXECUTING,
- EXECUTED;
+
+ EXECUTED
+
+ // end::refguide-1[]
+ ;
/**
* The significance being that at this point the proposed values/arguments are known, and so the event can be
@@ -114,34 +121,35 @@ public abstract class AbstractDomainEvent<S> extends EventObjectBase<S> {
public boolean isExecuted() {
return this == EXECUTED;
}
- }
+ // tag::refguide-1[]
- private Phase phase;
+ }
+ // end::refguide-1[]
/**
* Whether the framework is checking visibility, enablement, validity or actually executing (invoking action,
* updating property or collection).
*/
- public Phase getEventPhase() {
- return phase;
- }
+ // tag::refguide[]
+ @Getter
+ private Phase eventPhase;
+ // end::refguide[]
/**
* Not API, set by the framework.
*/
public void setEventPhase(Phase phase) {
- this.phase = phase;
+ this.eventPhase = phase;
}
- // -- identifier
/**
* If the no-arg constructor is used, then the framework will populate this field reflectively.
*/
+ // tag::refguide[]
+ @Getter
private Identifier identifier;
- public Identifier getIdentifier() {
- return identifier;
- }
+ // end::refguide[]
/**
* Not API, set by the framework if the no-arg constructor is used.
*/
@@ -149,98 +157,117 @@ public abstract class AbstractDomainEvent<S> extends EventObjectBase<S> {
this.identifier = identifier;
}
-
- // -- hide, isHidden
+ @Getter
private boolean hidden;
- public boolean isHidden() {
- return hidden;
- }
/**
* @see #veto(String, Object...)
*/
+ // tag::refguide[]
public void hide() {
+ // end::refguide[]
+
this.hidden = true;
- }
+ // tag::refguide[]
+ // ...
+ }
+ // end::refguide[]
- // -- disable, isDisabled, getDisabledReason, getDisabledReasonTranslatable
+ /**
+ * If {@link #isDisabled() disabled}, then either this method returns non-null or {@link #getDisabledReasonTranslatable()} will.
+ */
+ @Getter
private String disabledReason;
+ /**
+ * If {@link #isDisabled() disabled}, then either this method returns non-null or {@link #getDisabledReason()} will.
+ */
+ @Getter
+ private TranslatableString disabledReasonTranslatable;
+
public boolean isDisabled() {
return disabledReason != null || disabledReasonTranslatable != null;
}
- /**
- * If {@link #isDisabled() disabled}, then either this method returns non-null or {@link #getDisabledReasonTranslatable()} will.
- */
- public String getDisabledReason() {
- return disabledReason;
- }
/**
* @see #disable(org.apache.isis.applib.services.i18n.TranslatableString)
* @see #veto(String, Object...)
*/
+ // tag::refguide[]
public void disable(final String reason) {
+ // end::refguide[]
+
this.disabledReason = reason;
- }
- private TranslatableString disabledReasonTranslatable;
- /**
- * If {@link #isDisabled() disabled}, then either this method returns non-null or {@link #getDisabledReason()} will.
- */
- public TranslatableString getDisabledReasonTranslatable() {
- return disabledReasonTranslatable;
+ // tag::refguide[]
+ // ...
}
+ // end::refguide[]
+
/**
* @see #disable(java.lang.String)
* @see #veto(org.apache.isis.applib.services.i18n.TranslatableString)
*/
+ // tag::refguide[]
public void disable(final TranslatableString reason) {
- this.disabledReasonTranslatable = reason;
- }
+ // end::refguide[]
+ this.disabledReasonTranslatable = reason;
- // -- invalidate, isInvalid, getInvalidityReason, getInvalidityReasonTranslatable
- private String invalidatedReason;
- public boolean isInvalid() {
- return invalidatedReason != null || invalidatedReasonTranslatable != null;
+ // tag::refguide[]
+ // ...
}
+ // end::refguide[]
+
/**
* If {@link #isInvalid() invalid}, then either this method returns non-null or {@link #getInvalidityReasonTranslatable()} will.
*/
- public String getInvalidityReason() {
- return invalidatedReason;
+ @Getter
+ private String invalidityReason;
+
+ /**
+ * If {@link #isInvalid() invalid}, then either this method returns non-null or {@link #getInvalidityReason()} will.
+ */
+ @Getter
+ private TranslatableString invalidityReasonTranslatable;
+
+ public boolean isInvalid() {
+ return invalidityReason != null || invalidityReasonTranslatable != null;
}
+
/**
* @see #invalidate(org.apache.isis.applib.services.i18n.TranslatableString)
* @see #veto(String, Object...)
*/
+ // tag::refguide[]
public void invalidate(final String reason) {
- this.invalidatedReason = reason;
- }
+ // end::refguide[]
- private TranslatableString invalidatedReasonTranslatable;
- /**
- * If {@link #isInvalid() invalid}, then either this method returns non-null or {@link #getInvalidityReason()} will.
- */
- public TranslatableString getInvalidityReasonTranslatable() {
- return invalidatedReasonTranslatable;
+ this.invalidityReason = reason;
+
+ // tag::refguide[]
+ // ...
}
+ // end::refguide[]
/**
* @see #invalidate(String)
* @see #veto(org.apache.isis.applib.services.i18n.TranslatableString)
*/
+ // tag::refguide[]
public void invalidate(final TranslatableString reason) {
- this.invalidatedReasonTranslatable = reason;
- }
+ // end::refguide[]
+ this.invalidityReasonTranslatable = reason;
+ // tag::refguide[]
+ // ...
+ }
+ // end::refguide[]
- // -- veto
/**
* Use instead of {@link #hide()}, {@link #disable(String)} and {@link #invalidate(String)}; just delegates to
* appropriate vetoing method based upon the {@link #getEventPhase() phase}.
@@ -254,8 +281,10 @@ public abstract class AbstractDomainEvent<S> extends EventObjectBase<S> {
*
* @see #veto(org.apache.isis.applib.services.i18n.TranslatableString)
*/
- @Programmatic
+ // tag::refguide[]
public void veto(final String reason, final Object... args) {
+ // end::refguide[]
+
switch (getEventPhase()) {
case HIDE:
hide();
@@ -278,7 +307,12 @@ public abstract class AbstractDomainEvent<S> extends EventObjectBase<S> {
default:
throw _Exceptions.unmatchedCase(getEventPhase());
}
+
+ // tag::refguide[]
+ // ...
}
+
+ // end::refguide[]
/**
* Use instead of {@link #hide()}, {@link #disable(org.apache.isis.applib.services.i18n.TranslatableString)} and {@link #invalidate(org.apache.isis.applib.services.i18n.TranslatableString)}; just delegates to
* appropriate vetoing method based upon the {@link #getEventPhase() phase}.
@@ -291,8 +325,10 @@ public abstract class AbstractDomainEvent<S> extends EventObjectBase<S> {
*
* @see #veto(String, Object...)
*/
- @Programmatic
+ // tag::refguide[]
public void veto(final TranslatableString translatableReason) {
+ // end::refguide[]
+
switch (getEventPhase()) {
case HIDE:
hide();
@@ -309,10 +345,12 @@ public abstract class AbstractDomainEvent<S> extends EventObjectBase<S> {
default:
throw _Exceptions.unmatchedCase(getEventPhase());
}
- }
+ // tag::refguide[]
+ // ...
+ }
+ // end::refguide[]
- // -- userData
/**
* Provides a mechanism to pass data to the next {@link #getEventPhase() phase}.
*/
@@ -321,15 +359,20 @@ public abstract class AbstractDomainEvent<S> extends EventObjectBase<S> {
/**
* Obtain user-data, as set by a previous {@link #getEventPhase() phase}.
*/
+ // tag::refguide[]
public Object get(Object key) {
return userData.get(key);
}
+
+ // end::refguide[]
/**
* Set user-data, for the use of a subsequent {@link #getEventPhase() phase}.
*/
+ // tag::refguide[]
public void put(Object key, Object value) {
userData.put(key, value);
}
+ // end::refguide[]
private static final ToString<AbstractDomainEvent<?>> toString =
ObjectContracts.<AbstractDomainEvent<?>>
@@ -343,5 +386,7 @@ public abstract class AbstractDomainEvent<S> extends EventObjectBase<S> {
return toString.toString(this);
}
+ // tag::refguide[]
-}
\ No newline at end of file
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/domain/ActionDomainEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/domain/ActionDomainEvent.java
index 9c66001..b935e91 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/domain/ActionDomainEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/domain/ActionDomainEvent.java
@@ -24,37 +24,38 @@ import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.util.ObjectContracts;
import org.apache.isis.applib.util.ToString;
+import lombok.Getter;
+
+// tag::refguide[]
public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
- // -- Default class
+ // end::refguide[]
/**
* This class is the default for the
* {@link org.apache.isis.applib.annotation.Action#domainEvent()} annotation attribute. Whether this
* raises an event or not depends upon the <tt>isis.core.meta-model.annotation.action.domain-event.post-for-default</tt>
* configuration property.
*/
+ // tag::refguide[]
public static class Default extends ActionDomainEvent<Object> {}
-
- // -- Noop class
-
+ // end::refguide[]
/**
* Convenience class to use indicating that an event should <i>not</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event.
*/
+ // tag::refguide[]
public static class Noop extends ActionDomainEvent<Object> {}
-
- // -- Doop class
-
+ // end::refguide[]
/**
* Convenience class meaning that an event <i>should</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event..
*/
+ // tag::refguide[]
public static class Doop extends ActionDomainEvent<Object> {}
-
-
+ // end::refguide[]
/**
* If used then the framework will set state via (non-API) setters.
*
@@ -87,95 +88,34 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
// }
- // -- actionSemantics
- public SemanticsOf getSemantics() {
- return actionSemantics;
- }
-
- private SemanticsOf actionSemantics;
+ // tag::refguide[]
+ @Getter
+ private SemanticsOf semantics;
- /**
- * @deprecated - use {@link #getSemantics()} instead.
- */
- @Deprecated
- public SemanticsOf getActionSemantics() {
- return actionSemantics;
- }
-
- /**
- * Not API - set by the framework.
- */
- public void setActionSemantics(SemanticsOf actionSemantics) {
- this.actionSemantics = actionSemantics;
- }
-
-
-
- // -- parameterNames
+ @Getter
private List<String> parameterNames;
- public List<String> getParameterNames() {
- return parameterNames;
- }
- public void setParameterNames(final List<String> parameterNames) {
- this.parameterNames = parameterNames;
- }
-
- // -- parameterTypes
+ @Getter
private List<Class<?>> parameterTypes;
- public List<Class<?>> getParameterTypes() {
- return parameterTypes;
- }
-
- public void setParameterTypes(final List<Class<?>> parameterTypes) {
- this.parameterTypes = parameterTypes;
- }
-
-
-
- // region > mixedIn
- private Object mixedIn;
+ // end::refguide[]
/**
* Populated only for mixins; holds the underlying domain object that the mixin contributes to.
*/
- @Override
- public Object getMixedIn() {
- return mixedIn;
- }
- /**
- * Not API - set by the framework.
- */
- @Override
- public void setMixedIn(final Object mixedIn) {
- this.mixedIn = mixedIn;
- }
- // endregion
+ // tag::refguide[]
+ @Getter
+ private Object mixedIn;
- // -- arguments
- private List<Object> arguments;
+ // end::refguide[]
/**
* The arguments being used to invoke the action; populated at {@link Phase#VALIDATE} and subsequent phases
* (but null for {@link Phase#HIDE hidden} and {@link Phase#DISABLE disable} phases).
*/
- public List<Object> getArguments() {
- return arguments;
- }
-
- /**
- * Not API - set by the framework.
- */
- public void setArguments(List<Object> arguments) {
- this.arguments = arguments;
- }
-
-
- // -- returnValue
- /**
- *
- */
- private Object returnValue;
+ // tag::refguide[]
+ @Getter
+ private List<Object> arguments;
+ // end::refguide[]
/**
* The value returned by the action.
*
@@ -184,20 +124,54 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
* {@link #getEventPhase() phase}.
* </p>
*/
- public Object getReturnValue() {
- return returnValue;
- }
+ // tag::refguide[]
+ @Getter
+ private Object returnValue;
+ // end::refguide[]
/**
* Set by the framework.
*
* Event subscribers can replace the value with some other value if they wish, though only in the
* {@link Phase#EXECUTED} phase.
*/
+ // tag::refguide[]
public void setReturnValue(final Object returnValue) {
this.returnValue = returnValue;
}
+ // end::refguide[]
+ /**
+ * Not API - set by the framework.
+ */
+ public void setSemantics(SemanticsOf semantics) {
+ this.semantics = semantics;
+ }
+ /**
+ * Not API - set by the framework.
+ */
+ public void setParameterNames(final List<String> parameterNames) {
+ this.parameterNames = parameterNames;
+ }
+ /**
+ * Not API - set by the framework.
+ */
+ public void setParameterTypes(final List<Class<?>> parameterTypes) {
+ this.parameterTypes = parameterTypes;
+ }
+ /**
+ * Not API - set by the framework.
+ */
+ @Override
+ public void setMixedIn(final Object mixedIn) {
+ this.mixedIn = mixedIn;
+ }
+ /**
+ * Not API - set by the framework.
+ */
+ public void setArguments(List<Object> arguments) {
+ this.arguments = arguments;
+ }
private static final ToString<ActionDomainEvent<?>> toString = ObjectContracts.<ActionDomainEvent<?>>
@@ -211,5 +185,7 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
return toString.toString(this);
}
+ // tag::refguide[]
-}
\ No newline at end of file
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/domain/CollectionDomainEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/domain/CollectionDomainEvent.java
index fe5826a..3bf5192 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/domain/CollectionDomainEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/domain/CollectionDomainEvent.java
@@ -21,38 +21,38 @@ package org.apache.isis.applib.events.domain;
import org.apache.isis.applib.util.ObjectContracts;
import org.apache.isis.applib.util.ToString;
+import lombok.Getter;
+
+// tag::refguide[]
public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S> {
- // -- Default class
+ // end::refguide[]
/**
* This class is the default for the
* {@link org.apache.isis.applib.annotation.Collection#domainEvent()} annotation attribute. Whether this
* raises an event or not depends upon the <tt>isis.core.meta-model.annotation.collection.domain-event.post-for-default</tt>
* configuration property.
*/
+ // tag::refguide[]
public static class Default extends CollectionDomainEvent<Object, Object> { }
-
- // -- Noop class
-
+ // end::refguide[]
/**
* Convenience class to use indicating that an event should <i>not</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event.
*/
+ // tag::refguide[]
public static class Noop extends CollectionDomainEvent<Object, Object> {}
-
- // -- Doop class
-
+ // end::refguide[]
/**
* Convenience class meaning that an event <i>should</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event..
*/
+ // tag::refguide[]
public static class Doop extends CollectionDomainEvent<Object, Object> {}
-
-
- // -- constructor
+ // end::refguide[]
/**
* If used then the framework will set state via (non-API) setters.
@@ -66,52 +66,54 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
- // -- value
- private T value;
-
/**
* The proposed reference to either add or remove (per {@link #getOf()}), populated at {@link org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase#VALIDATE}
* and subsequent phases (is null for {@link org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase#HIDE hidden} and {@link org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase#DISABLE disable} phases).
*/
- public T getValue() {
- return value;
- }
- /**
- * Not API, set by the framework.
- */
- public void setValue(T value) {
- this.value = value;
- }
-
+ // tag::refguide[]
+ @Getter
+ private T value;
- // -- Of
public static enum Of {
+ // end::refguide[]
/**
* The collection is being accessed
* ({@link Phase#HIDE hide} and
* {@link Phase#DISABLE disable}) checks.
*/
+ // tag::refguide[]
ACCESS,
+
+ // end::refguide[]
/**
* The collection is being added to
* ({@link Phase#VALIDATE validity} check and
* {@link Phase#EXECUTED execution}).
*/
+ // tag::refguide[]
ADD_TO,
+
+ // end::refguide[]
/**
* The collection is being removed from
* ({@link Phase#VALIDATE validity} check and
* {@link Phase#EXECUTED execution}).
*/
+ // tag::refguide[]
REMOVE_FROM
+
}
+ @Getter
private Of of;
- public Of getOf() {
- return of;
+ // end::refguide[]
+ /**
+ * Not API, set by the framework.
+ */
+ public void setValue(T value) {
+ this.value = value;
}
-
/**
* Not API; updates from {@link Of#ACCESS} to either {@link Of#ADD_TO} or {@link Of#REMOVE_FROM} when hits the
* {@link org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase#VALIDATE validation phase}.
@@ -121,7 +123,6 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
}
-
private static final ToString<CollectionDomainEvent<?,?>> toString =
ObjectContracts.<CollectionDomainEvent<?,?>>
toString("source", CollectionDomainEvent::getSource)
@@ -136,4 +137,7 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
return toString.toString(this);
}
-}
\ No newline at end of file
+ // tag::refguide[]
+
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/domain/PropertyDomainEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/domain/PropertyDomainEvent.java
index a8649b4..405f4a5 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/domain/PropertyDomainEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/domain/PropertyDomainEvent.java
@@ -21,38 +21,38 @@ package org.apache.isis.applib.events.domain;
import org.apache.isis.applib.util.ObjectContracts;
import org.apache.isis.applib.util.ToString;
+import lombok.Getter;
+
+// tag::refguide[]
public abstract class PropertyDomainEvent<S,T> extends AbstractDomainEvent<S> {
- // -- Default class
+ // end::refguide[]
/**
* This class is the default for the
* {@link org.apache.isis.applib.annotation.Property#domainEvent()} annotation attribute. Whether this
* raises an event or not depends upon the <tt>isis.core.meta-model.annotation.property.domain-event.post-for-default</tt>
* configuration property.
*/
+ // tag::refguide[]
public static class Default extends PropertyDomainEvent<Object, Object> {}
-
- // -- Noop class
-
+ // end::refguide[]
/**
* Convenience class to use indicating that an event should <i>not</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event.
*/
+ // tag::refguide[]
public static class Noop extends PropertyDomainEvent<Object, Object> {}
-
- // -- Doop class
-
+ // end::refguide[]
/**
* Convenience class meaning that an event <i>should</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event..
*/
+ // tag::refguide[]
public static class Doop extends PropertyDomainEvent<Object, Object> {}
-
- // -- constructors
-
+ // end::refguide[]
/**
* If used then the framework will set state via (non-API) setters.
*
@@ -63,17 +63,25 @@ public abstract class PropertyDomainEvent<S,T> extends AbstractDomainEvent<S> {
public PropertyDomainEvent() {
}
-
- // -- oldValue
+ // end::refguide[]
+ /**
+ * The current (pre-modification) value of the property; populated at {@link org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase#VALIDATE} and subsequent phases
+ * (but null for {@link org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase#HIDE hidden} and {@link org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase#DISABLE disable} phases).
+ */
+ // tag::refguide[]
+ @Getter
private T oldValue;
+ // end::refguide[]
/**
- * The current (pre-modification) value of the property; populated at {@link org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase#VALIDATE} and subsequent phases
+ * The proposed (post-modification) value of the property; populated at {@link org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase#VALIDATE} and subsequent phases
* (but null for {@link org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase#HIDE hidden} and {@link org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase#DISABLE disable} phases).
*/
- public T getOldValue() {
- return oldValue;
- }
+ // tag::refguide[]
+ @Getter
+ private T newValue;
+
+ // end::refguide[]
/**
* Not API; for framework use only.
*/
@@ -81,16 +89,6 @@ public abstract class PropertyDomainEvent<S,T> extends AbstractDomainEvent<S> {
this.oldValue = oldValue;
}
-
- // -- newValue
- private T newValue;
- /**
- * The proposed (post-modification) value of the property; populated at {@link org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase#VALIDATE} and subsequent phases
- * (but null for {@link org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase#HIDE hidden} and {@link org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase#DISABLE disable} phases).
- */
- public T getNewValue() {
- return newValue;
- }
/**
* Not API; for framework use only.
*/
@@ -113,4 +111,7 @@ public abstract class PropertyDomainEvent<S,T> extends AbstractDomainEvent<S> {
return toString.toString(this);
}
-}
\ No newline at end of file
+ // tag::refguide[]
+
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/AbstractLifecycleEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/AbstractLifecycleEvent.java
index 2915043..33be455 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/AbstractLifecycleEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/AbstractLifecycleEvent.java
@@ -18,8 +18,9 @@
*/
package org.apache.isis.applib.events.lifecycle;
-import org.apache.isis.applib.events.domain.EventObjectBase;
+import org.apache.isis.applib.events.EventObjectBase;
+// tag::refguide[]
public abstract class AbstractLifecycleEvent<S> extends EventObjectBase<S> {
public AbstractLifecycleEvent() {
@@ -30,4 +31,5 @@ public abstract class AbstractLifecycleEvent<S> extends EventObjectBase<S> {
super(source);
}
-}
\ No newline at end of file
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectCreatedEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectCreatedEvent.java
index 061d5c1..1a2482e 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectCreatedEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectCreatedEvent.java
@@ -18,41 +18,44 @@
*/
package org.apache.isis.applib.events.lifecycle;
+// tag::refguide[]
public abstract class ObjectCreatedEvent<S> extends AbstractLifecycleEvent<S> {
- // -- Default class
+ // end::refguide[]
/**
* This class is the default for the
* {@link org.apache.isis.applib.annotation.DomainObject#createdLifecycleEvent()} annotation attribute. Whether this
* raises an event or not depends upon the <tt>isis.core.meta-model.annotation.domain-object.created-lifecycle-event.post-for-default</tt>
* configuration property.
*/
+ // tag::refguide[]
public static class Default extends ObjectCreatedEvent<Object> {}
-
- // -- Noop class
-
+ // end::refguide[]
/**
* Convenience class to use indicating that an event should <i>not</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event.
*/
+ // tag::refguide[]
public static class Noop extends ObjectCreatedEvent<Object> {}
-
- // -- Doop class
-
+ // end::refguide[]
/**
* Convenience class meaning that an event <i>should</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event..
*/
+ // tag::refguide[]
public static class Doop extends ObjectCreatedEvent<Object> {}
-
+ // end::refguide[]
public ObjectCreatedEvent() {
}
-
+
public ObjectCreatedEvent(final S source) {
super(source);
}
-}
\ No newline at end of file
+ // tag::refguide[]
+
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectLoadedEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectLoadedEvent.java
index e1713c7..acc5780 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectLoadedEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectLoadedEvent.java
@@ -18,43 +18,44 @@
*/
package org.apache.isis.applib.events.lifecycle;
+// tag::refguide[]
public abstract class ObjectLoadedEvent<S> extends AbstractLifecycleEvent<S> {
-
-
- // -- Default class
+ // end::refguide[]
/**
* This class is the default for the
* {@link org.apache.isis.applib.annotation.DomainObject#loadedLifecycleEvent()} annotation attribute. Whether this
* raises an event or not depends upon the <tt>isis.core.meta-model.annotation.domain-object.loaded-lifecycle-event.post-for-default</tt>
* configuration property.
*/
+ // tag::refguide[]
public static class Default extends ObjectLoadedEvent<Object> {}
-
- // -- Noop class
-
+ // end::refguide[]
/**
* Convenience class to use indicating that an event should <i>not</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event.
*/
+ // tag::refguide[]
public static class Noop extends ObjectLoadedEvent<Object> {}
-
- // -- Doop class
-
+ // end::refguide[]
/**
* Convenience class meaning that an event <i>should</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event..
*/
+ // tag::refguide[]
public static class Doop extends ObjectLoadedEvent<Object> {}
-
+ // end::refguide[]
public ObjectLoadedEvent() {
}
-
+
public ObjectLoadedEvent(final S source) {
super(source);
}
-}
\ No newline at end of file
+ // tag::refguide[]
+
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistedEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistedEvent.java
index 019f82b..cf364b6 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistedEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistedEvent.java
@@ -18,43 +18,45 @@
*/
package org.apache.isis.applib.events.lifecycle;
+// tag::refguide[]
public abstract class ObjectPersistedEvent<S> extends AbstractLifecycleEvent<S> {
-
-
- // -- Default class
+ // end::refguide[]
/**
* This class is the default for the
* {@link org.apache.isis.applib.annotation.DomainObject#persistedLifecycleEvent()} annotation attribute. Whether this
* raises an event or not depends upon the <tt>isis.core.meta-model.annotation.domain-object.persisted-lifecycle-event.post-for-default</tt>
* configuration property.
*/
+ // tag::refguide[]
public static class Default extends ObjectPersistedEvent<Object> {}
-
- // -- Noop class
-
+ // end::refguide[]
/**
* Convenience class to use indicating that an event should <i>not</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event.
*/
+ // tag::refguide[]
public static class Noop extends ObjectPersistedEvent<Object> {}
-
- // -- Doop class
-
+ // end::refguide[]
/**
* Convenience class meaning that an event <i>should</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event..
*/
+ // tag::refguide[]
public static class Doop extends ObjectPersistedEvent<Object> {}
+ // end::refguide[]
public ObjectPersistedEvent() {
}
-
+
public ObjectPersistedEvent(final S source) {
super(source);
}
-}
\ No newline at end of file
+ // tag::refguide[]
+
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistingEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistingEvent.java
index 27527f7..6f5c070 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistingEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistingEvent.java
@@ -18,37 +18,36 @@
*/
package org.apache.isis.applib.events.lifecycle;
+// tag::refguide[]
public abstract class ObjectPersistingEvent<S> extends AbstractLifecycleEvent<S> {
-
-
- // -- Default class
+ // end::refguide[]
/**
* This class is the default for the
* {@link org.apache.isis.applib.annotation.DomainObject#persistingLifecycleEvent()} annotation attribute. Whether this
* raises an event or not depends upon the <tt>isis.core.meta-model.annotation.domain-object.persisting-lifecycle-event.post-for-default</tt>
* configuration property.
*/
+ // tag::refguide[]
public static class Default extends ObjectPersistingEvent<Object> {}
-
- // -- Noop class
-
+ // end::refguide[]
/**
* Convenience class to use indicating that an event should <i>not</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event.
*/
+ // tag::refguide[]
public static class Noop extends ObjectPersistingEvent<Object> {}
-
- // -- Doop class
-
+ // end::refguide[]
/**
* Convenience class meaning that an event <i>should</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event..
*/
+ // tag::refguide[]
public static class Doop extends ObjectPersistingEvent<Object> {}
+ // end::refguide[]
public ObjectPersistingEvent() {
}
@@ -56,4 +55,7 @@ public abstract class ObjectPersistingEvent<S> extends AbstractLifecycleEvent<S>
super(source);
}
-}
\ No newline at end of file
+ // tag::refguide[]
+
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectRemovingEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectRemovingEvent.java
index eb606cf..6ad99af 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectRemovingEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectRemovingEvent.java
@@ -18,37 +18,36 @@
*/
package org.apache.isis.applib.events.lifecycle;
+// tag::refguide[]
public abstract class ObjectRemovingEvent<S> extends AbstractLifecycleEvent<S> {
-
-
- // -- Default class
+ // end::refguide[]
/**
* This class is the default for the
* {@link org.apache.isis.applib.annotation.DomainObject#removingLifecycleEvent()} annotation attribute. Whether this
* raises an event or not depends upon the <tt>isis.core.meta-model.annotation.domain-object.removing-lifecycle-event.post-for-default</tt>
* configuration property.
*/
+ // tag::refguide[]
public static class Default extends ObjectRemovingEvent<Object> {}
-
- // -- Noop class
-
+ // end::refguide[]
/**
* Convenience class to use indicating that an event should <i>not</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event.
*/
+ // tag::refguide[]
public static class Noop extends ObjectRemovingEvent<Object> {}
-
- // -- Doop class
-
+ // end::refguide[]
/**
* Convenience class meaning that an event <i>should</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event..
*/
+ // tag::refguide[]
public static class Doop extends ObjectRemovingEvent<Object> {}
+ // end::refguide[]
public ObjectRemovingEvent() {
}
@@ -57,4 +56,7 @@ public abstract class ObjectRemovingEvent<S> extends AbstractLifecycleEvent<S> {
super(source);
}
-}
\ No newline at end of file
+ // tag::refguide[]
+
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatedEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatedEvent.java
index 4cf4a48..4e2f080 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatedEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatedEvent.java
@@ -18,37 +18,36 @@
*/
package org.apache.isis.applib.events.lifecycle;
+// tag::refguide[]
public abstract class ObjectUpdatedEvent<S> extends AbstractLifecycleEvent<S> {
-
-
- // -- Default class
+ // end::refguide[]
/**
* This class is the default for the
* {@link org.apache.isis.applib.annotation.DomainObject#updatedLifecycleEvent()} annotation attribute. Whether this
* raises an event or not depends upon the <tt>isis.core.meta-model.annotation.domain-object.updated-lifecycle-event.post-for-default</tt>
* configuration property.
*/
+ // tag::refguide[]
public static class Default extends ObjectUpdatedEvent<Object> {}
-
- // -- Noop class
-
+ // end::refguide[]
/**
* Convenience class to use indicating that an event should <i>not</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event.
*/
+ // tag::refguide[]
public static class Noop extends ObjectUpdatedEvent<Object> {}
-
- // -- Doop class
-
+ // end::refguide[]
/**
* Convenience class meaning that an event <i>should</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event..
*/
+ // tag::refguide[]
public static class Doop extends ObjectUpdatedEvent<Object> {}
+ // end::refguide[]
public ObjectUpdatedEvent() {
}
@@ -57,4 +56,7 @@ public abstract class ObjectUpdatedEvent<S> extends AbstractLifecycleEvent<S> {
super(source);
}
-}
\ No newline at end of file
+ // tag::refguide[]
+
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatingEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatingEvent.java
index 8258ff9..c0a4813 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatingEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatingEvent.java
@@ -18,37 +18,36 @@
*/
package org.apache.isis.applib.events.lifecycle;
+// tag::refguide[]
public abstract class ObjectUpdatingEvent<S> extends AbstractLifecycleEvent<S> {
-
-
- // -- Default class
+ // end::refguide[]
/**
* This class is the default for the
* {@link org.apache.isis.applib.annotation.DomainObject#updatingLifecycleEvent()} annotation attribute. Whether this
* raises an event or not depends upon the <tt>isis.core.meta-model.annotation.domain-object.updating-lifecycle-event.post-for-default</tt>
* configuration property.
*/
+ // tag::refguide[]
public static class Default extends ObjectUpdatingEvent<Object> {}
-
- // -- Noop class
-
+ // end::refguide[]
/**
* Convenience class to use indicating that an event should <i>not</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event.
*/
+ // tag::refguide[]
public static class Noop extends ObjectUpdatingEvent<Object> {}
-
- // -- Doop class
-
+ // end::refguide[]
/**
* Convenience class meaning that an event <i>should</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event..
*/
+ // tag::refguide[]
public static class Doop extends ObjectUpdatingEvent<Object> {}
+ // end::refguide[]
public ObjectUpdatingEvent() {
}
@@ -57,4 +56,7 @@ public abstract class ObjectUpdatingEvent<S> extends AbstractLifecycleEvent<S> {
super(source);
}
-}
\ No newline at end of file
+ // tag::refguide[]
+
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/ui/AbstractUiEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/ui/AbstractUiEvent.java
index 72df250..b57be4a 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/ui/AbstractUiEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/ui/AbstractUiEvent.java
@@ -21,11 +21,12 @@ package org.apache.isis.applib.events.ui;
import java.util.HashMap;
import java.util.Map;
-import org.apache.isis.applib.events.domain.EventObjectBase;
+import org.apache.isis.applib.events.EventObjectBase;
+// tag::refguide[]
public abstract class AbstractUiEvent<S> extends EventObjectBase<S> {
- // -- constructors
+ // end::refguide[]
/**
* If used then the framework will set state via (non-API) setters.
*
@@ -38,7 +39,6 @@ public abstract class AbstractUiEvent<S> extends EventObjectBase<S> {
super(source);
}
- // -- userData
/**
* Provides a mechanism to pass data around.
*/
@@ -47,14 +47,17 @@ public abstract class AbstractUiEvent<S> extends EventObjectBase<S> {
/**
* Obtain user-data, as set by any other subscribers.
*/
+ // tag::refguide[]
public Object get(Object key) {
return userData.get(key);
}
/**
* Set user-data, for the use of other subscribers.
*/
+ // tag::refguide[]
public void put(Object key, Object value) {
userData.put(key, value);
}
-}
\ No newline at end of file
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/ui/CssClassUiEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/ui/CssClassUiEvent.java
index 7a10d94..a3ea0bf 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/ui/CssClassUiEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/ui/CssClassUiEvent.java
@@ -20,68 +20,70 @@ package org.apache.isis.applib.events.ui;
import org.apache.isis.applib.annotation.DomainObjectLayout;
+import lombok.Getter;
+import lombok.Setter;
+
/**
* Emitted for subscribers to obtain a cssClass hint (equivalent to the <tt>cssClass()</tt> supporting method or the {@link DomainObjectLayout#cssClass()} attribute).
*/
+// tag::refguide[]
public abstract class CssClassUiEvent<S> extends AbstractUiEvent<S> {
- // -- constructors
- /**
- * If used then the framework will set state via (non-API) setters.
- *
- */
- public CssClassUiEvent() {
- this(null);
- }
-
- public CssClassUiEvent(final S source) {
- super(source);
- }
-
- // -- Default class
+ // end::refguide[]
/**
* This class is the default for the
* {@link org.apache.isis.applib.annotation.DomainObjectLayout#cssClassUiEvent()} annotation attribute. Whether this
* raises an event or not depends upon the <tt>isis.core.meta-model.annotation.domain-object-layout.css-class-ui-event.post-for-default</tt>
* configuration property.
*/
+ // tag::refguide[]
public static class Default extends CssClassUiEvent<Object> {}
-
- // -- Noop class
-
+ // end::refguide[]
/**
* Convenience class to use indicating that an event should <i>not</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event.
*/
+ // tag::refguide[]
public static class Noop extends CssClassUiEvent<Object> {}
-
- // -- Doop class
-
+ // end::refguide[]
/**
* Convenience class meaning that an event <i>should</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event..
*/
+ // tag::refguide[]
public static class Doop extends CssClassUiEvent<Object> {}
+ // end::refguide[]
- // -- cssClass
- private String cssClass;
+ /**
+ * If used then the framework will set state via (non-API) setters.
+ *
+ */
+ public CssClassUiEvent() {
+ this(null);
+ }
+
+ public CssClassUiEvent(final S source) {
+ super(source);
+ }
/**
* The CSS class as provided by a subscriber using {@link #setCssClass(String)}.
*/
- public String getCssClass() {
- return cssClass;
- }
+ // tag::refguide[]
+ @Getter
+ private String cssClass;
+ // end::refguide[]
/**
* For subscribers to call to provide a CSS class for this object.
*/
+ // tag::refguide[]
public void setCssClass(final String cssClass) {
this.cssClass = cssClass;
}
-
-}
\ No newline at end of file
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/ui/LayoutUiEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/ui/LayoutUiEvent.java
index b267f5a..5804488 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/ui/LayoutUiEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/ui/LayoutUiEvent.java
@@ -22,71 +22,69 @@ import java.util.EventObject;
import org.apache.isis.applib.annotation.DomainObjectLayout;
+import lombok.Getter;
+
/**
* Emitted for subscribers to obtain a layout hint (equivalent to the <tt>layout()</tt> supporting method).
*/
+// tag::refguide[]
public abstract class LayoutUiEvent<S> extends AbstractUiEvent<S> {
- //region > constructors
- /**
- * If used then the framework will set state via (non-API) setters.
- *
- * <p>
- * Because the {@link EventObject} superclass prohibits a null source, a dummy value is temporarily used.
- * </p>
- */
- public LayoutUiEvent() {
- this(null);
- }
-
- public LayoutUiEvent(final S source) {
- super(source);
- }
-
- //endregion
-
- //region > Default class
+ // end::refguide[]
/**
* This class is the default for the
* {@link DomainObjectLayout#layoutUiEvent()} annotation attribute. Whether this
* raises an event or not depends upon the <tt>isis.core.meta-model.annotation.domain-object-layout.layout-ui-event.post-for-default</tt>
* configuration property.
*/
+ // tag::refguide[]
public static class Default extends LayoutUiEvent<Object> { }
- //endregion
-
- //region > Noop class
+ // end::refguide[]
/**
* Convenience class to use indicating that an event should <i>not</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event.
*/
+ // tag::refguide[]
public static class Noop extends LayoutUiEvent<Object> { }
- //endregion
-
- //region > Doop class
+ // end::refguide[]
/**
* Convenience class meaning that an event <i>should</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event..
*/
+ // tag::refguide[]
public static class Doop extends LayoutUiEvent<Object> { }
- //endregion
- //region > layout
- private String layout;
+ // end::refguide[]
+ /**
+ * If used then the framework will set state via (non-API) setters.
+ *
+ * <p>
+ * Because the {@link EventObject} superclass prohibits a null source, a dummy value is temporarily used.
+ * </p>
+ */
+ public LayoutUiEvent() {
+ this(null);
+ }
+
+ public LayoutUiEvent(final S source) {
+ super(source);
+ }
/**
* The name of the alternate layout to use, as provided by a subscriber using {@link #setLayout(String)}.
*/
- public String getLayout() {
- return layout;
- }
+ // tag::refguide[]
+ @Getter
+ private String layout;
+ // end::refguide[]
/**
* For subscribers to call to provide a layout for this object.
*/
+ // tag::refguide[]
public void setLayout(final String layout) { }
- //endregion
-}
\ No newline at end of file
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/ui/TitleUiEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/ui/TitleUiEvent.java
index 617be2b..88e6829 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/ui/TitleUiEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/ui/TitleUiEvent.java
@@ -22,40 +22,42 @@ import java.util.EventObject;
import org.apache.isis.applib.services.i18n.TranslatableString;
+import lombok.Getter;
+
/**
* Emitted for subscribers to obtain a cssClass hint (equivalent to the <tt>title()</tt> supporting method).
*/
+// tag::refguide[]
public abstract class TitleUiEvent<S> extends AbstractUiEvent<S> {
- // -- Default class
+ // end::refguide[]
/**
* This class is the default for the
* {@link org.apache.isis.applib.annotation.DomainObjectLayout#titleUiEvent()} annotation attribute. Whether this
* raises an event or not depends upon the <tt>isis.core.meta-model.annotation.domain-object-layout.title-ui-event.post-for-default</tt>
* configuration property.
*/
+ // tag::refguide[]
public static class Default extends TitleUiEvent<Object> {}
-
- // -- Noop class
-
+ // end::refguide[]
/**
* Convenience class to use indicating that an event should <i>not</i> be posted (irrespective of the configuration
* property seting for the {@link Default} event.
*/
+ // tag::refguide[]
public static class Noop extends TitleUiEvent<Object> {}
-
- // -- Doop class
-
+ // end::refguide[]
/**
* Convenience class meaning that an event <i>should</i> be posted (irrespective of the configuration
* property setting for the {@link Default} event..
*/
+ // tag::refguide[]
public static class Doop extends TitleUiEvent<Object> {}
+ // end::refguide[]
- // -- constructors
/**
* If used then the framework will set state via (non-API) setters.
*
@@ -72,10 +74,6 @@ public abstract class TitleUiEvent<S> extends AbstractUiEvent<S> {
}
-
- // -- title
- private String title;
-
/**
* The title as provided by a subscriber using {@link #setTitle(String)}.
*
@@ -83,21 +81,21 @@ public abstract class TitleUiEvent<S> extends AbstractUiEvent<S> {
* Note that a {@link #getTranslatableTitle()} will be used in preference, if available.
* </p>
*/
- public String getTitle() {
- return title;
- }
+ // tag::refguide[]
+ @Getter
+ private String title;
+ // end::refguide[]
/**
* For subscribers to call to provide a (non-translated) title for this object.
*/
+ // tag::refguide[]
public void setTitle(final String title) {
this.title = title;
}
- // -- translatableTitle
- private TranslatableString translatableTitle;
-
+ // end::refguide[]
/**
* The translatable (i18n) title as provided by a subscriber using {@link #setTranslatableTitle(TranslatableString)}.
*
@@ -106,16 +104,19 @@ public abstract class TitleUiEvent<S> extends AbstractUiEvent<S> {
* {@link #getTitle() non-translatable title}.
* </p>
*/
- public TranslatableString getTranslatableTitle() {
- return translatableTitle;
- }
+ // tag::refguide[]
+ @Getter
+ private TranslatableString translatableTitle;
/**
* For subscribers to call to provide a translatable (i18n) title for this object.
*/
+ // tag::refguide[]
public void setTranslatableTitle(final TranslatableString translatableTitle) {
this.translatableTitle = translatableTitle;
}
+ // tag::refguide[]
-}
\ No newline at end of file
+}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/graph/Edge.java b/api/applib/src/main/java/org/apache/isis/applib/graph/Edge.java
index 1650f5b..bd4c0f3 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/graph/Edge.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/graph/Edge.java
@@ -25,9 +25,12 @@ package org.apache.isis.applib.graph;
*
* @param <T> type constraint for values contained by this edge's vertices
*/
+// tag::refguide[]
public interface Edge<T> {
- public Vertex<T> getFrom();
- public Vertex<T> getTo();
+ Vertex<T> getFrom();
+
+ Vertex<T> getTo();
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/graph/SimpleEdge.java b/api/applib/src/main/java/org/apache/isis/applib/graph/SimpleEdge.java
index 3eba78a..3ba7003 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/graph/SimpleEdge.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/graph/SimpleEdge.java
@@ -27,6 +27,7 @@ import lombok.Value;
*
* @param <T> type constraint for values contained by this edge's vertices
*/
+// tag::refguide[]
@Value(staticConstructor = "of")
public class SimpleEdge<T> implements Edge<T> {
@@ -34,3 +35,4 @@ public class SimpleEdge<T> implements Edge<T> {
Vertex<T> to;
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/graph/Vertex.java b/api/applib/src/main/java/org/apache/isis/applib/graph/Vertex.java
index d2d09b0..58694f7 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/graph/Vertex.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/graph/Vertex.java
@@ -27,19 +27,16 @@ import java.util.stream.Stream;
*
* @param <T> type constraint for values contained by this vertex
*/
+// tag::refguide[]
public interface Vertex<T> {
- // -- VALUE
-
public T getValue();
- // -- EDGES
-
- public int getIncomingCount();
- public int getOutgoingCount();
-
- public Stream<Edge<T>> streamIncoming();
- public Stream<Edge<T>> streamOutgoing();
+ int getIncomingCount();
+ int getOutgoingCount();
+ Stream<Edge<T>> streamIncoming();
+ Stream<Edge<T>> streamOutgoing();
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/jaxbadapters/PersistentEntitiesAdapter.java b/api/applib/src/main/java/org/apache/isis/applib/jaxbadapters/PersistentEntitiesAdapter.java
index 087d748..a463c8d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/jaxbadapters/PersistentEntitiesAdapter.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/jaxbadapters/PersistentEntitiesAdapter.java
@@ -28,14 +28,19 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.bookmark.BookmarkService;
import org.apache.isis.schema.common.v2.OidsDto;
+import lombok.AccessLevel;
+import lombok.Getter;
import lombok.val;
+// tag::refguide[]
public class PersistentEntitiesAdapter extends XmlAdapter<OidsDto, List<Object>> {
- @Inject private BookmarkService bookmarkService;
-
+ @Inject @Getter(AccessLevel.PROTECTED)
+ private BookmarkService bookmarkService;
+
@Override
public List<Object> unmarshal(final OidsDto oidsDto) {
+ // end::refguide[]
List<Object> domainObjects = new ArrayList<>();
for (val oidDto : oidsDto.getOid()) {
@@ -44,10 +49,15 @@ public class PersistentEntitiesAdapter extends XmlAdapter<OidsDto, List<Object>>
domainObjects.add(domainObject);
}
return domainObjects;
+
+ // tag::refguide[]
+ // ...
}
@Override
public OidsDto marshal(final List<Object> domainObjects) {
+ // end::refguide[]
+
if(domainObjects == null) {
return null;
}
@@ -57,10 +67,10 @@ public class PersistentEntitiesAdapter extends XmlAdapter<OidsDto, List<Object>>
oidsDto.getOid().add(bookmark.toOidDto());
}
return oidsDto;
- }
- protected BookmarkService getBookmarkService() {
- return bookmarkService;
+ // tag::refguide[]
+ // ...
}
-
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/jaxbadapters/PersistentEntityAdapter.java b/api/applib/src/main/java/org/apache/isis/applib/jaxbadapters/PersistentEntityAdapter.java
index 67d2cef..5a2a99e 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/jaxbadapters/PersistentEntityAdapter.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/jaxbadapters/PersistentEntityAdapter.java
@@ -25,26 +25,35 @@ import org.apache.isis.schema.common.v2.OidDto;
import lombok.val;
+// tag::refguide[]
public class PersistentEntityAdapter extends XmlAdapter<OidDto, Object> {
@Inject private BookmarkService bookmarkService;
-
+
@Override
public Object unmarshal(final OidDto oidDto) throws Exception {
+ // end::refguide[]
val bookmark = Bookmark.from(oidDto);
-
return bookmarkService.lookup(bookmark);
+
+ // tag::refguide[]
+ // ...
}
@Override
public OidDto marshal(final Object domainObject) throws Exception {
+ // end::refguide[]
+
if(domainObject == null) {
return null;
}
val bookmark = bookmarkService.bookmarkForElseThrow(domainObject);
return bookmark.toOidDto();
+
+ // tag::refguide[]
+ // ...
}
-
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/query/Query.java b/api/applib/src/main/java/org/apache/isis/applib/query/Query.java
index c8ecc6e..02e6931 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/query/Query.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/query/Query.java
@@ -40,33 +40,45 @@ import org.apache.isis.applib.services.repository.RepositoryService;
* <b>Note:</b> that not every object store will necessarily support this
* interface. In particular, the in-memory object store does not. For this, you
* can use the {@link Predicate} interface to similar effect, for example in
- * {@link RepositoryService#allMatches(Class, Predicate, long...)}).
+ * {@link RepositoryService#allMatches(Class, Predicate, long, long)}).
*
* Note that the predicate is applied within the {@link RepositoryService}
* (ie client-side) rather than being pushed back to the object store.
*/
+// tag::refguide[]
public interface Query<T> extends Serializable {
+ // end::refguide[]
/**
* The {@link Class} of the objects returned by this query.
*/
- public Class<T> getResultType();
+ // tag::refguide[]
+ Class<T> getResultType();
+ // end::refguide[]
/**
* A human-readable representation of this query and its values.
*/
- public String getDescription();
+ // tag::refguide[]
+ String getDescription();
+ // end::refguide[]
/**
* The start index into the set table
+ *
* @return
*/
- public long getStart();
-
+ // tag::refguide[]
+ long getStart();
+ // end::refguide[]
/**
* The number of items to return, starting at {@link #getStart()}
+ *
* @return
*/
- public long getCount();
+ // tag::refguide[]
+ long getCount();
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/security/RoleMemento.java b/api/applib/src/main/java/org/apache/isis/applib/security/RoleMemento.java
index f9802fd..a220a2b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/security/RoleMemento.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/security/RoleMemento.java
@@ -21,8 +21,12 @@ package org.apache.isis.applib.security;
import org.apache.isis.applib.annotation.MemberOrder;
+import lombok.Getter;
+
+// tag::refguide[]
public final class RoleMemento {
+ // end::refguide[]
/**
* Creates a new role with the specified name. Description is left blank.
*/
@@ -44,29 +48,18 @@ public final class RoleMemento {
this.description = description;
}
- // {{ Identification
+ // tag::refguide[]
public String title() {
return name;
}
- // }}
-
- // {{ Name
- private final String name;
-
@MemberOrder(sequence = "1.1")
- public String getName() {
- return name;
- }
-
- // }}
+ @Getter
+ private final String name;
- // {{ Description
+ @MemberOrder(sequence = "1.2")
+ @Getter
private final String description;
- @MemberOrder(sequence = "1.2")
- public String getDescription() {
- return description;
- }
- // }}
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/security/UserMemento.java b/api/applib/src/main/java/org/apache/isis/applib/security/UserMemento.java
index 7b26047..bf3bb7a 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/security/UserMemento.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/security/UserMemento.java
@@ -25,13 +25,17 @@ import java.util.List;
import org.apache.isis.applib.annotation.MemberOrder;
+import lombok.Getter;
+import lombok.experimental.UtilityClass;
+
/**
* Details, obtained from the container, about the user and his roles.
* Read-only.
*/
+// tag::refguide[]
public final class UserMemento {
- // -- constructors
+ // end::refguide[]
/**
* Creates a new user with the specified name and no roles.
*/
@@ -57,44 +61,30 @@ public final class UserMemento {
this.roles.addAll(roles);
}
-
- // -- title
+ // tag::refguide[]
public String title() {
return name;
}
-
-
- // -- name, NameType
-
- // {{ (User) Name, isCurrentUser
- private final String name;
-
+ // end::refguide[]
/**
* The user's login name.
*/
+ // tag::refguide[]
@MemberOrder(sequence = "1.1")
- public String getName() {
- return name;
- }
-
- public static class NameType {
-
- private NameType() {}
-
- public static class Meta {
-
- public static final int MAX_LEN = 50;
-
- private Meta() {}
-
- }
-
- }
-
+ @Getter
+ private final String name;
+ // end::refguide[]
+ /**
+ * The roles associated with this user.
+ */
+ // tag::refguide[]
+ @Getter
+ @MemberOrder(sequence = "1.1")
+ private final List<RoleMemento> roles = new ArrayList<RoleMemento>();
- // -- isCurrentUser
+ // end::refguide[]
/**
* Determine if the specified name is this user.
*
@@ -109,19 +99,6 @@ public final class UserMemento {
return name.equals(userName);
}
-
-
- // -- roles
- private final List<RoleMemento> roles = new ArrayList<RoleMemento>();
-
- /**
- * The roles associated with this user.
- */
- @MemberOrder(sequence = "1.1")
- public List<RoleMemento> getRoles() {
- return roles;
- }
-
/**
* Determines if the user fulfills the specified role.
*
@@ -144,9 +121,6 @@ public final class UserMemento {
return false;
}
-
-
- // -- toString
@Override
public String toString() {
final StringBuilder buf = new StringBuilder();
@@ -156,6 +130,15 @@ public final class UserMemento {
return "User [name=" + getName() + ",roles=" + buf.toString() + "]";
}
+ @UtilityClass
+ public static class NameType {
+ @UtilityClass
+ public static class Meta {
+ public static final int MAX_LEN = 50;
+ }
+ }
+ // tag::refguide[]
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/HasUniqueId.java b/api/applib/src/main/java/org/apache/isis/applib/services/HasUniqueId.java
index 6dc058d..57245db 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/HasUniqueId.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/HasUniqueId.java
@@ -26,11 +26,15 @@ import java.util.UUID;
* and so can be associated together using a unique identifier.
*
*/
+// tag::refguide[]
public interface HasUniqueId {
+ // end::refguide[]
/**
* The unique identifier (a GUID) of the request/interaction/transaction.
*/
+ // tag::refguide[]
UUID getUniqueId();
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/HasUsername.java b/api/applib/src/main/java/org/apache/isis/applib/services/HasUsername.java
index dbdf815..7f7a240 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/HasUsername.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/HasUsername.java
@@ -26,8 +26,10 @@ package org.apache.isis.applib.services;
* Other services can then use this username as a means to contributed actions/collections to render such additional
* information relating to the activities of the user.
*/
+// tag::refguide[]
public interface HasUsername {
- public String getUsername();
+ String getUsername();
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/WithTransactionScope.java b/api/applib/src/main/java/org/apache/isis/applib/services/WithTransactionScope.java
index befeaa1..c066b22 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/WithTransactionScope.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/WithTransactionScope.java
@@ -25,6 +25,8 @@ package org.apache.isis.applib.services;
*
* TODO: We ought instead to use Spring's @TransactionScope rather than roll-our-own.
*/
+// tag::refguide[]
public interface WithTransactionScope {
void resetForNextTransaction();
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/metrics/MetricsService.java b/api/applib/src/main/java/org/apache/isis/applib/services/metrics/MetricsService.java
index 103621b..633610f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/metrics/MetricsService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/metrics/MetricsService.java
@@ -24,6 +24,7 @@ import org.apache.isis.schema.ixn.v2.MemberExecutionDto;
// tag::refguide[]
public interface MetricsService {
+ // end::refguide[]
/**
* The number of objects that have, so far in this request, been loaded from the database.
*
@@ -35,8 +36,10 @@ public interface MetricsService {
* Is captured within {@link MemberExecutionDto#getMetrics()} (accessible from {@link InteractionContext#getInteraction()}).
* </p>
*/
+ // tag::refguide[]
int numberObjectsLoaded();
+ // end::refguide[]
/**
* The number of objects that have, so far in this request, been dirtied/will need updating in the database); a
* good measure of the footprint of the interaction.
@@ -49,6 +52,7 @@ public interface MetricsService {
* Is captured within {@link MemberExecutionDto#getMetrics()} (accessible from {@link InteractionContext#getInteraction()}).
* </p>
*/
+ // tag::refguide[]
int numberObjectsDirtied();
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/publish/PublishedObjects.java b/api/applib/src/main/java/org/apache/isis/applib/services/publish/PublishedObjects.java
index c97656b..ebc2fcd 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/publish/PublishedObjects.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/publish/PublishedObjects.java
@@ -33,11 +33,8 @@ public interface PublishedObjects extends HasUniqueId, HasUsername {
ChangesDto getDto();
int getNumberLoaded();
-
int getNumberCreated();
-
int getNumberUpdated();
-
int getNumberDeleted();
int getNumberPropertiesModified();
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/publish/PublisherService.java b/api/applib/src/main/java/org/apache/isis/applib/services/publish/PublisherService.java
index 6e7f798..dea94e0 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/publish/PublisherService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/publish/PublisherService.java
@@ -29,11 +29,13 @@ import org.apache.isis.applib.util.schema.InteractionDtoUtils;
// tag::refguide[]
public interface PublisherService {
+ // end::refguide[]
/**
* Most implementations are expected to use {@link Interaction.Execution#getDto()} to create a serializable
* XML representation of the execution. The easiest way to do this is using {@link InteractionDtoUtils#newInteractionDto(Interaction.Execution)}. There is
* some flexibility here, though.
*/
+ // tag::refguide[]
void publish(final Interaction.Execution<?, ?> execution);
void publish(final PublishedObjects publishedObjects);
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java b/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
index 323869b..6b815b5 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
@@ -66,8 +66,8 @@ public interface QueryResultsCache {
void resetForNextTransaction();
-// end::refguide[]
-// tag::refguide-1[]
+ // end::refguide[]
+ // tag::refguide-1[]
class Key {
@Getter
@@ -77,6 +77,7 @@ public interface QueryResultsCache {
@Getter
private final Object[] keys;
+ // end::refguide-1[]
public Key(Class<?> callingClass, String methodName, Object... keys) {
this.callingClass = callingClass;
this.methodName = methodName;
@@ -129,16 +130,17 @@ public interface QueryResultsCache {
public String toString() {
return callingClass.getName() + "#" + methodName + Arrays.toString(keys);
}
+ // tag::refguide-1[]
}
-// end::refguide-1[]
+ // end::refguide-1[]
-// tag::refguide-2[]
+ // tag::refguide-2[]
@Data
class Value<T> {
private final T result;
}
-// end::refguide-2[]
+ // end::refguide-2[]
-// tag::refguide[]
+ // tag::refguide[]
}
// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java b/api/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java
index ca8fbff..45972aa 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java
@@ -52,6 +52,7 @@ public interface ServiceRegistry {
* @param qualifiers
* @return non-null
*/
+ // tag::refguide[]
<T> Can<T> select(Class<T> type, Annotation[] qualifiers);
/**
@@ -60,36 +61,54 @@ public interface ServiceRegistry {
* @param type
* @return non-null
*/
+ // tag::refguide[]
default <T> Can<T> select(final Class<T> type){
+ // end::refguide[]
+
return select(type, _Constants.emptyAnnotations);
+
+ // tag::refguide[]
+ // ...
}
+ // end::refguide[]
/**
* Streams all registered bean adapters implementing the requested type.
*/
+ // tag::refguide[]
default Stream<ManagedBeanAdapter> streamRegisteredBeansOfType(Class<?> requiredType) {
+ // end::refguide[]
+
return streamRegisteredBeans()
.filter(beanAdapter->beanAdapter.isCandidateFor(requiredType));
+
+ // tag::refguide[]
+ // ...
}
+ // end::refguide[]
/**
* Returns all bean adapters that have been registered.
*/
+ // tag::refguide[]
Stream<ManagedBeanAdapter> streamRegisteredBeans();
+ // end::refguide[]
/**
* Returns a registered bean of given {@code name}.
*
* @param id - corresponds to the ObjectSpecificationId of the bean's type
*/
+ // tag::refguide[]
Optional<ManagedBeanAdapter> lookupRegisteredBeanById(String id);
-
+ // end::refguide[]
/**
* Returns a registered bean of given {@code name}, or throws when no such bean.
*
* @param id - corresponds to the ObjectSpecificationId of the bean's type
*/
+ // tag::refguide[]
default ManagedBeanAdapter lookupRegisteredBeanByIdElseFail(String id) {
return lookupRegisteredBeanById(id).orElseThrow(
()->_Exceptions.unrecoverable(
@@ -98,14 +117,17 @@ public interface ServiceRegistry {
Optional<?> lookupBeanById(final String id);
+ // end::refguide[]
/**
* Returns a domain service implementing the requested type.
* <p>
* If this lookup is ambiguous, the service annotated with highest priority is returned.
* see {@link Priority}
*/
+ // tag::refguide[]
default <T> Optional<T> lookupService(final Class<T> serviceClass) {
-// end::refguide[]
+ // end::refguide[]
+
val bin = select(serviceClass);
if(bin.isEmpty()) {
return Optional.empty();
@@ -123,20 +145,25 @@ public interface ServiceRegistry {
bin.forEach(toMaxPrioReduction);
return toMaxPrioReduction.getResult();
-// tag::refguide[]
+
+ // tag::refguide[]
// ...
}
default <T> T lookupServiceElseFail(final Class<T> serviceClass) {
+ // end::refguide[]
+
return lookupService(serviceClass)
.orElseThrow(()->
new NoSuchElementException("Could not locate service of type '" + serviceClass + "'"));
+
+ // tag::refguide[]
+ // ...
}
+ // end::refguide[]
// -- PRIORITY ANNOTATION HANDLING
-// end::refguide[]
-// tag::refguide-1[]
class InstanceByPriorityComparator implements Comparator<Object> {
private static final InstanceByPriorityComparator INSTANCE =
@@ -172,8 +199,7 @@ public interface ServiceRegistry {
}
}
-// end::refguide-1[]
-// tag::refguide[]
+ // tag::refguide[]
}
// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/repository/EntityState.java b/api/applib/src/main/java/org/apache/isis/applib/services/repository/EntityState.java
index c48a974..26ed267 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/repository/EntityState.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/repository/EntityState.java
@@ -31,25 +31,23 @@ public enum EntityState {
not_Persistable,
persistable_Attached,
persistable_Detached,
- persistable_Destroyed
-
+ persistable_Destroyed,
+ // end::refguide[]
;
public boolean isPersistable() {
return this != not_Persistable;
}
-
public boolean isAttached() {
return this == persistable_Attached;
}
-
public boolean isDetached() {
return this == persistable_Detached;
}
-
public boolean isDestroyed() {
return this == persistable_Destroyed;
}
+ // tag::refguide[]
}
// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/repository/RepositoryService.java b/api/applib/src/main/java/org/apache/isis/applib/services/repository/RepositoryService.java
index ba39a0a..237b417 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/repository/RepositoryService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/repository/RepositoryService.java
@@ -32,55 +32,70 @@ import lombok.val;
// tag::refguide[]
public interface RepositoryService {
+ // end::refguide[]
/**
* Returns the EntityState of given {@code object}. Returns {@link EntityState#not_Persistable} for {@code object==null}.
* @param object
* @return (non-null)
* @since 2.0
*/
+ // tag::refguide[]
EntityState getEntityState(@Nullable Object object);
+ // end::refguide[]
/**
* Same as {@link org.apache.isis.applib.services.factory.FactoryService#detachedEntity(Class)}; provided as a
* convenience because instantiating and {@link #persist(Object) persisting} are often done together.
* @since 2.0
*/
+ // tag::refguide[]
<T> T detachedEntity(Class<T> ofType);
+ // end::refguide[]
/**
* Persist the specified object (or do nothing if already persistent).
*
* @see #isPersistent(Object)
*/
+ // tag::refguide[]
<T> T persist(T domainObject);
+ // end::refguide[]
/**
* Persist the specified object (or do nothing if already persistent) and flushes changes to the database.
*
* @see #persist(Object)
*/
+ // tag::refguide[]
<T> T persistAndFlush(T domainObject);
+ // end::refguide[]
/**
* Deletes the domain object but only if is attached.
*
* @param domainObject
*/
+ // tag::refguide[]
void remove(Object domainObject);
+ // end::refguide[]
/**
* Deletes the domain object but only if is persistent, and flushes changes to the database.
*
* @param domainObject
*/
+ // tag::refguide[]
void removeAndFlush(Object domainObject);
+ // end::refguide[]
/**
* As {@link #allInstances(Class, long, long)}, but but returning all instances rather than just those
* * within the specified range..
*/
+ // tag::refguide[]
<T> List<T> allInstances(Class<T> ofType);
+ // end::refguide[]
/**
* Returns all the instances of the specified type (including subtypes).
* If the optional range parameters are used, the dataset returned starts
@@ -105,14 +120,18 @@ public interface RepositoryService {
* @param <T>
* @return
*/
+ // tag::refguide[]
<T> List<T> allInstances(Class<T> ofType, long start, long count);
+ // end::refguide[]
/**
* As {@link #allMatches(Class, Predicate, long, long)}, but returning all instances rather than just those
* within the specified range.
*/
+ // tag::refguide[]
<T> List<T> allMatches(Class<T> ofType, Predicate<? super T> predicate);
+ // end::refguide[]
/**
* Returns all the instances of the specified type (including subtypes) that
* the predicate object accepts. If the optional range parameters are used, the
@@ -139,8 +158,10 @@ public interface RepositoryService {
* @param <T>
* @return
*/
+ // tag::refguide[]
<T> List<T> allMatches(Class<T> ofType, Predicate<? super T> predicate, long start, long count);
+ // end::refguide[]
/**
* Returns all the instances that match the given {@link Query}.
*
@@ -155,8 +176,10 @@ public interface RepositoryService {
* This method is the recommended way of querying for multiple instances.
* </p>
*/
+ // tag::refguide[]
<T> List<T> allMatches(Query<T> query);
+ // end::refguide[]
/**
* Find the only instance of the specified type (including subtypes) that
* has the specified title.
@@ -171,8 +194,10 @@ public interface RepositoryService {
* instances. Use {@link #uniqueMatch(Query)} for production code.
* </p>
*/
+ // tag::refguide[]
<T> Optional<T> uniqueMatch(Class<T> ofType, Predicate<T> predicate);
+ // end::refguide[]
/**
* Find the only instance that matches the provided query.
*
@@ -187,8 +212,10 @@ public interface RepositoryService {
*
* @see #firstMatch(Query)
*/
+ // tag::refguide[]
<T> Optional<T> uniqueMatch(Query<T> query);
+ // end::refguide[]
/**
* Find the only instance of the specified type (including subtypes) that
* has the specified title.
@@ -203,8 +230,10 @@ public interface RepositoryService {
* instances. Use {@link #firstMatch(Query)} for production code.
* </p>
*/
+ // tag::refguide[]
<T> Optional<T> firstMatch(Class<T> ofType, Predicate<T> predicate);
+ // end::refguide[]
/**
* Find the only instance that matches the provided query, if any..
*
@@ -215,8 +244,9 @@ public interface RepositoryService {
*
* @see #firstMatch(Query)
*/
+ // tag::refguide[]
<T> Optional<T> firstMatch(Query<T> query);
-// end::refguide[]
+ // end::refguide[]
// -- DEPRECATIONS
@@ -254,6 +284,7 @@ public interface RepositoryService {
return entityState.isDestroyed();
}
-// tag::refguide[]
+ // tag::refguide[]
+
}
// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/routing/RoutingService.java b/api/applib/src/main/java/org/apache/isis/applib/services/routing/RoutingService.java
index 6ec398d..a4574b3 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/routing/RoutingService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/routing/RoutingService.java
@@ -27,7 +27,6 @@ import org.apache.isis.applib.annotation.Programmatic;
public interface RoutingService {
boolean canRoute(Object original);
-
Object route(Object original);
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java b/api/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java
index 02afebe..a8dbd20 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java
@@ -55,7 +55,7 @@ import lombok.extern.log4j.Log4j2;
@Log4j2
public class Scratchpad {
-// end::refguide[]
+ // end::refguide[]
public Scratchpad(){
log.debug("init");
}
@@ -70,29 +70,37 @@ public class Scratchpad {
log.debug("preDestroy");
}
-// tag::refguide[]
+ // end::refguide[]
/**
* Provides a mechanism for each object being acted upon to pass
* data to the next object.
*/
+ // tag::refguide[]
private final Map<Object, Object> userData = _Maps.newHashMap();
+ // end::refguide[]
/**
* Obtain user-data, as set by a previous object being acted upon.
*/
+ // tag::refguide[]
public Object get(Object key) {
return userData.get(key);
}
+
+ // end::refguide[]
/**
* Set user-data, for the use of a subsequent object being acted upon.
*/
+ // tag::refguide[]
public void put(Object key, Object value) {
userData.put(key, value);
}
+ // end::refguide[]
/**
* Clear any user data.
*/
+ // tag::refguide[]
public void clear() {
userData.clear();
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/session/SessionLoggingService.java b/api/applib/src/main/java/org/apache/isis/applib/services/session/SessionLoggingService.java
index 7260ae0..31acc4e 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/session/SessionLoggingService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/session/SessionLoggingService.java
@@ -41,10 +41,9 @@ public interface SessionLoggingService {
}
void log(Type type, String username, Date date, CausedBy causedBy, String sessionId);
+ // end::refguide[]
-// end::refguide[]
-
-// tag::refguide-1[]
+ // tag::refguide-1[]
class Stderr implements SessionLoggingService {
@Override
@@ -65,7 +64,9 @@ public interface SessionLoggingService {
System.err.println(logMessage);
}
}
-// end::refguide-1[]
-// tag::refguide[]
+ // end::refguide-1[]
+
+ // tag::refguide[]
+
}
// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoService.java b/api/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoService.java
index 335c5d5..afbbad5 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoService.java
@@ -27,51 +27,64 @@ import org.apache.isis.applib.services.user.UserService;
/**
* Intended only for use by fixture scripts and integration tests, allows a block of code to execute
- * while the {@link org.apache.isis.applib.DomainObjectContainer container}'s
- * {@link UserService#getUser() getUser()} method returns the specified user/role as the effective user.
+ * while the {@link UserService}'s {@link UserService#getUser() getUser()} method returns the specified user/role
+ * as the effective user.
*/
// tag::refguide[]
public interface SudoService {
+ // end::refguide[]
/**
* If included in the list of roles, then will disable security checks (can view and use all object members).
*/
+ // tag::refguide[]
String ACCESS_ALL_ROLE = SudoService.class.getName() + "#accessAll";
+ // end::refguide[]
/**
- * Executes the supplied block, with the {@link DomainObjectContainer} returning the specified user.
+ * Executes the supplied block, with the {@link UserService} returning the specified user.
*
* <p>
* The roles of this user will be the same as the currently logged-in user.
* </p>
*/
+ // tag::refguide[]
void sudo(String username, final Runnable runnable);
+ // end::refguide[]
/**
- * Executes the supplied block, with the {@link DomainObjectContainer} returning the specified user.
+ * Executes the supplied block, with the {@link UserService} returning the specified user.
*
* <p>
* The roles of this user will be the same as the currently logged-in user.
* </p>
*/
+ // tag::refguide[]
<T> T sudo(String username, final Callable<T> callable);
+ // end::refguide[]
/**
- * Executes the supplied block, with the {@link DomainObjectContainer} returning the specified user with the specified roles.
+ * Executes the supplied block, with the {@link UserService} returning the specified user with the specified roles.
*/
+ // tag::refguide[]
void sudo(String username, List<String> roles, final Runnable runnable);
+ // end::refguide[]
/**
- * Executes the supplied block, with the {@link DomainObjectContainer} returning the specified user with the specified roles.
+ * Executes the supplied block, with the {@link UserService} returning the specified user with the specified roles.
*/
+ // tag::refguide[]
<T> T sudo(String username, List<String> roles, final Callable<T> callable);
-// end::refguide[]
-// tag::refguide-1[]
+ // end::refguide[]
+
+ // tag::refguide-1[]
/**
* Allows the {@link SudoService} to notify other services/components that the effective user has been changed.
*/
interface Spi {
+
+ // end::refguide-1[]
/**
* Any implementation of the {@link SudoService} should call this method on all implementations of the
* {@link Spi} service whenever {@link SudoService#sudo(String, List, Callable)} (or its overloads)
@@ -81,15 +94,14 @@ public interface SudoService {
* Modelled after Shiro security's <a href="https://shiro.apache.org/static/1.2.6/apidocs/org/apache/shiro/subject/Subject.html#runAs-org.apache.shiro.subject.PrincipalCollection-">runAs</a> support.
* </p>
*/
- @Programmatic
+ // tag::refguide-1[]
void runAs(String username, List<String> roles);
- /**
- *
- */
void releaseRunAs();
}
-// end::refguide-1[]
-// tag::refguide[]
+ // end::refguide-1[]
+
+ // tag::refguide[]
+
}
// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerService.java b/api/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerService.java
index 17b7150..15ba710 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerService.java
@@ -28,9 +28,11 @@ import org.apache.isis.applib.annotation.ViewModel;
// tag::refguide[]
public interface SwaggerService {
-// end::refguide[]
-// tag::refguide-1[]
+ // end::refguide[]
+ // tag::refguide[]
enum Visibility {
+
+ // end::refguide[]
/**
* Specification for use by third-party clients, ie public use.
*
@@ -39,7 +41,10 @@ public interface SwaggerService {
* of {@link NatureOfService#VIEW_REST_ONLY}.
* </p>
*/
+ // tag::refguide[]
PUBLIC,
+
+ // end::refguide[]
/**
* Specification for use only by internally-managed clients, ie private internal use.
*
@@ -48,23 +53,28 @@ public interface SwaggerService {
* </p>
*/
PRIVATE,
+
+ // end::refguide[]
/**
* As {@link #PRIVATE}, also including any prototype actions (where {@link Action#restrictTo()} set to
* {@link RestrictTo#PROTOTYPING}).
*/
- PRIVATE_WITH_PROTOTYPING;
+ PRIVATE_WITH_PROTOTYPING
+ // end::refguide[]
+ ;
public boolean isPublic() {
return this == PUBLIC;
}
+ // tag::refguide[]
+
}
-// end::refguide-1[]
-// tag::refguide[]
enum Format {
JSON,
- YAML;
-// end::refguide[]
+ YAML
+ // end::refguide[]
+ ;
/**
* Implementation note: not using subclasses, otherwise the key in translations.po becomes more complex.
*/
@@ -75,7 +85,7 @@ public interface SwaggerService {
return "application/yaml";
}
}
-// tag::refguide[]
+ // tag::refguide[]
}
String generateSwaggerSpec(final Visibility visibility, final Format format);
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderService.java b/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderService.java
index e2586d3..3c73edc 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderService.java
@@ -42,8 +42,5 @@ public interface TableColumnOrderService {
final Class<?> collectionType,
final List<String> propertyIds);
-// end::refguide[]
- // tag::refguide[]
-
}
// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/title/TitleService.java b/api/applib/src/main/java/org/apache/isis/applib/services/title/TitleService.java
index 3b5ab71..38e4e6f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/title/TitleService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/title/TitleService.java
@@ -22,16 +22,20 @@ package org.apache.isis.applib.services.title;
// tag::refguide[]
public interface TitleService {
+ // end::refguide[]
/**
* Return the title of the object, as rendered in the UI by the
* Isis viewers.
*/
+ // tag::refguide[]
String titleOf(Object domainObject);
+ // end::refguide[]
/**
* Return the icon name of the object, as rendered in the UI by the
* Isis viewers.
*/
+ // tag::refguide[]
String iconNameOf(Object domainObject);
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingService.java b/api/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingService.java
index 3a2e053..219d9f9 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingService.java
@@ -29,6 +29,7 @@ public interface UrlEncodingService extends EncoderDecoder {
@Override
String encode(final byte[] bytes);
+
@Override
byte[] decode(String str);
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/user/UserService.java b/api/applib/src/main/java/org/apache/isis/applib/services/user/UserService.java
index 73682c2..5a6e855 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/user/UserService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/user/UserService.java
@@ -24,9 +24,11 @@ import org.apache.isis.applib.security.UserMemento;
// tag::refguide[]
public interface UserService {
+ // end::refguide[]
/**
* Get the details about the current user.
*/
+ // tag::refguide[]
UserMemento getUser();
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/userprof/UserProfileService.java b/api/applib/src/main/java/org/apache/isis/applib/services/userprof/UserProfileService.java
index e4934fa..57a7415 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/userprof/UserProfileService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/userprof/UserProfileService.java
@@ -31,6 +31,7 @@ import org.apache.isis.applib.annotation.Programmatic;
// tag::refguide[]
public interface UserProfileService {
+ // end::refguide[]
/**
* Used as the menu name of the {@link org.apache.isis.applib.annotation.DomainServiceLayout.MenuBar#TERTIARY tertiary}
* "Me" menu bar.
@@ -39,6 +40,7 @@ public interface UserProfileService {
* If returns <tt>null</tt>, then the current user name is used instead.
* </p>
*/
+ // tag::refguide[]
String userProfileName();
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/userreg/EmailNotificationService.java b/api/applib/src/main/java/org/apache/isis/applib/services/userreg/EmailNotificationService.java
index 3d1a859..1e118b1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/userreg/EmailNotificationService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/userreg/EmailNotificationService.java
@@ -35,18 +35,18 @@ import org.apache.isis.applib.services.userreg.events.PasswordResetEvent;
* </p>
*/
// tag::refguide[]
-public interface EmailNotificationService extends Serializable {
-
- @PostConstruct
- void init() ;
+public interface EmailNotificationService
+ extends Serializable {
boolean send(EmailRegistrationEvent ev);
boolean send(PasswordResetEvent ev);
+ // end::refguide[]
/**
* Whether this service has been configured and thus available for use.
*/
+ // tag::refguide[]
boolean isConfigured();
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/userreg/UserDetails.java b/api/applib/src/main/java/org/apache/isis/applib/services/userreg/UserDetails.java
index 2e1f642..167a599 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/userreg/UserDetails.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/userreg/UserDetails.java
@@ -27,7 +27,8 @@ import lombok.Setter;
* A model object for the signup page
*/
// tag::refguide[]
-public class UserDetails implements Serializable {
+public class UserDetails
+ implements Serializable {
private static final long serialVersionUID = -7308102332765149525L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrapperFactory.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrapperFactory.java
index 494215a..e903e32 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrapperFactory.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrapperFactory.java
@@ -29,6 +29,7 @@ import org.apache.isis.core.commons.collections.ImmutableEnumSet;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
+import lombok.experimental.UtilityClass;
/**
* Provides the ability to "wrap" of a domain object such that it can
@@ -71,67 +72,85 @@ import lombok.RequiredArgsConstructor;
// tag::refguide[]
public interface WrapperFactory {
-// end::refguide[]
-// tag::refguide-1[]
+ // end::refguide[]
/**
* Whether interactions with the wrapper are actually passed onto the
* underlying domain object.
*
- * @see WrapperFactory#wrap(Object, ExecutionMode)
+ * @see WrapperFactory#wrap(Object, ImmutableEnumSet)
*/
+ // tag::refguide-1[]
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
enum ExecutionMode {
+ // end::refguide-1[]
/**
* Skip all business rules.
*/
+ // tag::refguide-1[]
SKIP_RULE_VALIDATION,
+ // end::refguide-1[]
/**
* Skip execution.
*/
+ // tag::refguide-1[]
SKIP_EXECUTION,
+ // end::refguide-1[]
/**
* Don't fail fast, swallow any exception during validation or execution.
*/
+ // tag::refguide-1[]
SWALLOW_EXCEPTIONS,
- ;
+ }
+ // end::refguide-1[]
- // -- PRESET ENUM SETS
+ // tag::refguide-2[]
+ @UtilityClass
+ class ExecutionModes {
+ // end::refguide-2[]
/**
* Validate all business rules and then execute. May throw exceptions in order to fail fast.
*/
+ // tag::refguide-2[]
public static final ImmutableEnumSet<ExecutionMode> EXECUTE = ImmutableEnumSet.noneOf(ExecutionMode.class);
+ // end::refguide-2[]
/**
* Skip all business rules and then execute, does throw an exception if execution fails.
*/
- public static final ImmutableEnumSet<ExecutionMode> SKIP_RULES = ImmutableEnumSet.of(SKIP_RULE_VALIDATION);
+ // tag::refguide-2[]
+ public static final ImmutableEnumSet<ExecutionMode> SKIP_RULES = ImmutableEnumSet.of(ExecutionMode.SKIP_RULE_VALIDATION);
+ // end::refguide-2[]
/**
* Validate all business rules but do not execute, throw an exception if validation
* fails.
*/
- public static final ImmutableEnumSet<ExecutionMode> NO_EXECUTE = ImmutableEnumSet.of(SKIP_EXECUTION);
+ // tag::refguide-2[]
+ public static final ImmutableEnumSet<ExecutionMode> NO_EXECUTE = ImmutableEnumSet.of(ExecutionMode.SKIP_EXECUTION);
+ // end::refguide-2[]
/**
* Validate all business rules and then execute, but don't throw an exception if validation
* or execution fails.
*/
- public static final ImmutableEnumSet<ExecutionMode> TRY = ImmutableEnumSet.of(SWALLOW_EXCEPTIONS);
+ // tag::refguide-2[]
+ public static final ImmutableEnumSet<ExecutionMode> TRY = ImmutableEnumSet.of(ExecutionMode.SWALLOW_EXCEPTIONS);
+ // end::refguide-2[]
/**
* Skips all steps.
* @since 2.0
*/
- public static final ImmutableEnumSet<ExecutionMode> NOOP = ImmutableEnumSet.of(SKIP_RULE_VALIDATION, SKIP_EXECUTION);
+ // tag::refguide-2[]
+ public static final ImmutableEnumSet<ExecutionMode> NOOP = ImmutableEnumSet.of(ExecutionMode.SKIP_RULE_VALIDATION, ExecutionMode.SKIP_EXECUTION);
}
-// end::refguide-1[]
-// tag::refguide[]
+ // end::refguide-2[]
/**
* Provides the "wrapper" of the underlying domain object.
@@ -140,31 +159,41 @@ public interface WrapperFactory {
* If the object has (see {@link #isWrapper(Object)} already been wrapped),
* then should just return the object back unchanged.
*/
+ // tag::refguide[]
<T> T wrap(T domainObject);
+ // end::refguide[]
/**
* {@link #wrap(Object) wraps} a {@link FactoryService#mixin(Class, Object) mixin}.
*/
+ // tag::refguide[]
<T> T wrapMixin(Class<T> mixinClass, Object mixedIn);
+ // end::refguide[]
/**
- * Convenience method for {@link #wrap(Object, ExecutionMode)} with {@link ExecutionMode#TRY},
+ * Convenience method for {@link #wrap(Object, ImmutableEnumSet)} with {@link ExecutionModes#TRY},
* to make this feature more discoverable.
*/
+ // tag::refguide[]
<T> T wrapTry(T domainObject);
+ // end::refguide[]
/**
- * Convenience method for {@link #wrap(Object, ExecutionMode)} with {@link ExecutionMode#NO_EXECUTE},
+ * Convenience method for {@link #wrap(Object, ImmutableEnumSet)} with {@link ExecutionModes#NO_EXECUTE},
* to make this feature more discoverable.
*/
+ // tag::refguide[]
<T> T wrapNoExecute(T domainObject);
+ // end::refguide[]
/**
- * Convenience method for {@link #wrap(Object, ExecutionMode)} with {@link ExecutionMode#SKIP_RULES},
+ * Convenience method for {@link #wrap(Object, ImmutableEnumSet)} with {@link ExecutionModes#SKIP_RULES},
* to make this feature more discoverable.
*/
+ // tag::refguide[]
<T> T wrapSkipRules(T domainObject);
+ // end::refguide[]
/**
* Same as {@link #wrap(Object)}, except the actual execution occurs only if
* the <tt>execute</tt> parameter indicates.
@@ -173,9 +202,10 @@ public interface WrapperFactory {
* Otherwise, will do all the validations (raise exceptions as required
* etc.), but doesn't modify the model.
*/
+ // tag::refguide[]
<T> T wrap(T domainObject, ImmutableEnumSet<ExecutionMode> mode);
-
+ // end::refguide[]
/**
* Obtains the underlying domain object, if wrapped.
*
@@ -183,9 +213,10 @@ public interface WrapperFactory {
* If the object {@link #isWrapper(Object) is not wrapped}, then
* should just return the object back unchanged.
*/
+ // tag::refguide[]
<T> T unwrap(T possibleWrappedDomainObject);
-
+ // end::refguide[]
/**
* Whether the supplied object has been wrapped.
*
@@ -194,9 +225,14 @@ public interface WrapperFactory {
* - object that might or might not be a wrapper.
* @return
*/
+ // tag::refguide[]
<T> boolean isWrapper(T possibleWrappedDomainObject);
+ // end::refguide[]
+
+ //
// -- ASYNC WRAPPING
+ //
/**
* Returns a {@link AsyncWrap} bound to the provided {@code domainObject},
@@ -208,20 +244,29 @@ public interface WrapperFactory {
*
* @since 2.0
*/
+ // tag::refguide[]
<T> AsyncWrap<T> async(T domainObject, ImmutableEnumSet<ExecutionMode> mode);
+ // end::refguide[]
/**
- * Shortcut for {@link #async(Object, EnumSet)} using execution mode
- * {@link ExecutionMode#EXECUTE}.
+ * Shortcut for {@link #async(Object, ImmutableEnumSet)} using execution mode
+ * {@link ExecutionModes#EXECUTE}.
* @param <T>
* @param domainObject
*
* @since 2.0
*/
+ // tag::refguide[]
default <T> AsyncWrap<T> async(T domainObject) {
- return async(domainObject, ExecutionMode.EXECUTE);
+ // end::refguide[]
+
+ return async(domainObject, ExecutionModes.EXECUTE);
+
+ // tag::refguide[]
+ // ...
}
+ // end::refguide[]
/**
* Returns a {@link AsyncWrap} bound to the provided {@code mixinClass},
* to prepare for type-safe asynchronous action execution.
@@ -233,29 +278,43 @@ public interface WrapperFactory {
*
* @since 2.0
*/
+ // tag::refguide[]
<T> AsyncWrap<T> asyncMixin(Class<T> mixinClass, Object mixedIn, ImmutableEnumSet<ExecutionMode> mode);
+ // end::refguide[]
/**
- * Shortcut for {@link #asyncMixin(Class, Object, EnumSet)} using execution mode
- * {@link ExecutionMode#EXECUTE}.
+ * Shortcut for {@link #asyncMixin(Class, Object, ImmutableEnumSet)} using execution mode
+ * {@link ExecutionModes#EXECUTE}.
* @param <T>
* @param mixinClass
* @param mixedIn
*
* @since 2.0
*/
+ // tag::refguide[]
default <T> AsyncWrap<T> asyncMixin(Class<T> mixinClass, Object mixedIn) {
- return asyncMixin(mixinClass, mixedIn, ExecutionMode.EXECUTE);
+ // end::refguide[]
+
+ return asyncMixin(mixinClass, mixedIn, ExecutionModes.EXECUTE);
+
+ // tag::refguide[]
+ // ...
}
+ // end::refguide[]
+
+ //
// -- ITERACTION EVENT HANDLING
+ //
/**
* All {@link InteractionListener}s that have been registered using
* {@link #addInteractionListener(InteractionListener)}.
*/
+ // tag::refguide[]
List<InteractionListener> getListeners();
+ // end::refguide[]
/**
* Registers an {@link InteractionListener}, to be notified of interactions
* on all wrappers.
@@ -269,8 +328,10 @@ public interface WrapperFactory {
* @param listener
* @return
*/
+ // tag::refguide[]
boolean addInteractionListener(InteractionListener listener);
+ // end::refguide[]
/**
* Remove an {@link InteractionListener}, to no longer be notified of
* interactions on wrappers.
@@ -284,6 +345,7 @@ public interface WrapperFactory {
* @param listener
* @return
*/
+ // tag::refguide[]
boolean removeInteractionListener(InteractionListener listener);
void notifyListeners(InteractionEvent ev);
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrappingObject.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrappingObject.java
index 6e12f63..9c936cf 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrappingObject.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/WrappingObject.java
@@ -27,8 +27,10 @@ import org.apache.isis.core.commons.collections.ImmutableEnumSet;
* Implemented by all objects that have been viewed as per
* {@link org.apache.isis.applib.services.wrapper.WrapperFactory#wrap(Object)}.
*/
+// tag::refguide[]
public interface WrappingObject {
+ // end::refguide[]
/**
* Programmatic equivalent of invoking save for a transient object .
*
@@ -37,8 +39,10 @@ public interface WrappingObject {
* intended to reduce the risk of a collision.
* </p>
*/
+ // tag::refguide[]
void __isis_save();
+ // end::refguide[]
/**
* Provide access to the underlying, wrapped object.
*
@@ -56,17 +60,22 @@ public interface WrappingObject {
* <b>NOTE: there is a string-literal reference to this name
* <tt>DomainObjectInvocationHandler</tt>, so it should not be changed.</b>.
*/
+ // tag::refguide[]
Object __isis_wrapped();
+ // end::refguide[]
/**
* The {@link EnumSet<WrapperFactory.ExecutionMode> execution mode}
* with which this wrapper was
- * {@link WrapperFactory#wrap(Object, EnumSet) created}.
+ * {@link WrapperFactory#wrap(Object, ImmutableEnumSet) created}.
*
* <p>
* NOTE: domain classes may not have a method with this name. The <tt>__isis_</tt> prefix is
* intended to reduce the risk of a collision.
* </p>
*/
+ // tag::refguide[]
ImmutableEnumSet<WrapperFactory.ExecutionMode> __isis_executionMode();
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/InteractionEvent.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/InteractionEvent.java
index 50d3f48..ea74096 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/InteractionEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/InteractionEvent.java
@@ -22,7 +22,7 @@ package org.apache.isis.applib.services.wrapper.events;
import java.util.List;
import org.apache.isis.applib.Identifier;
-import org.apache.isis.applib.events.domain.EventObjectBase;
+import org.apache.isis.applib.events.EventObjectBase;
/**
* <i>Supported only by {@link org.apache.isis.applib.services.wrapper.WrapperFactory} service, </i>
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/xactn/Transaction.java b/api/applib/src/main/java/org/apache/isis/applib/services/xactn/Transaction.java
index 257a64d..7ba0a5f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/xactn/Transaction.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/xactn/Transaction.java
@@ -29,6 +29,7 @@ public interface Transaction {
TransactionId getId();
+ // end::refguide[]
/**
* Flush all changes to the object store.
*
@@ -41,6 +42,7 @@ public interface Transaction {
* Equivalent to {@link TransactionService#flushTransaction()}.
* </p>
*/
+ // tag::refguide[]
void flush();
TransactionState getTransactionState();
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionId.java b/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionId.java
index 9353115..8536f13 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionId.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionId.java
@@ -24,22 +24,28 @@ import org.apache.isis.applib.services.HasUniqueId;
import lombok.Data;
+// tag::refguide[]
@Data(staticConstructor = "of")
public final class TransactionId implements HasUniqueId {
private final UUID uniqueId;
+ // end::refguide[]
/**
- * The {@link HasUniqueId#getUniqueId()} is (as of 1.13.0) actually an identifier for the request/
- * interaction, and there can actually be multiple transactions within such a request/interaction.
+ * The {@link HasUniqueId#getUniqueId()} is actually an identifier for the request/
+ * interaction, and there can actually be multiple transactions within such a request/interaction.
* The sequence (0-based) is used to distinguish such.
*/
+ // tag::refguide[]
private final int sequence;
- private static final TransactionId EMPTY = TransactionId.of(UUID.fromString("0000-00-00-00-000000"), 0);
+ // end::refguide[]
+ private static final TransactionId EMPTY = TransactionId.of(UUID.fromString("0000-00-00-00-000000"), 0);
public static TransactionId empty() {
return EMPTY;
}
+ // tag::refguide[]
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionService.java b/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionService.java
index 4c1e19c..27264a9 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionService.java
@@ -27,13 +27,17 @@ import java.util.function.Supplier;
// tag::refguide[]
public interface TransactionService {
+ // end::refguide[]
/**
- * When called within an existing transactional boundary returns an unique id,
+ * When called within an existing transactional boundary returns the unique identifier to the transaction,
* {@code null} otherwise.
+ *
* @return nullable
*/
+ // tag::refguide[]
TransactionId currentTransactionId();
+ // end::refguide[]
/**
* Flush all changes to the object store.
*
@@ -41,43 +45,51 @@ public interface TransactionService {
* Occasionally useful to ensure that newly persisted domain objects
* are flushed to the database prior to a subsequent repository query.
* </p>
- *
- * <p>
- * Equivalent to {@link Transaction#flush()} (with {@link Transaction} obtained using {@link #currentTransaction()}).
- * </p>
*/
+ // tag::refguide[]
void flushTransaction();
+ // end::refguide[]
/**
- * Generally this is equivalent to using {@link #currentTransaction()} and {@link Transaction#getTransactionState()}.
- * However, if there is no current transaction, then this will return {@link TransactionState#NONE}.
+ * @return - the state of the current transaction. If there is no current transaction, then returns {@link TransactionState#NONE}.
*/
+ // tag::refguide[]
TransactionState currentTransactionState();
+ // end::refguide[]
/**
* Runs given {@code task} within an existing transactional boundary, or in the absence of such a
* boundary creates a new one.
+ *
* @param task
*/
+ // tag::refguide[]
void executeWithinTransaction(Runnable task);
+ // end::refguide[]
/**
* Runs given {@code task} within an existing transactional boundary, or in the absence of such a
* boundary creates a new one.
+ *
* @param task
*/
+ // tag::refguide[]
<T> T executeWithinTransaction(Supplier<T> task);
+ // end::refguide[]
/**
* Runs given {@code task} within its own (new) transactional boundary.
* @param task
*/
+ // tag::refguide[]
void executeWithinNewTransaction(Runnable task);
+ // end::refguide[]
/**
* Runs given {@code task} within its own (new) transactional boundary.
* @param task
*/
+ // tag::refguide[]
<T> T executeWithinNewTransaction(Supplier<T> task);
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionState.java b/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionState.java
index 187ed7d..d1be4e4 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionState.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionState.java
@@ -18,19 +18,27 @@
*/
package org.apache.isis.applib.services.xactn;
+// tag::refguide[]
public enum TransactionState {
+ // end::refguide[]
/**
* No transaction exists.
*/
+ // tag::refguide[]
NONE,
+
+ // end::refguide[]
/**
* Started, still in progress.
* <p/>
* <p/>
* May flush, commit or abort.
*/
+ // tag::refguide[]
IN_PROGRESS,
+
+ // end::refguide[]
/**
* Started, but has hit an exception.
* <p/>
@@ -41,21 +49,31 @@ public enum TransactionState {
* <p/>
* Similar to <tt>setRollbackOnly</tt> in EJBs.
*/
+ // tag::refguide[]
MUST_ABORT,
+
+ // end::refguide[]
/**
* Completed, having successfully committed.
* <p/>
* <p/>
* May not flush or abort or commit (will throw {@link IllegalStateException}).
*/
+ // tag::refguide[]
COMMITTED,
+
+ // end::refguide[]
/**
* Completed, having aborted.
* <p/>
* <p/>
* May not flush, commit or abort (will throw {@link IllegalStateException}).
*/
- ABORTED;
+ // tag::refguide[]
+ ABORTED
+
+ // end::refguide[]
+ ;
private TransactionState() {
}
@@ -91,4 +109,8 @@ public enum TransactionState {
public boolean mustAbort() {
return this == MUST_ABORT;
}
+
+ // tag::refguide[]
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/xmlsnapshot/XmlSnapshotService.java b/api/applib/src/main/java/org/apache/isis/applib/services/xmlsnapshot/XmlSnapshotService.java
index 0621a0a..88e6bd9 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/xmlsnapshot/XmlSnapshotService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/xmlsnapshot/XmlSnapshotService.java
@@ -35,8 +35,8 @@ import org.apache.isis.applib.annotation.Programmatic;
// tag::refguide[]
public interface XmlSnapshotService {
-// end::refguide[]
-// tag::refguide-1[]
+ // end::refguide[]
+ // tag::refguide-1[]
interface Snapshot {
Document getXmlDocument();
Document getXsdDocument();
@@ -44,17 +44,17 @@ public interface XmlSnapshotService {
String getXmlDocumentAsString();
String getXsdDocumentAsString();
}
-// end::refguide-1[]
+ // end::refguide-1[]
-// tag::refguide-2[]
+ // tag::refguide-2[]
interface Builder {
void includePath(final String path);
void includePathAndAnnotation(final String path, final String annotation);
XmlSnapshotService.Snapshot build();
}
-// end::refguide-2[]
+ // end::refguide-2[]
-// tag::refguide-3[]
+ // tag::refguide-3[]
class Exception extends RuntimeException {
private static final long serialVersionUID = 1L;
@@ -75,32 +75,40 @@ public interface XmlSnapshotService {
super(cause);
}
}
-// end::refguide-3[]
+ // end::refguide-3[]
-// tag::refguide[]
+ // tag::refguide[]
XmlSnapshotService.Snapshot snapshotFor(final Object domainObject);
XmlSnapshotService.Builder builderFor(final Object domainObject);
+ // end::refguide[]
/**
* Convenience to convert xml string (eg as obtained by {@link Snapshot#getXmlDocumentAsString()} or
* {@link Snapshot#getXsdDocumentAsString()}) back into a {@link Document W3C Document}.
*/
+ // tag::refguide[]
Document asDocument(String xmlStr);
+ // end::refguide[]
/**
* Convenience method to extract value of an XML element, based on its type.
*/
+ // tag::refguide[]
<T> T getChildElementValue(final Element el, final String tagname, final Class<T> expectedCls);
+ // end::refguide[]
/**
* Convenience method to walk XML document.
*/
+ // tag::refguide[]
Element getChildElement(final Element el, final String tagname);
+ // end::refguide[]
/**
* Convenience method to obtain value of child text node.
*/
+ // tag::refguide[]
String getChildTextValue(final Element el);
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/snapshot/SnapshottableWithInclusions.java b/api/applib/src/main/java/org/apache/isis/applib/snapshot/SnapshottableWithInclusions.java
index 2a3802e..bb70ec9 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/snapshot/SnapshottableWithInclusions.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/snapshot/SnapshottableWithInclusions.java
@@ -28,10 +28,15 @@ import org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotService;
* snapshot is to be created using the {@link XmlSnapshotService}, indicating
* paths to be {@link XmlSnapshotService.Snapshot#} automatically include additional paths within the snapshot.
*/
+// tag::refguide[]
public interface SnapshottableWithInclusions {
+ // end::refguide[]
/**
* Paths to include in the snapshot.
*/
+ // tag::refguide[]
List<String> snapshotInclusions();
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/spec/AbstractSpecification2.java b/api/applib/src/main/java/org/apache/isis/applib/spec/AbstractSpecification2.java
index 7bd193f..2036587 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/spec/AbstractSpecification2.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/spec/AbstractSpecification2.java
@@ -40,6 +40,8 @@ import org.apache.isis.core.commons.internal.base._Casts;
* Implementation note: inspired by (borrowed code from) Hamcrest's
* <tt>TypeSafeMatcher</tt>.
*/
+// tag::refguide[]
+// end::refguide[]
public abstract class AbstractSpecification2<T> implements Specification2 {
public enum TypeChecking {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/spec/Specification.java b/api/applib/src/main/java/org/apache/isis/applib/spec/Specification.java
index d52c2c2..f08d788 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/spec/Specification.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/spec/Specification.java
@@ -23,11 +23,16 @@ package org.apache.isis.applib.spec;
* An implementation of the <i>Specification</i> pattern, as described in Eric
* Evans' <i>Domain Driven Design</i>, p224.
*/
+// tag::refguide[]
public interface Specification {
+ // end::refguide[]
/**
* If <tt>null</tt> then satisfied, otherwise is reason why the
* specification is not satisfied.
*/
- public String satisfies(Object obj);
+ // tag::refguide[]
+ String satisfies(Object obj);
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/spec/Specification2.java b/api/applib/src/main/java/org/apache/isis/applib/spec/Specification2.java
index c4d8233..6b391b1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/spec/Specification2.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/spec/Specification2.java
@@ -29,10 +29,15 @@ import org.apache.isis.applib.services.i18n.TranslatableString;
* it will never be called by the framework.
* </p>
*/
+// tag::refguide[]
public interface Specification2 extends Specification {
+ // end::refguide[]
/**
* If <tt>null</tt> then satisfied, otherwise is the reason (as a {@link TranslatableString} translatable string) as to why the specification is not satisfied.
*/
- public TranslatableString satisfiesTranslatable(Object obj);
+ // tag::refguide[]
+ TranslatableString satisfiesTranslatable(Object obj);
+
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationAnd.java b/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationAnd.java
index df97725..d66e00f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationAnd.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationAnd.java
@@ -43,6 +43,7 @@ import org.apache.isis.applib.util.ReasonBuffer;
* @see SpecificationOr
* @see SpecificationNot
*/
+// tag::refguide[]
public abstract class SpecificationAnd implements Specification {
private final Specification[] specifications;
@@ -62,3 +63,4 @@ public abstract class SpecificationAnd implements Specification {
}
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationNot.java b/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationNot.java
index a8af79f..64ffffa 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationNot.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationNot.java
@@ -44,6 +44,7 @@ package org.apache.isis.applib.spec;
* @see SpecificationAnd
* @see SpecificationOr
*/
+// tag::refguide[]
public abstract class SpecificationNot implements Specification {
private final Specification specification;
@@ -58,3 +59,4 @@ public abstract class SpecificationNot implements Specification {
return satisfies != null ? null : "not satisfied";
}
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationOr.java b/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationOr.java
index 1e14584..62029f5 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationOr.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationOr.java
@@ -43,6 +43,7 @@ import org.apache.isis.applib.util.ReasonBuffer;
* @see SpecificationAnd
* @see SpecificationNot
*/
+// tag::refguide[]
public abstract class SpecificationOr implements Specification {
private final Specification[] specifications;
@@ -62,7 +63,8 @@ public abstract class SpecificationOr implements Specification {
}
buf.append(reasonNotSatisfiedIfAny);
}
- return buf.getReason(); // may be null if all were satisfied.
+ return buf.getReason(); // will be non-null if none were satisfied.
}
}
+// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/types/DescriptionType.java b/api/applib/src/main/java/org/apache/isis/applib/types/DescriptionType.java
index 86f008f..048147b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/types/DescriptionType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/types/DescriptionType.java
@@ -18,16 +18,14 @@
*/
package org.apache.isis.applib.types;
-public class DescriptionType {
+import lombok.experimental.UtilityClass;
- private DescriptionType() {}
+@UtilityClass
+public class DescriptionType {
+ @UtilityClass
public static class Meta {
-
public static final int MAX_LEN = 254;
-
- private Meta() {}
-
}
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/types/MemberIdentifierType.java b/api/applib/src/main/java/org/apache/isis/applib/types/MemberIdentifierType.java
index 4e65cab..da151fc 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/types/MemberIdentifierType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/types/MemberIdentifierType.java
@@ -24,6 +24,8 @@ import java.util.UUID;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.command.Command;
+import lombok.experimental.UtilityClass;
+
/**
* As per {@link Command#getMemberIdentifier()} and {@link org.apache.isis.applib.services.audit.AuditerService#audit(UUID, int, String, Bookmark, String, String, String, String, String, Timestamp)}.
*/
@@ -32,12 +34,8 @@ public class MemberIdentifierType {
private MemberIdentifierType() {
}
+ @UtilityClass
public static class Meta {
-
public static final int MAX_LEN = 255;
-
- private Meta() {
- }
-
}
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/types/TargetActionType.java b/api/applib/src/main/java/org/apache/isis/applib/types/TargetActionType.java
index 3da8d53..c9a6ce6 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/types/TargetActionType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/types/TargetActionType.java
@@ -24,19 +24,17 @@ import java.util.UUID;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.command.Command;
+import lombok.experimental.UtilityClass;
+
/**
* A user-friendly name of an action, as per {@link Command#getTargetAction()}, {@link org.apache.isis.applib.services.audit.AuditerService#audit(UUID, int, String, Bookmark, String, String, String, String, String, Timestamp)}.
*/
+@UtilityClass
public class TargetActionType {
- private TargetActionType() {}
-
+ @UtilityClass
public static class Meta {
-
public static final int MAX_LEN = 50;
-
- private Meta() {}
-
}
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/types/TargetClassType.java b/api/applib/src/main/java/org/apache/isis/applib/types/TargetClassType.java
index f0cccfe..b955bc8 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/types/TargetClassType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/types/TargetClassType.java
@@ -24,19 +24,17 @@ import java.util.UUID;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.command.Command;
+import lombok.experimental.UtilityClass;
+
/**
* A user-friendly name of a class, as per {@link Command#getTargetClass()}, {@link org.apache.isis.applib.services.audit.AuditerService#audit(UUID, int, String, Bookmark, String, String, String, String, String, Timestamp)}.
*/
+@UtilityClass
public class TargetClassType {
- private TargetClassType() {}
-
+ @UtilityClass
public static class Meta {
-
public static final int MAX_LEN = 50;
-
- private Meta() {}
-
}
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/Enums.java b/api/applib/src/main/java/org/apache/isis/applib/util/Enums.java
index d2d3129..9f342ba 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/Enums.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/Enums.java
@@ -23,9 +23,10 @@ import java.util.stream.Collectors;
import org.apache.isis.core.commons.internal.base._Strings;
-public final class Enums {
+import lombok.experimental.UtilityClass;
- private Enums(){}
+@UtilityClass
+public final class Enums {
public static String getFriendlyNameOf(Enum<?> anEnum) {
return getFriendlyNameOf(anEnum.name());
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/JaxbUtil.java b/api/applib/src/main/java/org/apache/isis/applib/util/JaxbUtil.java
index ae8f8a1..f2919f0 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/JaxbUtil.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/JaxbUtil.java
@@ -35,6 +35,7 @@ import org.apache.isis.core.commons.internal.collections._Maps;
import org.apache.isis.core.commons.internal.resources._Resources;
import lombok.val;
+import lombok.experimental.UtilityClass;
/**
@@ -46,10 +47,9 @@ import lombok.val;
* (non-ASF)
* </p>
*/
+@UtilityClass
public class JaxbUtil {
- private JaxbUtil(){}
-
// -- READ
public static <T> T fromXml(
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java b/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java
index 4a6956c..028aa33 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java
@@ -30,6 +30,8 @@ import org.apache.isis.core.commons.internal.base._Strings;
import lombok.val;
+// tag::refguide[]
+// end::refguide[]
public final class Blob implements NamedWithMimeType {
/**
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/Clob.java b/api/applib/src/main/java/org/apache/isis/applib/value/Clob.java
index f7311a4..e1baa9d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/Clob.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/Clob.java
@@ -29,6 +29,8 @@ import org.apache.isis.core.commons.internal.base._Strings;
import lombok.val;
+// tag::refguide[]
+// end::refguide[]
public final class Clob implements NamedWithMimeType {
private static final long serialVersionUID = 8694189924062378527L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/Image.java b/api/applib/src/main/java/org/apache/isis/applib/value/Image.java
index e282895..63df43c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/Image.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/Image.java
@@ -26,6 +26,8 @@ import org.apache.isis.applib.annotation.Value;
/**
* Represents an image.
*/
+// tag::refguide[]
+// end::refguide[]
@Value(semanticsProviderName = "org.apache.isis.core.metamodel.facets.value.image.ImageValueSemanticsProvider")
public class Image implements Serializable {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/LocalResourcePath.java b/api/applib/src/main/java/org/apache/isis/applib/value/LocalResourcePath.java
index 915bc2b..a0eb7c6 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/LocalResourcePath.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/LocalResourcePath.java
@@ -31,6 +31,8 @@ import lombok.NonNull;
/**
* Represents a local resource path, typically a relative path originating at this web-app's root or context-root.
*/
+// tag::refguide[]
+// end::refguide[]
@Value(semanticsProviderName = "org.apache.isis.core.metamodel.facets.value.localrespath.LocalResourcePathValueSemanticsProvider")
public final class LocalResourcePath implements Serializable {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/Markup.java b/api/applib/src/main/java/org/apache/isis/applib/value/Markup.java
index c70d337..9b45652 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/Markup.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/Markup.java
@@ -27,6 +27,8 @@ import org.apache.isis.applib.annotation.Value;
* Immutable value type holding pre-rendered HTML.
*
*/
+// tag::refguide[]
+// end::refguide[]
@Value(semanticsProviderName = "org.apache.isis.core.metamodel.facets.value.markup.MarkupValueSemanticsProvider")
public class Markup implements Serializable {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java b/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java
index 796dc7e..19e01a7 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java
@@ -28,6 +28,8 @@ import org.apache.isis.core.commons.collections.Can;
import lombok.Getter;
+// tag::refguide[]
+// end::refguide[]
public interface NamedWithMimeType extends Serializable {
public String getName();
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/Password.java b/api/applib/src/main/java/org/apache/isis/applib/value/Password.java
index 01a8435..fe536dd 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/Password.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/Password.java
@@ -24,6 +24,8 @@ import java.util.Objects;
import org.apache.isis.applib.annotation.Value;
+// tag::refguide[]
+// end::refguide[]
@Value(semanticsProviderName = "org.apache.isis.core.metamodel.facets.value.password.PasswordValueSemanticsProvider")
@lombok.Value
public class Password implements Serializable {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java
index eba843c..ac6056f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/DomainEventHelper.java
@@ -130,7 +130,7 @@ public class DomainEventHelper {
if(objectAction != null) {
// should always be the case...
- event.setActionSemantics(objectAction.getSemantics());
+ event.setSemantics(objectAction.getSemantics());
val parameters = objectAction.getParameters();
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/transaction/ChangedObjectsService.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/transaction/ChangedObjectsService.java
index 8535c05..63d2177 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/transaction/ChangedObjectsService.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/transaction/ChangedObjectsService.java
@@ -54,9 +54,10 @@ import lombok.extern.log4j.Log4j2;
@Qualifier("Default")
@RequestScoped
@Log4j2
+// tag::refguide[]
public class ChangedObjectsService implements WithTransactionScope {
-// end::refguide[]
+ // end::refguide[]
public ChangedObjectsService() {
log.debug("init");
}
@@ -71,7 +72,6 @@ public class ChangedObjectsService implements WithTransactionScope {
log.debug("preDestroy");
}
-// tag::refguide[]
/**
* Used for auditing: this contains the pre- values of every property of every object enlisted.
*
@@ -80,6 +80,7 @@ public class ChangedObjectsService implements WithTransactionScope {
* the actual differences.
* </p>
*/
+ // tag::refguide[]
private final Map<AdapterAndProperty, PreAndPostValues> enlistedObjectProperties = _Maps.newLinkedHashMap();
/**
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/userreg/EmailNotificationServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/userreg/EmailNotificationServiceDefault.java
index fb57286..0b2144c 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/userreg/EmailNotificationServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/userreg/EmailNotificationServiceDefault.java
@@ -75,7 +75,6 @@ public class EmailNotificationServiceDefault implements EmailNotificationService
/**
* Loads responsive email templates borrowed from http://zurb.com/ink/templates.php (Basic)
*/
- @Override
@PostConstruct
public void init() {
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/AsyncWrapDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/AsyncWrapDefault.java
index d8f986f..a76ee78 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/AsyncWrapDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/AsyncWrapDefault.java
@@ -94,14 +94,14 @@ class AsyncWrapDefault<T> implements AsyncWrap<T> {
if(shouldValidate()) {
// do validation synchronous (with the calling thread)
- val proxy_validateOnly = wrapper.wrap(domainObject, ExecutionMode.NO_EXECUTE);
+ val proxy_validateOnly = wrapper.wrap(domainObject, WrapperFactory.ExecutionModes.NO_EXECUTE);
action.call(proxy_validateOnly);
}
if(shouldExecute()) {
// to also trigger domain events, we need a proxy, but validation (if required)
// was already done above
- val proxy_executeOnly = wrapper.wrap(domainObject, ExecutionMode.SKIP_RULES);
+ val proxy_executeOnly = wrapper.wrap(domainObject, WrapperFactory.ExecutionModes.SKIP_RULES);
return submit(()->action.call(proxy_executeOnly));
}
@@ -114,14 +114,14 @@ class AsyncWrapDefault<T> implements AsyncWrap<T> {
if(shouldValidate()) {
// do validation synchronous (with the calling thread)
- val proxy_validateOnly = wrapper.wrap(domainObject, ExecutionMode.NO_EXECUTE);
+ val proxy_validateOnly = wrapper.wrap(domainObject, WrapperFactory.ExecutionModes.NO_EXECUTE);
action.call(proxy_validateOnly, arg1);
}
if(shouldExecute()) {
// to also trigger domain events, we need a proxy, but validation (if required)
// was already done above
- val proxy_executeOnly = wrapper.wrap(domainObject, ExecutionMode.SKIP_RULES);
+ val proxy_executeOnly = wrapper.wrap(domainObject, WrapperFactory.ExecutionModes.SKIP_RULES);
return submit(()->action.call(proxy_executeOnly, arg1));
}
@@ -133,14 +133,14 @@ class AsyncWrapDefault<T> implements AsyncWrap<T> {
if(shouldValidate()) {
// do validation synchronous (with the calling thread)
- val proxy_validateOnly = wrapper.wrap(domainObject, ExecutionMode.NO_EXECUTE);
+ val proxy_validateOnly = wrapper.wrap(domainObject, WrapperFactory.ExecutionModes.NO_EXECUTE);
action.call(proxy_validateOnly, arg1, arg2);
}
if(shouldExecute()) {
// to also trigger domain events, we need a proxy, but validation (if required)
// was already done above
- val proxy_executeOnly = wrapper.wrap(domainObject, ExecutionMode.SKIP_RULES);
+ val proxy_executeOnly = wrapper.wrap(domainObject, WrapperFactory.ExecutionModes.SKIP_RULES);
return submit(()->action.call(proxy_executeOnly, arg1, arg2));
}
@@ -154,14 +154,14 @@ class AsyncWrapDefault<T> implements AsyncWrap<T> {
if(shouldValidate()) {
// do validation synchronous (with the calling thread)
- val proxy_validateOnly = wrapper.wrap(domainObject, ExecutionMode.NO_EXECUTE);
+ val proxy_validateOnly = wrapper.wrap(domainObject, WrapperFactory.ExecutionModes.NO_EXECUTE);
action.call(proxy_validateOnly, arg1, arg2, arg3);
}
if(shouldExecute()) {
// to also trigger domain events, we need a proxy, but validation (if required)
// was already done above
- val proxy_executeOnly = wrapper.wrap(domainObject, ExecutionMode.SKIP_RULES);
+ val proxy_executeOnly = wrapper.wrap(domainObject, WrapperFactory.ExecutionModes.SKIP_RULES);
return submit(()->action.call(proxy_executeOnly, arg1, arg2, arg3));
}
@@ -175,14 +175,14 @@ class AsyncWrapDefault<T> implements AsyncWrap<T> {
if(shouldValidate()) {
// do validation synchronous (with the calling thread)
- val proxy_validateOnly = wrapper.wrap(domainObject, ExecutionMode.NO_EXECUTE);
+ val proxy_validateOnly = wrapper.wrap(domainObject, WrapperFactory.ExecutionModes.NO_EXECUTE);
action.call(proxy_validateOnly, arg1, arg2, arg3, arg4);
}
if(shouldExecute()) {
// to also trigger domain events, we need a proxy, but validation (if required)
// was already done above
- val proxy_executeOnly = wrapper.wrap(domainObject, ExecutionMode.SKIP_RULES);
+ val proxy_executeOnly = wrapper.wrap(domainObject, WrapperFactory.ExecutionModes.SKIP_RULES);
return submit(()->action.call(proxy_executeOnly, arg1, arg2, arg3, arg4));
}
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault.java
index 182b7b4..2949494 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault.java
@@ -133,22 +133,22 @@ public class WrapperFactoryDefault implements WrapperFactory {
@Override
public <T> T wrap(T domainObject) {
- return wrap(domainObject, ExecutionMode.EXECUTE);
+ return wrap(domainObject, ExecutionModes.EXECUTE);
}
@Override
public <T> T wrapTry(T domainObject) {
- return wrap(domainObject, ExecutionMode.TRY);
+ return wrap(domainObject, ExecutionModes.TRY);
}
@Override
public <T> T wrapNoExecute(T domainObject) {
- return wrap(domainObject, ExecutionMode.NO_EXECUTE);
+ return wrap(domainObject, ExecutionModes.NO_EXECUTE);
}
@Override
public <T> T wrapSkipRules(T domainObject) {
- return wrap(domainObject, ExecutionMode.SKIP_RULES);
+ return wrap(domainObject, ExecutionModes.SKIP_RULES);
}
@Override
diff --git a/core/runtimeservices/src/test/java/org/apache/isis/core/metamodel/commons/internal/reflection/ReflectTest.java b/core/runtimeservices/src/test/java/org/apache/isis/core/metamodel/commons/internal/reflection/ReflectTest.java
index 164f7d2..4c13e64 100644
--- a/core/runtimeservices/src/test/java/org/apache/isis/core/metamodel/commons/internal/reflection/ReflectTest.java
+++ b/core/runtimeservices/src/test/java/org/apache/isis/core/metamodel/commons/internal/reflection/ReflectTest.java
@@ -31,6 +31,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.services.jaxb.JaxbServiceDefault;
+import org.apache.isis.core.commons.collections.Can;
import org.apache.isis.core.commons.internal.collections._Sets;
import org.apache.isis.core.commons.internal.reflection._Reflect.InterfacePolicy;
import org.apache.isis.core.runtimeservices.user.UserServiceDefault;
@@ -98,11 +99,15 @@ class ReflectTest {
}
+ @Programmatic
+ public void annotationLookupTestMethod(final String username, final List<String> roles) {
+ }
+
@Test
void annotationLookup() throws NoSuchMethodException, SecurityException {
- Class<?> type = UserServiceDefault.SudoServiceSpi.class;
- Method method = type.getMethod("runAs", new Class[] {String.class, List.class});
+ Class<?> type = getClass();
+ Method method = type.getMethod("annotationLookupTestMethod", new Class[] {String.class, List.class});
Programmatic annot = getAnnotation(method, Programmatic.class, true, true);
diff --git a/core/runtimeservices/src/test/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefaultTest.java b/core/runtimeservices/src/test/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefaultTest.java
index b1d36ff..6b54786 100644
--- a/core/runtimeservices/src/test/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefaultTest.java
+++ b/core/runtimeservices/src/test/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefaultTest.java
@@ -98,7 +98,7 @@ public class WrapperFactoryDefaultTest {
wrapperFactory.wrap(domainObject);
assertThat(createProxyCalledWithDomainObject, is(domainObject));
- assertThat(createProxyCalledWithMode, is(WrapperFactory.ExecutionMode.EXECUTE));
+ assertThat(createProxyCalledWithMode, is(WrapperFactory.ExecutionModes.EXECUTE));
}
@@ -106,10 +106,10 @@ public class WrapperFactoryDefaultTest {
public void wrap_ofWrapped_sameMode_returnsUnchanged() throws Exception {
// given
final DomainObject wrappedObject = new DomainObject();
- final DomainObject domainObject = new WrappedDomainObject(wrappedObject, WrapperFactory.ExecutionMode.EXECUTE);
+ final DomainObject domainObject = new WrappedDomainObject(wrappedObject, WrapperFactory.ExecutionModes.EXECUTE);
// when
- final DomainObject wrappingObject = wrapperFactory.wrap(domainObject, WrapperFactory.ExecutionMode.EXECUTE);
+ final DomainObject wrappingObject = wrapperFactory.wrap(domainObject, WrapperFactory.ExecutionModes.EXECUTE);
// then
assertThat(wrappingObject, is(domainObject));
@@ -120,15 +120,15 @@ public class WrapperFactoryDefaultTest {
public void wrap_ofWrapped_differentMode_delegates_to_createProxy() throws Exception {
// given
final DomainObject wrappedObject = new DomainObject();
- final DomainObject domainObject = new WrappedDomainObject(wrappedObject, WrapperFactory.ExecutionMode.EXECUTE);
+ final DomainObject domainObject = new WrappedDomainObject(wrappedObject, WrapperFactory.ExecutionModes.EXECUTE);
// when
- final DomainObject wrappingObject = wrapperFactory.wrap(domainObject, WrapperFactory.ExecutionMode.SKIP_RULES);
+ final DomainObject wrappingObject = wrapperFactory.wrap(domainObject, WrapperFactory.ExecutionModes.SKIP_RULES);
// then
assertThat(wrappingObject, is(not(domainObject)));
assertThat(createProxyCalledWithDomainObject, is(wrappedObject));
- assertThat(createProxyCalledWithMode, is(WrapperFactory.ExecutionMode.SKIP_RULES));
+ assertThat(createProxyCalledWithMode, is(WrapperFactory.ExecutionModes.SKIP_RULES));
}
}
\ No newline at end of file
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/auditing/AuditerServiceTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/auditing/AuditerServiceTest.java
index b0e9ed0..90b6a76 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/auditing/AuditerServiceTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/auditing/AuditerServiceTest.java
@@ -41,7 +41,6 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.applib.services.wrapper.DisabledException;
import org.apache.isis.applib.services.wrapper.WrapperFactory;
-import org.apache.isis.applib.services.wrapper.WrapperFactory.ExecutionMode;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.testdomain.Incubating;
import org.apache.isis.testdomain.Smoketest;
@@ -131,7 +130,7 @@ class AuditerServiceTest {
kvStore.clear(AuditerServiceForTesting.class);
// when - running within its own background task
- val future = wrapper.async(book, ExecutionMode.SKIP_RULES) // don't enforce rules for this test
+ val future = wrapper.async(book, WrapperFactory.ExecutionModes.SKIP_RULES) // don't enforce rules for this test
.run(JdoBook::setName, "Book #2");
future.get(1000, TimeUnit.SECONDS);
@@ -154,7 +153,7 @@ class AuditerServiceTest {
// when - running within its own background task
assertThrows(DisabledException.class, ()->{
- val future = wrapper.async(book, ExecutionMode.EXECUTE)
+ val future = wrapper.async(book, WrapperFactory.ExecutionModes.EXECUTE)
.run(JdoBook::setName, "Book #2");
future.get(1000, TimeUnit.SECONDS);
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/publishing/PublisherServiceTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/publishing/PublisherServiceTest.java
index 51af7be..9f05b5a 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/publishing/PublisherServiceTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/publishing/PublisherServiceTest.java
@@ -43,7 +43,6 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import org.apache.isis.applib.services.repository.RepositoryService;
import org.apache.isis.applib.services.wrapper.DisabledException;
import org.apache.isis.applib.services.wrapper.WrapperFactory;
-import org.apache.isis.applib.services.wrapper.WrapperFactory.ExecutionMode;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.core.metamodel.services.publishing.PublisherDispatchService;
import org.apache.isis.testdomain.Incubating;
@@ -144,7 +143,7 @@ class PublisherServiceTest {
val latch = kvStore.latch(PublisherServiceForTesting.class);
// when - running within its own background task
- val future = wrapper.async(book, ExecutionMode.SKIP_RULES) // don't enforce rules for this test
+ val future = wrapper.async(book, WrapperFactory.ExecutionModes.SKIP_RULES) // don't enforce rules for this test
.run(JdoBook::setName, "Book #2");
future.get(10, TimeUnit.SECONDS);
@@ -174,7 +173,7 @@ class PublisherServiceTest {
// when - running within its own background task
assertThrows(DisabledException.class, ()->{
- val future = wrapper.async(book, ExecutionMode.EXECUTE)
+ val future = wrapper.async(book, WrapperFactory.ExecutionModes.EXECUTE)
.run(JdoBook::setName, "Book #2");
future.get(10, TimeUnit.SECONDS);
diff --git a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/events/FixturesInstalledEvent.java b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/events/FixturesInstalledEvent.java
index 1de48d0..56c05f3 100644
--- a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/events/FixturesInstalledEvent.java
+++ b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/events/FixturesInstalledEvent.java
@@ -19,7 +19,7 @@
package org.apache.isis.testing.fixtures.applib.events;
-import org.apache.isis.applib.events.domain.EventObjectBase;
+import org.apache.isis.applib.events.EventObjectBase;
public class FixturesInstalledEvent extends EventObjectBase<Object> {
diff --git a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/events/FixturesInstallingEvent.java b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/events/FixturesInstallingEvent.java
index f34dab3..463f373 100644
--- a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/events/FixturesInstallingEvent.java
+++ b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/events/FixturesInstallingEvent.java
@@ -19,7 +19,7 @@
package org.apache.isis.testing.fixtures.applib.events;
-import org.apache.isis.applib.events.domain.EventObjectBase;
+import org.apache.isis.applib.events.EventObjectBase;
public class FixturesInstallingEvent extends EventObjectBase<Object> {