Class DevelopmentServices

  • Direct Known Subclasses:
    MBeanDevelopmentServices

    public class DevelopmentServices
    extends java.lang.Object

    Purpose: Provide a dynamic interface into the EclipseLink Identity Map Manager.

    Description: This class is meant to provide a framework for gaining access to configuration and statistics of the EclipseLink Cache during runtime. It will provide the basis for development of a JMX service and possibly other frameworks.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected Session session
      stores access to the session object that we are controlling
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected org.eclipse.persistence.internal.sessions.AbstractSession getSession()
      INTERNAL:
      boolean getShouldBindAllParameters()
      Method returns if all Parameters should be bound or not
      int getStringBindingSize()
      Return the size of strings after which will be bound into the statement
      boolean getUsesBatchWriting()
      This method will return if batchWriting is in use or not.
      boolean getUsesByteArrayBinding()
      Shows if Byte Array Binding is turned on or not
      boolean getUsesJDBCBatchWriting()
      This method will return if batchWriting is in use or not.
      boolean getUsesNativeSQL()
      Shows if native SQL is being used
      boolean getUsesStreamsForBinding()
      This method indicates if streams are being used for binding
      boolean getUsesStringBinding()
      This method indicates if Strings are being bound
      void initializeAllIdentityMaps()
      This method is used to clear the contents of all identity maps.
      void initializeIdentityMap​(java.lang.String className)
      This method is used to clear the contents of a particular identity map.
      void refreshProject​(java.lang.String projectFilePath)
      This method used to reset a project in a session.
      void setIdentityMapForClass​(java.lang.String className, java.lang.String identityMapClassType, int maxSize)
      This method will be used to set a new type of identity map for a particular class type.
      void setShouldBindAllParameters​(boolean shouldBindAllParameters)
      This method is used to control if All parameters should be bound
      void setStringBindingSize​(int size)
      Sets the size of strings after which they will be bound into the statement
      void setUsesBatchWriting​(boolean usesBatchWriting)
      This method is used to turn on EclipseLink Batch Writing.
      void setUsesByteArrayBinding​(boolean usesByteArrayBinding)
      This method allows control of whether byte arrays should be bound into the statement or not.
      void setUsesJDBCBatchWriting​(boolean usesJDBCBatchWriting)
      This method is used to turn on JDBC Batch Writing.
      void setUsesNativeSQL​(boolean usesNativeSQL)
      This method allows the client to set if Native SQL should be used.
      void setUsesStreamsForBinding​(boolean usesStreamsForBinding)
      This method is used to set if streams should be used for binding.
      void setUsesStringBinding​(boolean usesStringBinding)
      Allows the client to set if String should be bound into the statement or not.
      void updateCacheSize​(java.lang.String className, int newSize)
      This method is used to update the cache size of a particular Identity Map
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • session

        protected Session session
        stores access to the session object that we are controlling
    • Constructor Detail

      • DevelopmentServices

        public DevelopmentServices()
        Default constructor
      • DevelopmentServices

        public DevelopmentServices​(Session session)
        Constructor
        Parameters:
        session - the session for these services
    • Method Detail

      • initializeIdentityMap

        public void initializeIdentityMap​(java.lang.String className)
                                   throws java.lang.ClassNotFoundException
        This method is used to clear the contents of a particular identity map. Users should be aware that if any of these objects are in use when this action is completed they will lose object identity.
        Parameters:
        className - the fully qualified name of the class for which the identity map should be cleared.
        Throws:
        java.lang.ClassNotFoundException - thrown then the IdenityMap for that class name could not be found
      • initializeAllIdentityMaps

        public void initializeAllIdentityMaps()
        This method is used to clear the contents of all identity maps. Users should be aware that if any of these objects are in use when this action is completed they will lose object identity.
      • setIdentityMapForClass

        public void setIdentityMapForClass​(java.lang.String className,
                                           java.lang.String identityMapClassType,
                                           int maxSize)
                                    throws java.lang.ClassNotFoundException
        This method will be used to set a new type of identity map for a particular class type. If objects of that class type are in use loss of object identity will result. For prevention client may wish to initialize all identity maps first.
        Parameters:
        className - the fully qualified className to set the identity map for.
        identityMapClassType - the fully qualified class name of the new identity map type.
        maxSize - the maximum size to be specified for the new identity map.
        Throws:
        java.lang.ClassNotFoundException - thrown then the IdenityMap for that class name could not be found
      • refreshProject

        public void refreshProject​(java.lang.String projectFilePath)
        This method used to reset a project in a session. All connected clients will get errors. project must be of the xml type. This attribute will not be stored on a save.
        Parameters:
        projectFilePath - the filename of the project xml file to build the new project from.
      • updateCacheSize

        public void updateCacheSize​(java.lang.String className,
                                    int newSize)
                             throws java.lang.ClassNotFoundException
        This method is used to update the cache size of a particular Identity Map
        Parameters:
        className - the name of the class for which to update the identity map size.
        Throws:
        java.lang.ClassNotFoundException - thrown then the IdenityMap for that class name could not be found
      • setShouldBindAllParameters

        public void setShouldBindAllParameters​(boolean shouldBindAllParameters)
        This method is used to control if All parameters should be bound
      • getShouldBindAllParameters

        public boolean getShouldBindAllParameters()
        Method returns if all Parameters should be bound or not
      • setStringBindingSize

        public void setStringBindingSize​(int size)
        Sets the size of strings after which they will be bound into the statement
      • getStringBindingSize

        public int getStringBindingSize()
        Return the size of strings after which will be bound into the statement
      • setUsesBatchWriting

        public void setUsesBatchWriting​(boolean usesBatchWriting)
        This method is used to turn on EclipseLink Batch Writing. Please note that toggling this setting while a transaction is open may result in unordered sql statements or loss of statements. Also please note that EclipseLink Batch Writing may not work with all JDBC Drivers
      • getUsesBatchWriting

        public boolean getUsesBatchWriting()
        This method will return if batchWriting is in use or not.
      • setUsesJDBCBatchWriting

        public void setUsesJDBCBatchWriting​(boolean usesJDBCBatchWriting)
        This method is used to turn on JDBC Batch Writing. Please note that toggling this setting while a transaction is open may result in mis-ordered sql statements or loss of statements.
      • getUsesJDBCBatchWriting

        public boolean getUsesJDBCBatchWriting()
        This method will return if batchWriting is in use or not.
      • setUsesByteArrayBinding

        public void setUsesByteArrayBinding​(boolean usesByteArrayBinding)
        This method allows control of whether byte arrays should be bound into the statement or not. Toggling this attribute while an SQL statement is being built, or if you are caching statements, will result in errors.
      • getUsesByteArrayBinding

        public boolean getUsesByteArrayBinding()
        Shows if Byte Array Binding is turned on or not
      • setUsesNativeSQL

        public void setUsesNativeSQL​(boolean usesNativeSQL)
        This method allows the client to set if Native SQL should be used.
      • getUsesNativeSQL

        public boolean getUsesNativeSQL()
        Shows if native SQL is being used
      • setUsesStreamsForBinding

        public void setUsesStreamsForBinding​(boolean usesStreamsForBinding)
        This method is used to set if streams should be used for binding. Please note that toggling this attribute while a statement is being built will result in errors.
      • getUsesStreamsForBinding

        public boolean getUsesStreamsForBinding()
        This method indicates if streams are being used for binding
      • setUsesStringBinding

        public void setUsesStringBinding​(boolean usesStringBinding)
        Allows the client to set if String should be bound into the statement or not. Please note that toggling this attribute while a statement is being built, or if statement caching is being used, will result in errors.
      • getUsesStringBinding

        public boolean getUsesStringBinding()
        This method indicates if Strings are being bound
      • getSession

        protected org.eclipse.persistence.internal.sessions.AbstractSession getSession()
        INTERNAL: