view src/nabble/view/web/template/FieldNamespace.java @ 0:7ecd1a4ef557

add content
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 21 Mar 2019 19:15:52 -0600
parents
children
line wrap: on
line source

package nabble.view.web.template;

import nabble.naml.compiler.Command;
import nabble.naml.compiler.CommandSpec;
import nabble.naml.compiler.IPrintWriter;
import nabble.naml.compiler.Interpreter;
import nabble.naml.compiler.Namespace;

import javax.servlet.http.HttpServletRequest;


@Namespace (
	name = "field",
	global = false
)
public class FieldNamespace {
	private final String name;
	private String value = null;

	public FieldNamespace(String name) {
		this.name = name;
	}

	public String getName() {
		return name;
	}

	public void setValue(String value) {
		this.value = value;
	}

	public void setValue(HttpServletRequest request) {
		this.value = request.getParameter(name);
	}

	public String getValue() {
		return value;
	}

	@Command("name") public void _name(IPrintWriter out,Interpreter interp) {
		out.print(name);
	}

	@Command("value") public void _value(IPrintWriter out,Interpreter interp) {
		out.print(interp.encode(value));
	}

	public static final CommandSpec set_value = CommandSpec.NO_OUTPUT()
		.dotParameter("value")
		.build()
	;

	@Command public void set_value(IPrintWriter out,Interpreter interp) {
		setValue( interp.getArgString("value") );
	}

}