mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 13:10:44 +00:00
Add overload constructor that takes al ist of field names (e.g., in support of api-versioning)
This commit is contained in:
@ -85,23 +85,35 @@ public class QFrontendTableMetaData
|
|||||||
// do not add setters. take values from the source-object in the constructor!! //
|
// do not add setters. take values from the source-object in the constructor!! //
|
||||||
//////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
** standard constructor - uses all fields on the table.
|
||||||
|
***************************************************************************/
|
||||||
|
public QFrontendTableMetaData(AbstractActionInput actionInput, QBackendMetaData backendForTable, QTableMetaData tableMetaData, boolean includeFullMetaData, boolean includeJoins)
|
||||||
|
{
|
||||||
|
this(actionInput, backendForTable, tableMetaData, includeFullMetaData, includeJoins, tableMetaData.getFields());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
**
|
** alternative constructor - takes a map of fields to use (e.g., for an old
|
||||||
|
** api version of the table w/ different fields!)
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
public QFrontendTableMetaData(AbstractActionInput actionInput, QBackendMetaData backendForTable, QTableMetaData tableMetaData, boolean includeFullMetaData, boolean includeJoins)
|
public QFrontendTableMetaData(AbstractActionInput actionInput, QBackendMetaData backendForTable, QTableMetaData tableMetaData, boolean includeFullMetaData, boolean includeJoins, Map<String, QFieldMetaData> overrideFields)
|
||||||
{
|
{
|
||||||
this.name = tableMetaData.getName();
|
this.name = tableMetaData.getName();
|
||||||
this.label = tableMetaData.getLabel();
|
this.label = tableMetaData.getLabel();
|
||||||
this.isHidden = tableMetaData.getIsHidden();
|
this.isHidden = tableMetaData.getIsHidden();
|
||||||
|
|
||||||
|
Map<String, QFieldMetaData> inputFields = overrideFields == null ? tableMetaData.getFields() : overrideFields;
|
||||||
|
|
||||||
if(includeFullMetaData)
|
if(includeFullMetaData)
|
||||||
{
|
{
|
||||||
this.primaryKeyField = tableMetaData.getPrimaryKeyField();
|
this.primaryKeyField = tableMetaData.getPrimaryKeyField();
|
||||||
this.fields = new HashMap<>();
|
this.fields = new HashMap<>();
|
||||||
for(String fieldName : tableMetaData.getFields().keySet())
|
for(String fieldName : inputFields.keySet())
|
||||||
{
|
{
|
||||||
QFieldMetaData field = tableMetaData.getField(fieldName);
|
QFieldMetaData field = inputFields.get(fieldName);
|
||||||
if(!field.getIsHidden())
|
if(!field.getIsHidden())
|
||||||
{
|
{
|
||||||
this.fields.put(fieldName, new QFrontendFieldMetaData(field));
|
this.fields.put(fieldName, new QFrontendFieldMetaData(field));
|
||||||
|
Reference in New Issue
Block a user