Class JPA2ExecutionFactory


  • @Translator(name="jpa2",
                description="A translator for JPA2 based entities")
    public class JPA2ExecutionFactory
    extends org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.teiid.translator.ExecutionFactory

        org.teiid.translator.ExecutionFactory.Format, org.teiid.translator.ExecutionFactory.NullOrder, org.teiid.translator.ExecutionFactory.SupportedJoinCriteria, org.teiid.translator.ExecutionFactory.TransactionSupport
    • Field Summary

      • Fields inherited from class org.teiid.translator.ExecutionFactory

        DEFAULT_MAX_FROM_GROUPS, DEFAULT_MAX_IN_CRITERIA_SIZE, DEFAULT_MAX_PROJECTED_COLUMNS
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void closeConnection​(javax.persistence.EntityManager connection, javax.persistence.EntityManagerFactory factory)  
      org.teiid.translator.ProcedureExecution createDirectExecution​(List<org.teiid.language.Argument> arguments, org.teiid.language.Command command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, javax.persistence.EntityManager connection)  
      org.teiid.translator.ProcedureExecution createProcedureExecution​(org.teiid.language.Call command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, javax.persistence.EntityManager connection)  
      org.teiid.translator.ResultSetExecution createResultSetExecution​(org.teiid.language.QueryExpression command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, javax.persistence.EntityManager connection)  
      org.teiid.translator.UpdateExecution createUpdateExecution​(org.teiid.language.Command command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, javax.persistence.EntityManager connection)  
      javax.persistence.EntityManager getConnection​(javax.persistence.EntityManagerFactory factory, org.teiid.translator.ExecutionContext executionContext)  
      List<String> getDefaultSupportedFunctions()  
      Map<String,​org.teiid.translator.jdbc.FunctionModifier> getFunctionModifiers()
      Return a map of function name to FunctionModifier.
      org.teiid.translator.MetadataProcessor<javax.persistence.EntityManager> getMetadataProcessor()  
      List<String> getSupportedFunctions()  
      void registerFunctionModifier​(String name, org.teiid.translator.jdbc.FunctionModifier modifier)
      Add the FunctionModifier to the set of known modifiers.
      void start()  
      boolean supportsAggregatesAvg()  
      boolean supportsAggregatesCount()  
      boolean supportsAggregatesCountStar()  
      boolean supportsAggregatesDistinct()  
      boolean supportsAggregatesMax()  
      boolean supportsAggregatesMin()  
      boolean supportsAggregatesSum()  
      boolean supportsAliasedTable()  
      boolean supportsCompareCriteriaEquals()  
      boolean supportsCompareCriteriaOrdered()  
      boolean supportsDependentJoins()  
      boolean supportsExistsCriteria()  
      boolean supportsGroupBy()  
      boolean supportsHaving()  
      boolean supportsInCriteria()  
      boolean supportsInCriteriaSubquery()  
      boolean supportsInlineViews()  
      boolean supportsIsNullCriteria()  
      boolean supportsLikeCriteria()  
      boolean supportsNotCriteria()  
      boolean supportsOrCriteria()  
      boolean supportsRowLimit()  
      boolean supportsRowOffset()  
      boolean supportsScalarSubqueries()  
      boolean supportsSelectExpression()  
      boolean supportsSelfJoins()  
      boolean useAnsiJoin()  
      • Methods inherited from class org.teiid.translator.ExecutionFactory

        addPushDownFunction, areLobsUsableAfterClose, createExecution, getCacheDirective, getCollationLocale, getConnection, getDefaultNullOrder, getDirectQueryProcedureName, getExcludedCommonTableExpressionName, getInstance, getLanguageFactory, getMaxDependentInPredicates, getMaxFromGroups, getMaxInCriteriaSize, getMaxProjectedColumns, getMetadata, getNativeQueryProcedureName, getPushDownFunctions, getRequiredLikeEscape, getSupportedJoinCriteria, getTransactionSupport, getTypeFacility, initCapabilities, isCopyLobs, isForkable, isImmutable, isSourceRequired, isSourceRequiredForCapabilities, isSourceRequiredForMetadata, isThreadBound, requiresCriteria, returnsSingleUpdateCount, setCollationLocale, setCopyLobs, setDirectQueryProcedureName, setExcludedCommonTableExpressionName, setImmutable, setMaxDependentInPredicates, setMaxInCriteriaSize, setNativeQueryProcedureName, setRequiresCriteria, setSourceRequired, setSourceRequiredForMetadata, setSupportedJoinCriteria, setSupportsDirectQueryProcedure, setSupportsFullOuterJoins, setSupportsInnerJoins, setSupportsNativeQueries, setSupportsOrderBy, setSupportsOuterJoins, setSupportsSelectDistinct, setThreadBound, setTransactionSupport, supportsAdvancedOlapOperations, supportsAggregatesCountBig, supportsAggregatesEnhancedNumeric, supportsArrayAgg, supportsArrayType, supportsBatchedUpdates, supportsBulkUpdate, supportsCommonTableExpressions, supportsCompareCriteriaOrderedExclusive, supportsConvert, supportsCorrelatedSubqueries, supportsCorrelatedSubqueryLimit, supportsDirectQueryProcedure, supportsElementaryOlapOperations, supportsExcept, supportsFormatLiteral, supportsFullDependentJoins, supportsFullOuterJoins, supportsFunctionsInGroupBy, supportsGeographyType, supportsGroupByMultipleDistinctAggregates, supportsGroupByRollup, supportsInnerJoins, supportsInsertWithQueryExpression, supportsIntersect, supportsIsDistinctCriteria, supportsLateralJoin, supportsLateralJoinCondition, supportsLikeCriteriaEscapeCharacter, supportsLikeRegex, supportsListAgg, supportsMultipleOpenExecutions, supportsNativeQueries, supportsOnlyCorrelatedSubqueries, supportsOnlyFormatLiterals, supportsOnlyLateralJoinProcedure, supportsOnlyLiteralComparison, supportsOnlySingleTableGroupBy, supportsOnlyTimestampAddLiteral, supportsOrderBy, supportsOrderByNullOrdering, supportsOrderByUnrelated, supportsOrderByWithExtendedGrouping, supportsOuterJoins, supportsPartialFiltering, supportsProcedureParameterExpression, supportsProcedureTable, supportsQuantifiedCompareCriteriaAll, supportsQuantifiedCompareCriteriaSome, supportsRecursiveCommonTableExpressions, supportsScalarSubqueryProjection, supportsSearchedCaseExpressions, supportsSelectDistinct, supportsSelectExpressionArrayType, supportsSelectWithoutFrom, supportsSetQueryLimitOffset, supportsSetQueryOrderBy, supportsSimilarTo, supportsStringAgg, supportsSubqueryCommonTableExpressions, supportsSubqueryInOn, supportsUnions, supportsUpsert, supportsWindowDistinctAggregates, supportsWindowFrameClause, supportsWindowFunctionCumeDist, supportsWindowFunctionNthValue, supportsWindowFunctionNtile, supportsWindowFunctionPercentRank, supportsWindowOrderByWithAggregates, useBindingsForDependentJoin
    • Constructor Detail

      • JPA2ExecutionFactory

        public JPA2ExecutionFactory()
    • Method Detail

      • start

        public void start()
                   throws org.teiid.translator.TranslatorException
        Overrides:
        start in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
        Throws:
        org.teiid.translator.TranslatorException
      • getConnection

        public javax.persistence.EntityManager getConnection​(javax.persistence.EntityManagerFactory factory,
                                                             org.teiid.translator.ExecutionContext executionContext)
                                                      throws org.teiid.translator.TranslatorException
        Overrides:
        getConnection in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
        Throws:
        org.teiid.translator.TranslatorException
      • closeConnection

        public void closeConnection​(javax.persistence.EntityManager connection,
                                    javax.persistence.EntityManagerFactory factory)
        Overrides:
        closeConnection in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • createResultSetExecution

        public org.teiid.translator.ResultSetExecution createResultSetExecution​(org.teiid.language.QueryExpression command,
                                                                                org.teiid.translator.ExecutionContext executionContext,
                                                                                org.teiid.metadata.RuntimeMetadata metadata,
                                                                                javax.persistence.EntityManager connection)
                                                                         throws org.teiid.translator.TranslatorException
        Overrides:
        createResultSetExecution in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
        Throws:
        org.teiid.translator.TranslatorException
      • createProcedureExecution

        public org.teiid.translator.ProcedureExecution createProcedureExecution​(org.teiid.language.Call command,
                                                                                org.teiid.translator.ExecutionContext executionContext,
                                                                                org.teiid.metadata.RuntimeMetadata metadata,
                                                                                javax.persistence.EntityManager connection)
                                                                         throws org.teiid.translator.TranslatorException
        Overrides:
        createProcedureExecution in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
        Throws:
        org.teiid.translator.TranslatorException
      • createUpdateExecution

        public org.teiid.translator.UpdateExecution createUpdateExecution​(org.teiid.language.Command command,
                                                                          org.teiid.translator.ExecutionContext executionContext,
                                                                          org.teiid.metadata.RuntimeMetadata metadata,
                                                                          javax.persistence.EntityManager connection)
                                                                   throws org.teiid.translator.TranslatorException
        Overrides:
        createUpdateExecution in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
        Throws:
        org.teiid.translator.TranslatorException
      • createDirectExecution

        public org.teiid.translator.ProcedureExecution createDirectExecution​(List<org.teiid.language.Argument> arguments,
                                                                             org.teiid.language.Command command,
                                                                             org.teiid.translator.ExecutionContext executionContext,
                                                                             org.teiid.metadata.RuntimeMetadata metadata,
                                                                             javax.persistence.EntityManager connection)
                                                                      throws org.teiid.translator.TranslatorException
        Overrides:
        createDirectExecution in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
        Throws:
        org.teiid.translator.TranslatorException
      • getMetadataProcessor

        public org.teiid.translator.MetadataProcessor<javax.persistence.EntityManager> getMetadataProcessor()
        Overrides:
        getMetadataProcessor in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsSelectExpression

        public boolean supportsSelectExpression()
        Overrides:
        supportsSelectExpression in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsAliasedTable

        public boolean supportsAliasedTable()
        Overrides:
        supportsAliasedTable in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsInlineViews

        public boolean supportsInlineViews()
        Overrides:
        supportsInlineViews in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsCompareCriteriaEquals

        public boolean supportsCompareCriteriaEquals()
        Overrides:
        supportsCompareCriteriaEquals in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsCompareCriteriaOrdered

        public boolean supportsCompareCriteriaOrdered()
        Overrides:
        supportsCompareCriteriaOrdered in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsLikeCriteria

        public boolean supportsLikeCriteria()
        Overrides:
        supportsLikeCriteria in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsInCriteria

        public boolean supportsInCriteria()
        Overrides:
        supportsInCriteria in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsInCriteriaSubquery

        public boolean supportsInCriteriaSubquery()
        Overrides:
        supportsInCriteriaSubquery in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsIsNullCriteria

        public boolean supportsIsNullCriteria()
        Overrides:
        supportsIsNullCriteria in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsOrCriteria

        public boolean supportsOrCriteria()
        Overrides:
        supportsOrCriteria in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsNotCriteria

        public boolean supportsNotCriteria()
        Overrides:
        supportsNotCriteria in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsExistsCriteria

        public boolean supportsExistsCriteria()
        Overrides:
        supportsExistsCriteria in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsGroupBy

        public boolean supportsGroupBy()
        Overrides:
        supportsGroupBy in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsHaving

        public boolean supportsHaving()
        Overrides:
        supportsHaving in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsAggregatesSum

        public boolean supportsAggregatesSum()
        Overrides:
        supportsAggregatesSum in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsAggregatesAvg

        public boolean supportsAggregatesAvg()
        Overrides:
        supportsAggregatesAvg in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsAggregatesMin

        public boolean supportsAggregatesMin()
        Overrides:
        supportsAggregatesMin in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsAggregatesMax

        public boolean supportsAggregatesMax()
        Overrides:
        supportsAggregatesMax in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsAggregatesCount

        public boolean supportsAggregatesCount()
        Overrides:
        supportsAggregatesCount in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsAggregatesCountStar

        public boolean supportsAggregatesCountStar()
        Overrides:
        supportsAggregatesCountStar in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsAggregatesDistinct

        public boolean supportsAggregatesDistinct()
        Overrides:
        supportsAggregatesDistinct in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsScalarSubqueries

        public boolean supportsScalarSubqueries()
        Overrides:
        supportsScalarSubqueries in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • useAnsiJoin

        public boolean useAnsiJoin()
        Overrides:
        useAnsiJoin in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsDependentJoins

        public boolean supportsDependentJoins()
        Overrides:
        supportsDependentJoins in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsSelfJoins

        public boolean supportsSelfJoins()
        Overrides:
        supportsSelfJoins in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsRowLimit

        public boolean supportsRowLimit()
        Overrides:
        supportsRowLimit in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • supportsRowOffset

        public boolean supportsRowOffset()
        Overrides:
        supportsRowOffset in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • getSupportedFunctions

        public List<String> getSupportedFunctions()
        Overrides:
        getSupportedFunctions in class org.teiid.translator.ExecutionFactory<javax.persistence.EntityManagerFactory,​javax.persistence.EntityManager>
      • getFunctionModifiers

        public Map<String,​org.teiid.translator.jdbc.FunctionModifier> getFunctionModifiers()
        Return a map of function name to FunctionModifier.
        Returns:
        Map of function name to FunctionModifier.
      • registerFunctionModifier

        public void registerFunctionModifier​(String name,
                                             org.teiid.translator.jdbc.FunctionModifier modifier)
        Add the FunctionModifier to the set of known modifiers.
        Parameters:
        name -
        modifier -
      • getDefaultSupportedFunctions

        public List<String> getDefaultSupportedFunctions()