|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.openjpa.jdbc.sql.AbstractResult
public abstract class AbstractResult
A Result
implementation designed to be subclassed easily by
implementations. All get<type>
calls are delegated to
the getObjectInternal(Object,int,Object,Joins)
method, which
should be implemented by subclasses along with nextInternal()
,
containsInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)
, and Result.size()
.
Most of the methods of this class will accept return values from
getObjectInternal(Object,int,Object,Joins)
that are not exactly
the right type. For example, any numeric type can be returned as any
Number
type, and dates, locales, characters, and booleans can be
returned as strings.
ResultSetResult
Constructor Summary | |
---|---|
AbstractResult()
|
Method Summary | |
---|---|
boolean |
absolute(int row)
Move to the given 0-based row in the result, or return false if the row does not exist. |
protected boolean |
absoluteInternal(int row)
Throws an exception by default. |
protected Object |
checkNull(Object val)
|
void |
close()
Closes all eager results. |
protected void |
closeEagerMap(Map eager)
Close all results in eager map. |
boolean |
contains(Column col,
Joins joins)
Return true if the given column is available in the result. |
boolean |
contains(Object obj)
Return true if the given id or column is available in the result. |
boolean |
containsAll(Column[] cols,
Joins joins)
Return true if all the given columns are available in the result. |
boolean |
containsAll(Object[] objs)
Return true if all the given ids or columns are available in the result. |
protected boolean |
containsAllInternal(Object[] objs,
Joins joins)
Return whether this result contains data for all the given ids or columns. |
protected abstract boolean |
containsInternal(Object obj,
Joins joins)
Return whether this result contains data for the given id or column. |
void |
endDataRequest()
Ends a data request. |
Array |
getArray(Column col,
Joins joins)
Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set. |
Array |
getArray(Object obj)
Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set. |
protected Array |
getArrayInternal(Object obj,
Joins joins)
|
InputStream |
getAsciiStream(Column col,
Joins joins)
Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set. |
InputStream |
getAsciiStream(Object obj)
Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set. |
protected InputStream |
getAsciiStreamInternal(Object obj,
Joins joins)
|
ClassMapping |
getBaseMapping()
If this is the result of a UNION used to select a hierarchy of mappings, the base mapping represented by the current row. |
BigDecimal |
getBigDecimal(Column col,
Joins joins)
Return the value stored in the given column. |
BigDecimal |
getBigDecimal(Object obj)
Return the value stored in the given column or id. |
protected BigDecimal |
getBigDecimalInternal(Object obj,
Joins joins)
|
BigInteger |
getBigInteger(Column col,
Joins joins)
Return the value stored in the given column. |
BigInteger |
getBigInteger(Object obj)
Return the value stored in the given column or id. |
protected BigInteger |
getBigIntegerInternal(Object obj,
Joins joins)
|
InputStream |
getBinaryStream(Column col,
Joins joins)
Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set. |
InputStream |
getBinaryStream(Object obj)
Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set. |
protected InputStream |
getBinaryStreamInternal(Object obj,
Joins joins)
|
Blob |
getBlob(Column col,
Joins joins)
Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set. |
Blob |
getBlob(Object obj)
Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set. |
protected Blob |
getBlobInternal(Object obj,
Joins joins)
|
boolean |
getBoolean(Column col,
Joins joins)
Return the value stored in the given column. |
boolean |
getBoolean(Object obj)
Return the value stored in the given column or id. |
protected boolean |
getBooleanInternal(Object obj,
Joins joins)
|
byte |
getByte(Column col,
Joins joins)
Return the value stored in the given column. |
byte |
getByte(Object obj)
Return the value stored in the given column or id. |
protected byte |
getByteInternal(Object obj,
Joins joins)
|
byte[] |
getBytes(Column col,
Joins joins)
Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set. |
byte[] |
getBytes(Object obj)
Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set. |
protected byte[] |
getBytesInternal(Object obj,
Joins joins)
|
Calendar |
getCalendar(Column col,
Joins joins)
Return the value stored in the given column. |
Calendar |
getCalendar(Object obj)
Return the value stored in the given column or id. |
protected Calendar |
getCalendarInternal(Object obj,
Joins joins)
|
char |
getChar(Column col,
Joins joins)
Return the value stored in the given column. |
char |
getChar(Object obj)
Return the value stored in the given column or id. |
Reader |
getCharacterStream(Column col,
Joins joins)
Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set. |
Reader |
getCharacterStream(Object obj)
Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set. |
protected Reader |
getCharacterStreamInternal(Object obj,
Joins joins)
|
protected char |
getCharInternal(Object obj,
Joins joins)
|
Clob |
getClob(Column col,
Joins joins)
Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set. |
Clob |
getClob(Object obj)
Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set. |
protected Clob |
getClobInternal(Object obj,
Joins joins)
|
Date |
getDate(Column col,
Calendar cal,
Joins joins)
Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set. |
Date |
getDate(Column col,
Joins joins)
Return the value stored in the given column. |
Date |
getDate(Object obj)
Return the value stored in the given column or id. |
Date |
getDate(Object obj,
Calendar cal)
Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set. |
protected Date |
getDateInternal(Object obj,
Calendar cal,
Joins joins)
|
protected Date |
getDateInternal(Object obj,
Joins joins)
|
double |
getDouble(Column col,
Joins joins)
Return the value stored in the given column. |
double |
getDouble(Object obj)
Return the value stored in the given column or id. |
protected double |
getDoubleInternal(Object obj,
Joins joins)
|
Object |
getEager(FieldMapping key)
The eager result for the given key, or null if none. |
protected Map |
getEagerMap(boolean client)
Raw eager information. |
float |
getFloat(Column col,
Joins joins)
Return the value stored in the given column. |
float |
getFloat(Object obj)
Return the value stored in the given column or id. |
protected float |
getFloatInternal(Object obj,
Joins joins)
|
int |
getInt(Column col,
Joins joins)
Return the value stored in the given column. |
int |
getInt(Object obj)
Return the value stored in the given column or id. |
protected int |
getIntInternal(Object obj,
Joins joins)
|
InputStream |
getLOBStream(JDBCStore store,
Object obj)
|
protected InputStream |
getLOBStreamInternal(JDBCStore store,
Object obj,
Joins joins)
|
Locale |
getLocale(Column col,
Joins joins)
Return the value stored in the given column. |
Locale |
getLocale(Object obj)
Return the value stored in the given column or id. |
protected Locale |
getLocaleInternal(Object obj,
Joins joins)
|
long |
getLong(Column col,
Joins joins)
Return the value stored in the given column. |
long |
getLong(Object obj)
Return the value stored in the given column or id. |
protected long |
getLongInternal(Object obj,
Joins joins)
|
Number |
getNumber(Column col,
Joins joins)
Return the value stored in the given column. |
Number |
getNumber(Object obj)
Return the value stored in the given column or id. |
protected Number |
getNumberInternal(Object obj,
Joins joins)
|
Object |
getObject(Column col,
Object arg,
Joins joins)
Return the value stored in the given column. |
Object |
getObject(Object obj,
int metaType,
Object arg)
Return the value stored in the given column or id. |
protected abstract Object |
getObjectInternal(Object obj,
int metaType,
Object arg,
Joins joins)
Return the value stored in the given id or column. |
Ref |
getRef(Column col,
Map map,
Joins joins)
Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set. |
Ref |
getRef(Object obj,
Map map)
Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set. |
protected Ref |
getRefInternal(Object obj,
Map map,
Joins joins)
|
short |
getShort(Column col,
Joins joins)
Return the value stored in the given column. |
short |
getShort(Object obj)
Return the value stored in the given column or id. |
protected short |
getShortInternal(Object obj,
Joins joins)
|
Object |
getSQLObject(Column col,
Map map,
Joins joins)
Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set. |
Object |
getSQLObject(Object obj,
Map map)
Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set. |
protected Object |
getSQLObjectInternal(Object obj,
Map map,
Joins joins)
|
protected abstract Object |
getStreamInternal(JDBCStore store,
Object obj,
int metaType,
Object arg,
Joins joins)
|
String |
getString(Column col,
Joins joins)
Return the value stored in the given column. |
String |
getString(Object obj)
Return the value stored in the given column or id. |
protected String |
getStringInternal(Object obj,
Joins joins)
|
Time |
getTime(Column col,
Calendar cal,
Joins joins)
Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set. |
Time |
getTime(Object obj,
Calendar cal)
Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set. |
protected Time |
getTimeInternal(Object obj,
Calendar cal,
Joins joins)
|
Timestamp |
getTimestamp(Column col,
Calendar cal,
Joins joins)
Return the value stored in the given column; may not be supported by results that are not backed by a SQL result set. |
Timestamp |
getTimestamp(Object obj,
Calendar cal)
Return the value stored in the given column or id; may not be supported by results that are not backed by a SQL result set. |
protected Timestamp |
getTimestampInternal(Object obj,
Calendar cal,
Joins joins)
|
int |
indexOf()
The index of the select within the UNION that the current row corresponds to, or 0. |
boolean |
isLocking()
If true, then any results loaded from this Result will be locked in the database. |
Object |
load(ClassMapping mapping,
JDBCStore store,
JDBCFetchConfiguration fetch)
Load a pc object using the given store manager. |
Object |
load(ClassMapping mapping,
JDBCStore store,
JDBCFetchConfiguration fetch,
Joins joins)
Load a pc object using the given store manager. |
Joins |
newJoins()
Returns a no-op joins object by default. |
boolean |
next()
Advance to the next row, or return false if there are no more rows in the result. |
protected abstract boolean |
nextInternal()
Advance this row. |
void |
pushBack()
Push back the last result. |
void |
putEager(FieldMapping key,
Object res)
The eager result for the given key, or null if none. |
void |
setBaseMapping(ClassMapping base)
If this is the result of a UNION used to select a hierarchy of mappings, the base mapping represented by the current row. |
protected void |
setEagerMap(Map eager)
Raw eager information. |
void |
setIndexOf(int idx)
|
void |
setLocking(boolean locking)
|
void |
startDataRequest(Object mapping)
Informs this receiver about the application element for which a subsequent data request will be made. |
boolean |
supportsRandomAccess()
Returns false by default. |
protected Object |
translate(Object obj,
Joins joins)
Translate the user-given id or column. |
boolean |
wasNull()
Return true if the last value fetched was null. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.openjpa.jdbc.sql.Result |
---|
size |
Constructor Detail |
---|
public AbstractResult()
Method Detail |
---|
public Object getEager(FieldMapping key)
Result
getEager
in interface Result
public void putEager(FieldMapping key, Object res)
Result
putEager
in interface Result
protected Map getEagerMap(boolean client)
client
- whether the client is accessing eager informationprotected void setEagerMap(Map eager)
public void close()
close
in interface Result
close
in interface Closeable
protected void closeEagerMap(Map eager)
public boolean supportsRandomAccess() throws SQLException
supportsRandomAccess
in interface Result
SQLException
public boolean absolute(int row) throws SQLException
Result
absolute
in interface Result
SQLException
protected boolean absoluteInternal(int row) throws SQLException
SQLException
public boolean next() throws SQLException
Result
next
in interface Result
SQLException
protected abstract boolean nextInternal() throws SQLException
SQLException
public void pushBack() throws SQLException
Result
Result.next()
. After the first time this method is called,
additional calls before a call to Result.next()
or Result.absolute(int)
should have no further affect.
pushBack
in interface Result
SQLException
public Joins newJoins()
newJoins
in interface Result
public boolean contains(Object obj) throws SQLException
Result
contains
in interface Result
SQLException
public boolean containsAll(Object[] objs) throws SQLException
Result
containsAll
in interface Result
SQLException
public boolean contains(Column col, Joins joins) throws SQLException
Result
contains
in interface Result
SQLException
public boolean containsAll(Column[] cols, Joins joins) throws SQLException
Result
containsAll
in interface Result
SQLException
protected abstract boolean containsInternal(Object obj, Joins joins) throws SQLException
translate(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)
.
SQLException
protected boolean containsAllInternal(Object[] objs, Joins joins) throws SQLException
translate(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)
. Delegates to containsInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins)
by default.
SQLException
public ClassMapping getBaseMapping()
Result
getBaseMapping
in interface Result
public void setBaseMapping(ClassMapping base)
Result
setBaseMapping
in interface Result
public int indexOf()
Result
indexOf
in interface Result
public void setIndexOf(int idx)
public Object load(ClassMapping mapping, JDBCStore store, JDBCFetchConfiguration fetch) throws SQLException
Result
load
in interface Result
SQLException
public Object load(ClassMapping mapping, JDBCStore store, JDBCFetchConfiguration fetch, Joins joins) throws SQLException
Result
load
in interface Result
SQLException
public Array getArray(Object obj) throws SQLException
Result
getArray
in interface Result
SQLException
public Array getArray(Column col, Joins joins) throws SQLException
Result
getArray
in interface Result
SQLException
protected Array getArrayInternal(Object obj, Joins joins) throws SQLException
SQLException
public InputStream getAsciiStream(Object obj) throws SQLException
Result
getAsciiStream
in interface Result
SQLException
public InputStream getAsciiStream(Column col, Joins joins) throws SQLException
Result
getAsciiStream
in interface Result
SQLException
protected InputStream getAsciiStreamInternal(Object obj, Joins joins) throws SQLException
SQLException
public BigDecimal getBigDecimal(Object obj) throws SQLException
Result
getBigDecimal
in interface Result
SQLException
public BigDecimal getBigDecimal(Column col, Joins joins) throws SQLException
Result
getBigDecimal
in interface Result
SQLException
protected BigDecimal getBigDecimalInternal(Object obj, Joins joins) throws SQLException
SQLException
public BigInteger getBigInteger(Object obj) throws SQLException
Result
getBigInteger
in interface Result
SQLException
public BigInteger getBigInteger(Column col, Joins joins) throws SQLException
Result
getBigInteger
in interface Result
SQLException
protected BigInteger getBigIntegerInternal(Object obj, Joins joins) throws SQLException
SQLException
public InputStream getBinaryStream(Object obj) throws SQLException
Result
getBinaryStream
in interface Result
SQLException
public InputStream getBinaryStream(Column col, Joins joins) throws SQLException
Result
getBinaryStream
in interface Result
SQLException
public InputStream getLOBStream(JDBCStore store, Object obj) throws SQLException
getLOBStream
in interface Result
SQLException
protected InputStream getBinaryStreamInternal(Object obj, Joins joins) throws SQLException
SQLException
protected InputStream getLOBStreamInternal(JDBCStore store, Object obj, Joins joins) throws SQLException
SQLException
public Blob getBlob(Object obj) throws SQLException
Result
getBlob
in interface Result
SQLException
public Blob getBlob(Column col, Joins joins) throws SQLException
Result
getBlob
in interface Result
SQLException
protected Blob getBlobInternal(Object obj, Joins joins) throws SQLException
SQLException
public boolean getBoolean(Object obj) throws SQLException
Result
getBoolean
in interface Result
SQLException
public boolean getBoolean(Column col, Joins joins) throws SQLException
Result
getBoolean
in interface Result
SQLException
protected boolean getBooleanInternal(Object obj, Joins joins) throws SQLException
SQLException
public byte getByte(Object obj) throws SQLException
Result
getByte
in interface Result
SQLException
public byte getByte(Column col, Joins joins) throws SQLException
Result
getByte
in interface Result
SQLException
protected byte getByteInternal(Object obj, Joins joins) throws SQLException
SQLException
public byte[] getBytes(Object obj) throws SQLException
Result
getBytes
in interface Result
SQLException
public byte[] getBytes(Column col, Joins joins) throws SQLException
Result
getBytes
in interface Result
SQLException
protected byte[] getBytesInternal(Object obj, Joins joins) throws SQLException
SQLException
public Calendar getCalendar(Object obj) throws SQLException
Result
getCalendar
in interface Result
SQLException
public Calendar getCalendar(Column col, Joins joins) throws SQLException
Result
getCalendar
in interface Result
SQLException
protected Calendar getCalendarInternal(Object obj, Joins joins) throws SQLException
SQLException
public char getChar(Object obj) throws SQLException
Result
getChar
in interface Result
SQLException
public char getChar(Column col, Joins joins) throws SQLException
Result
getChar
in interface Result
SQLException
protected char getCharInternal(Object obj, Joins joins) throws SQLException
SQLException
public Reader getCharacterStream(Object obj) throws SQLException
Result
getCharacterStream
in interface Result
SQLException
public Reader getCharacterStream(Column col, Joins joins) throws SQLException
Result
getCharacterStream
in interface Result
SQLException
protected Reader getCharacterStreamInternal(Object obj, Joins joins) throws SQLException
SQLException
public Clob getClob(Object obj) throws SQLException
Result
getClob
in interface Result
SQLException
public Clob getClob(Column col, Joins joins) throws SQLException
Result
getClob
in interface Result
SQLException
protected Clob getClobInternal(Object obj, Joins joins) throws SQLException
SQLException
public Date getDate(Object obj) throws SQLException
Result
getDate
in interface Result
SQLException
public Date getDate(Column col, Joins joins) throws SQLException
Result
getDate
in interface Result
SQLException
protected Date getDateInternal(Object obj, Joins joins) throws SQLException
SQLException
public Date getDate(Object obj, Calendar cal) throws SQLException
Result
getDate
in interface Result
SQLException
public Date getDate(Column col, Calendar cal, Joins joins) throws SQLException
Result
getDate
in interface Result
SQLException
protected Date getDateInternal(Object obj, Calendar cal, Joins joins) throws SQLException
SQLException
public double getDouble(Object obj) throws SQLException
Result
getDouble
in interface Result
SQLException
public double getDouble(Column col, Joins joins) throws SQLException
Result
getDouble
in interface Result
SQLException
protected double getDoubleInternal(Object obj, Joins joins) throws SQLException
SQLException
public float getFloat(Object obj) throws SQLException
Result
getFloat
in interface Result
SQLException
public float getFloat(Column col, Joins joins) throws SQLException
Result
getFloat
in interface Result
SQLException
protected float getFloatInternal(Object obj, Joins joins) throws SQLException
SQLException
public int getInt(Object obj) throws SQLException
Result
getInt
in interface Result
SQLException
public int getInt(Column col, Joins joins) throws SQLException
Result
getInt
in interface Result
SQLException
protected int getIntInternal(Object obj, Joins joins) throws SQLException
SQLException
public Locale getLocale(Object obj) throws SQLException
Result
getLocale
in interface Result
SQLException
public Locale getLocale(Column col, Joins joins) throws SQLException
Result
getLocale
in interface Result
SQLException
protected Locale getLocaleInternal(Object obj, Joins joins) throws SQLException
SQLException
public long getLong(Object obj) throws SQLException
Result
getLong
in interface Result
SQLException
public long getLong(Column col, Joins joins) throws SQLException
Result
getLong
in interface Result
SQLException
protected long getLongInternal(Object obj, Joins joins) throws SQLException
SQLException
public Number getNumber(Object obj) throws SQLException
Result
getNumber
in interface Result
SQLException
public Number getNumber(Column col, Joins joins) throws SQLException
Result
getNumber
in interface Result
SQLException
protected Number getNumberInternal(Object obj, Joins joins) throws SQLException
SQLException
public Object getObject(Object obj, int metaType, Object arg) throws SQLException
Result
getObject
in interface Result
obj
- the column or id whose data to fetchmetaType
- the type code from JavaTypes
or
JavaSQLTypes
for the type of the data; if
obj
is a column, you may specify -1
to use the column's recorded java typearg
- some JDBC data access methods use an argument, such
as a Calendar
or Map
SQLException
public Object getObject(Column col, Object arg, Joins joins) throws SQLException
Result
getObject
in interface Result
col
- the column whose data to fetcharg
- some JDBC data access methods use an argument, such
as a Calendar
or Map
SQLException
protected abstract Object getObjectInternal(Object obj, int metaType, Object arg, Joins joins) throws SQLException
SQLException
protected abstract Object getStreamInternal(JDBCStore store, Object obj, int metaType, Object arg, Joins joins) throws SQLException
SQLException
public Object getSQLObject(Object obj, Map map) throws SQLException
Result
getSQLObject
in interface Result
SQLException
public Object getSQLObject(Column col, Map map, Joins joins) throws SQLException
Result
getSQLObject
in interface Result
SQLException
protected Object getSQLObjectInternal(Object obj, Map map, Joins joins) throws SQLException
SQLException
public Ref getRef(Object obj, Map map) throws SQLException
Result
getRef
in interface Result
SQLException
public Ref getRef(Column col, Map map, Joins joins) throws SQLException
Result
getRef
in interface Result
SQLException
protected Ref getRefInternal(Object obj, Map map, Joins joins) throws SQLException
SQLException
public short getShort(Object obj) throws SQLException
Result
getShort
in interface Result
SQLException
public short getShort(Column col, Joins joins) throws SQLException
Result
getShort
in interface Result
SQLException
protected short getShortInternal(Object obj, Joins joins) throws SQLException
SQLException
public String getString(Object obj) throws SQLException
Result
getString
in interface Result
SQLException
public String getString(Column col, Joins joins) throws SQLException
Result
getString
in interface Result
SQLException
protected String getStringInternal(Object obj, Joins joins) throws SQLException
SQLException
public Time getTime(Object obj, Calendar cal) throws SQLException
Result
getTime
in interface Result
SQLException
public Time getTime(Column col, Calendar cal, Joins joins) throws SQLException
Result
getTime
in interface Result
SQLException
protected Time getTimeInternal(Object obj, Calendar cal, Joins joins) throws SQLException
SQLException
public Timestamp getTimestamp(Object obj, Calendar cal) throws SQLException
Result
getTimestamp
in interface Result
SQLException
public Timestamp getTimestamp(Column col, Calendar cal, Joins joins) throws SQLException
Result
getTimestamp
in interface Result
SQLException
protected Timestamp getTimestampInternal(Object obj, Calendar cal, Joins joins) throws SQLException
SQLException
public boolean wasNull() throws SQLException
Result
wasNull
in interface Result
SQLException
protected Object checkNull(Object val)
public void setLocking(boolean locking)
public boolean isLocking()
Result
isLocking
in interface Result
public void startDataRequest(Object mapping)
Result
startDataRequest
in interface Result
public void endDataRequest()
Result
Result.startDataRequest(java.lang.Object)
. The calls can be nested as follwsstartDataRequest (relation); startDataRequest (relationsField); getObject("COLUMN_Y"); endDataRequest (); endDataRequest ();
endDataRequest
in interface Result
protected Object translate(Object obj, Joins joins) throws SQLException
get*Internal
methods. Return the
original value by default.
SQLException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |