package bindables;
import java.util.Map;
import play.Logger;
import play.libs.F.Option;
import play.mvc.PathBindable;
import play.mvc.QueryStringBindable;
//TODO : it's not used now, but will be used for some time to replace several routes
public class Page implements PathBindable<Page>, QueryStringBindable<Page> {
private int page;
public Page(int page) {
this.page = page;
}
public int getPage() {
return this.page;
}
@Override
public String javascriptUnbind() {
Logger.info("Unbinding JS"+" for " + this.page);
return "3";
}
@Override
public String unbind(String key) {
Logger.info("Unbinding "+key+" for " + this.page);
if (this.page == 0) {
return "";
}
return "page="+String.valueOf(this.page);
}
@Override
public Page bind(String key, String txt) {
Logger.info("Binding "+key+" with txt "+txt+" for " + this.page);
return new Page(1);
}
@Override
public Option<Page> bind(String key, Map<String, String[]> data) {
Logger.info("Binding "+key+" and map "+data+" for " + this.page);
if (data == null || data.size() == 0) {
return Option.None();
}
return Option.Some(this);
}
}