+ * This implementation always throws {@link UnsupportedOperationException}.
+ * It is up to the subclasses of {@link #AbstractParameterizablePlugin()} to property implement this method and
+ * possibly delegate to this implementation if an unknown property occurs.
+ *
+ * @param propertyName the field to set
+ * @param value the value to set
+ */
+ protected void setProperty(String propertyName, String value) {
+ throw new UnsupportedOperationException("Cannot set property " + propertyName + " on " + this.getClass().getName());
+ }
}
diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/equals/EqualsPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/equals/EqualsPlugin.java
index 4f5ce510d..c03522c97 100644
--- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/equals/EqualsPlugin.java
+++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/equals/EqualsPlugin.java
@@ -1,5 +1,6 @@
package org.jvnet.jaxb.plugin.equals;
+import java.io.File;
import java.util.Arrays;
import java.util.Collection;
@@ -48,6 +49,17 @@ public String getUsage() {
return "TBD";
}
+ @Override
+ protected void setProperty(String propertyName, String value) {
+ switch (propertyName) {
+ case "equalsStrategyClass":
+ setEqualsStrategyClass(value);
+ return;
+ default:
+ super.setProperty(propertyName, value);
+ }
+ }
+
private FieldAccessorFactory fieldAccessorFactory = PropertyFieldAccessorFactory.INSTANCE;
public FieldAccessorFactory getFieldAccessorFactory() {
diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/hashcode/HashCodePlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/hashcode/HashCodePlugin.java
index 0edeacfb0..2a997a8a5 100644
--- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/hashcode/HashCodePlugin.java
+++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/hashcode/HashCodePlugin.java
@@ -47,6 +47,17 @@ public String getUsage() {
return "TBD";
}
+ @Override
+ protected void setProperty(String propertyName, String value) {
+ switch (propertyName) {
+ case "hashCodeStrategyClass":
+ setHashCodeStrategyClass(value);
+ return;
+ default:
+ super.setProperty(propertyName, value);
+ }
+ }
+
private FieldAccessorFactory fieldAccessorFactory = PropertyFieldAccessorFactory.INSTANCE;
public FieldAccessorFactory getFieldAccessorFactory() {
diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/map_init/MapInitPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/map_init/MapInitPlugin.java
index a960a6828..bc56e16d4 100644
--- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/map_init/MapInitPlugin.java
+++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/map_init/MapInitPlugin.java
@@ -44,6 +44,16 @@ public String getUsage() {
return "Change getter for maps to initialize Maps.";
}
+ @Override
+ protected void setProperty(String propertyName, String value) {
+ switch (propertyName) {
+ case "mapClass":
+ setMapClass(value);
+ return;
+ default:
+ super.setProperty(propertyName, value);
+ }
+ }
private String mapClass = HashMap.class.getName();
public void setMapClass(String mapClass) {
diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/mergeable/MergeablePlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/mergeable/MergeablePlugin.java
index ff9e3c592..48b1038f1 100644
--- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/mergeable/MergeablePlugin.java
+++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/mergeable/MergeablePlugin.java
@@ -50,6 +50,17 @@ public String getUsage() {
return "TBD";
}
+ @Override
+ protected void setProperty(String propertyName, String value) {
+ switch (propertyName) {
+ case "mergeStrategyClass":
+ setMergeStrategyClass(value);
+ return;
+ default:
+ super.setProperty(propertyName, value);
+ }
+ }
+
private FieldAccessorFactory fieldAccessorFactory = PropertyFieldAccessorFactory.INSTANCE;
public FieldAccessorFactory getFieldAccessorFactory() {
diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/setters/SettersPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/setters/SettersPlugin.java
index aa5663bf9..0eeb904d9 100644
--- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/setters/SettersPlugin.java
+++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/setters/SettersPlugin.java
@@ -40,6 +40,17 @@ public String getUsage() {
return "Generates setters for collections.";
}
+ @Override
+ protected void setProperty(String propertyName, String value) {
+ switch (propertyName) {
+ case "mode":
+ setMode(value);
+ return;
+ default:
+ super.setProperty(propertyName, value);
+ }
+ }
+
public boolean run(Outline outline, Options opt, ErrorHandler errorHandler) {
for (final ClassOutline classOutline : outline.getClasses())
if (!getIgnoring().isIgnored(classOutline)) {
diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/simpletostring/SimpleToStringPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/simpletostring/SimpleToStringPlugin.java
index 8c80316bf..e8beadd9a 100644
--- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/simpletostring/SimpleToStringPlugin.java
+++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/simpletostring/SimpleToStringPlugin.java
@@ -46,6 +46,17 @@ public String getUsage() {
return "TBD";
}
+ @Override
+ protected void setProperty(String propertyName, String value) {
+ switch (propertyName) {
+ case "toStringStrategyClass":
+ setToStringStrategyClass(value);
+ return;
+ default:
+ super.setProperty(propertyName, value);
+ }
+ }
+
private FieldAccessorFactory fieldAccessorFactory = PropertyFieldAccessorFactory.INSTANCE;
public FieldAccessorFactory getFieldAccessorFactory() {
diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/simplify/SimplifyPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/simplify/SimplifyPlugin.java
index e11fdc23b..1e1999b6b 100644
--- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/simplify/SimplifyPlugin.java
+++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/simplify/SimplifyPlugin.java
@@ -57,6 +57,16 @@ public String getUsage() {
+ " Please visit https://github.com/highsource/jaxb-tools/wiki/JAXB2-Simplify-Plugin"
+ " for plugin documentation.";
}
+ @Override
+ protected void setProperty(String propertyName, String value) {
+ switch (propertyName) {
+ case "usePluralForm":
+ setUsePluralForm(Boolean.parseBoolean(value));
+ return;
+ default:
+ super.setProperty(propertyName, value);
+ }
+ }
private Ignoring ignoring = new ComposedIgnoring(
logger,
diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/tostring/ToStringPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/tostring/ToStringPlugin.java
index f2202ffae..1386a582b 100644
--- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/tostring/ToStringPlugin.java
+++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/tostring/ToStringPlugin.java
@@ -48,6 +48,19 @@ public String getOptionName() {
public String getUsage() {
return "TBD";
}
+ @Override
+ protected void setProperty(String propertyName, String value) {
+ switch (propertyName) {
+ case "toStringStrategyClass":
+ setToStringStrategyClass(value);
+ return;
+ case "toStringEnums":
+ setToStringEnums(Boolean.parseBoolean(value));
+ return;
+ default:
+ super.setProperty(propertyName, value);
+ }
+ }
private FieldAccessorFactory fieldAccessorFactory = PropertyFieldAccessorFactory.INSTANCE;
diff --git a/pom.xml b/pom.xml
index 2420b96b5..b252d9a0f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,7 +72,6 @@