All Downloads are FREE. Search and download functionalities are using the official Maven repository.

pro.jk.ejoker.common.service.IFrizzleUp Maven / Gradle / Ivy

There is a newer version: 3.0.7.1
Show newest version
package pro.jk.ejoker.common.service;

import pro.jk.ejoker.common.utils.genericity.TypeRefer;

/**
 * 把对象的属性暴露出来,剔除所有方法,并按目标类型重组、序列化
 * @author kimffy
 *
 */
public interface IFrizzleUp {

	public  R convert(Object object, TypeRefer tr);
	
	public  RC converCollection(Object object, TypeRefer tr);
	
	public  T revert(R json, TypeRefer tr);
	
	@SuppressWarnings("unchecked")
	default public  T revert(R json, Class clazz) {
		TypeRefer trMock = new TypeRefer(){{
					this.type = clazz;
				}};
		return revert(json, (TypeRefer )trMock);
	}

	/**
	 * 适用于声明就不带泛型的情况
	 */
	default public R convert(Object object) {
		TypeRefer trMock = new TypeRefer(){{
			this.type = object.getClass();
		}};
		return convert(object, trMock);
	}
}