You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/02/04 22:53:25 UTC

[3/5] incubator-juneau git commit: Improvements to ClassMeta class.

Improvements to ClassMeta class.

Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/96cf56b4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/96cf56b4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/96cf56b4

Branch: refs/heads/master
Commit: 96cf56b4aa448d34b86aa96631d65886db241b2a
Parents: 062d7dd
Author: JamesBognar <ja...@apache.org>
Authored: Sat Feb 4 17:49:42 2017 -0500
Committer: JamesBognar <ja...@apache.org>
Committed: Sat Feb 4 17:49:42 2017 -0500

----------------------------------------------------------------------
 .../main/java/org/apache/juneau/ClassMeta.java  | 35 ++++----------------
 1 file changed, 6 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/96cf56b4/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java b/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
index 5e079c4..586d0b5 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
@@ -88,6 +88,11 @@ public final class ClassMeta<T> implements Type {
 	final ConcurrentHashMap<Class<?>,PojoSwap<?,?>>
 		childSwapMap,                                        // Maps normal subclasses to PojoSwaps.
 		childUnswapMap;                                      // Maps swap subclasses to PojoSwaps.
+	final PojoSwap<T,?> pojoSwap;                           // The object POJO swap associated with this bean (if it has one).
+	final BeanFilter beanFilter;                            // The bean filter associated with this bean (if it has one).
+
+	private final MetadataMap extMeta;                      // Extended metadata
+
 
 	final BeanContext beanContext;                    // The bean context that created this object.
 	ClassMeta<?>
@@ -99,10 +104,6 @@ public final class ClassMeta<T> implements Type {
 	BeanMeta<T> beanMeta;                             // The bean meta for this bean class (if it's a bean).
 	String dictionaryName, resolvedDictionaryName;    // The dictionary name of this class if it has one.
 	String notABeanReason;                            // If this isn't a bean, the reason why.
-	PojoSwap<T,?> pojoSwap;                           // The object POJO swap associated with this bean (if it has one).
-	BeanFilter beanFilter;                            // The bean filter associated with this bean (if it has one).
-
-	private MetadataMap extMeta = new MetadataMap();  // Extended metadata
 	private Throwable initException;                  // Any exceptions thrown in the init() method.
 
 	private static final Boolean BOOLEAN_DEFAULT = false;
@@ -422,6 +423,7 @@ public final class ClassMeta<T> implements Type {
 		this.remoteableMethods = _remoteableMethods;
 		this.beanFilter = beanFilter;
 		this.pojoSwap = ps;
+		this.extMeta = new MetadataMap();
 
 		if (! delayedInit)
 			init();
@@ -477,31 +479,6 @@ public final class ClassMeta<T> implements Type {
 
 		try {
 
-			Class c = innerClass;
-
-			if (swapMethod != null) {
-				this.pojoSwap = new PojoSwap<T,Object>(c, swapMethod.getReturnType()) {
-					@Override
-					public Object swap(BeanSession session, Object o) throws SerializeException {
-						try {
-							return swapMethod.invoke(o, session);
-						} catch (Exception e) {
-							throw new SerializeException(e);
-						}
-					}
-					@Override
-					public T unswap(BeanSession session, Object f, ClassMeta<?> hint) throws ParseException {
-						try {
-							if (swapConstructor != null)
-								return swapConstructor.newInstance(f);
-							return super.unswap(session, f, hint);
-						} catch (Exception e) {
-							throw new ParseException(e);
-						}
-					}
-				};
-			}
-
 			serializedClassMeta = (pojoSwap == null ? this : findClassMeta(pojoSwap.getSwapClass()));
 			if (serializedClassMeta == null)
 				serializedClassMeta = this;