`
dannyhz
  • 浏览: 366092 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

泛型的自己做的例子

 
阅读更多
引用


CallMan来做调用, 有点模仿jdbcTemplate的模式, 由客户端决定返回的数据格式类型







package com.ssc.dbcttool.generic;

import org.junit.Test;

public class CallMan {

	InterfacePlatform ip = new InterfacePlatform();
	
	@Test
	public void testPlatform(){
		Nail nail = new Fire<HarmBean>();
		HarmBean hb = ip.entryMethod("action", nail);
		System.out.println(hb);
	}
	
}




package com.ssc.dbcttool.generic;

public class InterfacePlatform {
	
	RequiedResource rs;
	
	Tool tool = new Tool();
	
	public void init(){
		tool = new Tool(rs);
	}
	
	public <T> T entryMethod(String action, Nail<T> beanClass){
		
		 tool.actionPrepare(action);
		T b = tool.doAction(beanClass);
		return b;

	}

}




package com.ssc.dbcttool.generic;

public class Tool {
	
	private ThreadLocal<Nail> nail;

	public Tool(){}
	
	public Tool(RequiedResource rs) {
		// TODO Auto-generated constructor stub
	}

	public <T> Tool actionPrepare(String action) {
		return this;
	}

	public <T> T doAction(Nail<T> nail) {
		
		return nail.makeDamageBean("aaa", "bbb");
		
	}

}




package com.ssc.dbcttool.generic;

public interface Nail<T> {
	
	T makeDamageBean(String A , String B);

}



package com.ssc.dbcttool.generic;

public class Fire<T> implements Nail{

	
	@Override
	public T makeDamageBean(String A, String B) {
		
		return null;
	}

	
	
}





package com.ssc.dbcttool.generic;

public class HarmBean {

}



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics