Class MessagesSourceImpl
java.lang.Object
org.apache.tapestry5.internal.event.InvalidationEventHubImpl
org.apache.tapestry5.internal.services.MessagesSourceImpl
- All Implemented Interfaces:
InvalidationEventHub
,MessagesSource
,UpdateListener
A utility class that encapsulates all the logic for reading properties files and assembling
Messages
from
them, in accordance with extension rules and locale. This represents code that was refactored out of
ComponentMessagesSourceImpl
. This class can be used as a base class, though the existing code base uses it as
a utility. Composition trumps inheritance!
The message catalog for a component is the combination of all appropriate properties files for the component, plus
any keys inherited form base components and, ultimately, the application global message catalog. At some point we
should add support for per-library message catalogs.
Message catalogs are read using the UTF-8 character set. This is tricky in JDK 1.5; we read the file into memory then
feed that bytestream to Properties.load().-
Constructor Summary
ConstructorsConstructorDescriptionMessagesSourceImpl
(boolean productionMode, boolean multipleClassLoaders, URLChangeTracker tracker, ComponentResourceLocator resourceLocator, PropertiesFileParser propertiesFileParser, ComponentClassResolver componentClassResolver, org.slf4j.Logger logger) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Invoked to force the receiver to check for updates to whatever underlying resources it makes use of.getMessages
(MessagesBundle bundle, ComponentResourceSelector selector) Used to obtain aMessages
instance for a particular component, within a particular locale.void
Methods inherited from class org.apache.tapestry5.internal.event.InvalidationEventHubImpl
addInvalidationCallback, addInvalidationCallback, addInvalidationListener, clearOnInvalidation, fireInvalidationEvent, fireInvalidationEvent
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.tapestry5.commons.services.InvalidationEventHub
addInvalidationCallback, addInvalidationCallback, addInvalidationListener, clearOnInvalidation, fireInvalidationEvent
-
Constructor Details
-
MessagesSourceImpl
public MessagesSourceImpl(boolean productionMode, boolean multipleClassLoaders, URLChangeTracker tracker, ComponentResourceLocator resourceLocator, PropertiesFileParser propertiesFileParser, ComponentClassResolver componentClassResolver, org.slf4j.Logger logger)
-
-
Method Details
-
checkForUpdates
Description copied from interface:UpdateListener
Invoked to force the receiver to check for updates to whatever underlying resources it makes use of.- Specified by:
checkForUpdates
in interfaceUpdateListener
-
invalidate
-
getMessages
Description copied from interface:MessagesSource
Used to obtain aMessages
instance for a particular component, within a particular locale. If the component extends from another component, then its localized properties will merge with its parent's properties (with the subclass overriding the super class on any conflicts).- Specified by:
getMessages
in interfaceMessagesSource
- Parameters:
bundle
- defines the set of properties files to read, as well as a series of parent bundles to extend and overrideselector
- defines the locale and other axes used to locate the necessary resources- Returns:
- the message catalog for the bundle, for the indicated selector
-