提交 f6323243 编写于 作者: 如梦技术's avatar 如梦技术 🐛

Merge branch 'mica-v2.4.x'

...@@ -29,6 +29,7 @@ import java.security.ProtectionDomain; ...@@ -29,6 +29,7 @@ import java.security.ProtectionDomain;
* @author L.cm * @author L.cm
*/ */
public abstract class MicaBeanMap extends BeanMap { public abstract class MicaBeanMap extends BeanMap {
private static final String BEAN_NAME_PREFIX = MicaBeanMap.class.getName();
protected MicaBeanMap() {} protected MicaBeanMap() {}
protected MicaBeanMap(Object bean) { protected MicaBeanMap(Object bean) {
...@@ -38,6 +39,9 @@ public abstract class MicaBeanMap extends BeanMap { ...@@ -38,6 +39,9 @@ public abstract class MicaBeanMap extends BeanMap {
public static MicaBeanMap create(Object bean) { public static MicaBeanMap create(Object bean) {
MicaGenerator gen = new MicaGenerator(); MicaGenerator gen = new MicaGenerator();
gen.setBean(bean); gen.setBean(bean);
gen.setContextClass(MicaBeanMap.class);
gen.setNamePrefix(BEAN_NAME_PREFIX);
gen.setUseCache(true);
return gen.create(); return gen.create();
} }
...@@ -112,11 +116,15 @@ public abstract class MicaBeanMap extends BeanMap { ...@@ -112,11 +116,15 @@ public abstract class MicaBeanMap extends BeanMap {
if (beanClass == null) { if (beanClass == null) {
throw new IllegalArgumentException("Class of bean unknown"); throw new IllegalArgumentException("Class of bean unknown");
} }
setNamePrefix(beanClass.getName());
MicaBeanMapKey key = new MicaBeanMapKey(beanClass, require); MicaBeanMapKey key = new MicaBeanMapKey(beanClass, require);
return (MicaBeanMap)super.create(key); return (MicaBeanMap)super.create(key);
} }
@Override
public void setNamePrefix(String namePrefix) {
super.setNamePrefix(namePrefix);
}
@Override @Override
public void generateClass(ClassVisitor v) throws Exception { public void generateClass(ClassVisitor v) throws Exception {
new MicaBeanMapEmitter(v, getClassName(), beanClass, require); new MicaBeanMapEmitter(v, getClassName(), beanClass, require);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册