This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 32713af683 TODO-351 B-marshall-2/3: rename marshall.swap framework SPI 
package to swap.spi; rename swap.spi Builder to PojoBuilder (10.0 
breaking-change window)
32713af683 is described below

commit 32713af68342eab55f3a6ddeba7ee7b7bf32804a
Author: James Bognar <[email protected]>
AuthorDate: Wed Aug 12 14:44:49 2026 -0400

    TODO-351 B-marshall-2/3: rename marshall.swap framework SPI package to 
swap.spi; rename swap.spi Builder to PojoBuilder (10.0 breaking-change window)
---
 .../java/org/apache/juneau/bean/hal/HalLinkOrArraySwap.java    |  2 +-
 .../org/apache/juneau/bean/hal/HalResourceOrArraySwap.java     |  2 +-
 .../src/main/java/org/apache/juneau/bean/hal/package-info.java |  2 +-
 .../apache/juneau/bean/jsonapi/JsonApiLinkOrStringSwap.java    |  2 +-
 .../main/java/org/apache/juneau/bean/jsonapi/package-info.java |  2 +-
 .../java/org/apache/juneau/bean/jsonschema/JsonSchema.java     |  2 +-
 .../apache/juneau/MarshallingContext_ValidateSchema_Test.java  |  2 +-
 .../java/org/apache/juneau/bean/openapi3/ui/OpenApiUI.java     |  2 +-
 .../main/java/org/apache/juneau/bean/openapi3/ui/RedocUI.java  |  2 +-
 .../main/java/org/apache/juneau/bean/swagger/ui/SwaggerUI.java |  2 +-
 .../java/org/apache/juneau/marshall/jena/RdfParserSession.java |  2 +-
 .../apache/juneau/marshall/jena/RdfStreamParserSession.java    |  2 +-
 .../src/main/java/org/apache/juneau/marshall/ClassMeta.java    |  2 +-
 .../main/java/org/apache/juneau/marshall/MarshalledConfig.java |  2 +-
 .../juneau/marshall/MarshalledPropertyPostProcessor.java       |  2 +-
 .../java/org/apache/juneau/marshall/MarshallingContext.java    |  2 +-
 .../org/apache/juneau/marshall/MarshallingContextable.java     |  2 +-
 .../java/org/apache/juneau/marshall/MarshallingSession.java    |  2 +-
 .../src/main/java/org/apache/juneau/marshall/Swap.java         |  2 +-
 .../org/apache/juneau/marshall/bson/BsonParserSession.java     |  2 +-
 .../org/apache/juneau/marshall/cbor/CborParserSession.java     |  2 +-
 .../org/apache/juneau/marshall/collections/MarshalledMap.java  |  2 +-
 .../java/org/apache/juneau/marshall/csv/CsvParserSession.java  |  2 +-
 .../org/apache/juneau/marshall/csv/CsvSerializerSession.java   |  2 +-
 .../java/org/apache/juneau/marshall/hjson/HjsonSerializer.java |  2 +-
 .../java/org/apache/juneau/marshall/hocon/HoconSerializer.java |  2 +-
 .../org/apache/juneau/marshall/html/HtmlParserSession.java     |  2 +-
 .../org/apache/juneau/marshall/html/HtmlSerializerSession.java |  2 +-
 .../org/apache/juneau/marshall/internal/ConverterUtils.java    |  2 +-
 .../org/apache/juneau/marshall/json/JsonParserSession.java     |  2 +-
 .../java/org/apache/juneau/marshall/json/JsonSerializer.java   |  2 +-
 .../java/org/apache/juneau/marshall/jsonl/JsonlSerializer.java |  2 +-
 .../juneau/marshall/markdown/MarkdownDocParserSession.java     |  4 ++--
 .../juneau/marshall/markdown/MarkdownDocSerializerSession.java |  2 +-
 .../apache/juneau/marshall/markdown/MarkdownParserSession.java |  2 +-
 .../juneau/marshall/markdown/MarkdownSerializerSession.java    |  2 +-
 .../apache/juneau/marshall/msgpack/MsgPackParserSession.java   |  2 +-
 .../org/apache/juneau/marshall/oapi/OpenApiParserSession.java  |  2 +-
 .../juneau/marshall/parquet/ParquetSerializerSession.java      |  2 +-
 .../main/java/org/apache/juneau/marshall/parser/Parser.java    |  2 +-
 .../java/org/apache/juneau/marshall/parser/ParserSession.java  |  2 +-
 .../org/apache/juneau/marshall/plaintext/PlainTextParser.java  |  2 +-
 .../apache/juneau/marshall/plaintext/PlainTextSerializer.java  |  2 +-
 .../apache/juneau/marshall/protobuf/ProtobufParserSession.java |  2 +-
 .../juneau/marshall/protobuf/ProtobufSerializerSession.java    |  2 +-
 .../apache/juneau/marshall/serializer/SerializerSession.java   |  2 +-
 .../apache/juneau/marshall/swap/{ => spi}/AutoListSwap.java    |  2 +-
 .../org/apache/juneau/marshall/swap/{ => spi}/AutoMapSwap.java |  2 +-
 .../apache/juneau/marshall/swap/{ => spi}/AutoNumberSwap.java  |  2 +-
 .../apache/juneau/marshall/swap/{ => spi}/AutoObjectSwap.java  |  2 +-
 .../apache/juneau/marshall/swap/{ => spi}/AutoStringSwap.java  |  2 +-
 .../org/apache/juneau/marshall/swap/{ => spi}/BuilderSwap.java |  6 +++---
 .../apache/juneau/marshall/swap/{ => spi}/DefaultSwaps.java    |  2 +-
 .../apache/juneau/marshall/swap/{ => spi}/FunctionalSwap.java  |  2 +-
 .../org/apache/juneau/marshall/swap/{ => spi}/MapSwap.java     |  2 +-
 .../org/apache/juneau/marshall/swap/{ => spi}/ObjectSwap.java  |  2 +-
 .../marshall/swap/{Builder.java => spi/PojoBuilder.java}       |  4 ++--
 .../org/apache/juneau/marshall/swap/{ => spi}/StringSwap.java  |  2 +-
 .../org/apache/juneau/marshall/swap/{ => spi}/Surrogate.java   |  2 +-
 .../apache/juneau/marshall/swap/{ => spi}/SurrogateSwap.java   |  2 +-
 .../apache/juneau/marshall/swap/{ => spi}/package-info.java    |  2 +-
 .../main/java/org/apache/juneau/marshall/swaps/BinarySwap.java |  2 +-
 .../java/org/apache/juneau/marshall/swaps/ClassFormatSwap.java |  2 +-
 .../java/org/apache/juneau/marshall/swaps/InputStreamSwap.java |  2 +-
 .../apache/juneau/marshall/swaps/MarshallingStringSwap.java    |  2 +-
 .../java/org/apache/juneau/marshall/swaps/MatchResultSwap.java |  2 +-
 .../org/apache/juneau/marshall/swaps/ParsedReaderSwap.java     |  2 +-
 .../main/java/org/apache/juneau/marshall/swaps/ReaderSwap.java |  2 +-
 .../apache/juneau/marshall/swaps/StackTraceElementSwap.java    |  2 +-
 .../org/apache/juneau/marshall/swaps/StringFormatSwap.java     |  2 +-
 .../main/java/org/apache/juneau/marshall/swaps/UrlSwap.java    |  2 +-
 .../org/apache/juneau/marshall/toml/TomlParserSession.java     |  2 +-
 .../java/org/apache/juneau/marshall/uon/UonParserSession.java  |  2 +-
 .../juneau/marshall/urlencoding/UrlEncodingParserSession.java  |  2 +-
 .../java/org/apache/juneau/marshall/xml/XmlParserSession.java  |  2 +-
 .../org/apache/juneau/marshall/yaml/YamlParserSession.java     |  2 +-
 .../java/org/apache/juneau/marshall/yaml/YamlSerializer.java   |  2 +-
 .../org/apache/juneau/MarshalledConfigAnnotation_Test.java     |  2 +-
 .../src/test/java/org/apache/juneau/MarshalledConfig_Test.java |  2 +-
 .../src/test/java/org/apache/juneau/ObjectSwap_Test.java       |  2 +-
 .../org/apache/juneau/markdown/MarkdownParserSession_Test.java |  2 +-
 .../test/java/org/apache/juneau/marshall/ClassMeta_Test.java   |  2 +-
 .../juneau/marshall/MarshalledPropertyPostProcessor_Test.java  |  2 +-
 .../org/apache/juneau/marshall/MarshallingContext_Test.java    |  2 +-
 .../apache/juneau/marshall/bson/BsonParserSession_Test.java    | 10 +++++-----
 .../juneau/marshall/cbor/CborSerializerSession_Test.java       |  2 +-
 .../org/apache/juneau/marshall/cbor/CborSerializer_Test.java   |  2 +-
 .../src/test/java/org/apache/juneau/marshall/csv/Csv_Test.java |  2 +-
 .../juneau/marshall/hjson/HjsonSerializerSession_Test.java     |  2 +-
 .../marshall/html/HtmlSerializerSessionCoverage_Test.java      |  2 +-
 .../apache/juneau/marshall/ini/IniSerializerSession_Test.java  |  6 +++---
 .../juneau/marshall/jsonschema/JsonSchemaGenerator_Test.java   |  2 +-
 .../marshall/markdown/MarkdownDocParserSession_Test.java       |  2 +-
 .../marshall/markdown/MarkdownDocSerializerSession_Test.java   |  2 +-
 .../juneau/marshall/markdown/MarkdownParserSession_Test.java   |  2 +-
 .../juneau/marshall/oapi/OpenApiSerializerSession_Test.java    |  2 +-
 .../marshall/parquet/ParquetSerializerSessionFull_Test.java    |  2 +-
 .../juneau/marshall/protobuf/ProtobufParserSession_Test.java   |  2 +-
 .../marshall/protobuf/ProtobufSerializerSession_Test.java      |  2 +-
 .../org/apache/juneau/marshall/protobuf/ProtobufSwap_Test.java |  2 +-
 .../juneau/marshall/serializer/SerializerSession_Test.java     |  2 +-
 .../org/apache/juneau/marshall/transform/AutoListSwapTest.java |  2 +-
 .../org/apache/juneau/marshall/transform/AutoMapSwapTest.java  |  2 +-
 .../apache/juneau/marshall/transform/AutoNumberSwapTest.java   |  2 +-
 .../apache/juneau/marshall/transform/AutoObjectSwapTest.java   |  2 +-
 .../org/apache/juneau/marshall/transforms/BeanMap_Test.java    |  2 +-
 .../juneau/marshall/transforms/Builder_ComboRoundTripTest.java |  4 ++--
 .../apache/juneau/marshall/transforms/DefaultSwaps_Test.java   |  2 +-
 .../transforms/InputStreamBase64_OneWayStringSwapTest.java     |  2 +-
 .../org/apache/juneau/marshall/transforms/ObjectSwapTest.java  |  2 +-
 .../juneau/marshall/transforms/OneWayStringSwap_Tester.java    |  2 +-
 .../transforms/ReaderObjectSwap_ComboSerializeTest.java        |  2 +-
 .../org/apache/juneau/marshall/transforms/ReaderSwap_Test.java |  2 +-
 .../juneau/marshall/transforms/RoundTripObjectSwap_Tester.java |  2 +-
 .../apache/juneau/marshall/transforms/StringSwap_Tester.java   |  2 +-
 .../transforms/SwapsAnnotation_ComboSerializeTest.java         |  2 +-
 .../transforms/TopLevelDefaultSwapsRoundTrip_Test.java         |  4 ++--
 .../org/apache/juneau/marshall/uon/UonParserSession_Test.java  |  2 +-
 .../juneau/marshall/yaml/YamlSerializerSession_Test.java       |  2 +-
 .../org/apache/juneau/testutils/pojos/SwappedObjectSwap.java   |  2 +-
 .../juneau/marshall/testutils/pojos/SwappedObjectSwap.java     |  2 +-
 .../apache/juneau/a/rttests/RoundTripTransformBeans_Test.java  |  2 +-
 .../rest/client/classic/RestClient_Config_Context_Test.java    |  2 +-
 .../classic/RestClient_Config_MarshallingContext_Test.java     |  2 +-
 .../apache/juneau/rest/server/MarshalledConfig_Swaps_Test.java |  2 +-
 125 files changed, 137 insertions(+), 137 deletions(-)

diff --git 
a/juneau-bean/juneau-bean-hal/src/main/java/org/apache/juneau/bean/hal/HalLinkOrArraySwap.java
 
b/juneau-bean/juneau-bean-hal/src/main/java/org/apache/juneau/bean/hal/HalLinkOrArraySwap.java
index 7a3711e34c..e16dfd002d 100644
--- 
a/juneau-bean/juneau-bean-hal/src/main/java/org/apache/juneau/bean/hal/HalLinkOrArraySwap.java
+++ 
b/juneau-bean/juneau-bean-hal/src/main/java/org/apache/juneau/bean/hal/HalLinkOrArraySwap.java
@@ -21,7 +21,7 @@ import java.util.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Per-property {@link ObjectSwap} applied to HAL {@code _links} maps so that 
each map entry round-trips
diff --git 
a/juneau-bean/juneau-bean-hal/src/main/java/org/apache/juneau/bean/hal/HalResourceOrArraySwap.java
 
b/juneau-bean/juneau-bean-hal/src/main/java/org/apache/juneau/bean/hal/HalResourceOrArraySwap.java
index 46ae7b99e8..13e3ad3ccb 100644
--- 
a/juneau-bean/juneau-bean-hal/src/main/java/org/apache/juneau/bean/hal/HalResourceOrArraySwap.java
+++ 
b/juneau-bean/juneau-bean-hal/src/main/java/org/apache/juneau/bean/hal/HalResourceOrArraySwap.java
@@ -21,7 +21,7 @@ import java.util.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Per-property {@link ObjectSwap} applied to HAL {@code _embedded} maps so 
that each map entry round-trips
diff --git 
a/juneau-bean/juneau-bean-hal/src/main/java/org/apache/juneau/bean/hal/package-info.java
 
b/juneau-bean/juneau-bean-hal/src/main/java/org/apache/juneau/bean/hal/package-info.java
index 71ec009b48..1f52fa9a7d 100644
--- 
a/juneau-bean/juneau-bean-hal/src/main/java/org/apache/juneau/bean/hal/package-info.java
+++ 
b/juneau-bean/juneau-bean-hal/src/main/java/org/apache/juneau/bean/hal/package-info.java
@@ -39,7 +39,7 @@
  *     the multi-link branch inside an {@code _links} map.
  *   <li>{@link org.apache.juneau.bean.hal.HalResourceArray} - {@code 
LinkedList&lt;HalResource&gt;}
  *     used as the multi-resource branch inside an {@code _embedded} map.
- *   <li>{@link org.apache.juneau.bean.hal.HalLinkOrArraySwap} - {@link 
org.apache.juneau.marshall.swap.ObjectSwap}
+ *   <li>{@link org.apache.juneau.bean.hal.HalLinkOrArraySwap} - {@link 
org.apache.juneau.marshall.swap.spi.ObjectSwap}
  *     that materializes each {@code _links} value as either a single {@link 
org.apache.juneau.bean.hal.HalLink}
  *     (JSON object) or a {@link org.apache.juneau.bean.hal.HalLinkArray} 
(JSON array) per spec.
  *   <li>{@link org.apache.juneau.bean.hal.HalResourceOrArraySwap} - The 
{@code _embedded} analogue.
diff --git 
a/juneau-bean/juneau-bean-jsonapi/src/main/java/org/apache/juneau/bean/jsonapi/JsonApiLinkOrStringSwap.java
 
b/juneau-bean/juneau-bean-jsonapi/src/main/java/org/apache/juneau/bean/jsonapi/JsonApiLinkOrStringSwap.java
index 0d97872c79..f657a6646a 100644
--- 
a/juneau-bean/juneau-bean-jsonapi/src/main/java/org/apache/juneau/bean/jsonapi/JsonApiLinkOrStringSwap.java
+++ 
b/juneau-bean/juneau-bean-jsonapi/src/main/java/org/apache/juneau/bean/jsonapi/JsonApiLinkOrStringSwap.java
@@ -21,7 +21,7 @@ import java.util.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Per-property {@link ObjectSwap} applied to JSON:API {@code links} maps so 
that each map entry round-trips
diff --git 
a/juneau-bean/juneau-bean-jsonapi/src/main/java/org/apache/juneau/bean/jsonapi/package-info.java
 
b/juneau-bean/juneau-bean-jsonapi/src/main/java/org/apache/juneau/bean/jsonapi/package-info.java
index f0ab886b61..d903014017 100644
--- 
a/juneau-bean/juneau-bean-jsonapi/src/main/java/org/apache/juneau/bean/jsonapi/package-info.java
+++ 
b/juneau-bean/juneau-bean-jsonapi/src/main/java/org/apache/juneau/bean/jsonapi/package-info.java
@@ -46,7 +46,7 @@
  *   <li>{@link org.apache.juneau.bean.jsonapi.JsonApiVersion} - The {@code 
jsonapi} member
  *     ({@code version}/{@code meta}).
  *   <li>{@link org.apache.juneau.bean.jsonapi.JsonApiLinkOrStringSwap} -
- *     {@link org.apache.juneau.marshall.swap.ObjectSwap} for {@code links} 
map values; each value can be either a JSON
+ *     {@link org.apache.juneau.marshall.swap.spi.ObjectSwap} for {@code 
links} map values; each value can be either a JSON
  *     string URL or a {@link org.apache.juneau.bean.jsonapi.JsonApiLink} 
object per the spec.
  * </ul>
  *
diff --git 
a/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchema.java
 
b/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchema.java
index 0ea386f038..952c6a689c 100644
--- 
a/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchema.java
+++ 
b/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonSchema.java
@@ -31,7 +31,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.marshaller.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Represents a top-level schema object bean in the JSON-Schema core 
specification.
diff --git 
a/juneau-bean/juneau-bean-jsonschema/src/test/java/org/apache/juneau/MarshallingContext_ValidateSchema_Test.java
 
b/juneau-bean/juneau-bean-jsonschema/src/test/java/org/apache/juneau/MarshallingContext_ValidateSchema_Test.java
index e18a2c5c25..d34754a8c1 100644
--- 
a/juneau-bean/juneau-bean-jsonschema/src/test/java/org/apache/juneau/MarshallingContext_ValidateSchema_Test.java
+++ 
b/juneau-bean/juneau-bean-jsonschema/src/test/java/org/apache/juneau/MarshallingContext_ValidateSchema_Test.java
@@ -25,7 +25,7 @@ import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.json.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ui/OpenApiUI.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ui/OpenApiUI.java
index 38633b97f2..ce0435c710 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ui/OpenApiUI.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ui/OpenApiUI.java
@@ -39,7 +39,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.cp.*;
 import org.apache.juneau.marshall.html.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Generates an OpenAPI-UI interface from an OpenAPI document.
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ui/RedocUI.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ui/RedocUI.java
index 022680c3be..6a8c7e0010 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ui/RedocUI.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ui/RedocUI.java
@@ -27,7 +27,7 @@ import org.apache.juneau.commons.http.MediaType;
 import org.apache.juneau.commons.inject.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.cp.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Generates a Redoc-style documentation interface from an OpenAPI 3.1 
document.
diff --git 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/ui/SwaggerUI.java
 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/ui/SwaggerUI.java
index 082c402d13..ecb8ab50e7 100644
--- 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/ui/SwaggerUI.java
+++ 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/ui/SwaggerUI.java
@@ -37,7 +37,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.cp.*;
 import org.apache.juneau.marshall.html.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Generates a Swagger-UI interface from a Swagger document.
diff --git 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfParserSession.java
 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfParserSession.java
index 60b1433104..3809bdcbfd 100644
--- 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfParserSession.java
+++ 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfParserSession.java
@@ -33,7 +33,7 @@ import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.parser.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.xml.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfStreamParserSession.java
 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfStreamParserSession.java
index 6fbe7b1649..e668aa0921 100644
--- 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfStreamParserSession.java
+++ 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfStreamParserSession.java
@@ -34,7 +34,7 @@ import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.parser.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.xml.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/ClassMeta.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/ClassMeta.java
index 29c04be925..73c981b27f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/ClassMeta.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/ClassMeta.java
@@ -42,7 +42,7 @@ import org.apache.juneau.commons.inject.*;
 import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.commons.utils.*;
 import org.apache.juneau.marshall.json.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * A wrapper class around the {@link Class} object that provides cached 
information about that class.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshalledConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshalledConfig.java
index b6b37086fb..8bfc0e13c9 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshalledConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshalledConfig.java
@@ -25,7 +25,7 @@ import java.util.*;
 
 import org.apache.juneau.commons.bean.*;
 import org.apache.juneau.commons.http.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Annotation for specifying marshalling-only config properties defined in 
{@link MarshallingContext} and {@link MarshallingTraverseContext}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshalledPropertyPostProcessor.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshalledPropertyPostProcessor.java
index 30e625e3af..c60719044d 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshalledPropertyPostProcessor.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshalledPropertyPostProcessor.java
@@ -38,7 +38,7 @@ import org.apache.juneau.marshall.csv.*;
 import org.apache.juneau.marshall.oapi.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.swaps.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshallingContext.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshallingContext.java
index 2693abef9a..c821703d5e 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshallingContext.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshallingContext.java
@@ -53,7 +53,7 @@ import org.apache.juneau.marshall.json5.*;
 import org.apache.juneau.marshall.marshaller.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.utils.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshallingContextable.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshallingContextable.java
index 13726d2114..1a825592af 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshallingContextable.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshallingContextable.java
@@ -36,7 +36,7 @@ import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.commons.reflect.Visibility;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Context class for classes that use {@link MarshallingContext} objects.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshallingSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshallingSession.java
index 4f498a0611..bbeb3e00be 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshallingSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MarshallingSession.java
@@ -35,7 +35,7 @@ import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.json.*;
 import org.apache.juneau.marshall.json5.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object that lives for the duration of a single use of {@link 
MarshallingContext}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Swap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Swap.java
index ebc65e1c0a..2d8129fe68 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Swap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Swap.java
@@ -21,7 +21,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Associates {@link ObjectSwap} and {@link Surrogate} classes with POJOs and 
bean properties.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/bson/BsonParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/bson/BsonParserSession.java
index 0f0c589424..614b572232 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/bson/BsonParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/bson/BsonParserSession.java
@@ -29,7 +29,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object that lives for the duration of a single use of {@link 
BsonParser}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/cbor/CborParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/cbor/CborParserSession.java
index b29a59ea56..b202f9fc38 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/cbor/CborParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/cbor/CborParserSession.java
@@ -29,7 +29,7 @@ import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object that lives for the duration of a single use of {@link 
CborParser}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/collections/MarshalledMap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/collections/MarshalledMap.java
index a15876e611..0425981d82 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/collections/MarshalledMap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/collections/MarshalledMap.java
@@ -34,7 +34,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.objecttools.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Neutral, marshaller-agnostic map of string-to-object entries.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/csv/CsvParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/csv/CsvParserSession.java
index 111e0c55b1..90f9c27a67 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/csv/CsvParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/csv/CsvParserSession.java
@@ -28,7 +28,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object that lives for the duration of a single use of {@link 
CsvParser}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/csv/CsvSerializerSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/csv/CsvSerializerSession.java
index 592d9e40d9..ca89bcaf66 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/csv/CsvSerializerSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/csv/CsvSerializerSession.java
@@ -34,7 +34,7 @@ import org.apache.juneau.commons.lang.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.serializer.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object that lives for the duration of a single use of {@link 
CsvSerializer}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/hjson/HjsonSerializer.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/hjson/HjsonSerializer.java
index 850a273dd8..0bff5d0648 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/hjson/HjsonSerializer.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/hjson/HjsonSerializer.java
@@ -26,7 +26,7 @@ import org.apache.juneau.commons.collections.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.serializer.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Serializes POJO models to Hjson (Human JSON).
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/hocon/HoconSerializer.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/hocon/HoconSerializer.java
index 06b54c5dce..cb463cfb49 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/hocon/HoconSerializer.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/hocon/HoconSerializer.java
@@ -27,7 +27,7 @@ import org.apache.juneau.commons.collections.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.serializer.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Serializes POJO models to HOCON (Human-Optimized Config Object Notation).
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/html/HtmlParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/html/HtmlParserSession.java
index 1201d82e69..af071266fc 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/html/HtmlParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/html/HtmlParserSession.java
@@ -35,7 +35,7 @@ import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.parser.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.xml.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/html/HtmlSerializerSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/html/HtmlSerializerSession.java
index d5d9ab1bc2..bac1a8e089 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/html/HtmlSerializerSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/html/HtmlSerializerSession.java
@@ -36,7 +36,7 @@ import org.apache.juneau.commons.bean.*;
 import org.apache.juneau.commons.lang.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.xml.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/internal/ConverterUtils.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/internal/ConverterUtils.java
index 5229aa0dca..a1812f40d2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/internal/ConverterUtils.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/internal/ConverterUtils.java
@@ -80,7 +80,7 @@ public class ConverterUtils {
         *
         * <p>
         * Uses the full {@link MarshallingContextConverter} to support 
bean-aware conversions such as
-        * {@link Map} to bean, bean to bean, and {@link 
org.apache.juneau.marshall.swap.ObjectSwap} transforms.
+        * {@link Map} to bean, bean to bean, and {@link 
org.apache.juneau.marshall.swap.spi.ObjectSwap} transforms.
         *
         * @param <T> The class type to convert the value to.
         * @param value The value to convert.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/json/JsonParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/json/JsonParserSession.java
index fe5363989a..731cd46d36 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/json/JsonParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/json/JsonParserSession.java
@@ -33,7 +33,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object that lives for the duration of a single use of {@link 
JsonParser}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/json/JsonSerializer.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/json/JsonSerializer.java
index 109443497c..ecbbc1ea5b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/json/JsonSerializer.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/json/JsonSerializer.java
@@ -30,7 +30,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.json5.*;
 import org.apache.juneau.marshall.serializer.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Serializes POJO models to RFC 8259 JSON.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/jsonl/JsonlSerializer.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/jsonl/JsonlSerializer.java
index 547163f76c..6c5add8b41 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/jsonl/JsonlSerializer.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/jsonl/JsonlSerializer.java
@@ -17,7 +17,7 @@
 package org.apache.juneau.marshall.jsonl;
 
 import org.apache.juneau.marshall.json.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Serializes POJO models to JSONL (JSON Lines).
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownDocParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownDocParserSession.java
index 65bc6b6ad4..386b31c4ff 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownDocParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownDocParserSession.java
@@ -123,8 +123,8 @@ public class MarkdownDocParserSession extends 
MarkdownParserSession {
                if (eType == null)
                        eType = (ClassMeta<T>) object();
 
-               var swap = 
(org.apache.juneau.marshall.swap.ObjectSwap<T,Object>) eType.getSwap(this);
-               var builder = 
(org.apache.juneau.marshall.swap.BuilderSwap<T,Object>) 
eType.getBuilderSwap(this);
+               var swap = 
(org.apache.juneau.marshall.swap.spi.ObjectSwap<T,Object>) eType.getSwap(this);
+               var builder = 
(org.apache.juneau.marshall.swap.spi.BuilderSwap<T,Object>) 
eType.getBuilderSwap(this);
                ClassMeta<?> sType;
                if (builder != null)
                        sType = builder.getBuilderClassMeta(this);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownDocSerializerSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownDocSerializerSession.java
index 2921bde632..7082b8888f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownDocSerializerSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownDocSerializerSession.java
@@ -25,7 +25,7 @@ import java.util.*;
 import org.apache.juneau.commons.bean.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object for {@link MarkdownDocSerializer}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownParserSession.java
index 749802fd53..5e13e44521 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownParserSession.java
@@ -29,7 +29,7 @@ import org.apache.juneau.marshall.json.*;
 import org.apache.juneau.marshall.json5.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object for {@link MarkdownParser}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownSerializerSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownSerializerSession.java
index b8df733e42..da68f5d6f0 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownSerializerSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/markdown/MarkdownSerializerSession.java
@@ -31,7 +31,7 @@ import org.apache.juneau.marshall.json.*;
 import org.apache.juneau.marshall.json5.*;
 import org.apache.juneau.marshall.serializer.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object for {@link MarkdownSerializer}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/msgpack/MsgPackParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/msgpack/MsgPackParserSession.java
index f7bf16f081..32979b4ea2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/msgpack/MsgPackParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/msgpack/MsgPackParserSession.java
@@ -29,7 +29,7 @@ import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object that lives for the duration of a single use of {@link 
MsgPackParser}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/oapi/OpenApiParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/oapi/OpenApiParserSession.java
index ecf8c3333c..169f7ddb1a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/oapi/OpenApiParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/oapi/OpenApiParserSession.java
@@ -35,7 +35,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.httppart.*;
 import org.apache.juneau.marshall.parser.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.uon.*;
 import org.apache.juneau.marshall.utils.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/parquet/ParquetSerializerSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/parquet/ParquetSerializerSession.java
index 36d42f2f52..b1969a0bcf 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/parquet/ParquetSerializerSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/parquet/ParquetSerializerSession.java
@@ -332,7 +332,7 @@ public class ParquetSerializerSession extends 
OutputStreamSerializerSession impl
        }
 
        /**
-        * Applies any class-level swap registered via {@link 
org.apache.juneau.marshall.swap.DefaultSwaps}
+        * Applies any class-level swap registered via {@link 
org.apache.juneau.marshall.swap.spi.DefaultSwaps}
         * (or context-registered swaps) to a leaf value just before it is 
written to a Parquet column.
         *
         * <p>
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/parser/Parser.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/parser/Parser.java
index 0e1e1d2df9..7c70761036 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/parser/Parser.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/parser/Parser.java
@@ -36,7 +36,7 @@ import org.apache.juneau.marshall.json.*;
 import org.apache.juneau.marshall.msgpack.*;
 import org.apache.juneau.marshall.objecttools.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.uon.*;
 import org.apache.juneau.marshall.xml.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/parser/ParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/parser/ParserSession.java
index 2e03d8da2c..53c38e7213 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/parser/ParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/parser/ParserSession.java
@@ -40,7 +40,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.httppart.*;
 import org.apache.juneau.marshall.objecttools.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.utils.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/plaintext/PlainTextParser.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/plaintext/PlainTextParser.java
index b95d9a3d02..8b4f7c6e0f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/plaintext/PlainTextParser.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/plaintext/PlainTextParser.java
@@ -27,7 +27,7 @@ import org.apache.juneau.commons.collections.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Parsers HTTP plain text request bodies into Group 5 POJOs.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/plaintext/PlainTextSerializer.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/plaintext/PlainTextSerializer.java
index 1c3bac9d35..d6618b6b44 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/plaintext/PlainTextSerializer.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/plaintext/PlainTextSerializer.java
@@ -27,7 +27,7 @@ import org.apache.juneau.commons.collections.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.serializer.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Serializes POJOs to plain text using just the <c>toString()</c> method on 
the serialized object.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/protobuf/ProtobufParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/protobuf/ProtobufParserSession.java
index 7c5535a98c..3a1c65ac4f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/protobuf/ProtobufParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/protobuf/ProtobufParserSession.java
@@ -27,7 +27,7 @@ import org.apache.juneau.commons.bean.*;
 import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.parser.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object that lives for the duration of a single use of {@link 
ProtobufParser}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/protobuf/ProtobufSerializerSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/protobuf/ProtobufSerializerSession.java
index 54d4a8263b..7109dd8cda 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/protobuf/ProtobufSerializerSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/protobuf/ProtobufSerializerSession.java
@@ -29,7 +29,7 @@ import org.apache.juneau.commons.bean.*;
 import org.apache.juneau.commons.utils.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object that lives for the duration of a single use of {@link 
ProtobufSerializer}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/serializer/SerializerSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/serializer/SerializerSession.java
index 9b02a13937..54501862f8 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/serializer/SerializerSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/serializer/SerializerSession.java
@@ -46,7 +46,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.DateFormat;
 import org.apache.juneau.marshall.httppart.*;
 import org.apache.juneau.marshall.soap.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.utils.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoListSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoListSwap.java
similarity index 99%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoListSwap.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoListSwap.java
index 6ada496271..ec2444c499 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoListSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoListSwap.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
 
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 import static org.apache.juneau.commons.utils.Shorts.*;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoMapSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoMapSwap.java
similarity index 99%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoMapSwap.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoMapSwap.java
index b514826d57..e4a77af273 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoMapSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoMapSwap.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
 
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 import static org.apache.juneau.commons.utils.Shorts.*;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoNumberSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoNumberSwap.java
similarity index 99%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoNumberSwap.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoNumberSwap.java
index 27fe15eb64..f90f6ef52d 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoNumberSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoNumberSwap.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
 
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 import static org.apache.juneau.commons.utils.Shorts.*;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoObjectSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoObjectSwap.java
similarity index 99%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoObjectSwap.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoObjectSwap.java
index 15cc7195c2..daf95a8f98 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoObjectSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoObjectSwap.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
 
 import static org.apache.juneau.commons.utils.CollectionUtils.*;
 import static org.apache.juneau.commons.utils.Shorts.*;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoStringSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoStringSwap.java
similarity index 97%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoStringSwap.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoStringSwap.java
index 39d9e63592..b4e9e10ee9 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/AutoStringSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/AutoStringSwap.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
 
 import org.apache.juneau.marshall.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/BuilderSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/BuilderSwap.java
similarity index 98%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/BuilderSwap.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/BuilderSwap.java
index d962ad25c6..b62cf87b6c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/BuilderSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/BuilderSwap.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
 
 import static org.apache.juneau.commons.reflect.ReflectionUtils.*;
 import static org.apache.juneau.commons.utils.Shorts.*;
@@ -61,7 +61,7 @@ public class BuilderSwap<T,B> {
                if (bci.isNotPublic())
                        return null;
 
-               var objectClass = info(builderClass).getParameterType(0, 
Builder.class);
+               var objectClass = info(builderClass).getParameterType(0, 
PojoBuilder.class);
 
                MethodInfo createObjectMethod;
                MethodInfo createBuilderMethod;
@@ -123,7 +123,7 @@ public class BuilderSwap<T,B> {
                        var cc = pci.getPublicConstructor(
                                x -> x.isVisible(cVis)
                                && x.hasNumParameters(1)
-                               && 
x.getParameter(0).getParameterType().isAssignableTo(Builder.class)
+                               && 
x.getParameter(0).getParameterType().isAssignableTo(PojoBuilder.class)
                        ).orElse(null);
                        // @formatter:on
                        if (nn(cc)) {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/DefaultSwaps.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/DefaultSwaps.java
similarity index 98%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/DefaultSwaps.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/DefaultSwaps.java
index 2118f439bc..859cade336 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/DefaultSwaps.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/DefaultSwaps.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
 
 import static org.apache.juneau.commons.utils.Shorts.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/FunctionalSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/FunctionalSwap.java
similarity index 98%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/FunctionalSwap.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/FunctionalSwap.java
index bd10fd7816..e9d809f82d 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/FunctionalSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/FunctionalSwap.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
 
 import org.apache.juneau.commons.function.*;
 import org.apache.juneau.marshall.*;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/MapSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/MapSwap.java
similarity index 97%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/MapSwap.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/MapSwap.java
index 7fb09f81d3..05a020218f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/MapSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/MapSwap.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
 
 import org.apache.juneau.marshall.collections.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/ObjectSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/ObjectSwap.java
similarity index 99%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/ObjectSwap.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/ObjectSwap.java
index eba9b58ecd..0cc1981b38 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/ObjectSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/ObjectSwap.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
 
 import static org.apache.juneau.commons.reflect.ReflectionUtils.*;
 import static org.apache.juneau.commons.utils.Shorts.*;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/Builder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/PojoBuilder.java
similarity index 94%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/Builder.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/PojoBuilder.java
index 9de2c7a959..e1a183df64 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/Builder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/PojoBuilder.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
 
 /**
  * Identifies a class as being a builder for a bean class.
@@ -28,4 +28,4 @@ package org.apache.juneau.marshall.swap;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/Swaps";>Swap Basics</a>
  * </ul>
  */
-public interface Builder {}
\ No newline at end of file
+public interface PojoBuilder {}
\ No newline at end of file
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/StringSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/StringSwap.java
similarity index 98%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/StringSwap.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/StringSwap.java
index 9b3fc8e7f8..20c049a87f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/StringSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/StringSwap.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
 
 /**
  * Abstract subclass for object swaps that swap objects for strings.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/Surrogate.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/Surrogate.java
similarity index 98%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/Surrogate.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/Surrogate.java
index f7feefeedf..d472f0e564 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/Surrogate.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/Surrogate.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
 
 import org.apache.juneau.marshall.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/SurrogateSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/SurrogateSwap.java
similarity index 99%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/SurrogateSwap.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/SurrogateSwap.java
index d6cd3eb3e8..2ff8e293b7 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/SurrogateSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/SurrogateSwap.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
 
 import static org.apache.juneau.commons.reflect.ReflectionUtils.*;
 import static org.apache.juneau.commons.utils.Shorts.*;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/package-info.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/package-info.java
similarity index 94%
rename from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/package-info.java
rename to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/package-info.java
index f9fff5c2da..454076d8af 100755
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/package-info.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swap/spi/package-info.java
@@ -17,4 +17,4 @@
 /**
  * Swap API
  */
-package org.apache.juneau.marshall.swap;
+package org.apache.juneau.marshall.swap.spi;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/BinarySwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/BinarySwap.java
index 41810772bb..34735f642e 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/BinarySwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/BinarySwap.java
@@ -21,7 +21,7 @@ import org.apache.juneau.marshall.csv.*;
 import org.apache.juneau.marshall.oapi.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Thin delegating swap for top-level {@code byte[]} values in textual 
serializers.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/ClassFormatSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/ClassFormatSwap.java
index 636758e4ea..da0270b1be 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/ClassFormatSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/ClassFormatSwap.java
@@ -17,7 +17,7 @@
 package org.apache.juneau.marshall.swaps;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Thin delegating swap for {@link Class} values driven by the 
context-configured {@link ClassFormat}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/InputStreamSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/InputStreamSwap.java
index a5481177bd..6feb4944a2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/InputStreamSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/InputStreamSwap.java
@@ -22,7 +22,7 @@ import static org.apache.juneau.commons.utils.StringUtils.*;
 import java.io.*;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Transforms <code>InputStreams</code> to {@link String Strings}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/MarshallingStringSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/MarshallingStringSwap.java
index 2de2af17b4..e5a11fbb5c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/MarshallingStringSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/MarshallingStringSwap.java
@@ -17,7 +17,7 @@
 package org.apache.juneau.marshall.swaps;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Transforms beans into {@link String Strings} by simply calling the {@link 
Object#toString()} method.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/MatchResultSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/MatchResultSwap.java
index 778cc8b6d4..ee64a6ee09 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/MatchResultSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/MatchResultSwap.java
@@ -22,7 +22,7 @@ import java.util.*;
 import java.util.regex.*;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Transforms {@link MatchResult MatchResults} to {@code List} objects.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/ParsedReaderSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/ParsedReaderSwap.java
index f10ae46361..ec5e43afb6 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/ParsedReaderSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/ParsedReaderSwap.java
@@ -25,7 +25,7 @@ import org.apache.juneau.marshall.html.*;
 import org.apache.juneau.marshall.json.*;
 import org.apache.juneau.marshall.json5.*;
 import org.apache.juneau.marshall.parser.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.uon.*;
 import org.apache.juneau.marshall.urlencoding.*;
 import org.apache.juneau.marshall.xml.*;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/ReaderSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/ReaderSwap.java
index 4dd517abc8..e94899de13 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/ReaderSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/ReaderSwap.java
@@ -21,7 +21,7 @@ import static org.apache.juneau.commons.utils.IoUtils.*;
 import java.io.*;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Transforms <code>Readers</code> to {@link String Strings}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/StackTraceElementSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/StackTraceElementSwap.java
index 38c78b62b0..f9471a269f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/StackTraceElementSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/StackTraceElementSwap.java
@@ -19,7 +19,7 @@ package org.apache.juneau.marshall.swaps;
 import java.util.*;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Transforms {@link StackTraceElement StackTraceElements} to {@code String} 
objects.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/StringFormatSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/StringFormatSwap.java
index 8d0cb57793..75a61fba0d 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/StringFormatSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/StringFormatSwap.java
@@ -17,7 +17,7 @@
 package org.apache.juneau.marshall.swaps;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Built-in object swap implementation class for the {@link 
MarshalledProp#format() @MarshalledProp(format)} annotation.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/UrlSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/UrlSwap.java
index fff20fc2c2..a9be4b3877 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/UrlSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/swaps/UrlSwap.java
@@ -19,7 +19,7 @@ package org.apache.juneau.marshall.swaps;
 import java.net.*;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Transforms {@link URL} objects to and from {@link String Strings}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/toml/TomlParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/toml/TomlParserSession.java
index 38a8ac841a..0a77c2a8c2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/toml/TomlParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/toml/TomlParserSession.java
@@ -537,7 +537,7 @@ public class TomlParserSession extends ReaderParserSession 
implements RecordRead
         *
         * <p>Collection-element and top-level dispatch sites don't go through
         * {@code MarshalledPropertyPostProcessor}'s per-property swap install, 
so they fall back to the
-        * {@link org.apache.juneau.marshall.swap.DefaultSwaps} registry.  
Returns {@code null} when the target isn't
+        * {@link org.apache.juneau.marshall.swap.spi.DefaultSwaps} registry.  
Returns {@code null} when the target isn't
         * {@code byte[]}, the value isn't a {@link String}, or no swap is 
matched on the current session
         * (e.g. {@link BinaryFormat#NOT_SET} is configured).
         */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/uon/UonParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/uon/UonParserSession.java
index 40db9ea1d9..1ef311597f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/uon/UonParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/uon/UonParserSession.java
@@ -35,7 +35,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.httppart.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object that lives for the duration of a single use of {@link 
UonParser}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/urlencoding/UrlEncodingParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/urlencoding/UrlEncodingParserSession.java
index 88ac48c94e..d49d7a7790 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/urlencoding/UrlEncodingParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/urlencoding/UrlEncodingParserSession.java
@@ -29,7 +29,7 @@ import org.apache.juneau.commons.utils.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.parser.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.uon.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/xml/XmlParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/xml/XmlParserSession.java
index 3f23256afb..aea7da285e 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/xml/XmlParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/xml/XmlParserSession.java
@@ -35,7 +35,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object that lives for the duration of a single use of {@link 
XmlParser}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/yaml/YamlParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/yaml/YamlParserSession.java
index 5726a42def..8ce8951e4c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/yaml/YamlParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/yaml/YamlParserSession.java
@@ -32,7 +32,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.stream.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Session object that lives for the duration of a single use of {@link 
YamlParser}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/yaml/YamlSerializer.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/yaml/YamlSerializer.java
index c07815d99d..596377ecc5 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/yaml/YamlSerializer.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/yaml/YamlSerializer.java
@@ -62,7 +62,7 @@ import org.apache.juneau.marshall.stream.*;
  * <p>
  * The types above are considered "YAML-primitive" object types.
  * Any non-YAML-primitive object types are transformed into YAML-primitive 
object types through
- * {@link org.apache.juneau.marshall.swap.ObjectSwap ObjectSwaps} associated 
through the
+ * {@link org.apache.juneau.marshall.swap.spi.ObjectSwap ObjectSwaps} 
associated through the
  * {@link 
org.apache.juneau.marshall.MarshallingContext.Builder#swaps(Class...)} method.
  * Several default transforms are provided for transforming Dates, Enums, 
Iterators, etc...
  *
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/MarshalledConfigAnnotation_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/MarshalledConfigAnnotation_Test.java
index 1bc0eb4ea0..1d30b52906 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/MarshalledConfigAnnotation_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/MarshalledConfigAnnotation_Test.java
@@ -33,7 +33,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.json.*;
 import org.apache.juneau.marshall.marshaller.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/MarshalledConfig_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/MarshalledConfig_Test.java
index f166d91c42..b3257e6004 100755
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/MarshalledConfig_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/MarshalledConfig_Test.java
@@ -33,7 +33,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.json.*;
 import org.apache.juneau.marshall.parser.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 @SuppressWarnings({
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/ObjectSwap_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/ObjectSwap_Test.java
index 2735888903..36334da1d6 100755
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/ObjectSwap_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/ObjectSwap_Test.java
@@ -22,7 +22,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.json5.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 class ObjectSwap_Test extends TestBase {
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/markdown/MarkdownParserSession_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/markdown/MarkdownParserSession_Test.java
index 5afc299daa..9adb7b603a 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/markdown/MarkdownParserSession_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/markdown/MarkdownParserSession_Test.java
@@ -24,7 +24,7 @@ import org.apache.juneau.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.markdown.*;
 import org.apache.juneau.marshall.parser.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/ClassMeta_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/ClassMeta_Test.java
index e8482bd813..4f8e717adc 100755
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/ClassMeta_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/ClassMeta_Test.java
@@ -24,7 +24,7 @@ import java.lang.annotation.*;
 import java.util.*;
 
 import org.apache.juneau.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 @SuppressWarnings({
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/MarshalledPropertyPostProcessor_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/MarshalledPropertyPostProcessor_Test.java
index bc6848bf64..3935a5546e 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/MarshalledPropertyPostProcessor_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/MarshalledPropertyPostProcessor_Test.java
@@ -27,7 +27,7 @@ import java.util.*;
 import javax.xml.datatype.*;
 
 import org.apache.juneau.marshall.json5.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/MarshallingContext_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/MarshallingContext_Test.java
index dc054876c2..28d6e5c6de 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/MarshallingContext_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/MarshallingContext_Test.java
@@ -30,7 +30,7 @@ import org.apache.juneau.commons.http.MediaType;
 import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.commons.settings.*;
 import org.apache.juneau.marshall.json5.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.testutils.pojos.*;
 import org.junit.jupiter.api.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/bson/BsonParserSession_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/bson/BsonParserSession_Test.java
index 4417eb815a..3765d87480 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/bson/BsonParserSession_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/bson/BsonParserSession_Test.java
@@ -465,7 +465,7 @@ class BsonParserSession_Test extends TestBase {
                public String value;
        }
 
-       public static class Dd1_Swap extends 
org.apache.juneau.marshall.swap.ObjectSwap<Dd1_MapType,Dd1_SwapTarget> {
+       public static class Dd1_Swap extends 
org.apache.juneau.marshall.swap.spi.ObjectSwap<Dd1_MapType,Dd1_SwapTarget> {
                @Override
                public Dd1_SwapTarget swap(MarshallingSession session, 
Dd1_MapType o) {
                        var t = new Dd1_SwapTarget();
@@ -499,7 +499,7 @@ class BsonParserSession_Test extends TestBase {
                assertEquals("hi", result.get("k"));
        }
 
-       public static class Dd2_Swap extends 
org.apache.juneau.marshall.swap.ObjectSwap<Dd2_MapType,Object> {
+       public static class Dd2_Swap extends 
org.apache.juneau.marshall.swap.spi.ObjectSwap<Dd2_MapType,Object> {
                @Override
                public Object swap(MarshallingSession session, Dd2_MapType o) {
                        return String.valueOf(o.get("k"));
@@ -556,7 +556,7 @@ class BsonParserSession_Test extends TestBase {
                public void setB(String b) { this.b = b; }
        }
 
-       public static class Dd3_Swap extends 
org.apache.juneau.marshall.swap.ObjectSwap<Dd3_MapType,Dd3_View> {
+       public static class Dd3_Swap extends 
org.apache.juneau.marshall.swap.spi.ObjectSwap<Dd3_MapType,Dd3_View> {
                @Override
                public Dd3_View swap(MarshallingSession session, Dd3_MapType o) 
{
                        return new Dd3_ViewImpl(String.valueOf(o.get("a")), 
String.valueOf(o.get("b")));
@@ -632,7 +632,7 @@ class BsonParserSession_Test extends TestBase {
                public Map<String,Object> m;
        }
 
-       public static class G01_Swap extends 
org.apache.juneau.marshall.swap.ObjectSwap<G01_Bean,Map<String,Object>> {
+       public static class G01_Swap extends 
org.apache.juneau.marshall.swap.spi.ObjectSwap<G01_Bean,Map<String,Object>> {
                @Override
                public Map<String,Object> swap(MarshallingSession session, 
G01_Bean o) {
                        return Map.of("v", o.v);
@@ -654,7 +654,7 @@ class BsonParserSession_Test extends TestBase {
                public String v;
        }
 
-       public static class G00_Swap extends 
org.apache.juneau.marshall.swap.ObjectSwap<G00_Bean,G00_Impl> {
+       public static class G00_Swap extends 
org.apache.juneau.marshall.swap.spi.ObjectSwap<G00_Bean,G00_Impl> {
                @Override
                public G00_Impl swap(MarshallingSession session, G00_Bean o) {
                        var i = new G00_Impl();
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/cbor/CborSerializerSession_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/cbor/CborSerializerSession_Test.java
index 43b50adfbd..592c2c401b 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/cbor/CborSerializerSession_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/cbor/CborSerializerSession_Test.java
@@ -26,7 +26,7 @@ import java.util.*;
 import org.apache.juneau.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/cbor/CborSerializer_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/cbor/CborSerializer_Test.java
index 10134bfd78..44e1e0426a 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/cbor/CborSerializer_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/cbor/CborSerializer_Test.java
@@ -24,7 +24,7 @@ import static org.junit.jupiter.api.Assertions.*;
 import org.apache.juneau.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/csv/Csv_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/csv/Csv_Test.java
index 9a0ba81007..f767cb4cc1 100755
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/csv/Csv_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/csv/Csv_Test.java
@@ -23,7 +23,7 @@ import java.util.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 @SuppressWarnings({
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/hjson/HjsonSerializerSession_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/hjson/HjsonSerializerSession_Test.java
index 90baf642a0..3fb15663a7 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/hjson/HjsonSerializerSession_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/hjson/HjsonSerializerSession_Test.java
@@ -26,7 +26,7 @@ import java.util.*;
 import org.apache.juneau.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/html/HtmlSerializerSessionCoverage_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/html/HtmlSerializerSessionCoverage_Test.java
index d0fd1e9f02..001f179e3d 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/html/HtmlSerializerSessionCoverage_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/html/HtmlSerializerSessionCoverage_Test.java
@@ -28,7 +28,7 @@ import java.util.*;
 import org.apache.juneau.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/ini/IniSerializerSession_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/ini/IniSerializerSession_Test.java
index 2bb45f21d7..270a2dc27f 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/ini/IniSerializerSession_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/ini/IniSerializerSession_Test.java
@@ -550,7 +550,7 @@ class IniSerializerSession_Test extends TestBase {
        // where isBean() intercepts before the swap is ever considered (see 
writeMapAtRoot/writeBean's isBean()
        // checks, which run ahead of any swap logic).
 
-       public static class L10_Swap extends 
org.apache.juneau.marshall.swap.ObjectSwap<UUID,Object> {
+       public static class L10_Swap extends 
org.apache.juneau.marshall.swap.spi.ObjectSwap<UUID,Object> {
                @Override
                public Object swap(MarshallingSession session, UUID o) {
                        return o == null ? null : o.toString();
@@ -566,7 +566,7 @@ class IniSerializerSession_Test extends TestBase {
                
assertTrue(ini.contains("00000000-0000-0000-0000-000000000001"), ini);
        }
 
-       public static class L10b_Swap extends 
org.apache.juneau.marshall.swap.ObjectSwap<UUID,String> {
+       public static class L10b_Swap extends 
org.apache.juneau.marshall.swap.spi.ObjectSwap<UUID,String> {
                @Override
                public String swap(MarshallingSession session, UUID o) {
                        return o == null ? null : o.toString();
@@ -582,7 +582,7 @@ class IniSerializerSession_Test extends TestBase {
                
assertTrue(ini.contains("00000000-0000-0000-0000-000000000002"), ini);
        }
 
-       public static class L10c_Swap extends 
org.apache.juneau.marshall.swap.ObjectSwap<UUID,String> {
+       public static class L10c_Swap extends 
org.apache.juneau.marshall.swap.spi.ObjectSwap<UUID,String> {
                @Override
                public String swap(MarshallingSession session, UUID o) {
                        return null;
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/jsonschema/JsonSchemaGenerator_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/jsonschema/JsonSchemaGenerator_Test.java
index 466b7f1033..fde8f78c0e 100755
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/jsonschema/JsonSchemaGenerator_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/jsonschema/JsonSchemaGenerator_Test.java
@@ -30,7 +30,7 @@ import org.apache.juneau.commons.*;
 import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.testutils.pojos.*;
 import org.junit.jupiter.api.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/markdown/MarkdownDocParserSession_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/markdown/MarkdownDocParserSession_Test.java
index 997f0ebffa..51501b22c1 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/markdown/MarkdownDocParserSession_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/markdown/MarkdownDocParserSession_Test.java
@@ -21,7 +21,7 @@ import static org.junit.jupiter.api.Assertions.*;
 import java.util.*;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/markdown/MarkdownDocSerializerSession_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/markdown/MarkdownDocSerializerSession_Test.java
index afd13066e4..3956e4af0a 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/markdown/MarkdownDocSerializerSession_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/markdown/MarkdownDocSerializerSession_Test.java
@@ -21,7 +21,7 @@ import static org.junit.jupiter.api.Assertions.*;
 import java.util.*;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/markdown/MarkdownParserSession_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/markdown/MarkdownParserSession_Test.java
index 63220119f4..182788afff 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/markdown/MarkdownParserSession_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/markdown/MarkdownParserSession_Test.java
@@ -24,7 +24,7 @@ import java.util.stream.*;
 import org.apache.juneau.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.parser.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 import org.junit.jupiter.params.*;
 import org.junit.jupiter.params.provider.*;
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/oapi/OpenApiSerializerSession_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/oapi/OpenApiSerializerSession_Test.java
index 8fa98d1434..f1303e6d0f 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/oapi/OpenApiSerializerSession_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/oapi/OpenApiSerializerSession_Test.java
@@ -65,7 +65,7 @@ class OpenApiSerializerSession_Test extends TestBase {
                public String x = "hi";
        }
 
-       public static class A_ObjSwap extends 
org.apache.juneau.marshall.swap.ObjectSwap<A_ObjSwapBean,Object> {
+       public static class A_ObjSwap extends 
org.apache.juneau.marshall.swap.spi.ObjectSwap<A_ObjSwapBean,Object> {
                @Override
                public Object swap(MarshallingSession session, A_ObjSwapBean o) 
{
                        return o.x;
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/parquet/ParquetSerializerSessionFull_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/parquet/ParquetSerializerSessionFull_Test.java
index 2bd578a979..3d8536648b 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/parquet/ParquetSerializerSessionFull_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/parquet/ParquetSerializerSessionFull_Test.java
@@ -28,7 +28,7 @@ import java.util.*;
 import org.apache.juneau.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/protobuf/ProtobufParserSession_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/protobuf/ProtobufParserSession_Test.java
index f146ee5a23..3cbee05198 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/protobuf/ProtobufParserSession_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/protobuf/ProtobufParserSession_Test.java
@@ -25,7 +25,7 @@ import java.util.*;
 import org.apache.juneau.*;
 import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/protobuf/ProtobufSerializerSession_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/protobuf/ProtobufSerializerSession_Test.java
index dfa70c2bf5..5c939ad3f2 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/protobuf/ProtobufSerializerSession_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/protobuf/ProtobufSerializerSession_Test.java
@@ -25,7 +25,7 @@ import java.util.*;
 import org.apache.juneau.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/protobuf/ProtobufSwap_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/protobuf/ProtobufSwap_Test.java
index 14c9663c66..2ef215618e 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/protobuf/ProtobufSwap_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/protobuf/ProtobufSwap_Test.java
@@ -21,7 +21,7 @@ import static org.apache.juneau.test.bct.BctAssertions.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/serializer/SerializerSession_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/serializer/SerializerSession_Test.java
index 4341f9053b..59c2aeb81b 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/serializer/SerializerSession_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/serializer/SerializerSession_Test.java
@@ -949,7 +949,7 @@ class SerializerSession_Test extends TestBase {
 
        @Test void q01_swap_nullSwapReturnsObject() throws Exception {
                var s = JsonSerializer.DEFAULT.createSession().build();
-               var method = SerializerSession.class.getDeclaredMethod("swap", 
org.apache.juneau.marshall.swap.ObjectSwap.class, Object.class);
+               var method = SerializerSession.class.getDeclaredMethod("swap", 
org.apache.juneau.marshall.swap.spi.ObjectSwap.class, Object.class);
                method.setAccessible(true);
                var result = method.invoke(s, null, "hello");
                assertEquals("hello", result);
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoListSwapTest.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoListSwapTest.java
index ac521daea2..b115de7541 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoListSwapTest.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoListSwapTest.java
@@ -29,7 +29,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 @SuppressWarnings({
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoMapSwapTest.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoMapSwapTest.java
index 1b22e08733..b7855d1805 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoMapSwapTest.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoMapSwapTest.java
@@ -30,7 +30,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 @SuppressWarnings({
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoNumberSwapTest.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoNumberSwapTest.java
index 24c82c9ea4..1c99ef1709 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoNumberSwapTest.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoNumberSwapTest.java
@@ -27,7 +27,7 @@ import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 @SuppressWarnings({
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoObjectSwapTest.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoObjectSwapTest.java
index 15609438b8..e788d1035b 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoObjectSwapTest.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transform/AutoObjectSwapTest.java
@@ -30,7 +30,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 @SuppressWarnings({
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/BeanMap_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/BeanMap_Test.java
index eb0fd89752..b3bc9e893c 100755
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/BeanMap_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/BeanMap_Test.java
@@ -21,7 +21,7 @@ import static org.junit.jupiter.api.Assertions.*;
 import org.apache.juneau.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 class BeanMap_Test extends TestBase {
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/Builder_ComboRoundTripTest.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/Builder_ComboRoundTripTest.java
index 1a74cc7576..1fd0cd6820 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/Builder_ComboRoundTripTest.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/Builder_ComboRoundTripTest.java
@@ -250,7 +250,7 @@ class Builder_ComboRoundTripTest extends 
ComboRoundTripTest_Base {
                }
        }
 
-       public static class BBuilder implements 
org.apache.juneau.marshall.swap.Builder {
+       public static class BBuilder implements 
org.apache.juneau.marshall.swap.spi.PojoBuilder {
                public int a;
        }
 
@@ -274,7 +274,7 @@ class Builder_ComboRoundTripTest extends 
ComboRoundTripTest_Base {
                }
        }
 
-       public static class CBuilder implements 
org.apache.juneau.marshall.swap.Builder {
+       public static class CBuilder implements 
org.apache.juneau.marshall.swap.spi.PojoBuilder {
                public int a;
 
                public C build() {
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/DefaultSwaps_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/DefaultSwaps_Test.java
index ced4adb141..075618bdcc 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/DefaultSwaps_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/DefaultSwaps_Test.java
@@ -32,7 +32,7 @@ import org.apache.juneau.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.json5.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 class DefaultSwaps_Test extends TestBase {
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/InputStreamBase64_OneWayStringSwapTest.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/InputStreamBase64_OneWayStringSwapTest.java
index 33e1f4a1b3..02bd3db7f1 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/InputStreamBase64_OneWayStringSwapTest.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/InputStreamBase64_OneWayStringSwapTest.java
@@ -19,7 +19,7 @@ package org.apache.juneau.marshall.transforms;
 import static org.apache.juneau.BasicTestUtils.*;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.swaps.*;
 
 class InputStreamBase64_OneWayStringSwapTest extends OneWayStringSwapTest_Base 
{
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/ObjectSwapTest.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/ObjectSwapTest.java
index 59e8d0cd6e..e30a8b4e72 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/ObjectSwapTest.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/ObjectSwapTest.java
@@ -24,7 +24,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.html.*;
 import org.apache.juneau.marshall.json.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.xml.*;
 import org.junit.jupiter.api.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/OneWayStringSwap_Tester.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/OneWayStringSwap_Tester.java
index c222987c88..27d93fff61 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/OneWayStringSwap_Tester.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/OneWayStringSwap_Tester.java
@@ -22,7 +22,7 @@ import static org.junit.jupiter.api.Assertions.*;
 import java.util.function.*;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Tester class for one-way string swap testing designed for JUnit 5 
parameterized tests.
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/ReaderObjectSwap_ComboSerializeTest.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/ReaderObjectSwap_ComboSerializeTest.java
index 0cb01627fc..abb3a5d66f 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/ReaderObjectSwap_ComboSerializeTest.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/ReaderObjectSwap_ComboSerializeTest.java
@@ -23,7 +23,7 @@ import java.util.function.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Verifies that Reader and InputStream objects are serialized correctly.
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/ReaderSwap_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/ReaderSwap_Test.java
index c090ebd923..13f56269b2 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/ReaderSwap_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/ReaderSwap_Test.java
@@ -19,7 +19,7 @@ package org.apache.juneau.marshall.transforms;
 import static org.apache.juneau.BasicTestUtils.*;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.swaps.*;
 
 class ReaderSwap_Test extends OneWayStringSwapTest_Base {
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/RoundTripObjectSwap_Tester.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/RoundTripObjectSwap_Tester.java
index a9115a357a..37dda91620 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/RoundTripObjectSwap_Tester.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/RoundTripObjectSwap_Tester.java
@@ -21,7 +21,7 @@ import static org.junit.jupiter.api.Assertions.*;
 import java.util.function.*;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Tester class for round-trip object swap testing designed for JUnit 5 
parameterized tests.
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/StringSwap_Tester.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/StringSwap_Tester.java
index 5ec70c48d3..fa33610bcf 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/StringSwap_Tester.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/StringSwap_Tester.java
@@ -22,7 +22,7 @@ import static org.junit.jupiter.api.Assertions.*;
 import java.util.function.*;
 
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Tester class for round-trip string swap testing designed for JUnit 5 
parameterized tests.
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/SwapsAnnotation_ComboSerializeTest.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/SwapsAnnotation_ComboSerializeTest.java
index 12b91f7a27..38d84ffacf 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/SwapsAnnotation_ComboSerializeTest.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/SwapsAnnotation_ComboSerializeTest.java
@@ -22,7 +22,7 @@ import java.util.function.*;
 import org.apache.juneau.*;
 import org.apache.juneau.commons.http.*;
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 /**
  * Exhaustive serialization tests Swap annotation.
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/TopLevelDefaultSwapsRoundTrip_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/TopLevelDefaultSwapsRoundTrip_Test.java
index 987ea1c160..94c7285b30 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/TopLevelDefaultSwapsRoundTrip_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/transforms/TopLevelDefaultSwapsRoundTrip_Test.java
@@ -30,11 +30,11 @@ import org.junit.jupiter.api.*;
 
 /**
  * Verifies that top-level (non-bean-property) values for types covered by the 
inline anonymous swaps registered in
- * {@link org.apache.juneau.marshall.swap.DefaultSwaps} round-trip cleanly 
through several wire formats.
+ * {@link org.apache.juneau.marshall.swap.spi.DefaultSwaps} round-trip cleanly 
through several wire formats.
  *
  * <p>
  * The three thin delegating swaps that previously lived as standalone classes 
(LocaleSwap, TimeZoneSwap, ZoneIdSwap)
- * were inlined into {@code DefaultSwaps} as anonymous {@link 
org.apache.juneau.marshall.swap.StringSwap} subclasses; this test
+ * were inlined into {@code DefaultSwaps} as anonymous {@link 
org.apache.juneau.marshall.swap.spi.StringSwap} subclasses; this test
  * confirms that the inlining did not regress top-level serialization or 
parsing for any of the three.
  */
 class TopLevelDefaultSwapsRoundTrip_Test extends TestBase {
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/uon/UonParserSession_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/uon/UonParserSession_Test.java
index 2954f74ea8..8c3ad76e29 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/uon/UonParserSession_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/uon/UonParserSession_Test.java
@@ -27,7 +27,7 @@ import org.apache.juneau.commons.httppart.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.httppart.*;
 import org.apache.juneau.marshall.parser.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/yaml/YamlSerializerSession_Test.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/yaml/YamlSerializerSession_Test.java
index 43145f19d9..4050790838 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/yaml/YamlSerializerSession_Test.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/marshall/yaml/YamlSerializerSession_Test.java
@@ -27,7 +27,7 @@ import org.apache.juneau.*;
 import org.apache.juneau.commons.bean.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/testutils/pojos/SwappedObjectSwap.java
 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/testutils/pojos/SwappedObjectSwap.java
index 9cc5d216e0..a5d2f98b32 100644
--- 
a/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/testutils/pojos/SwappedObjectSwap.java
+++ 
b/juneau-core/juneau-marshall/src/test/java/org/apache/juneau/testutils/pojos/SwappedObjectSwap.java
@@ -22,7 +22,7 @@ import static org.apache.juneau.utest.utils.Constants.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 public class SwappedObjectSwap extends ObjectSwap<SwappedObject,String> {
        @Override
diff --git 
a/juneau-core/juneau-test-marshall-utils/src/main/java/org/apache/juneau/marshall/testutils/pojos/SwappedObjectSwap.java
 
b/juneau-core/juneau-test-marshall-utils/src/main/java/org/apache/juneau/marshall/testutils/pojos/SwappedObjectSwap.java
index a86353bd12..bc008e901a 100644
--- 
a/juneau-core/juneau-test-marshall-utils/src/main/java/org/apache/juneau/marshall/testutils/pojos/SwappedObjectSwap.java
+++ 
b/juneau-core/juneau-test-marshall-utils/src/main/java/org/apache/juneau/marshall/testutils/pojos/SwappedObjectSwap.java
@@ -22,7 +22,7 @@ import static org.apache.juneau.utest.utils.Constants.*;
 import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 
 public class SwappedObjectSwap extends ObjectSwap<SwappedObject,String> {
        @Override
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeans_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeans_Test.java
index 4b2addc9b4..9f03703e5c 100755
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeans_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeans_Test.java
@@ -42,7 +42,7 @@ import org.apache.juneau.marshall.markdown.*;
 import org.apache.juneau.marshall.msgpack.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.marshall.uon.*;
 import org.apache.juneau.marshall.urlencoding.*;
 import org.apache.juneau.marshall.xml.*;
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/classic/RestClient_Config_Context_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/classic/RestClient_Config_Context_Test.java
index ce1b5df392..3bb2642559 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/classic/RestClient_Config_Context_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/classic/RestClient_Config_Context_Test.java
@@ -25,7 +25,7 @@ import java.io.*;
 import org.apache.juneau.*;
 import org.apache.juneau.commons.reflect.*;
 import org.apache.juneau.marshall.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.servlet.*;
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/classic/RestClient_Config_MarshallingContext_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/classic/RestClient_Config_MarshallingContext_Test.java
index 4a7afa4207..8d2ac3672e 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/classic/RestClient_Config_MarshallingContext_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/classic/RestClient_Config_MarshallingContext_Test.java
@@ -31,7 +31,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.collections.*;
 import org.apache.juneau.marshall.json5.*;
 import org.apache.juneau.marshall.parser.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.rest.mock.classic.*;
 import org.apache.juneau.rest.server.*;
 import org.apache.juneau.rest.server.httppart.*;
diff --git 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/MarshalledConfig_Swaps_Test.java
 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/MarshalledConfig_Swaps_Test.java
index 952d93b5f1..b84dfd6233 100644
--- 
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/MarshalledConfig_Swaps_Test.java
+++ 
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/MarshalledConfig_Swaps_Test.java
@@ -24,7 +24,7 @@ import org.apache.juneau.marshall.*;
 import org.apache.juneau.marshall.json5.*;
 import org.apache.juneau.marshall.parser.*;
 import org.apache.juneau.marshall.serializer.*;
-import org.apache.juneau.marshall.swap.*;
+import org.apache.juneau.marshall.swap.spi.*;
 import org.apache.juneau.rest.mock.classic.*;
 import org.junit.jupiter.api.*;
 

Reply via email to