${database.allClassCopyright}package ${glPackageBaseCB};
#set ($myClassName = "${myBaseConditionBeanClassName}")
import org.seasar.dbflute.cbean.AbstractConditionBean;
import org.seasar.dbflute.cbean.AndQuery;
import org.seasar.dbflute.cbean.ConditionBean;
import org.seasar.dbflute.cbean.ConditionQuery;
import org.seasar.dbflute.cbean.OrQuery;
import org.seasar.dbflute.cbean.SpecifyQuery;
import org.seasar.dbflute.cbean.SubQuery;
import org.seasar.dbflute.cbean.UnionQuery;
import org.seasar.dbflute.cbean.chelper.*;
import org.seasar.dbflute.cbean.coption.*;
import org.seasar.dbflute.cbean.sqlclause.SqlClause;
import org.seasar.dbflute.cbean.sqlclause.SqlClauseCreator;
import org.seasar.dbflute.dbmeta.DBMetaProvider;
import org.seasar.dbflute.twowaysql.factory.SqlAnalyzerFactory;
#if ($table.hasPrimaryKeyForcedClassificationSetting())
import ${glPackageBaseCommon}.${glCDef};
#end
import ${glPackageBaseCommon}.${glDBFluteConfig};
import ${glPackageBaseCommon}.${glDBMetaInstanceHandler};
import ${glPackageBaseCommon}.${glImplementedInvokerAssistant};
import ${glPackageBaseCommon}.${glImplementedSqlClauseCreator};
import ${glPackageCB}.*;
import ${glPackageCQ}.*;
#if ($table.hasForeignKeyOrReferrerAsOne())
import ${glPackageNss}.*;
#end
/**
* The base condition-bean of ${table.name}.
* @author ${database.classAuthor}
*/
public class ${myClassName} extends AbstractConditionBean {
// ===================================================================================
// Attribute
// =========
protected ${myConditionQueryClassName} _conditionQuery;
// ===================================================================================
// SqlClause
// =========
@Override
protected SqlClause createSqlClause() {
SqlClauseCreator creator = ${glDBFluteConfig}.getInstance().getSqlClauseCreator();
if (creator != null) {
return creator.createSqlClause(this);
}
return new ${glImplementedSqlClauseCreator}().createSqlClause(this); // as default
}
// ===================================================================================
// DBMeta Provider
// ===============
@Override
protected DBMetaProvider getDBMetaProvider() {
return ${glDBMetaInstanceHandler}.getProvider(); // as default
}
// ===================================================================================
// Table Name
// ==========
public String getTableDbName() {
return "${table.name}";
}
// ===================================================================================
// PrimaryKey Handling
// ===================
#if ($table.hasPrimaryKey())
public void acceptPrimaryKey(${table.primaryKeyArgsString}) {
${table.primaryKeyArgsAssertString}
${myClassName} cb = this;
${table.primaryKeyArgsConditionSetupString}
}
#end
public ConditionBean addOrderBy_PK_Asc() {
#if ($table.hasPrimaryKey())
#foreach ($col in $table.primaryKey)
query().addOrderBy_${col.JavaName}_Asc();
#end
return this;
#else
String msg = "The table has no primary-keys: " + getTableDbName();
throw new UnsupportedOperationException(msg);
#end
}
public ConditionBean addOrderBy_PK_Desc() {
#if ($table.hasPrimaryKey())
#foreach ($col in $table.primaryKey)
query().addOrderBy_${col.JavaName}_Desc();
#end
return this;
#else
String msg = "The table has no primary-keys: " + getTableDbName();
throw new UnsupportedOperationException(msg);
#end
}
// ===================================================================================
// Query
// =====
/**
* Prepare for various queries.
* Examples of main functions are following:
*
* // Basic Queries * cb.query().setMemberId_Equal(value); // = * cb.query().setMemberId_NotEqual(value); // != * cb.query().setMemberId_GreaterThan(value); // > * cb.query().setMemberId_LessThan(value); // < * cb.query().setMemberId_GreaterEqual(value); // >= * cb.query().setMemberId_LessEqual(value); // <= * cb.query().setMemberName_InScope(valueList); // in ('a', 'b') * cb.query().setMemberName_NotInScope(valueList); // not in ('a', 'b') * cb.query().setMemberName_PrefixSearch(value); // like 'a%' escape '|' * // LikeSearch with various options: (versatile) * // {like ... [options]} * cb.query().setMemberName_LikeSearch(value, option); * cb.query().setMemberName_NotLikeSearch(value, option); // not like ... * // FromTo with various options: (versatile) * // {(default) fromDatetime <= BIRTHDATE <= toDatetime} * cb.query().setBirthdate_FromTo(fromDatetime, toDatetime, option); * // DateFromTo: (Date means yyyy/MM/dd) * // {fromDate <= BIRTHDATE < toDate + 1 day} * cb.query().setBirthdate_DateFromTo(fromDate, toDate); * cb.query().setBirthdate_IsNull(); // is null * cb.query().setBirthdate_IsNotNull(); // is not null * * // ExistsReferrer: (co-related sub-query) * // {where exists (select PURCHASE_ID from PURCHASE where ...)} * cb.query().existsPurchaseList(new SubQuery<PurchaseCB>() { * public void query(PurchaseCB subCB) { * subCB.query().setXxx... // referrer sub-query condition * } * }); * cb.query().notExistsPurchaseList... * * // InScopeRelation: (sub-query) * // {where MEMBER_STATUS_CODE in (select MEMBER_STATUS_CODE from MEMBER_STATUS where ...)} * cb.query().inScopeMemberStatus(new SubQuery<MemberStatusCB>() { * public void query(MemberStatusCB subCB) { * subCB.query().setXxx... // relation sub-query condition * } * }); * cb.query().notInScopeMemberStatus... * * // (Query)DerivedReferrer: (co-related sub-query) * cb.query().derivedPurchaseList().max(new SubQuery<PurchaseCB>() { * public void query(PurchaseCB subCB) { * subCB.specify().columnPurchasePrice(); // derived column for function * subCB.query().setXxx... // referrer sub-query condition * } * }).greaterEqual(value); * * // ScalarCondition: (self-table sub-query) * cb.query().scalar_Equal().max(new SubQuery<MemberCB>() { * public void query(MemberCB subCB) { * subCB.specify().columnBirthdate(); // derived column for function * subCB.query().setXxx... // scalar sub-query condition * } * }); * * // OrderBy * cb.query().addOrderBy_MemberName_Asc(); * cb.query().addOrderBy_MemberName_Desc().withManualOrder(valueList); * cb.query().addOrderBy_MemberName_Desc().withNullsFirst(); * cb.query().addOrderBy_MemberName_Desc().withNullsLast(); * cb.query().addSpecifiedDerivedOrderBy_Desc(aliasName); * * // Query(Relation) * cb.query().queryMemberStatus()...; * cb.query().queryMemberAddressAsValid(targetDate)...; ** @return The instance of condition-query for base-point table to set up query. (NotNull) */ public ${myConditionQueryClassName} query() { assertQueryPurpose(); // assert only when user-public query return getConditionQuery(); } public ${myConditionQueryClassName} getConditionQuery() { // public for parameter comment and internal if (_conditionQuery == null) { _conditionQuery = createLocalCQ(); } return _conditionQuery; } protected ${myConditionQueryClassName} createLocalCQ() { return xcreateCQ(null, getSqlClause(), getSqlClause().getBasePointAliasName(), 0); } protected ${myConditionQueryClassName} xcreateCQ(ConditionQuery childQuery, SqlClause sqlClause, String aliasName, int nestLevel) { return new ${myConditionQueryClassName}(childQuery, sqlClause, aliasName, nestLevel); } public ConditionQuery localCQ() { return getConditionQuery(); } // =================================================================================== // Union // ===== /** * Set up 'union' for base-point table.
* cb.query().union(new UnionQuery<${myConditionBeanClassName}>() {
* public void query(${myConditionBeanClassName} unionCB) {
* unionCB.query().setXxx...
* }
* });
*
* @param unionQuery The query of 'union'. (NotNull)
*/
public void union(UnionQuery<${myConditionBeanClassName}> unionQuery) {
final ${myConditionBeanClassName} cb = new ${myConditionBeanClassName}();
cb.xsetupForUnion(this); xsyncUQ(cb); unionQuery.query(cb);
final ${myConditionQueryClassName} cq = cb.query(); query().xsetUnionQuery(cq);
}
/**
* Set up 'union all' for base-point table.
* cb.query().unionAll(new UnionQuery<${myConditionBeanClassName}>() {
* public void query(${myConditionBeanClassName} unionCB) {
* unionCB.query().setXxx...
* }
* });
*
* @param unionQuery The query of 'union all'. (NotNull)
*/
public void unionAll(UnionQuery<${myConditionBeanClassName}> unionQuery) {
final ${myConditionBeanClassName} cb = new ${myConditionBeanClassName}();
cb.xsetupForUnion(this); xsyncUQ(cb); unionQuery.query(cb);
final ${myConditionQueryClassName} cq = cb.query(); query().xsetUnionAllQuery(cq);
}
#if ($database.isAvailableDatabaseDependency())
#if ($database.isDatabasePostgreSQL())
// ===================================================================================
// Lock Wait
// =========
public ConditionBean lockForUpdateNoWait()
{ if (xhelpIsSqlClausePostgreSql()) { xhelpGettingSqlClausePostgreSql().lockForUpdateNoWait(); } return this; }
protected boolean xhelpIsSqlClausePostgreSql() {
return getSqlClause() instanceof org.seasar.dbflute.cbean.sqlclause.SqlClausePostgreSql;
}
protected org.seasar.dbflute.cbean.sqlclause.SqlClausePostgreSql xhelpGettingSqlClausePostgreSql() {
return (org.seasar.dbflute.cbean.sqlclause.SqlClausePostgreSql)getSqlClause();
}
#end
#if ($database.isDatabaseOracle())
// ===================================================================================
// Lock Wait
// =========
public ConditionBean lockForUpdateNoWait()
{ if (xhelpIsSqlClauseOracle()) { xhelpGettingSqlClauseOracle().lockForUpdateNoWait(); } return this; }
public ConditionBean lockForUpdateWait(int waitSec)
{ if (xhelpIsSqlClauseOracle()) { xhelpGettingSqlClauseOracle().lockForUpdateWait(waitSec); } return this; }
protected boolean xhelpIsSqlClauseOracle() {
return getSqlClause() instanceof org.seasar.dbflute.cbean.sqlclause.SqlClauseOracle;
}
protected org.seasar.dbflute.cbean.sqlclause.SqlClauseOracle xhelpGettingSqlClauseOracle() {
return (org.seasar.dbflute.cbean.sqlclause.SqlClauseOracle)getSqlClause();
}
#end
#if ($database.isDatabaseDB2())
// [DBFlute-0.7.9]
// ===================================================================================
// Isolation Level
// ===============
// *Database Dependency
public void lockWithRR() { if (xhelpIsSqlClauseDb2()) { xhelpGettingSqlClauseDb2().lockWithRR(); } }
public void lockWithRS() { if (xhelpIsSqlClauseDb2()) { xhelpGettingSqlClauseDb2().lockWithRS(); } }
public void lockWithCS() { if (xhelpIsSqlClauseDb2()) { xhelpGettingSqlClauseDb2().lockWithCS(); } }
public void lockWithUR() { if (xhelpIsSqlClauseDb2()) { xhelpGettingSqlClauseDb2().lockWithUR(); } }
protected boolean xhelpIsSqlClauseDb2() {
return getSqlClause() instanceof org.seasar.dbflute.cbean.sqlclause.SqlClauseDb2;
}
protected org.seasar.dbflute.cbean.sqlclause.SqlClauseDb2 xhelpGettingSqlClauseDb2() {
return (org.seasar.dbflute.cbean.sqlclause.SqlClauseDb2)getSqlClause();
}
#end
#end
// ===================================================================================
// SetupSelect
// ===========
#foreach ($fk in $table.foreignKeys)
#set ($tmpPropertyName = "${fk.foreignPropertyName}")
#set ($tmpPropertyNameInitCap = "${fk.foreignPropertyNameInitCap}")
#set ($nestSelectSetuppperClassName = "${fk.foreignTableNestSelectSetupperClassName}")
#set ($dynamicFixedConditionArgs = "")
#set ($dynamicFixedConditionVariables = "")
#if ($fk.hasDynamicFixedCondition())
#set ($dynamicFixedConditionArgs = "${fk.dynamicFixedConditionFinalArgs}")
#set ($dynamicFixedConditionVariables = "${fk.dynamicFixedConditionVariables}")
#end
protected ${nestSelectSetuppperClassName} _nss${tmpPropertyNameInitCap};
public ${nestSelectSetuppperClassName} getNss${tmpPropertyNameInitCap}() {
if (_nss${tmpPropertyNameInitCap} == null) { _nss${tmpPropertyNameInitCap} = new ${nestSelectSetuppperClassName}(null); }
return _nss${tmpPropertyNameInitCap};
}
/**
* Set up relation columns to select clause. * ${myConditionBeanClassName} cb = new ${myConditionBeanClassName}(); * cb.setupSelect_${tmpPropertyNameInitCap}(${dynamicFixedConditionVariables}); // ...().with[nested-relation]() * cb.query().setFoo...(value); * ${myExtendedObjectClassName} ${myEntityVariableName} = ${myEntityVariableName}Bhv.selectEntityWithDeletedCheck(cb); * ... = ${myEntityVariableName}.get${tmpPropertyNameInitCap}(); // you can get by using SetupSelect *#if ($fk.hasDynamicFixedCondition()) * ${fk.dynamicFixedConditionArgsJavaDocString} #end * @return The set-upper of nested relation. {setupSelect...().with[nested-relation]} (NotNull) */ public ${nestSelectSetuppperClassName} setupSelect_${tmpPropertyNameInitCap}(${dynamicFixedConditionArgs}) { #if ($fk.hasLocalColumnExceptPrimaryKey()) if (hasSpecifiedColumn()) { // if reverse call #foreach ($col in $fk.localColumnList) #if (!$col.isPrimaryKey()) specify().column${col.javaName}(); #end #end } #end doSetupSelect(new SsCall() { public ConditionQuery qf() { return query().query${tmpPropertyNameInitCap}(${dynamicFixedConditionVariables}); } }); if (_nss${tmpPropertyNameInitCap} == null || !_nss${tmpPropertyNameInitCap}.hasConditionQuery()) { _nss${tmpPropertyNameInitCap} = new ${nestSelectSetuppperClassName}(query().query${tmpPropertyNameInitCap}(${dynamicFixedConditionVariables})); } return _nss${tmpPropertyNameInitCap}; } #end #foreach ($referrer in $table.referrerAsOneList) #set ($tmpPropertyName = "${referrer.referrerPropertyNameAsOne}") #set ($tmpPropertyNameInitCap = "${referrer.referrerPropertyNameInitCapAsOne}") #set ($nestSelectSetuppperClassName = "${referrer.referrerTableNestSelectSetupperClassName}") protected ${nestSelectSetuppperClassName} _nss${tmpPropertyNameInitCap}; public ${nestSelectSetuppperClassName} getNss${tmpPropertyNameInitCap}() { if (_nss${tmpPropertyNameInitCap} == null) { _nss${tmpPropertyNameInitCap} = new ${nestSelectSetuppperClassName}(null); } return _nss${tmpPropertyNameInitCap}; } /** * Set up relation columns to select clause.
* ${myConditionBeanClassName} cb = new ${myConditionBeanClassName}(); * cb.setupSelect_${tmpPropertyNameInitCap}(); // ...().with[nested-relation]() * cb.query().setFoo...(value); * ${myExtendedObjectClassName} ${myEntityVariableName} = ${myEntityVariableName}Bhv.selectEntityWithDeletedCheck(cb); * ... = ${myEntityVariableName}.get${tmpPropertyNameInitCap}(); // you can get by using SetupSelect ** @return The set-upper of nested relation. {setupSelect...().with[nested-relation]} (NotNull) */ public ${nestSelectSetuppperClassName} setupSelect_${tmpPropertyNameInitCap}() { doSetupSelect(new SsCall() { public ConditionQuery qf() { return query().query${tmpPropertyNameInitCap}(); } }); if (_nss${tmpPropertyNameInitCap} == null || !_nss${tmpPropertyNameInitCap}.hasConditionQuery()) { _nss${tmpPropertyNameInitCap} = new ${nestSelectSetuppperClassName}(query().query${tmpPropertyNameInitCap}()); } return _nss${tmpPropertyNameInitCap}; } #end // [DBFlute-0.7.4] // =================================================================================== // Specify // ======= protected HpSpecification _specification; /** * Prepare for SpecifyColumn, (Specify)DerivedReferrer.
* cb.setupSelect_MemberStatus(); // should be called before specify()
* cb.specify().columnMemberName();
* cb.specify().specifyMemberStatus().columnMemberStatusName();
* cb.specify().derivedPurchaseList().max(new SubQuery<PurchaseCB>() {
* public void query(PurchaseCB subCB) {
* subCB.specify().columnPurchaseDatetime();
* subCB.query().set...
* }
* }, aliasName);
*
* @return The instance of specification. (NotNull)
*/
public HpSpecification specify() {
assertSpecifyPurpose();
if (_specification == null) { _specification = new HpSpecification(this
, new HpSpQyCall<${myConditionQueryClassName}>() {
public boolean has() { return true; }
public ${myConditionQueryClassName} qy() { return getConditionQuery(); }
}
, _purpose, getDBMetaProvider()); }
return _specification;
}
protected boolean hasSpecifiedColumn() {
return _specification != null && _specification.isAlreadySpecifiedRequiredColumn();
}
protected HpAbstractSpecification extends ConditionQuery> localSp() {
return specify();
}
public static class HpSpecification extends HpAbstractSpecification<${myConditionQueryClassName}> {
#foreach ($fk in $table.foreignKeys)
#set ($tmpPropertyName = "${fk.foreignPropertyName}")
#set ($tmpCBClassName = "${fk.foreignTableExtendedConditionBeanClassName}")
protected ${tmpCBClassName}.HpSpecification _${tmpPropertyName};
#end
#foreach ($referrer in $table.referrerAsOneList)
#set ($tmpPropertyName = "${referrer.referrerPropertyNameAsOne}")
#set ($tmpCBClassName = "${referrer.referrerTableExtendedConditionBeanClassName}")
protected ${tmpCBClassName}.HpSpecification _${tmpPropertyName};
#end
public HpSpecification(ConditionBean baseCB, HpSpQyCall<${myConditionQueryClassName}> qyCall
, HpCBPurpose purpose, DBMetaProvider dbmetaProvider)
{ super(baseCB, qyCall, purpose, dbmetaProvider); }
#foreach ($col in $table.columns)
/** ${col.aliasExpression}${col.name}: {${col.columnDefinitionLineDisp}} */
public void column${col.javaName}() { doColumn("${col.name}"); }
#end
@Override
protected void doSpecifyRequiredColumn() {
#foreach ($col in $table.primaryKey)
column${col.javaName}(); // PK
#end
#foreach ($fk in $table.foreignKeys)
#set ($tmpPropertyName = "${fk.foreignPropertyName}")
#set ($tmpPropertyNameInitCap = "${fk.foreignPropertyNameInitCap}")
#if ($fk.hasLocalColumnExceptPrimaryKey())
if (qyCall().qy().hasConditionQuery${tmpPropertyNameInitCap}()
|| qyCall().qy().xgetReferrerQuery() instanceof ${fk.foreignTableExtendedConditionQueryClassName}) {
#foreach ($col in $fk.localColumnList)
#if (!$col.isPrimaryKey())
column${col.javaName}(); // FK or one-to-one referrer
#end
#end
}
#end
#end
}
@Override
protected String getTableDbName() { return "$table.name"; }
#foreach ($fk in $table.foreignKeys)
#set ($tmpPropertyName = "${fk.foreignPropertyName}")
#set ($tmpPropertyNameInitCap = "${fk.foreignPropertyNameInitCap}")
#set ($tmpCBClassName = "${fk.foreignTableExtendedConditionBeanClassName}")
#set ($tmpCQClassName = "${fk.foreignTableExtendedConditionQueryClassName}")
/**
* Prepare to specify functions about relation table. * cb.specify().derived${tmpPropertyNameInitCap}().max(new SubQuery<${tmpCBClassName}>() { * public void query(${tmpCBClassName} subCB) { * subCB.specify().columnFoo... // derived column for function * subCB.query().setBar... // referrer condition * } * }, aliasName); ** @return The object to set up a function for referrer table. (NotNull) */ public HpSDRFunction<${tmpCBClassName}, ${tmpLocalCQClassName}> derived${tmpPropertyNameInitCap}() { assertDerived("${tmpPropertyName}"); if (xhasSyncQyCall()) { xsyncQyCall().qy(); } // for sync (for example, this in ColumnQuery) return new HpSDRFunction<${tmpCBClassName}, ${tmpLocalCQClassName}>(_baseCB, _qyCall.qy(), new HpSDRSetupper<${tmpCBClassName}, ${tmpLocalCQClassName}>() { public void setup(String function, SubQuery<${tmpCBClassName}> subQuery, ${tmpLocalCQClassName} cq, String aliasName, DerivedReferrerOption option) { cq.xsderive${referrer.referrerPropertyNameInitCap}(function, subQuery, aliasName, option); } }, _dbmetaProvider); } #end #end } // [DBFlute-0.9.5.3] // =================================================================================== // ColumnQuery // =========== /** * Set up column-query. {column1 = column2} *
* // where FOO < BAR * cb.columnQuery(new SpecifyQuery<${myConditionBeanClassName}>() { * public void query(${myConditionBeanClassName} cb) { * cb.specify().columnFoo(); // left column * } * }).lessThan(new SpecifyQuery<${myConditionBeanClassName}>() { * public void query(${myConditionBeanClassName} cb) { * cb.specify().columnBar(); // right column * } * }); // you can calculate for right column like '}).plus(3);' ** @param leftSpecifyQuery The specify-query for left column. (NotNull) * @return The object for setting up operand and right column. (NotNull) */ public HpColQyOperand<${myConditionBeanClassName}> columnQuery(final SpecifyQuery<${myConditionBeanClassName}> leftSpecifyQuery) { return new HpColQyOperand<${myConditionBeanClassName}>(new HpColQyHandler<${myConditionBeanClassName}>() { public HpCalculator handle(SpecifyQuery<${myConditionBeanClassName}> rightSp, String operand) { return xcolqy(xcreateColumnQueryCB(), xcreateColumnQueryCB(), leftSpecifyQuery, rightSp, operand); } }); } protected ${myConditionBeanClassName} xcreateColumnQueryCB() { ${myConditionBeanClassName} cb = new ${myConditionBeanClassName}(); cb.xsetupForColumnQuery((${myConditionBeanClassName})this); return cb; } // [DBFlute-0.9.6.3] // =================================================================================== // OrScopeQuery // ============ /** * Set up the query for or-scope.
* // where (FOO = '...' or BAR = '...') * cb.orScopeQuery(new OrQuery<${myConditionBeanClassName}>() { * public void query(${myConditionBeanClassName} orCB) { * orCB.query().setFOO_Equal... * orCB.query().setBAR_Equal... * } * }); ** @param orQuery The query for or-condition. (NotNull) */ public void orScopeQuery(OrQuery<${myConditionBeanClassName}> orQuery) { xorSQ((${myConditionBeanClassName})this, orQuery); } /** * Set up the and-part of or-scope.
* // where (FOO = '...' or (BAR = '...' and QUX = '...')) * cb.orScopeQuery(new OrQuery<${myConditionBeanClassName}>() { * public void query(${myConditionBeanClassName} orCB) { * orCB.query().setFOO_Equal... * orCB.orScopeQueryAndPart(new AndQuery<${myConditionBeanClassName}>() { * public void query(${myConditionBeanClassName} andCB) { * andCB.query().setBar_... * andCB.query().setQux_... * } * }); * } * }); ** @param andQuery The query for and-condition. (NotNull) */ public void orScopeQueryAndPart(AndQuery<${myConditionBeanClassName}> andQuery) { xorSQAP((${myConditionBeanClassName})this, andQuery); } // =================================================================================== // DisplaySQL // ========== @Override protected SqlAnalyzerFactory getSqlAnalyzerFactory() { return new ${glImplementedInvokerAssistant}().assistSqlAnalyzerFactory(); } @Override protected String getLogDateFormat() { return ${glDBFluteConfig}.getInstance().getLogDateFormat(); } @Override protected String getLogTimestampFormat() { return ${glDBFluteConfig}.getInstance().getLogTimestampFormat(); } // =================================================================================== // Basic Status Determination // ========================== public boolean hasUnionQueryOrUnionAllQuery() { return query().hasUnionQueryOrUnionAllQuery(); } // [DBFlute-0.7.4] // =================================================================================== // Purpose Type // ============ public void xsetupForColumnQuery(final ${myConditionBeanClassName} mainCB) { xinheritSubQueryInfo(mainCB.localCQ()); xchangePurposeSqlClause(HpCBPurpose.COLUMN_QUERY); // inherits a parent query to synchronize real name // (and also for suppressing query check) specify().xsetSyncQyCall(new HpSpQyCall<${myConditionQueryClassName}>() { public boolean has() { return true; } public ${myConditionQueryClassName} qy() { return mainCB.query(); } }); } public void xsetupForVaryingUpdate() { xchangePurposeSqlClause(HpCBPurpose.VARYING_UPDATE); // for suppressing query check final ${myConditionBeanClassName} nonCheckCB = new ${myConditionBeanClassName}(); specify().xsetSyncQyCall(new HpSpQyCall<${myConditionQueryClassName}>() { public boolean has() { return true; } public ${myConditionQueryClassName} qy() { return nonCheckCB.query(); } }); } // =================================================================================== // Internal // ======== // very internal (for suppressing warn about 'Not Use Import') protected String getConditionBeanClassNameInternally() { return ${myConditionBeanClassName}.class.getName(); } protected String getConditionQueryClassNameInternally() { return ${myConditionQueryClassName}.class.getName(); } protected String getSubQueryClassNameInternally() { return SubQuery.class.getName(); } protected String getConditionOptionClassNameInternally() { return ConditionOption.class.getName(); } }