/**
* DeSerializes the given dataSource to a collection
*
* @param clazz type of the object
* @param collectionClazz type of the collection
* @param dataSource dataSource like map or fileConfiguration
* @param <T> ype of the object
* @param <E> type of the collection
* @return deSerialized collection
* @throws IllegalAccessException exception
* @throws InstantiationException exception
*/
public static <T extends Collection, E> T deserializeCollection(Class<E> clazz, Class<T> collectionClazz, Object dataSource) throws IllegalAccessException, InstantiationException {
final Map<String, Object> data = getDataFromSource(dataSource);
Class<?> instanceClass = collectionClazz;
if (instanceClass == List.class)
instanceClass = ArrayList.class;
else if (instanceClass == Set.class)
instanceClass = HashSet.class;
final T collection = (T) instanceClass.newInstance();
for (final String key : data.keySet()) {
collection.add(deserializeObject(clazz, ((MemorySection) data.get(key)).getValues(false)));
}
return collection;
}
YamlSerializer.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:BlockBall
作者:
评论列表
文章目录