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


Java ClassUtil.newInstance方法代码示例

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


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

示例1: getSimpleProperty

import org.seasar.framework.util.ClassUtil; //导入方法依赖的package包/类
/**
 * 単純なプロパティの値を返します。
 * 
 * @param bean
 *            JavaBeans
 * @param name
 *            プロパティ名
 * @return プロパティの値
 */
protected Object getSimpleProperty(Object bean, String name) {
    BeanDesc beanDesc = BeanDescFactory.getBeanDesc(bean.getClass());
    if (!beanDesc.hasPropertyDesc(name)) {
        return null;
    }
    PropertyDesc pd = beanDesc.getPropertyDesc(name);
    if (!pd.isReadable()) {
        return null;
    }
    Object value = pd.getValue(bean);
    if (value == null) {
        if (!ModifierUtil.isAbstract(pd.getPropertyType())) {
            value = ClassUtil.newInstance(pd.getPropertyType());
            if (pd.isWritable()) {
                pd.setValue(bean, value);
            }
        } else if (Map.class.isAssignableFrom(pd.getPropertyType())) {
            value = new HashMap<String, Object>();
            if (pd.isWritable()) {
                pd.setValue(bean, value);
            }
        }
    }
    return value;
}
 
开发者ID:seasarorg,项目名称:sa-struts,代码行数:35,代码来源:S2RequestProcessor.java

示例2: getDbms

import org.seasar.framework.util.ClassUtil; //导入方法依赖的package包/类
public static Dbms getDbms(String productName) {
    Dbms dbms = (Dbms) dbmsInstances.get(productName);
    if (dbms == null) {
        String className = dbmsClassNames.getProperty("");
        for (Iterator i = dbmsClassNames.keySet().iterator(); i.hasNext();) {
            String productPrefix = (String) i.next();
            if (productName.startsWith(productPrefix)) {
                className = dbmsClassNames.getProperty(productPrefix);
                break;
            }
        }
        dbms = (Dbms) ClassUtil.newInstance(className);
        dbmsInstances.put(productName, dbms);
    }
    return dbms;

}
 
开发者ID:seasarorg,项目名称:s2dao,代码行数:18,代码来源:DbmsManager.java

示例3: setSimpleProperty

import org.seasar.framework.util.ClassUtil; //导入方法依赖的package包/类
/**
 * 単純なプロパティの値を設定します。
 * 
 * @param bean
 *            JavaBeans
 * @param name
 *            パラメータ名
 * @param value
 *            パラメータの値
 * @throws ServletException
 *             何か例外が発生した場合。
 */
@SuppressWarnings("unchecked")
protected void setSimpleProperty(Object bean, String name, Object value) {
    if (bean instanceof Map) {
        setMapProperty((Map) bean, name, value);
        return;
    }
    BeanDesc beanDesc = BeanDescFactory.getBeanDesc(bean.getClass());
    if (!beanDesc.hasPropertyDesc(name)) {
        return;
    }
    PropertyDesc pd = beanDesc.getPropertyDesc(name);
    if (!pd.isWritable()) {
        return;
    }
    if (pd.getPropertyType().isArray()) {
        pd.setValue(bean, value);
    } else if (List.class.isAssignableFrom(pd.getPropertyType())) {
        List<String> list = ModifierUtil.isAbstract(pd.getPropertyType()) ? new ArrayList<String>()
                : (List<String>) ClassUtil
                        .newInstance(pd.getPropertyType());
        list.addAll(Arrays.asList((String[]) value));
        pd.setValue(bean, list);
    } else if (value == null) {
        pd.setValue(bean, null);
    } else if (value instanceof String[]) {
        String[] values = (String[]) value;
        pd.setValue(bean, values.length > 0 ? values[0] : null);
    } else {
        pd.setValue(bean, value);
    }
}
 
开发者ID:seasarorg,项目名称:sa-struts,代码行数:44,代码来源:S2RequestProcessor.java

示例4: getArrayValue

import org.seasar.framework.util.ClassUtil; //导入方法依赖的package包/类
/**
 * 配列の値を返します。
 * 
 * @param array
 *            配列
 * @param indexes
 *            インデックスの配列
 * @param elementType
 *            配列の要素の型
 * @return 配列の値
 */
protected Object getArrayValue(Object array, int[] indexes,
        Class<?> elementType) {
    Object value = array;
    elementType = convertClass(elementType);
    for (int i = 0; i < indexes.length; i++) {
        Object value2 = Array.get(value, indexes[i]);
        if (i == indexes.length - 1 && value2 == null) {
            value2 = ClassUtil.newInstance(elementType);
            Array.set(value, indexes[i], value2);
        }
        value = value2;
    }
    return value;
}
 
开发者ID:seasarorg,项目名称:sa-struts,代码行数:26,代码来源:S2RequestProcessor.java

示例5: getPagerCondition

import org.seasar.framework.util.ClassUtil; //导入方法依赖的package包/类
/**
 * セッション中の検索条件オブジェクトを取得します。
 * <p>
 * 検索条件オブジェクトが存在しない場合、新規に検索条件オブジェクトを生成します。
 * 
 * @param request
 *            HttpServletRequest
 * @return 検索条件オブジェクト
 */
public PagerCondition getPagerCondition(HttpServletRequest request) {
    PagerCondition dto = (PagerCondition) request.getSession()
            .getAttribute(pagerConditionName);
    if (dto == null) {
        dto = (PagerCondition) ClassUtil.newInstance(pagerConditionClass);
        dto.setLimit(limit);
        request.getSession().setAttribute(pagerConditionName, dto);
    }
    return dto;
}
 
开发者ID:seasarorg,项目名称:s2dao,代码行数:20,代码来源:PagerSupport.java

示例6: init

import org.seasar.framework.util.ClassUtil; //导入方法依赖的package包/类
public void init() {
    Class clazz = ResultSetHandlerFactoryImpl.class;
    try {
        clazz = ClassUtil.forName(TIGER_RESULT_SET_HANDLER_FACTORY);
    } catch (ClassNotFoundRuntimeException ignore) {
    }
    ResultSetHandlerFactoryImpl factory = (ResultSetHandlerFactoryImpl) ClassUtil
            .newInstance(clazz);
    factory.setDtoMetaDataFactory(dtoMetaDataFactory);
    factory.setRestrictNotSingleResult(restrictNotSingleResult);
    resultSetHandlerFactory = factory;
}
 
开发者ID:seasarorg,项目名称:s2dao,代码行数:13,代码来源:ResultSetHandlerFactorySelector.java

示例7: AnnotationReaderFactoryImpl

import org.seasar.framework.util.ClassUtil; //导入方法依赖的package包/类
public AnnotationReaderFactoryImpl() {
    Class clazz = FieldAnnotationReaderFactory.class;
    try {
        clazz = ClassUtil.forName(TIGER_ANNOTATION_READER_FACTORY);
    } catch (ClassNotFoundRuntimeException ignore1) {
        try {
            clazz = ClassUtil
                    .forName(BACKPORT175_ANNOTATION_READER_FACTORY);
        } catch (ClassNotFoundRuntimeException ignore2) {
        }
    }
    annotationReaderFactory = (AnnotationReaderFactory) ClassUtil
            .newInstance(clazz);
}
 
开发者ID:seasarorg,项目名称:s2dao,代码行数:15,代码来源:AnnotationReaderFactoryImpl.java

示例8: newRelationRow

import org.seasar.framework.util.ClassUtil; //导入方法依赖的package包/类
protected Object newRelationRow(RelationPropertyType rpt) {
    return ClassUtil.newInstance(rpt.getPropertyDesc().getPropertyType());
}
 
开发者ID:seasarorg,项目名称:s2dao,代码行数:4,代码来源:RelationRowCreatorImpl.java

示例9: newBean

import org.seasar.framework.util.ClassUtil; //导入方法依赖的package包/类
protected Object newBean(Class beanClass) {
    return ClassUtil.newInstance(beanClass);
}
 
开发者ID:seasarorg,项目名称:s2dao,代码行数:4,代码来源:RowCreatorImpl.java


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