summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/beust/jcommander/IStringConverterInstanceFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/beust/jcommander/IStringConverterInstanceFactory.java')
-rw-r--r--src/main/java/com/beust/jcommander/IStringConverterInstanceFactory.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/com/beust/jcommander/IStringConverterInstanceFactory.java b/src/main/java/com/beust/jcommander/IStringConverterInstanceFactory.java
new file mode 100644
index 0000000..1a87b5b
--- /dev/null
+++ b/src/main/java/com/beust/jcommander/IStringConverterInstanceFactory.java
@@ -0,0 +1,20 @@
+package com.beust.jcommander;
+
+/**
+ * A factory to create {@link IStringConverter} instances.
+ *
+ * This interface lets you specify your converters in one place instead of having them repeated all over your argument classes.
+ *
+ * @author simon04
+ * @see IStringConverterFactory
+ */
+public interface IStringConverterInstanceFactory {
+ /**
+ * Obtain a converter instance for parsing {@code parameter} as type {@code forType}
+ * @param parameter the parameter to parse
+ * @param forType the type class
+ * @param optionName the name of the option used on the command line
+ * @return a converter instance
+ */
+ IStringConverter<?> getConverterInstance(Parameter parameter, Class<?> forType, String optionName);
+}