jdk 1.3.1 환경에서 HttpURLConnection 의 connect/read timeout을 구현하고 있습니다. 기본적으로 별도 쓰레드에서 connect 하고 join(timeout) 하는식으로 할려고 합니다만.
TimeoutConnection은 HttpURLConnection을 extends 하고 Runnable을 implements 하고.. connect(timeout) 메소드를 추가로 만들면 기존 메소드 그대로 수용되므로 깔끔할것 같습니다.
헌데, URL.openConnection 은 http 프로토콜에서 HttpURLConnection 객체를 리턴하므로 이런 방식으로 TimeoutConnection객체를 만들순 없고 URL을 인자로 받는 생성자를 만들고 super(url)로 HttpURLConnection에 넘기는 식으로 하고 있습니다. 물론, TimeoutConnection은 abstract class가 아니라서 바로 인스턴스화 가능하게 하였구요.