org.araneaframework.backend.list.helper.naming
Interface NamingStrategy

All Known Implementing Classes:
MappingNamingStrategyAndFields, NopNamingStrategy, OrNamingStrategy, StandardNamingStrategy

public interface NamingStrategy

Naming conventions between list fields and database columns.

Method fieldToColumnName(String) converts field names into column names. Method fieldToColumnAlias(String) converts field names into column aliases.

Since:
1.1
Author:
Rein Raudjärv
See Also:
BaseListSqlHelper.getNamingStrategy(), StandardNamingStrategy, PrefixMapNamingStrategy, MappingNamingStrategyAndFields, OrNamingStrategy

Method Summary
 String fieldToColumnAlias(String fieldName)
          Converts field name into database column alias.
 String fieldToColumnName(String fieldName)
          Converts field name into database column name.
 

Method Detail

fieldToColumnName

public String fieldToColumnName(String fieldName)
Converts field name into database column name.

E.g.
firstName -> FIRST_NAME
group.name -> G.NAME
name -> FIRSTNAME || " " || LASTNAME total -> sum(POINTS)

Parameters:
fieldName - field name of the list.
Returns:
corresponding database column name used in SQL query.

fieldToColumnAlias

public String fieldToColumnAlias(String fieldName)
Converts field name into database column alias.

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

Parameters:
fieldName - field name of the list.
Returns:
corresponding database column alias used in SQL query.