package cn.org.rapid_framework.jdbc.sqlgenerator; import cn.org.rapid_framework.jdbc.sqlgenerator.metadata.Table; public class CacheSqlGenerator implements SqlGenerator{ private static final String NULL = new String(); private SqlGenerator delegate; public CacheSqlGenerator(SqlGenerator delegate) { super(); this.delegate = delegate; } private String columnsSql = NULL; public String getColumnsSql() { if(columnsSql == NULL) { columnsSql = delegate.getColumnsSql(); } return columnsSql; } private String deleteByPkSql = NULL; public String getDeleteByPkSql() { if(deleteByPkSql == NULL) { deleteByPkSql = delegate.getDeleteByPkSql(); } return deleteByPkSql; } private String insertSql = NULL; public String getInsertSql() { if(insertSql == NULL) { insertSql = delegate.getInsertSql(); } return insertSql; } private String selectByPkSql = NULL; public String getSelectByPkSql() { if(selectByPkSql == NULL) { selectByPkSql = delegate.getSelectByPkSql(); } return selectByPkSql; } private String updateByPkSql = NULL; public String getUpdateByPkSql() { if(updateByPkSql == NULL) { updateByPkSql = delegate.getUpdateByPkSql(); } return updateByPkSql; } public Table getTable() { return delegate.getTable(); } public String getColumnsSql(String columnPrefix) { return delegate.getColumnsSql(columnPrefix); } }