import org.pf4j.Plugin;
/**
+ * A wrong {@link org.pf4j.Plugin}.
+ * It's wrong because it doesn't contain a constructor with one parameter ({@link org.pf4j.PluginWrapper} as parameter type).
+ *
* @author Mario Franco
*/
public class AnotherFailTestPlugin extends Plugin {
import org.pf4j.Extension;
/**
+ * A wrong {@link org.pf4j.Extension}.
+ * It's wrong because it doesn't contain a constructor with empty parameters (or only the default constructor).
+ *
* @author Mario Franco
*/
@Extension
package org.pf4j.test;
/**
+ * A wrong {@link org.pf4j.Plugin}.
+ * It's wrong because it doesn't extends {@link org.pf4j.Plugin}.
+ *
* @author Mario Franco
*/
public class FailTestPlugin {
import org.pf4j.Extension;
/**
+ * A simple {@link Extension}. It implements {@link TestExtensionPoint}.
+ *
* @author Mario Franco
*/
@Extension
import org.pf4j.ExtensionPoint;
/**
+ * A simple {@link ExtensionPoint} that contains one method ({@link #saySomething()}).
+ *
* @author Mario Franco
*/
public interface TestExtensionPoint extends ExtensionPoint {
import org.pf4j.PluginWrapper;
/**
+ * A simple {@link Plugin}.
+ *
+ * In real applications you don't need to create a plugin like this if you are not interested in lifecycle events.
+ * {@codes PF4J} will automatically create a plugin similar to this (empty / dummy) if no class plugin is specified.
+ *
* @author Mario Franco
*/
public class TestPlugin extends Plugin {
--- /dev/null
+/**
+ * Classes used to test different aspects of PF4J (plugins, extensions points, extensions).
+ *
+ * @author Decebal Suiu
+ */
+package org.pf4j.test;