Package: org.grails.spring.context.support

## [Java] Class ReloadableResourceBundleMessageSource.PropertiesHolder

- org.grails.spring.context.support.ReloadableResourceBundleMessageSource.PropertiesHolder

-     protected class ReloadableResourceBundleMessageSource.PropertiesHolder

  PropertiesHolder for caching. Stores the last-modified timestamp of the source file for efficient change detection, and the timestamp of the last refresh attempt (updated every time the cache entry gets re-validated).

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `private java.util.concurrent.ConcurrentMap<Pair<java.lang.String, java.util.Locale>, CacheEntry<java.text.MessageFormat>>` | `cachedMessageFormats` | Cache to hold already generated MessageFormats per message code
    `private long` | `fileTimestamp` |
    `private java.lang.String` | `filename` |
    `private java.util.Properties` | `properties` |
    `private org.springframework.core.io.Resource` | `resource` |

  - ### Constructor Summary

    Constructors
    Constructor and description
    `PropertiesHolder (java.lang.String filename, org.springframework.core.io.Resource resource)`
    `PropertiesHolder (java.util.Properties properties)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public java.text.MessageFormat` | `call()`
    `` | `private boolean` | `doUpdate(boolean initialization)`
    `` | `public long` | `getFileTimestamp()`
    `` | `public java.lang.String` | `getFilename()`
    `` | `public java.text.MessageFormat` | `getMessageFormat(java.lang.String code, java.util.Locale locale)`
    `` | `public java.util.Properties` | `getProperties()`
    `` | `public java.lang.String` | `getProperty(java.lang.String code)`
    `` | `public boolean` | `update()`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class java.lang.Object` | `java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()`

- - ### Field Detail

    - #### private final java.util.concurrent.ConcurrentMap<Pair<java.lang.String, java.util.Locale>, CacheEntry<java.text.MessageFormat>> cachedMessageFormats

      Cache to hold already generated MessageFormats per message code

    - #### private long fileTimestamp

    - #### private java.lang.String filename

    - #### private java.util.Properties properties

    - #### private org.springframework.core.io.Resource resource

  - ### Constructor Detail

    - #### public PropertiesHolder(java.lang.String filename, org.springframework.core.io.Resource resource)

    - #### public PropertiesHolder(java.util.Properties properties)

  - ### Method Detail

    - #### @java.lang.Override public java.text.MessageFormat call()

    - #### private boolean doUpdate(boolean initialization)

    - #### public long getFileTimestamp()

    - #### public java.lang.String getFilename()

    - #### public java.text.MessageFormat getMessageFormat(java.lang.String code, java.util.Locale locale)

    - #### public java.util.Properties getProperties()

    - #### public java.lang.String getProperty(java.lang.String code)

    - #### public boolean update()