# Serialized Form

- ## Package com.isomorphic.base

  - ### Class com.isomorphic.base.Init extends javax.servlet.http.HttpServlet implements Serializable

- ## Package com.isomorphic.criteria

  - ### Class com.isomorphic.criteria.SimpleCriteria extends java.util.HashMap implements Serializable

- ## Package com.isomorphic.criteria.criterion

  - ### Class com.isomorphic.criteria.criterion.CustomCriterion extends java.util.HashMap implements Serializable

- ## Package com.isomorphic.datasource

  - ### Class com.isomorphic.datasource.BasicDataSource extends DataSource implements Serializable

  - ### Class com.isomorphic.datasource.DataSource extends Base implements Serializable

  - ### Class com.isomorphic.datasource.SummaryFunctionType extends java.lang.Enum implements Serializable

  - ### Class com.isomorphic.datasource.TextMatchStyle extends java.lang.Enum implements Serializable

  - ### Class com.isomorphic.datasource.ValidationContext extends java.util.HashMap implements Serializable

  - ### Class com.isomorphic.datasource.Validator extends java.util.HashMap implements Serializable

- ## Package com.isomorphic.hibernate

  - ### Class com.isomorphic.hibernate.HibernateDataSource extends BasicDataSource implements Serializable

    - ### Serialized Fields

      - #### configName

            java.lang.String configName

        Holds config name - can be configured with "jpaConfig" parameter. Holds empty string for default configuration.

      - #### relatedUpdates

            java.util.List relatedUpdates

        Holds list of generated related updates. Usage: set this field to empty list before executing `setProperties()`; subsequent calls to `setRelationFieldValue()` will add `DSResponse` objects for every change in related data sources.

      - #### generateRelatedUpdates

            java.lang.Boolean generateRelatedUpdates

        Holds value should related updates be generated. (Re)initialized on every `execute()` call. `true` - related updates will be generated; `false` - related updates will not be generated; `null` - related updates will be generated only for "add" and "update" operations, related updates will not be generated for "remove" operation.

      - #### additionalFields

            java.util.Map additionalFields

        Holds list of additional fields requested by specific `DSRequest`.

- ## Package com.isomorphic.jpa

  - ### Class com.isomorphic.jpa.GAEJPADataSource extends JPADataSource implements Serializable

  - ### Class com.isomorphic.jpa.JPA2DataSource extends JPADataSource implements Serializable

  - ### Class com.isomorphic.jpa.JPADataSource extends BasicDataSource implements Serializable

    - ### Serialized Fields

      - #### configName

            java.lang.String configName

        Holds config name - can be configured with "jpaConfig" parameter. Holds empty string for default configuration.

      - #### beanClass

            java.lang.Class beanClass

        Holds class from the DataSource definition.

      - #### beanName

            java.lang.String beanName

        Holds bean name - simple class name with preceding underscore. Defaults to "_beanName" if class is anonymous. Used in creating query.

      - #### idClass

            java.lang.Class idClass

        Holds id class from the DataSource definition.

      - #### strictSQLFiltering

            boolean strictSQLFiltering

        If set to true, advanced filtering will follow SQL99 behavior for dealing with NULL values, which is often counter-intuitive to users.

      - #### useQualifiedClassName

            java.lang.Boolean useQualifiedClassName

        According to JPA specifications only simple class name can be used in queries. Some providers follows these specs strictly (for example EclipseLink). Some providers allows using fully-qualified class name usage (for example Hibernate, Datanucleus). Setting defaults to `false` - simple class name usage. To resolve class name collisions this setting can be set to `true` (should be used with provider supporting fully-qualified class name usage).

      - #### em

            javax.persistence.EntityManager em

        Holds entity manager for operations with underlying data.

      - #### tx

            java.lang.Object tx

        Holds transaction object.

      - #### shouldRollBackTransaction

            boolean shouldRollBackTransaction

        Flag used to indicate that transaction should be rolled back.

      - #### connectionHolder

            JPAConnectionHolder connectionHolder

        Holds connection information for Automatic Transactions.

      - #### additionalFields

            java.util.Map additionalFields

        Holds list of additional fields requested by specific `DSRequest`.

      - #### relatedUpdates

            java.util.List relatedUpdates

        Holds list of generated related updates. Usage: set this field to empty list before executing `setProperties()`; subsequent calls to `setRelationFieldValue()` will add `DSResponse` objects for every change in related data sources.

      - #### generateRelatedUpdates

            java.lang.Boolean generateRelatedUpdates

        Holds value should related updates be generated. (Re)initialized on every `execute()` call. `true` - related updates will be generated; `false` - related updates will not be generated; `null` - related updates will be generated only for "add" and "update" operations, related updates will not be generated for "remove" operation.

- ## Package com.isomorphic.js

  - ### Class com.isomorphic.js.UnconvertableException extends java.lang.Exception implements Serializable

- ## Package com.isomorphic.mail

  - ### Class com.isomorphic.mail.MailMessageParseMode extends java.lang.Enum implements Serializable

- ## Package com.isomorphic.messaging

  - ### Class com.isomorphic.messaging.MessagingServlet extends BaseServlet implements Serializable

- ## Package com.isomorphic.rpc

  - ### Class com.isomorphic.rpc.ClientMustResubmitException extends java.lang.Exception implements Serializable

  - ### Class com.isomorphic.rpc.QueueAlreadyStartedException extends java.lang.Exception implements Serializable

- ## Package com.isomorphic.servlet

  - ### Class com.isomorphic.servlet.BaseServlet extends javax.servlet.http.HttpServlet implements Serializable

  - ### Class com.isomorphic.servlet.DataSourceLoader extends BaseServlet implements Serializable

    - ### Serialized Fields

      - #### enablePrettyPrinting

            boolean enablePrettyPrinting

        Enables/disables pretty printing (formatting) of the output. Default value is false.

  - ### Class com.isomorphic.servlet.FeatureExplorerRPC extends BaseServlet implements Serializable

  - ### Class com.isomorphic.servlet.FileAssembly extends BaseServlet implements Serializable

    - ### Serialized Fields

      - #### configFile

            java.lang.String configFile

        Sets the configuration file for this servlet instance. This is a webRoot-relative path to the configuration file. The default is "/isomorphicConfig/fileAssembly.xml".

  - ### Class com.isomorphic.servlet.FileDownload extends BaseServlet implements Serializable

    - ### Serialized Fields

      - #### expires

            java.util.Map expires

        This is a comma separated expiration mapping of the form: `mimeType:seconds to expiry`. This allows you to specify how long the browser is allowed to cache the file maching a given mime type from the time the file is originally served.

        For example, to set javascript files to expire in 1 hour and gif images to expire in 1 day: `text/javascript:3600,image/gif:86400`

        The comparison is an exact match of the specified mimeType against what the container returns for the intercepted URL. So, for example, if you specified `text/javascript:3600` here, but the container was configured to return `application/x-javascript` for *.js (a common mimeType for javascript), then your expiry setting for *.js files would not apply.

      - #### charsets

            java.util.Map charsets

        This is a comma separated expiration mapping of the form: `mimeType:charset` This allows you to specify a character encoding for a given mimeType.

        For example, to set javascript files to be served with the UTF-8 encoding, set this value to: `text/javascript:UTF-8`

        For mimeTypes that do not have a charset specified, no charset setting is applied, so the container default is used.

        The comparison is an exact match of the specified mimeType against what the container returns for the intercepted URL. So, for example, if you specified `text/javascript:UTF-8` here, but the container was configured to return `application/x-javascript` for *.js (a common mimeType for javascript), then your charset setting for *.js files would not apply.

      - #### stripPathComponents

            int stripPathComponents

        Instructs this servlet to remove the specified number of paths components from the URI before looking for the file on disk. This is useful if you're injecting a version string into your URI that isn't actually part of the path and you can't stript this off more efficiently at a different layer (e.g. Apache mod_rewrite).

  - ### Class com.isomorphic.servlet.HttpProxyServlet extends BaseServlet implements Serializable

    - ### Serialized Fields

      - #### proxyHost

            java.lang.String proxyHost

        If outbound HTTP requests from this proxy must go through a proxy, you can set the hostname of the proxy server via this parameter.

        If the JVM executing this servlet can make direct HTTP connections to the relevant hosts, leave this parameter unset.

      - #### rulesFile

            java.lang.String rulesFile

        Specifies path to a file that contains a set of regexp rules that constrain what URLs this servlet will proxy to. The format of the rulesFile is a list of regular expressions in a JSON array. For example:

             var rules = [
                "match:http://www.slashdot.org/",
             ];

        Note: The rulesFile path is treated as relative to webRoot.
        See Also:
          `HttpProxyServlet.rules`

      - #### useURLCache

            boolean useURLCache

        This parameter controls whether the URLCache is enabled or not.
        If this servlet users regular expressions via the `rulesFile`, the URL Cache will cache the result of the application of relevant rules for any given URL. The URL Cache drastically speeds up subsequent rule applications at the cost of memory.

        Note: the cache is automatically disabled if there are no rules to apply. Performance: The URL cache is an LRU Map. If you're using this servlet on a large-scale site with a lot of unique URLs, you may want to tune its size via the `urlCacheSize` parameter to balance between memory usage and performance.

        See Also:
          `HttpProxyServlet.urlCacheSize`

      - #### urlCacheSize

            int urlCacheSize

        Specifies the size of the URLCache. Note that each servlet definition will have its own URLCache.

      - #### rules

            java.util.List rules

        You can specify rules defining the set of URLs proxyable by this servlet inline in web.xml. To do so, place the rules one to a line (newline separated) under the `rules` init-param of this servlet. For example:

             <servlet>
               <servlet-name>HttpProxyServlet</servlet-name>
               <servlet-class>com.isomorphic.servlet.HttpProxyServlet</servlet-class>
               <init-param>
                   <param-name>rules</param-name>
                   <param-value>
                       match:http://www.slashdot.org/
                   </param-value>
               </init-param>
             </servlet>

        Each rule consists of a type (either "match:" or "block:") followed by a regular expression. Each URL that is sent to the servlet for proxying is compared against the list of rules, and the first one that applies is used. This allows you to, for example, block certain URLs within a domain that is otherwise permitted. NOTE: The presence of rules implies that a restriction is required, so the servlet will block any URL that does not match a "match:"-type rule, as well as any URL that explicitly matches a "block:"-type rule. If you want a completely open proxy (ie, no restrictions on the URLs that can be proxied), leave rules unspecified. If you want an arrangement whereby you block certain URL patterns and allow all others through, specify a catch-all as your last rule - something like `"match:|http:/|"`
        See Also:
          `HttpProxyServlet.rulesFile`

      - #### acceptInvalidAndExpiredSSLCertificates

            boolean acceptInvalidAndExpiredSSLCertificates

        Deprecated. As of release 12, replaced by `HttpProxyServlet.sslTrustStrategy`
        If set to true, the proxy will accept invalid and expired SSL certificates from the proxied URL. If false (the default), an error is returned if the proxied URL is SSL-based and the certification is invalid or expired.

      - #### redirectStrategy

            java.lang.String redirectStrategy

        Sets the redirect strategy. Valid values:
        "default" - This strategy honors the restrictions on automatic redirection of entity enclosing methods such as POST and PUT imposed by the HTTP specification. 302 Moved Temporarily, 301 Moved Permanently and 307 Temporary Redirect status codes will result in an automatic redirect of HEAD and GET methods only. POST and PUT methods will not be automatically redirected as requiring user confirmation.
        "lax" - automatically redirects all HEAD, GET, POST, and DELETE requests. This strategy relaxes restrictions on automatic redirection of POST methods imposed by the HTTP specification.

      - #### sslTrustStrategy

            java.lang.String sslTrustStrategy

        Sets the SSL trust strategy. Valid values:
        "default" - Follows the standard JSSE certificate verification process.
        "trustSelfSigned" - A trust strategy that accepts self-signed certificates as trusted. Verification of all other certificates is done by the trust manager configured in the SSL context.
        "trustAll" - A trust strategy that accepts all certificates as trusted. This mode also disables hostname verification.

      - #### proxyPort

            int proxyPort

        If outbound HTTP requests from this proxy must go through a proxy, you can set the port of the proxy server via this parameter.

        If the JVM executing this servlet can make direct HTTP connections to the relevant hosts, leave this parameter unset.

  - ### Class com.isomorphic.servlet.IDACall extends BaseServlet implements Serializable

  - ### Class com.isomorphic.servlet.PreCache extends BaseServlet implements Serializable

  - ### Class com.isomorphic.servlet.RESTHandler extends BaseServlet implements Serializable

  - ### Class com.isomorphic.servlet.ScreenLoaderServlet extends BaseServlet implements Serializable

- ## Package com.isomorphic.sql

  - ### Class com.isomorphic.sql.HSQLShutdown extends BaseServlet implements Serializable

  - ### Class com.isomorphic.sql.SQLClauseType extends java.lang.Enum implements Serializable

  - ### Class com.isomorphic.sql.SQLDataSource extends BasicDataSource implements Serializable

- ## Package com.isomorphic.tools

  - ### Class com.isomorphic.tools.DataImport.ImportFormat extends java.lang.Enum implements Serializable

- ## Package com.isomorphic.util

  - ### Class com.isomorphic.util.ErrorMessage extends java.util.HashMap implements Serializable

  - ### Class com.isomorphic.util.ErrorReport extends java.util.LinkedHashMap implements Serializable

  - ### Class com.isomorphic.util.LocaleMessageSourceEnum extends java.lang.Enum implements Serializable

- ## Package com.isomorphic.util.date

  - ### Class com.isomorphic.util.date.Period extends java.lang.Enum implements Serializable

  - ### Class com.isomorphic.util.date.RelativeDateRangePosition extends java.lang.Enum implements Serializable

  - ### Class com.isomorphic.util.date.RelativeDateShortcut extends java.lang.Enum implements Serializable