Java 类org.hibernate.dialect.function.SQLFunctionRegistry 实例源码

项目:cacheonix-core    文件:FilterHelper.java   
/**
 * The map of defined filters.  This is expected to be in format
 * where the filter names are the map keys, and the defined
 * conditions are the values.
 *
 * @param filters The map of defined filters.
 * @param dialect The sql dialect
 * @param functionRegistry The SQL function registry
 */
public FilterHelper(Map filters, Dialect dialect, SQLFunctionRegistry functionRegistry) {
    int filterCount = filters.size();
    filterNames = new String[filterCount];
    filterConditions = new String[filterCount];
    Iterator iter = filters.entrySet().iterator();
    filterCount = 0;
    while ( iter.hasNext() ) {
        final Map.Entry entry = (Map.Entry) iter.next();
        filterNames[filterCount] = (String) entry.getKey();
        filterConditions[filterCount] = Template.renderWhereStringTemplate(
                (String) entry.getValue(),
                FilterImpl.MARKER,
                dialect,
                functionRegistry
            );
        filterConditions[filterCount] = StringHelper.replace( filterConditions[filterCount],
                ":",
                ":" + filterNames[filterCount] + "." );
        filterCount++;
    }
}
项目:lams    文件:RowCountProjection.java   
protected SQLFunction getFunction(CriteriaQuery criteriaQuery) {
    final SQLFunctionRegistry sqlFunctionRegistry = criteriaQuery.getFactory().getSqlFunctionRegistry();
    final SQLFunction function = sqlFunctionRegistry.findSQLFunction( "count" );
    if ( function == null ) {
        throw new HibernateException( "Unable to locate count function mapping" );
    }
    return function;
}
项目:lams    文件:Template.java   
/**
 * Same functionality as {@link #renderWhereStringTemplate(String, String, Dialect, SQLFunctionRegistry)},
 * except that a SQLFunctionRegistry is not provided (i.e., only the dialect-defined functions are
 * considered).  This is only intended for use by the annotations project until the
 * many-to-many/map-key-from-target-table feature is pulled into core.
 *
 * @deprecated Only intended for annotations usage; use {@link #renderWhereStringTemplate(String, String, Dialect, SQLFunctionRegistry)} instead
 */
@Deprecated
   @SuppressWarnings({ "JavaDoc" })
public static String renderWhereStringTemplate(String sqlWhereString, String placeholder, Dialect dialect) {
    return renderWhereStringTemplate(
            sqlWhereString,
            placeholder,
            dialect,
            new SQLFunctionRegistry( dialect, java.util.Collections.<String, SQLFunction>emptyMap() )
    );
}
项目:lams    文件:Template.java   
/**
 * Performs order-by template rendering without {@link ColumnMapper column mapping}.  An <tt>ORDER BY</tt> template
 * has all column references "qualified" with a placeholder identified by {@link Template#TEMPLATE}
 *
 * @param orderByFragment The order-by fragment to render.
 * @param dialect The SQL dialect being used.
 * @param functionRegistry The SQL function registry
 *
 * @return The rendered <tt>ORDER BY</tt> template.
 *
 * @deprecated Use {@link #translateOrderBy} instead
 */
@Deprecated
   public static String renderOrderByStringTemplate(
        String orderByFragment,
        Dialect dialect,
        SQLFunctionRegistry functionRegistry) {
    return renderOrderByStringTemplate(
            orderByFragment,
            NoOpColumnMapper.INSTANCE,
            null,
            dialect,
            functionRegistry
    );
}
项目:lams    文件:Template.java   
public static String renderOrderByStringTemplate(
        String orderByFragment,
        final ColumnMapper columnMapper,
        final SessionFactoryImplementor sessionFactory,
        final Dialect dialect,
        final SQLFunctionRegistry functionRegistry) {
    return translateOrderBy(
            orderByFragment,
            columnMapper,
            sessionFactory,
            dialect,
            functionRegistry
    ).injectAliases( LEGACY_ORDER_BY_ALIAS_RESOLVER );
}
项目:lams    文件:Template.java   
/**
 * Performs order-by template rendering allowing {@link ColumnMapper column mapping}.  An <tt>ORDER BY</tt> template
 * has all column references "qualified" with a placeholder identified by {@link Template#TEMPLATE} which can later
 * be used to easily inject the SQL alias.
 *
 * @param orderByFragment The order-by fragment to render.
 * @param columnMapper The column mapping strategy to use.
 * @param sessionFactory The session factory.
 * @param dialect The SQL dialect being used.
 * @param functionRegistry The SQL function registry
 *
 * @return The rendered <tt>ORDER BY</tt> template.
 */
public static OrderByTranslation translateOrderBy(
        String orderByFragment,
        final ColumnMapper columnMapper,
        final SessionFactoryImplementor sessionFactory,
        final Dialect dialect,
        final SQLFunctionRegistry functionRegistry) {
    TranslationContext context = new TranslationContext() {
        public SessionFactoryImplementor getSessionFactory() {
            return sessionFactory;
        }

        public Dialect getDialect() {
            return dialect;
        }

        public SQLFunctionRegistry getSqlFunctionRegistry() {
            return functionRegistry;
        }

        public ColumnMapper getColumnMapper() {
            return columnMapper;
        }
    };

    return OrderByFragmentTranslator.translate( context, orderByFragment );
}
项目:lams    文件:Template.java   
private static boolean isFunctionOrKeyword(String lcToken, String nextToken, Dialect dialect, SQLFunctionRegistry functionRegistry) {
    return "(".equals(nextToken) ||
        KEYWORDS.contains(lcToken) ||
        isFunction(lcToken, nextToken, functionRegistry ) ||
        dialect.getKeywords().contains(lcToken) ||
        FUNCTION_KEYWORDS.contains(lcToken);
}
项目:lams    文件:Template.java   
private static boolean isFunction(String lcToken, String nextToken, SQLFunctionRegistry functionRegistry) {
    // checking for "(" is currently redundant because it is checked before getting here;
    // doing the check anyhow, in case that earlier check goes away;
    if ( "(".equals( nextToken ) ) {
        return true;
    }
    SQLFunction function = functionRegistry.findSQLFunction(lcToken);
    if ( function == null ) {
        // lcToken does not refer to a function
        return false;
    }
    // if function.hasParenthesesIfNoArguments() is true, then assume
    // lcToken is not a function (since it is not followed by '(')
    return ! function.hasParenthesesIfNoArguments();
}
项目:cacheonix-core    文件:Template.java   
private static boolean isFunctionOrKeyword(String lcToken, String nextToken, Dialect dialect, SQLFunctionRegistry functionRegistry) {
    return "(".equals(nextToken) ||
        KEYWORDS.contains(lcToken) ||
        functionRegistry.hasFunction(lcToken) ||
        dialect.getKeywords().contains(lcToken) ||
        FUNCTION_KEYWORDS.contains(lcToken);
}
项目:lemon    文件:SessionFactoryWrapper.java   
public SQLFunctionRegistry getSqlFunctionRegistry() {
    return sessionFactoryImplementor.getSqlFunctionRegistry();
}
项目:lams    文件:Column.java   
@Override
public String getTemplate(Dialect dialect, SQLFunctionRegistry functionRegistry) {
    return hasCustomRead()
            ? Template.renderWhereStringTemplate( customRead, dialect, functionRegistry )
            : Template.TEMPLATE + '.' + getQuotedName( dialect );
}
项目:lams    文件:Formula.java   
@Override
public String getTemplate(Dialect dialect, SQLFunctionRegistry functionRegistry) {
    return Template.renderWhereStringTemplate(formula, dialect, functionRegistry);
}
项目:lams    文件:SessionFactoryImpl.java   
public SQLFunctionRegistry getSqlFunctionRegistry() {
    return sqlFunctionRegistry;
}
项目:lams    文件:Template.java   
public static String renderWhereStringTemplate(String sqlWhereString, Dialect dialect, SQLFunctionRegistry functionRegistry) {
    return renderWhereStringTemplate(sqlWhereString, TEMPLATE, dialect, functionRegistry);
}
项目:cacheonix-core    文件:Column.java   
public String getTemplate(Dialect dialect, SQLFunctionRegistry functionRegistry) {
    return getQuotedName(dialect);
}
项目:cacheonix-core    文件:Formula.java   
public String getTemplate(Dialect dialect, SQLFunctionRegistry functionRegistry) {
    return Template.renderWhereStringTemplate(formula, dialect, functionRegistry);
}
项目:cacheonix-core    文件:Template.java   
public static String renderWhereStringTemplate(String sqlWhereString, Dialect dialect, SQLFunctionRegistry functionRegistry) {
    return renderWhereStringTemplate(sqlWhereString, TEMPLATE, dialect, functionRegistry);
}
项目:cacheonix-core    文件:SessionFactoryImpl.java   
public SQLFunctionRegistry getSqlFunctionRegistry() {
    return sqlFunctionRegistry;
}
项目:hibernate-dynamic-dialects    文件:SessionFactoryImpl.java   
public SQLFunctionRegistry getSqlFunctionRegistry() {
    return sqlFunctionRegistry;
}
项目:lams    文件:TranslationContext.java   
/**
 * Retrieves the <tt>SQL function registry/tt> for this context.
 *
 * @return The SQL function registry.
 */
public SQLFunctionRegistry getSqlFunctionRegistry();
项目:cacheonix-core    文件:Template.java   
/**
 * Same functionality as {@link #renderWhereStringTemplate(String, String, Dialect, SQLFunctionRegistry)},
 * except that a SQLFunctionRegistry is not provided (i.e., only the dialect-defined functions are
 * considered).  This is only intended for use by the annotations project until the
 * many-to-many/map-key-from-target-table feature is pulled into core.
 *
 * @deprecated Only intended for annotations usage; use {@link #renderWhereStringTemplate(String, String, Dialect, SQLFunctionRegistry)} instead
 */
public static String renderWhereStringTemplate(String sqlWhereString, String placeholder, Dialect dialect) {
    return renderWhereStringTemplate( sqlWhereString, placeholder, dialect, new SQLFunctionRegistry( dialect, java.util.Collections.EMPTY_MAP ) );
}
项目:lams    文件:Selectable.java   
public String getTemplate(Dialect dialect, SQLFunctionRegistry functionRegistry);
项目:lams    文件:SessionFactoryImplementor.java   
public SQLFunctionRegistry getSqlFunctionRegistry();
项目:cacheonix-core    文件:Selectable.java   
public String getTemplate(Dialect dialect, SQLFunctionRegistry functionRegistry);
项目:cacheonix-core    文件:SessionFactoryImplementor.java   
public SQLFunctionRegistry getSqlFunctionRegistry();