aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorDecebal Suiu <decebal.suiu@gmail.com>2012-10-11 21:50:03 +0300
committerDecebal Suiu <decebal.suiu@gmail.com>2012-10-11 21:50:03 +0300
commit87c4ec4e0440732938f10c8f605c4cbe5e111e82 (patch)
tree7231bad30978e9db8f2d7836be80f3da800edce8 /README.md
parentef96cc59fda8d665c1065bc1b7a18b5116703865 (diff)
downloadpf4j-87c4ec4e0440732938f10c8f605c4cbe5e111e82.tar.gz
pf4j-87c4ec4e0440732938f10c8f605c4cbe5e111e82.zip
update readme
Diffstat (limited to 'README.md')
-rw-r--r--README.md26
1 files changed, 13 insertions, 13 deletions
diff --git a/README.md b/README.md
index ff1870b..c60f487 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,16 @@
Plugin Framework for Java (PF4J)
=====================
-A plugin is a way for a third party to extend the functionality of an application. A plugin implements extensions points
-declared by application or another plugins. Also a plugin can defines extension points.
+A plugin is a way for a third party to extend the functionality of an application. A plugin implements extension points
+declared by application or other plugins. Also a plugin can define extension points.
Components
-------------------
- **Plugin** is the base class for all plugins types. Each plugin is loaded into a separate class loader to avoid conflicts.
- **PluginManager** is used for all aspects of plugins management (loading, starting, stopping).
- **ExtensionPoint** is a point in the application where custom code can be invoked. It's a java interface marker.
-Any java interface or abstract class can be marked as extension point (implements _ExtensionPoint_ interface).
-- **Extension** is an implementation of extension point. It's a java annotation on a class.
+Any java interface or abstract class can be marked as an extension point (implements _ExtensionPoint_ interface).
+- **Extension** is an implementation of an extension point. It's a java annotation on a class.
Artifacts
-------------------
@@ -53,10 +53,10 @@ It's very simple to add pf4j in your application:
}
In above code, I created a **DefaultPluginManager** (it's the default implementation for
-**PluginManager** interface) that load and start all active(resolved) plugins.
+**PluginManager** interface) that loads and starts all active(resolved) plugins.
The available plugins are loaded using a **PluginClassLoader**.
-The **PluginClassLoader** contains only classes found in _classes_ and _lib_ folders of plugin and runtime classes and libraries of plugins that are required plugin.
-The plugins are stored in a folder. You can specify the plugins folder in constructor of DefaultPluginManager. If the plugins folder is not specified
+The **PluginClassLoader** contains only classes found in _classes_ and _lib_ folders of plugin and runtime classes and libraries of the required plugins.
+The plugins are stored in a folder. You can specify the plugins folder in the constructor of DefaultPluginManager. If the plugins folder is not specified
than the location is returned by `System.getProperty("pf4j.pluginsDir", "plugins")`.
The structure of plugins folder is:
@@ -68,9 +68,9 @@ A plugin folder has this structure:
* `classes` folder
* `lib` folder (optional - if the plugin used third party libraries)
-The plugin manager discovers plugins metadata using a **PluginDescriptorFinder**.
-**DefaultPluginDescriptorFinder** lookup plugins descriptors in MANIFEST.MF file.
-In this case the `classes/META-INF/MANIFEST.MF` looks like:
+The plugin manager searches plugins metadata using a **PluginDescriptorFinder**.
+**DefaultPluginDescriptorFinder** lookups plugins descriptors in MANIFEST.MF file.
+In this case the `classes/META-INF/MANIFEST.MF` file looks like:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
@@ -95,7 +95,7 @@ You can define an extension point in your application using **ExtensionPoint** i
}
Another important internal component is **ExtensionFinder** that describes how plugin manager discovers extensions for extensions points.
-**DefaultExtensionFinder** look up extensions using **Extension** annotation.
+**DefaultExtensionFinder** looks up extensions using **Extension** annotation.
public class WelcomePlugin extends Plugin {
@@ -116,7 +116,7 @@ Another important internal component is **ExtensionFinder** that describes how p
In above code I supply an extension for the `Greeting` extension point.
-You can retrieves all extensions for an extension point with:
+You can retrieve all extensions for an extension point with:
List<ExtensionWrapper<Greeting>> greetings = pluginManager.getExtensions(Greeting.class);
for (ExtensionWrapper<Greeting> greeting : greetings) {
@@ -131,7 +131,7 @@ Demo
I have a tiny demo application. The demo application is in demo folder.
In demo/api folder I declared an extension point (_Greeting_).
-In demo/plugin* I implemented two plugins: plugin1, plugin2 (each plugin add an extension for _Greeting_).
+In demo/plugin* I implemented two plugins: plugin1, plugin2 (each plugin adds an extension for _Greeting_).
To run the demo application use: