当前位置: 首页>>代码示例>>Java>>正文


Java Reflection.newInstance方法代码示例

本文整理汇总了Java中com.github.czyzby.kiwi.util.gdx.reflection.Reflection.newInstance方法的典型用法代码示例。如果您正苦于以下问题:Java Reflection.newInstance方法的具体用法?Java Reflection.newInstance怎么用?Java Reflection.newInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.github.czyzby.kiwi.util.gdx.reflection.Reflection的用法示例。


在下文中一共展示了Reflection.newInstance方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: processLmlInjectAnnotation

import com.github.czyzby.kiwi.util.gdx.reflection.Reflection; //导入方法依赖的package包/类
protected <View> void processLmlInjectAnnotation(final View view, final Field field) {
    if (Reflection.isAnnotationPresent(field, LmlInject.class)) {
        try {
            final LmlInject injectionData = Reflection.getAnnotation(field, LmlInject.class);
            final Class<?> injectedValueType = getLmlInjectedValueType(field, injectionData);
            if (LmlParser.class.equals(injectedValueType)) {
                // Injected type equals LmlParser - parser injection was requested:
                Reflection.setFieldValue(field, view, this);
                return;
            }
            Object value = Reflection.getFieldValue(field, view);
            if (value == null || injectionData.newInstance()) {
                value = Reflection.newInstance(injectedValueType);
                Reflection.setFieldValue(field, view, value);
            }
            // Processing field's value annotations:
            processViewFieldAnnotations(value);
        } catch (final ReflectionException exception) {
            throw new GdxRuntimeException(
                    "Unable to inject value of LmlInject-annotated field: " + field + " of view: " + view,
                    exception);
        }
    }
}
 
开发者ID:czyzby,项目名称:gdx-lml,代码行数:25,代码来源:AbstractLmlParser.java

示例2: provide

import com.github.czyzby.kiwi.util.gdx.reflection.Reflection; //导入方法依赖的package包/类
/** @param dependencyClass required class.
 * @return an instance of the class. If there is a component of this class in the context, component will be
 *         returned. If there is a provider that provides instances of this class, provider's result will be
 *         returned. If {@link #setCreateMissingDependencies(boolean)} is set to true, a new instance of the class
 *         will be created with no-arg constructor. Otherwise, an exception is thrown.
 * @throws GdxRuntimeException if there are multiple components or providers mapped to the same class, if unable to
 *             create a new instance with no-arg constructor or if unable to provide an instance at all.
 * @param <Type> type of the provided object. */
@SuppressWarnings("unchecked")
public <Type> Type provide(final Class<Type> dependencyClass) {
    if (isPresent(dependencyClass)) {
        // Components are mapped by their type, safe to cast.
        return (Type) getComponent(dependencyClass);
    } else if (isProviderPresentFor(dependencyClass)) {
        return getProvider(dependencyClass).provide();
    } else if (createMissingDependencies) {
        return Reflection.newInstance(dependencyClass);
    }
    throw new GdxRuntimeException("Unable to provide an instance of: " + dependencyClass
            + ". Not available in context and no provider selected.");
}
 
开发者ID:gdx-libs,项目名称:gdx-autumn,代码行数:22,代码来源:Context.java

示例3: createRenderer

import com.github.czyzby.kiwi.util.gdx.reflection.Reflection; //导入方法依赖的package包/类
private ViewRenderer createRenderer() {
    if (ViewRenderer.class.equals(viewData.renderer())) {
        if (wrappedObject instanceof ViewRenderer) {
            return (ViewRenderer) wrappedObject;
        }
        return InterfaceService.DEFAULT_VIEW_RENDERER;
    } else if (wrappedObject.getClass().equals(viewData.renderer())) {
        return (ViewRenderer) wrappedObject; // Safe to cast, wrapped has to implement VR.
    }
    return Reflection.newInstance(viewData.renderer());
}
 
开发者ID:gdx-libs,项目名称:gdx-autumn-mvc,代码行数:12,代码来源:AnnotatedViewController.java

示例4: createResizer

import com.github.czyzby.kiwi.util.gdx.reflection.Reflection; //导入方法依赖的package包/类
private ViewResizer createResizer() {
    if (ViewResizer.class.equals(viewData.resizer())) {
        if (wrappedObject instanceof ViewResizer) {
            return (ViewResizer) wrappedObject;
        }
        return InterfaceService.DEFAULT_VIEW_RESIZER;
    } else if (wrappedObject.getClass().equals(viewData.resizer())) {
        return (ViewResizer) wrappedObject; // Safe to cast, wrapped has to implement VR.
    }
    return Reflection.newInstance(viewData.resizer());
}
 
开发者ID:gdx-libs,项目名称:gdx-autumn-mvc,代码行数:12,代码来源:AnnotatedViewController.java

示例5: createPauser

import com.github.czyzby.kiwi.util.gdx.reflection.Reflection; //导入方法依赖的package包/类
private ViewPauser createPauser() {
    if (ViewPauser.class.equals(viewData.pauser())) {
        if (wrappedObject instanceof ViewPauser) {
            return (ViewPauser) wrappedObject;
        }
        return InterfaceService.DEFAULT_VIEW_PAUSER;
    } else if (wrappedObject.getClass().equals(viewData.pauser())) {
        return (ViewPauser) wrappedObject; // Safe to cast, wrapped has to implement VP.
    }
    return Reflection.newInstance(viewData.pauser());
}
 
开发者ID:gdx-libs,项目名称:gdx-autumn-mvc,代码行数:12,代码来源:AnnotatedViewController.java

示例6: createShower

import com.github.czyzby.kiwi.util.gdx.reflection.Reflection; //导入方法依赖的package包/类
private ViewShower createShower() {
    if (ViewShower.class.equals(viewData.shower())) {
        if (wrappedObject instanceof ViewShower) {
            return (ViewShower) wrappedObject;
        }
        return InterfaceService.DEFAULT_VIEW_SHOWER;
    } else if (wrappedObject.getClass().equals(viewData.shower())) {
        return (ViewShower) wrappedObject; // Safe to cast, wrapped has to implement VS.
    }
    return Reflection.newInstance(viewData.shower());
}
 
开发者ID:gdx-libs,项目名称:gdx-autumn-mvc,代码行数:12,代码来源:AnnotatedViewController.java

示例7: createInitializer

import com.github.czyzby.kiwi.util.gdx.reflection.Reflection; //导入方法依赖的package包/类
private ViewInitializer createInitializer() {
    if (ViewInitializer.class.equals(viewData.initializer())) {
        if (wrappedObject instanceof ViewInitializer) {
            return (ViewInitializer) wrappedObject;
        }
        return InterfaceService.DEFAULT_VIEW_INITIALIZER;
    } else if (wrappedObject.getClass().equals(viewData.initializer())) {
        return (ViewInitializer) wrappedObject; // Safe to cast, wrapped has to implement VI.
    }
    return Reflection.newInstance(viewData.initializer());
}
 
开发者ID:gdx-libs,项目名称:gdx-autumn-mvc,代码行数:12,代码来源:AnnotatedViewController.java

示例8: createView

import com.github.czyzby.kiwi.util.gdx.reflection.Reflection; //导入方法依赖的package包/类
@Override
public <View> View createView(final Class<View> viewClass, final String lmlTemplate) {
    final View view = Reflection.newInstance(viewClass);
    createView(view, lmlTemplate);
    return view;
}
 
开发者ID:czyzby,项目名称:gdx-lml,代码行数:7,代码来源:AbstractLmlParser.java

示例9: getInstanceOf

import com.github.czyzby.kiwi.util.gdx.reflection.Reflection; //导入方法依赖的package包/类
/** @param viewClass {@link AbstractLmlView} extension that represents a single view. Its instance is requested.
 * @return a new instance of the passed class. By default, the instance is created using the default no-argument
 *         constructor using reflection. Override this method to change the view creation way. */
protected AbstractLmlView getInstanceOf(final Class<? extends AbstractLmlView> viewClass) {
    return Reflection.newInstance(viewClass);
}
 
开发者ID:czyzby,项目名称:gdx-lml,代码行数:7,代码来源:LmlApplicationListener.java


注:本文中的com.github.czyzby.kiwi.util.gdx.reflection.Reflection.newInstance方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。