From 4fb70b671aadad9e85f7af25192af048c446e944 Mon Sep 17 00:00:00 2001 From: Sam Brannen <104798+sbrannen@users.noreply.github.com> Date: Sun, 8 Sep 2024 17:20:10 +0200 Subject: [PATCH] Remove obsolete role attributes for tab groups in the reference manual Since we now use asciidoctor-tabs instead of spring-asciidoctor-backends, we no longer need the `role="primary"` and `role="secondary"` attributes for tab groups. Closes gh-33506 --- .../ROOT/pages/core/aop-api/advice.adoc | 36 ++++---- .../ROOT/pages/core/aop-api/advised.adoc | 8 +- .../modules/ROOT/pages/core/aop-api/pfb.adoc | 4 +- .../ROOT/pages/core/aop-api/pointcuts.adoc | 4 +- .../modules/ROOT/pages/core/aop-api/prog.adoc | 4 +- .../ROOT/pages/core/aop-api/targetsource.adoc | 8 +- .../pages/core/aop/aspectj-programmatic.adoc | 4 +- .../ROOT/pages/core/aop/ataspectj/advice.adoc | 76 ++++++++-------- .../aop/ataspectj/instantiation-models.adoc | 4 +- .../core/aop/ataspectj/introductions.adoc | 8 +- .../pages/core/aop/ataspectj/pointcuts.adoc | 12 +-- .../modules/ROOT/pages/core/aop/choosing.adoc | 4 +- .../modules/ROOT/pages/core/aop/proxying.adoc | 20 ++--- .../modules/ROOT/pages/core/aop/schema.adoc | 44 +++++----- .../ROOT/pages/core/aop/using-aspectj.adoc | 24 ++--- .../modules/ROOT/pages/core/aot.adoc | 22 ++--- .../ROOT/pages/core/appendix/xml-custom.adoc | 36 ++++---- .../ROOT/pages/core/appendix/xsd-schemas.adoc | 8 +- .../annotation-config/autowired-primary.adoc | 12 +-- .../autowired-qualifiers.adoc | 36 ++++---- .../beans/annotation-config/autowired.adoc | 40 ++++----- .../generics-as-qualifiers.adoc | 12 +-- ...tconstruct-and-predestroy-annotations.adoc | 4 +- .../beans/annotation-config/resource.adoc | 12 +-- .../annotation-config/value-annotations.adoc | 28 +++--- .../modules/ROOT/pages/core/beans/basics.adoc | 20 ++--- .../ROOT/pages/core/beans/beanfactory.adoc | 8 +- .../pages/core/beans/classpath-scanning.adoc | 80 ++++++++--------- .../core/beans/context-introduction.adoc | 60 ++++++------- .../core/beans/context-load-time-weaver.adoc | 4 +- .../ROOT/pages/core/beans/definition.adoc | 12 +-- .../dependencies/factory-collaborators.adoc | 32 +++---- .../factory-method-injection.adoc | 24 ++--- .../factory-properties-detailed.adoc | 12 +-- .../ROOT/pages/core/beans/environment.adoc | 52 +++++------ .../pages/core/beans/factory-extension.adoc | 8 +- .../ROOT/pages/core/beans/factory-nature.adoc | 24 ++--- .../ROOT/pages/core/beans/factory-scopes.adoc | 36 ++++---- .../pages/core/beans/java/basic-concepts.adoc | 4 +- .../core/beans/java/bean-annotation.adoc | 46 +++++----- .../java/composing-configuration-classes.adoc | 44 +++++----- .../beans/java/configuration-annotation.adoc | 16 ++-- .../beans/java/instantiating-container.adoc | 20 ++--- .../core/beans/standard-annotations.adoc | 28 +++--- .../ROOT/pages/core/databuffer-codec.adoc | 4 +- .../pages/core/expressions/evaluation.adoc | 36 ++++---- .../core/expressions/example-classes.adoc | 12 +-- .../language-ref/array-construction.adoc | 4 +- .../language-ref/bean-references.adoc | 8 +- .../language-ref/collection-projection.adoc | 4 +- .../language-ref/collection-selection.adoc | 8 +- .../language-ref/constructors.adoc | 4 +- .../expressions/language-ref/functions.adoc | 20 ++--- .../language-ref/inline-lists.adoc | 4 +- .../expressions/language-ref/inline-maps.adoc | 4 +- .../expressions/language-ref/literal.adoc | 4 +- .../expressions/language-ref/methods.adoc | 4 +- .../language-ref/operator-elvis.adoc | 8 +- .../operator-safe-navigation.adoc | 28 +++--- .../language-ref/operator-ternary.adoc | 8 +- .../expressions/language-ref/operators.adoc | 30 +++---- .../language-ref/properties-arrays.adoc | 24 ++--- .../expressions/language-ref/templating.adoc | 4 +- .../core/expressions/language-ref/types.adoc | 4 +- .../expressions/language-ref/variables.adoc | 12 +-- .../modules/ROOT/pages/core/resources.adoc | 72 +++++++-------- .../modules/ROOT/pages/core/spring-jcl.adoc | 4 +- .../pages/core/validation/beans-beans.adoc | 32 +++---- .../pages/core/validation/beanvalidation.adoc | 40 ++++----- .../ROOT/pages/core/validation/convert.adoc | 8 +- .../ROOT/pages/core/validation/format.adoc | 16 ++-- .../ROOT/pages/core/validation/validator.adoc | 12 +-- .../modules/ROOT/pages/data-access/dao.adoc | 16 ++-- .../ROOT/pages/data-access/jdbc/advanced.adoc | 16 ++-- .../ROOT/pages/data-access/jdbc/core.adoc | 88 +++++++++---------- .../jdbc/embedded-database-support.adoc | 8 +- .../ROOT/pages/data-access/jdbc/object.adoc | 40 ++++----- .../data-access/jdbc/parameter-handling.adoc | 8 +- .../ROOT/pages/data-access/jdbc/simple.adoc | 44 +++++----- .../ROOT/pages/data-access/orm/general.adoc | 4 +- .../ROOT/pages/data-access/orm/hibernate.adoc | 12 +-- .../ROOT/pages/data-access/orm/jpa.adoc | 8 +- .../modules/ROOT/pages/data-access/oxm.adoc | 8 +- .../modules/ROOT/pages/data-access/r2dbc.adoc | 56 ++++++------ .../transaction/declarative/annotations.adoc | 24 ++--- .../applying-more-than-just-tx-advice.adoc | 4 +- .../transaction/declarative/aspectj.adoc | 4 +- .../declarative/first-example.adoc | 20 ++--- .../transaction/declarative/rolling-back.adoc | 8 +- .../pages/data-access/transaction/event.adoc | 4 +- .../data-access/transaction/programmatic.adoc | 36 ++++---- .../ROOT/pages/integration/rest-clients.adoc | 32 +++---- .../modules/ROOT/pages/rsocket.adoc | 68 +++++++------- .../integration-junit-jupiter.adoc | 24 ++--- .../annotations/integration-junit4.adoc | 20 ++--- .../testing/annotations/integration-meta.adoc | 32 +++---- .../annotation-activeprofiles.adoc | 8 +- .../annotation-aftertransaction.adoc | 4 +- .../annotation-beforetransaction.adoc | 4 +- .../integration-spring/annotation-commit.adoc | 4 +- .../annotation-contextconfiguration.adoc | 16 ++-- ...annotation-contextcustomizerfactories.adoc | 4 +- .../annotation-contexthierarchy.adoc | 8 +- .../annotation-dirtiescontext.adoc | 28 +++--- .../annotation-dynamicpropertysource.adoc | 4 +- .../annotation-mockitobean.adoc | 8 +- .../annotation-rollback.adoc | 4 +- .../integration-spring/annotation-sql.adoc | 4 +- .../annotation-sqlconfig.adoc | 4 +- .../annotation-sqlgroup.adoc | 4 +- .../annotation-sqlmergemode.adoc | 8 +- .../annotation-testbean.adoc | 4 +- .../annotation-testexecutionlisteners.adoc | 4 +- .../annotation-testpropertysource.adoc | 8 +- .../annotation-webappconfiguration.adoc | 8 +- .../mockmvc/hamcrest/async-requests.adoc | 4 +- .../mockmvc/hamcrest/expectations.adoc | 32 +++---- .../testing/mockmvc/hamcrest/filters.adoc | 4 +- .../testing/mockmvc/hamcrest/requests.adoc | 24 ++--- .../testing/mockmvc/hamcrest/setup-steps.adoc | 8 +- .../pages/testing/mockmvc/hamcrest/setup.adoc | 8 +- .../pages/testing/mockmvc/htmlunit/mah.adoc | 28 +++--- .../testing/mockmvc/htmlunit/webdriver.adoc | 52 +++++------ .../pages/testing/mockmvc/htmlunit/why.adoc | 12 +-- .../pages/testing/spring-mvc-test-client.adoc | 20 ++--- .../application-events.adoc | 4 +- .../testcontext-framework/ctx-management.adoc | 8 +- .../dynamic-property-sources.adoc | 8 +- .../ctx-management/env-profiles.adoc | 44 +++++----- .../ctx-management/groovy.adoc | 12 +-- .../ctx-management/hierarchies.adoc | 16 ++-- .../ctx-management/inheritance.adoc | 12 +-- .../ctx-management/initializers.adoc | 8 +- .../ctx-management/javaconfig.adoc | 8 +- .../ctx-management/property-sources.adoc | 24 ++--- .../ctx-management/web-mocks.adoc | 4 +- .../ctx-management/web.adoc | 12 +-- .../ctx-management/xml.adoc | 12 +-- .../testcontext-framework/executing-sql.adoc | 28 +++--- .../testcontext-framework/fixture-di.adoc | 12 +-- .../support-classes.adoc | 40 ++++----- .../testcontext-framework/tel-config.adoc | 12 +-- .../testing/testcontext-framework/tx.adoc | 28 +++--- .../web-scoped-beans.adoc | 8 +- .../ROOT/pages/testing/webtestclient.adoc | 80 ++++++++--------- .../modules/ROOT/pages/web/webflux-cors.adoc | 20 ++--- .../ROOT/pages/web/webflux-functional.adoc | 88 +++++++++---------- .../modules/ROOT/pages/web/webflux-view.adoc | 24 ++--- .../webflux-webclient/client-attributes.adoc | 4 +- .../web/webflux-webclient/client-body.adoc | 36 ++++---- .../web/webflux-webclient/client-builder.adoc | 56 ++++++------ .../web/webflux-webclient/client-context.adoc | 2 +- .../webflux-webclient/client-exchange.adoc | 4 +- .../web/webflux-webclient/client-filter.adoc | 20 ++--- .../webflux-webclient/client-retrieve.adoc | 16 ++-- .../webflux-webclient/client-synchronous.adoc | 8 +- .../ROOT/pages/web/webflux-websocket.adoc | 32 +++---- .../ROOT/pages/web/webflux/caching.adoc | 12 +-- .../ROOT/pages/web/webflux/config.adoc | 68 +++++++------- .../ROOT/pages/web/webflux/controller.adoc | 4 +- .../web/webflux/controller/ann-advice.adoc | 4 +- .../webflux/controller/ann-initbinder.adoc | 8 +- .../controller/ann-methods/cookievalue.adoc | 4 +- .../controller/ann-methods/httpentity.adoc | 4 +- .../controller/ann-methods/jackson.adoc | 4 +- .../ann-methods/matrix-variables.adoc | 16 ++-- .../ann-methods/modelattrib-method-args.adoc | 20 ++--- .../ann-methods/multipart-forms.adoc | 24 ++--- .../controller/ann-methods/requestattrib.adoc | 4 +- .../controller/ann-methods/requestbody.adoc | 16 ++-- .../controller/ann-methods/requestheader.adoc | 4 +- .../controller/ann-methods/requestparam.adoc | 4 +- .../controller/ann-methods/responsebody.adoc | 4 +- .../ann-methods/responseentity.adoc | 4 +- .../ann-methods/sessionattribute.adoc | 4 +- .../ann-methods/sessionattributes.adoc | 8 +- .../controller/ann-modelattrib-methods.adoc | 16 ++-- .../controller/ann-requestmapping.adoc | 40 ++++----- .../webflux/controller/ann-validation.adoc | 4 +- .../pages/web/webflux/controller/ann.adoc | 4 +- .../pages/web/webflux/dispatcher-handler.adoc | 4 +- .../pages/web/webflux/reactive-spring.adoc | 36 ++++---- .../modules/ROOT/pages/web/webmvc-cors.adoc | 20 ++--- .../ROOT/pages/web/webmvc-functional.adoc | 82 ++++++++--------- .../pages/web/webmvc-view/mvc-document.adoc | 4 +- .../ROOT/pages/web/webmvc-view/mvc-feeds.adoc | 8 +- .../pages/web/webmvc-view/mvc-fragments.adoc | 12 +-- .../pages/web/webmvc-view/mvc-freemarker.adoc | 8 +- .../web/webmvc-view/mvc-groovymarkup.adoc | 4 +- .../ROOT/pages/web/webmvc-view/mvc-jsp.adoc | 12 +-- .../pages/web/webmvc-view/mvc-script.adoc | 12 +-- .../ROOT/pages/web/webmvc-view/mvc-xslt.adoc | 8 +- .../ROOT/pages/web/webmvc/mvc-ann-async.adoc | 20 ++--- .../ROOT/pages/web/webmvc/mvc-caching.adoc | 12 +-- .../ROOT/pages/web/webmvc/mvc-controller.adoc | 4 +- .../web/webmvc/mvc-controller/ann-advice.adoc | 4 +- .../webmvc/mvc-controller/ann-initbinder.adoc | 8 +- .../ann-methods/cookievalue.adoc | 4 +- .../ann-methods/httpentity.adoc | 4 +- .../mvc-controller/ann-methods/jackson.adoc | 12 +-- .../ann-methods/matrix-variables.adoc | 16 ++-- .../ann-methods/modelattrib-method-args.adoc | 24 ++--- .../ann-methods/multipart-forms.adoc | 16 ++-- .../ann-methods/redirecting-passing-data.adoc | 4 +- .../ann-methods/requestattrib.adoc | 4 +- .../ann-methods/requestbody.adoc | 8 +- .../ann-methods/requestheader.adoc | 4 +- .../ann-methods/requestparam.adoc | 8 +- .../ann-methods/responsebody.adoc | 4 +- .../ann-methods/responseentity.adoc | 4 +- .../ann-methods/sessionattribute.adoc | 4 +- .../ann-methods/sessionattributes.adoc | 8 +- .../ann-modelattrib-methods.adoc | 12 +-- .../mvc-controller/ann-requestmapping.adoc | 40 ++++----- .../webmvc/mvc-controller/ann-validation.adoc | 4 +- .../ROOT/pages/web/webmvc/mvc-servlet.adoc | 4 +- .../webmvc/mvc-servlet/container-config.adoc | 16 ++-- .../webmvc/mvc-servlet/context-hierarchy.adoc | 4 +- .../webmvc/mvc-servlet/exceptionhandlers.adoc | 4 +- .../pages/web/webmvc/mvc-servlet/logging.adoc | 4 +- .../web/webmvc/mvc-servlet/multipart.adoc | 4 +- .../pages/web/webmvc/mvc-uri-building.adoc | 32 +++---- .../modules/ROOT/partials/web/web-uris.adoc | 44 +++++----- 223 files changed, 1925 insertions(+), 1925 deletions(-) diff --git a/framework-docs/modules/ROOT/pages/core/aop-api/advice.adoc b/framework-docs/modules/ROOT/pages/core/aop-api/advice.adoc index fd9ecd219a..0635e05009 100644 --- a/framework-docs/modules/ROOT/pages/core/aop-api/advice.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop-api/advice.adoc @@ -58,7 +58,7 @@ The following example shows a simple `MethodInterceptor` implementation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class DebugInterceptor implements MethodInterceptor { @@ -73,7 +73,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class DebugInterceptor : MethodInterceptor { @@ -139,7 +139,7 @@ The following example shows a before advice in Spring, which counts all method i ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class CountingBeforeAdvice implements MethodBeforeAdvice { @@ -157,7 +157,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class CountingBeforeAdvice : MethodBeforeAdvice { @@ -197,7 +197,7 @@ The following advice is invoked if a `RemoteException` is thrown (including from ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class RemoteThrowsAdvice implements ThrowsAdvice { @@ -209,7 +209,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class RemoteThrowsAdvice : ThrowsAdvice { @@ -228,7 +228,7 @@ arguments, and target object. The following advice is invoked if a `ServletExcep ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class ServletThrowsAdviceWithArguments implements ThrowsAdvice { @@ -240,7 +240,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ServletThrowsAdviceWithArguments : ThrowsAdvice { @@ -259,7 +259,7 @@ methods can be combined in a single class. The following listing shows the final ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public static class CombinedThrowsAdvice implements ThrowsAdvice { @@ -275,7 +275,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class CombinedThrowsAdvice : ThrowsAdvice { @@ -326,7 +326,7 @@ not thrown exceptions: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class CountingAfterReturningAdvice implements AfterReturningAdvice { @@ -345,7 +345,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class CountingAfterReturningAdvice : AfterReturningAdvice { @@ -420,7 +420,7 @@ introduce the following interface to one or more objects: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public interface Lockable { void lock(); @@ -431,7 +431,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- interface Lockable { fun lock() @@ -480,7 +480,7 @@ The following example shows the example `LockMixin` class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class LockMixin extends DelegatingIntroductionInterceptor implements Lockable { @@ -510,7 +510,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class LockMixin : DelegatingIntroductionInterceptor(), Lockable { @@ -556,7 +556,7 @@ The following example shows our `LockMixinAdvisor` class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class LockMixinAdvisor extends DefaultIntroductionAdvisor { @@ -568,7 +568,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class LockMixinAdvisor : DefaultIntroductionAdvisor(LockMixin(), Lockable::class.java) ---- diff --git a/framework-docs/modules/ROOT/pages/core/aop-api/advised.adoc b/framework-docs/modules/ROOT/pages/core/aop-api/advised.adoc index 46932dfa85..639379c2e0 100644 --- a/framework-docs/modules/ROOT/pages/core/aop-api/advised.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop-api/advised.adoc @@ -10,7 +10,7 @@ following methods: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Advisor[] getAdvisors(); @@ -35,7 +35,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun getAdvisors(): Array @@ -90,7 +90,7 @@ manipulating its advice: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Advised advised = (Advised) myObject; Advisor[] advisors = advised.getAdvisors(); @@ -110,7 +110,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val advised = myObject as Advised val advisors = advised.advisors diff --git a/framework-docs/modules/ROOT/pages/core/aop-api/pfb.adoc b/framework-docs/modules/ROOT/pages/core/aop-api/pfb.adoc index ef1ab658f6..7c15b2de34 100644 --- a/framework-docs/modules/ROOT/pages/core/aop-api/pfb.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop-api/pfb.adoc @@ -196,14 +196,14 @@ follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Person person = (Person) factory.getBean("person"); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val person = factory.getBean("person") as Person ---- diff --git a/framework-docs/modules/ROOT/pages/core/aop-api/pointcuts.adoc b/framework-docs/modules/ROOT/pages/core/aop-api/pointcuts.adoc index ec60c9dc76..274e9f5e1f 100644 --- a/framework-docs/modules/ROOT/pages/core/aop-api/pointcuts.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop-api/pointcuts.adoc @@ -187,7 +187,7 @@ following example shows how to subclass `StaticMethodMatcherPointcut`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class TestStaticPointcut extends StaticMethodMatcherPointcut { @@ -199,7 +199,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class TestStaticPointcut : StaticMethodMatcherPointcut() { diff --git a/framework-docs/modules/ROOT/pages/core/aop-api/prog.adoc b/framework-docs/modules/ROOT/pages/core/aop-api/prog.adoc index 0247e4a71c..f8aa774e73 100644 --- a/framework-docs/modules/ROOT/pages/core/aop-api/prog.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop-api/prog.adoc @@ -12,7 +12,7 @@ interceptor and one advisor: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ProxyFactory factory = new ProxyFactory(myBusinessInterfaceImpl); factory.addAdvice(myMethodInterceptor); @@ -22,7 +22,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val factory = ProxyFactory(myBusinessInterfaceImpl) factory.addAdvice(myMethodInterceptor) diff --git a/framework-docs/modules/ROOT/pages/core/aop-api/targetsource.adoc b/framework-docs/modules/ROOT/pages/core/aop-api/targetsource.adoc index 5b89165471..2be131981c 100644 --- a/framework-docs/modules/ROOT/pages/core/aop-api/targetsource.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop-api/targetsource.adoc @@ -38,7 +38,7 @@ You can change the target by using the `swap()` method on HotSwappableTargetSour ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HotSwappableTargetSource swapper = (HotSwappableTargetSource) beanFactory.getBean("swapper"); Object oldTarget = swapper.swap(newTarget); @@ -46,7 +46,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val swapper = beanFactory.getBean("swapper") as HotSwappableTargetSource val oldTarget = swapper.swap(newTarget) @@ -152,7 +152,7 @@ The cast is defined as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- PoolingConfig conf = (PoolingConfig) beanFactory.getBean("businessObject"); System.out.println("Max pool size is " + conf.getMaxSize()); @@ -160,7 +160,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val conf = beanFactory.getBean("businessObject") as PoolingConfig println("Max pool size is " + conf.maxSize) diff --git a/framework-docs/modules/ROOT/pages/core/aop/aspectj-programmatic.adoc b/framework-docs/modules/ROOT/pages/core/aop/aspectj-programmatic.adoc index 28664394da..cb92225b78 100644 --- a/framework-docs/modules/ROOT/pages/core/aop/aspectj-programmatic.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop/aspectj-programmatic.adoc @@ -15,7 +15,7 @@ The basic usage for this class is very simple, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- // create a factory that can generate a proxy for the given target object AspectJProxyFactory factory = new AspectJProxyFactory(targetObject); @@ -34,7 +34,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- // create a factory that can generate a proxy for the given target object val factory = AspectJProxyFactory(targetObject) diff --git a/framework-docs/modules/ROOT/pages/core/aop/ataspectj/advice.adoc b/framework-docs/modules/ROOT/pages/core/aop/ataspectj/advice.adoc index 039bc862a8..5f4164b845 100644 --- a/framework-docs/modules/ROOT/pages/core/aop/ataspectj/advice.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop/ataspectj/advice.adoc @@ -17,7 +17,7 @@ The following example uses an inline pointcut expression. ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; @@ -34,7 +34,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect import org.aspectj.lang.annotation.Before @@ -57,7 +57,7 @@ as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; @@ -74,7 +74,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect import org.aspectj.lang.annotation.Before @@ -101,7 +101,7 @@ You can declare it by using the `@AfterReturning` annotation. ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.AfterReturning; @@ -118,7 +118,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect import org.aspectj.lang.annotation.AfterReturning @@ -146,7 +146,7 @@ access, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.AfterReturning; @@ -165,7 +165,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect import org.aspectj.lang.annotation.AfterReturning @@ -204,7 +204,7 @@ following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.AfterThrowing; @@ -221,7 +221,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect import org.aspectj.lang.annotation.AfterThrowing @@ -247,7 +247,7 @@ The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.AfterThrowing; @@ -266,7 +266,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect import org.aspectj.lang.annotation.AfterThrowing @@ -311,7 +311,7 @@ purposes. The following example shows how to use after finally advice: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.After; @@ -328,7 +328,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect import org.aspectj.lang.annotation.After @@ -417,7 +417,7 @@ The following example shows how to use around advice: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Around; @@ -438,7 +438,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- import org.aspectj.lang.annotation.Aspect import org.aspectj.lang.annotation.Around @@ -500,7 +500,7 @@ You could write the following: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Before("execution(* com.xyz.dao.*.*(..)) && args(account,..)") public void validateAccount(Account account) { @@ -510,7 +510,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Before("execution(* com.xyz.dao.*.*(..)) && args(account,..)") fun validateAccount(account: Account) { @@ -533,7 +533,7 @@ from the advice. This would look as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Pointcut("execution(* com.xyz.dao.*.*(..)) && args(account,..)") private void accountDataAccessOperation(Account account) {} @@ -546,7 +546,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Pointcut("execution(* com.xyz.dao.*.*(..)) && args(account,..)") private fun accountDataAccessOperation(account: Account) { @@ -572,7 +572,7 @@ The following shows the definition of the `@Auditable` annotation: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) @@ -583,7 +583,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Retention(AnnotationRetention.RUNTIME) @Target(AnnotationTarget.FUNCTION) @@ -597,7 +597,7 @@ The following shows the advice that matches the execution of `@Auditable` method ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Before("com.xyz.Pointcuts.publicMethod() && @annotation(auditable)") // <1> public void audit(Auditable auditable) { @@ -609,7 +609,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Before("com.xyz.Pointcuts.publicMethod() && @annotation(auditable)") // <1> fun audit(auditable: Auditable) { @@ -630,7 +630,7 @@ you have a generic type like the following: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- public interface Sample { void sampleGenericMethod(T param); @@ -640,7 +640,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- interface Sample { fun sampleGenericMethod(param: T) @@ -656,7 +656,7 @@ tying the advice parameter to the parameter type for which you want to intercept ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Before("execution(* ..Sample+.sampleGenericMethod(*)) && args(param)") public void beforeSampleMethod(MyType param) { @@ -666,7 +666,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Before("execution(* ..Sample+.sampleGenericMethod(*)) && args(param)") fun beforeSampleMethod(param: MyType) { @@ -682,7 +682,7 @@ pointcut as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Before("execution(* ..Sample+.sampleGenericCollectionMethod(*)) && args(param)") public void beforeSampleMethod(Collection param) { @@ -692,7 +692,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Before("execution(* ..Sample+.sampleGenericCollectionMethod(*)) && args(param)") fun beforeSampleMethod(param: Collection) { @@ -756,7 +756,7 @@ The following example shows how to use the `argNames` attribute: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Before( value = "com.xyz.Pointcuts.publicMethod() && target(bean) && @annotation(auditable)", // <1> @@ -771,7 +771,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Before( value = "com.xyz.Pointcuts.publicMethod() && target(bean) && @annotation(auditable)", // <1> @@ -794,7 +794,7 @@ point object, the `argNames` attribute does not need to include it: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Before( value = "com.xyz.Pointcuts.publicMethod() && target(bean) && @annotation(auditable)", // <1> @@ -809,7 +809,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Before( value = "com.xyz.Pointcuts.publicMethod() && target(bean) && @annotation(auditable)", // <1> @@ -833,7 +833,7 @@ the `argNames` attribute: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Before("com.xyz.Pointcuts.publicMethod()") // <1> public void audit(JoinPoint jp) { @@ -844,7 +844,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Before("com.xyz.Pointcuts.publicMethod()") // <1> fun audit(jp: JoinPoint) { @@ -867,7 +867,7 @@ The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Around("execution(List find*(..)) && " + "com.xyz.CommonPointcuts.inDataAccessLayer() && " + @@ -882,7 +882,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Around("execution(List find*(..)) && " + "com.xyz.CommonPointcuts.inDataAccessLayer() && " + diff --git a/framework-docs/modules/ROOT/pages/core/aop/ataspectj/instantiation-models.adoc b/framework-docs/modules/ROOT/pages/core/aop/ataspectj/instantiation-models.adoc index 2e4b54347e..b8d5eab1b4 100644 --- a/framework-docs/modules/ROOT/pages/core/aop/ataspectj/instantiation-models.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop/ataspectj/instantiation-models.adoc @@ -17,7 +17,7 @@ annotation. Consider the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Aspect("perthis(execution(* com.xyz..service.*.*(..)))") public class MyAspect { @@ -33,7 +33,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Aspect("perthis(execution(* com.xyz..service.*.*(..)))") class MyAspect { diff --git a/framework-docs/modules/ROOT/pages/core/aop/ataspectj/introductions.adoc b/framework-docs/modules/ROOT/pages/core/aop/ataspectj/introductions.adoc index 1c84a3beb7..73173a0389 100644 --- a/framework-docs/modules/ROOT/pages/core/aop/ataspectj/introductions.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop/ataspectj/introductions.adoc @@ -15,7 +15,7 @@ interfaces also implement the `UsageTracked` interface (e.g. for statistics via ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Aspect public class UsageTracking { @@ -33,7 +33,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Aspect class UsageTracking { @@ -63,14 +63,14 @@ you would write the following: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- UsageTracked usageTracked = context.getBean("myService", UsageTracked.class); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- val usageTracked = context.getBean("myService") ---- diff --git a/framework-docs/modules/ROOT/pages/core/aop/ataspectj/pointcuts.adoc b/framework-docs/modules/ROOT/pages/core/aop/ataspectj/pointcuts.adoc index 3b1ef29d76..35f6b8d1dd 100644 --- a/framework-docs/modules/ROOT/pages/core/aop/ataspectj/pointcuts.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop/ataspectj/pointcuts.adoc @@ -19,7 +19,7 @@ matches the execution of any method named `transfer`: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Pointcut("execution(* transfer(..))") // the pointcut expression private void anyOldTransfer() {} // the pointcut signature @@ -27,7 +27,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Pointcut("execution(* transfer(..))") // the pointcut expression private fun anyOldTransfer() {} // the pointcut signature @@ -150,7 +150,7 @@ pointcut expressions by name. The following example shows three pointcut express ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz; @@ -174,7 +174,7 @@ trading module. Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz @@ -217,7 +217,7 @@ expressions for this purpose. Such a class typically resembles the following ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary",chomp="-packages",fold="none"] +[source,java,indent=0,subs="verbatim",chomp="-packages",fold="none"] ---- package com.xyz; @@ -279,7 +279,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary",chomp="-packages",fold="none"] +[source,kotlin,indent=0,subs="verbatim",chomp="-packages",fold="none"] ---- package com.xyz diff --git a/framework-docs/modules/ROOT/pages/core/aop/choosing.adoc b/framework-docs/modules/ROOT/pages/core/aop/choosing.adoc index d5432fce39..910d6c0278 100644 --- a/framework-docs/modules/ROOT/pages/core/aop/choosing.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop/choosing.adoc @@ -59,7 +59,7 @@ For example, in the @AspectJ style you can write something like the following: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Pointcut("execution(* get*())") public void propertyAccess() {} @@ -73,7 +73,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Pointcut("execution(* get*())") fun propertyAccess() {} diff --git a/framework-docs/modules/ROOT/pages/core/aop/proxying.adoc b/framework-docs/modules/ROOT/pages/core/aop/proxying.adoc index bc2ed1812c..3150e07c5d 100644 --- a/framework-docs/modules/ROOT/pages/core/aop/proxying.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop/proxying.adoc @@ -76,7 +76,7 @@ as the following code snippet shows: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- public class SimplePojo implements Pojo { @@ -93,7 +93,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- class SimplePojo : Pojo { @@ -118,7 +118,7 @@ image::aop-proxy-plain-pojo-call.png[] ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- public class Main { @@ -132,7 +132,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- fun main() { val pojo = SimplePojo() @@ -151,7 +151,7 @@ image::aop-proxy-call.png[] ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- public class Main { @@ -169,7 +169,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- fun main() { val factory = ProxyFactory(SimplePojo()) @@ -213,7 +213,7 @@ Use `AopContext.currentProxy()` :: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- public class SimplePojo implements Pojo { @@ -230,7 +230,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- class SimplePojo : Pojo { @@ -255,7 +255,7 @@ configured to expose the proxy, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- public class Main { @@ -274,7 +274,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- fun main() { val factory = ProxyFactory(SimplePojo()) diff --git a/framework-docs/modules/ROOT/pages/core/aop/schema.adoc b/framework-docs/modules/ROOT/pages/core/aop/schema.adoc index c51ad3e976..ed66092d26 100644 --- a/framework-docs/modules/ROOT/pages/core/aop/schema.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop/schema.adoc @@ -136,7 +136,7 @@ parameters of the matching names, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- public void monitor(Object service) { // ... @@ -145,7 +145,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- fun monitor(service: Any) { // ... @@ -282,14 +282,14 @@ example, you can declare the method signature as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- public void doAccessCheck(Object retVal) {... ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- fun doAccessCheck(retVal: Any) {... ---- @@ -340,14 +340,14 @@ The type of this parameter constrains matching in the same way as described for ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- public void doRecoveryActions(DataAccessException dataAccessEx) {... ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- fun doRecoveryActions(dataAccessEx: DataAccessException) {... ---- @@ -421,7 +421,7 @@ The implementation of the `doBasicProfiling` advice can be exactly the same as i ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable { // start stopwatch @@ -433,7 +433,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- fun doBasicProfiling(pjp: ProceedingJoinPoint): Any? { // start stopwatch @@ -475,7 +475,7 @@ some around advice used in conjunction with a number of strongly typed parameter ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz.service; @@ -494,7 +494,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz.service @@ -521,7 +521,7 @@ proceed with the method call. The presence of this parameter is an indication th ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz; @@ -545,7 +545,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz @@ -610,7 +610,7 @@ Consider the following driver script: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- public class Boot { @@ -624,7 +624,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- fun main() { val ctx = ClassPathXmlApplicationContext("beans.xml") @@ -714,7 +714,7 @@ The class that backs the `usageTracking` bean would then contain the following m ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- public void recordUsage(UsageTracked usageTracked) { usageTracked.incrementUseCount(); @@ -723,7 +723,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- fun recordUsage(usageTracked: UsageTracked) { usageTracked.incrementUseCount() @@ -742,14 +742,14 @@ following: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- UsageTracked usageTracked = context.getBean("myService", UsageTracked.class); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- val usageTracked = context.getBean("myService", UsageTracked.class) ---- @@ -829,7 +829,7 @@ call `proceed` multiple times. The following listing shows the basic aspect impl ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- public class ConcurrentOperationExecutor implements Ordered { @@ -869,7 +869,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- class ConcurrentOperationExecutor : Ordered { @@ -953,7 +953,7 @@ to annotate the implementation of service operations, as the following example s ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Retention(RetentionPolicy.RUNTIME) // marker annotation @@ -963,7 +963,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Retention(AnnotationRetention.RUNTIME) // marker annotation diff --git a/framework-docs/modules/ROOT/pages/core/aop/using-aspectj.adoc b/framework-docs/modules/ROOT/pages/core/aop/using-aspectj.adoc index c9176447eb..a02a28f867 100644 --- a/framework-docs/modules/ROOT/pages/core/aop/using-aspectj.adoc +++ b/framework-docs/modules/ROOT/pages/core/aop/using-aspectj.adoc @@ -36,7 +36,7 @@ following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz.domain; @@ -50,7 +50,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz.domain @@ -84,7 +84,7 @@ can do so directly in the annotation, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz.domain; @@ -98,7 +98,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz.domain @@ -153,14 +153,14 @@ available for use in the body of the constructors, you need to define this on th ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Configurable(preConstruction = true) ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Configurable(preConstruction = true) ---- @@ -413,7 +413,7 @@ It is a time-based profiler that uses the @AspectJ-style of aspect declaration: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz; @@ -446,7 +446,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz @@ -544,7 +544,7 @@ driver class with a `main(..)` method to demonstrate the LTW in action: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz; @@ -566,7 +566,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz @@ -625,7 +625,7 @@ result: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz; @@ -647,7 +647,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim",chomp="-packages"] ---- package com.xyz diff --git a/framework-docs/modules/ROOT/pages/core/aot.adoc b/framework-docs/modules/ROOT/pages/core/aot.adoc index 0c349afe26..560c61b4df 100644 --- a/framework-docs/modules/ROOT/pages/core/aot.adoc +++ b/framework-docs/modules/ROOT/pages/core/aot.adoc @@ -140,7 +140,7 @@ Taking our previous example, let's assume that `DataSourceConfiguration` is as f ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration(proxyBeanMethods = false) public class DataSourceConfiguration { @@ -155,7 +155,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration(proxyBeanMethods = false) class DataSourceConfiguration { @@ -176,7 +176,7 @@ The AOT engine will convert the configuration class above to code similar to the ====== Java:: + -[source,java,indent=0,role="primary"] +[source,java,indent=0] ---- /** * Bean definitions for {@link DataSourceConfiguration} @@ -278,7 +278,7 @@ Consider the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration(proxyBeanMethods = false) public class UserConfiguration { @@ -302,7 +302,7 @@ The example above should be rewritten as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration(proxyBeanMethods = false) public class UserConfiguration { @@ -365,7 +365,7 @@ Consider the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class ClientFactoryBean implements FactoryBean { // ... @@ -379,7 +379,7 @@ A concrete client declaration should provide a resolved generic for the client, ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration(proxyBeanMethods = false) public class UserConfiguration { @@ -405,7 +405,7 @@ The following example showcases a basic definition: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RootBeanDefinition beanDefinition = new RootBeanDefinition(ClientFactoryBean.class); beanDefinition.setTargetType(ResolvableType.forClassWithGenerics(ClientFactoryBean.class, MyClient.class)); @@ -423,7 +423,7 @@ The JPA persistence unit has to be known upfront for certain optimizations to ap ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Bean LocalContainerEntityManagerFactoryBean customDBEntityManagerFactory(DataSource dataSource) { @@ -442,7 +442,7 @@ factory bean definition, as shown by the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Bean PersistenceManagedTypes persistenceManagedTypes(ResourceLoader resourceLoader) { @@ -475,7 +475,7 @@ The following example makes sure that `config/app.properties` can be loaded from ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- runtimeHints.resources().registerPattern("config/app.properties"); ---- diff --git a/framework-docs/modules/ROOT/pages/core/appendix/xml-custom.adoc b/framework-docs/modules/ROOT/pages/core/appendix/xml-custom.adoc index 5ca36a8656..c029f5dd7e 100644 --- a/framework-docs/modules/ROOT/pages/core/appendix/xml-custom.adoc +++ b/framework-docs/modules/ROOT/pages/core/appendix/xml-custom.adoc @@ -145,7 +145,7 @@ use the `NamespaceHandlerSupport` class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package org.springframework.samples.xml; @@ -161,7 +161,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package org.springframework.samples.xml @@ -202,7 +202,7 @@ we can parse our custom XML content, as you can see in the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package org.springframework.samples.xml; @@ -240,7 +240,7 @@ single `BeanDefinition` represents. Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package org.springframework.samples.xml @@ -416,7 +416,7 @@ The following listing shows the `Component` class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo; @@ -449,7 +449,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo @@ -480,7 +480,7 @@ setter property for the `components` property. The following listing shows such ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo; @@ -522,7 +522,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo @@ -598,7 +598,7 @@ we then create a custom `NamespaceHandler`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo; @@ -614,7 +614,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo @@ -637,7 +637,7 @@ listing shows our custom `BeanDefinitionParser` implementation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo; @@ -688,7 +688,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo @@ -787,7 +787,7 @@ JCache-initializing `BeanDefinition`. The following listing shows our `JCacheIni ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo; @@ -807,7 +807,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo @@ -843,7 +843,7 @@ Next, we need to create the associated `NamespaceHandler`, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo; @@ -861,7 +861,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo @@ -886,7 +886,7 @@ The following listing shows our `BeanDefinitionDecorator` implementation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo; @@ -942,7 +942,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo diff --git a/framework-docs/modules/ROOT/pages/core/appendix/xsd-schemas.adoc b/framework-docs/modules/ROOT/pages/core/appendix/xsd-schemas.adoc index 0752b210d7..55b3141dda 100644 --- a/framework-docs/modules/ROOT/pages/core/appendix/xsd-schemas.adoc +++ b/framework-docs/modules/ROOT/pages/core/appendix/xsd-schemas.adoc @@ -121,7 +121,7 @@ The following example enumeration shows how easy injecting an enum value is: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package jakarta.persistence; @@ -134,7 +134,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package jakarta.persistence @@ -152,7 +152,7 @@ Now consider the following setter of type `PersistenceContextType` and the corre ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package example; @@ -168,7 +168,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package example diff --git a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired-primary.adoc b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired-primary.adoc index 21a95fccc3..af63a56aa6 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired-primary.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired-primary.adoc @@ -15,7 +15,7 @@ primary `MovieCatalog`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class MovieConfiguration { @@ -33,7 +33,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class MovieConfiguration { @@ -58,7 +58,7 @@ bean is left, it is effectively primary as well: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class MovieConfiguration { @@ -76,7 +76,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class MovieConfiguration { @@ -100,7 +100,7 @@ With both variants of the preceding configuration, the following ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MovieRecommender { @@ -113,7 +113,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MovieRecommender { diff --git a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired-qualifiers.adoc b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired-qualifiers.adoc index 24806bdffb..07073d2692 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired-qualifiers.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired-qualifiers.adoc @@ -14,7 +14,7 @@ this can be a plain descriptive value, as shown in the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MovieRecommender { @@ -28,7 +28,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MovieRecommender { @@ -50,7 +50,7 @@ method parameters, as shown in the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MovieRecommender { @@ -71,7 +71,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MovieRecommender { @@ -198,7 +198,7 @@ provide the `@Qualifier` annotation within your definition, as the following exa ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Target({ElementType.FIELD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) @@ -211,7 +211,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Target(AnnotationTarget.FIELD, AnnotationTarget.VALUE_PARAMETER) @Retention(AnnotationRetention.RUNTIME) @@ -229,7 +229,7 @@ following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MovieRecommender { @@ -250,7 +250,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MovieRecommender { @@ -322,7 +322,7 @@ the simple annotation, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Target({ElementType.FIELD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) @@ -333,7 +333,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Target(AnnotationTarget.FIELD, AnnotationTarget.VALUE_PARAMETER) @Retention(AnnotationRetention.RUNTIME) @@ -351,7 +351,7 @@ following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MovieRecommender { @@ -366,7 +366,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MovieRecommender { @@ -406,7 +406,7 @@ consider the following annotation definition: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Target({ElementType.FIELD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) @@ -421,7 +421,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Target(AnnotationTarget.FIELD, AnnotationTarget.VALUE_PARAMETER) @Retention(AnnotationRetention.RUNTIME) @@ -438,7 +438,7 @@ In this case `Format` is an enum, defined as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public enum Format { VHS, DVD, BLURAY @@ -447,7 +447,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- enum class Format { VHS, DVD, BLURAY @@ -464,7 +464,7 @@ for both attributes: `genre` and `format`, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MovieRecommender { @@ -490,7 +490,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MovieRecommender { diff --git a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired.adoc b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired.adoc index 17b7d9a639..8f99eac7d2 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired.adoc @@ -13,7 +13,7 @@ You can apply the `@Autowired` annotation to constructors, as the following exam ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MovieRecommender { @@ -30,7 +30,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MovieRecommender @Autowired constructor( private val customerPreferenceDao: CustomerPreferenceDao) @@ -54,7 +54,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SimpleMovieLister { @@ -71,7 +71,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class SimpleMovieLister { @@ -91,7 +91,7 @@ arguments, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MovieRecommender { @@ -112,7 +112,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MovieRecommender { @@ -139,7 +139,7 @@ following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MovieRecommender { @@ -159,7 +159,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MovieRecommender @Autowired constructor( private val customerPreferenceDao: CustomerPreferenceDao) { @@ -226,7 +226,7 @@ expects an array of that type, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MovieRecommender { @@ -239,7 +239,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MovieRecommender { @@ -257,7 +257,7 @@ The same applies for typed collections, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MovieRecommender { @@ -274,7 +274,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MovieRecommender { @@ -319,7 +319,7 @@ corresponding bean names, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MovieRecommender { @@ -336,7 +336,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MovieRecommender { @@ -361,7 +361,7 @@ non-required (i.e., by setting the `required` attribute in `@Autowired` to `fals ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SimpleMovieLister { @@ -378,7 +378,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class SimpleMovieLister { @@ -452,7 +452,7 @@ support: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SimpleMovieLister { @@ -465,7 +465,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class SimpleMovieLister { @@ -488,7 +488,7 @@ an `ApplicationContext` object: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MovieRecommender { @@ -504,7 +504,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MovieRecommender { diff --git a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/generics-as-qualifiers.adoc b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/generics-as-qualifiers.adoc index f4dac3a046..2182e114d7 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/generics-as-qualifiers.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/generics-as-qualifiers.adoc @@ -9,7 +9,7 @@ configuration: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class MyConfiguration { @@ -28,7 +28,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class MyConfiguration { @@ -50,7 +50,7 @@ used as a qualifier, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Autowired private Store s1; // qualifier, injects the stringStore bean @@ -61,7 +61,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Autowired private lateinit var s1: Store // qualifier, injects the stringStore bean @@ -78,7 +78,7 @@ following example autowires a generic `List`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Inject all Store beans as long as they have an generic // Store beans will not appear in this list @@ -88,7 +88,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Inject all Store beans as long as they have an generic // Store beans will not appear in this list diff --git a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/postconstruct-and-predestroy-annotations.adoc b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/postconstruct-and-predestroy-annotations.adoc index 4c9a1bdcbf..12afd6d4af 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/postconstruct-and-predestroy-annotations.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/postconstruct-and-predestroy-annotations.adoc @@ -17,7 +17,7 @@ cleared upon destruction: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class CachingMovieLister { @@ -35,7 +35,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class CachingMovieLister { diff --git a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/resource.adoc b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/resource.adoc index 370471e57d..0c24fd143a 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/resource.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/resource.adoc @@ -15,7 +15,7 @@ as demonstrated in the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SimpleMovieLister { @@ -31,7 +31,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class SimpleMovieLister { @@ -54,7 +54,7 @@ named `movieFinder` injected into its setter method: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SimpleMovieLister { @@ -69,7 +69,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class SimpleMovieLister { @@ -103,7 +103,7 @@ named "customerPreferenceDao" and then falls back to a primary type match for th ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MovieRecommender { @@ -124,7 +124,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MovieRecommender { diff --git a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/value-annotations.adoc b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/value-annotations.adoc index 4f5fd95cad..13f20afe73 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/value-annotations.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/value-annotations.adoc @@ -7,7 +7,7 @@ ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Component public class MovieRecommender { @@ -22,7 +22,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Component class MovieRecommender(@Value("\${catalog.name}") private val catalog: String) @@ -35,7 +35,7 @@ With the following configuration: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @PropertySource("classpath:application.properties") @@ -44,7 +44,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @PropertySource("classpath:application.properties") @@ -71,7 +71,7 @@ example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class AppConfig { @@ -85,7 +85,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class AppConfig { @@ -117,7 +117,7 @@ It is possible to provide a default value as following: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Component public class MovieRecommender { @@ -132,7 +132,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Component class MovieRecommender(@Value("\${catalog.name:defaultCatalog}") private val catalog: String) @@ -148,7 +148,7 @@ provide conversion support for your own custom type, you can provide your own ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class AppConfig { @@ -164,7 +164,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class AppConfig { @@ -186,7 +186,7 @@ computed at runtime as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Component public class MovieRecommender { @@ -201,7 +201,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Component class MovieRecommender( @@ -215,7 +215,7 @@ SpEL also enables the use of more complex data structures: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Component public class MovieRecommender { @@ -231,7 +231,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Component class MovieRecommender( diff --git a/framework-docs/modules/ROOT/pages/core/beans/basics.adoc b/framework-docs/modules/ROOT/pages/core/beans/basics.adoc index 7102d7ada6..8c4697771a 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/basics.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/basics.adoc @@ -110,14 +110,14 @@ as the local file system, the Java `CLASSPATH`, and so on. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ApplicationContext context = new ClassPathXmlApplicationContext("services.xml", "daos.xml"); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val context = ClassPathXmlApplicationContext("services.xml", "daos.xml") ---- @@ -294,7 +294,7 @@ example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // create and configure beans ApplicationContext context = new ClassPathXmlApplicationContext("services.xml", "daos.xml"); @@ -308,7 +308,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.beans.factory.getBean @@ -331,14 +331,14 @@ The following example shows Groovy configuration: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ApplicationContext context = new GenericGroovyApplicationContext("services.groovy", "daos.groovy"); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val context = GenericGroovyApplicationContext("services.groovy", "daos.groovy") ---- @@ -352,7 +352,7 @@ example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- GenericApplicationContext context = new GenericApplicationContext(); new XmlBeanDefinitionReader(context).loadBeanDefinitions("services.xml", "daos.xml"); @@ -361,7 +361,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val context = GenericApplicationContext() XmlBeanDefinitionReader(context).loadBeanDefinitions("services.xml", "daos.xml") @@ -376,7 +376,7 @@ example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- GenericApplicationContext context = new GenericApplicationContext(); new GroovyBeanDefinitionReader(context).loadBeanDefinitions("services.groovy", "daos.groovy"); @@ -385,7 +385,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val context = GenericApplicationContext() GroovyBeanDefinitionReader(context).loadBeanDefinitions("services.groovy", "daos.groovy") diff --git a/framework-docs/modules/ROOT/pages/core/beans/beanfactory.adoc b/framework-docs/modules/ROOT/pages/core/beans/beanfactory.adoc index 3283795774..42d873fb82 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/beanfactory.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/beanfactory.adoc @@ -90,7 +90,7 @@ you need to programmatically call `addBeanPostProcessor`, as the following examp ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); // populate the factory with bean definitions @@ -104,7 +104,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val factory = DefaultListableBeanFactory() // populate the factory with bean definitions @@ -124,7 +124,7 @@ you need to call its `postProcessBeanFactory` method, as the following example s ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(factory); @@ -140,7 +140,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val factory = DefaultListableBeanFactory() val reader = XmlBeanDefinitionReader(factory) diff --git a/framework-docs/modules/ROOT/pages/core/beans/classpath-scanning.adoc b/framework-docs/modules/ROOT/pages/core/beans/classpath-scanning.adoc index 8a0e96e6da..17de79ab3c 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/classpath-scanning.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/classpath-scanning.adoc @@ -59,7 +59,7 @@ is meta-annotated with `@Component`, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @@ -74,7 +74,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Target(AnnotationTarget.TYPE) @Retention(AnnotationRetention.RUNTIME) @@ -103,7 +103,7 @@ customization of the `proxyMode`. The following listing shows the definition of ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @@ -123,7 +123,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Target(AnnotationTarget.TYPE, AnnotationTarget.FUNCTION) @Retention(AnnotationRetention.RUNTIME) @@ -142,7 +142,7 @@ You can then use `@SessionScope` without declaring the `proxyMode` as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Service @SessionScope @@ -153,7 +153,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Service @SessionScope @@ -169,7 +169,7 @@ You can also override the value for the `proxyMode`, as the following example sh ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Service @SessionScope(proxyMode = ScopedProxyMode.INTERFACES) @@ -180,7 +180,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Service @SessionScope(proxyMode = ScopedProxyMode.INTERFACES) @@ -207,7 +207,7 @@ are eligible for such autodetection: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Service public class SimpleMovieLister { @@ -222,7 +222,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Service class SimpleMovieLister(private val movieFinder: MovieFinder) @@ -233,7 +233,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Repository public class JpaMovieFinder implements MovieFinder { @@ -243,7 +243,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Repository class JpaMovieFinder : MovieFinder { @@ -262,7 +262,7 @@ comma- or semicolon- or space-separated list that includes the parent package of ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan(basePackages = "org.example") @@ -273,7 +273,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan(basePackages = ["org.example"]) @@ -380,7 +380,7 @@ and using "`stub`" repositories instead: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan(basePackages = "org.example", @@ -393,7 +393,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan(basePackages = ["org.example"], @@ -438,7 +438,7 @@ annotated classes. The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Component public class FactoryMethodComponent { @@ -457,7 +457,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Component class FactoryMethodComponent { @@ -493,7 +493,7 @@ support for autowiring of `@Bean` methods. The following example shows how to do ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Component public class FactoryMethodComponent { @@ -532,7 +532,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Component class FactoryMethodComponent { @@ -585,7 +585,7 @@ The following example shows how to use `InjectionPoint`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Component public class FactoryMethodComponent { @@ -599,7 +599,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Component class FactoryMethodComponent { @@ -699,7 +699,7 @@ following component classes were detected, the names would be `myMovieLister` an ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Service("myMovieLister") public class SimpleMovieLister { @@ -709,7 +709,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Service("myMovieLister") class SimpleMovieLister { @@ -722,7 +722,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Repository public class MovieFinderImpl implements MovieFinder { @@ -732,7 +732,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Repository class MovieFinderImpl : MovieFinder { @@ -759,7 +759,7 @@ fully qualified class name for the generated bean name. The ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan(basePackages = "org.example", nameGenerator = MyNameGenerator.class) @@ -770,7 +770,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan(basePackages = ["org.example"], nameGenerator = MyNameGenerator::class) @@ -806,7 +806,7 @@ scope within the annotation, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Scope("prototype") @Repository @@ -817,7 +817,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Scope("prototype") @Repository @@ -849,7 +849,7 @@ an annotation and a bean definition shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan(basePackages = "org.example", scopeResolver = MyScopeResolver.class) @@ -860,7 +860,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan(basePackages = ["org.example"], scopeResolver = MyScopeResolver::class) @@ -887,7 +887,7 @@ the following configuration results in standard JDK dynamic proxies: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan(basePackages = "org.example", scopedProxy = ScopedProxyMode.INTERFACES) @@ -898,7 +898,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan(basePackages = ["org.example"], scopedProxy = ScopedProxyMode.INTERFACES) @@ -934,7 +934,7 @@ technique: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Component @Qualifier("Action") @@ -945,7 +945,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Component @Qualifier("Action") @@ -957,7 +957,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Component @Genre("Action") @@ -968,7 +968,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Component @Genre("Action") @@ -982,7 +982,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Component @Offline @@ -993,7 +993,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Component @Offline diff --git a/framework-docs/modules/ROOT/pages/core/beans/context-introduction.adoc b/framework-docs/modules/ROOT/pages/core/beans/context-introduction.adoc index 775b3cbe10..c3108040c3 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/context-introduction.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/context-introduction.adoc @@ -102,7 +102,7 @@ implementations and so can be cast to the `MessageSource` interface. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public static void main(String[] args) { MessageSource resources = new ClassPathXmlApplicationContext("beans.xml"); @@ -113,7 +113,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun main() { val resources = ClassPathXmlApplicationContext("beans.xml") @@ -161,7 +161,7 @@ converted into `String` objects and inserted into placeholders in the lookup mes ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class Example { @@ -181,7 +181,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class Example { @@ -224,7 +224,7 @@ argument.required=Ebagum lad, the ''{0}'' argument is required, I say, required. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public static void main(final String[] args) { MessageSource resources = new ClassPathXmlApplicationContext("beans.xml"); @@ -236,7 +236,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun main() { val resources = ClassPathXmlApplicationContext("beans.xml") @@ -344,7 +344,7 @@ simple class that extends Spring's `ApplicationEvent` base class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class BlockedListEvent extends ApplicationEvent { @@ -363,7 +363,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class BlockedListEvent(source: Any, val address: String, @@ -380,7 +380,7 @@ example shows such a class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class EmailService implements ApplicationEventPublisherAware { @@ -407,7 +407,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class EmailService : ApplicationEventPublisherAware { @@ -447,7 +447,7 @@ shows such a class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class BlockedListNotifier implements ApplicationListener { @@ -465,7 +465,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class BlockedListNotifier : ApplicationListener { @@ -545,7 +545,7 @@ You can register an event listener on any method of a managed bean by using the ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class BlockedListNotifier { @@ -564,7 +564,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class BlockedListNotifier { @@ -591,7 +591,7 @@ following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @EventListener({ContextStartedEvent.class, ContextRefreshedEvent.class}) public void handleContextStart() { @@ -601,7 +601,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @EventListener(ContextStartedEvent::class, ContextRefreshedEvent::class) fun handleContextStart() { @@ -621,7 +621,7 @@ The following example shows how our notifier can be rewritten to be invoked only ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @EventListener(condition = "#blEvent.content == 'my-event'") public void processBlockedListEvent(BlockedListEvent blEvent) { @@ -631,7 +631,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @EventListener(condition = "#blEvent.content == 'my-event'") fun processBlockedListEvent(blEvent: BlockedListEvent) { @@ -677,7 +677,7 @@ method signature to return the event that should be published, as the following ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @EventListener public ListUpdateEvent handleBlockedListEvent(BlockedListEvent event) { @@ -688,7 +688,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @EventListener fun handleBlockedListEvent(event: BlockedListEvent): ListUpdateEvent { @@ -717,7 +717,7 @@ The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @EventListener @Async @@ -728,7 +728,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @EventListener @Async @@ -763,7 +763,7 @@ annotation to the method declaration, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @EventListener @Order(42) @@ -774,7 +774,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @EventListener @Order(42) @@ -797,7 +797,7 @@ can create the following listener definition to receive only `EntityCreatedEvent ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @EventListener public void onPersonCreated(EntityCreatedEvent event) { @@ -807,7 +807,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @EventListener fun onPersonCreated(event: EntityCreatedEvent) { @@ -829,7 +829,7 @@ environment provides. The following event shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class EntityCreatedEvent extends ApplicationEvent implements ResolvableTypeProvider { @@ -846,7 +846,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class EntityCreatedEvent(entity: T) : ApplicationEvent(entity), ResolvableTypeProvider { @@ -935,7 +935,7 @@ Here is an example of instrumentation in the `AnnotationConfigApplicationContext ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // create a startup step and start recording StartupStep scanPackages = getApplicationStartup().start("spring.context.base-packages.scan"); @@ -949,7 +949,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // create a startup step and start recording val scanPackages = getApplicationStartup().start("spring.context.base-packages.scan") diff --git a/framework-docs/modules/ROOT/pages/core/beans/context-load-time-weaver.adoc b/framework-docs/modules/ROOT/pages/core/beans/context-load-time-weaver.adoc index 25943592c0..3857be9891 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/context-load-time-weaver.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/context-load-time-weaver.adoc @@ -11,7 +11,7 @@ To enable load-time weaving, you can add the `@EnableLoadTimeWeaving` to one of ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableLoadTimeWeaving @@ -21,7 +21,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableLoadTimeWeaving diff --git a/framework-docs/modules/ROOT/pages/core/beans/definition.adoc b/framework-docs/modules/ROOT/pages/core/beans/definition.adoc index a37dd34aba..766db398a1 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/definition.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/definition.adoc @@ -298,7 +298,7 @@ The following example shows a class that would work with the preceding bean defi ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class ClientService { private static ClientService clientService = new ClientService(); @@ -312,7 +312,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ClientService private constructor() { companion object { @@ -378,7 +378,7 @@ The following example shows the corresponding class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class DefaultServiceLocator { @@ -392,7 +392,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class DefaultServiceLocator { companion object { @@ -428,7 +428,7 @@ The following example shows the corresponding class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class DefaultServiceLocator { @@ -448,7 +448,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class DefaultServiceLocator { companion object { diff --git a/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-collaborators.adoc b/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-collaborators.adoc index ad4358b3a0..2559135e4d 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-collaborators.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-collaborators.adoc @@ -34,7 +34,7 @@ injection: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SimpleMovieLister { @@ -52,7 +52,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // a constructor so that the Spring container can inject a MovieFinder class SimpleMovieLister(private val movieFinder: MovieFinder) { @@ -77,7 +77,7 @@ being instantiated. Consider the following class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package x.y; @@ -91,7 +91,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package x.y @@ -127,7 +127,7 @@ by type without help. Consider the following class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package examples; @@ -148,7 +148,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package examples @@ -221,7 +221,7 @@ then have to look as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package examples; @@ -239,7 +239,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package examples @@ -265,7 +265,7 @@ on container specific interfaces, base classes, or annotations. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SimpleMovieLister { @@ -283,7 +283,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class SimpleMovieLister { @@ -440,7 +440,7 @@ The following example shows the corresponding `ExampleBean` class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class ExampleBean { @@ -466,7 +466,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ExampleBean { lateinit var beanOne: AnotherBean @@ -503,7 +503,7 @@ The following example shows the corresponding `ExampleBean` class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class ExampleBean { @@ -524,7 +524,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ExampleBean( private val beanOne: AnotherBean, @@ -557,7 +557,7 @@ The following example shows the corresponding `ExampleBean` class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class ExampleBean { @@ -581,7 +581,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ExampleBean private constructor() { companion object { diff --git a/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-method-injection.adoc b/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-method-injection.adoc index 3738a55f81..6cfb9e5c9a 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-method-injection.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-method-injection.adoc @@ -21,7 +21,7 @@ shows this approach: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages",fold="none"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages",fold="none"] ---- package fiona.apple; @@ -60,7 +60,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages",fold="none"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages",fold="none"] ---- package fiona.apple @@ -137,7 +137,7 @@ the reworked example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages",fold="none"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages",fold="none"] ---- package fiona.apple; @@ -160,7 +160,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages",fold="none"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages",fold="none"] ---- package fiona.apple @@ -220,7 +220,7 @@ method through the `@Lookup` annotation, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public abstract class CommandManager { @@ -237,7 +237,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- abstract class CommandManager { @@ -260,7 +260,7 @@ declared return type of the lookup method: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public abstract class CommandManager { @@ -277,7 +277,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- abstract class CommandManager { @@ -324,7 +324,7 @@ the following class, which has a method called `computeValue` that we want to ov ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MyValueCalculator { @@ -338,7 +338,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MyValueCalculator { @@ -358,7 +358,7 @@ interface provides the new method definition, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- /** * meant to be used to override the existing computeValue(String) @@ -377,7 +377,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- /** * meant to be used to override the existing computeValue(String) diff --git a/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-properties-detailed.adoc b/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-properties-detailed.adoc index ded99ad42d..9bf3d3e278 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-properties-detailed.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-properties-detailed.adoc @@ -354,7 +354,7 @@ The following Java class and bean definition show how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SomeClass { @@ -368,7 +368,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class SomeClass { lateinit var accounts: Map @@ -418,14 +418,14 @@ The preceding example is equivalent to the following Java code: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- exampleBean.setEmail(""); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- exampleBean.email = "" ---- @@ -449,14 +449,14 @@ The preceding configuration is equivalent to the following Java code: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- exampleBean.setEmail(null); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- exampleBean.email = null ---- diff --git a/framework-docs/modules/ROOT/pages/core/beans/environment.adoc b/framework-docs/modules/ROOT/pages/core/beans/environment.adoc index ac8085f0e2..3b1c8898be 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/environment.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/environment.adoc @@ -43,7 +43,7 @@ Consider the first use case in a practical application that requires a ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Bean public DataSource dataSource() { @@ -57,7 +57,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Bean fun dataSource(): DataSource { @@ -79,7 +79,7 @@ now looks like the following listing: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Bean(destroyMethod = "") public DataSource dataSource() throws Exception { @@ -90,7 +90,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Bean(destroyMethod = "") fun dataSource(): DataSource { @@ -128,7 +128,7 @@ can rewrite the `dataSource` configuration as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @Profile("development") @@ -147,7 +147,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @Profile("development") @@ -171,7 +171,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @Profile("production") @@ -188,7 +188,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @Profile("production") @@ -233,7 +233,7 @@ of creating a custom composed annotation. The following example defines a custom ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @@ -244,7 +244,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Target(AnnotationTarget.CLASS) @Retention(AnnotationRetention.RUNTIME) @@ -272,7 +272,7 @@ the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class AppConfig { @@ -300,7 +300,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class AppConfig { @@ -454,7 +454,7 @@ it programmatically against the `Environment` API which is available through an ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); ctx.getEnvironment().setActiveProfiles("development"); @@ -464,7 +464,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val ctx = AnnotationConfigApplicationContext().apply { environment.setActiveProfiles("development") @@ -491,14 +491,14 @@ activates multiple profiles: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ctx.getEnvironment().setActiveProfiles("profile1", "profile2"); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- ctx.getEnvironment().setActiveProfiles("profile1", "profile2") ---- @@ -523,7 +523,7 @@ the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @Profile("default") @@ -541,7 +541,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @Profile("default") @@ -578,7 +578,7 @@ hierarchy of property sources. Consider the following listing: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ApplicationContext ctx = new GenericApplicationContext(); Environment env = ctx.getEnvironment(); @@ -588,7 +588,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val ctx = GenericApplicationContext() val env = ctx.environment @@ -643,7 +643,7 @@ current `Environment`. The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ConfigurableApplicationContext ctx = new GenericApplicationContext(); MutablePropertySources sources = ctx.getEnvironment().getPropertySources(); @@ -652,7 +652,7 @@ sources.addFirst(new MyPropertySource()); Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val ctx = GenericApplicationContext() val sources = ctx.environment.propertySources @@ -684,7 +684,7 @@ a call to `testBean.getName()` returns `myTestBean`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @PropertySource("classpath:/com/myco/app.properties") @@ -704,7 +704,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @PropertySource("classpath:/com/myco/app.properties") @@ -729,7 +729,7 @@ environment, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @PropertySource("classpath:/com/${my.placeholder:default/path}/app.properties") @@ -749,7 +749,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @PropertySource("classpath:/com/\${my.placeholder:default/path}/app.properties") diff --git a/framework-docs/modules/ROOT/pages/core/beans/factory-extension.adoc b/framework-docs/modules/ROOT/pages/core/beans/factory-extension.adoc index 93e8e7a81d..cf9e68e3a8 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/factory-extension.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/factory-extension.adoc @@ -123,7 +123,7 @@ The following listing shows the custom `BeanPostProcessor` implementation class ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package scripting; @@ -145,7 +145,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package scripting @@ -205,7 +205,7 @@ The following Java application runs the preceding code and configuration: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; @@ -224,7 +224,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.beans.factory.getBean diff --git a/framework-docs/modules/ROOT/pages/core/beans/factory-nature.adoc b/framework-docs/modules/ROOT/pages/core/beans/factory-nature.adoc index 7ed7cd0118..9614299fc6 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/factory-nature.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/factory-nature.adoc @@ -72,7 +72,7 @@ no-argument signature. With Java configuration, you can use the `initMethod` att ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class ExampleBean { @@ -84,7 +84,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ExampleBean { @@ -107,7 +107,7 @@ The preceding example has almost exactly the same effect as the following exampl ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class AnotherExampleBean implements InitializingBean { @@ -120,7 +120,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class AnotherExampleBean : InitializingBean { @@ -187,7 +187,7 @@ xref:core/beans/java/bean-annotation.adoc#beans-java-lifecycle-callbacks[Receivi ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class ExampleBean { @@ -199,7 +199,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ExampleBean { @@ -221,7 +221,7 @@ The preceding definition has almost exactly the same effect as the following def ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class AnotherExampleBean implements DisposableBean { @@ -234,7 +234,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class AnotherExampleBean : DisposableBean { @@ -295,7 +295,7 @@ following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class DefaultBlogService implements BlogService { @@ -316,7 +316,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class DefaultBlogService : BlogService { @@ -551,7 +551,7 @@ declared on the `ConfigurableApplicationContext` interface, as the following exa ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; @@ -573,7 +573,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.context.support.ClassPathXmlApplicationContext diff --git a/framework-docs/modules/ROOT/pages/core/beans/factory-scopes.adoc b/framework-docs/modules/ROOT/pages/core/beans/factory-scopes.adoc index 6049003235..df5b753514 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/factory-scopes.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/factory-scopes.adoc @@ -251,7 +251,7 @@ to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RequestScope @Component @@ -262,7 +262,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RequestScope @Component @@ -301,7 +301,7 @@ When using annotation-driven components or Java configuration, you can use the ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SessionScope @Component @@ -312,7 +312,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SessionScope @Component @@ -350,7 +350,7 @@ following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ApplicationScope @Component @@ -361,7 +361,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ApplicationScope @Component @@ -584,14 +584,14 @@ underlying scope: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Object get(String name, ObjectFactory objectFactory) ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun get(name: String, objectFactory: ObjectFactory<*>): Any ---- @@ -606,14 +606,14 @@ the underlying scope: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Object remove(String name) ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun remove(name: String): Any ---- @@ -626,14 +626,14 @@ destroyed or when the specified object in the scope is destroyed: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- void registerDestructionCallback(String name, Runnable destructionCallback) ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun registerDestructionCallback(name: String, destructionCallback: Runnable) ---- @@ -648,14 +648,14 @@ The following method obtains the conversation identifier for the underlying scop ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- String getConversationId() ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun getConversationId(): String ---- @@ -677,14 +677,14 @@ method to register a new `Scope` with the Spring container: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- void registerScope(String scopeName, Scope scope); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun registerScope(scopeName: String, scope: Scope) ---- @@ -710,7 +710,7 @@ implementations. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Scope threadScope = new SimpleThreadScope(); beanFactory.registerScope("thread", threadScope); @@ -718,7 +718,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val threadScope = SimpleThreadScope() beanFactory.registerScope("thread", threadScope) diff --git a/framework-docs/modules/ROOT/pages/core/beans/java/basic-concepts.adoc b/framework-docs/modules/ROOT/pages/core/beans/java/basic-concepts.adoc index 5b92778389..beb9764a0f 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/java/basic-concepts.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/java/basic-concepts.adoc @@ -19,7 +19,7 @@ The simplest possible `@Configuration` class reads as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class AppConfig { @@ -33,7 +33,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class AppConfig { diff --git a/framework-docs/modules/ROOT/pages/core/beans/java/bean-annotation.adoc b/framework-docs/modules/ROOT/pages/core/beans/java/bean-annotation.adoc index 4e089707ac..dcc181d515 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/java/bean-annotation.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/java/bean-annotation.adoc @@ -25,7 +25,7 @@ the method name. The following example shows a `@Bean` method declaration: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class AppConfig { @@ -39,7 +39,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class AppConfig { @@ -75,7 +75,7 @@ configurations by implementing interfaces with bean definitions on default metho ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public interface BaseConfig { @@ -99,7 +99,7 @@ return type, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class AppConfig { @@ -113,7 +113,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class AppConfig { @@ -153,7 +153,7 @@ parameter, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class AppConfig { @@ -167,7 +167,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class AppConfig { @@ -211,7 +211,7 @@ on the `bean` element, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class BeanOne { @@ -244,7 +244,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class BeanOne { @@ -291,7 +291,7 @@ The following example shows how to prevent an automatic destruction callback for ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Bean(destroyMethod = "") public DataSource dataSource() throws NamingException { @@ -301,7 +301,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Bean(destroyMethod = "") fun dataSource(): DataSource { @@ -326,7 +326,7 @@ following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class AppConfig { @@ -344,7 +344,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class AppConfig { @@ -382,7 +382,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class MyConfiguration { @@ -397,7 +397,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class MyConfiguration { @@ -431,7 +431,7 @@ it resembles the following: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // an HTTP Session-scoped bean exposed as a proxy @Bean @@ -451,7 +451,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // an HTTP Session-scoped bean exposed as a proxy @Bean @@ -479,7 +479,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class AppConfig { @@ -493,7 +493,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class AppConfig { @@ -517,7 +517,7 @@ The following example shows how to set a number of aliases for a bean: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class AppConfig { @@ -531,7 +531,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class AppConfig { @@ -559,7 +559,7 @@ annotation, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class AppConfig { @@ -574,7 +574,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class AppConfig { diff --git a/framework-docs/modules/ROOT/pages/core/beans/java/composing-configuration-classes.adoc b/framework-docs/modules/ROOT/pages/core/beans/java/composing-configuration-classes.adoc index 1903c656a8..5a487ab647 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/java/composing-configuration-classes.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/java/composing-configuration-classes.adoc @@ -16,7 +16,7 @@ another configuration class, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class ConfigA { @@ -40,7 +40,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class ConfigA { @@ -67,7 +67,7 @@ following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public static void main(String[] args) { ApplicationContext ctx = new AnnotationConfigApplicationContext(ConfigB.class); @@ -80,7 +80,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.beans.factory.getBean @@ -123,7 +123,7 @@ classes, each depending on beans declared in the others: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class ServiceConfig { @@ -163,7 +163,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.beans.factory.getBean @@ -234,7 +234,7 @@ The following example shows how one bean can be autowired to another bean: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class ServiceConfig { @@ -283,7 +283,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.beans.factory.getBean @@ -353,7 +353,7 @@ configuration classes themselves. The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class ServiceConfig { @@ -371,7 +371,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class ServiceConfig { @@ -397,7 +397,7 @@ abstract class-based `@Configuration` classes. Consider the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class ServiceConfig { @@ -447,7 +447,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.beans.factory.getBean @@ -570,7 +570,7 @@ method that returns `true` or `false`. For example, the following listing shows ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { @@ -590,7 +590,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- override fun matches(context: ConditionContext, metadata: AnnotatedTypeMetadata): Boolean { // Read the @Profile annotation attributes @@ -649,7 +649,7 @@ The following example shows the `AppConfig` configuration class in Java and Kotl ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class AppConfig { @@ -671,7 +671,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class AppConfig { @@ -723,7 +723,7 @@ jdbc.password= ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:/com/acme/system-test-config.xml"); @@ -734,7 +734,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun main() { val ctx = ClassPathXmlApplicationContext("classpath:/com/acme/system-test-config.xml") @@ -794,7 +794,7 @@ annotation to achieve "`Java-centric`" configuration that uses XML as needed: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @ImportResource("classpath:/com/acme/properties-config.xml") @@ -829,7 +829,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @ImportResource("classpath:/com/acme/properties-config.xml") @@ -883,7 +883,7 @@ jdbc.password= ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public static void main(String[] args) { ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class); @@ -894,7 +894,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.beans.factory.getBean diff --git a/framework-docs/modules/ROOT/pages/core/beans/java/configuration-annotation.adoc b/framework-docs/modules/ROOT/pages/core/beans/java/configuration-annotation.adoc index d265db7e75..0ed5254a1a 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/java/configuration-annotation.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/java/configuration-annotation.adoc @@ -17,7 +17,7 @@ as having one bean method call another, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class AppConfig { @@ -36,7 +36,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class AppConfig { @@ -72,7 +72,7 @@ following example shows how to use lookup method injection: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public abstract class CommandManager { public Object process(Object commandState) { @@ -90,7 +90,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- abstract class CommandManager { fun process(commandState: Any): Any { @@ -115,7 +115,7 @@ the abstract `createCommand()` method is overridden in such a way that it looks ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Bean @Scope("prototype") @@ -139,7 +139,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Bean @Scope("prototype") @@ -172,7 +172,7 @@ Consider the following example, which shows a `@Bean` annotated method being cal ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class AppConfig { @@ -200,7 +200,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class AppConfig { diff --git a/framework-docs/modules/ROOT/pages/core/beans/java/instantiating-container.adoc b/framework-docs/modules/ROOT/pages/core/beans/java/instantiating-container.adoc index 137bfe2839..3618e83904 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/java/instantiating-container.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/java/instantiating-container.adoc @@ -27,7 +27,7 @@ XML-free usage of the Spring container, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public static void main(String[] args) { ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class); @@ -38,7 +38,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.beans.factory.getBean @@ -58,7 +58,7 @@ as input to the constructor, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public static void main(String[] args) { ApplicationContext ctx = new AnnotationConfigApplicationContext(MyServiceImpl.class, Dependency1.class, Dependency2.class); @@ -69,7 +69,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.beans.factory.getBean @@ -97,7 +97,7 @@ example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public static void main(String[] args) { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); @@ -111,7 +111,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.beans.factory.getBean @@ -136,7 +136,7 @@ To enable component scanning, you can annotate your `@Configuration` class as fo ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan(basePackages = "com.acme") // <1> @@ -148,7 +148,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan(basePackages = ["com.acme"]) // <1> @@ -183,7 +183,7 @@ following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public static void main(String[] args) { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); @@ -195,7 +195,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun main() { val ctx = AnnotationConfigApplicationContext() diff --git a/framework-docs/modules/ROOT/pages/core/beans/standard-annotations.adoc b/framework-docs/modules/ROOT/pages/core/beans/standard-annotations.adoc index d9929bea3d..666edbeb61 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/standard-annotations.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/standard-annotations.adoc @@ -33,7 +33,7 @@ Instead of `@Autowired`, you can use `@jakarta.inject.Inject` as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import jakarta.inject.Inject; @@ -55,7 +55,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import jakarta.inject.Inject @@ -83,7 +83,7 @@ preceding example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import jakarta.inject.Inject; import jakarta.inject.Provider; @@ -106,7 +106,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import jakarta.inject.Inject @@ -131,7 +131,7 @@ you should use the `@Named` annotation, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import jakarta.inject.Inject; import jakarta.inject.Named; @@ -151,7 +151,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import jakarta.inject.Inject import jakarta.inject.Named @@ -190,7 +190,7 @@ a `required` attribute. The following pair of examples show how to use `@Inject` ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SimpleMovieLister { @@ -203,7 +203,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class SimpleMovieLister { @@ -225,7 +225,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import jakarta.inject.Inject; import jakarta.inject.Named; @@ -246,7 +246,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import jakarta.inject.Inject import jakarta.inject.Named @@ -269,7 +269,7 @@ It is very common to use `@Component` without specifying a name for the componen ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import jakarta.inject.Inject; import jakarta.inject.Named; @@ -290,7 +290,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import jakarta.inject.Inject import jakarta.inject.Named @@ -313,7 +313,7 @@ exact same way as when you use Spring annotations, as the following example show ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan(basePackages = "org.example") @@ -324,7 +324,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan(basePackages = ["org.example"]) diff --git a/framework-docs/modules/ROOT/pages/core/databuffer-codec.adoc b/framework-docs/modules/ROOT/pages/core/databuffer-codec.adoc index afa9a50dc9..120d345bc1 100644 --- a/framework-docs/modules/ROOT/pages/core/databuffer-codec.adoc +++ b/framework-docs/modules/ROOT/pages/core/databuffer-codec.adoc @@ -144,7 +144,7 @@ a serialization error occurs while populating the buffer with data. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- DataBuffer buffer = factory.allocateBuffer(); boolean release = true; @@ -162,7 +162,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val buffer = factory.allocateBuffer() var release = true diff --git a/framework-docs/modules/ROOT/pages/core/expressions/evaluation.adoc b/framework-docs/modules/ROOT/pages/core/expressions/evaluation.adoc index 618472e806..e724a393e4 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/evaluation.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/evaluation.adoc @@ -12,7 +12,7 @@ expression, `Hello World`. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); Expression exp = parser.parseExpression("'Hello World'"); // <1> @@ -22,7 +22,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val exp = parser.parseExpression("'Hello World'") // <1> @@ -51,7 +51,7 @@ literal, `Hello World`. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); Expression exp = parser.parseExpression("'Hello World'.concat('!')"); // <1> @@ -61,7 +61,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val exp = parser.parseExpression("'Hello World'.concat('!')") // <1> @@ -77,7 +77,7 @@ string literal, `Hello World`. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); @@ -89,7 +89,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() @@ -110,7 +110,7 @@ The following example shows how to use dot notation to get the length of a strin ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); @@ -122,7 +122,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() @@ -140,7 +140,7 @@ example shows. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); Expression exp = parser.parseExpression("new String('hello world').toUpperCase()"); // <1> @@ -150,7 +150,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val exp = parser.parseExpression("new String('hello world').toUpperCase()") // <1> @@ -173,7 +173,7 @@ reference the `name` property in a boolean expression. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Create and set a calendar GregorianCalendar c = new GregorianCalendar(); @@ -195,7 +195,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Create and set a calendar val c = GregorianCalendar() @@ -275,7 +275,7 @@ being placed in it. The following example shows how to do so. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class Simple { public List booleanList = new ArrayList<>(); @@ -296,7 +296,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class Simple { var booleanList: MutableList = ArrayList() @@ -339,7 +339,7 @@ automatically grow a `List`. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class Demo { public List list; @@ -364,7 +364,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class Demo { var list: List? = null @@ -470,7 +470,7 @@ following example shows how to do so. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- SpelParserConfiguration config = new SpelParserConfiguration(SpelCompilerMode.IMMEDIATE, this.getClass().getClassLoader()); @@ -486,7 +486,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val config = SpelParserConfiguration(SpelCompilerMode.IMMEDIATE, this.javaClass.classLoader) diff --git a/framework-docs/modules/ROOT/pages/core/expressions/example-classes.adoc b/framework-docs/modules/ROOT/pages/core/expressions/example-classes.adoc index b85702e3ae..2e63732cee 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/example-classes.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/example-classes.adoc @@ -9,7 +9,7 @@ This section lists the classes used in the examples throughout this chapter. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package org.spring.samples.spel.inventor; @@ -84,7 +84,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package org.spring.samples.spel.inventor @@ -103,7 +103,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package org.spring.samples.spel.inventor; @@ -141,7 +141,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package org.spring.samples.spel.inventor @@ -155,7 +155,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package org.spring.samples.spel.inventor; @@ -200,7 +200,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package org.spring.samples.spel.inventor diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/array-construction.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/array-construction.adoc index 4bc9317422..aad7043621 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/array-construction.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/array-construction.adoc @@ -8,7 +8,7 @@ to have the array populated at construction time. The following example shows ho ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- int[] numbers1 = (int[]) parser.parseExpression("new int[4]").getValue(context); @@ -21,7 +21,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val numbers1 = parser.parseExpression("new int[4]").getValue(context) as IntArray diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/bean-references.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/bean-references.adoc index 51f79b2e38..1102db79de 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/bean-references.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/bean-references.adoc @@ -9,7 +9,7 @@ to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); StandardEvaluationContext context = new StandardEvaluationContext(); @@ -22,7 +22,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val context = StandardEvaluationContext() @@ -47,7 +47,7 @@ symbol. The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); StandardEvaluationContext context = new StandardEvaluationContext(); @@ -60,7 +60,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val context = StandardEvaluationContext() diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/collection-projection.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/collection-projection.adoc index 78a3ec21fe..2f4ad28fa1 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/collection-projection.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/collection-projection.adoc @@ -11,7 +11,7 @@ list. The following example uses projection to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // evaluates to ["Smiljan", "Idvor"] List placesOfBirth = parser.parseExpression("members.![placeOfBirth.city]") @@ -20,7 +20,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // evaluates to ["Smiljan", "Idvor"] val placesOfBirth = parser.parseExpression("members.![placeOfBirth.city]") diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/collection-selection.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/collection-selection.adoc index b87bc17334..5f66882d60 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/collection-selection.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/collection-selection.adoc @@ -12,7 +12,7 @@ selection lets us easily get a list of Serbian inventors, as the following examp ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- List list = (List) parser.parseExpression( "members.?[nationality == 'Serbian']").getValue(societyContext); @@ -20,7 +20,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val list = parser.parseExpression( "members.?[nationality == 'Serbian']").getValue(societyContext) as List @@ -41,14 +41,14 @@ than 27: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Map newMap = parser.parseExpression("#map.?[value < 27]").getValue(Map.class); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val newMap = parser.parseExpression("#map.?[value < 27]").getValue() as Map ---- diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/constructors.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/constructors.adoc index a35513c9c1..4003036a7f 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/constructors.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/constructors.adoc @@ -10,7 +10,7 @@ qualified class name for all types except those located in the `java.lang` packa ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Inventor einstein = p.parseExpression( "new org.spring.samples.spel.inventor.Inventor('Albert Einstein', 'German')") @@ -24,7 +24,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val einstein = p.parseExpression( "new org.spring.samples.spel.inventor.Inventor('Albert Einstein', 'German')") diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/functions.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/functions.adoc index 6e1e2bf81f..a569fda194 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/functions.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/functions.adoc @@ -26,7 +26,7 @@ reflection using a `java.lang.reflect.Method`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Method method = ...; @@ -36,7 +36,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val method: Method = ... @@ -51,7 +51,7 @@ For example, consider the following utility method that reverses a string: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public abstract class StringUtils { @@ -63,7 +63,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun reverseString(input: String): String { return StringBuilder(input).reverse().toString() @@ -77,7 +77,7 @@ You can register and use the preceding method, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); @@ -92,7 +92,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() @@ -120,7 +120,7 @@ example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); EvaluationContext context = SimpleEvaluationContext.forReadOnlyDataBinding().build(); @@ -136,7 +136,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val context = SimpleEvaluationContext.forReadOnlyDataBinding().build() @@ -160,7 +160,7 @@ following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); EvaluationContext context = SimpleEvaluationContext.forReadOnlyDataBinding().build(); @@ -180,7 +180,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val context = SimpleEvaluationContext.forReadOnlyDataBinding().build() diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/inline-lists.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/inline-lists.adoc index 463d54d809..5bcea13768 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/inline-lists.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/inline-lists.adoc @@ -7,7 +7,7 @@ You can directly express lists in an expression by using `{}` notation. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // evaluates to a Java list containing the four numbers List numbers = (List) parser.parseExpression("{1,2,3,4}").getValue(context); @@ -17,7 +17,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // evaluates to a Java list containing the four numbers val numbers = parser.parseExpression("{1,2,3,4}").getValue(context) as List<*> diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/inline-maps.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/inline-maps.adoc index 2b972329cd..122b3d6512 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/inline-maps.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/inline-maps.adoc @@ -8,7 +8,7 @@ following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // evaluates to a Java map containing the two entries Map inventorInfo = (Map) parser.parseExpression("{name:'Nikola',dob:'10-July-1856'}").getValue(context); @@ -18,7 +18,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- // evaluates to a Java map containing the two entries val inventorInfo = parser.parseExpression("{name:'Nikola',dob:'10-July-1856'}").getValue(context) as Map<*, *> diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/literal.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/literal.adoc index 52b1c9c06c..a191ed6f93 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/literal.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/literal.adoc @@ -53,7 +53,7 @@ method. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); @@ -75,7 +75,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/methods.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/methods.adoc index 46c91b8362..4c9d151bab 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/methods.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/methods.adoc @@ -9,7 +9,7 @@ invoke methods: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // string literal, evaluates to "bc" String bc = parser.parseExpression("'abc'.substring(1, 3)").getValue(String.class); @@ -21,7 +21,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // string literal, evaluates to "bc" val bc = parser.parseExpression("'abc'.substring(1, 3)").getValue(String::class.java) diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operator-elvis.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operator-elvis.adoc index 3884dcadf2..5880f13f5d 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operator-elvis.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operator-elvis.adoc @@ -19,7 +19,7 @@ The following example shows how to use the Elvis operator: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); @@ -29,7 +29,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() @@ -48,7 +48,7 @@ The following listing shows a more complex example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); EvaluationContext context = SimpleEvaluationContext.forReadOnlyDataBinding().build(); @@ -64,7 +64,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val context = SimpleEvaluationContext.forReadOnlyDataBinding().build() diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operator-safe-navigation.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operator-safe-navigation.adoc index 3de85d474d..60d406cb29 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operator-safe-navigation.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operator-safe-navigation.adoc @@ -27,7 +27,7 @@ The following example shows how to use the safe navigation operator for property ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); EvaluationContext context = SimpleEvaluationContext.forReadOnlyDataBinding().build(); @@ -50,7 +50,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val context = SimpleEvaluationContext.forReadOnlyDataBinding().build() @@ -100,7 +100,7 @@ a list (`?.[]`). ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); IEEE society = new IEEE(); @@ -121,7 +121,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val society = IEEE() @@ -161,7 +161,7 @@ selection (`?.?`). ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); IEEE society = new IEEE(); @@ -182,7 +182,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val society = IEEE() @@ -209,7 +209,7 @@ collections (`?.^`). ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); IEEE society = new IEEE(); @@ -231,7 +231,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val society = IEEE() @@ -260,7 +260,7 @@ collections (`?.$`). ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); IEEE society = new IEEE(); @@ -282,7 +282,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val society = IEEE() @@ -310,7 +310,7 @@ projection (`?.!`). ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); IEEE society = new IEEE(); @@ -331,7 +331,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val society = IEEE() @@ -380,7 +380,7 @@ evaluates to `null` instead of throwing an exception. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); IEEE society = new IEEE(); @@ -401,7 +401,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val society = IEEE() diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operator-ternary.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operator-ternary.adoc index 0a834d195f..09defa1699 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operator-ternary.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operator-ternary.adoc @@ -8,7 +8,7 @@ the expression. The following listing shows a minimal example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- String falseString = parser.parseExpression( "false ? 'trueExp' : 'falseExp'").getValue(String.class); @@ -16,7 +16,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val falseString = parser.parseExpression( "false ? 'trueExp' : 'falseExp'").getValue(String::class.java) @@ -30,7 +30,7 @@ realistic example follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- parser.parseExpression("name").setValue(societyContext, "IEEE"); societyContext.setVariable("queryName", "Nikola Tesla"); @@ -45,7 +45,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- parser.parseExpression("name").setValue(societyContext, "IEEE") societyContext.setVariable("queryName", "Nikola Tesla") diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operators.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operators.adoc index f658d77d44..92c0b3db56 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operators.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/operators.adoc @@ -24,7 +24,7 @@ The following listing shows a few examples of relational operators: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // evaluates to true boolean trueValue = parser.parseExpression("2 == 2").getValue(Boolean.class); @@ -41,7 +41,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // evaluates to true val trueValue = parser.parseExpression("2 == 2").getValue(Boolean::class.java) @@ -89,7 +89,7 @@ shows examples of all three: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- boolean result; @@ -128,7 +128,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // evaluates to true var result = parser.parseExpression( @@ -195,7 +195,7 @@ The following example shows how to use the logical operators: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // -- AND -- @@ -228,7 +228,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // -- AND -- @@ -277,7 +277,7 @@ The following example shows the `String` operators in use: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // -- Concatenation -- @@ -300,7 +300,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // -- Concatenation -- @@ -358,7 +358,7 @@ The following example shows the mathematical operators in use: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Inventor inventor = new Inventor(); EvaluationContext context = SimpleEvaluationContext.forReadWriteDataBinding().build(); @@ -424,7 +424,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val inventor = Inventor() val context = SimpleEvaluationContext.forReadWriteDataBinding().build() @@ -501,7 +501,7 @@ listing shows both ways to use the assignment operator: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Inventor inventor = new Inventor(); EvaluationContext context = SimpleEvaluationContext.forReadWriteDataBinding().build(); @@ -515,7 +515,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val inventor = Inventor() val context = SimpleEvaluationContext.forReadWriteDataBinding().build() @@ -541,7 +541,7 @@ For example, if we want to overload the `ADD` operator to allow two lists to be concatenated using the `+` sign, we can implement a custom `OperatorOverloader` as follows. -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- pubic class ListConcatenation implements OperatorOverloader { @@ -576,7 +576,7 @@ as demonstrated in the following example. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- StandardEvaluationContext context = new StandardEvaluationContext(); context.setOperatorOverloader(new ListConcatenation()); @@ -587,7 +587,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- StandardEvaluationContext context = StandardEvaluationContext() context.setOperatorOverloader(ListConcatenation()) diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/properties-arrays.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/properties-arrays.adoc index f599037490..f00e2485c3 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/properties-arrays.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/properties-arrays.adoc @@ -25,7 +25,7 @@ we use the following expressions: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // evaluates to 1856 int year = (Integer) parser.parseExpression("birthdate.year + 1900").getValue(context); @@ -36,7 +36,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // evaluates to 1856 val year = parser.parseExpression("birthdate.year + 1900").getValue(context) as Int @@ -74,7 +74,7 @@ the collection using its `Iterator` and returning the n^th^ element encountered. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ExpressionParser parser = new SpelExpressionParser(); EvaluationContext context = SimpleEvaluationContext.forReadOnlyDataBinding().build(); @@ -100,7 +100,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parser = SpelExpressionParser() val context = SimpleEvaluationContext.forReadOnlyDataBinding().build() @@ -138,7 +138,7 @@ NOTE: The n^th^ character of a string will evaluate to a `java.lang.String`, not ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // evaluates to "T" (8th letter of "Nikola Tesla") String character = parser.parseExpression("members[0].name[7]") @@ -147,7 +147,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // evaluates to "T" (8th letter of "Nikola Tesla") val character = parser.parseExpression("members[0].name[7]") @@ -166,7 +166,7 @@ string literals such as `'president'`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Officer's Map @@ -191,7 +191,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Officer's Map @@ -227,7 +227,7 @@ property. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Create an inventor to use as the root context object. Inventor tesla = new Inventor("Nikola Tesla"); @@ -239,7 +239,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Create an inventor to use as the root context object. val tesla = Inventor("Nikola Tesla") @@ -325,7 +325,7 @@ into a `FruitMap` and then index into the `FruitMap` within a SpEL expression. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Create a ReflectiveIndexAccessor for FruitMap IndexAccessor fruitMapAccessor = new ReflectiveIndexAccessor( @@ -344,7 +344,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Create a ReflectiveIndexAccessor for FruitMap val fruitMapAccessor = ReflectiveIndexAccessor( diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/templating.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/templating.adoc index 1603fe0db2..6961adee6b 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/templating.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/templating.adoc @@ -10,7 +10,7 @@ shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- String randomPhrase = parser.parseExpression( "random number is #{T(java.lang.Math).random()}", @@ -21,7 +21,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val randomPhrase = parser.parseExpression( "random number is #{T(java.lang.Math).random()}", diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/types.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/types.adoc index 3d501f0de6..0068ebab81 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/types.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/types.adoc @@ -13,7 +13,7 @@ following example shows how to use the `T` operator: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Class dateClass = parser.parseExpression("T(java.util.Date)").getValue(Class.class); @@ -26,7 +26,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val dateClass = parser.parseExpression("T(java.util.Date)").getValue(Class::class.java) diff --git a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/variables.adoc b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/variables.adoc index ff285e28b5..70da818247 100644 --- a/framework-docs/modules/ROOT/pages/core/expressions/language-ref/variables.adoc +++ b/framework-docs/modules/ROOT/pages/core/expressions/language-ref/variables.adoc @@ -42,7 +42,7 @@ The following example shows how to use variables. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Inventor tesla = new Inventor("Nikola Tesla", "Serbian"); @@ -55,7 +55,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val tesla = Inventor("Nikola Tesla", "Serbian") @@ -83,7 +83,7 @@ xref:core/expressions/language-ref/collection-selection.adoc[collection selectio ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Create a list of prime integers. List primes = List.of(2, 3, 5, 7, 11, 13, 17); @@ -103,7 +103,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Create a list of prime integers. val primes = listOf(2, 3, 5, 7, 11, 13, 17) @@ -130,7 +130,7 @@ xref:core/expressions/language-ref/collection-projection.adoc[collection project ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Create parser and evaluation context. ExpressionParser parser = new SpelExpressionParser(); @@ -154,7 +154,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Create parser and evaluation context. val parser = SpelExpressionParser() diff --git a/framework-docs/modules/ROOT/pages/core/resources.adoc b/framework-docs/modules/ROOT/pages/core/resources.adoc index 3e72c1eaa8..dee9df4f1a 100644 --- a/framework-docs/modules/ROOT/pages/core/resources.adoc +++ b/framework-docs/modules/ROOT/pages/core/resources.adoc @@ -280,14 +280,14 @@ snippet of code was run against a `ClassPathXmlApplicationContext` instance: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Resource template = ctx.getResource("some/resource/path/myTemplate.txt"); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val template = ctx.getResource("some/resource/path/myTemplate.txt") ---- @@ -309,14 +309,14 @@ example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Resource template = ctx.getResource("classpath:some/resource/path/myTemplate.txt"); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val template = ctx.getResource("classpath:some/resource/path/myTemplate.txt") ---- @@ -329,14 +329,14 @@ Similarly, you can force a `UrlResource` to be used by specifying any of the sta ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Resource template = ctx.getResource("file:///some/resource/path/myTemplate.txt"); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val template = ctx.getResource("file:///some/resource/path/myTemplate.txt") ---- @@ -346,14 +346,14 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Resource template = ctx.getResource("https://myhost.com/resource/path/myTemplate.txt"); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val template = ctx.getResource("https://myhost.com/resource/path/myTemplate.txt") ---- @@ -505,7 +505,7 @@ property of type `Resource`. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- package example; @@ -523,7 +523,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MyBean(var template: Resource) ---- @@ -571,7 +571,7 @@ The following example demonstrates how to achieve this. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Component public class MyBean { @@ -588,7 +588,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Component class MyBean(@Value("\${template.path}") private val template: Resource) @@ -606,7 +606,7 @@ can be injected into the `MyBean` constructor. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Component public class MyBean { @@ -623,7 +623,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Component class MyBean(@Value("\${templates.path}") private val templates: Resource[]) @@ -657,14 +657,14 @@ specific application context. For example, consider the following example, which ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ApplicationContext ctx = new ClassPathXmlApplicationContext("conf/appContext.xml"); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val ctx = ClassPathXmlApplicationContext("conf/appContext.xml") ---- @@ -677,7 +677,7 @@ used. However, consider the following example, which creates a `FileSystemXmlApp ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ApplicationContext ctx = new FileSystemXmlApplicationContext("conf/appContext.xml"); @@ -685,7 +685,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val ctx = FileSystemXmlApplicationContext("conf/appContext.xml") ---- @@ -702,7 +702,7 @@ definitions. Consider the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ApplicationContext ctx = new FileSystemXmlApplicationContext("classpath:conf/appContext.xml"); @@ -710,7 +710,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val ctx = FileSystemXmlApplicationContext("classpath:conf/appContext.xml") ---- @@ -749,7 +749,7 @@ classpath) can be instantiated: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ApplicationContext ctx = new ClassPathXmlApplicationContext( new String[] {"services.xml", "repositories.xml"}, MessengerService.class); @@ -757,7 +757,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val ctx = ClassPathXmlApplicationContext(arrayOf("services.xml", "repositories.xml"), MessengerService::class.java) ---- @@ -843,7 +843,7 @@ special `classpath*:` prefix, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath*:conf/appContext.xml"); @@ -851,7 +851,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val ctx = ClassPathXmlApplicationContext("classpath*:conf/appContext.xml") ---- @@ -955,7 +955,7 @@ In practice, this means the following examples are equivalent: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ApplicationContext ctx = new FileSystemXmlApplicationContext("conf/context.xml"); @@ -963,7 +963,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val ctx = FileSystemXmlApplicationContext("conf/context.xml") ---- @@ -973,7 +973,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ApplicationContext ctx = new FileSystemXmlApplicationContext("/conf/context.xml"); @@ -981,7 +981,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val ctx = FileSystemXmlApplicationContext("/conf/context.xml") ---- @@ -994,7 +994,7 @@ case is relative and the other absolute): ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- FileSystemXmlApplicationContext ctx = ...; ctx.getResource("some/resource/path/myTemplate.txt"); @@ -1002,7 +1002,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val ctx: FileSystemXmlApplicationContext = ... ctx.getResource("some/resource/path/myTemplate.txt") @@ -1013,7 +1013,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- FileSystemXmlApplicationContext ctx = ...; ctx.getResource("/some/resource/path/myTemplate.txt"); @@ -1021,7 +1021,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val ctx: FileSystemXmlApplicationContext = ... ctx.getResource("/some/resource/path/myTemplate.txt") @@ -1037,7 +1037,7 @@ show how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // actual context type doesn't matter, the Resource will always be UrlResource ctx.getResource("file:///some/resource/path/myTemplate.txt"); @@ -1045,7 +1045,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // actual context type doesn't matter, the Resource will always be UrlResource ctx.getResource("file:///some/resource/path/myTemplate.txt") @@ -1056,7 +1056,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // force this FileSystemXmlApplicationContext to load its definition via a UrlResource ApplicationContext ctx = @@ -1065,7 +1065,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // force this FileSystemXmlApplicationContext to load its definition via a UrlResource val ctx = FileSystemXmlApplicationContext("file:///conf/context.xml") diff --git a/framework-docs/modules/ROOT/pages/core/spring-jcl.adoc b/framework-docs/modules/ROOT/pages/core/spring-jcl.adoc index 419338ffed..59c5396e01 100644 --- a/framework-docs/modules/ROOT/pages/core/spring-jcl.adoc +++ b/framework-docs/modules/ROOT/pages/core/spring-jcl.adoc @@ -27,7 +27,7 @@ the following example. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MyBean { private final Log log = LogFactory.getLog(getClass()); @@ -37,7 +37,7 @@ public class MyBean { Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MyBean { private val log = LogFactory.getLog(javaClass) diff --git a/framework-docs/modules/ROOT/pages/core/validation/beans-beans.adoc b/framework-docs/modules/ROOT/pages/core/validation/beans-beans.adoc index 6e395db14f..d6a89e761f 100644 --- a/framework-docs/modules/ROOT/pages/core/validation/beans-beans.adoc +++ b/framework-docs/modules/ROOT/pages/core/validation/beans-beans.adoc @@ -115,7 +115,7 @@ properties: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class Company { @@ -142,7 +142,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class Company { var name: String? = null @@ -155,7 +155,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class Employee { @@ -183,7 +183,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class Employee { var name: String? = null @@ -199,7 +199,7 @@ the properties of instantiated ``Company``s and ``Employee``s: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- BeanWrapper company = new BeanWrapperImpl(new Company()); // setting the company name.. @@ -219,7 +219,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val company = BeanWrapperImpl(Company()) // setting the company name.. @@ -379,7 +379,7 @@ associates a `CustomNumberEditor` with the `age` property of the `Something` cla ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SomethingBeanInfo extends SimpleBeanInfo { @@ -403,7 +403,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class SomethingBeanInfo : SimpleBeanInfo() { @@ -467,7 +467,7 @@ another class called `DependsOnExoticType`, which needs `ExoticType` set as a pr ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package example; @@ -492,7 +492,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package example @@ -522,7 +522,7 @@ The `PropertyEditor` implementation could look similar to the following: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package example; @@ -539,7 +539,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package example @@ -593,7 +593,7 @@ The following example shows how to create your own `PropertyEditorRegistrar` imp ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo.editors.spring; @@ -611,7 +611,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package com.foo.editors.spring @@ -661,7 +661,7 @@ example uses a `PropertyEditorRegistrar` in the implementation of an `@InitBinde ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller public class RegisterUserController { @@ -683,7 +683,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller class RegisterUserController( diff --git a/framework-docs/modules/ROOT/pages/core/validation/beanvalidation.adoc b/framework-docs/modules/ROOT/pages/core/validation/beanvalidation.adoc index 0be2e49a3e..4e7c9201cf 100644 --- a/framework-docs/modules/ROOT/pages/core/validation/beanvalidation.adoc +++ b/framework-docs/modules/ROOT/pages/core/validation/beanvalidation.adoc @@ -20,7 +20,7 @@ Consider the following example, which shows a simple `PersonForm` model with two ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class PersonForm { private String name; @@ -30,7 +30,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class PersonForm( private val name: String, @@ -45,7 +45,7 @@ Bean Validation lets you declare constraints as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class PersonForm { @@ -60,7 +60,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class PersonForm( @get:NotNull @get:Size(max=64) @@ -94,7 +94,7 @@ bean, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; @@ -110,7 +110,7 @@ Java:: XML:: + -[source,xml,indent=0,subs="verbatim,quotes",role="secondary"] +[source,xml,indent=0,subs="verbatim,quotes"] ---- @@ -134,7 +134,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import jakarta.validation.Validator; @@ -148,7 +148,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import jakarta.validation.Validator; @@ -171,7 +171,7 @@ For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import org.springframework.validation.Validator; @@ -185,7 +185,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.validation.Validator @@ -226,7 +226,7 @@ The following example shows a custom `@Constraint` declaration followed by an as ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Target({ElementType.METHOD, ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) @@ -237,7 +237,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Target(AnnotationTarget.FUNCTION, AnnotationTarget.FIELD) @Retention(AnnotationRetention.RUNTIME) @@ -250,7 +250,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import jakarta.validation.ConstraintValidator; @@ -265,7 +265,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import jakarta.validation.ConstraintValidator @@ -344,7 +344,7 @@ Given the following class declarations: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- record Person(@Size(min = 1, max = 10) String name) { } @@ -360,7 +360,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @JvmRecord internal data class Person(@Size(min = 1, max = 10) val name: String) @@ -389,7 +389,7 @@ message argument `"name"` is itself a `MessageSourceResolvable` with error codes Properties:: + -[source,properties,indent=0,subs="verbatim,quotes",role="secondary"] +[source,properties,indent=0,subs="verbatim,quotes"] ---- Size.person.name=Please, provide a {0} that is between {2} and {1} characters long person.name=username @@ -406,7 +406,7 @@ To customize the above default message, you can add a property such as: Properties:: + -[source,properties,indent=0,subs="verbatim,quotes",role="secondary"] +[source,properties,indent=0,subs="verbatim,quotes"] ---- Max.degrees=You cannot provide more than {1} {0} ---- @@ -437,7 +437,7 @@ logic after binding to a target object: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Foo target = new Foo(); DataBinder binder = new DataBinder(target); @@ -455,7 +455,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val target = Foo() val binder = DataBinder(target) diff --git a/framework-docs/modules/ROOT/pages/core/validation/convert.adoc b/framework-docs/modules/ROOT/pages/core/validation/convert.adoc index 8f0f15486d..adf928eef7 100644 --- a/framework-docs/modules/ROOT/pages/core/validation/convert.adoc +++ b/framework-docs/modules/ROOT/pages/core/validation/convert.adoc @@ -263,7 +263,7 @@ it like you would for any other bean. The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Service public class MyService { @@ -282,7 +282,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Service class MyService(private val conversionService: ConversionService) { @@ -306,7 +306,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- DefaultConversionService cs = new DefaultConversionService(); @@ -318,7 +318,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val cs = DefaultConversionService() diff --git a/framework-docs/modules/ROOT/pages/core/validation/format.adoc b/framework-docs/modules/ROOT/pages/core/validation/format.adoc index 81d746e700..c9929f91cb 100644 --- a/framework-docs/modules/ROOT/pages/core/validation/format.adoc +++ b/framework-docs/modules/ROOT/pages/core/validation/format.adoc @@ -83,7 +83,7 @@ The following `DateFormatter` is an example `Formatter` implementation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package org.springframework.format.datetime; @@ -119,7 +119,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- class DateFormatter(private val pattern: String) : Formatter { @@ -180,7 +180,7 @@ annotation to a formatter to let a number style or pattern be specified: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public final class NumberFormatAnnotationFormatterFactory implements AnnotationFormatterFactory { @@ -217,7 +217,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class NumberFormatAnnotationFormatterFactory : AnnotationFormatterFactory { @@ -256,7 +256,7 @@ example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MyModel { @@ -267,7 +267,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MyModel( @field:NumberFormat(style = Style.CURRENCY) private val decimal: BigDecimal @@ -292,7 +292,7 @@ The following example uses `@DateTimeFormat` to format a `java.util.Date` as an ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MyModel { @@ -303,7 +303,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MyModel( @DateTimeFormat(iso=ISO.DATE) private val date: Date diff --git a/framework-docs/modules/ROOT/pages/core/validation/validator.adoc b/framework-docs/modules/ROOT/pages/core/validation/validator.adoc index 17fa6402d3..96844141b8 100644 --- a/framework-docs/modules/ROOT/pages/core/validation/validator.adoc +++ b/framework-docs/modules/ROOT/pages/core/validation/validator.adoc @@ -11,7 +11,7 @@ Consider the following example of a small data object: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class Person { @@ -24,7 +24,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class Person(val name: String, val age: Int) ---- @@ -45,7 +45,7 @@ example implements `Validator` for `Person` instances: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class PersonValidator implements Validator { @@ -70,7 +70,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class PersonValidator : Validator { @@ -114,7 +114,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class CustomerValidator implements Validator { @@ -155,7 +155,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class CustomerValidator(private val addressValidator: Validator) : Validator { diff --git a/framework-docs/modules/ROOT/pages/data-access/dao.adoc b/framework-docs/modules/ROOT/pages/data-access/dao.adoc index 9ca9666f54..f4c1accbb0 100644 --- a/framework-docs/modules/ROOT/pages/data-access/dao.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/dao.adoc @@ -56,7 +56,7 @@ how to use the `@Repository` annotation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Repository // <1> public class SomeMovieFinder implements MovieFinder { @@ -67,7 +67,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Repository // <1> class SomeMovieFinder : MovieFinder { @@ -89,7 +89,7 @@ annotations. The following example works for a JPA repository: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Repository public class JpaMovieFinder implements MovieFinder { @@ -103,7 +103,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Repository class JpaMovieFinder : MovieFinder { @@ -124,7 +124,7 @@ example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Repository public class HibernateMovieFinder implements MovieFinder { @@ -142,7 +142,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Repository class HibernateMovieFinder(private val sessionFactory: SessionFactory) : MovieFinder { @@ -160,7 +160,7 @@ and other data access support classes (such as `SimpleJdbcCall` and others) by u ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Repository public class JdbcMovieFinder implements MovieFinder { @@ -178,7 +178,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Repository class JdbcMovieFinder(dataSource: DataSource) : MovieFinder { diff --git a/framework-docs/modules/ROOT/pages/data-access/jdbc/advanced.adoc b/framework-docs/modules/ROOT/pages/data-access/jdbc/advanced.adoc index 83be3072a8..fc249a2d93 100644 --- a/framework-docs/modules/ROOT/pages/data-access/jdbc/advanced.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/jdbc/advanced.adoc @@ -21,7 +21,7 @@ and the entire list is used as the batch: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class JdbcActorDao implements ActorDao { @@ -53,7 +53,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class JdbcActorDao(dataSource: DataSource) : ActorDao { @@ -104,7 +104,7 @@ The following example shows a batch update using named parameters: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class JdbcActorDao implements ActorDao { @@ -126,7 +126,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class JdbcActorDao(dataSource: DataSource) : ActorDao { @@ -155,7 +155,7 @@ JDBC `?` placeholders: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class JdbcActorDao implements ActorDao { @@ -183,7 +183,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class JdbcActorDao(dataSource: DataSource) : ActorDao { @@ -254,7 +254,7 @@ The following example shows a batch update that uses a batch size of 100: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class JdbcActorDao implements ActorDao { @@ -283,7 +283,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class JdbcActorDao(dataSource: DataSource) : ActorDao { diff --git a/framework-docs/modules/ROOT/pages/data-access/jdbc/core.adoc b/framework-docs/modules/ROOT/pages/data-access/jdbc/core.adoc index 8755cb86da..7f4eaf6be8 100644 --- a/framework-docs/modules/ROOT/pages/data-access/jdbc/core.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/jdbc/core.adoc @@ -62,14 +62,14 @@ The following query gets the number of rows in a relation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- int rowCount = this.jdbcTemplate.queryForObject("select count(*) from t_actor", Integer.class); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val rowCount = jdbcTemplate.queryForObject("select count(*) from t_actor")!! ---- @@ -81,7 +81,7 @@ The following query uses a bind variable: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- int countOfActorsNamedJoe = this.jdbcTemplate.queryForObject( "select count(*) from t_actor where first_name = ?", Integer.class, "Joe"); @@ -89,7 +89,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val countOfActorsNamedJoe = jdbcTemplate.queryForObject( "select count(*) from t_actor where first_name = ?", arrayOf("Joe"))!! @@ -103,7 +103,7 @@ The following query looks for a `String`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- String lastName = this.jdbcTemplate.queryForObject( "select last_name from t_actor where id = ?", @@ -112,7 +112,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val lastName = this.jdbcTemplate.queryForObject( "select last_name from t_actor where id = ?", @@ -126,7 +126,7 @@ The following query finds and populates a single domain object: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Actor actor = jdbcTemplate.queryForObject( "select first_name, last_name from t_actor where id = ?", @@ -141,7 +141,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val actor = jdbcTemplate.queryForObject( "select first_name, last_name from t_actor where id = ?", @@ -157,7 +157,7 @@ The following query finds and populates a list of domain objects: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- List actors = this.jdbcTemplate.query( "select first_name, last_name from t_actor", @@ -171,7 +171,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val actors = jdbcTemplate.query("select first_name, last_name from t_actor") { rs, _ -> Actor(rs.getString("first_name"), rs.getString("last_name")) @@ -187,7 +187,7 @@ For example, it may be better to write the preceding code snippet as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- private final RowMapper actorRowMapper = (resultSet, rowNum) -> { Actor actor = new Actor(); @@ -203,7 +203,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val actorMapper = RowMapper { rs: ResultSet, rowNum: Int -> Actor(rs.getString("first_name"), rs.getString("last_name")) @@ -227,7 +227,7 @@ The following example inserts a new entry: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- this.jdbcTemplate.update( "insert into t_actor (first_name, last_name) values (?, ?)", @@ -236,7 +236,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- jdbcTemplate.update( "insert into t_actor (first_name, last_name) values (?, ?)", @@ -250,7 +250,7 @@ The following example updates an existing entry: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- this.jdbcTemplate.update( "update t_actor set last_name = ? where id = ?", @@ -259,7 +259,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- jdbcTemplate.update( "update t_actor set last_name = ? where id = ?", @@ -273,7 +273,7 @@ The following example deletes an entry: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- this.jdbcTemplate.update( "delete from t_actor where id = ?", @@ -282,7 +282,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- jdbcTemplate.update("delete from t_actor where id = ?", actorId.toLong()) ---- @@ -300,14 +300,14 @@ table: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- this.jdbcTemplate.execute("create table mytable (id integer, name varchar(100))"); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- jdbcTemplate.execute("create table mytable (id integer, name varchar(100))") ---- @@ -319,7 +319,7 @@ The following example invokes a stored procedure: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- this.jdbcTemplate.update( "call SUPPORT.REFRESH_ACTORS_SUMMARY(?)", @@ -328,7 +328,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- jdbcTemplate.update( "call SUPPORT.REFRESH_ACTORS_SUMMARY(?)", @@ -398,7 +398,7 @@ parameters. The following example shows how to use `NamedParameterJdbcTemplate`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // some JDBC-backed DAO class... private NamedParameterJdbcTemplate namedParameterJdbcTemplate; @@ -416,7 +416,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- private val namedParameterJdbcTemplate = NamedParameterJdbcTemplate(dataSource) @@ -443,7 +443,7 @@ The following example shows the use of the `Map`-based style: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // some JDBC-backed DAO class... private NamedParameterJdbcTemplate namedParameterJdbcTemplate; @@ -461,7 +461,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // some JDBC-backed DAO class... private val namedParameterJdbcTemplate = NamedParameterJdbcTemplate(dataSource) @@ -494,7 +494,7 @@ The following example shows a typical JavaBean: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class Actor { @@ -520,7 +520,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- data class Actor(val id: Long, val firstName: String, val lastName: String) ---- @@ -533,7 +533,7 @@ members of the class shown in the preceding example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // some JDBC-backed DAO class... private NamedParameterJdbcTemplate namedParameterJdbcTemplate; @@ -552,7 +552,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // some JDBC-backed DAO class... private val namedParameterJdbcTemplate = NamedParameterJdbcTemplate(dataSource) @@ -746,7 +746,7 @@ You can extend `SQLErrorCodeSQLExceptionTranslator`, as the following example sh ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class CustomSQLErrorCodesTranslator extends SQLErrorCodeSQLExceptionTranslator { @@ -761,7 +761,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class CustomSQLErrorCodesTranslator : SQLErrorCodeSQLExceptionTranslator() { @@ -786,7 +786,7 @@ how you can use this custom translator: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- private JdbcTemplate jdbcTemplate; @@ -811,7 +811,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // create a JdbcTemplate and set data source private val jdbcTemplate = JdbcTemplate(dataSource).apply { @@ -846,7 +846,7 @@ fully functional class that creates a new table: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import javax.sql.DataSource; import org.springframework.jdbc.core.JdbcTemplate; @@ -867,7 +867,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import javax.sql.DataSource import org.springframework.jdbc.core.JdbcTemplate @@ -897,7 +897,7 @@ query methods, one for an `int` and one that queries for a `String`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import javax.sql.DataSource; import org.springframework.jdbc.core.JdbcTemplate; @@ -922,7 +922,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import javax.sql.DataSource import org.springframework.jdbc.core.JdbcTemplate @@ -950,7 +950,7 @@ list of all the rows, it might be as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- private JdbcTemplate jdbcTemplate; @@ -965,7 +965,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- private val jdbcTemplate = JdbcTemplate(dataSource) @@ -992,7 +992,7 @@ The following example updates a column for a certain primary key: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import javax.sql.DataSource; import org.springframework.jdbc.core.JdbcTemplate; @@ -1013,7 +1013,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import javax.sql.DataSource import org.springframework.jdbc.core.JdbcTemplate @@ -1051,7 +1051,7 @@ on Oracle but may not work on other platforms: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- final String INSERT_SQL = "insert into my_test (name) values(?)"; final String name = "Rob"; @@ -1068,7 +1068,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val INSERT_SQL = "insert into my_test (name) values(?)" val name = "Rob" diff --git a/framework-docs/modules/ROOT/pages/data-access/jdbc/embedded-database-support.adoc b/framework-docs/modules/ROOT/pages/data-access/jdbc/embedded-database-support.adoc index c011b168f3..96a6023dac 100644 --- a/framework-docs/modules/ROOT/pages/data-access/jdbc/embedded-database-support.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/jdbc/embedded-database-support.adoc @@ -76,7 +76,7 @@ to customize them if necessary. The following example uses H2 with a custom driv ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class DataSourceConfig { @@ -104,7 +104,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class DataSourceConfig { @@ -150,7 +150,7 @@ The following listing shows the test template: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class DataAccessIntegrationTestTemplate { @@ -182,7 +182,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class DataAccessIntegrationTestTemplate { diff --git a/framework-docs/modules/ROOT/pages/data-access/jdbc/object.adoc b/framework-docs/modules/ROOT/pages/data-access/jdbc/object.adoc index 8941d95830..dc3c135ae5 100644 --- a/framework-docs/modules/ROOT/pages/data-access/jdbc/object.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/jdbc/object.adoc @@ -44,7 +44,7 @@ data from the `t_actor` relation to an instance of the `Actor` class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class ActorMappingQuery extends MappingSqlQuery { @@ -67,7 +67,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ActorMappingQuery(ds: DataSource) : MappingSqlQuery(ds, "select id, first_name, last_name from t_actor where id = ?") { @@ -103,7 +103,7 @@ example shows how to define such a class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- private ActorMappingQuery actorMappingQuery; @@ -119,7 +119,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- private val actorMappingQuery = ActorMappingQuery(dataSource) @@ -138,7 +138,7 @@ example shows such a method: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public List searchForActors(int age, String namePattern) { return actorSearchMappingQuery.execute(age, namePattern); @@ -147,7 +147,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun searchForActors(age: Int, namePattern: String) = actorSearchMappingQuery.execute(age, namePattern) @@ -171,7 +171,7 @@ The following example creates a custom update method named `execute`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import java.sql.Types; import javax.sql.DataSource; @@ -201,7 +201,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import java.sql.Types import javax.sql.DataSource @@ -247,7 +247,7 @@ as the following code snippet shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- new SqlParameter("in_id", Types.NUMERIC), new SqlOutParameter("out_first_name", Types.VARCHAR), @@ -255,7 +255,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- SqlParameter("in_id", Types.NUMERIC), SqlOutParameter("out_first_name", Types.VARCHAR), @@ -293,7 +293,7 @@ The following listing shows our custom StoredProcedure class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import java.sql.Types; import java.util.Date; @@ -342,7 +342,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import java.sql.Types import java.util.Date @@ -387,7 +387,7 @@ Oracle REF cursors): ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import java.util.HashMap; import java.util.Map; @@ -416,7 +416,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import java.util.HashMap import javax.sql.DataSource @@ -456,7 +456,7 @@ the supplied `ResultSet`, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import java.sql.ResultSet; import java.sql.SQLException; @@ -476,7 +476,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import java.sql.ResultSet import com.foo.domain.Title @@ -497,7 +497,7 @@ the supplied `ResultSet`, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import java.sql.ResultSet; import java.sql.SQLException; @@ -514,7 +514,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import java.sql.ResultSet import com.foo.domain.Genre @@ -537,7 +537,7 @@ delegate to the untyped `execute(Map)` method in the superclass, as the followin ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import java.sql.Types; import java.util.Date; @@ -571,7 +571,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import java.sql.Types import java.util.Date diff --git a/framework-docs/modules/ROOT/pages/data-access/jdbc/parameter-handling.adoc b/framework-docs/modules/ROOT/pages/data-access/jdbc/parameter-handling.adoc index f7df5a755f..3a9edff0cc 100644 --- a/framework-docs/modules/ROOT/pages/data-access/jdbc/parameter-handling.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/jdbc/parameter-handling.adoc @@ -67,7 +67,7 @@ The following example shows how to create and insert a BLOB: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- final File blobIn = new File("spring2004.jpg"); final InputStream blobIs = new FileInputStream(blobIn); @@ -95,7 +95,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val blobIn = File("spring2004.jpg") val blobIs = FileInputStream(blobIn) @@ -142,7 +142,7 @@ The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- List> l = jdbcTemplate.query("select id, a_clob, a_blob from lob_table", new RowMapper>() { @@ -161,7 +161,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val l = jdbcTemplate.query("select id, a_clob, a_blob from lob_table") { rs, _ -> val clobText = lobHandler.getClobAsString(rs, "a_clob") // <1> diff --git a/framework-docs/modules/ROOT/pages/data-access/jdbc/simple.adoc b/framework-docs/modules/ROOT/pages/data-access/jdbc/simple.adoc index 177249aa35..27c3e68983 100644 --- a/framework-docs/modules/ROOT/pages/data-access/jdbc/simple.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/jdbc/simple.adoc @@ -23,7 +23,7 @@ example uses only one configuration method (we show examples of multiple methods ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class JdbcActorDao implements ActorDao { @@ -47,7 +47,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class JdbcActorDao(dataSource: DataSource) : ActorDao { @@ -85,7 +85,7 @@ listing shows how it works: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class JdbcActorDao implements ActorDao { @@ -111,7 +111,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class JdbcActorDao(dataSource: DataSource) : ActorDao { @@ -150,7 +150,7 @@ You can limit the columns for an insert by specifying a list of column names wit ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class JdbcActorDao implements ActorDao { @@ -177,7 +177,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class JdbcActorDao(dataSource: DataSource) : ActorDao { @@ -217,7 +217,7 @@ values. The following example shows how to use `BeanPropertySqlParameterSource`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class JdbcActorDao implements ActorDao { @@ -241,7 +241,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class JdbcActorDao(dataSource: DataSource) : ActorDao { @@ -267,7 +267,7 @@ convenient `addValue` method that can be chained. The following example shows ho ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class JdbcActorDao implements ActorDao { @@ -293,7 +293,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class JdbcActorDao(dataSource: DataSource) : ActorDao { @@ -359,7 +359,7 @@ of the stored procedure): ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class JdbcActorDao implements ActorDao { @@ -388,7 +388,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class JdbcActorDao(dataSource: DataSource) : ActorDao { @@ -437,7 +437,7 @@ the constructor of your `SimpleJdbcCall`. The following example shows this confi ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class JdbcActorDao implements ActorDao { @@ -456,7 +456,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class JdbcActorDao(dataSource: DataSource) : ActorDao { @@ -502,7 +502,7 @@ the preceding example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class JdbcActorDao implements ActorDao { @@ -529,7 +529,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class JdbcActorDao(dataSource: DataSource) : ActorDao { @@ -567,7 +567,7 @@ similar to the following: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- new SqlParameter("in_id", Types.NUMERIC), new SqlOutParameter("out_first_name", Types.VARCHAR), @@ -575,7 +575,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- SqlParameter("in_id", Types.NUMERIC), SqlOutParameter("out_first_name", Types.VARCHAR), @@ -636,7 +636,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class JdbcActorDao implements ActorDao { @@ -662,7 +662,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class JdbcActorDao(dataSource: DataSource) : ActorDao { @@ -720,7 +720,7 @@ The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class JdbcActorDao implements ActorDao { @@ -746,7 +746,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class JdbcActorDao(dataSource: DataSource) : ActorDao { diff --git a/framework-docs/modules/ROOT/pages/data-access/orm/general.adoc b/framework-docs/modules/ROOT/pages/data-access/orm/general.adoc index 3138409d36..bbbd6b8b45 100644 --- a/framework-docs/modules/ROOT/pages/data-access/orm/general.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/orm/general.adoc @@ -65,7 +65,7 @@ examples (one for Java configuration and one for XML configuration) show how to ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Repository public class ProductDaoImpl implements ProductDao { @@ -77,7 +77,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Repository class ProductDaoImpl : ProductDao { diff --git a/framework-docs/modules/ROOT/pages/data-access/orm/hibernate.adoc b/framework-docs/modules/ROOT/pages/data-access/orm/hibernate.adoc index b8a3704018..149841aeb3 100644 --- a/framework-docs/modules/ROOT/pages/data-access/orm/hibernate.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/orm/hibernate.adoc @@ -105,7 +105,7 @@ implementation resembles the following example, based on the plain Hibernate API ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class ProductDaoImpl implements ProductDao { @@ -126,7 +126,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ProductDaoImpl(private val sessionFactory: SessionFactory) : ProductDao { @@ -208,7 +208,7 @@ these annotated methods. The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class ProductServiceImpl implements ProductService { @@ -233,7 +233,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ProductServiceImpl(private val productDao: ProductDao) : ProductService { @@ -317,7 +317,7 @@ and an example for a business method implementation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class ProductServiceImpl implements ProductService { @@ -345,7 +345,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ProductServiceImpl(transactionManager: PlatformTransactionManager, private val productDao: ProductDao) : ProductService { diff --git a/framework-docs/modules/ROOT/pages/data-access/orm/jpa.adoc b/framework-docs/modules/ROOT/pages/data-access/orm/jpa.adoc index c0885e2263..c4e97272b8 100644 --- a/framework-docs/modules/ROOT/pages/data-access/orm/jpa.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/orm/jpa.adoc @@ -299,7 +299,7 @@ shows a plain JPA DAO implementation that uses the `@PersistenceUnit` annotation ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class ProductDaoImpl implements ProductDao { @@ -328,7 +328,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ProductDaoImpl : ProductDao { @@ -394,7 +394,7 @@ EntityManager) to be injected instead of the factory. The following example show ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class ProductDaoImpl implements ProductDao { @@ -411,7 +411,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ProductDaoImpl : ProductDao { diff --git a/framework-docs/modules/ROOT/pages/data-access/oxm.adoc b/framework-docs/modules/ROOT/pages/data-access/oxm.adoc index 5bc8fcdfda..3296f53293 100644 --- a/framework-docs/modules/ROOT/pages/data-access/oxm.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/oxm.adoc @@ -175,7 +175,7 @@ use a simple JavaBean to represent the settings: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class Settings { @@ -193,7 +193,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class Settings { var isFooEnabled: Boolean = false @@ -210,7 +210,7 @@ constructs a Spring application context and calls these two methods: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import java.io.FileInputStream; import java.io.FileOutputStream; @@ -261,7 +261,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class Application { diff --git a/framework-docs/modules/ROOT/pages/data-access/r2dbc.adoc b/framework-docs/modules/ROOT/pages/data-access/r2dbc.adoc index 1c07b8390e..bb18d976aa 100644 --- a/framework-docs/modules/ROOT/pages/data-access/r2dbc.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/r2dbc.adoc @@ -68,14 +68,14 @@ The simplest way to create a `DatabaseClient` object is through a static factory ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- DatabaseClient client = DatabaseClient.create(connectionFactory); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val client = DatabaseClient.create(connectionFactory) ---- @@ -133,7 +133,7 @@ code that creates a new table: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Mono completion = client.sql("CREATE TABLE person (id VARCHAR(255) PRIMARY KEY, name VARCHAR(255), age INTEGER);") .then(); @@ -141,7 +141,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- client.sql("CREATE TABLE person (id VARCHAR(255) PRIMARY KEY, name VARCHAR(255), age INTEGER);") .await() @@ -170,7 +170,7 @@ The following query gets the `id` and `name` columns from a table: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Mono> first = client.sql("SELECT id, name FROM person") .fetch().first(); @@ -178,7 +178,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val first = client.sql("SELECT id, name FROM person") .fetch().awaitSingle() @@ -191,7 +191,7 @@ The following query uses a bind variable: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Mono> first = client.sql("SELECT id, name FROM person WHERE first_name = :fn") .bind("fn", "Joe") @@ -200,7 +200,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val first = client.sql("SELECT id, name FROM person WHERE first_name = :fn") .bind("fn", "Joe") @@ -237,7 +237,7 @@ The following example extracts the `name` column and emits its value: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Flux names = client.sql("SELECT name FROM person") .map(row -> row.get("name", String.class)) @@ -246,7 +246,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val names = client.sql("SELECT name FROM person") .map{ row: Row -> row.get("name", String.class) } @@ -298,7 +298,7 @@ of updated rows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Mono affectedRows = client.sql("UPDATE person SET first_name = :fn") .bind("fn", "Joe") @@ -307,7 +307,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val affectedRows = client.sql("UPDATE person SET first_name = :fn") .bind("fn", "Joe") @@ -421,7 +421,7 @@ The preceding query can be parameterized and run as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- List tuples = new ArrayList<>(); tuples.add(new Object[] {"John", 35}); @@ -433,7 +433,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val tuples: MutableList> = ArrayList() tuples.add(arrayOf("John", 35)) @@ -452,7 +452,7 @@ The following example shows a simpler variant using `IN` predicates: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- client.sql("SELECT id, name, state FROM table WHERE age IN (:ages)") .bind("ages", Arrays.asList(35, 50)); @@ -460,7 +460,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- client.sql("SELECT id, name, state FROM table WHERE age IN (:ages)") .bind("ages", arrayOf(35, 50)) @@ -487,7 +487,7 @@ modify statements in their execution, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- client.sql("INSERT INTO table (name, state) VALUES(:name, :state)") .filter((s, next) -> next.execute(s.returnGeneratedValues("id"))) @@ -497,7 +497,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- client.sql("INSERT INTO table (name, state) VALUES(:name, :state)") .filter { s: Statement, next: ExecuteFunction -> next.execute(s.returnGeneratedValues("id")) } @@ -513,7 +513,7 @@ a `Function`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- client.sql("INSERT INTO table (name, state) VALUES(:name, :state)") .filter(statement -> s.returnGeneratedValues("id")); @@ -524,7 +524,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- client.sql("INSERT INTO table (name, state) VALUES(:name, :state)") .filter { statement -> s.returnGeneratedValues("id") } @@ -556,7 +556,7 @@ the setter for the `ConnectionFactory`. This leads to DAOs that resemble the fol ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class R2dbcCorporateEventDao implements CorporateEventDao { @@ -572,7 +572,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class R2dbcCorporateEventDao(connectionFactory: ConnectionFactory) : CorporateEventDao { @@ -594,7 +594,7 @@ method with `@Autowired`. The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Component // <1> public class R2dbcCorporateEventDao implements CorporateEventDao { @@ -615,7 +615,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Component // <1> class R2dbcCorporateEventDao(connectionFactory: ConnectionFactory) : CorporateEventDao { // <2> @@ -651,7 +651,7 @@ requests the generated key for the desired column. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Mono generatedId = client.sql("INSERT INTO table (name, state) VALUES(:name, :state)") .filter(statement -> s.returnGeneratedValues("id")) @@ -663,7 +663,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val generatedId = client.sql("INSERT INTO table (name, state) VALUES(:name, :state)") .filter { statement -> s.returnGeneratedValues("id") } @@ -716,14 +716,14 @@ The following example shows how to configure a `ConnectionFactory`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ConnectionFactory factory = ConnectionFactories.get("r2dbc:h2:mem:///test?options=DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE"); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val factory = ConnectionFactories.get("r2dbc:h2:mem:///test?options=DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE"); ---- diff --git a/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/annotations.adoc b/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/annotations.adoc index 780d4ab685..384eb75480 100644 --- a/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/annotations.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/annotations.adoc @@ -19,7 +19,7 @@ Consider the following class definition: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // the service class that we want to make transactional @Transactional @@ -49,7 +49,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // the service class that we want to make transactional @Transactional @@ -138,7 +138,7 @@ programming arrangements as the following listing shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // the reactive service class that we want to make transactional @Transactional @@ -168,7 +168,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // the reactive service class that we want to make transactional @Transactional @@ -327,7 +327,7 @@ precedence over the transactional settings defined at the class level. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Transactional(readOnly = true) public class DefaultFooService implements FooService { @@ -346,7 +346,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Transactional(readOnly = true) class DefaultFooService : FooService { @@ -485,7 +485,7 @@ in the application context: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class TransactionalService { @@ -502,7 +502,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- class TransactionalService { @@ -583,7 +583,7 @@ following annotation definitions: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @@ -600,7 +600,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Target(AnnotationTarget.FUNCTION, AnnotationTarget.TYPE) @Retention(AnnotationRetention.RUNTIME) @@ -620,7 +620,7 @@ The preceding annotations let us write the example from the previous section as ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class TransactionalService { @@ -638,7 +638,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- class TransactionalService { diff --git a/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/applying-more-than-just-tx-advice.adoc b/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/applying-more-than-just-tx-advice.adoc index bcd41b9ab7..1a14bb5e49 100644 --- a/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/applying-more-than-just-tx-advice.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/applying-more-than-just-tx-advice.adoc @@ -22,7 +22,7 @@ The following code shows the simple profiling aspect discussed earlier: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package x.y; @@ -61,7 +61,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim",chomp="-packages"] ---- package x.y diff --git a/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/aspectj.adoc b/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/aspectj.adoc index af4de5b400..b112eef495 100644 --- a/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/aspectj.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/aspectj.adoc @@ -24,7 +24,7 @@ The following example shows how to create a transaction manager and configure th ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // construct an appropriate transaction manager DataSourceTransactionManager txManager = new DataSourceTransactionManager(getDataSource()); @@ -35,7 +35,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // construct an appropriate transaction manager val txManager = DataSourceTransactionManager(getDataSource()) diff --git a/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/first-example.adoc b/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/first-example.adoc index c84bd17412..692de56d9e 100644 --- a/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/first-example.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/first-example.adoc @@ -14,7 +14,7 @@ interface: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- // the service interface that we want to make transactional @@ -35,7 +35,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- // the service interface that we want to make transactional @@ -60,7 +60,7 @@ The following example shows an implementation of the preceding interface: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package x.y.service; @@ -90,7 +90,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package x.y.service @@ -231,7 +231,7 @@ that test drives the configuration shown earlier: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public final class Boot { @@ -245,7 +245,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.beans.factory.getBean @@ -303,7 +303,7 @@ this time the code uses reactive types: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- // the reactive service interface that we want to make transactional @@ -324,7 +324,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- // the reactive service interface that we want to make transactional @@ -349,7 +349,7 @@ The following example shows an implementation of the preceding interface: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary",chomp="-packages"] +[source,java,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package x.y.service; @@ -379,7 +379,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary",chomp="-packages"] +[source,kotlin,indent=0,subs="verbatim,quotes",chomp="-packages"] ---- package x.y.service diff --git a/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/rolling-back.adoc b/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/rolling-back.adoc index 2dc529e919..c261821fa2 100644 --- a/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/rolling-back.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/rolling-back.adoc @@ -30,7 +30,7 @@ Here's an example of how to use Vavr's Try with a transactional method: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Transactional public Try myTransactionalMethod() { @@ -54,7 +54,7 @@ preferring exposure in the returned handle rather than rethrowing an exception: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Transactional @Async public CompletableFuture myTransactionalMethod() { @@ -172,7 +172,7 @@ rollback: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public void resolvePosition() { try { @@ -186,7 +186,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun resolvePosition() { try { diff --git a/framework-docs/modules/ROOT/pages/data-access/transaction/event.adoc b/framework-docs/modules/ROOT/pages/data-access/transaction/event.adoc index 62749a4d58..8ee00835b2 100644 --- a/framework-docs/modules/ROOT/pages/data-access/transaction/event.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/transaction/event.adoc @@ -19,7 +19,7 @@ example sets up such an event listener: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Component public class MyComponent { @@ -33,7 +33,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Component class MyComponent { diff --git a/framework-docs/modules/ROOT/pages/data-access/transaction/programmatic.adoc b/framework-docs/modules/ROOT/pages/data-access/transaction/programmatic.adoc index 6c4bbb7021..1c14f7893a 100644 --- a/framework-docs/modules/ROOT/pages/data-access/transaction/programmatic.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/transaction/programmatic.adoc @@ -37,7 +37,7 @@ a transaction. You can then pass an instance of your custom `TransactionCallback ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SimpleService implements Service { @@ -63,7 +63,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // use constructor-injection to supply the PlatformTransactionManager class SimpleService(transactionManager: PlatformTransactionManager) : Service { @@ -87,7 +87,7 @@ with an anonymous class, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- transactionTemplate.execute(new TransactionCallbackWithoutResult() { protected void doInTransactionWithoutResult(TransactionStatus status) { @@ -99,7 +99,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- transactionTemplate.execute(object : TransactionCallbackWithoutResult() { override fun doInTransactionWithoutResult(status: TransactionStatus) { @@ -118,7 +118,7 @@ Code within the callback can roll the transaction back by calling the ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- transactionTemplate.execute(new TransactionCallbackWithoutResult() { @@ -135,7 +135,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- transactionTemplate.execute(object : TransactionCallbackWithoutResult() { @@ -165,7 +165,7 @@ a specific `TransactionTemplate:` ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SimpleService implements Service { @@ -184,7 +184,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class SimpleService(transactionManager: PlatformTransactionManager) : Service { @@ -240,7 +240,7 @@ the `TransactionalOperator` resembles the next example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SimpleService implements Service { @@ -265,7 +265,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // use constructor-injection to supply the ReactiveTransactionManager class SimpleService(transactionManager: ReactiveTransactionManager) : Service { @@ -293,7 +293,7 @@ method on the supplied `ReactiveTransaction` object, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- transactionalOperator.execute(new TransactionCallback<>() { @@ -307,7 +307,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- transactionalOperator.execute(object : TransactionCallback() { @@ -346,7 +346,7 @@ following example shows customization of the transactional settings for a specif ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SimpleService implements Service { @@ -367,7 +367,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class SimpleService(transactionManager: ReactiveTransactionManager) : Service { @@ -402,7 +402,7 @@ following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- DefaultTransactionDefinition def = new DefaultTransactionDefinition(); // explicitly setting the transaction name is something that can be done only programmatically @@ -421,7 +421,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val def = DefaultTransactionDefinition() // explicitly setting the transaction name is something that can be done only programmatically @@ -455,7 +455,7 @@ following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- DefaultTransactionDefinition def = new DefaultTransactionDefinition(); // explicitly setting the transaction name is something that can be done only programmatically @@ -475,7 +475,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val def = DefaultTransactionDefinition() // explicitly setting the transaction name is something that can be done only programmatically diff --git a/framework-docs/modules/ROOT/pages/integration/rest-clients.adoc b/framework-docs/modules/ROOT/pages/integration/rest-clients.adoc index edaa51c36e..1163ab59be 100644 --- a/framework-docs/modules/ROOT/pages/integration/rest-clients.adoc +++ b/framework-docs/modules/ROOT/pages/integration/rest-clients.adoc @@ -28,7 +28,7 @@ The following sample shows how to create a default `RestClient`, and how to buil ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- RestClient defaultClient = RestClient.create(); @@ -45,7 +45,7 @@ RestClient customClient = RestClient.builder() Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- val defaultClient = RestClient.create() @@ -77,7 +77,7 @@ The following example configures a GET request to `https://example.com/orders/42 ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- int id = 42; restClient.get() @@ -87,7 +87,7 @@ restClient.get() Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val id = 42 restClient.get() @@ -125,7 +125,7 @@ This sample shows how `RestClient` can be used to perform a simple `GET` request ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- String result = restClient.get() <1> .uri("https://example.com") <2> @@ -142,7 +142,7 @@ System.out.println(result); <5> Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val result= restClient.get() <1> .uri("https://example.com") <2> @@ -164,7 +164,7 @@ Access to the response status code and headers is provided through `ResponseEnti ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ResponseEntity result = restClient.get() <1> .uri("https://example.com") <1> @@ -181,7 +181,7 @@ System.out.println("Contents: " + result.getBody()); <3> Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val result = restClient.get() <1> .uri("https://example.com") <1> @@ -204,7 +204,7 @@ Note the usage of URI variables in this sample and that the `Accept` header is s ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- int id = ...; Pet pet = restClient.get() @@ -219,7 +219,7 @@ Pet pet = restClient.get() Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val id = ... val pet = restClient.get() @@ -239,7 +239,7 @@ In the next sample, `RestClient` is used to perform a POST request that contains ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Pet pet = ... <1> ResponseEntity response = restClient.post() <2> @@ -257,7 +257,7 @@ ResponseEntity response = restClient.post() <2> Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val pet: Pet = ... <1> val response = restClient.post() <2> @@ -283,7 +283,7 @@ This behavior can be overridden using `onStatus`. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- String result = restClient.get() <1> .uri("https://example.com/this-url-does-not-exist") <1> @@ -299,7 +299,7 @@ String result = restClient.get() <1> Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val result = restClient.get() <1> .uri("https://example.com/this-url-does-not-exist") <1> @@ -322,7 +322,7 @@ Status handlers are not applied when use `exchange()`, because the exchange func ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Pet result = restClient.get() .uri("https://petclinic.example.com/pets/{id}", id) @@ -343,7 +343,7 @@ Pet result = restClient.get() Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val result = restClient.get() .uri("https://petclinic.example.com/pets/{id}", id) diff --git a/framework-docs/modules/ROOT/pages/rsocket.adoc b/framework-docs/modules/ROOT/pages/rsocket.adoc index 8723c7bf40..1e668e8861 100644 --- a/framework-docs/modules/ROOT/pages/rsocket.adoc +++ b/framework-docs/modules/ROOT/pages/rsocket.adoc @@ -186,7 +186,7 @@ This is the most basic way to connect with default settings: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RSocketRequester requester = RSocketRequester.builder().tcp("localhost", 7000); @@ -196,7 +196,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val requester = RSocketRequester.builder().tcp("localhost", 7000) @@ -244,7 +244,7 @@ can be registered as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RSocketStrategies strategies = RSocketStrategies.builder() .encoders(encoders -> encoders.add(new Jackson2CborEncoder())) @@ -258,7 +258,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val strategies = RSocketStrategies.builder() .encoders { it.add(Jackson2CborEncoder()) } @@ -288,7 +288,7 @@ infrastructure that's used on a server, but registered programmatically as follo ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RSocketStrategies strategies = RSocketStrategies.builder() .routeMatcher(new PathPatternRouteMatcher()) // <1> @@ -308,7 +308,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val strategies = RSocketStrategies.builder() .routeMatcher(PathPatternRouteMatcher()) // <1> @@ -335,7 +335,7 @@ you can still declare `RSocketMessageHandler` as a Spring bean and then apply as ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ApplicationContext context = ... ; RSocketMessageHandler handler = context.getBean(RSocketMessageHandler.class); @@ -347,7 +347,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.beans.factory.getBean @@ -381,7 +381,7 @@ at that level as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RSocketRequester requester = RSocketRequester.builder() .rsocketConnector(connector -> { @@ -392,7 +392,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val requester = RSocketRequester.builder() .rsocketConnector { @@ -419,7 +419,7 @@ decoupled from handling. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ConnectMapping Mono handle(RSocketRequester requester) { @@ -436,7 +436,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ConnectMapping suspend fun handle(requester: RSocketRequester) { @@ -464,7 +464,7 @@ xref:rsocket.adoc#rsocket-requester-server[server] requester, you can make reque ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ViewBox viewBox = ... ; @@ -479,7 +479,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val viewBox: ViewBox = ... @@ -516,7 +516,7 @@ The `data(Object)` step is optional. Skip it for requests that don't send data: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Mono location = requester.route("find.radar.EWR")) .retrieveMono(AirportLocation.class); @@ -524,7 +524,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.messaging.rsocket.retrieveAndAwait @@ -541,7 +541,7 @@ values are supported by a registered `Encoder`. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- String securityToken = ... ; ViewBox viewBox = ... ; @@ -555,7 +555,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.messaging.rsocket.retrieveFlow @@ -600,7 +600,7 @@ methods: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration static class ServerConfig { @@ -616,7 +616,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class ServerConfig { @@ -636,7 +636,7 @@ Then start an RSocket server through the Java RSocket API and plug the ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ApplicationContext context = ... ; RSocketMessageHandler handler = context.getBean(RSocketMessageHandler.class); @@ -649,7 +649,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.beans.factory.getBean @@ -684,7 +684,7 @@ you need to share configuration between a client and a server in the same proces ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration static class ServerConfig { @@ -709,7 +709,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class ServerConfig { @@ -751,7 +751,7 @@ xref:rsocket.adoc#rsocket-annot-responders-client[client] responder configuratio ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller public class RadarsController { @@ -765,7 +765,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller class RadarsController { @@ -879,7 +879,7 @@ For example, to handle requests as a responder: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public interface RadarsService { @@ -898,7 +898,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- interface RadarsService { @@ -973,7 +973,7 @@ a `Decoder` and register the mime type as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- DefaultMetadataExtractor extractor = new DefaultMetadataExtractor(metadataDecoders); extractor.metadataToExtract(fooMimeType, Foo.class, "foo"); @@ -981,7 +981,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.messaging.rsocket.metadataToExtract @@ -999,7 +999,7 @@ map. Here is an example where JSON is used for metadata: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- DefaultMetadataExtractor extractor = new DefaultMetadataExtractor(metadataDecoders); extractor.metadataToExtract( @@ -1012,7 +1012,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.messaging.rsocket.metadataToExtract @@ -1031,7 +1031,7 @@ simply use a callback to customize registrations as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RSocketStrategies strategies = RSocketStrategies.builder() .metadataExtractorRegistry(registry -> { @@ -1043,7 +1043,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.messaging.rsocket.metadataToExtract diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-junit-jupiter.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-junit-jupiter.adoc index 75e85b861e..d359c708ea 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-junit-jupiter.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-junit-jupiter.adoc @@ -30,7 +30,7 @@ configuration class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig.class) // <1> class ConfigurationClassJUnitJupiterSpringTests { @@ -41,7 +41,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig::class) // <1> class ConfigurationClassJUnitJupiterSpringTests { @@ -59,7 +59,7 @@ location of a configuration file: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(locations = "/test-config.xml") // <1> class XmlJUnitJupiterSpringTests { @@ -70,7 +70,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(locations = ["/test-config.xml"]) // <1> class XmlJUnitJupiterSpringTests { @@ -105,7 +105,7 @@ a configuration class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitWebConfig(TestConfig.class) // <1> class ConfigurationClassJUnitJupiterSpringWebTests { @@ -116,7 +116,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitWebConfig(TestConfig::class) // <1> class ConfigurationClassJUnitJupiterSpringWebTests { @@ -134,7 +134,7 @@ location of a configuration file: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitWebConfig(locations = "/test-config.xml") // <1> class XmlJUnitJupiterSpringWebTests { @@ -145,7 +145,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitWebConfig(locations = ["/test-config.xml"]) // <1> class XmlJUnitJupiterSpringWebTests { @@ -274,7 +274,7 @@ example, you can create a custom `@EnabledOnMac` annotation as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @@ -287,7 +287,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Target(AnnotationTarget.TYPE, AnnotationTarget.FUNCTION) @Retention(AnnotationRetention.RUNTIME) @@ -340,7 +340,7 @@ example, you can create a custom `@DisabledOnMac` annotation as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @@ -353,7 +353,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Target(AnnotationTarget.TYPE, AnnotationTarget.FUNCTION) @Retention(AnnotationRetention.RUNTIME) diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-junit4.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-junit4.adoc index 3ac9413ff6..17fdf5c9be 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-junit4.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-junit4.adoc @@ -31,7 +31,7 @@ The following example shows a test that has an `@IfProfileValue` annotation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @IfProfileValue(name="java.vendor", value="Oracle Corporation") // <1> @Test @@ -43,7 +43,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @IfProfileValue(name="java.vendor", value="Oracle Corporation") // <1> @Test @@ -63,7 +63,7 @@ Consider the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @IfProfileValue(name="test-groups", values={"unit-tests", "integration-tests"}) // <1> @Test @@ -75,7 +75,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @IfProfileValue(name="test-groups", values=["unit-tests", "integration-tests"]) // <1> @Test @@ -101,7 +101,7 @@ is used by default. The following example shows how to use ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ProfileValueSourceConfiguration(CustomProfileValueSource.class) // <1> public class CustomProfileValueSourceTests { @@ -112,7 +112,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ProfileValueSourceConfiguration(CustomProfileValueSource::class) // <1> class CustomProfileValueSourceTests { @@ -138,7 +138,7 @@ example shows how to use it: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Timed(millis = 1000) // <1> public void testProcessWithOneSecondTimeout() { @@ -149,7 +149,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Timed(millis = 1000) // <1> fun testProcessWithOneSecondTimeout() { @@ -183,7 +183,7 @@ following example shows how to use the `@Repeat` annotation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Repeat(10) // <1> @Test @@ -195,7 +195,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Repeat(10) // <1> @Test diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-meta.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-meta.adoc index 78164ab077..ce2381c7c1 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-meta.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-meta.adoc @@ -43,7 +43,7 @@ Consider the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RunWith(SpringRunner.class) @ContextConfiguration({"/app-config.xml", "/test-data-access-config.xml"}) @@ -60,7 +60,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RunWith(SpringRunner::class) @ContextConfiguration("/app-config.xml", "/test-data-access-config.xml") @@ -84,7 +84,7 @@ that centralizes the common test configuration for Spring, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @@ -96,7 +96,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Target(AnnotationTarget.TYPE) @Retention(AnnotationRetention.RUNTIME) @@ -114,7 +114,7 @@ configuration of individual JUnit 4 based test classes, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RunWith(SpringRunner.class) @TransactionalDevTestConfig @@ -127,7 +127,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RunWith(SpringRunner::class) @TransactionalDevTestConfig @@ -147,7 +147,7 @@ example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) @ContextConfiguration({"/app-config.xml", "/test-data-access-config.xml"}) @@ -164,7 +164,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) @ContextConfiguration("/app-config.xml", "/test-data-access-config.xml") @@ -189,7 +189,7 @@ as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @@ -202,7 +202,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Target(AnnotationTarget.TYPE) @Retention(AnnotationRetention.RUNTIME) @@ -221,7 +221,7 @@ configuration of individual JUnit Jupiter based test classes, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @TransactionalDevTestConfig class OrderRepositoryTests { } @@ -232,7 +232,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @TransactionalDevTestConfig class OrderRepositoryTests { } @@ -253,7 +253,7 @@ follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @@ -265,7 +265,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Target(AnnotationTarget.TYPE) @Retention(AnnotationRetention.RUNTIME) @@ -283,7 +283,7 @@ configuration of individual JUnit Jupiter based test methods, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @TransactionalIntegrationTest void saveOrder() { } @@ -294,7 +294,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @TransactionalIntegrationTest fun saveOrder() { } diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-activeprofiles.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-activeprofiles.adoc index 4d41be0bf6..62233f402d 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-activeprofiles.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-activeprofiles.adoc @@ -11,7 +11,7 @@ The following example indicates that the `dev` profile should be active: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @ActiveProfiles("dev") // <1> @@ -23,7 +23,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @ActiveProfiles("dev") // <1> @@ -42,7 +42,7 @@ be active: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @ActiveProfiles({"dev", "integration"}) // <1> @@ -54,7 +54,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @ActiveProfiles(["dev", "integration"]) // <1> diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-aftertransaction.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-aftertransaction.adoc index 3a2e3e73ea..daa7c6995c 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-aftertransaction.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-aftertransaction.adoc @@ -11,7 +11,7 @@ methods. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @AfterTransaction // <1> void afterTransaction() { @@ -22,7 +22,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @AfterTransaction // <1> fun afterTransaction() { diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-beforetransaction.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-beforetransaction.adoc index 6bf7678340..dc3cc24229 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-beforetransaction.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-beforetransaction.adoc @@ -13,7 +13,7 @@ The following example shows how to use the `@BeforeTransaction` annotation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @BeforeTransaction // <1> void beforeTransaction() { @@ -24,7 +24,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @BeforeTransaction // <1> fun beforeTransaction() { diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-commit.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-commit.adoc index 46440b35ce..555f8de110 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-commit.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-commit.adoc @@ -13,7 +13,7 @@ The following example shows how to use the `@Commit` annotation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Commit // <1> @Test @@ -25,7 +25,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Commit // <1> @Test diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-contextconfiguration.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-contextconfiguration.adoc index 55eb8169f0..30b7e0e2ce 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-contextconfiguration.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-contextconfiguration.adoc @@ -19,7 +19,7 @@ file: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration("/test-config.xml") // <1> class XmlApplicationContextTests { @@ -30,7 +30,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration("/test-config.xml") // <1> class XmlApplicationContextTests { @@ -47,7 +47,7 @@ The following example shows a `@ContextConfiguration` annotation that refers to ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration(classes = TestConfig.class) // <1> class ConfigClassApplicationContextTests { @@ -58,7 +58,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration(classes = [TestConfig::class]) // <1> class ConfigClassApplicationContextTests { @@ -77,7 +77,7 @@ The following example shows such a case: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration(initializers = CustomContextInitializer.class) // <1> class ContextInitializerTests { @@ -88,7 +88,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration(initializers = [CustomContextInitializer::class]) // <1> class ContextInitializerTests { @@ -110,7 +110,7 @@ The following example uses both a location and a loader: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration(locations = "/test-context.xml", loader = CustomContextLoader.class) // <1> class CustomLoaderXmlApplicationContextTests { @@ -121,7 +121,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration("/test-context.xml", loader = CustomContextLoader::class) // <1> class CustomLoaderXmlApplicationContextTests { diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-contextcustomizerfactories.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-contextcustomizerfactories.adoc index 3eb88e7ea0..5bd9ecc41e 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-contextcustomizerfactories.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-contextcustomizerfactories.adoc @@ -13,7 +13,7 @@ The following example shows how to register two `ContextCustomizerFactory` imple ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @ContextCustomizerFactories({CustomContextCustomizerFactory.class, AnotherContextCustomizerFactory.class}) // <1> @@ -25,7 +25,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @ContextCustomizerFactories([CustomContextCustomizerFactory::class, AnotherContextCustomizerFactory::class]) // <1> diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-contexthierarchy.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-contexthierarchy.adoc index e1fd02d116..a031e048e8 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-contexthierarchy.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-contexthierarchy.adoc @@ -12,7 +12,7 @@ used within a test class hierarchy): ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextHierarchy({ @ContextConfiguration("/parent-config.xml"), @@ -25,7 +25,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextHierarchy( ContextConfiguration("/parent-config.xml"), @@ -40,7 +40,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @WebAppConfiguration @ContextHierarchy({ @@ -54,7 +54,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @WebAppConfiguration @ContextHierarchy( diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-dirtiescontext.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-dirtiescontext.adoc index 75d5856ad4..4f7dd23994 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-dirtiescontext.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-dirtiescontext.adoc @@ -28,7 +28,7 @@ configuration scenarios: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @DirtiesContext(classMode = BEFORE_CLASS) // <1> class FreshContextTests { @@ -39,7 +39,7 @@ Java:: + Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @DirtiesContext(classMode = BEFORE_CLASS) // <1> class FreshContextTests { @@ -56,7 +56,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @DirtiesContext // <1> class ContextDirtyingTests { @@ -67,7 +67,7 @@ Java:: + Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @DirtiesContext // <1> class ContextDirtyingTests { @@ -85,7 +85,7 @@ mode set to `BEFORE_EACH_TEST_METHOD.` ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @DirtiesContext(classMode = BEFORE_EACH_TEST_METHOD) // <1> class FreshContextTests { @@ -96,7 +96,7 @@ Java:: + Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @DirtiesContext(classMode = BEFORE_EACH_TEST_METHOD) // <1> class FreshContextTests { @@ -114,7 +114,7 @@ mode set to `AFTER_EACH_TEST_METHOD.` ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @DirtiesContext(classMode = AFTER_EACH_TEST_METHOD) // <1> class ContextDirtyingTests { @@ -125,7 +125,7 @@ Java:: + Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @DirtiesContext(classMode = AFTER_EACH_TEST_METHOD) // <1> class ContextDirtyingTests { @@ -143,7 +143,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @DirtiesContext(methodMode = BEFORE_METHOD) // <1> @Test @@ -155,7 +155,7 @@ Java:: + Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @DirtiesContext(methodMode = BEFORE_METHOD) // <1> @Test @@ -173,7 +173,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @DirtiesContext // <1> @Test @@ -185,7 +185,7 @@ Java:: + Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @DirtiesContext // <1> @Test @@ -211,7 +211,7 @@ as the following example shows. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextHierarchy({ @ContextConfiguration("/parent-config.xml"), @@ -234,7 +234,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextHierarchy( ContextConfiguration("/parent-config.xml"), diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-dynamicpropertysource.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-dynamicpropertysource.adoc index 45457a62cd..3aeccb7f8c 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-dynamicpropertysource.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-dynamicpropertysource.adoc @@ -14,7 +14,7 @@ The following example demonstrates how to register a dynamic property: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration class MyIntegrationTests { @@ -35,7 +35,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration class MyIntegrationTests { diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-mockitobean.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-mockitobean.adoc index 5cce74f5d8..1cc24ea7d4 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-mockitobean.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-mockitobean.adoc @@ -42,7 +42,7 @@ The following example shows how to use the default behavior of the `@MockitoBean ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class OverrideBeanTests { @MockitoBean // <1> @@ -66,7 +66,7 @@ The following example uses a by-name lookup, rather than a by-type lookup: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class OverrideBeanTests { @MockitoBean(name = "service") // <1> @@ -87,7 +87,7 @@ The following example shows how to use the default behavior of the `@MockitoSpyB ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class OverrideBeanTests { @MockitoSpyBean // <1> @@ -110,7 +110,7 @@ The following example uses a by-name lookup, rather than a by-type lookup: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class OverrideBeanTests { @MockitoSpyBean(name = "service") // <1> diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-rollback.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-rollback.adoc index 93f2e32c6b..9edd238854 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-rollback.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-rollback.adoc @@ -19,7 +19,7 @@ result is committed to the database): ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Rollback(false) // <1> @Test @@ -31,7 +31,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Rollback(false) // <1> @Test diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sql.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sql.adoc index f84aa6b950..09289d3f56 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sql.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sql.adoc @@ -9,7 +9,7 @@ it: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Test @Sql({"/test-schema.sql", "/test-user-data.sql"}) // <1> @@ -21,7 +21,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Test @Sql("/test-schema.sql", "/test-user-data.sql") // <1> diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sqlconfig.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sqlconfig.adoc index 9910dd7b45..a06c77fbf7 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sqlconfig.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sqlconfig.adoc @@ -8,7 +8,7 @@ configured with the `@Sql` annotation. The following example shows how to use it ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Test @Sql( @@ -23,7 +23,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Test @Sql("/test-user-data.sql", config = SqlConfig(commentPrefix = "`", separator = "@@")) // <1> diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sqlgroup.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sqlgroup.adoc index 104e03a1a3..fde8964b32 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sqlgroup.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sqlgroup.adoc @@ -11,7 +11,7 @@ annotation. The following example shows how to declare an SQL group: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Test @SqlGroup({ // <1> @@ -26,7 +26,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Test @SqlGroup( // <1> diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sqlmergemode.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sqlmergemode.adoc index afb3b91dc2..7cb26ee729 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sqlmergemode.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-sqlmergemode.adoc @@ -15,7 +15,7 @@ The following example shows how to use `@SqlMergeMode` at the class level. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig.class) @Sql("/test-schema.sql") @@ -33,7 +33,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig::class) @Sql("/test-schema.sql") @@ -56,7 +56,7 @@ The following example shows how to use `@SqlMergeMode` at the method level. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig.class) @Sql("/test-schema.sql") @@ -74,7 +74,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig::class) @Sql("/test-schema.sql") diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-testbean.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-testbean.adoc index 1b4d66909a..a2165c2730 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-testbean.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-testbean.adoc @@ -32,7 +32,7 @@ The following example shows how to use the default behavior of the `@TestBean` a ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class OverrideBeanTests { @TestBean // <1> @@ -60,7 +60,7 @@ The following example uses a by-name lookup, rather than a by-type lookup: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class OverrideBeanTests { @TestBean(name = "service", methodName = "createCustomService") // <1> diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-testexecutionlisteners.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-testexecutionlisteners.adoc index 2128f8b2c1..aada318fdf 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-testexecutionlisteners.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-testexecutionlisteners.adoc @@ -12,7 +12,7 @@ The following example shows how to register two `TestExecutionListener` implemen ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestExecutionListeners({CustomTestExecutionListener.class, AnotherTestExecutionListener.class}) // <1> @@ -24,7 +24,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestExecutionListeners(CustomTestExecutionListener::class, AnotherTestExecutionListener::class) // <1> diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-testpropertysource.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-testpropertysource.adoc index e20851d78a..6971ec2209 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-testpropertysource.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-testpropertysource.adoc @@ -12,7 +12,7 @@ The following example demonstrates how to declare a properties file from the cla ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestPropertySource("/test.properties") // <1> @@ -24,7 +24,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestPropertySource("/test.properties") // <1> @@ -42,7 +42,7 @@ The following example demonstrates how to declare inlined properties: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestPropertySource(properties = { "timezone = GMT", "port: 4242" }) // <1> @@ -54,7 +54,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestPropertySource(properties = ["timezone = GMT", "port: 4242"]) // <1> diff --git a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-webappconfiguration.adoc b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-webappconfiguration.adoc index b48e537fe7..9256db492a 100644 --- a/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-webappconfiguration.adoc +++ b/framework-docs/modules/ROOT/pages/testing/annotations/integration-spring/annotation-webappconfiguration.adoc @@ -17,7 +17,7 @@ The following example shows how to use the `@WebAppConfiguration` annotation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @WebAppConfiguration // <1> @@ -29,7 +29,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @WebAppConfiguration // <1> @@ -52,7 +52,7 @@ resource. The following example shows how to specify a classpath resource: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @WebAppConfiguration("classpath:test-web-resources") // <1> @@ -64,7 +64,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @WebAppConfiguration("classpath:test-web-resources") // <1> diff --git a/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/async-requests.adoc b/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/async-requests.adoc index 15e28e7775..949b9ab8a9 100644 --- a/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/async-requests.adoc +++ b/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/async-requests.adoc @@ -20,7 +20,7 @@ or reactive type such as Reactor `Mono`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // static import of MockMvcRequestBuilders.* and MockMvcResultMatchers.* @@ -45,7 +45,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Test fun test() { diff --git a/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/expectations.adoc b/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/expectations.adoc index 8820836abe..a7cb4d3b36 100644 --- a/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/expectations.adoc +++ b/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/expectations.adoc @@ -9,7 +9,7 @@ no other expectations will be asserted. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // static import of MockMvcRequestBuilders.* and MockMvcResultMatchers.* @@ -18,7 +18,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.test.web.servlet.get @@ -37,7 +37,7 @@ all failures will be tracked and reported. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // static import of MockMvcRequestBuilders.* and MockMvcResultMatchers.* @@ -48,7 +48,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.test.web.servlet.get @@ -78,7 +78,7 @@ The following test asserts that binding or validation failed: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- mockMvc.perform(post("/persons")) .andExpect(status().isOk()) @@ -87,7 +87,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.test.web.servlet.post @@ -108,7 +108,7 @@ request. You can do so as follows, where `print()` is a static import from ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- mockMvc.perform(post("/persons")) .andDo(print()) @@ -118,7 +118,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.test.web.servlet.post @@ -150,7 +150,7 @@ other expectations, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- MvcResult mvcResult = mockMvc.perform(post("/persons")).andExpect(status().isOk()).andReturn(); // ... @@ -158,7 +158,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- var mvcResult = mockMvc.post("/persons").andExpect { status { isOk() } }.andReturn() // ... @@ -172,7 +172,7 @@ building the `MockMvc` instance, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- standaloneSetup(new SimpleController()) .alwaysExpect(status().isOk()) @@ -182,7 +182,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed ---- @@ -199,7 +199,7 @@ resulting links by using JsonPath expressions, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- mockMvc.perform(get("/people").accept(MediaType.APPLICATION_JSON)) .andExpect(jsonPath("$.links[?(@.rel == 'self')].href").value("http://localhost:8080/people")); @@ -207,7 +207,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- mockMvc.get("/people") { accept(MediaType.APPLICATION_JSON) @@ -227,7 +227,7 @@ resulting links by using XPath expressions: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Map ns = Collections.singletonMap("ns", "http://www.w3.org/2005/Atom"); mockMvc.perform(get("/handle").accept(MediaType.APPLICATION_XML)) @@ -236,7 +236,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val ns = mapOf("ns" to "http://www.w3.org/2005/Atom") mockMvc.get("/handle") { diff --git a/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/filters.adoc b/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/filters.adoc index e6be8e1e5f..5060f27c3d 100644 --- a/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/filters.adoc +++ b/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/filters.adoc @@ -9,14 +9,14 @@ instances, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- mockMvc = standaloneSetup(new PersonController()).addFilters(new CharacterEncodingFilter()).build(); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed ---- diff --git a/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/requests.adoc b/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/requests.adoc index 57a8404a17..a7b565abdd 100644 --- a/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/requests.adoc +++ b/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/requests.adoc @@ -11,7 +11,7 @@ To perform requests that use any HTTP method, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // static import of MockMvcRequestBuilders.* @@ -20,7 +20,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.test.web.servlet.post @@ -38,14 +38,14 @@ request. Rather, you have to set it up to be similar to the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- mockMvc.perform(multipart("/doc").file("a1", "ABC".getBytes("UTF-8"))); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.test.web.servlet.multipart @@ -61,14 +61,14 @@ You can specify query parameters in URI template style, as the following example ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- mockMvc.perform(get("/hotels?thing={thing}", "somewhere")); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- mockMvc.get("/hotels?thing={thing}", "somewhere") ---- @@ -81,14 +81,14 @@ parameters, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- mockMvc.perform(get("/hotels").param("thing", "somewhere")); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.test.web.servlet.get @@ -113,14 +113,14 @@ shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- mockMvc.perform(get("/app/main/hotels/{id}").contextPath("/app").servletPath("/main")) ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.test.web.servlet.get @@ -139,7 +139,7 @@ properties, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class MyWebTests { @@ -157,7 +157,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed ---- diff --git a/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/setup-steps.adoc b/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/setup-steps.adoc index fd89ef4403..ab426c43f3 100644 --- a/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/setup-steps.adoc +++ b/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/setup-steps.adoc @@ -10,7 +10,7 @@ responses, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // static import of MockMvcBuilders.standaloneSetup @@ -23,7 +23,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed ---- @@ -38,7 +38,7 @@ You can use it as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // static import of SharedHttpSessionConfigurer.sharedHttpSession @@ -51,7 +51,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed ---- diff --git a/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/setup.adoc b/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/setup.adoc index 483891eb1a..1e87ae7c91 100644 --- a/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/setup.adoc +++ b/framework-docs/modules/ROOT/pages/testing/mockmvc/hamcrest/setup.adoc @@ -13,7 +13,7 @@ To set up MockMvc for testing a specific controller, use the following: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class MyWebTests { @@ -31,7 +31,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MyWebTests { @@ -58,7 +58,7 @@ To set up MockMvc through Spring configuration, use the following: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitWebConfig(locations = "my-servlet-context.xml") class MyWebTests { @@ -77,7 +77,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitWebConfig(locations = ["my-servlet-context.xml"]) class MyWebTests { diff --git a/framework-docs/modules/ROOT/pages/testing/mockmvc/htmlunit/mah.adoc b/framework-docs/modules/ROOT/pages/testing/mockmvc/htmlunit/mah.adoc index e57612dbbf..97dd4171b9 100644 --- a/framework-docs/modules/ROOT/pages/testing/mockmvc/htmlunit/mah.adoc +++ b/framework-docs/modules/ROOT/pages/testing/mockmvc/htmlunit/mah.adoc @@ -17,7 +17,7 @@ We can easily create an HtmlUnit `WebClient` that integrates with MockMvc by usi ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebClient webClient; @@ -31,7 +31,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- lateinit var webClient: WebClient @@ -63,14 +63,14 @@ message with the following: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HtmlPage createMsgFormPage = webClient.getPage("http://localhost/messages/form"); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val createMsgFormPage = webClient.getPage("http://localhost/messages/form") ---- @@ -86,7 +86,7 @@ to create a message, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HtmlForm form = createMsgFormPage.getHtmlElementById("messageForm"); HtmlTextInput summaryInput = createMsgFormPage.getHtmlElementById("summary"); @@ -99,7 +99,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val form = createMsgFormPage.getHtmlElementById("messageForm") val summaryInput = createMsgFormPage.getHtmlElementById("summary") @@ -118,7 +118,7 @@ assertions use the {assertj-docs}[AssertJ] library: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- assertThat(newMessagePage.getUrl().toString()).endsWith("/messages/123"); String id = newMessagePage.getHtmlElementById("id").getTextContent(); @@ -131,7 +131,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- assertThat(newMessagePage.getUrl().toString()).endsWith("/messages/123") val id = newMessagePage.getHtmlElementById("id").getTextContent() @@ -167,7 +167,7 @@ the Spring TestContext Framework. This approach is repeated in the following exa ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebClient webClient; @@ -181,7 +181,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- lateinit var webClient: WebClient @@ -200,7 +200,7 @@ We can also specify additional configuration options, as the following example s ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebClient webClient; @@ -220,7 +220,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- lateinit var webClient: WebClient @@ -246,7 +246,7 @@ instance separately and supplying it to the `MockMvcWebClientBuilder`, as follow ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- MockMvc mockMvc = MockMvcBuilders .webAppContextSetup(context) @@ -265,7 +265,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed ---- diff --git a/framework-docs/modules/ROOT/pages/testing/mockmvc/htmlunit/webdriver.adoc b/framework-docs/modules/ROOT/pages/testing/mockmvc/htmlunit/webdriver.adoc index fedbdf9ef0..175af0f55e 100644 --- a/framework-docs/modules/ROOT/pages/testing/mockmvc/htmlunit/webdriver.adoc +++ b/framework-docs/modules/ROOT/pages/testing/mockmvc/htmlunit/webdriver.adoc @@ -30,7 +30,7 @@ following repeated in multiple places within our tests: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HtmlTextInput summaryInput = currentPage.getHtmlElementById("summary"); summaryInput.setValueAttribute(summary); @@ -38,7 +38,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val summaryInput = currentPage.getHtmlElementById("summary") summaryInput.setValueAttribute(summary) @@ -53,7 +53,7 @@ ideally extract this code into its own method, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public HtmlPage createMessage(HtmlPage currentPage, String summary, String text) { setSummary(currentPage, summary); @@ -68,7 +68,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun createMessage(currentPage: HtmlPage, summary:String, text:String) :HtmlPage{ setSummary(currentPage, summary); @@ -91,7 +91,7 @@ represents the `HtmlPage` we are currently on, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class CreateMessagePage { @@ -128,7 +128,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class CreateMessagePage(private val currentPage: HtmlPage) { @@ -175,7 +175,7 @@ We can easily create a Selenium WebDriver that integrates with MockMvc by using ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebDriver driver; @@ -189,7 +189,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- lateinit var driver: WebDriver @@ -222,14 +222,14 @@ message with the following: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- CreateMessagePage page = CreateMessagePage.to(driver); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val page = CreateMessagePage.to(driver) ---- @@ -243,7 +243,7 @@ We can then fill out the form and submit it to create a message, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ViewMessagePage viewMessagePage = page.createMessage(ViewMessagePage.class, expectedSummary, expectedText); @@ -251,7 +251,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val viewMessagePage = page.createMessage(ViewMessagePage::class, expectedSummary, expectedText) @@ -270,7 +270,7 @@ with HtmlUnit, but it is much easier with WebDriver. Consider the following ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class CreateMessagePage extends AbstractPage { // <1> @@ -317,7 +317,7 @@ annotation to look up our submit button with a `css` selector (`input[type=submi Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class CreateMessagePage(private val driver: WebDriver) : AbstractPage(driver) { // <1> @@ -369,7 +369,7 @@ assertions use the {assertj-docs}[AssertJ] assertion library: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- assertThat(viewMessagePage.getMessage()).isEqualTo(expectedMessage); assertThat(viewMessagePage.getSuccess()).isEqualTo("Successfully created a new message"); @@ -377,7 +377,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- assertThat(viewMessagePage.message).isEqualTo(expectedMessage) assertThat(viewMessagePage.success).isEqualTo("Successfully created a new message") @@ -393,7 +393,7 @@ example, it exposes a method that returns a `Message` object: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public Message getMessage() throws ParseException { Message message = new Message(); @@ -407,7 +407,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun getMessage() = Message(getId(), getCreated(), getSummary(), getText()) ---- @@ -424,7 +424,7 @@ as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @AfterEach void destroy() { @@ -436,7 +436,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @AfterEach fun destroy() { @@ -462,7 +462,7 @@ the Spring TestContext Framework. This approach is repeated here, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebDriver driver; @@ -476,7 +476,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- lateinit var driver: WebDriver @@ -495,7 +495,7 @@ We can also specify additional configuration options, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebDriver driver; @@ -515,7 +515,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- lateinit var driver: WebDriver @@ -541,7 +541,7 @@ instance separately and supplying it to the `MockMvcHtmlUnitDriverBuilder`, as f ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- MockMvc mockMvc = MockMvcBuilders .webAppContextSetup(context) @@ -560,7 +560,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Not possible in Kotlin until {kotlin-issues}/KT-22208 is fixed ---- diff --git a/framework-docs/modules/ROOT/pages/testing/mockmvc/htmlunit/why.adoc b/framework-docs/modules/ROOT/pages/testing/mockmvc/htmlunit/why.adoc index 3e1689f076..710a310f1d 100644 --- a/framework-docs/modules/ROOT/pages/testing/mockmvc/htmlunit/why.adoc +++ b/framework-docs/modules/ROOT/pages/testing/mockmvc/htmlunit/why.adoc @@ -12,7 +12,7 @@ With Spring MVC Test, we can easily test if we are able to create a `Message`, a ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- MockHttpServletRequestBuilder createMessage = post("/messages/") .param("summary", "Spring Rocks") @@ -25,7 +25,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Test fun test() { @@ -67,7 +67,7 @@ naive attempt might resemble the following: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- mockMvc.perform(get("/messages/form")) .andExpect(xpath("//input[@name='summary']").exists()) @@ -76,7 +76,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- mockMvc.get("/messages/form").andExpect { xpath("//input[@name='summary']") { exists() } @@ -95,7 +95,7 @@ follows: Java:: + [[mockmvc-server-htmlunit-mock-mvc-test]] -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- String summaryParamName = "summary"; String textParamName = "text"; @@ -114,7 +114,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val summaryParamName = "summary"; val textParamName = "text"; diff --git a/framework-docs/modules/ROOT/pages/testing/spring-mvc-test-client.adoc b/framework-docs/modules/ROOT/pages/testing/spring-mvc-test-client.adoc index e8c56ed11f..7dc725694e 100644 --- a/framework-docs/modules/ROOT/pages/testing/spring-mvc-test-client.adoc +++ b/framework-docs/modules/ROOT/pages/testing/spring-mvc-test-client.adoc @@ -10,7 +10,7 @@ example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RestTemplate restTemplate = new RestTemplate(); @@ -24,7 +24,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val restTemplate = RestTemplate() @@ -55,14 +55,14 @@ requests are allowed to come in any order. The following example uses `ignoreExp ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- server = MockRestServiceServer.bindTo(restTemplate).ignoreExpectOrder(true).build(); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- server = MockRestServiceServer.bindTo(restTemplate).ignoreExpectOrder(true).build() ---- @@ -77,7 +77,7 @@ argument that specifies a count range (for example, `once`, `manyTimes`, `max`, ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RestTemplate restTemplate = new RestTemplate(); @@ -92,7 +92,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val restTemplate = RestTemplate() @@ -122,7 +122,7 @@ logic but without running a server. The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); this.restTemplate = new RestTemplate(new MockMvcClientHttpRequestFactory(mockMvc)); @@ -132,7 +132,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build() restTemplate = RestTemplate(MockMvcClientHttpRequestFactory(mockMvc)) @@ -149,7 +149,7 @@ of mocking the response. The following example shows how to do that through ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RestTemplate restTemplate = new RestTemplate(); @@ -167,7 +167,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val restTemplate = RestTemplate() diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/application-events.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/application-events.adoc index 41abfb7b06..f0f40db965 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/application-events.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/application-events.adoc @@ -32,7 +32,7 @@ published while invoking a method in a Spring-managed component: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @SpringJUnitConfig(/* ... */) @RecordApplicationEvents // <1> @@ -60,7 +60,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @SpringJUnitConfig(/* ... */) @RecordApplicationEvents // <1> diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management.adoc index 9aa446ed03..880f7832e2 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management.adoc @@ -20,7 +20,7 @@ a field or setter method, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig class MyTest { @@ -35,7 +35,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig class MyTest { @@ -57,7 +57,7 @@ the web application context into your test, as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitWebConfig // <1> class MyWebAppTest { @@ -73,7 +73,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitWebConfig // <1> class MyWebAppTest { diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/dynamic-property-sources.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/dynamic-property-sources.adoc index a3936d6882..6678e834c5 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/dynamic-property-sources.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/dynamic-property-sources.adoc @@ -57,7 +57,7 @@ example, via `@Value("${redis.host}")` and `@Value("${redis.port}")`, respective ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(/* ... */) @Testcontainers @@ -80,7 +80,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(/* ... */) @Testcontainers @@ -117,7 +117,7 @@ will be dynamically retrieved from the `ApiServer` bean. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration class TestConfig { @@ -134,7 +134,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class TestConfig { diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/env-profiles.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/env-profiles.adoc index aebdfa867b..ea0c505e66 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/env-profiles.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/env-profiles.adoc @@ -63,7 +63,7 @@ Consider two examples with XML configuration and `@Configuration` classes: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) // ApplicationContext will be loaded from "classpath:/app-config.xml" @@ -83,7 +83,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) // ApplicationContext will be loaded from "classpath:/app-config.xml" @@ -128,7 +128,7 @@ integration test with `@Configuration` classes instead of XML: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @Profile("dev") @@ -147,7 +147,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @Profile("dev") @@ -169,7 +169,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @Profile("production") @@ -185,7 +185,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @Profile("production") @@ -204,7 +204,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @Profile("default") @@ -222,7 +222,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @Profile("default") @@ -243,7 +243,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class TransferServiceConfig { @@ -269,7 +269,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class TransferServiceConfig { @@ -299,7 +299,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig({ TransferServiceConfig.class, @@ -321,7 +321,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig( TransferServiceConfig::class, @@ -373,7 +373,7 @@ xref:testing/testcontext-framework/support-classes.adoc#testcontext-junit-jupite ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig({ TransferServiceConfig.class, @@ -387,7 +387,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig( TransferServiceConfig::class, @@ -404,7 +404,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // "dev" profile inherited from superclass class TransferServiceTest extends AbstractIntegrationTest { @@ -421,7 +421,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // "dev" profile inherited from superclass class TransferServiceTest : AbstractIntegrationTest() { @@ -444,7 +444,7 @@ disable the inheritance of active profiles, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // "dev" profile overridden with "production" @ActiveProfiles(profiles = "production", inheritProfiles = false) @@ -455,7 +455,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // "dev" profile overridden with "production" @ActiveProfiles("production", inheritProfiles = false) @@ -486,7 +486,7 @@ The following example demonstrates how to implement and register a custom ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // "dev" profile overridden programmatically via a custom resolver @ActiveProfiles( @@ -499,7 +499,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // "dev" profile overridden programmatically via a custom resolver @ActiveProfiles( @@ -515,7 +515,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class OperatingSystemActiveProfilesResolver implements ActiveProfilesResolver { @@ -530,7 +530,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class OperatingSystemActiveProfilesResolver : ActiveProfilesResolver { diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/groovy.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/groovy.adoc index 443a89fb38..43ead704e6 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/groovy.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/groovy.adoc @@ -18,7 +18,7 @@ The following example shows how to specify Groovy configuration files: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) // ApplicationContext will be loaded from "/AppConfig.groovy" and @@ -32,7 +32,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) // ApplicationContext will be loaded from "/AppConfig.groovy" and @@ -58,7 +58,7 @@ the default: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) // ApplicationContext will be loaded from @@ -72,7 +72,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) // ApplicationContext will be loaded from @@ -101,7 +101,7 @@ The following listing shows how to combine both in an integration test: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) // ApplicationContext will be loaded from @@ -114,7 +114,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) // ApplicationContext will be loaded from diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/hierarchies.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/hierarchies.adoc index 22953ed289..c8d57c4276 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/hierarchies.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/hierarchies.adoc @@ -39,7 +39,7 @@ lowest context in the hierarchy). The following listing shows this configuration ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) @WebAppConfiguration @@ -58,7 +58,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) @WebAppConfiguration @@ -95,7 +95,7 @@ configuration scenario: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) @WebAppConfiguration @@ -111,7 +111,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) @WebAppConfiguration @@ -146,7 +146,7 @@ The following listing shows this configuration scenario: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) @ContextHierarchy({ @@ -163,7 +163,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) @ContextHierarchy( @@ -192,7 +192,7 @@ shows this configuration scenario: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) @ContextHierarchy({ @@ -212,7 +212,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) @ContextHierarchy( diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/inheritance.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/inheritance.adoc index 72779aa2b3..b84d7f93c2 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/inheritance.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/inheritance.adoc @@ -30,7 +30,7 @@ another and use both its own configuration file and the superclass's configurati ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) // ApplicationContext will be loaded from "/base-config.xml" @@ -52,7 +52,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) // ApplicationContext will be loaded from "/base-config.xml" @@ -84,7 +84,7 @@ another and use both its own configuration class and the superclass's configurat ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // ApplicationContext will be loaded from BaseConfig @SpringJUnitConfig(BaseConfig.class) // <1> @@ -103,7 +103,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // ApplicationContext will be loaded from BaseConfig @SpringJUnitConfig(BaseConfig::class) // <1> @@ -133,7 +133,7 @@ extend another and use both its own initializer and the superclass's initializer ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // ApplicationContext will be initialized by BaseInitializer @SpringJUnitConfig(initializers = BaseInitializer.class) // <1> @@ -153,7 +153,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // ApplicationContext will be initialized by BaseInitializer @SpringJUnitConfig(initializers = [BaseInitializer::class]) // <1> diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/initializers.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/initializers.adoc index ce05e1a382..6eccba2f0a 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/initializers.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/initializers.adoc @@ -17,7 +17,7 @@ order in which the initializers are invoked depends on whether they implement Sp ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) // ApplicationContext will be loaded from TestConfig @@ -33,7 +33,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) // ApplicationContext will be loaded from TestConfig @@ -59,7 +59,7 @@ files or configuration classes. The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) // ApplicationContext will be initialized by EntireAppInitializer @@ -73,7 +73,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) // ApplicationContext will be initialized by EntireAppInitializer diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/javaconfig.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/javaconfig.adoc index af460ea84f..ba96142ef9 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/javaconfig.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/javaconfig.adoc @@ -10,7 +10,7 @@ that contains references to component classes. The following example shows how t ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) // ApplicationContext will be loaded from AppConfig and TestConfig @@ -23,7 +23,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) // ApplicationContext will be loaded from AppConfig and TestConfig @@ -73,7 +73,7 @@ class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig <1> // ApplicationContext will be loaded from the static nested Config class @@ -105,7 +105,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig <1> // ApplicationContext will be loaded from the nested Config class diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/property-sources.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/property-sources.adoc index 0af5d6cbf4..c0990b7396 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/property-sources.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/property-sources.adoc @@ -50,7 +50,7 @@ The following example uses a test properties file: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestPropertySource("/test.properties") // <1> @@ -62,7 +62,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestPropertySource("/test.properties") // <1> @@ -106,7 +106,7 @@ The following example sets two inlined properties: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestPropertySource(properties = {"timezone = GMT", "port = 4242"}) // <1> @@ -118,7 +118,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestPropertySource(properties = ["timezone = GMT", "port = 4242"]) // <1> @@ -137,7 +137,7 @@ a text block: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestPropertySource(properties = """ @@ -152,7 +152,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestPropertySource(properties = [""" @@ -218,7 +218,7 @@ to specify properties both in a file and inline: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestPropertySource( @@ -232,7 +232,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestPropertySource("/test.properties", @@ -275,7 +275,7 @@ properties in both a subclass and its superclass by using `properties` files: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @TestPropertySource("base.properties") @ContextConfiguration @@ -292,7 +292,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @TestPropertySource("base.properties") @ContextConfiguration @@ -317,7 +317,7 @@ to define properties in both a subclass and its superclass by using inline prope ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @TestPropertySource(properties = "key1 = value1") @ContextConfiguration @@ -334,7 +334,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @TestPropertySource(properties = ["key1 = value1"]) @ContextConfiguration diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/web-mocks.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/web-mocks.adoc index d9fbd25885..578a3f8873 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/web-mocks.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/web-mocks.adoc @@ -22,7 +22,7 @@ managed per test method by the `ServletTestExecutionListener`. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitWebConfig class WacTests { @@ -51,7 +51,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitWebConfig class WacTests { diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/web.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/web.adoc index 06ceb3bd4f..34b6d671f8 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/web.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/web.adoc @@ -34,7 +34,7 @@ framework's support for convention over configuration: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) @@ -51,7 +51,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) @@ -82,7 +82,7 @@ The following example shows how to explicitly declare a resource base path with ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) @@ -98,7 +98,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) @@ -125,7 +125,7 @@ annotations by specifying a Spring resource prefix: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) @@ -141,7 +141,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/xml.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/xml.adoc index 78e998e43c..71e0b27f33 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/xml.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/xml.adoc @@ -14,7 +14,7 @@ path that represents a resource URL (i.e., a path prefixed with `classpath:`, `f ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) // ApplicationContext will be loaded from "/app-config.xml" and @@ -28,7 +28,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) // ApplicationContext will be loaded from "/app-config.xml" and @@ -52,7 +52,7 @@ demonstrated in the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) @ContextConfiguration({"/app-config.xml", "/test-config.xml"}) <1> @@ -64,7 +64,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) @ContextConfiguration("/app-config.xml", "/test-config.xml") // <1> @@ -88,7 +88,7 @@ example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) // ApplicationContext will be loaded from @@ -102,7 +102,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) // ApplicationContext will be loaded from diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/executing-sql.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/executing-sql.adoc index 70c631bf85..967f774288 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/executing-sql.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/executing-sql.adoc @@ -50,7 +50,7 @@ specifies SQL scripts for a test schema and test data, sets the statement separa ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Test void databaseTest() { @@ -66,7 +66,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Test fun databaseTest() { @@ -132,7 +132,7 @@ within a JUnit Jupiter based integration test class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig @Sql("/test-schema.sql") @@ -153,7 +153,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig @Sql("/test-schema.sql") @@ -210,7 +210,7 @@ The following example shows how to use `@Sql` as a repeatable annotation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Test @Sql(scripts = "/test-schema.sql", config = @SqlConfig(commentPrefix = "`")) @@ -222,7 +222,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Test @Sql("/test-schema.sql", config = SqlConfig(commentPrefix = "`")) @@ -244,7 +244,7 @@ but you may need to use `@SqlGroup` for compatibility with other JVM languages. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Test @SqlGroup({ @@ -258,7 +258,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Test @SqlGroup( @@ -283,7 +283,7 @@ database state), you can set the `executionPhase` attribute in `@Sql` to ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Test @Sql( @@ -303,7 +303,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Test @Sql("create-test-data.sql", @@ -329,7 +329,7 @@ declaration to `BEFORE_TEST_CLASS` or `AFTER_TEST_CLASS`, as the following examp ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig @Sql(scripts = "/test-schema.sql", executionPhase = BEFORE_TEST_CLASS) @@ -350,7 +350,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig @Sql("/test-schema.sql", executionPhase = BEFORE_TEST_CLASS) @@ -427,7 +427,7 @@ that uses JUnit Jupiter and transactional tests with `@Sql`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestDatabaseConfig.class) @Transactional @@ -461,7 +461,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestDatabaseConfig::class) @Transactional diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/fixture-di.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/fixture-di.adoc index 54ce51bffe..c0d352e439 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/fixture-di.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/fixture-di.adoc @@ -58,7 +58,7 @@ uses `@Autowired` for field injection: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) // specifies the Spring configuration to load for this test fixture @@ -79,7 +79,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) // specifies the Spring configuration to load for this test fixture @@ -106,7 +106,7 @@ follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) // specifies the Spring configuration to load for this test fixture @@ -131,7 +131,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension::class) // specifies the Spring configuration to load for this test fixture @@ -192,7 +192,7 @@ method in the superclass as well): ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // ... @@ -207,7 +207,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // ... diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/support-classes.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/support-classes.adoc index e3257f334a..e957865c93 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/support-classes.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/support-classes.adoc @@ -24,7 +24,7 @@ run with the custom Spring `Runner`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RunWith(SpringRunner.class) @TestExecutionListeners({}) @@ -39,7 +39,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RunWith(SpringRunner::class) @TestExecutionListeners @@ -83,7 +83,7 @@ to declare these rules in an integration test: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Optionally specify a non-Spring Runner via @RunWith(...) @ContextConfiguration @@ -104,7 +104,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Optionally specify a non-Spring Runner via @RunWith(...) @ContextConfiguration @@ -193,7 +193,7 @@ The following code listing shows how to configure a test class to use the ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Instructs JUnit Jupiter to extend the test with Spring support. @ExtendWith(SpringExtension.class) @@ -210,7 +210,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Instructs JUnit Jupiter to extend the test with Spring support. @ExtendWith(SpringExtension::class) @@ -237,7 +237,7 @@ used in the previous example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Instructs Spring to register the SpringExtension with JUnit // Jupiter and load an ApplicationContext from TestConfig.class @@ -253,7 +253,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Instructs Spring to register the SpringExtension with JUnit // Jupiter and load an ApplicationContext from TestConfig.class @@ -275,7 +275,7 @@ Similarly, the following example uses `@SpringJUnitWebConfig` to create a ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Instructs Spring to register the SpringExtension with JUnit // Jupiter and load a WebApplicationContext from TestWebConfig.class @@ -291,7 +291,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Instructs Spring to register the SpringExtension with JUnit // Jupiter and load a WebApplicationContext from TestWebConfig::class @@ -376,7 +376,7 @@ In the following example, Spring injects the `OrderService` bean from the ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig.class) class OrderServiceIntegrationTests { @@ -394,7 +394,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig::class) class OrderServiceIntegrationTests @Autowired constructor(private val orderService: OrderService){ @@ -414,7 +414,7 @@ xref:testing/annotations/integration-junit-jupiter.adoc#integration-testing-anno ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig.class) class OrderServiceIntegrationTests { @@ -431,7 +431,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig::class) class OrderServiceIntegrationTests(val orderService:OrderService) { @@ -455,7 +455,7 @@ loaded from `TestConfig.class` into the `deleteOrder()` test method: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig.class) class OrderServiceIntegrationTests { @@ -469,7 +469,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig::class) class OrderServiceIntegrationTests { @@ -493,7 +493,7 @@ into the `placeOrderRepeatedly()` test method simultaneously. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig.class) class OrderServiceIntegrationTests { @@ -510,7 +510,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig::class) class OrderServiceIntegrationTests { @@ -561,7 +561,7 @@ which annotations can be inherited in `@Nested` test classes. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig.class) class GreetingServiceTests { @@ -590,7 +590,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig::class) class GreetingServiceTests { diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/tel-config.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/tel-config.adoc index 97bdec9d48..8c365ba256 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/tel-config.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/tel-config.adoc @@ -45,7 +45,7 @@ following. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Switch to default listeners @TestExecutionListeners( @@ -59,7 +59,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Switch to default listeners @TestExecutionListeners( @@ -116,7 +116,7 @@ listeners. The following listing demonstrates this style of configuration: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestExecutionListeners({ @@ -135,7 +135,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestExecutionListeners( @@ -183,7 +183,7 @@ be replaced with the following: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestExecutionListeners( @@ -197,7 +197,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration @TestExecutionListeners( diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/tx.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/tx.adoc index f34ad15f94..875e24a21f 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/tx.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/tx.adoc @@ -106,7 +106,7 @@ a Hibernate-based `UserRepository`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig.class) @Transactional @@ -150,7 +150,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(TestConfig::class) @Transactional @@ -223,7 +223,7 @@ for further details. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration(classes = TestConfig.class) public class ProgrammaticTransactionManagementTests extends @@ -255,7 +255,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ContextConfiguration(classes = [TestConfig::class]) class ProgrammaticTransactionManagementTests : AbstractTransactionalJUnit4SpringContextTests() { @@ -316,7 +316,7 @@ example. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @BeforeTransaction void verifyInitialDatabaseState(@Autowired DataSource dataSource) { @@ -326,7 +326,7 @@ void verifyInitialDatabaseState(@Autowired DataSource dataSource) { Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @BeforeTransaction fun verifyInitialDatabaseState(@Autowired dataSource: DataSource) { @@ -375,7 +375,7 @@ following example shows the relevant annotations: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig @Transactional(transactionManager = "txMgr") @@ -414,7 +414,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig @Transactional(transactionManager = "txMgr") @@ -469,7 +469,7 @@ session: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // ... @@ -497,7 +497,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // ... @@ -530,7 +530,7 @@ The following example shows matching methods for JPA: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // ... @@ -558,7 +558,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // ... @@ -612,7 +612,7 @@ example. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // ... @@ -640,7 +640,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // ... diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/web-scoped-beans.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/web-scoped-beans.adoc index 9c8c4b755b..f716f1d961 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/web-scoped-beans.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/web-scoped-beans.adoc @@ -52,7 +52,7 @@ inputs for the username and password. The following listing shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitWebConfig class RequestScopedBeanTests { @@ -73,7 +73,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitWebConfig class RequestScopedBeanTests { @@ -130,7 +130,7 @@ configured theme. The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitWebConfig class SessionScopedBeanTests { @@ -150,7 +150,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitWebConfig class SessionScopedBeanTests { diff --git a/framework-docs/modules/ROOT/pages/testing/webtestclient.adoc b/framework-docs/modules/ROOT/pages/testing/webtestclient.adoc index 98115f986a..f6011d58f2 100644 --- a/framework-docs/modules/ROOT/pages/testing/webtestclient.adoc +++ b/framework-docs/modules/ROOT/pages/testing/webtestclient.adoc @@ -33,7 +33,7 @@ to handle requests: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebTestClient client = WebTestClient.bindToController(new TestController()).build(); @@ -41,7 +41,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val client = WebTestClient.bindToController(TestController()).build() ---- @@ -57,7 +57,7 @@ xref:testing/mockmvc.adoc[MockMvc] to handle requests: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebTestClient client = MockMvcWebTestClient.bindToController(new TestController()).build(); @@ -65,7 +65,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val client = MockMvcWebTestClient.bindToController(TestController()).build() ---- @@ -89,7 +89,7 @@ requests: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(WebConfig.class) // <1> class MyTests { @@ -108,7 +108,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @SpringJUnitConfig(WebConfig::class) // <1> class MyTests { @@ -135,7 +135,7 @@ requests: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) @WebAppConfiguration("classpath:META-INF/web-resources") // <1> @@ -162,7 +162,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ExtendWith(SpringExtension.class) @WebAppConfiguration("classpath:META-INF/web-resources") // <1> @@ -203,7 +203,7 @@ create a server setup to handle requests: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RouterFunction route = ... client = WebTestClient.bindToRouterFunction(route).build(); @@ -211,7 +211,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val route: RouterFunction<*> = ... val client = WebTestClient.bindToRouterFunction(route).build() @@ -232,14 +232,14 @@ This setup connects to a running server to perform full, end-to-end HTTP tests: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- client = WebTestClient.bindToServer().baseUrl("http://localhost:8080").build(); ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- client = WebTestClient.bindToServer().baseUrl("http://localhost:8080").build() ---- @@ -260,7 +260,7 @@ follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- client = WebTestClient.bindToController(new TestController()) .configureClient() @@ -270,7 +270,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- client = WebTestClient.bindToController(TestController()) .configureClient() @@ -299,7 +299,7 @@ To assert the response status and headers, use the following: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- client.get().uri("/persons/1") .accept(MediaType.APPLICATION_JSON) @@ -310,7 +310,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- client.get().uri("/persons/1") .accept(MediaType.APPLICATION_JSON) @@ -329,7 +329,7 @@ JUnit Jupiter. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- client.get().uri("/persons/1") .accept(MediaType.APPLICATION_JSON) @@ -342,7 +342,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- client.get().uri("/persons/1") .accept(MediaType.APPLICATION_JSON) @@ -366,7 +366,7 @@ And perform assertions on the resulting higher level Object(s): ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- client.get().uri("/persons") .exchange() @@ -376,7 +376,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.test.web.reactive.server.expectBodyList @@ -394,7 +394,7 @@ perform any other assertions: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import org.springframework.test.web.reactive.server.expectBody @@ -409,7 +409,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- client.get().uri("/persons/1") .exchange() @@ -427,7 +427,7 @@ Or you can exit the workflow and obtain an `EntityExchangeResult`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- EntityExchangeResult result = client.get().uri("/persons/1") .exchange() @@ -438,7 +438,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.test.web.reactive.server.expectBody @@ -466,7 +466,7 @@ If the response is not expected to have content, you can assert that as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- client.post().uri("/persons") .body(personMono, Person.class) @@ -477,7 +477,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- client.post().uri("/persons") .bodyValue(person) @@ -494,7 +494,7 @@ any assertions: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- client.get().uri("/persons/123") .exchange() @@ -504,7 +504,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- client.get().uri("/persons/123") .exchange() @@ -527,7 +527,7 @@ To verify the full JSON content with https://jsonassert.skyscreamer.org[JSONAsse ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- client.get().uri("/persons/1") .exchange() @@ -538,7 +538,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- client.get().uri("/persons/1") .exchange() @@ -554,7 +554,7 @@ To verify JSON content with https://github.com/jayway/JsonPath[JSONPath]: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- client.get().uri("/persons") .exchange() @@ -566,7 +566,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- client.get().uri("/persons") .exchange() @@ -590,7 +590,7 @@ obtain a `FluxExchangeResult`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- FluxExchangeResult result = client.get().uri("/events") .accept(TEXT_EVENT_STREAM) @@ -602,7 +602,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.test.web.reactive.server.returnResult @@ -620,7 +620,7 @@ Now you're ready to consume the response stream with `StepVerifier` from `reacto ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Flux eventFlux = result.getResponseBody(); @@ -634,7 +634,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val eventFlux = result.getResponseBody() @@ -662,7 +662,7 @@ obtaining an `ExchangeResult` after asserting the body: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // For a response with a body EntityExchangeResult result = client.get().uri("/persons/1") @@ -679,7 +679,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // For a response with a body val result = client.get().uri("/persons/1") @@ -701,7 +701,7 @@ Then switch to MockMvc server response assertions: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- MockMvcWebTestClient.resultActionsFor(result) .andExpect(model().attribute("integer", 3)) @@ -710,7 +710,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- MockMvcWebTestClient.resultActionsFor(result) .andExpect(model().attribute("integer", 3)) diff --git a/framework-docs/modules/ROOT/pages/web/webflux-cors.adoc b/framework-docs/modules/ROOT/pages/web/webflux-cors.adoc index 4de277efa7..5988c2dccf 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux-cors.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux-cors.adoc @@ -117,7 +117,7 @@ following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RestController @RequestMapping("/account") @@ -138,7 +138,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RestController @RequestMapping("/account") @@ -181,7 +181,7 @@ The following example specifies a certain domain and sets `maxAge` to an hour: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @CrossOrigin(origins = "https://domain2.com", maxAge = 3600) @RestController @@ -202,7 +202,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @CrossOrigin("https://domain2.com", maxAge = 3600) @RestController @@ -231,7 +231,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @CrossOrigin(maxAge = 3600) // <1> @RestController @@ -255,7 +255,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @CrossOrigin(maxAge = 3600) // <1> @RestController @@ -311,7 +311,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -334,7 +334,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -377,7 +377,7 @@ To configure the filter, you can declare a `CorsWebFilter` bean and pass a ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Bean CorsWebFilter corsFilter() { @@ -401,7 +401,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Bean fun corsFilter(): CorsWebFilter { diff --git a/framework-docs/modules/ROOT/pages/web/webflux-functional.adoc b/framework-docs/modules/ROOT/pages/web/webflux-functional.adoc index 3966294c90..e7b2f1de21 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux-functional.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux-functional.adoc @@ -34,7 +34,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.web.reactive.function.server.RequestPredicates.*; @@ -71,7 +71,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val repository: PersonRepository = ... val handler = PersonHandler(repository) @@ -142,14 +142,14 @@ The following example extracts the request body to a `Mono`: ====== Java:: + -[source,java,role="primary"] +[source,java] ---- Mono string = request.bodyToMono(String.class); ---- Kotlin:: + -[source,kotlin,role="secondary"] +[source,kotlin] ---- val string = request.awaitBody() ---- @@ -163,14 +163,14 @@ where `Person` objects are decoded from some serialized form, such as JSON or XM ====== Java:: + -[source,java,role="primary"] +[source,java] ---- Flux people = request.bodyToFlux(Person.class); ---- Kotlin:: + -[source,kotlin,role="secondary"] +[source,kotlin] ---- val people = request.bodyToFlow() ---- @@ -185,7 +185,7 @@ also be written as follows: ====== Java:: + -[source,java,role="primary"] +[source,java] ---- Mono string = request.body(BodyExtractors.toMono(String.class)); Flux people = request.body(BodyExtractors.toFlux(Person.class)); @@ -193,7 +193,7 @@ Flux people = request.body(BodyExtractors.toFlux(Person.class)); Kotlin:: + -[source,kotlin,role="secondary"] +[source,kotlin] ---- val string = request.body(BodyExtractors.toMono(String::class.java)).awaitSingle() val people = request.body(BodyExtractors.toFlux(Person::class.java)).asFlow() @@ -206,14 +206,14 @@ The following example shows how to access form data: ====== Java:: + -[source,java,role="primary"] +[source,java] ---- Mono> map = request.formData(); ---- Kotlin:: + -[source,kotlin,role="secondary"] +[source,kotlin] ---- val map = request.awaitFormData() ---- @@ -225,14 +225,14 @@ The following example shows how to access multipart data as a map: ====== Java:: + -[source,java,role="primary"] +[source,java] ---- Mono> map = request.multipartData(); ---- Kotlin:: + -[source,kotlin,role="secondary"] +[source,kotlin] ---- val map = request.awaitMultipartData() ---- @@ -244,7 +244,7 @@ The following example shows how to access multipart data, one at a time, in stre ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Flux allPartEvents = request.bodyToFlux(PartEvent.class); allPartsEvents.windowUntil(PartEvent::isLast) @@ -272,7 +272,7 @@ allPartsEvents.windowUntil(PartEvent::isLast) Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val parts = request.bodyToFlux() allPartsEvents.windowUntil(PartEvent::isLast) @@ -313,7 +313,7 @@ content: ====== Java:: + -[source,java,role="primary"] +[source,java] ---- Mono person = ... ServerResponse.ok().contentType(MediaType.APPLICATION_JSON).body(person, Person.class); @@ -321,7 +321,7 @@ ServerResponse.ok().contentType(MediaType.APPLICATION_JSON).body(person, Person. Kotlin:: + -[source,kotlin,role="secondary"] +[source,kotlin] ---- val person: Person = ... ServerResponse.ok().contentType(MediaType.APPLICATION_JSON).bodyValue(person) @@ -334,7 +334,7 @@ The following example shows how to build a 201 (CREATED) response with a `Locati ====== Java:: + -[source,java,role="primary"] +[source,java] ---- URI location = ... ServerResponse.created(location).build(); @@ -342,7 +342,7 @@ ServerResponse.created(location).build(); Kotlin:: + -[source,kotlin,role="secondary"] +[source,kotlin] ---- val location: URI = ... ServerResponse.created(location).build() @@ -356,14 +356,14 @@ body is serialized or deserialized. For example, to specify a {baeldung-blog}/ja ====== Java:: + -[source,java,role="primary"] +[source,java] ---- ServerResponse.ok().hint(Jackson2CodecSupport.JSON_VIEW_HINT, MyJacksonView.class).body(...); ---- Kotlin:: + -[source,kotlin,role="secondary"] +[source,kotlin] ---- ServerResponse.ok().hint(Jackson2CodecSupport.JSON_VIEW_HINT, MyJacksonView::class.java).body(...) ---- @@ -380,7 +380,7 @@ We can write a handler function as a lambda, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HandlerFunction helloWorld = request -> ServerResponse.ok().bodyValue("Hello World"); @@ -388,7 +388,7 @@ HandlerFunction helloWorld = Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val helloWorld = HandlerFunction { ServerResponse.ok().bodyValue("Hello World") } ---- @@ -406,7 +406,7 @@ For example, the following class exposes a reactive `Person` repository: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.web.reactive.function.server.ServerResponse.ok; @@ -450,7 +450,7 @@ found. If it is not found, we use `switchIfEmpty(Mono)` to return a 404 Not F Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class PersonHandler(private val repository: PersonRepository) { @@ -495,7 +495,7 @@ xref:web/webmvc/mvc-config/validation.adoc[Validator] implementation for a `Pers ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class PersonHandler { @@ -523,7 +523,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class PersonHandler(private val repository: PersonRepository) { @@ -593,7 +593,7 @@ header: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RouterFunction route = RouterFunctions.route() .GET("/hello-world", accept(MediaType.TEXT_PLAIN), @@ -602,7 +602,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val route = coRouter { GET("/hello-world", accept(TEXT_PLAIN)) { @@ -652,7 +652,7 @@ The following example shows the composition of four routes: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.web.reactive.function.server.RequestPredicates.*; @@ -679,7 +679,7 @@ RouterFunction route = route() Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.http.MediaType.APPLICATION_JSON @@ -719,7 +719,7 @@ improved in the following way by using nested routes: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RouterFunction route = route() .path("/person", builder -> builder // <1> @@ -732,7 +732,7 @@ RouterFunction route = route() Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val route = coRouter { // <1> "/person".nest { @@ -754,7 +754,7 @@ We can further improve by using the `nest` method together with `accept`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RouterFunction route = route() .path("/person", b1 -> b1 @@ -767,7 +767,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val route = coRouter { "/person".nest { @@ -800,7 +800,7 @@ for handling redirects in Single Page Applications. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ClassPathResource index = new ClassPathResource("static/index.html"); List extensions = List.of("js", "css", "ico", "png", "jpg", "gif"); @@ -812,7 +812,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val redirectToIndex = router { val index = ClassPathResource("static/index.html") @@ -833,7 +833,7 @@ It is also possible to route requests that match a given pattern to resources re ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Resource location = new FileSystemResource("public-resources/"); RouterFunction resources = RouterFunctions.resources("/resources/**", location); @@ -841,7 +841,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val location = FileSystemResource("public-resources/") val resources = router { resources("/resources/**", location) } @@ -888,7 +888,7 @@ xref:web/webflux/dispatcher-handler.adoc[DispatcherHandler] for how to run it): ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -925,7 +925,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -976,7 +976,7 @@ For instance, consider the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RouterFunction route = route() .path("/person", b1 -> b1 @@ -995,7 +995,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val route = router { "/person".nest { @@ -1031,7 +1031,7 @@ The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- SecurityManager securityManager = ... @@ -1054,7 +1054,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val securityManager: SecurityManager = ... diff --git a/framework-docs/modules/ROOT/pages/web/webflux-view.adoc b/framework-docs/modules/ROOT/pages/web/webflux-view.adoc index 6f8726d486..b37208c527 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux-view.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux-view.adoc @@ -58,7 +58,7 @@ The following example shows how to configure FreeMarker as a view technology: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -82,7 +82,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -123,7 +123,7 @@ a `java.util.Properties` object, and the `freemarkerVariables` property requires ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -146,7 +146,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -268,7 +268,7 @@ The following example uses Mustache templates and the Nashorn JavaScript engine: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -293,7 +293,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -336,7 +336,7 @@ The following example shows how to set a custom render function: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -361,7 +361,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -437,7 +437,7 @@ can return `Collection`. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping List handle() { @@ -447,7 +447,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping fun handle(): List { @@ -462,7 +462,7 @@ The same can be done also by returning the dedicated type `FragmentsRendering`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping FragmentsRendering handle() { @@ -472,7 +472,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping fun handle(): FragmentsRendering { diff --git a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-attributes.adoc b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-attributes.adoc index 1683021b26..df6e89419a 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-attributes.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-attributes.adoc @@ -9,7 +9,7 @@ For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebClient client = WebClient.builder() .filter((request, next) -> { @@ -28,7 +28,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val client = WebClient.builder() .filter { request, _ -> diff --git a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-body.adoc b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-body.adoc index 4419eaa296..bd52881b45 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-body.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-body.adoc @@ -8,7 +8,7 @@ like `Mono` or Kotlin Coroutines `Deferred` as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Mono personMono = ... ; @@ -22,7 +22,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val personDeferred: Deferred = ... @@ -41,7 +41,7 @@ You can also have a stream of objects be encoded, as the following example shows ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Flux personFlux = ... ; @@ -55,7 +55,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val people: Flow = ... @@ -75,7 +75,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Person person = ... ; @@ -89,7 +89,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val person: Person = ... @@ -115,7 +115,7 @@ content is automatically set to `application/x-www-form-urlencoded` by the ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- MultiValueMap formData = ... ; @@ -128,7 +128,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val formData: MultiValueMap = ... @@ -146,7 +146,7 @@ You can also supply form data in-line by using `BodyInserters`, as the following ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import static org.springframework.web.reactive.function.BodyInserters.*; @@ -159,7 +159,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.web.reactive.function.BodyInserters.* @@ -185,7 +185,7 @@ multipart request. The following example shows how to create a `MultiValueMap result = webClient @@ -320,7 +320,7 @@ Mono result = webClient Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- var resource: Resource = ... var result: Mono = webClient diff --git a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-builder.adoc b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-builder.adoc index 3d326fadfd..53a2fc247c 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-builder.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-builder.adoc @@ -25,7 +25,7 @@ For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebClient client = WebClient.builder() .codecs(configurer -> ... ) @@ -34,7 +34,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val webClient = WebClient.builder() .codecs { configurer -> ... } @@ -49,7 +49,7 @@ modified copy as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebClient client1 = WebClient.builder() .filter(filterA).filter(filterB).build(); @@ -64,7 +64,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val client1 = WebClient.builder() .filter(filterA).filter(filterB).build() @@ -95,7 +95,7 @@ To change the limit for default codecs, use the following: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebClient webClient = WebClient.builder() .codecs(configurer -> configurer.defaultCodecs().maxInMemorySize(2 * 1024 * 1024)) @@ -104,7 +104,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val webClient = WebClient.builder() .codecs { configurer -> configurer.defaultCodecs().maxInMemorySize(2 * 1024 * 1024) } @@ -123,7 +123,7 @@ To customize Reactor Netty settings, provide a pre-configured `HttpClient`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HttpClient httpClient = HttpClient.create().secure(sslSpec -> ...); @@ -134,7 +134,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val httpClient = HttpClient.create().secure { ... } @@ -165,7 +165,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Bean public ReactorResourceFactory reactorResourceFactory() { @@ -175,7 +175,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Bean fun reactorResourceFactory() = ReactorResourceFactory() @@ -192,7 +192,7 @@ instances use shared resources, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Bean public ReactorResourceFactory resourceFactory() { @@ -220,7 +220,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Bean fun resourceFactory() = ReactorResourceFactory().apply { @@ -255,7 +255,7 @@ To configure a connection timeout: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import io.netty.channel.ChannelOption; @@ -269,7 +269,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import io.netty.channel.ChannelOption @@ -288,7 +288,7 @@ To configure a read or write timeout: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import io.netty.handler.timeout.ReadTimeoutHandler; import io.netty.handler.timeout.WriteTimeoutHandler; @@ -304,7 +304,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import io.netty.handler.timeout.ReadTimeoutHandler import io.netty.handler.timeout.WriteTimeoutHandler @@ -325,7 +325,7 @@ To configure a response timeout for all requests: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HttpClient httpClient = HttpClient.create() .responseTimeout(Duration.ofSeconds(2)); @@ -335,7 +335,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val httpClient = HttpClient.create() .responseTimeout(Duration.ofSeconds(2)); @@ -350,7 +350,7 @@ To configure a response timeout for a specific request: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebClient.create().get() .uri("https://example.org/path") @@ -364,7 +364,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- WebClient.create().get() .uri("https://example.org/path") @@ -388,7 +388,7 @@ The following example shows how to customize the JDK `HttpClient`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HttpClient httpClient = HttpClient.newBuilder() .followRedirects(Redirect.NORMAL) @@ -403,7 +403,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val httpClient = HttpClient.newBuilder() .followRedirects(Redirect.NORMAL) @@ -428,7 +428,7 @@ The following example shows how to customize Jetty `HttpClient` settings: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HttpClient httpClient = new HttpClient(); httpClient.setCookieStore(...); @@ -440,7 +440,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val httpClient = HttpClient() httpClient.cookieStore = ... @@ -465,7 +465,7 @@ shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Bean public JettyResourceFactory resourceFactory() { @@ -489,7 +489,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Bean fun resourceFactory() = JettyResourceFactory() @@ -521,7 +521,7 @@ The following example shows how to customize Apache HttpComponents `HttpClient` ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HttpAsyncClientBuilder clientBuilder = HttpAsyncClients.custom(); clientBuilder.setDefaultRequestConfig(...); @@ -534,7 +534,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val client = HttpAsyncClients.custom().apply { setDefaultRequestConfig(...) diff --git a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-context.adoc b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-context.adoc index 749517ae20..523e711c6e 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-context.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-context.adoc @@ -13,7 +13,7 @@ apply to all operations. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebClient client = WebClient.builder() .filter((request, next) -> diff --git a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-exchange.adoc b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-exchange.adoc index 83ddb7f3a8..fa14363330 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-exchange.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-exchange.adoc @@ -9,7 +9,7 @@ depending on the response status: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Mono entityMono = client.get() .uri("/persons/1") @@ -27,7 +27,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val entity = client.get() .uri("/persons/1") diff --git a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-filter.adoc b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-filter.adoc index c1bd622687..d63ed06a9f 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-filter.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-filter.adoc @@ -8,7 +8,7 @@ in order to intercept and modify requests, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebClient client = WebClient.builder() .filter((request, next) -> { @@ -24,7 +24,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val client = WebClient.builder() .filter { request, next -> @@ -46,7 +46,7 @@ a filter for basic authentication through a static factory method: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.basicAuthentication; @@ -57,7 +57,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.web.reactive.function.client.ExchangeFilterFunctions.basicAuthentication @@ -74,7 +74,7 @@ in a new `WebClient` instance that does not affect the original one. For example ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.basicAuthentication; @@ -87,7 +87,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val client = webClient.mutate() .filters { it.add(0, basicAuthentication("user", "password")) } @@ -107,7 +107,7 @@ any response content, whether expected or not, is released: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public ExchangeFilterFunction renewTokenFilter() { return (request, next) -> next.exchange(request).flatMap(response -> { @@ -127,7 +127,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun renewTokenFilter(): ExchangeFilterFunction? { return ExchangeFilterFunction { request: ClientRequest?, next: ExchangeFunction -> @@ -156,7 +156,7 @@ a custom filter class that helps with computing a `Content-Length` header for `P ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MultipartExchangeFilterFunction implements ExchangeFilterFunction { @@ -191,7 +191,7 @@ public class MultipartExchangeFilterFunction implements ExchangeFilterFunction { Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MultipartExchangeFilterFunction : ExchangeFilterFunction { diff --git a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-retrieve.adoc b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-retrieve.adoc index 75e0000bcc..256b8cc934 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-retrieve.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-retrieve.adoc @@ -7,7 +7,7 @@ The `retrieve()` method can be used to declare how to extract the response. For ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebClient client = WebClient.create("https://example.org"); @@ -19,7 +19,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val client = WebClient.create("https://example.org") @@ -36,7 +36,7 @@ Or to get only the body: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebClient client = WebClient.create("https://example.org"); @@ -48,7 +48,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val client = WebClient.create("https://example.org") @@ -65,7 +65,7 @@ To get a stream of decoded objects: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Flux result = client.get() .uri("/quotes").accept(MediaType.TEXT_EVENT_STREAM) @@ -75,7 +75,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val result = client.get() .uri("/quotes").accept(MediaType.TEXT_EVENT_STREAM) @@ -92,7 +92,7 @@ responses, use `onStatus` handlers as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Mono result = client.get() .uri("/persons/{id}", id).accept(MediaType.APPLICATION_JSON) @@ -104,7 +104,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val result = client.get() .uri("/persons/{id}", id).accept(MediaType.APPLICATION_JSON) diff --git a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-synchronous.adoc b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-synchronous.adoc index 7f9c4a0e4f..dcc2ddc5ae 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-synchronous.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux-webclient/client-synchronous.adoc @@ -7,7 +7,7 @@ ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Person person = client.get().uri("/person/{id}", i).retrieve() .bodyToMono(Person.class) @@ -21,7 +21,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val person = runBlocking { client.get().uri("/person/{id}", i).retrieve() @@ -43,7 +43,7 @@ response individually, and instead wait for the combined result: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Mono personMono = client.get().uri("/person/{id}", personId) .retrieve().bodyToMono(Person.class); @@ -62,7 +62,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val data = runBlocking { val personDeferred = async { diff --git a/framework-docs/modules/ROOT/pages/web/webflux-websocket.adoc b/framework-docs/modules/ROOT/pages/web/webflux-websocket.adoc index 204c5f771f..da94064b67 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux-websocket.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux-websocket.adoc @@ -27,7 +27,7 @@ The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import org.springframework.web.reactive.socket.WebSocketHandler; import org.springframework.web.reactive.socket.WebSocketSession; @@ -43,7 +43,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.web.reactive.socket.WebSocketHandler import org.springframework.web.reactive.socket.WebSocketSession @@ -63,7 +63,7 @@ Then you can map it to a URL: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig { @@ -81,7 +81,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig { @@ -105,7 +105,7 @@ further to do, or otherwise if not using the WebFlux config you'll need to decla ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig { @@ -121,7 +121,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig { @@ -177,7 +177,7 @@ following example shows such an implementation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class ExampleHandler implements WebSocketHandler { @@ -201,7 +201,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ExampleHandler : WebSocketHandler { @@ -235,7 +235,7 @@ The following implementation combines the inbound and outbound streams: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class ExampleHandler implements WebSocketHandler { @@ -261,7 +261,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ExampleHandler : WebSocketHandler { @@ -293,7 +293,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class ExampleHandler implements WebSocketHandler { @@ -322,7 +322,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class ExampleHandler : WebSocketHandler { @@ -396,7 +396,7 @@ not using the WebFlux config, use the below: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig { @@ -417,7 +417,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig { @@ -472,7 +472,7 @@ methods: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebSocketClient client = new ReactorNettyWebSocketClient(); @@ -485,7 +485,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val client = ReactorNettyWebSocketClient() diff --git a/framework-docs/modules/ROOT/pages/web/webflux/caching.adoc b/framework-docs/modules/ROOT/pages/web/webflux/caching.adoc index a01e743b5e..6fe3f94de4 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/caching.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/caching.adoc @@ -34,7 +34,7 @@ use case-oriented approach that focuses on the common scenarios, as the followin ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Cache for an hour - "Cache-Control: max-age=3600" CacheControl ccCacheOneHour = CacheControl.maxAge(1, TimeUnit.HOURS); @@ -50,7 +50,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Cache for an hour - "Cache-Control: max-age=3600" val ccCacheOneHour = CacheControl.maxAge(1, TimeUnit.HOURS) @@ -82,7 +82,7 @@ settings to a `ResponseEntity`, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/book/{id}") public ResponseEntity showBook(@PathVariable Long id) { @@ -100,7 +100,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/book/{id}") fun showBook(@PathVariable id: Long): ResponseEntity { @@ -130,7 +130,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RequestMapping public String myHandleMethod(ServerWebExchange exchange, Model model) { @@ -151,7 +151,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RequestMapping fun myHandleMethod(exchange: ServerWebExchange, model: Model): String? { diff --git a/framework-docs/modules/ROOT/pages/web/webflux/config.adoc b/framework-docs/modules/ROOT/pages/web/webflux/config.adoc index 31eccf6f37..6d8ecdef13 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/config.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/config.adoc @@ -26,7 +26,7 @@ You can use the `@EnableWebFlux` annotation in your Java config, as the followin ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -36,7 +36,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -66,7 +66,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class WebConfig implements WebFluxConfigurer { @@ -77,7 +77,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig : WebFluxConfigurer { @@ -102,7 +102,7 @@ To register custom formatters and converters in Java config, use the following: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class WebConfig implements WebFluxConfigurer { @@ -117,7 +117,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig : WebFluxConfigurer { @@ -138,7 +138,7 @@ in the HTML spec. For such cases date and time formatting can be customized as f ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class WebConfig implements WebFluxConfigurer { @@ -154,7 +154,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig : WebFluxConfigurer { @@ -190,7 +190,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class WebConfig implements WebFluxConfigurer { @@ -205,7 +205,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig : WebFluxConfigurer { @@ -225,7 +225,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller public class MyController { @@ -240,7 +240,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller class MyController { @@ -273,7 +273,7 @@ The following example shows how to customize the requested content type resoluti ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class WebConfig implements WebFluxConfigurer { @@ -287,7 +287,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig : WebFluxConfigurer { @@ -311,7 +311,7 @@ The following example shows how to customize how the request and response body a ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class WebConfig implements WebFluxConfigurer { @@ -325,7 +325,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig : WebFluxConfigurer { @@ -366,7 +366,7 @@ The following example shows how to configure view resolution: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class WebConfig implements WebFluxConfigurer { @@ -380,7 +380,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig : WebFluxConfigurer { @@ -400,7 +400,7 @@ underlying FreeMarker view technology): ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class WebConfig implements WebFluxConfigurer { @@ -424,7 +424,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig : WebFluxConfigurer { @@ -449,7 +449,7 @@ You can also plug in any `ViewResolver` implementation, as the following example ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class WebConfig implements WebFluxConfigurer { @@ -465,7 +465,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig : WebFluxConfigurer { @@ -487,7 +487,7 @@ xref:web/webflux/reactive-spring.adoc#webflux-codecs[Codecs] from `spring-web`. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class WebConfig implements WebFluxConfigurer { @@ -507,7 +507,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig : WebFluxConfigurer { @@ -547,7 +547,7 @@ the example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class WebConfig implements WebFluxConfigurer { @@ -564,7 +564,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Configuration class WebConfig : WebFluxConfigurer { @@ -596,7 +596,7 @@ The following example shows how to use `VersionResourceResolver` in your Java co ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- @Configuration public class WebConfig implements WebFluxConfigurer { @@ -614,7 +614,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- @Configuration class WebConfig : WebFluxConfigurer { @@ -701,7 +701,7 @@ as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class WebConfig implements WebFluxConfigurer { @@ -716,7 +716,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig : WebFluxConfigurer { @@ -753,7 +753,7 @@ For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class WebConfig implements WebFluxConfigurer { @@ -769,7 +769,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig : WebFluxConfigurer { @@ -806,7 +806,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class WebConfig extends DelegatingWebFluxConfiguration { @@ -817,7 +817,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class WebConfig : DelegatingWebFluxConfiguration { diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller.adoc index 5db87830f5..14bbd82682 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller.adoc @@ -14,7 +14,7 @@ The following listing shows a basic example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RestController public class HelloController { @@ -28,7 +28,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RestController class HelloController { diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-advice.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-advice.adoc index cf77c0ca84..7f6f64be35 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-advice.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-advice.adoc @@ -29,7 +29,7 @@ annotation, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Target all Controllers annotated with @RestController @ControllerAdvice(annotations = RestController.class) @@ -46,7 +46,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Target all Controllers annotated with @RestController @ControllerAdvice(annotations = [RestController::class]) diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-initbinder.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-initbinder.adoc index 3893881ea4..d093ba9e3d 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-initbinder.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-initbinder.adoc @@ -24,7 +24,7 @@ xref:web/webflux/config.adoc#webflux-config-conversion[WebFlux config] to regist ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller public class FormController { @@ -43,7 +43,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller class FormController { @@ -71,7 +71,7 @@ controller-specific `Formatter` instances, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller public class FormController { @@ -88,7 +88,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller class FormController { diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/cookievalue.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/cookievalue.adoc index 79b62352e7..49074543f0 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/cookievalue.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/cookievalue.adoc @@ -19,7 +19,7 @@ The following code sample demonstrates how to get the cookie value: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/demo") public void handle(@CookieValue("JSESSIONID") String cookie) { // <1> @@ -30,7 +30,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/demo") fun handle(@CookieValue("JSESSIONID") cookie: String) { // <1> diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/httpentity.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/httpentity.adoc index 1c9d77d849..5711095c07 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/httpentity.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/httpentity.adoc @@ -11,7 +11,7 @@ container object that exposes request headers and the body. The following exampl ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") public void handle(HttpEntity entity) { @@ -21,7 +21,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") fun handle(entity: HttpEntity) { diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/jackson.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/jackson.adoc index ba07fff65a..9573aadfaa 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/jackson.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/jackson.adoc @@ -17,7 +17,7 @@ which allows rendering only a subset of all fields in an `Object`. To use it wit ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RestController public class UserController { @@ -59,7 +59,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RestController class UserController { diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/matrix-variables.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/matrix-variables.adoc index 02d4555997..805bbe5475 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/matrix-variables.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/matrix-variables.adoc @@ -23,7 +23,7 @@ variables are expected. The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // GET /pets/42;q=11;r=22 @@ -37,7 +37,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // GET /pets/42;q=11;r=22 @@ -59,7 +59,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // GET /owners/42;q=11/pets/21;q=22 @@ -75,7 +75,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/owners/{ownerId}/pets/{petId}") fun findPet( @@ -95,7 +95,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // GET /pets/42 @@ -108,7 +108,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // GET /pets/42 @@ -126,7 +126,7 @@ To get all matrix variables, use a `MultiValueMap`, as the following example sho ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // GET /owners/42;q=11;r=12/pets/21;q=22;s=23 @@ -142,7 +142,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // GET /owners/42;q=11;r=12/pets/21;q=22;s=23 diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/modelattrib-method-args.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/modelattrib-method-args.adoc index 65a1215b32..1a675b6d91 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/modelattrib-method-args.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/modelattrib-method-args.adoc @@ -10,7 +10,7 @@ URI path variables, and request headers onto a model object. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/owners/{ownerId}/pets/{petId}/edit") public String processSubmit(@ModelAttribute Pet pet) { } // <1> @@ -19,7 +19,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/owners/{ownerId}/pets/{petId}/edit") fun processSubmit(@ModelAttribute pet: Pet): String { } // <1> @@ -58,7 +58,7 @@ When using constructor binding, you can customize request parameter names throug ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class Account { @@ -71,7 +71,7 @@ Java:: ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class Account(@BindParam("first-name") val firstName: String) ---- @@ -97,7 +97,7 @@ in order to handle such errors in the controller method. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/owners/{ownerId}/pets/{petId}/edit") public String processSubmit(@ModelAttribute("pet") Pet pet, BindingResult result) { <1> @@ -111,7 +111,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/owners/{ownerId}/pets/{petId}/edit") fun processSubmit(@ModelAttribute("pet") pet: Pet, result: BindingResult): String { // <1> @@ -132,7 +132,7 @@ directly through it. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/owners/{ownerId}/pets/{petId}/edit") public Mono processSubmit(@Valid @ModelAttribute("pet") Mono petMono) { @@ -148,7 +148,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/owners/{ownerId}/pets/{petId}/edit") fun processSubmit(@Valid @ModelAttribute("pet") petMono: Mono): Mono { @@ -172,7 +172,7 @@ xref:web/webmvc/mvc-config/validation.adoc[Spring validation]). For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/owners/{ownerId}/pets/{petId}/edit") public String processSubmit(@Valid @ModelAttribute("pet") Pet pet, BindingResult result) { // <1> @@ -186,7 +186,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/owners/{ownerId}/pets/{petId}/edit") fun processSubmit(@Valid @ModelAttribute("pet") pet: Pet, result: BindingResult): String { // <1> diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/multipart-forms.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/multipart-forms.adoc index 462bf3eccb..5616e8110b 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/multipart-forms.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/multipart-forms.adoc @@ -13,7 +13,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class MyForm { @@ -38,7 +38,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MyForm( val name: String, @@ -87,7 +87,7 @@ You can access individual parts with `@RequestPart`, as the following example sh ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/") public String handle(@RequestPart("meta-data") Part metadata, // <1> @@ -100,7 +100,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/") fun handle(@RequestPart("meta-data") Part metadata, // <1> @@ -122,7 +122,7 @@ you can declare a concrete target `Object`, instead of `Part`, as the following ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/") public String handle(@RequestPart("meta-data") MetaData metadata) { // <1> @@ -133,7 +133,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/") fun handle(@RequestPart("meta-data") metadata: MetaData): String { // <1> @@ -156,7 +156,7 @@ error related operators: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/") public String handle(@Valid @RequestPart("meta-data") Mono metadata) { @@ -166,7 +166,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/") fun handle(@Valid @RequestPart("meta-data") metadata: MetaData): String { @@ -188,7 +188,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/") public String handle(@RequestBody Mono> parts) { // <1> @@ -199,7 +199,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/") fun handle(@RequestBody parts: MultiValueMap): String { // <1> @@ -230,7 +230,7 @@ For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/") public void handle(@RequestBody Flux allPartsEvents) { <1> @@ -270,7 +270,7 @@ file upload. Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/") fun handle(@RequestBody allPartsEvents: Flux) = { // <1> diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestattrib.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestattrib.adoc index d5359a575b..4fc08067bf 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestattrib.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestattrib.adoc @@ -11,7 +11,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/") public String handle(@RequestAttribute Client client) { <1> @@ -22,7 +22,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/") fun handle(@RequestAttribute client: Client): String { // <1> diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestbody.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestbody.adoc index b4b78afd28..90d1ea2c83 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestbody.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestbody.adoc @@ -11,7 +11,7 @@ The following example uses a `@RequestBody` argument: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") public void handle(@RequestBody Account account) { @@ -21,7 +21,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") fun handle(@RequestBody account: Account) { @@ -37,7 +37,7 @@ and fully non-blocking reading and (client-to-server) streaming. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") public void handle(@RequestBody Mono account) { @@ -47,7 +47,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") fun handle(@RequestBody accounts: Flow) { @@ -70,7 +70,7 @@ related operators: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") public void handle(@Valid @RequestBody Mono account) { @@ -80,7 +80,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") fun handle(@Valid @RequestBody account: Mono) { @@ -96,7 +96,7 @@ that case the request body must not be a `Mono`, and will be resolved first: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") public void handle(@Valid @RequestBody Account account, Errors errors) { @@ -106,7 +106,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") fun handle(@Valid @RequestBody account: Mono) { diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestheader.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestheader.adoc index e186391ef8..64c3fa9a7a 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestheader.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestheader.adoc @@ -25,7 +25,7 @@ The following example gets the value of the `Accept-Encoding` and `Keep-Alive` h ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/demo") public void handle( @@ -39,7 +39,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/demo") fun handle( diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestparam.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestparam.adoc index 372c4bfaa6..0066245d26 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestparam.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/requestparam.adoc @@ -10,7 +10,7 @@ controller. The following code snippet shows the usage: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller @RequestMapping("/pets") @@ -32,7 +32,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.ui.set diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/responsebody.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/responsebody.adoc index d6befe47fd..d0d34f8d2e 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/responsebody.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/responsebody.adoc @@ -11,7 +11,7 @@ example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/accounts/{id}") @ResponseBody @@ -22,7 +22,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/accounts/{id}") @ResponseBody diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/responseentity.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/responseentity.adoc index 00de86dad5..21766d3384 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/responseentity.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/responseentity.adoc @@ -9,7 +9,7 @@ ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/something") public ResponseEntity handle() { @@ -21,7 +21,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/something") fun handle(): ResponseEntity { diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/sessionattribute.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/sessionattribute.adoc index 46ebcba9b4..4469d22643 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/sessionattribute.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/sessionattribute.adoc @@ -11,7 +11,7 @@ you can use the `@SessionAttribute` annotation on a method parameter, as the fol ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/") public String handle(@SessionAttribute User user) { // <1> @@ -22,7 +22,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/") fun handle(@SessionAttribute user: User): String { // <1> diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/sessionattributes.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/sessionattributes.adoc index d71db97849..7bc918c846 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/sessionattributes.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-methods/sessionattributes.adoc @@ -15,7 +15,7 @@ Consider the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller @SessionAttributes("pet") <1> @@ -27,7 +27,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller @SessionAttributes("pet") // <1> @@ -47,7 +47,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller @SessionAttributes("pet") // <1> @@ -71,7 +71,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller @SessionAttributes("pet") // <1> diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-modelattrib-methods.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-modelattrib-methods.adoc index fab54b2307..7d79ea1d46 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-modelattrib-methods.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-modelattrib-methods.adoc @@ -28,7 +28,7 @@ The following example uses a `@ModelAttribute` method: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ModelAttribute public void populateModel(@RequestParam String number, Model model) { @@ -39,7 +39,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ModelAttribute fun populateModel(@RequestParam number: String, model: Model) { @@ -55,7 +55,7 @@ The following example adds one attribute only: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ModelAttribute public Account addAccount(@RequestParam String number) { @@ -65,7 +65,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ModelAttribute fun addAccount(@RequestParam number: String): Account { @@ -89,7 +89,7 @@ declared without a wrapper, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ModelAttribute public void addAccount(@RequestParam String number) { @@ -105,7 +105,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.ui.set @@ -137,7 +137,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/accounts/{id}") @ModelAttribute("myAccount") @@ -149,7 +149,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/accounts/{id}") @ModelAttribute("myAccount") diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-requestmapping.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-requestmapping.adoc index 884c91252d..98387cd2d9 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-requestmapping.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-requestmapping.adoc @@ -40,7 +40,7 @@ The following example uses type and method level mappings: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RestController @RequestMapping("/persons") @@ -61,7 +61,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RestController @RequestMapping("/persons") @@ -129,7 +129,7 @@ Captured URI variables can be accessed with `@PathVariable`, as the following ex ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/owners/{ownerId}/pets/{petId}") public Pet findPet(@PathVariable Long ownerId, @PathVariable Long petId) { @@ -139,7 +139,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/owners/{ownerId}/pets/{petId}") fun findPet(@PathVariable ownerId: Long, @PathVariable petId: Long): Pet { @@ -156,7 +156,7 @@ You can declare URI variables at the class and method levels, as the following e ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller @RequestMapping("/owners/{ownerId}") // <1> @@ -173,7 +173,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller @RequestMapping("/owners/{ownerId}") // <1> @@ -213,7 +213,7 @@ extracts the name, version, and file extension: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/{name:[a-z-]+}-{version:\\d\\.\\d\\.\\d}{ext:\\.[a-z]+}") public void handle(@PathVariable String version, @PathVariable String ext) { @@ -223,7 +223,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/{name:[a-z-]+}-{version:\\d\\.\\d\\.\\d}{ext:\\.[a-z]+}") fun handle(@PathVariable version: String, @PathVariable ext: String) { @@ -274,7 +274,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping(path = "/pets", consumes = "application/json") public void addPet(@RequestBody Pet pet) { @@ -284,7 +284,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/pets", consumes = ["application/json"]) fun addPet(@RequestBody pet: Pet) { @@ -315,7 +315,7 @@ content types that a controller method produces, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping(path = "/pets/{petId}", produces = "application/json") @ResponseBody @@ -326,7 +326,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/pets/{petId}", produces = ["application/json"]) @ResponseBody @@ -359,7 +359,7 @@ specific value (`myParam=myValue`). The following examples tests for a parameter ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping(path = "/pets/{petId}", params = "myParam=myValue") // <1> public void findPet(@PathVariable String petId) { @@ -370,7 +370,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/pets/{petId}", params = ["myParam=myValue"]) // <1> fun findPet(@PathVariable petId: String) { @@ -386,7 +386,7 @@ You can also use the same with request header conditions, as the following examp ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping(path = "/pets/{petId}", headers = "myHeader=myValue") // <1> public void findPet(@PathVariable String petId) { @@ -397,7 +397,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/pets/{petId}", headers = ["myHeader=myValue"]) // <1> fun findPet(@PathVariable petId: String) { @@ -469,7 +469,7 @@ under different URLs. The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class MyConfig { @@ -495,7 +495,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class MyConfig { @@ -541,7 +541,7 @@ For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @HttpExchange("/persons") interface PersonService { @@ -569,7 +569,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @HttpExchange("/persons") interface PersonService { diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-validation.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-validation.adoc index 59090a2056..53ff9683c6 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-validation.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann-validation.adoc @@ -65,7 +65,7 @@ methods by controller method parameter type: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HandlerMethodValidationException ex = ... ; @@ -95,7 +95,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // HandlerMethodValidationException val ex diff --git a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann.adoc b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann.adoc index 602d2b591a..00241404fc 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/controller/ann.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/controller/ann.adoc @@ -16,7 +16,7 @@ your Java configuration, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan("org.example.web") // <1> @@ -29,7 +29,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @ComponentScan("org.example.web") // <1> diff --git a/framework-docs/modules/ROOT/pages/web/webflux/dispatcher-handler.adoc b/framework-docs/modules/ROOT/pages/web/webflux/dispatcher-handler.adoc index 50f7420205..e5f907d2dd 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/dispatcher-handler.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/dispatcher-handler.adoc @@ -29,7 +29,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ApplicationContext context = ... HttpHandler handler = WebHttpHandlerBuilder.applicationContext(context).build(); @@ -37,7 +37,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val context: ApplicationContext = ... val handler = WebHttpHandlerBuilder.applicationContext(context).build() diff --git a/framework-docs/modules/ROOT/pages/web/webflux/reactive-spring.adoc b/framework-docs/modules/ROOT/pages/web/webflux/reactive-spring.adoc index 995a8ca66c..f4c827d525 100644 --- a/framework-docs/modules/ROOT/pages/web/webflux/reactive-spring.adoc +++ b/framework-docs/modules/ROOT/pages/web/webflux/reactive-spring.adoc @@ -88,7 +88,7 @@ The code snippets below show using the `HttpHandler` adapters with each server A ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HttpHandler handler = ... ReactorHttpHandlerAdapter adapter = new ReactorHttpHandlerAdapter(handler); @@ -97,7 +97,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val handler: HttpHandler = ... val adapter = ReactorHttpHandlerAdapter(handler) @@ -110,7 +110,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HttpHandler handler = ... UndertowHttpHandlerAdapter adapter = new UndertowHttpHandlerAdapter(handler); @@ -120,7 +120,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val handler: HttpHandler = ... val adapter = UndertowHttpHandlerAdapter(handler) @@ -134,7 +134,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HttpHandler handler = ... Servlet servlet = new TomcatHttpHandlerAdapter(handler); @@ -151,7 +151,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val handler: HttpHandler = ... val servlet = TomcatHttpHandlerAdapter(handler) @@ -173,7 +173,7 @@ Kotlin:: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HttpHandler handler = ... Servlet servlet = new JettyHttpHandlerAdapter(handler); @@ -192,7 +192,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val handler: HttpHandler = ... val servlet = JettyHttpHandlerAdapter(handler) @@ -305,14 +305,14 @@ Spring ApplicationContext, or that can be registered directly with it: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Mono> getFormData(); ---- Kotlin:: + -[source,Kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,Kotlin,indent=0,subs="verbatim,quotes"] ---- suspend fun getFormData(): MultiValueMap ---- @@ -334,14 +334,14 @@ The `DefaultServerWebExchange` uses the configured `HttpMessageReader` to parse ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Mono> getMultipartData(); ---- Kotlin:: + -[source,Kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,Kotlin,indent=0,subs="verbatim,quotes"] ---- suspend fun getMultipartData(): MultiValueMap ---- @@ -676,7 +676,7 @@ The following example shows how to do so for server-side requests: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -691,7 +691,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebFlux @@ -710,7 +710,7 @@ The following example shows how to do so for client-side requests: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Consumer consumer = configurer -> configurer.defaultCodecs().enableLoggingRequestDetails(true); @@ -722,7 +722,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val consumer: (ClientCodecConfigurer) -> Unit = { configurer -> configurer.defaultCodecs().enableLoggingRequestDetails(true) } @@ -760,7 +760,7 @@ The following example shows how to do so for client-side requests: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- WebClient webClient = WebClient.builder() .codecs(configurer -> { @@ -772,7 +772,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val webClient = WebClient.builder() .codecs({ configurer -> diff --git a/framework-docs/modules/ROOT/pages/web/webmvc-cors.adoc b/framework-docs/modules/ROOT/pages/web/webmvc-cors.adoc index a8e7bb148b..80f486b668 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc-cors.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc-cors.adoc @@ -116,7 +116,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RestController @RequestMapping("/account") @@ -137,7 +137,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RestController @RequestMapping("/account") @@ -178,7 +178,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @CrossOrigin(origins = "https://domain2.com", maxAge = 3600) @RestController @@ -199,7 +199,7 @@ public class AccountController { Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @CrossOrigin(origins = ["https://domain2.com"], maxAge = 3600) @RestController @@ -225,7 +225,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @CrossOrigin(maxAge = 3600) @RestController @@ -247,7 +247,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @CrossOrigin(maxAge = 3600) @RestController @@ -308,7 +308,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebMvc @@ -331,7 +331,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebMvc @@ -398,7 +398,7 @@ following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim",role="primary"] +[source,java,indent=0,subs="verbatim"] ---- CorsConfiguration config = new CorsConfiguration(); @@ -418,7 +418,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim",role="secondary"] +[source,kotlin,indent=0,subs="verbatim"] ---- val config = CorsConfiguration() diff --git a/framework-docs/modules/ROOT/pages/web/webmvc-functional.adoc b/framework-docs/modules/ROOT/pages/web/webmvc-functional.adoc index 23f5e7045b..26b312a9b6 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc-functional.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc-functional.adoc @@ -34,7 +34,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.web.servlet.function.RequestPredicates.*; @@ -71,7 +71,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.web.servlet.function.router @@ -134,14 +134,14 @@ The following example extracts the request body to a `String`: ====== Java:: + -[source,java,role="primary"] +[source,java] ---- String string = request.body(String.class); ---- Kotlin:: + -[source,kotlin,role="secondary"] +[source,kotlin] ---- val string = request.body() ---- @@ -155,14 +155,14 @@ where `Person` objects are decoded from a serialized form, such as JSON or XML: ====== Java:: + -[source,java,role="primary"] +[source,java] ---- List people = request.body(new ParameterizedTypeReference>() {}); ---- Kotlin:: + -[source,kotlin,role="secondary"] +[source,kotlin] ---- val people = request.body() ---- @@ -174,14 +174,14 @@ The following example shows how to access parameters: ====== Java:: + -[source,java,role="primary"] +[source,java] ---- MultiValueMap params = request.params(); ---- Kotlin:: + -[source,kotlin,role="secondary"] +[source,kotlin] ---- val map = request.params() ---- @@ -200,7 +200,7 @@ content: ====== Java:: + -[source,java,role="primary"] +[source,java] ---- Person person = ... ServerResponse.ok().contentType(MediaType.APPLICATION_JSON).body(person); @@ -208,7 +208,7 @@ ServerResponse.ok().contentType(MediaType.APPLICATION_JSON).body(person); Kotlin:: + -[source,kotlin,role="secondary"] +[source,kotlin] ---- val person: Person = ... ServerResponse.ok().contentType(MediaType.APPLICATION_JSON).body(person) @@ -221,7 +221,7 @@ The following example shows how to build a 201 (CREATED) response with a `Locati ====== Java:: + -[source,java,role="primary"] +[source,java] ---- URI location = ... ServerResponse.created(location).build(); @@ -229,7 +229,7 @@ ServerResponse.created(location).build(); Kotlin:: + -[source,kotlin,role="secondary"] +[source,kotlin] ---- val location: URI = ... ServerResponse.created(location).build() @@ -243,7 +243,7 @@ You can also use an asynchronous result as the body, in the form of a `Completab ====== Java:: + -[source,java,role="primary"] +[source,java] ---- Mono person = webClient.get().retrieve().bodyToMono(Person.class); ServerResponse.ok().contentType(MediaType.APPLICATION_JSON).body(person); @@ -251,7 +251,7 @@ ServerResponse.ok().contentType(MediaType.APPLICATION_JSON).body(person); Kotlin:: + -[source,kotlin,role="secondary"] +[source,kotlin] ---- val person = webClient.get().retrieve().awaitBody() ServerResponse.ok().contentType(MediaType.APPLICATION_JSON).body(person) @@ -267,7 +267,7 @@ any other asynchronous type supported by the `ReactiveAdapterRegistry`. For inst ====== Java:: + -[source,java,role="primary"] +[source,java] ---- Mono asyncResponse = webClient.get().retrieve().bodyToMono(Person.class) .map(p -> ServerResponse.ok().header("Name", p.name()).body(p)); @@ -283,7 +283,7 @@ allows you to send Strings, or other objects as JSON. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public RouterFunction sse() { return route(GET("/sse"), request -> ServerResponse.sse(sseBuilder -> { @@ -309,7 +309,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- fun sse(): RouterFunction = router { GET("/sse") { request -> ServerResponse.sse { sseBuilder -> @@ -346,7 +346,7 @@ We can write a handler function as a lambda, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HandlerFunction helloWorld = request -> ServerResponse.ok().body("Hello World"); @@ -354,7 +354,7 @@ HandlerFunction helloWorld = Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val helloWorld: (ServerRequest) -> ServerResponse = { ServerResponse.ok().body("Hello World") } @@ -373,7 +373,7 @@ For example, the following class exposes a reactive `Person` repository: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.web.reactive.function.server.ServerResponse.ok; @@ -419,7 +419,7 @@ found. If it is not found, we return a 404 Not Found response. Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class PersonHandler(private val repository: PersonRepository) { @@ -463,7 +463,7 @@ xref:web/webmvc/mvc-config/validation.adoc[Validator] implementation for a `Pers ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class PersonHandler { @@ -493,7 +493,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class PersonHandler(private val repository: PersonRepository) { @@ -563,7 +563,7 @@ header: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RouterFunction route = RouterFunctions.route() .GET("/hello-world", accept(MediaType.TEXT_PLAIN), @@ -572,7 +572,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.web.servlet.function.router @@ -624,7 +624,7 @@ The following example shows the composition of four routes: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.web.servlet.function.RequestPredicates.*; @@ -651,7 +651,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.http.MediaType.APPLICATION_JSON import org.springframework.web.servlet.function.router @@ -693,7 +693,7 @@ For instance, the last few lines of the example above can be improved in the fol ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RouterFunction route = route() .path("/person", builder -> builder // <1> @@ -706,7 +706,7 @@ RouterFunction route = route() Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.web.servlet.function.router @@ -730,7 +730,7 @@ We can further improve by using the `nest` method together with `accept`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RouterFunction route = route() .path("/person", b1 -> b1 @@ -743,7 +743,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.web.servlet.function.router @@ -778,7 +778,7 @@ for handling redirects in Single Page Applications. ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- ClassPathResource index = new ClassPathResource("static/index.html"); List extensions = List.of("js", "css", "ico", "png", "jpg", "gif"); @@ -790,7 +790,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val redirectToIndex = router { val index = ClassPathResource("static/index.html") @@ -811,7 +811,7 @@ It is also possible to route requests that match a given pattern to resources re ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- Resource location = new FileSystemResource("public-resources/"); RouterFunction resources = RouterFunctions.resources("/resources/**", location); @@ -819,7 +819,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val location = FileSystemResource("public-resources/") val resources = router { resources("/resources/**", location) } @@ -853,7 +853,7 @@ The following example shows a WebFlux Java configuration: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableMvc @@ -890,7 +890,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableMvc @@ -941,7 +941,7 @@ For instance, consider the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- RouterFunction route = route() .path("/person", b1 -> b1 @@ -960,7 +960,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.web.servlet.function.router @@ -998,7 +998,7 @@ The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- SecurityManager securityManager = ... @@ -1021,7 +1021,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.web.servlet.function.router diff --git a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-document.adoc b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-document.adoc index 64a49310d1..469e7e5bd4 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-document.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-document.adoc @@ -36,7 +36,7 @@ A simple PDF view for a word list could extend ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class PdfWordList extends AbstractPdfView { @@ -53,7 +53,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class PdfWordList : AbstractPdfView() { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-feeds.adoc b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-feeds.adoc index d12bf374fa..02f1512afb 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-feeds.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-feeds.adoc @@ -14,7 +14,7 @@ empty). The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SampleContentAtomView extends AbstractAtomFeedView { @@ -34,7 +34,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class SampleContentAtomView : AbstractAtomFeedView() { @@ -57,7 +57,7 @@ Similar requirements apply for implementing `AbstractRssFeedView`, as the follow ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class SampleContentRssView extends AbstractRssFeedView { @@ -77,7 +77,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class SampleContentRssView : AbstractRssFeedView() { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-fragments.adoc b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-fragments.adoc index b09fdd8633..45e4a57adc 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-fragments.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-fragments.adoc @@ -19,7 +19,7 @@ can return `Collection`. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping List handle() { @@ -29,7 +29,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping fun handle(): List { @@ -44,7 +44,7 @@ The same can be done also by returning the dedicated type `FragmentsRendering`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping FragmentsRendering handle() { @@ -54,7 +54,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping fun handle(): FragmentsRendering { @@ -73,7 +73,7 @@ A controller can use `SseEmitter` to send `ModelAndView` to render a fragment pe ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping SseEmitter handle() { @@ -94,7 +94,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping fun handle(): SseEmitter { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-freemarker.adoc b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-freemarker.adoc index 7944f7c42b..bffd2577eb 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-freemarker.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-freemarker.adoc @@ -19,7 +19,7 @@ The following example shows how to configure FreeMarker as a view technology: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebMvc @@ -44,7 +44,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebMvc @@ -377,7 +377,7 @@ codes with suitable keys, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- protected Map referenceData(HttpServletRequest request) throws Exception { Map cityMap = new LinkedHashMap<>(); @@ -393,7 +393,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- protected fun referenceData(request: HttpServletRequest): Map { val cityMap = linkedMapOf( diff --git a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-groovymarkup.adoc b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-groovymarkup.adoc index 7793e08c10..5df5c7a93d 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-groovymarkup.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-groovymarkup.adoc @@ -19,7 +19,7 @@ The following example shows how to configure the Groovy Markup Template Engine: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebMvc @@ -43,7 +43,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebMvc diff --git a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-jsp.adoc b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-jsp.adoc index 51ad8f57bf..8d095e720d 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-jsp.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-jsp.adoc @@ -189,7 +189,7 @@ hobbies. The following example shows the `Preferences` class: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class Preferences { @@ -225,7 +225,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class Preferences( var receiveNewsletter: Boolean, @@ -592,7 +592,7 @@ called `UserValidator`, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class UserValidator implements Validator { @@ -609,7 +609,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class UserValidator : Validator { @@ -801,7 +801,7 @@ The following example shows the corresponding `@Controller` method: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RequestMapping(method = RequestMethod.DELETE) public String deletePet(@PathVariable int ownerId, @PathVariable int petId) { @@ -812,7 +812,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RequestMapping(method = [RequestMethod.DELETE]) fun deletePet(@PathVariable ownerId: Int, @PathVariable petId: Int): String { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-script.adoc b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-script.adoc index adc87d9003..ffb27d22bd 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-script.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-script.adoc @@ -57,7 +57,7 @@ The following example uses Mustache templates and the Nashorn JavaScript engine: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebMvc @@ -82,7 +82,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebMvc @@ -124,7 +124,7 @@ The controller would look no different for the Java and XML configurations, as t ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller public class SampleController { @@ -140,7 +140,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller class SampleController { @@ -192,7 +192,7 @@ The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebMvc @@ -217,7 +217,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration @EnableWebMvc diff --git a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-xslt.adoc b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-xslt.adoc index 255c899eb6..7fe25e7164 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-xslt.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-xslt.adoc @@ -26,7 +26,7 @@ The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @EnableWebMvc @ComponentScan @@ -45,7 +45,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @EnableWebMvc @ComponentScan @@ -74,7 +74,7 @@ handler method being defined as follows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller public class XsltController { @@ -100,7 +100,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.ui.set diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-ann-async.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-ann-async.adoc index 3fde9a1f95..9e248d5f24 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-ann-async.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-ann-async.adoc @@ -25,7 +25,7 @@ return value with `DeferredResult`, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/quotes") @ResponseBody @@ -41,7 +41,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/quotes") @ResponseBody @@ -71,7 +71,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping public Callable processUpload(final MultipartFile file) { @@ -81,7 +81,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping fun processUpload(file: MultipartFile) = Callable { @@ -227,7 +227,7 @@ response, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/events") public ResponseBodyEmitter handle() { @@ -248,7 +248,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/events") fun handle() = ResponseBodyEmitter().apply { @@ -289,7 +289,7 @@ stream from a controller, return `SseEmitter`, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping(path="/events", produces=MediaType.TEXT_EVENT_STREAM_VALUE) public SseEmitter handle() { @@ -310,7 +310,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/events", produces = [MediaType.TEXT_EVENT_STREAM_VALUE]) fun handle() = SseEmitter().apply { @@ -348,7 +348,7 @@ return value type to do so, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/download") public StreamingResponseBody handle() { @@ -363,7 +363,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/download") fun handle() = StreamingResponseBody { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-caching.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-caching.adoc index 2ae6c92f6c..5e4a6a7828 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-caching.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-caching.adoc @@ -36,7 +36,7 @@ use case-oriented approach that focuses on the common scenarios: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Cache for an hour - "Cache-Control: max-age=3600" CacheControl ccCacheOneHour = CacheControl.maxAge(1, TimeUnit.HOURS); @@ -52,7 +52,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Cache for an hour - "Cache-Control: max-age=3600" val ccCacheOneHour = CacheControl.maxAge(1, TimeUnit.HOURS) @@ -91,7 +91,7 @@ settings to a `ResponseEntity`, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/book/{id}") public ResponseEntity showBook(@PathVariable Long id) { @@ -109,7 +109,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/book/{id}") fun showBook(@PathVariable id: Long): ResponseEntity { @@ -139,7 +139,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RequestMapping public String myHandleMethod(WebRequest request, Model model) { @@ -160,7 +160,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RequestMapping fun myHandleMethod(request: WebRequest, model: Model): String? { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller.adoc index e893eaa758..d759e804cf 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller.adoc @@ -13,7 +13,7 @@ The following example shows a controller defined by annotations: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller public class HelloController { @@ -28,7 +28,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.ui.set diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-advice.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-advice.adoc index 90f206a7c4..403db0bbf2 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-advice.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-advice.adoc @@ -27,7 +27,7 @@ and handlers that they apply to. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // Target all Controllers annotated with @RestController @ControllerAdvice(annotations = RestController.class) @@ -44,7 +44,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // Target all Controllers annotated with @RestController @ControllerAdvice(annotations = [RestController::class]) diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-initbinder.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-initbinder.adoc index 9562ac0f7b..eca8278f35 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-initbinder.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-initbinder.adoc @@ -27,7 +27,7 @@ have, with the notable exception of `@ModelAttribute`. Typically, such methods h ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller public class FormController { @@ -46,7 +46,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller class FormController { @@ -72,7 +72,7 @@ controller-specific `Formatter` implementations, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller public class FormController { @@ -89,7 +89,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller class FormController { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/cookievalue.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/cookievalue.adoc index d61859b5a1..f56b52b967 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/cookievalue.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/cookievalue.adoc @@ -19,7 +19,7 @@ The following example shows how to get the cookie value: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/demo") public void handle(@CookieValue("JSESSIONID") String cookie) { <1> @@ -30,7 +30,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/demo") fun handle(@CookieValue("JSESSIONID") cookie: String) { // <1> diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/httpentity.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/httpentity.adoc index 024f99b149..80e75a0e7d 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/httpentity.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/httpentity.adoc @@ -10,7 +10,7 @@ container object that exposes request headers and body. The following listing sh ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") public void handle(HttpEntity entity) { @@ -20,7 +20,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") fun handle(entity: HttpEntity) { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/jackson.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/jackson.adoc index b0522fdb77..b8c24d6641 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/jackson.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/jackson.adoc @@ -17,7 +17,7 @@ which allow rendering only a subset of all fields in an `Object`. To use it with ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RestController public class UserController { @@ -59,7 +59,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RestController class UserController { @@ -89,7 +89,7 @@ wrap the return value with `MappingJacksonValue` and use it to supply the serial ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RestController public class UserController { @@ -106,7 +106,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RestController class UserController { @@ -128,7 +128,7 @@ to the model, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller public class UserController extends AbstractController { @@ -144,7 +144,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller class UserController : AbstractController() { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/matrix-variables.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/matrix-variables.adoc index c96b15a352..440bc376ed 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/matrix-variables.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/matrix-variables.adoc @@ -22,7 +22,7 @@ The following example uses a matrix variable: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // GET /pets/42;q=11;r=22 @@ -36,7 +36,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // GET /pets/42;q=11;r=22 @@ -57,7 +57,7 @@ The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // GET /owners/42;q=11/pets/21;q=22 @@ -73,7 +73,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // GET /owners/42;q=11/pets/21;q=22 @@ -95,7 +95,7 @@ following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // GET /pets/42 @@ -108,7 +108,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // GET /pets/42 @@ -126,7 +126,7 @@ To get all matrix variables, you can use a `MultiValueMap`, as the following exa ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // GET /owners/42;q=11;r=12/pets/21;q=22;s=23 @@ -142,7 +142,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // GET /owners/42;q=11;r=12/pets/21;q=22;s=23 diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/modelattrib-method-args.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/modelattrib-method-args.adoc index 466d9d7bd5..c400402417 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/modelattrib-method-args.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/modelattrib-method-args.adoc @@ -10,7 +10,7 @@ and request headers onto a model object. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/owners/{ownerId}/pets/{petId}/edit") public String processSubmit(@ModelAttribute Pet pet) { // <1> @@ -21,7 +21,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/owners/{ownerId}/pets/{petId}/edit") fun processSubmit(@ModelAttribute pet: Pet): String { // <1> @@ -58,7 +58,7 @@ registered `Converter` that perhaps retrieves it from a persist ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PutMapping("/accounts/{account}") public String save(@ModelAttribute("account") Account account) { // <1> @@ -68,7 +68,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PutMapping("/accounts/{account}") fun save(@ModelAttribute("account") account: Account): String { // <1> @@ -93,7 +93,7 @@ When using constructor binding, you can customize request parameter names throug ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class Account { @@ -106,7 +106,7 @@ Java:: ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class Account(@BindParam("first-name") val firstName: String) ---- @@ -128,7 +128,7 @@ alternatively, set `@ModelAttribute(binding=false)`, as the following example sh ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ModelAttribute public AccountForm setUpForm() { @@ -150,7 +150,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ModelAttribute fun setUpForm(): AccountForm { @@ -179,7 +179,7 @@ in order to handle such errors in the controller method. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/owners/{ownerId}/pets/{petId}/edit") public String processSubmit(@ModelAttribute("pet") Pet pet, BindingResult result) { // <1> @@ -193,7 +193,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/owners/{ownerId}/pets/{petId}/edit") fun processSubmit(@ModelAttribute("pet") pet: Pet, result: BindingResult): String { // <1> @@ -215,7 +215,7 @@ xref:web/webmvc/mvc-config/validation.adoc[Spring validation]. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/owners/{ownerId}/pets/{petId}/edit") public String processSubmit(@Valid @ModelAttribute("pet") Pet pet, BindingResult result) { // <1> @@ -229,7 +229,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/owners/{ownerId}/pets/{petId}/edit") fun processSubmit(@Valid @ModelAttribute("pet") pet: Pet, result: BindingResult): String { // <1> diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/multipart-forms.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/multipart-forms.adoc index 5e4addcb3a..55c11bcbfa 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/multipart-forms.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/multipart-forms.adoc @@ -12,7 +12,7 @@ file: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller public class FileUploadController { @@ -33,7 +33,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller class FileUploadController { @@ -72,7 +72,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- class MyForm { @@ -100,7 +100,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MyForm(val name: String, val file: MultipartFile, ...) @@ -153,7 +153,7 @@ xref:integration/rest-clients.adoc#rest-message-conversion[HttpMessageConverter] ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/") public String handle(@RequestPart("meta-data") MetaData metadata, @@ -164,7 +164,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/") fun handle(@RequestPart("meta-data") metadata: MetaData, @@ -185,7 +185,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/") public String handle(@Valid @RequestPart("meta-data") MetaData metadata, Errors errors) { @@ -195,7 +195,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/") fun handle(@Valid @RequestPart("meta-data") metadata: MetaData, errors: Errors): String { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/redirecting-passing-data.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/redirecting-passing-data.adoc index 5ed5b89b4d..645f2a25ae 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/redirecting-passing-data.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/redirecting-passing-data.adoc @@ -30,7 +30,7 @@ through `Model` or `RedirectAttributes`. The following example shows how to defi ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/files/{path}") public String upload(...) { @@ -41,7 +41,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/files/{path}") fun upload(...): String { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestattrib.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestattrib.adoc index 110b415b4c..76da7fff88 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestattrib.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestattrib.adoc @@ -11,7 +11,7 @@ or `HandlerInterceptor`): ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/") public String handle(@RequestAttribute Client client) { // <1> @@ -22,7 +22,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/") fun handle(@RequestAttribute client: Client): String { // <1> diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestbody.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestbody.adoc index e7b22db93b..afb1509394 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestbody.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestbody.adoc @@ -11,7 +11,7 @@ The following example uses a `@RequestBody` argument: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") public void handle(@RequestBody Account account) { @@ -21,7 +21,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") fun handle(@RequestBody account: Account) { @@ -49,7 +49,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") public void handle(@Valid @RequestBody Account account, Errors errors) { @@ -59,7 +59,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/accounts") fun handle(@Valid @RequestBody account: Account, errors: Errors) { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestheader.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestheader.adoc index a63151aa66..99c1bcd0f6 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestheader.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestheader.adoc @@ -25,7 +25,7 @@ The following example gets the value of the `Accept-Encoding` and `Keep-Alive` h ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/demo") public void handle( @@ -39,7 +39,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/demo") fun handle( diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestparam.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestparam.adoc index fba75f9309..839e0f57ea 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestparam.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/requestparam.adoc @@ -12,7 +12,7 @@ The following example shows how to do so: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller @RequestMapping("/pets") @@ -35,7 +35,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.ui.set @@ -78,7 +78,7 @@ The following example shows how to do so with form data processing: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller @RequestMapping("/pets") @@ -96,7 +96,7 @@ Java:: ---- Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller @RequestMapping("/pets") diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/responsebody.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/responsebody.adoc index 4fb18b0002..51d0188a4b 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/responsebody.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/responsebody.adoc @@ -12,7 +12,7 @@ The following listing shows an example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/accounts/{id}") @ResponseBody @@ -23,7 +23,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/accounts/{id}") @ResponseBody diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/responseentity.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/responseentity.adoc index 218ac99539..89f4715aa3 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/responseentity.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/responseentity.adoc @@ -9,7 +9,7 @@ ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/something") public ResponseEntity handle() { @@ -21,7 +21,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/something") fun handle(): ResponseEntity { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/sessionattribute.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/sessionattribute.adoc index 726952dc56..5e7754d3c4 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/sessionattribute.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/sessionattribute.adoc @@ -12,7 +12,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RequestMapping("/") public String handle(@SessionAttribute User user) { <1> @@ -23,7 +23,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RequestMapping("/") fun handle(@SessionAttribute user: User): String { // <1> diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/sessionattributes.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/sessionattributes.adoc index b2ea7ce9e3..f9497c08bb 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/sessionattributes.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-methods/sessionattributes.adoc @@ -15,7 +15,7 @@ The following example uses the `@SessionAttributes` annotation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller @SessionAttributes("pet") // <1> @@ -27,7 +27,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller @SessionAttributes("pet") // <1> @@ -47,7 +47,7 @@ storage, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller @SessionAttributes("pet") // <1> @@ -70,7 +70,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller @SessionAttributes("pet") // <1> diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-modelattrib-methods.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-modelattrib-methods.adoc index c034514f27..c0e28ba010 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-modelattrib-methods.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-modelattrib-methods.adoc @@ -28,7 +28,7 @@ The following example shows a `@ModelAttribute` method: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ModelAttribute public void populateModel(@RequestParam String number, Model model) { @@ -39,7 +39,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ModelAttribute fun populateModel(@RequestParam number: String, model: Model) { @@ -55,7 +55,7 @@ The following example adds only one attribute: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @ModelAttribute public Account addAccount(@RequestParam String number) { @@ -65,7 +65,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @ModelAttribute fun addAccount(@RequestParam number: String): Account { @@ -90,7 +90,7 @@ unless the return value is a `String` that would otherwise be interpreted as a v ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/accounts/{id}") @ModelAttribute("myAccount") @@ -102,7 +102,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/accounts/{id}") @ModelAttribute("myAccount") diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-requestmapping.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-requestmapping.adoc index fe0519ba2f..14d6d7ce86 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-requestmapping.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-requestmapping.adoc @@ -42,7 +42,7 @@ The following example has type and method level mappings: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RestController @RequestMapping("/persons") @@ -63,7 +63,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RestController @RequestMapping("/persons") @@ -127,7 +127,7 @@ Captured URI variables can be accessed with `@PathVariable`. For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/owners/{ownerId}/pets/{petId}") public Pet findPet(@PathVariable Long ownerId, @PathVariable Long petId) { @@ -137,7 +137,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/owners/{ownerId}/pets/{petId}") fun findPet(@PathVariable ownerId: Long, @PathVariable petId: Long): Pet { @@ -153,7 +153,7 @@ You can declare URI variables at the class and method levels, as the following e ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller @RequestMapping("/owners/{ownerId}") @@ -168,7 +168,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller @RequestMapping("/owners/{ownerId}") @@ -199,7 +199,7 @@ extracts the name, version, and file extension: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/{name:[a-z-]+}-{version:\\d\\.\\d\\.\\d}{ext:\\.[a-z]+}") public void handle(@PathVariable String name, @PathVariable String version, @PathVariable String ext) { @@ -209,7 +209,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/{name:[a-z-]+}-{version:\\d\\.\\d\\.\\d}{ext:\\.[a-z]+}") fun handle(@PathVariable name: String, @PathVariable version: String, @PathVariable ext: String) { @@ -317,7 +317,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @PostMapping(path = "/pets", consumes = "application/json") // <1> public void addPet(@RequestBody Pet pet) { @@ -328,7 +328,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @PostMapping("/pets", consumes = ["application/json"]) // <1> fun addPet(@RequestBody pet: Pet) { @@ -360,7 +360,7 @@ content types that a controller method produces, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping(path = "/pets/{petId}", produces = "application/json") // <1> @ResponseBody @@ -372,7 +372,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/pets/{petId}", produces = ["application/json"]) // <1> @ResponseBody @@ -406,7 +406,7 @@ specific value (`myParam=myValue`). The following example shows how to test for ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping(path = "/pets/{petId}", params = "myParam=myValue") // <1> public void findPet(@PathVariable String petId) { @@ -417,7 +417,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/pets/{petId}", params = ["myParam=myValue"]) // <1> fun findPet(@PathVariable petId: String) { @@ -433,7 +433,7 @@ You can also use the same with request header conditions, as the following examp ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @GetMapping(path = "/pets/{petId}", headers = "myHeader=myValue") // <1> public void findPet(@PathVariable String petId) { @@ -444,7 +444,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @GetMapping("/pets/{petId}", headers = ["myHeader=myValue"]) // <1> fun findPet(@PathVariable petId: String) { @@ -519,7 +519,7 @@ under different URLs. The following example registers a handler method: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Configuration public class MyConfig { @@ -544,7 +544,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Configuration class MyConfig { @@ -587,7 +587,7 @@ For example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @HttpExchange("/persons") interface PersonService { @@ -615,7 +615,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @HttpExchange("/persons") interface PersonService { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-validation.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-validation.adoc index 0cbe9c3d06..dd11e2edd7 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-validation.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-controller/ann-validation.adoc @@ -65,7 +65,7 @@ methods by controller method parameter type: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HandlerMethodValidationException ex = ... ; @@ -95,7 +95,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // HandlerMethodValidationException val ex diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet.adoc index 189ae02988..0d51c67b03 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet.adoc @@ -22,7 +22,7 @@ the `DispatcherServlet`, which is auto-detected by the Servlet container ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MyWebApplicationInitializer implements WebApplicationInitializer { @@ -44,7 +44,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MyWebApplicationInitializer : WebApplicationInitializer { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/container-config.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/container-config.adoc index a6a4755c02..2ae4827d53 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/container-config.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/container-config.adoc @@ -9,7 +9,7 @@ The following example registers a `DispatcherServlet`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- import org.springframework.web.WebApplicationInitializer; @@ -29,7 +29,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- import org.springframework.web.WebApplicationInitializer @@ -62,7 +62,7 @@ following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MyWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { @@ -85,7 +85,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MyWebAppInitializer : AbstractAnnotationConfigDispatcherServletInitializer() { @@ -111,7 +111,7 @@ If you use XML-based Spring configuration, you should extend directly from ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MyWebAppInitializer extends AbstractDispatcherServletInitializer { @@ -136,7 +136,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MyWebAppInitializer : AbstractDispatcherServletInitializer() { @@ -165,7 +165,7 @@ following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MyWebAppInitializer extends AbstractDispatcherServletInitializer { @@ -181,7 +181,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MyWebAppInitializer : AbstractDispatcherServletInitializer() { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/context-hierarchy.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/context-hierarchy.adoc index 5e18f2e21e..84f233adb4 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/context-hierarchy.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/context-hierarchy.adoc @@ -28,7 +28,7 @@ The following example configures a `WebApplicationContext` hierarchy: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MyWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { @@ -51,7 +51,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MyWebAppInitializer : AbstractAnnotationConfigDispatcherServletInitializer() { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/exceptionhandlers.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/exceptionhandlers.adoc index 01cab7f3b7..21e062296d 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/exceptionhandlers.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/exceptionhandlers.adoc @@ -78,7 +78,7 @@ or to render a JSON response, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RestController public class ErrorController { @@ -95,7 +95,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RestController class ErrorController { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/logging.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/logging.adoc index 26e4193d81..24f0583fff 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/logging.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/logging.adoc @@ -29,7 +29,7 @@ The following example shows how to do so by using Java configuration: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class MyInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { @@ -59,7 +59,7 @@ public class MyInitializer Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class MyInitializer : AbstractAnnotationConfigDispatcherServletInitializer() { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/multipart.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/multipart.adoc index d23200eb2a..75dbbb1919 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/multipart.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-servlet/multipart.adoc @@ -32,7 +32,7 @@ The following example shows how to set a `MultipartConfigElement` on the Servlet ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { @@ -50,7 +50,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- class AppInitializer : AbstractAnnotationConfigDispatcherServletInitializer() { diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-uri-building.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-uri-building.adoc index 3e18dae861..4aba9d6ff6 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-uri-building.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-uri-building.adoc @@ -19,7 +19,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HttpServletRequest request = ... @@ -32,7 +32,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val request: HttpServletRequest = ... @@ -50,7 +50,7 @@ You can create URIs relative to the context path, as the following example shows ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HttpServletRequest request = ... @@ -64,7 +64,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val request: HttpServletRequest = ... @@ -84,7 +84,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- HttpServletRequest request = ... @@ -98,7 +98,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val request: HttpServletRequest = ... @@ -128,7 +128,7 @@ the following MVC controller allows for link creation: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @Controller @RequestMapping("/hotels/{hotel}") @@ -143,7 +143,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @Controller @RequestMapping("/hotels/{hotel}") @@ -163,7 +163,7 @@ You can prepare a link by referring to the method by name, as the following exam ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- UriComponents uriComponents = MvcUriComponentsBuilder .fromMethodName(BookingController.class, "getBooking", 21).buildAndExpand(42); @@ -173,7 +173,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val uriComponents = MvcUriComponentsBuilder .fromMethodName(BookingController::class.java, "getBooking", 21).buildAndExpand(42) @@ -197,7 +197,7 @@ akin to mock testing through proxies to avoid referring to the controller method ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- UriComponents uriComponents = MvcUriComponentsBuilder .fromMethodCall(on(BookingController.class).getBooking(21)).buildAndExpand(42); @@ -207,7 +207,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val uriComponents = MvcUriComponentsBuilder .fromMethodCall(on(BookingController::class.java).getBooking(21)).buildAndExpand(42) @@ -240,7 +240,7 @@ following listing uses `withMethodCall`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- UriComponentsBuilder base = ServletUriComponentsBuilder.fromCurrentContextPath().path("/en"); MvcUriComponentsBuilder builder = MvcUriComponentsBuilder.relativeTo(base); @@ -251,7 +251,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val base = ServletUriComponentsBuilder.fromCurrentContextPath().path("/en") val builder = MvcUriComponentsBuilder.relativeTo(base) @@ -280,7 +280,7 @@ Consider the following example: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- @RequestMapping("/people/{id}/addresses") public class PersonAddressController { @@ -292,7 +292,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- @RequestMapping("/people/{id}/addresses") class PersonAddressController { diff --git a/framework-docs/modules/ROOT/partials/web/web-uris.adoc b/framework-docs/modules/ROOT/partials/web/web-uris.adoc index 9b7df3674d..330d0c28fd 100644 --- a/framework-docs/modules/ROOT/partials/web/web-uris.adoc +++ b/framework-docs/modules/ROOT/partials/web/web-uris.adoc @@ -8,7 +8,7 @@ ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- UriComponents uriComponents = UriComponentsBuilder .fromUriString("https://example.com/hotels/{hotel}") // <1> @@ -26,7 +26,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val uriComponents = UriComponentsBuilder .fromUriString("https://example.com/hotels/{hotel}") // <1> @@ -50,7 +50,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- URI uri = UriComponentsBuilder .fromUriString("https://example.com/hotels/{hotel}") @@ -62,7 +62,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val uri = UriComponentsBuilder .fromUriString("https://example.com/hotels/{hotel}") @@ -80,7 +80,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- URI uri = UriComponentsBuilder .fromUriString("https://example.com/hotels/{hotel}") @@ -90,7 +90,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val uri = UriComponentsBuilder .fromUriString("https://example.com/hotels/{hotel}") @@ -105,7 +105,7 @@ You can shorten it further still with a full URI template, as the following exam ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- URI uri = UriComponentsBuilder .fromUriString("https://example.com/hotels/{hotel}?q={q}") @@ -114,7 +114,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val uri = UriComponentsBuilder .fromUriString("https://example.com/hotels/{hotel}?q={q}") @@ -144,7 +144,7 @@ The following example shows how to configure a `RestTemplate`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // import org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode; @@ -158,7 +158,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // import org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode @@ -177,7 +177,7 @@ The following example configures a `WebClient`: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- // import org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode; @@ -190,7 +190,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- // import org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode @@ -210,7 +210,7 @@ that holds configuration and preferences, as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- String baseUrl = "https://example.com"; DefaultUriBuilderFactory uriBuilderFactory = new DefaultUriBuilderFactory(baseUrl); @@ -222,7 +222,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val baseUrl = "https://example.com" val uriBuilderFactory = DefaultUriBuilderFactory(baseUrl) @@ -264,7 +264,7 @@ The following example uses the first option: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- URI uri = UriComponentsBuilder.fromPath("/hotel list/{city}") .queryParam("q", "{q}") @@ -277,7 +277,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val uri = UriComponentsBuilder.fromPath("/hotel list/{city}") .queryParam("q", "{q}") @@ -296,7 +296,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- URI uri = UriComponentsBuilder.fromPath("/hotel list/{city}") .queryParam("q", "{q}") @@ -305,7 +305,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val uri = UriComponentsBuilder.fromPath("/hotel list/{city}") .queryParam("q", "{q}") @@ -319,7 +319,7 @@ You can shorten it further still with a full URI template, as the following exam ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- URI uri = UriComponentsBuilder.fromUriString("/hotel list/{city}?q={q}") .build("New York", "foo+bar"); @@ -327,7 +327,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val uri = UriComponentsBuilder.fromUriString("/hotel list/{city}?q={q}") .build("New York", "foo+bar") @@ -342,7 +342,7 @@ as the following example shows: ====== Java:: + -[source,java,indent=0,subs="verbatim,quotes",role="primary"] +[source,java,indent=0,subs="verbatim,quotes"] ---- String baseUrl = "https://example.com"; DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory(baseUrl) @@ -358,7 +358,7 @@ Java:: Kotlin:: + -[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"] +[source,kotlin,indent=0,subs="verbatim,quotes"] ---- val baseUrl = "https://example.com" val factory = DefaultUriBuilderFactory(baseUrl).apply {