Interface LanguageConnectionFactory

  • All Known Implementing Classes:
    GenericLanguageConnectionFactory

    public interface LanguageConnectionFactory
    Factory interface for items specific to a connection in the language system. This is expected to be used internally, and so is not in Language.Interface.

    This Factory provides pointers to other language factories; the LanguageConnectionContext holds more dynamic information, such as prepared statements and whether a commit has occurred or not.

    This Factory is for internal items used throughout language during a connection. Things that users need for the Database API are in LanguageFactory in Language.Interface.

    This factory returns (and thus starts) all the other per-database language factories. So there might someday be properties as to which ones to start (attributes, say, like level of optimization). If the request is relative to a specific connection, the connection is passed in. Otherwise, they are assumed to be database-wide services.

    See Also:
    LanguageFactory
    • Field Detail

      • MODULE

        static final java.lang.String MODULE
        Used to locate this factory by the Monitor basic service. There needs to be a language factory per database.
        See Also:
        Constant Field Values
    • Method Detail

      • getStatement

        Statement getStatement​(SchemaDescriptor compilationSchema,
                               java.lang.String statementText,
                               boolean forReadOnly)
        Get a Statement
        Parameters:
        compilationSchema - schema
        statementText - the text for the statement
        forReadOnly - true if concurrency mode is CONCUR_READ_ONLY
        Returns:
        The Statement
      • newLanguageConnectionContext

        LanguageConnectionContext newLanguageConnectionContext​(ContextManager cm,
                                                               TransactionController tc,
                                                               LanguageFactory lf,
                                                               Database db,
                                                               java.lang.String userName,
                                                               java.lang.String drdaID,
                                                               java.lang.String dbname)
                                                        throws StandardException
        Get a new LanguageConnectionContext. this holds things we want to remember about activity in the language system, where this factory holds things that are pretty stable, like other factories.

        The returned LanguageConnectionContext is intended for use only by the connection that requested it.

        Returns:
        a language connection context for the context stack.
        Throws:
        StandardException - the usual
      • getUUIDFactory

        UUIDFactory getUUIDFactory()
        Get the UUIDFactory to use with this language connection
      • getClassFactory

        ClassFactory getClassFactory()
        Get the ClassFactory to use with this language connection
      • getJavaFactory

        JavaFactory getJavaFactory()
        Get the JavaFactory to use with this language connection
      • getExecutionFactory

        ExecutionFactory getExecutionFactory()
        Get the ExecutionFactory to use with this language connection
      • getPropertyFactory

        PropertyFactory getPropertyFactory()
        Get the PropertyFactory to use with this language connection
      • getOptimizerFactory

        OptimizerFactory getOptimizerFactory()
        Get the OptimizerFactory to use with this language connection
      • getTypeCompilerFactory

        TypeCompilerFactory getTypeCompilerFactory()
        Get the TypeCompilerFactory to use with this language connection
      • getDataValueFactory

        DataValueFactory getDataValueFactory()
        Get the DataValueFactory to use with this language connection This is expected to get stuffed into the language connection context and accessed from there.