本文整理汇总了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;
}
示例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;
}
示例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);
}
}
示例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;
}
示例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;
}
示例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;
}
示例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);
}
示例8: newRelationRow
import org.seasar.framework.util.ClassUtil; //导入方法依赖的package包/类
protected Object newRelationRow(RelationPropertyType rpt) {
return ClassUtil.newInstance(rpt.getPropertyDesc().getPropertyType());
}
示例9: newBean
import org.seasar.framework.util.ClassUtil; //导入方法依赖的package包/类
protected Object newBean(Class beanClass) {
return ClassUtil.newInstance(beanClass);
}