本文整理汇总了Java中net.sf.cglib.core.NamingPolicy类的典型用法代码示例。如果您正苦于以下问题:Java NamingPolicy类的具体用法?Java NamingPolicy怎么用?Java NamingPolicy使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
NamingPolicy类属于net.sf.cglib.core包,在下文中一共展示了NamingPolicy类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createBeanClass
import net.sf.cglib.core.NamingPolicy; //导入依赖的package包/类
static Class<?> createBeanClass(
/* fully qualified class name */
final String className,
/* bean properties, name -> type */
final Map<String, Class<?>> properties) {
final BeanGenerator beanGenerator = new BeanGenerator();
/* use our own hard coded class name instead of a real naming policy */
beanGenerator.setNamingPolicy(new NamingPolicy() {
@Override public String getClassName(final String prefix,
final String source,
final Object key,
final Predicate names) {
return className;
}
});
BeanGenerator.addProperties(beanGenerator, properties);
return (Class<?>) beanGenerator.createClass();
}
示例2: defineInterface
import net.sf.cglib.core.NamingPolicy; //导入依赖的package包/类
@Override
public Class<?> defineInterface(final String name, Class<?>... supers) {
ExtendsInterfaceMaker maker = new ExtendsInterfaceMaker();
{
final NamingPolicy np = maker.getNamingPolicy();
maker.setNamingPolicy(new NamingPolicy() {
@Override
public String getClassName(String prefix, String source, Object key, Predicate names) {
if (!source.equals(InterfaceMaker.class.getName())) {
return np.getClassName(prefix, source, key, names);
}
return name;
}
});
}
if (isNotNoSize(supers)) {
for (Class<?> sc : supers) {
maker.add(sc);
}
}
return maker.create();
}
示例3: testNamingPolicyThatReturnsConstantNames
import net.sf.cglib.core.NamingPolicy; //导入依赖的package包/类
/**
* In theory, every sane implementation of {@link NamingPolicy} should check if the class name is occupied,
* however, in practice there are implementations in the wild that just return whatever they feel is good.
*
* @throws Throwable if something wrong happens
*/
public void testNamingPolicyThatReturnsConstantNames() throws Throwable {
Enhancer e = new Enhancer();
final String desiredClassName = "net.sf.cglib.empty.Object$$42";
e.setCallback(NoOp.INSTANCE);
e.setClassLoader(new ClassLoader(this.getClass().getClassLoader()){});
e.setNamingPolicy(new NamingPolicy() {
public String getClassName(String prefix, String source, Object key, Predicate names) {
return desiredClassName;
}
});
Class proxied = e.create().getClass();
assertEquals("Class name should match the one returned by NamingPolicy", desiredClassName, proxied.getName());
}
示例4: check
import net.sf.cglib.core.NamingPolicy; //导入依赖的package包/类
private static void check() {
try {
Class.forName(NamingPolicy.class.getName());
Class.forName(Predicate.class.getName());
Class.forName(InterfaceMaker.class.getName());
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
示例5: createBeanClass
import net.sf.cglib.core.NamingPolicy; //导入依赖的package包/类
private static Class<?> createBeanClass(final String className,
Class<TemplateModel> superClass, final Map<String, Class<?>> properties) {
final BeanGenerator beanGenerator = new BeanGenerator();
beanGenerator.setSuperclass(superClass);
beanGenerator.setNamingPolicy(new NamingPolicy() {
@Override
public String getClassName(final String prefix,
final String source, final Object key, final Predicate names) {
return className;
}
});
BeanGenerator.addProperties(beanGenerator, properties);
return (Class<?>) beanGenerator.createClass();
}