
package innovimax.mixthem.arguments;

/**
* <p>This is the representation of a parameter value.</p>
* @author Innovimax
* @version 1.0
*/
public abstract class ParamValue {
	private static class ParamStringValue extends ParamValue {
		private final String text;
		private ParamStringValue(final String text) {
			this.text = text;
		}
		
		@Override
		public String asString() {
			return this.text;
		}
		@Override
		public int asInt() {
			throw new UnsupportedOperationException("ParamStringValue does not have an int representation");
		}
		@Override
		public String toString() {
			return this.text;
		}
	}
	private static class ParamIntValue extends ParamValue {
		private final int i;
		private ParamIntValue(final int i) {
			this.i = i;
		}			
		
		@Override
		public String asString() {
			throw new UnsupportedOperationException("ParamIntValue does not have a String representation");
		}

		@Override
		public int asInt() {
			return this.i;
		}
		
		@Override
		public String toString() {
			return Integer.toString(i);
		}
	}
	
	/**
	* private Constructor
	*/ 	
	public ParamValue() {}
	
	public static ParamValue createString(final String str) {
		return new ParamStringValue(str);
	}
	
	public static ParamValue createInt(final int i) {
		return new ParamIntValue(i);
	}
	
	/**
	* Returns the parameter value as a String.
	* @return The parameter value as a String
	*/
	public abstract String asString();

	/**
	* Returns the parameter value as an Integer.
	* @return The parameter value as an Integer
	*/
	public abstract int asInt();
	
}

@@ -1320,25 +1320,25 @@
  value as a 
-S
+s
 tring.%0A%09* @r
@@ -1368,17 +1368,17 @@
 ue as a 
-S
+s
 tring%0A%09*
@@ -1454,25 +1454,166 @@
 value as an 
-I
+integer.%0A%09* @return The parameter value as an integer%0A%09*/%0A%09public abstract int asInt();%0A%09%0A%09/**%0A%09* Returns the parameter value as an array of i
 nteger.%0A%09* @
@@ -1645,17 +1645,26 @@
 e as an 
-I
+array of i
 nteger%0A%09
@@ -1682,26 +1682,33 @@
 abstract int
+%5B%5D
  asInt
+Array
 ();%0A%09%0A%7D%0A

Update ParamValue.java