[#1976] Add FieldProvider.getIndex(String)
This commit is contained in:
parent
ba9db424ff
commit
7f45eb66f5
@ -80,7 +80,7 @@ public interface FieldProvider {
|
||||
List<Field<?>> getFields();
|
||||
|
||||
/**
|
||||
* Get a fields index from this field provider
|
||||
* Get a field's index from this field provider
|
||||
*
|
||||
* @param field The field to look for
|
||||
* @return The field's index
|
||||
@ -88,4 +88,14 @@ public interface FieldProvider {
|
||||
* provider.
|
||||
*/
|
||||
int getIndex(Field<?> field) throws IllegalArgumentException;
|
||||
|
||||
/**
|
||||
* Get a field's index from this field provider
|
||||
*
|
||||
* @param fieldName The field name to look for
|
||||
* @return The field's index
|
||||
* @throws IllegalArgumentException if the field is not contained in this
|
||||
* provider.
|
||||
*/
|
||||
int getIndex(String fieldName) throws IllegalArgumentException;
|
||||
}
|
||||
|
||||
@ -408,4 +408,9 @@ abstract class AbstractDelegatingSelect<R extends Record>
|
||||
public final int getIndex(Field<?> field) {
|
||||
return getDelegate().asTable().getIndex(field);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int getIndex(String fieldName) {
|
||||
return getDelegate().asTable().getIndex(fieldName);
|
||||
}
|
||||
}
|
||||
|
||||
@ -77,10 +77,15 @@ abstract class AbstractFieldProviderQueryPart<R extends Record> extends Abstract
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int getIndex(Field<?> field) throws IllegalArgumentException {
|
||||
public final int getIndex(Field<?> field) {
|
||||
return getFieldList().getIndex(field);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int getIndex(String fieldName) {
|
||||
return getFieldList().getIndex(fieldName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Subclasses should override this method to provide the set of fields
|
||||
* contained in the concrete table implementation. For example, a
|
||||
|
||||
@ -145,6 +145,11 @@ abstract class AbstractRecord extends AbstractStore implements Record {
|
||||
return fields.getIndex(field);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIndex(String fieldName) {
|
||||
return fields.getIndex(fieldName);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// XXX: Record API
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
@ -115,10 +115,15 @@ abstract class AbstractSelect<R extends Record> extends AbstractResultQuery<R> i
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int getIndex(Field<?> field) throws IllegalArgumentException {
|
||||
public final int getIndex(Field<?> field) {
|
||||
return asTable().getIndex(field);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIndex(String fieldName) {
|
||||
return asTable().getIndex(fieldName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Table<R> asTable() {
|
||||
// Its usually better to alias nested selects that are used in
|
||||
|
||||
@ -120,10 +120,15 @@ class CursorImpl<R extends Record> implements Cursor<R> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int getIndex(Field<?> field) throws IllegalArgumentException {
|
||||
public final int getIndex(Field<?> field) {
|
||||
return fields.getIndex(field);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int getIndex(String fieldName) {
|
||||
return fields.getIndex(fieldName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Iterator<R> iterator() {
|
||||
if (iterator == null) {
|
||||
|
||||
@ -120,7 +120,7 @@ class FieldList extends QueryPartList<Field<?>> implements FieldProvider {
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int getIndex(Field<?> field) throws IllegalArgumentException {
|
||||
public final int getIndex(Field<?> field) {
|
||||
if (indexes == null) {
|
||||
indexes = new LinkedHashMap<Field<?>, Integer>();
|
||||
|
||||
@ -141,4 +141,9 @@ class FieldList extends QueryPartList<Field<?>> implements FieldProvider {
|
||||
|
||||
throw new IllegalArgumentException("Field " + field + " is not contained in list");
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int getIndex(String fieldName) {
|
||||
return getIndex(getField(fieldName));
|
||||
}
|
||||
}
|
||||
|
||||
@ -148,6 +148,11 @@ class MetaDataFieldProvider implements FieldProvider, Serializable {
|
||||
return fields.getIndex(field);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int getIndex(String fieldName) throws IllegalArgumentException {
|
||||
return fields.getIndex(fieldName);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// The Object API
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
@ -148,6 +148,11 @@ class ResultImpl<R extends Record> implements Result<R>, AttachableInternal {
|
||||
return fields.getIndex(field);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int getIndex(String fieldName) {
|
||||
return fields.getIndex(fieldName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean isEmpty() {
|
||||
return records.isEmpty();
|
||||
@ -1071,7 +1076,7 @@ class ResultImpl<R extends Record> implements Result<R>, AttachableInternal {
|
||||
|
||||
@Override
|
||||
public final Result<R> sortAsc(String fieldName, Comparator<?> comparator) {
|
||||
return sortAsc(getIndex(getField(fieldName)), comparator);
|
||||
return sortAsc(getIndex(fieldName), comparator);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
Reference in New Issue
Block a user