Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface Predicate
FilteredRowSet
объекты описать их фильтры.
Predicate
интерфейс является стандартным интерфейсом, который приложения могут реализовать, чтобы определить фильтр, они хотят примениться к a FilteredRowSet
объект. A FilteredRowSet
объект использует реализации этого интерфейса и осуществляет ограничения, определенные в реализации метода evaluate
. A FilteredRowSet
объект осуществляет ограничения фильтра двунаправленным способом: Это выводит только строки, которые являются в пределах ограничений фильтра; и наоборот, это вставляет, изменяет, или обновляет только строки, которые являются в пределах ограничений фильтра. FilteredRowSet
. этот интерфейс должен быть реализован. В это время Реализации RowSet JDBC (JSR-114) не определяют, что любой стандарт фильтрует определения. Определяя стандарт означает и механизм для диапазона фильтров, которые будут определены и развернуты и со ссылкой и с реализациями поставщика FilteredRowSet
интерфейс, это учитывает гибкое и приложение мотивированные реализации Predicate
появиться. Демонстрационная реализация выглядела бы примерно так:
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;
}
}
Пример выше реализует простой предикат диапазона. Отметьте, что реализации должны, но не быть обязанными провайдера String
и целое число индексирует базируемых конструкторов, чтобы предусмотреть приложения Реализации RowSet JDBC, которые используют оба соглашения идентификации столбца.
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
evaluate(Object value, int column)
Этот метод вызывает a
FilteredRowSet возразите, чтобы проверить, находится ли значение между критерием фильтрации (или критерии, если многократные ограничения существуют), набор, используя setFilter() метод. |
boolean |
evaluate(Object value, String columnName)
Этот метод вызывают
FilteredRowSet возразите, чтобы проверить, находится ли значение между набором критериев фильтрации, используя setFilter метод. |
boolean |
evaluate(RowSet rs)
Этот метод обычно вызывают a
FilteredRowSet возразите внутренним методам (не общественность) что управление RowSet курсор объекта, перемещающийся от строки до следующего. |
boolean evaluate(RowSet rs)
FilteredRowSet
возразите внутренним методам (не общественность) что управление RowSet
курсор объекта, перемещающийся от строки до следующего. Кроме того, если этот внутренний метод перейдет курсор на строку, которая была удалена, то внутренний метод будет продолжать к ove курсор, пока допустимая строка не будет найдена.true
если есть больше строк в фильтре; false
иначеboolean evaluate(Object value, int column) throws SQLException
FilteredRowSet
возразите, чтобы проверить, находится ли значение между критерием фильтрации (или критерии, если многократные ограничения существуют), набор, используя setFilter()
метод. FilteredRowSet
объект будет использовать этот метод внутренне, вставляя новые строки в a FilteredRowSet
экземпляр.
value
- Object
значение, которое должно быть проверено, может ли это быть частью этого FilterRowSet
объект.column
- a int
объект, который должен соответствовать индекс SQL столбца в этом RowSet
объект. К этому, должно быть, передали Predicate
как один из столбцов для того, чтобы фильтровать, инициализируя a Predicate
true
значение ifrow находится в пределах фильтра; false
иначеSQLException
- если столбец не является частью фильтрации критериевboolean evaluate(Object value, String columnName) throws SQLException
FilteredRowSet
возразите, чтобы проверить, находится ли значение между набором критериев фильтрации, используя setFilter метод. FilteredRowSet
объект будет использовать этот метод внутренне, вставляя новые строки в a FilteredRowSet
экземпляр.
value
- Object
значение, которое должно быть проверено, может ли это быть частью этого FilterRowSet
.columnName
- a String
объект, который должен соответствовать имя SQL столбца в этом RowSet
, игнорирование регистра. К этому, должно быть, передали Predicate
как один из столбцов для того, чтобы фильтровать, инициализируя a Predicate
true
если значение находится в пределах фильтра; false
иначеSQLException
- если столбец не является частью фильтрации критериев
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.