Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.e4.tools.services/src/org/eclipse/e4/tools/services/IMessageFactoryService.java')
-rw-r--r--bundles/org.eclipse.e4.tools.services/src/org/eclipse/e4/tools/services/IMessageFactoryService.java26
1 files changed, 25 insertions, 1 deletions
diff --git a/bundles/org.eclipse.e4.tools.services/src/org/eclipse/e4/tools/services/IMessageFactoryService.java b/bundles/org.eclipse.e4.tools.services/src/org/eclipse/e4/tools/services/IMessageFactoryService.java
index b5512df7..b93d9b2c 100644
--- a/bundles/org.eclipse.e4.tools.services/src/org/eclipse/e4/tools/services/IMessageFactoryService.java
+++ b/bundles/org.eclipse.e4.tools.services/src/org/eclipse/e4/tools/services/IMessageFactoryService.java
@@ -1,8 +1,32 @@
package org.eclipse.e4.tools.services;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
import org.eclipse.osgi.service.localization.BundleLocalization;
+/**
+ * Service that is responsible for creating and managing message class instances.
+ */
public interface IMessageFactoryService {
- public <M> M createInstance(final String locale, final Class<M> messages, BundleLocalization localization)
+
+ /**
+ * Returns an instance of the of a given messages class for the given {@link Locale}.
+ * If configured it caches the created instances and return the already created instances.
+ * Otherwise a new instance will be created.
+ *
+ * @param locale The {@link Locale} for which the message class instance is requested.
+ * @param messages The type of the message class whose instance is requested.
+ * @param localization The service that is needed to retrieve {@link ResourceBundle} objects from a bundle
+ * with a given locale.
+ * @return An instance of the given messages class and {@link Locale}.
+ *
+ * @throws InstantiationException if the requested message class represents an abstract class, an interface,
+ * an array class, a primitive type, or void;
+ * or if the class has no nullary constructor;
+ * or if the instantiation fails for some other reason.
+ * @throws IllegalAccessException if the requested message class or its nullary constructor is not accessible.
+ */
+ public <M> M getMessageInstance(final Locale locale, final Class<M> messages, BundleLocalization localization)
throws InstantiationException, IllegalAccessException;
}

Back to the top