|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface Predicate
모든 FilteredRowSet
객체에 필터를 기술하는 시스템를 제공하는 표준 인터페이스입니다.
FilteredRowSet
객체에 적용하는 필터를 정의하기 위해서 구현할 수 있는 표준 인터페이스입니다. FilteredRowSet
객체는, 이 인터페이스의 구현을 사용해,evaluate
메소드의 구현에 정의된 제약을 시행합니다. FilteredRowSet
객체는, 쌍방향 방식에서 필터의 제약을 시행합니다. 즉, 이 객체는, 필터의 제약내의 행만을 출력해, 필터의 제약내의 행만을 삽입, 변경, 또는 갱신합니다.
FilteredRowSet
의 predicate 를 제공하기 위해서는, 이 인터페이스를 구현할 필요가 있습니다. 현시점에서는, JDBC RowSet 구현 (JSR-114)은 표준 필터의 정의를 지정하고 있습니다. FilteredRowSet
인터페이스의 레퍼런스 구현과 벤더 구현의 양쪽 모두로, 폭넓은 필터를 정의해, 전개하기 위한 표준적인 수단과 구조를 지정하는 것으로써, 유연해 어플리케이션 주도의 프레디케이트 구현의 발전으로 연결됩니다. 샘플 구현은, 다음과 같이 됩니다.
public class Range implements Predicate {
private Object lo[];
private Object hi[];
private int idx[];
public Range(Object[] lo, Object[] hi, int[] idx) {
this.lo = lo;
this.hi = hi;
this.idx = idx;
}
public boolean evaluate(RowSet rs) {
CachedRowSet crs = (CachedRowSet) rs;
boolean bool1, bool2;
// Check the present row determine if it lies
// within the filtering criteria.
for (int i = 0; i < idx.length; i++) {
if ((rs.getObject(idx[i]) >= lo[i]) &&
(rs.getObject(idx[i]) >= hi[i]) {
bool1 = true; // within filter constraints
} else {
bool2 = true; // outside of filter constraints
}
}
if (bool2) {
return false;
} else {
return true;
}
}
상기의 예는, 단순한 범위 프레디케이트를 구현합니다. 구현은, 양쪽 모두의 열식별 규칙을 사용한 JDBC RowSet 구현 어플리케이션에 제공되는 String
및 정수 인덱스 베이스의 생성자 을 제공합니다만, 이것은 필수가 아닙니다.
메소드의 개요 | |
---|---|
boolean |
evaluate (Object value,
int column)
이 메소드는, 값이 setFilter() 메소드를 사용해 설정된 필터링 기준 (복수의 제약이 존재하는 경우는 복수의 기준) 내에 들어가고 있는지 어떤지를 체크하기 위해서,FilteredRowSet 객체에 의해 불려 갑니다. |
boolean |
evaluate (Object value,
String columnName)
이 메소드는, 값이 setFileter 메소드를 사용해 설정된 필터링 기준내에 들어가고 있는지 어떤지를 체크하기 위해서 FilteredRowSet 객체에 의해 불려 갑니다. |
boolean |
evaluate (RowSet rs)
이 메소드는, 일반적으로, RowSet 객체의 커서가 다음의 행에 이동하는 것을 제어하는 FilteredRowSet 객체의 내부 메소드 (비 public)로부터 불려 갑니다. |
메소드의 상세 |
---|
boolean evaluate(RowSet rs)
RowSet
객체의 커서가 다음의 행에 이동하는 것을 제어하는 FilteredRowSet
객체의 내부 메소드 (비 public)로부터 불려 갑니다. 이 내부 메소드가, 커서를 벌써 삭제된 행에 이동했을 경우, 내부 메소드는 유효한 행이 발견될 때까지 커서의 이동을 계속합니다.
true
,
그렇지 않은 경우는 false
boolean evaluate(Object value, int column) throws SQLException
setFilter()
메소드를 사용해 설정된 필터링 기준 (복수의 제약이 존재하는 경우는 복수의 기준) 내에 들어가고 있는지 어떤지를 체크하기 위해서,FilteredRowSet
객체에 의해 불려 갑니다.
FilteredRowSet
객체는,FilteredRowSet
인스턴스에 새로운 행을 삽입할 때, 이 메소드를 내부에서 사용합니다.
value
- 이 FilterRowSet
객체에 추가할 수 있을지 어떨지
체크할 필요가 있는 Object
치column
- 이 RowSet
객체의 열의 SQL 인덱스에
일치할 필요가 있는 int
객체. 이것은,
프레디케이트의 초기화시에, 필터링이기 때문에,
열의 1 개로서 프레디케이트에게 건네져 있을 필요가 있다
true
,
그렇지 않은 경우는 false
SQLException
- 열이 필터링 기준내에 없는 경우boolean evaluate(Object value, String columnName) throws SQLException
FilteredRowSet
객체에 의해 불려 갑니다.
FilteredRowSet
객체는,FilteredRowSet
인스턴스에 새로운 행을 삽입할 때, 이 메소드를 내부에서 사용합니다.
value
- 이 FilterRowSet
에 추가할 수 있을지 어떨지
체크할 필요가 있는 Object
치columnName
- 이 RowSet
의 열의 SQL 명에
일치할 필요가 있는 String
객체. 알파벳의 대문자와 소문자는 구별되지 않는다. 이것은,
프레디케이트의 초기화시에, 필터링이기 때문에,
열의 1 개로서 프레디케이트에게 건네져 있을 필요가 있다
true
, 그렇지 않은 경우는 false
SQLException
- 열이 필터링 기준내에 없는 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.