diff --git a/mica-core/src/main/java/net/dreamlu/mica/core/beans/MicaBeanMap.java b/mica-core/src/main/java/net/dreamlu/mica/core/beans/MicaBeanMap.java index 25c3bf77a13abbd5f859975166ab6f990ebc6f6b..17be0d3911508e7c851f3b4ac172b96a875b3e8b 100644 --- a/mica-core/src/main/java/net/dreamlu/mica/core/beans/MicaBeanMap.java +++ b/mica-core/src/main/java/net/dreamlu/mica/core/beans/MicaBeanMap.java @@ -29,6 +29,7 @@ import java.security.ProtectionDomain; * @author L.cm */ public abstract class MicaBeanMap extends BeanMap { + private static final String BEAN_NAME_PREFIX = MicaBeanMap.class.getName(); protected MicaBeanMap() {} protected MicaBeanMap(Object bean) { @@ -38,6 +39,9 @@ public abstract class MicaBeanMap extends BeanMap { public static MicaBeanMap create(Object bean) { MicaGenerator gen = new MicaGenerator(); gen.setBean(bean); + gen.setContextClass(MicaBeanMap.class); + gen.setNamePrefix(BEAN_NAME_PREFIX); + gen.setUseCache(true); return gen.create(); } @@ -112,11 +116,15 @@ public abstract class MicaBeanMap extends BeanMap { if (beanClass == null) { throw new IllegalArgumentException("Class of bean unknown"); } - setNamePrefix(beanClass.getName()); MicaBeanMapKey key = new MicaBeanMapKey(beanClass, require); return (MicaBeanMap)super.create(key); } + @Override + public void setNamePrefix(String namePrefix) { + super.setNamePrefix(namePrefix); + } + @Override public void generateClass(ClassVisitor v) throws Exception { new MicaBeanMapEmitter(v, getClassName(), beanClass, require);