[jackson-jaxrs-providers] 17/162: refactoring
Timo Aaltonen
tjaalton at moszumanska.debian.org
Mon Sep 8 22:16:23 UTC 2014
This is an automated email from the git hooks/post-receive script.
tjaalton pushed a commit to branch master
in repository jackson-jaxrs-providers.
commit 3d1f24dfbc26cfbc69aa572ead736ebdd1d243eb
Author: Tatu Saloranta <tsaloranta at gmail.com>
Date: Fri Mar 15 20:10:50 2013 -0700
refactoring
---
.../jaxrs/base/cfg/MapperConfiguratorBase.java | 93 ++++++++++++++++++++++
.../jackson/jaxrs/json/cfg/MapperConfigurator.java | 66 +++++----------
.../jaxrs/smile/cfg/MapperConfigurator.java | 63 ++++-----------
.../jackson/jaxrs/xml/cfg/MapperConfigurator.java | 60 +++-----------
4 files changed, 141 insertions(+), 141 deletions(-)
diff --git a/base/src/main/java/com/fasterxml/jackson/jaxrs/base/cfg/MapperConfiguratorBase.java b/base/src/main/java/com/fasterxml/jackson/jaxrs/base/cfg/MapperConfiguratorBase.java
new file mode 100644
index 0000000..976074c
--- /dev/null
+++ b/base/src/main/java/com/fasterxml/jackson/jaxrs/base/cfg/MapperConfiguratorBase.java
@@ -0,0 +1,93 @@
+package com.fasterxml.jackson.jaxrs.base.cfg;
+
+import com.fasterxml.jackson.core.*;
+
+import com.fasterxml.jackson.databind.*;
+
+/**
+ * Helper class used to encapsulate details of configuring an
+ * {@link ObjectMapper} instance to be used for data binding, as
+ * well as accessing it.
+ */
+public abstract class MapperConfiguratorBase<IMPL extends MapperConfiguratorBase<IMPL,MAPPER>,
+ MAPPER extends ObjectMapper>
+{
+ /**
+ * Mapper provider was constructed with if any, or that was constructed
+ * due to a call to explicitly configure mapper.
+ * If defined (explicitly or implicitly) it will be used, instead
+ * of using provider-based lookup.
+ */
+ protected MAPPER _mapper;
+
+ /**
+ * If no mapper was specified when constructed, and no configuration
+ * calls are made, a default mapper is constructed. The difference
+ * between default mapper and regular one is that default mapper
+ * is only used if no mapper is found via provider lookup.
+ */
+ protected MAPPER _defaultMapper;
+
+ /**
+ * To support optional dependency to Jackson JAXB annotations module
+ * (needed iff JAXB annotations are used for configuration)
+ */
+ protected Class<? extends AnnotationIntrospector> _jaxbIntrospectorClass;
+
+ /*
+ /**********************************************************
+ /* Construction
+ /**********************************************************
+ */
+
+ public MapperConfiguratorBase(MAPPER mapper)
+ {
+ _mapper = mapper;
+ }
+
+ /*
+ /**********************************************************
+ /* Abstract methods to implement
+ /***********************************************************
+ */
+
+ /**
+ * Method that locates, configures and returns {@link ObjectMapper} to use
+ */
+ public abstract MAPPER getConfiguredMapper();
+
+ public abstract MAPPER getDefaultMapper();
+
+ /**
+ * Helper method that will ensure that there is a configurable non-default
+ * mapper (constructing an instance if one didn't yet exit), and return
+ * that mapper.
+ */
+ protected abstract MAPPER mapper();
+
+ /*
+ /***********************************************************
+ /* Configuration methods
+ /***********************************************************
+ */
+
+ public synchronized final void setMapper(MAPPER m) {
+ _mapper = m;
+ }
+
+ public synchronized final void configure(DeserializationFeature f, boolean state) {
+ mapper().configure(f, state);
+ }
+
+ public synchronized final void configure(SerializationFeature f, boolean state) {
+ mapper().configure(f, state);
+ }
+
+ public synchronized final void configure(JsonParser.Feature f, boolean state) {
+ mapper().configure(f, state);
+ }
+
+ public synchronized final void configure(JsonGenerator.Feature f, boolean state) {
+ mapper().configure(f, state);
+ }
+}
diff --git a/json/src/main/java/com/fasterxml/jackson/jaxrs/json/cfg/MapperConfigurator.java b/json/src/main/java/com/fasterxml/jackson/jaxrs/json/cfg/MapperConfigurator.java
index f23dd2a..e30614c 100644
--- a/json/src/main/java/com/fasterxml/jackson/jaxrs/json/cfg/MapperConfigurator.java
+++ b/json/src/main/java/com/fasterxml/jackson/jaxrs/json/cfg/MapperConfigurator.java
@@ -2,10 +2,9 @@ package com.fasterxml.jackson.jaxrs.json.cfg;
import java.util.*;
-import com.fasterxml.jackson.core.*;
-
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
+import com.fasterxml.jackson.jaxrs.base.cfg.MapperConfiguratorBase;
import com.fasterxml.jackson.jaxrs.json.Annotations;
import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
@@ -15,22 +14,8 @@ import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
* well as accessing it.
*/
public class MapperConfigurator
+ extends MapperConfiguratorBase<MapperConfigurator, ObjectMapper>
{
- /**
- * Mapper provider was constructed with if any, or that was constructed
- * due to a call to explicitly configure mapper.
- * If defined (explicitly or implicitly) it will be used, instead
- * of using provider-based lookup.
- */
- protected ObjectMapper _mapper;
-
- /**
- * If no mapper was specified when constructed, and no configuration
- * calls are made, a default mapper is constructed. The difference
- * between default mapper and regular one is that default mapper
- * is only used if no mapper is found via provider lookup.
- */
- protected ObjectMapper _defaultMapper;
/**
* Annotations set to use by default; overridden by explicit call
@@ -52,13 +37,14 @@ public class MapperConfigurator
public MapperConfigurator(ObjectMapper mapper, Annotations[] defAnnotations)
{
- _mapper = mapper;
+ super(mapper);
_defaultAnnotationsToUse = defAnnotations;
}
/**
* Method that locates, configures and returns {@link ObjectMapper} to use
*/
+ @Override
public synchronized ObjectMapper getConfiguredMapper() {
/* important: should NOT call mapper(); needs to return null
* if no instance has been passed or constructed
@@ -66,6 +52,7 @@ public class MapperConfigurator
return _mapper;
}
+ @Override
public synchronized ObjectMapper getDefaultMapper() {
if (_defaultMapper == null) {
_defaultMapper = new ObjectMapper();
@@ -75,46 +62,27 @@ public class MapperConfigurator
}
/*
- ***********************************************************
- * Configuration methods
- ***********************************************************
- */
-
- public synchronized void setMapper(ObjectMapper m) {
- _mapper = m;
- }
+ /**********************************************************
+ /* Configuration methods
+ /**********************************************************
+ */
public synchronized void setAnnotationsToUse(Annotations[] annotationsToUse) {
_setAnnotations(mapper(), annotationsToUse);
}
- public synchronized void configure(DeserializationFeature f, boolean state) {
- mapper().configure(f, state);
- }
-
- public synchronized void configure(SerializationFeature f, boolean state) {
- mapper().configure(f, state);
- }
-
- public synchronized void configure(JsonParser.Feature f, boolean state) {
- mapper().configure(f, state);
- }
-
- public synchronized void configure(JsonGenerator.Feature f, boolean state) {
- mapper().configure(f, state);
- }
-
/*
- ***********************************************************
- * Internal methods
- ***********************************************************
- */
+ /**********************************************************
+ /* Abstract method impl
+ /**********************************************************
+ */
/**
* Helper method that will ensure that there is a configurable non-default
* mapper (constructing an instance if one didn't yet exit), and return
* that mapper.
*/
+ @Override
protected ObjectMapper mapper()
{
if (_mapper == null) {
@@ -124,6 +92,12 @@ public class MapperConfigurator
return _mapper;
}
+ /*
+ /**********************************************************
+ /* Internal methods
+ /**********************************************************
+ */
+
protected void _setAnnotations(ObjectMapper mapper, Annotations[] annotationsToUse)
{
AnnotationIntrospector intr;
diff --git a/smile/src/main/java/com/fasterxml/jackson/jaxrs/smile/cfg/MapperConfigurator.java b/smile/src/main/java/com/fasterxml/jackson/jaxrs/smile/cfg/MapperConfigurator.java
index fcebffc..ad00d2d 100644
--- a/smile/src/main/java/com/fasterxml/jackson/jaxrs/smile/cfg/MapperConfigurator.java
+++ b/smile/src/main/java/com/fasterxml/jackson/jaxrs/smile/cfg/MapperConfigurator.java
@@ -2,38 +2,24 @@ package com.fasterxml.jackson.jaxrs.smile.cfg;
import java.util.*;
-import com.fasterxml.jackson.core.*;
-
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
import com.fasterxml.jackson.dataformat.smile.SmileFactory;
-import com.fasterxml.jackson.jaxrs.smile.Annotations;
+
+import com.fasterxml.jackson.jaxrs.base.cfg.MapperConfiguratorBase;
import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
+import com.fasterxml.jackson.jaxrs.smile.Annotations;
+
/**
* Helper class used to encapsulate details of configuring an
* {@link ObjectMapper} instance to be used for data binding, as
* well as accessing it.
*/
public class MapperConfigurator
+ extends MapperConfiguratorBase<MapperConfigurator, ObjectMapper>
{
/**
- * Mapper provider was constructed with if any, or that was constructed
- * due to a call to explicitly configure mapper.
- * If defined (explicitly or implicitly) it will be used, instead
- * of using provider-based lookup.
- */
- protected ObjectMapper _mapper;
-
- /**
- * If no mapper was specified when constructed, and no configuration
- * calls are made, a default mapper is constructed. The difference
- * between default mapper and regular one is that default mapper
- * is only used if no mapper is found via provider lookup.
- */
- protected ObjectMapper _defaultMapper;
-
- /**
* Annotations set to use by default; overridden by explicit call
* to {@link #setAnnotationsToUse}
*/
@@ -53,7 +39,7 @@ public class MapperConfigurator
public MapperConfigurator(ObjectMapper mapper, Annotations[] defAnnotations)
{
- _mapper = mapper;
+ super(mapper);
_defaultAnnotationsToUse = defAnnotations;
}
@@ -76,46 +62,27 @@ public class MapperConfigurator
}
/*
- ***********************************************************
- * Configuration methods
- ***********************************************************
- */
-
- public synchronized void setMapper(ObjectMapper m) {
- _mapper = m;
- }
+ /***********************************************************
+ /* Configuration methods
+ /***********************************************************
+ */
public synchronized void setAnnotationsToUse(Annotations[] annotationsToUse) {
_setAnnotations(mapper(), annotationsToUse);
}
- public synchronized void configure(DeserializationFeature f, boolean state) {
- mapper().configure(f, state);
- }
-
- public synchronized void configure(SerializationFeature f, boolean state) {
- mapper().configure(f, state);
- }
-
- public synchronized void configure(JsonParser.Feature f, boolean state) {
- mapper().configure(f, state);
- }
-
- public synchronized void configure(JsonGenerator.Feature f, boolean state) {
- mapper().configure(f, state);
- }
-
/*
- ***********************************************************
- * Internal methods
- ***********************************************************
- */
+ /***********************************************************
+ /* Internal methods
+ /***********************************************************
+ */
/**
* Helper method that will ensure that there is a configurable non-default
* mapper (constructing an instance if one didn't yet exit), and return
* that mapper.
*/
+ @Override
protected ObjectMapper mapper()
{
if (_mapper == null) {
diff --git a/xml/src/main/java/com/fasterxml/jackson/jaxrs/xml/cfg/MapperConfigurator.java b/xml/src/main/java/com/fasterxml/jackson/jaxrs/xml/cfg/MapperConfigurator.java
index 9129d53..8437c82 100644
--- a/xml/src/main/java/com/fasterxml/jackson/jaxrs/xml/cfg/MapperConfigurator.java
+++ b/xml/src/main/java/com/fasterxml/jackson/jaxrs/xml/cfg/MapperConfigurator.java
@@ -2,8 +2,6 @@ package com.fasterxml.jackson.jaxrs.xml.cfg;
import java.util.*;
-import com.fasterxml.jackson.core.*;
-
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.dataformat.xml.JacksonXmlAnnotationIntrospector;
@@ -11,6 +9,8 @@ import com.fasterxml.jackson.dataformat.xml.JacksonXmlModule;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.fasterxml.jackson.dataformat.xml.jaxb.XmlJaxbAnnotationIntrospector;
+import com.fasterxml.jackson.jaxrs.base.cfg.MapperConfiguratorBase;
+
import com.fasterxml.jackson.jaxrs.xml.Annotations;
/**
@@ -19,24 +19,9 @@ import com.fasterxml.jackson.jaxrs.xml.Annotations;
* well as accessing it.
*/
public class MapperConfigurator
+ extends MapperConfiguratorBase<MapperConfigurator, XmlMapper>
{
/**
- * Mapper provider was constructed with if any, or that was constructed
- * due to a call to explicitly configure mapper.
- * If defined (explicitly or implicitly) it will be used, instead
- * of using provider-based lookup.
- */
- protected XmlMapper _mapper;
-
- /**
- * If no mapper was specified when constructed, and no configuration
- * calls are made, a default mapper is constructed. The difference
- * between default mapper and regular one is that default mapper
- * is only used if no mapper is found via provider lookup.
- */
- protected XmlMapper _defaultMapper;
-
- /**
* Annotations set to use by default; overridden by explicit call
* to {@link #setAnnotationsToUse}
*/
@@ -56,7 +41,7 @@ public class MapperConfigurator
public MapperConfigurator(XmlMapper mapper, Annotations[] defAnnotations)
{
- _mapper = mapper;
+ super(mapper);
_defaultAnnotationsToUse = defAnnotations;
}
@@ -87,46 +72,27 @@ public class MapperConfigurator
}
/*
- ***********************************************************
- * Configuration methods
- ***********************************************************
- */
-
- public synchronized void setMapper(XmlMapper m) {
- _mapper = m;
- }
+ /***********************************************************
+ /* Configuration methods
+ /***********************************************************
+ */
public synchronized void setAnnotationsToUse(Annotations[] annotationsToUse) {
_setAnnotations(mapper(), annotationsToUse);
}
- public synchronized void configure(DeserializationFeature f, boolean state) {
- mapper().configure(f, state);
- }
-
- public synchronized void configure(SerializationFeature f, boolean state) {
- mapper().configure(f, state);
- }
-
- public synchronized void configure(JsonParser.Feature f, boolean state) {
- mapper().configure(f, state);
- }
-
- public synchronized void configure(JsonGenerator.Feature f, boolean state) {
- mapper().configure(f, state);
- }
-
/*
- ***********************************************************
- * Internal methods
- ***********************************************************
- */
+ /***********************************************************
+ /* Internal methods
+ /***********************************************************
+ */
/**
* Helper method that will ensure that there is a configurable non-default
* mapper (constructing an instance if one didn't yet exit), and return
* that mapper.
*/
+ @Override
protected XmlMapper mapper()
{
if (_mapper == null) {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jackson-jaxrs-providers.git
More information about the pkg-java-commits
mailing list