/** * INTERNAL: * Retrieve the value for the field. If missing DatabaseRow.noEntry is returned. */ public Object getIndicatingNoEntry(DatabaseField key) { // PERF: Direct variable access. // Optimize check. int index = key.getIndex(); if ((index >= 0) && (index < this.fields.size())) { DatabaseField field = (DatabaseField)this.fields.elementAt(index); if ((field == key) || field.equals(key)) { return this.values.elementAt(index); } } index = this.fields.indexOf(key); if (index >= 0) { // PERF: If the fields index was not set, then set it. if (key.getIndex() == -1) { key.setIndex(index); } return this.values.elementAt(index); } else { return oracle.toplink.essentials.internal.sessions.AbstractRecord.noEntry; } }
/** * INTERNAL: * Check if the field is contained in the row. */ public boolean containsKey(DatabaseField key) { // Optimize check. int index = key.getIndex(); if ((index >= 0) && (index < getFields().size())) { DatabaseField field = (DatabaseField)getFields().elementAt(index); if ((field == key) || field.equals(key)) { return true; } } return getFields().contains(key); }
/** * INTERNAL: * Returns the row's field with the same name. */ public DatabaseField getField(DatabaseField key) { // Optimize check. int index = key.getIndex(); if ((index >= 0) && (index < getFields().size())) { DatabaseField field = (DatabaseField)getFields().elementAt(index); if ((field == key) || field.equals(key)) { return field; } } for (index = 0; index < getFields().size(); index++) { DatabaseField field = (DatabaseField)getFields().elementAt(index); if ((field == key) || field.equals(key)) { return field; } } return null; }