Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id A93BF200B26 for ; Sun, 12 Jun 2016 22:27:19 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id A820F160A04; Sun, 12 Jun 2016 20:27:19 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 62425160A2C for ; Sun, 12 Jun 2016 22:27:17 +0200 (CEST) Received: (qmail 4048 invoked by uid 500); 12 Jun 2016 20:27:16 -0000 Mailing-List: contact notifications-help@freemarker.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@freemarker.incubator.apache.org Delivered-To: mailing list notifications@freemarker.incubator.apache.org Received: (qmail 4039 invoked by uid 99); 12 Jun 2016 20:27:16 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 12 Jun 2016 20:27:16 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 12ECAC1B23 for ; Sun, 12 Jun 2016 20:27:16 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -3.446 X-Spam-Level: X-Spam-Status: No, score=-3.446 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, KAM_MANYCOMMENTS=1.2, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.426] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id HY5Mf7z4qcoB for ; Sun, 12 Jun 2016 20:27:06 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id C5FF060D25 for ; Sun, 12 Jun 2016 20:26:49 +0000 (UTC) Received: (qmail 2973 invoked by uid 99); 12 Jun 2016 20:26:48 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 12 Jun 2016 20:26:48 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id CE6B3EAD94; Sun, 12 Jun 2016 20:26:48 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: ddekany@apache.org To: notifications@freemarker.incubator.apache.org Date: Sun, 12 Jun 2016 20:27:30 -0000 Message-Id: In-Reply-To: <273cd02520a3446b8b729e6ad1067335@git.apache.org> References: <273cd02520a3446b8b729e6ad1067335@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [43/51] [partial] incubator-freemarker-site git commit: 2.3.25-nightly archived-at: Sun, 12 Jun 2016 20:27:19 -0000 http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/e5a388cc/builds/2.3.25-nightly/documentation/_html/api/freemarker/cache/MergingTemplateConfigurationFactory.html ---------------------------------------------------------------------- diff --git a/builds/2.3.25-nightly/documentation/_html/api/freemarker/cache/MergingTemplateConfigurationFactory.html b/builds/2.3.25-nightly/documentation/_html/api/freemarker/cache/MergingTemplateConfigurationFactory.html new file mode 100644 index 0000000..0d7d672 --- /dev/null +++ b/builds/2.3.25-nightly/documentation/_html/api/freemarker/cache/MergingTemplateConfigurationFactory.html @@ -0,0 +1,340 @@ + + + + + + +MergingTemplateConfigurationFactory (FreeMarker 2.3.25-incubating API) + + + + + + + + + + + + +
+
freemarker.cache
+

Class MergingTemplateConfigurationFactory

+
+
+ +
+
    +
  • +
    +
    +
    public class MergingTemplateConfigurationFactory
    +extends TemplateConfigurationFactory
    +
    Returns the merged results of all the child factories. The factories are merged in the order as they were added. + null results from the child factories will be ignored. If all child factories return null, the result + of this factory will be null too.
    +
    +
    Since:
    +
    2.3.24
    +
    +
  • +
+
+
+ +
+
+ +
+
+ + + + + + + http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/e5a388cc/builds/2.3.25-nightly/documentation/_html/api/freemarker/cache/MruCacheStorage.html ---------------------------------------------------------------------- diff --git a/builds/2.3.25-nightly/documentation/_html/api/freemarker/cache/MruCacheStorage.html b/builds/2.3.25-nightly/documentation/_html/api/freemarker/cache/MruCacheStorage.html new file mode 100644 index 0000000..5c9894a --- /dev/null +++ b/builds/2.3.25-nightly/documentation/_html/api/freemarker/cache/MruCacheStorage.html @@ -0,0 +1,486 @@ + + + + + + +MruCacheStorage (FreeMarker 2.3.25-incubating API) + + + + + + + + + + + + +
+
freemarker.cache
+

Class MruCacheStorage

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    CacheStorage, CacheStorageWithGetSize
    +
    +
    +
    +
    public class MruCacheStorage
    +extends Object
    +implements CacheStorageWithGetSize
    +
    A cache storage that implements a two-level Most Recently Used cache. In the + first level, items are strongly referenced up to the specified maximum. When + the maximum is exceeded, the least recently used item is moved into the + second level cache, where they are softly referenced, up to another + specified maximum. When the second level maximum is also exceeded, the least + recently used item is discarded altogether. This cache storage is a + generalization of both StrongCacheStorage and + SoftCacheStorage - the effect of both of them can be achieved by + setting one maximum to zero and the other to the largest positive integer. + On the other hand, if you wish to use this storage in a strong-only mode, or + in a soft-only mode, you might consider using StrongCacheStorage or + SoftCacheStorage instead, as they can be used by + TemplateCache concurrently without any synchronization on a 5.0 or + later JRE. + +

    This class is NOT thread-safe. If it's accessed from multiple + threads concurrently, proper synchronization must be provided by the callers. + Note that TemplateCache, the natural user of this class provides the + necessary synchronizations when it uses the class. + Also you might consider whether you need this sort of a mixed storage at all + in your solution, as in most cases SoftCacheStorage can also be sufficient. + SoftCacheStorage will use Java soft references, and they already use access + timestamps internally to bias the garbage collector against clearing + recently used references, so you can get reasonably good (and + memory-sensitive) most-recently-used caching through + SoftCacheStorage as well.

    +
    +
    See Also:
    +
    Configuration.setCacheStorage(CacheStorage)
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MruCacheStorage

        +
        public MruCacheStorage(int strongSizeLimit,
        +                       int softSizeLimit)
        +
        Creates a new MRU cache storage with specified maximum cache sizes. Each + cache size can vary between 0 and Integer.MAX_VALUE.
        +
        +
        Parameters:
        +
        strongSizeLimit - the maximum number of strongly referenced templates; when exceeded, the entry used + the least recently will be moved into the soft cache.
        +
        softSizeLimit - the maximum number of softly referenced templates; when exceeded, the entry used + the least recently will be discarded.
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + + + + + + + + + + + + + +
        +
      • +

        clear

        +
        public void clear()
        +
        +
        Specified by:
        +
        clear in interface CacheStorage
        +
        +
      • +
      + + + +
        +
      • +

        getStrongSizeLimit

        +
        public int getStrongSizeLimit()
        +
        Returns the configured upper limit of the number of strong cache entries.
        +
        +
        Since:
        +
        2.3.21
        +
        +
      • +
      + + + +
        +
      • +

        getSoftSizeLimit

        +
        public int getSoftSizeLimit()
        +
        Returns the configured upper limit of the number of soft cache entries.
        +
        +
        Since:
        +
        2.3.21
        +
        +
      • +
      + + + +
        +
      • +

        getStrongSize

        +
        public int getStrongSize()
        +
        Returns the current number of strong cache entries.
        +
        +
        Since:
        +
        2.3.21
        +
        See Also:
        +
        getStrongSizeLimit()
        +
        +
      • +
      + + + +
        +
      • +

        getSoftSize

        +
        public int getSoftSize()
        +
        Returns a close approximation of the current number of soft cache entries.
        +
        +
        Since:
        +
        2.3.21
        +
        See Also:
        +
        getSoftSizeLimit()
        +
        +
      • +
      + + + + +
    • +
    +
  • +
+
+
+ + + + + + + http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/e5a388cc/builds/2.3.25-nightly/documentation/_html/api/freemarker/cache/MultiTemplateLoader.html ---------------------------------------------------------------------- diff --git a/builds/2.3.25-nightly/documentation/_html/api/freemarker/cache/MultiTemplateLoader.html b/builds/2.3.25-nightly/documentation/_html/api/freemarker/cache/MultiTemplateLoader.html new file mode 100644 index 0000000..19f64c7 --- /dev/null +++ b/builds/2.3.25-nightly/documentation/_html/api/freemarker/cache/MultiTemplateLoader.html @@ -0,0 +1,557 @@ + + + + + + +MultiTemplateLoader (FreeMarker 2.3.25-incubating API) + + + + + + + + + + + + +
+
freemarker.cache
+

Class MultiTemplateLoader

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StatefulTemplateLoader, TemplateLoader
    +
    +
    +
    +
    public class MultiTemplateLoader
    +extends Object
    +implements StatefulTemplateLoader
    +
    A TemplateLoader that uses a set of other loaders to load the templates. On every request, loaders are + queried in the order of their appearance in the array of loaders provided to the constructor. However, by default, if + a request for some template name was already satisfied in the past by one of the loaders, that loader is queried + first (stickiness). This behavior can be disabled with setSticky(boolean), then the loaders are always + queried in the order of their appearance in the array. + +

    This class is thread-safe.

    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MultiTemplateLoader

        +
        public MultiTemplateLoader(TemplateLoader[] loaders)
        +
        Creates a new multi template Loader that will use the specified loaders.
        +
        +
        Parameters:
        +
        loaders - the loaders that are used to load templates.
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        findTemplateSource

        +
        public Object findTemplateSource(String name)
        +                          throws IOException
        +
        Description copied from interface: TemplateLoader
        +
        Finds the template in the backing storage and returns an object that identifies the storage location where the + template can be loaded from. See the return value for more information.
        +
        +
        Specified by:
        +
        findTemplateSource in interface TemplateLoader
        +
        Parameters:
        +
        name - The name of the template, already localized and normalized by the + cache. It is completely up to the loader implementation to + interpret the name, however it should expect to receive hierarchical paths where path components are + separated by a slash (not backslash). Backslashes (or any other OS specific separator character) are + not considered as separators by FreeMarker, and thus they will not be replaced with slash before + passing to this method, so it's up to the template loader to handle them (say, be throwing and + exception that tells the user that the path (s)he has entered is invalid, as (s)he must use slash -- + typical mistake of Windows users). The passed names are always considered relative to some + loader-defined root location (often referred as the "template root directory"), and will never start + with a slash, nor will they contain a path component consisting of either a single or a double dot -- + these are all resolved by the template cache before passing the name to the loader. As a side effect, + paths that trivially reach outside template root directory, such as ../my.ftl, will be + rejected by the template cache, so they never reach the template loader. Note again, that if the path + uses backslash as path separator instead of slash as (the template loader should not accept that), the + normalization will not properly happen, as FreeMarker (the cache) recognizes only the slashes as + separators.
        +
        Returns:
        +
        An object representing the template source, which can be supplied in subsequent calls to + TemplateLoader.getLastModified(Object) and TemplateLoader.getReader(Object, String), when those are called on the + same TemplateLoader. null must be returned if the source for the template doesn't exist; + don't throw exception then! The exact type of this object is up to the TemplateLoader + implementation. As this object is possibly used as hash key in caches, and is surly compared with another + template source for equality, it must have a proper Object.equals(Object) and + Object.hashCode()) implementation. Especially, template sources that refer to the same + physical source must be equivalent, otherwise template caching can become inefficient. This is only + expected from Object.equals(Object) when the compared template sources came from the same + TemplateLoader instance. Also, it must not influence the equality if the source is open or + closed (TemplateLoader.closeTemplateSource(Object)).
        +
        Throws:
        +
        IOException - When an error occurs that makes it impossible to find out if the template exists, or to access the + existing template. Don't throw exception if the template doesn't exist, instead return with + null then!
        +
        +
      • +
      + + + +
        +
      • +

        getLastModified

        +
        public long getLastModified(Object templateSource)
        +
        Description copied from interface: TemplateLoader
        +
        Returns the time of last modification of the specified template source. This method is called after + findTemplateSource().
        +
        +
        Specified by:
        +
        getLastModified in interface TemplateLoader
        +
        Parameters:
        +
        templateSource - an object representing a template source, obtained through a prior call to + TemplateLoader.findTemplateSource(String). This must be an object on which + TemplateLoader.closeTemplateSource(Object) wasn't applied yet.
        +
        Returns:
        +
        the time of last modification of the specified template source, or -1 if the time is not known.
        +
        +
      • +
      + + + +
        +
      • +

        getReader

        +
        public Reader getReader(Object templateSource,
        +                        String encoding)
        +                 throws IOException
        +
        Description copied from interface: TemplateLoader
        +
        Returns the character stream of a template represented by the specified template source. This method is possibly + called for multiple times for the same template source object, and it must always return a Reader that + reads the template from its beginning. Before this method is called for the second time (or later), its caller + must close the previously returned Reader, and it must not use it anymore. That is, this method is not + required to support multiple concurrent readers for the same source templateSource object. + +

        + Typically, this method is called if the template is missing from the cache, or if after calling + TemplateLoader.findTemplateSource(String) and TemplateLoader.getLastModified(Object) it was determined that the cached copy + of the template is stale. Then, if it turns out that the encoding parameter used doesn't match the actual + template content (based on the #ftl encoding=... header), this method will be called for a second time + with the correct encoding parameter value.

        +
        +
        Specified by:
        +
        getReader in interface TemplateLoader
        +
        Parameters:
        +
        templateSource - an object representing a template source, obtained through a prior call to + TemplateLoader.findTemplateSource(String). This must be an object on which + TemplateLoader.closeTemplateSource(Object) wasn't applied yet.
        +
        encoding - the character encoding used to translate source bytes to characters. Some loaders may not have access + to the byte representation of the template stream, and instead directly obtain a character stream. + These loaders should ignore the encoding parameter.
        +
        Returns:
        +
        A Reader representing the template character stream. It's the responsibility of the caller (which + is TemplateCache usually) to close() it. The Reader is not required to work after + the templateSource was closed (TemplateLoader.closeTemplateSource(Object)).
        +
        Throws:
        +
        IOException - if an I/O error occurs while accessing the stream.
        +
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        toString

        +
        public String toString()
        +
        Show class name and some details that are useful in template-not-found errors.
        +
        +
        Overrides:
        +
        toString in class Object
        +
        Since:
        +
        2.3.21
        +
        +
      • +
      + + + +
        +
      • +

        getTemplateLoaderCount

        +
        public int getTemplateLoaderCount()
        +
        Returns the number of TemplateLoader-s directly inside this TemplateLoader.
        +
        +
        Since:
        +
        2.3.23
        +
        +
      • +
      + + + + + + + +
        +
      • +

        isSticky

        +
        public boolean isSticky()
        +
        +
        Since:
        +
        2.3.24
        +
        +
      • +
      + + + +
        +
      • +

        setSticky

        +
        public void setSticky(boolean sticky)
        +
        +
        Since:
        +
        2.3.24
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + +