|
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 Predicatetrue значение 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 Predicatetrue если значение находится в пределах фильтра; false иначеSQLException - если столбец не является частью фильтрации критериев
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92