Browse Source

Simplification class LispElement

Arthur Brandao 6 năm trước cách đây
mục cha
commit
cb63122a5e
2 tập tin đã thay đổi với 10 bổ sung60 xóa
  1. 2 2
      src/migl/lisp/LispImpl.java
  2. 8 58
      src/migl/lisp/util/LispElement.java

+ 2 - 2
src/migl/lisp/LispImpl.java

@@ -28,7 +28,7 @@ public class LispImpl implements Lisp {
 			if(explode.size() > 0) {
 				throw new LispError("Invalid Format");
 			}
-			return LispElement.valueOf(val).get().value;
+			return LispElement.valueOf(val).value;
 		}
 	}
 
@@ -130,7 +130,7 @@ public class LispImpl implements Lisp {
 			if("(".equals(val)) {
 				list = list.append(this.parseList(pile));
 			} else {
-				list = list.append(LispElement.valueOf(val).get().value);
+				list = list.append(LispElement.valueOf(val).value);
 			}
 			val = pile.remove(0);
 		}

+ 8 - 58
src/migl/lisp/util/LispElement.java

@@ -10,59 +10,25 @@ import migl.lisp.LispBoolean;
  * 
  * @author Arthur Brandao
  */
-public class LispElement {
+public class LispElement<E> {
 
 	/**
-	 * Le conteneur de la valeur de l'element
+	 * La valeur de l'element
 	 */
-	private final LispElementValue value;
-
-	/* --- Constructeurs privés des differents elements --- */
-
-	/**
-	 * Creation d'un element de type BigInt
-	 * @param val
-	 */
-	private LispElement(BigInteger val) {
-		this.value = new LispElementValue<>(val);
-	}
-
-	/**
-	 * Creation d'un element de type double
-	 * @param val
-	 */
-	private LispElement(double val) {
-		this.value = new LispElementValue<>(val);
-	}
+	public final E value;
 
 	/**
-	 * Creation d'un element de type LispBoolean
+	 * Constructeur privée pour construire un element à partir de valueOf
 	 * @param val
 	 */
-	private LispElement(LispBoolean val) {
-		this.value = new LispElementValue<>(val);
+	private LispElement(E val) {
+		this.value = val;
 	}
 
-	/**
-	 * Creation d'un element de type String
-	 * @param val
-	 */
-	private LispElement(String val) {
-		this.value = new LispElementValue<>(val);
-	}
-
-	/**
-	 * Retourne le conteneur de l'element
-	 * @return
-	 */
-	public LispElementValue get() {
-		return this.value;
-	}
-	
 	/**
 	 * Parse un element
-	 * @param elt
-	 * @return
+	 * @param elt L'element à parser
+	 * @return Un LispElement contenant la valeur extraite
 	 */
 	public static LispElement valueOf(String elt) {
 		try {
@@ -83,20 +49,4 @@ public class LispElement {
 		return new LispElement(elt);
 	}
 
-	/**
-	 * Conteneur de la valeur d'un element
-	 * @author Arthur Brandao
-	 *
-	 * @param <E> Le type de l'element
-	 */
-	public static class LispElementValue<E> {
-
-		public final E value;
-
-		public LispElementValue(E val){
-			this.value = val;
-		}
-
-	}
-
 }