Class LDAPExecutionFactory


  • @Translator(name="ldap",
                description="A translator for LDAP directory")
    public class LDAPExecutionFactory
    extends org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
    LDAP translator. This is responsible for initializing a connection factory, and obtaining connections to LDAP.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  LDAPExecutionFactory.SearchDefaultScope  
      • 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 
      Modifier and Type Field Description
      static String DN_PREFIX  
      static String RDN_TYPE  
      static String UNWRAP  
      • 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
      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, LdapContext context)  
      org.teiid.translator.ProcedureExecution createProcedureExecution​(org.teiid.language.Call command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, LdapContext connection)  
      org.teiid.translator.ResultSetExecution createResultSetExecution​(org.teiid.language.QueryExpression command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, LdapContext context)  
      org.teiid.translator.UpdateExecution createUpdateExecution​(org.teiid.language.Command command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, LdapContext context)  
      int getMaxFromGroups()  
      String getSearchDefaultBaseDN()  
      LDAPExecutionFactory.SearchDefaultScope getSearchDefaultScope()  
      boolean isExceptionOnSizeLimitExceeded()  
      boolean isRestrictToObjectClass()  
      void setExceptionOnSizeLimitExceeded​(boolean exceptionOnSizeLimitExceeded)  
      void setRestrictToObjectClass​(boolean restrictToObjectClass)  
      void setSearchDefaultBaseDN​(String searchDefaultBaseDN)  
      void setSearchDefaultScope​(LDAPExecutionFactory.SearchDefaultScope searchDefaultScope)  
      void setUsePagination​(boolean usePagination)  
      boolean supportsCompareCriteriaEquals()  
      boolean supportsCompareCriteriaOrdered()  
      boolean supportsInCriteria()  
      boolean supportsLikeCriteria()  
      boolean supportsLikeCriteriaEscapeCharacter()  
      boolean supportsNotCriteria()  
      boolean supportsOnlyLiteralComparison()  
      boolean supportsOrCriteria()  
      boolean supportsPartialFiltering()  
      boolean supportsRowLimit()  
      boolean supportsRowOffset()  
      boolean useAnsiJoin()  
      boolean usePagination()  
      • Methods inherited from class org.teiid.translator.ExecutionFactory

        addPushDownFunction, areLobsUsableAfterClose, closeConnection, createExecution, getCacheDirective, getCollationLocale, getConnection, getConnection, getDefaultNullOrder, getDirectQueryProcedureName, getExcludedCommonTableExpressionName, getInstance, getLanguageFactory, getMaxDependentInPredicates, getMaxInCriteriaSize, getMaxProjectedColumns, getMetadata, getMetadataProcessor, getNativeQueryProcedureName, getPushDownFunctions, getRequiredLikeEscape, getSupportedFunctions, 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, start, supportsAdvancedOlapOperations, supportsAggregatesAvg, supportsAggregatesCount, supportsAggregatesCountBig, supportsAggregatesCountStar, supportsAggregatesDistinct, supportsAggregatesEnhancedNumeric, supportsAggregatesMax, supportsAggregatesMin, supportsAggregatesSum, supportsAliasedTable, supportsArrayAgg, supportsArrayType, supportsBatchedUpdates, supportsBulkUpdate, supportsCommonTableExpressions, supportsCompareCriteriaOrderedExclusive, supportsConvert, supportsCorrelatedSubqueries, supportsCorrelatedSubqueryLimit, supportsDependentJoins, supportsDirectQueryProcedure, supportsElementaryOlapOperations, supportsExcept, supportsExistsCriteria, supportsFormatLiteral, supportsFullDependentJoins, supportsFullOuterJoins, supportsFunctionsInGroupBy, supportsGeographyType, supportsGroupBy, supportsGroupByMultipleDistinctAggregates, supportsGroupByRollup, supportsHaving, supportsInCriteriaSubquery, supportsInlineViews, supportsInnerJoins, supportsInsertWithQueryExpression, supportsIntersect, supportsIsDistinctCriteria, supportsIsNullCriteria, supportsLateralJoin, supportsLateralJoinCondition, supportsLikeRegex, supportsListAgg, supportsMultipleOpenExecutions, supportsNativeQueries, supportsOnlyCorrelatedSubqueries, supportsOnlyFormatLiterals, supportsOnlyLateralJoinProcedure, supportsOnlySingleTableGroupBy, supportsOnlyTimestampAddLiteral, supportsOrderBy, supportsOrderByNullOrdering, supportsOrderByUnrelated, supportsOrderByWithExtendedGrouping, supportsOuterJoins, supportsProcedureParameterExpression, supportsProcedureTable, supportsQuantifiedCompareCriteriaAll, supportsQuantifiedCompareCriteriaSome, supportsRecursiveCommonTableExpressions, supportsScalarSubqueries, supportsScalarSubqueryProjection, supportsSearchedCaseExpressions, supportsSelectDistinct, supportsSelectExpression, supportsSelectExpressionArrayType, supportsSelectWithoutFrom, supportsSelfJoins, supportsSetQueryLimitOffset, supportsSetQueryOrderBy, supportsSimilarTo, supportsStringAgg, supportsSubqueryCommonTableExpressions, supportsSubqueryInOn, supportsUnions, supportsUpsert, supportsWindowDistinctAggregates, supportsWindowFrameClause, supportsWindowFunctionCumeDist, supportsWindowFunctionNthValue, supportsWindowFunctionNtile, supportsWindowFunctionPercentRank, supportsWindowOrderByWithAggregates, useBindingsForDependentJoin
    • Constructor Detail

      • LDAPExecutionFactory

        public LDAPExecutionFactory()
    • Method Detail

      • getSearchDefaultBaseDN

        @TranslatorProperty(display="Default Search Base DN",
                            description="Default Base DN for LDAP Searches")
        public String getSearchDefaultBaseDN()
      • setSearchDefaultBaseDN

        public void setSearchDefaultBaseDN​(String searchDefaultBaseDN)
      • isRestrictToObjectClass

        @TranslatorProperty(display="Restrict Searches To Named Object Class",
                            description="Restrict Searches to objectClass named in the Name field for a table",
                            advanced=true)
        public boolean isRestrictToObjectClass()
      • setRestrictToObjectClass

        public void setRestrictToObjectClass​(boolean restrictToObjectClass)
      • getSearchDefaultScope

        @TranslatorProperty(display="Default Search Scope",
                            description="Default Scope for LDAP Searches")
        public LDAPExecutionFactory.SearchDefaultScope getSearchDefaultScope()
      • createResultSetExecution

        public org.teiid.translator.ResultSetExecution createResultSetExecution​(org.teiid.language.QueryExpression command,
                                                                                org.teiid.translator.ExecutionContext executionContext,
                                                                                org.teiid.metadata.RuntimeMetadata metadata,
                                                                                LdapContext context)
                                                                         throws org.teiid.translator.TranslatorException
        Overrides:
        createResultSetExecution in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
        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,
                                                                          LdapContext context)
                                                                   throws org.teiid.translator.TranslatorException
        Overrides:
        createUpdateExecution in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
        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,
                                                                             LdapContext context)
                                                                      throws org.teiid.translator.TranslatorException
        Overrides:
        createDirectExecution in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
        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,
                                                                                LdapContext connection)
                                                                         throws org.teiid.translator.TranslatorException
        Overrides:
        createProcedureExecution in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
        Throws:
        org.teiid.translator.TranslatorException
      • supportsCompareCriteriaEquals

        public boolean supportsCompareCriteriaEquals()
        Overrides:
        supportsCompareCriteriaEquals in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
      • supportsInCriteria

        public boolean supportsInCriteria()
        Overrides:
        supportsInCriteria in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
      • supportsLikeCriteria

        public boolean supportsLikeCriteria()
        Overrides:
        supportsLikeCriteria in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
      • supportsOrCriteria

        public boolean supportsOrCriteria()
        Overrides:
        supportsOrCriteria in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
      • supportsRowLimit

        public boolean supportsRowLimit()
        Overrides:
        supportsRowLimit in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
      • supportsRowOffset

        public boolean supportsRowOffset()
        Overrides:
        supportsRowOffset in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
      • supportsCompareCriteriaOrdered

        public boolean supportsCompareCriteriaOrdered()
        Overrides:
        supportsCompareCriteriaOrdered in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
      • supportsNotCriteria

        public boolean supportsNotCriteria()
        Overrides:
        supportsNotCriteria in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
      • usePagination

        @TranslatorProperty(display="Use Pagination",
                            description="Use a PagedResultsControl to page through large results.  This is not supported by all directory servers.")
        public boolean usePagination()
      • setUsePagination

        public void setUsePagination​(boolean usePagination)
      • isExceptionOnSizeLimitExceeded

        @TranslatorProperty(display="Exception on Size Limit Exceeded",
                            description="Set to true to throw an exception when a SizeLimitExceededException is received and a LIMIT is not properly enforced.")
        public boolean isExceptionOnSizeLimitExceeded()
      • setExceptionOnSizeLimitExceeded

        public void setExceptionOnSizeLimitExceeded​(boolean exceptionOnSizeLimitExceeded)
      • supportsOnlyLiteralComparison

        public boolean supportsOnlyLiteralComparison()
        Overrides:
        supportsOnlyLiteralComparison in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
      • supportsLikeCriteriaEscapeCharacter

        public boolean supportsLikeCriteriaEscapeCharacter()
        Overrides:
        supportsLikeCriteriaEscapeCharacter in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
      • getMaxFromGroups

        public int getMaxFromGroups()
        Overrides:
        getMaxFromGroups in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
      • useAnsiJoin

        public boolean useAnsiJoin()
        Overrides:
        useAnsiJoin in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>
      • supportsPartialFiltering

        public boolean supportsPartialFiltering()
        Overrides:
        supportsPartialFiltering in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​LdapContext>