JavaTM Platform
Standard Ed. 6

java.sql
인터페이스 Wrapper

기존의 서브 인터페이스의 일람:
CachedRowSet , CallableStatement , Connection , DatabaseMetaData , DataSource , FilteredRowSet , JdbcRowSet , JoinRowSet , ParameterMetaData , PreparedStatement , ResultSet , ResultSetMetaData , RowSet , RowSetMetaData , Statement , SyncResolver , WebRowSet
기존의 구현 클래스의 일람:
RowSetMetaDataImpl


public interface Wrapper

위양 인스턴스가 실제는 프록시 클래스일 때 그 인스턴스를 취득할 수 있는, JDBC 클래스의 인터페이스입니다.  

래퍼 패턴은, 많은 JDBC 드라이버 구현에 의해 사용되어 데이터 소스에 특화한 종래의 JDBC API 의 역을 넘은 확장성을 제공합니다. 개발자는, 실제의 자원을 나타내는 프록시 클래스의 인스턴스로서 랩 된 (위양) 이러한 자원에 액세스 하는 것이 필요한 경우가 있습니다. 이 인터페이스는, 프록시로 나타내지는 이러한 랩 된 자원에 액세스 하는 표준의 구조를 기술해, 자원의 위양에 직접 액세스 할 수 있습니다.

도입된 버젼:
1.6

메소드의 개요
 boolean isWrapperFor (Class <? > iface)
          이것이, 지정된 인터페이스를 구현하고 있는 경우나, 그러한 객체의 직접적 또는 간접적인 래퍼인 경우는, true 를 돌려줍니다.
<T> T
unwrap (Class <T> iface)
          표준 이외의 메소드, 또는 프록시에 의해 공개되지 않는 표준 메소드에 액세스 할 수 있도록(듯이) 하기 위해서, 지정된 인터페이스를 구현하고 있는 객체를 돌려줍니다.
 

메소드의 상세

unwrap

<T> T unwrap(Class <T> iface)
         throws SQLException 
표준 이외의 메소드, 또는 프록시에 의해 공개되지 않는 표준 메소드에 액세스 할 수 있도록(듯이) 하기 위해서, 지정된 인터페이스를 구현하고 있는 객체를 돌려줍니다. 리시버가 이 인터페이스를 구현하고 있는 경우, 결과는 리시버, 또는 리시버의 프록시가 됩니다. 리시버가 래퍼이며, 랩 된 객체가 인터페이스를 구현하고 있는 경우, 결과는 랩 된 객체, 또는 그 프록시입니다. 그 이외의 경우는, 랩 된 객체, 또는 그 결과의 프록시에 대해서 unwrap 를 재귀적으로 호출한 결과가 돌려주어집니다. 리시버가 인터페이스를 구현하고 있지 않고, 래퍼도 아닌 경우는,SQLException 가 throw 됩니다.

파라미터:
iface - 결과가 구현하고 있을 필요가 있는 인터페이스를 정의하는 클래스
반환값:
인터페이스를 구현하고 있는 객체. 실제로 구현하고 있는 객체의 프록시가 반환되는 경우도 있다
예외:
SQLException - 인터페이스를 구현하고 있는 객체가 발견되지 않는 경우
도입된 버젼:
1.6

isWrapperFor

boolean isWrapperFor(Class <? > iface)
                     throws SQLException 
이것이, 지정된 인터페이스를 구현하고 있는 경우나, 그러한 객체의 직접적 또는 간접적인 래퍼인 경우는, true 를 돌려줍니다. 그 이외의 경우는 false 가 돌려주어집니다. 이것이 인터페이스를 구현하고 있는 경우는, true 를 돌려줍니다. 혹은, 이것이 래퍼인 경우는, 랩 된 객체에 대해서 isWrapperFor 를 재귀적으로 호출한 결과를 돌려줍니다. 이것이 인터페이스를 구현하고 있지 않고, 래퍼도 아닌 경우는, false 를 돌려줍니다. 이 메소드는 unwrap 의 저비용 처리로서 구현해야할 것으로, 호출측은 이 메소드를 사용하는 것으로써, 실패할 가능성도 있는 고부하의 unwrap 호출을 피할 수가 있습니다. 이 메소드로부터 true 가 반환되는 경우는, 같은 인수를 사용한 unwrap 호출도 성공하고는 입니다.

파라미터:
iface - 인터페이스를 정의하는 클래스
반환값:
이것이 인터페이스를 구현하고 있는 경우, 또는 그러한 객체의 직접적 또는 간접적인 래퍼인 경우는, true
예외:
SQLException - 이것이 지정된 인터페이스를 가지는 객체의 래퍼인가 어떤가를 판정할 때에 에러가 발생했을 경우
도입된 버젼:
1.6

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.