|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.araneaframework.backend.list.helper.naming.MappingNamingStrategyAndFields
Naming conventions and list of fields provider which is based on mappings.
There are 3 types of fields:
SELECT and are read from the ResultSet - use methods addMapping(String, String, String) and addMapping(String, String)SELECT but are not read from the ResultSet - use method addDatabaseFieldMapping(String, String, String) and addDatabaseFieldMapping(String, String)SELECT but which are read from the ResultSet - use method addResultSetMapping(String, String)SELECT refers to the corresponding SQL segment constructed by Aranea Lists.
That may be wrapped inside another SQL clause for example.
Each list field must be added together with it's corresponding column name (and alias).
This implementation is based on the ListSqlHelper methods up to Aranea MVC 1.1-M5.
NamingStrategy,
ListSqlHelper.getMappingNamingStrategyAndFields()| Constructor Summary | |
MappingNamingStrategyAndFields()
|
|
| Method Summary | |
void |
addDatabaseFieldMapping(String fieldName,
String columnName)
Adds a field name to database column name mapping. |
void |
addDatabaseFieldMapping(String fieldName,
String columnName,
String columnAlias)
Adds a field name to database column name and column alias mapping. |
void |
addMapping(String fieldName,
String columnName)
Adds a field name to database column name. |
void |
addMapping(String fieldName,
String columnName,
String columnAlias)
Adds a field name to database column name and column alias mapping. |
void |
addResultSetMapping(String fieldName,
String columnAlias)
Adds a field name to database column alias mapping. |
protected String |
createAlias(String columnName)
|
String |
fieldToColumnAlias(String variableName)
Converts field name into database column alias. |
String |
fieldToColumnName(String variableName)
Converts field name into database column name. |
Collection |
getNames()
Return the list of fields used in SELECT. |
Collection |
getResultSetNames()
Return the list of fields read from the ResultSet. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public MappingNamingStrategyAndFields()
| Method Detail |
public void addDatabaseFieldMapping(String fieldName,
String columnName,
String columnAlias)
A given field is listed in the SELECT but is not read from the ResultSet.
fieldName - field name.columnName - database column name.columnAlias - database column alias.addMapping(String, String, String),
addMapping(String, String),
addDatabaseFieldMapping(String, String),
addResultSetMapping(String, String)
public void addDatabaseFieldMapping(String fieldName,
String columnName)
A given field is listed in the SELECT but is not read from the ResultSet.
The corresponding column alias is generated automatically.
fieldName - field name.columnName - database column name.addMapping(String, String, String),
addMapping(String, String),
addDatabaseFieldMapping(String, String, String),
addResultSetMapping(String, String)
public void addResultSetMapping(String fieldName,
String columnAlias)
A given field is not listed in the SELECT but is read from the ResultSet.
fieldName - field name.columnAlias - database column name in the result set.addMapping(String, String, String),
addMapping(String, String),
addDatabaseFieldMapping(String, String, String),
addDatabaseFieldMapping(String, String)
public void addMapping(String fieldName,
String columnName,
String columnAlias)
A given field is listed in the SELECT and is read from the ResultSet.
fieldName - field name.columnName - database column name.columnAlias - database column alias.addMapping(String, String),
addDatabaseFieldMapping(String, String, String),
addDatabaseFieldMapping(String, String),
addResultSetMapping(String, String)
public void addMapping(String fieldName,
String columnName)
A given field is listed in the SELECT and is read from the ResultSet.
The corresponding column alias is generated automatically.
fieldName - field name.columnName - database column name.addMapping(String, String, String),
addDatabaseFieldMapping(String, String, String),
addDatabaseFieldMapping(String, String),
addResultSetMapping(String, String)public Collection getNames()
FieldsSELECT.
getNames in interface Fieldspublic Collection getResultSetNames()
FieldsResultSet.
getResultSetNames in interface FieldsResultSet.public String fieldToColumnName(String variableName)
NamingStrategy
E.g.
firstName -> FIRST_NAME
group.name -> G.NAME
name -> FIRSTNAME || " " || LASTNAME
total -> sum(POINTS)
fieldToColumnName in interface NamingStrategyvariableName - field name of the list.
public String fieldToColumnAlias(String variableName)
NamingStrategy
When two or more tables are used in SELECT with
the same column name they must be distinguishable. Thus
each column name must be followed by a unique alias which is
referred later in WHERE and ORDER BY
clause and also in the result set.
In ORDER BY expressions cannot be used like
COUNT(points) instead these expressions must be
defined together with aliases in the column list right after
SELECT.
An alias must not contain dots neither it can be a SQL expression.
E.g.
description -> DESCRIPTION
mother.firstName -> MOTHER_FIRST_NAME
father.firstName -> FATHER_FIRST_NAME
total -> TOTAL
fieldToColumnAlias in interface NamingStrategyvariableName - field name of the list.
protected String createAlias(String columnName)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||