Index: java/main/src/main/java/com/framsticks/params/ParamBuilder.java
===================================================================
--- java/main/src/main/java/com/framsticks/params/ParamBuilder.java	(revision 85)
+++ java/main/src/main/java/com/framsticks/params/ParamBuilder.java	(revision 86)
@@ -1,4 +1,6 @@
 package com.framsticks.params;
 
+import com.framsticks.params.annotations.FramsClassAnnotation;
+import com.framsticks.params.annotations.ParamAnnotation;
 import com.framsticks.params.types.*;
 import com.framsticks.util.lang.Numbers;
@@ -8,4 +10,5 @@
 import java.util.ArrayList;
 import java.util.Arrays;
+
 
 /**
@@ -18,4 +21,5 @@
  */
 
+@FramsClassAnnotation(name = "prop", id = "prop")
 public class ParamBuilder {
 	private final static Logger log = Logger.getLogger(ParamBuilder.class.getName());
@@ -28,9 +32,9 @@
 	private static final String FLAGS_FIELD = "flags";
 
-	/** The parameter getId. */
+	/** The parameter id. */
 	private String id;
 
 	/**
-	 * The parameter internal getId. It's set by a user to use user's own getId in
+	 * The parameter internal id. It's set by a user to use user's own id in
 	 * code
 	 */
@@ -40,20 +44,21 @@
 	private Integer group = 0;
 
-	/** The getFlags stored as a bit sum. */
+	/** The flags stored as a bit sum. */
 	private Integer flags = 0;
 
-	/** The parameter getName. */
+	/** The parameter name. */
 	private String name;
 
-	/** The getHelp (description) concerning parameter. */
+	/** The help (description) concerning parameter. */
 	private String help;
 
-	/** The getType of parameter. */
+	/** The type of parameter. */
 	private Class<? extends Param> paramType;
 
 	private Param param;
 	private PrimitiveParam primitiveParam;
-
-	ParamBuilder() {
+	private String typeString;
+
+	public ParamBuilder() {
 	}
 
@@ -76,4 +81,5 @@
 	}
 
+	@ParamAnnotation
 	public ParamBuilder id(String id) {
 		this.id = id;
@@ -87,8 +93,10 @@
 			primitiveParam = (PrimitiveParam) param;
 		}
+		typeString = param.getFramsTypeName();
 		return this;
 	}
 
 	public <T extends Param> ParamBuilder type(Class<T> type) {
+		assert type != null;
 		try {
 			return internalSetType(type, type.newInstance());
@@ -104,4 +112,12 @@
 
 
+	/**
+	 * @return the id
+	 */
+	@ParamAnnotation
+	public String getId() {
+		return id;
+	}
+
 	public ParamBuilder setInternalId(String internalId) {
 		this.internalId = internalId;
@@ -109,4 +125,5 @@
 	}
 
+	@ParamAnnotation
 	public ParamBuilder group(Integer group) {
 		this.group = group;
@@ -114,4 +131,5 @@
 	}
 
+	@ParamAnnotation
 	public ParamBuilder flags(Integer flags) {
 		this.flags = flags;
@@ -119,4 +137,5 @@
 	}
 
+	@ParamAnnotation
 	public ParamBuilder name(String name) {
 		this.name = name;
@@ -143,5 +162,7 @@
 	}
 
+	@ParamAnnotation
 	public ParamBuilder type(String type) {
+		typeString = type;
 
 		log.trace("parsing type: " + type);
@@ -233,7 +254,45 @@
 	}
 
+	@ParamAnnotation
 	public ParamBuilder help(String help) {
 		this.help = help;
 		return this;
+	}
+
+	/**
+	 * @return the group
+	 */
+	@ParamAnnotation
+	public Integer getGroup() {
+		return group;
+	}
+
+	/**
+	 * @return the flags
+	 */
+	@ParamAnnotation
+	public Integer getFlags() {
+		return flags;
+	}
+
+	/**
+	 * @return the name
+	 */
+	@ParamAnnotation
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * @return the help
+	 */
+	@ParamAnnotation
+	public String getHelp() {
+		return help;
+	}
+
+	@ParamAnnotation
+	public String getType() {
+		return typeString;
 	}
 
@@ -328,13 +387,4 @@
 
 
-	public static FramsClass getFramsClass() {
-		return new FramsClass("prop", "prop", null)
-			.append(Param.build().id("name").name("Name").type(StringParam.class))
-			.append(Param.build().id("id").name("Id").type(StringParam.class))
-			.append(Param.build().id("type").name("Type").type(StringParam.class))
-			.append(Param.build().id("help").name("Help").type(StringParam.class))
-			.append(Param.build().id("group").name("Group").type(DecimalParam.class))
-			.append(Param.build().id("flags").name("Flags").type(DecimalParam.class));
-	}
 
 }
