I have an enum whose member constructors contains a list of another enum. Is it possible to auto complete / gain visibility of items in the enum's array list? Please see the code below.
I would like to gain visibility of the columns in a given table. Is it possible to do so?
DatabaseDefinitions.Tables.marketOrders.columns.id // How can it be done?
public class DatabaseDefinitions {
public static enum Tables {
marketOrders(new Columns[]{Columns.id,
Columns.symbol,
Columns.orderType,
Columns.quantity,
Columns.priceLimit,
Columns.priceStop,
Columns.goodAfterDate,
Columns.goodUntilDate,
Columns.priceAverageFill}),
;
public Columns[] columns;
Tables(Columns[] columns){
this.columns = columns;
}
}
public static enum Columns {
id,
symbol,
orderType,
quantity,
priceLimit,
priceStop,
goodAfterDate,
goodUntilDate,
priceAverageFill,
exchange,
currency,
securityType,
price,
sizeBid,
sizeAsk,
sizeLast,
sizeVolume,
dateTime,
}
public static enum Queries {
}
}
I would add a public getter in Tables
class/enum.
public Columns[] getColumns() {
return this.columns;
}
UPDATE
Oops, 'columns' is a 'public' array already. Then what is a question? You can easily access array of columns in this case and each its item, eg
if ( DatabaseDefinitions.Tables.marketOrders.columns[0].equals( Columns.id ) ) {
// ...
}
Meanwhile, I would make 'columns' array 'private' and give an access through a getter. But it may depend on your particular task.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.