[OmniFaces utilities] The
getObject()
returns the typed Object
value of the given tag attribute.Method:
Usage:
Suppose that we have a custom tag as below (is not important what it does; important is to notice that it supports an attribute of type String (named text), one of type boolean (named uppercase) and one that can be an Object (named repeat)):
<mt:textrepeat text="Vamos Rafa!" uppercase="true" repeat="5 step 3"/>
Now, if we write a custom tag handler for this custom tag, we can use the OmniFaces Facelets utility methods to access the values of the above attributes. For typed-Objects we will use Facelets#getObject() that returns the typed Object value of the given tag attribute, and for simple Objects, we will use the Facelets#getObject() that returns the Object value of the given tag attribute:
import org.omnifaces.util.Facelets;
...
protected final TagAttribute text;
protected final TagAttribute repeat;
protected final TagAttribute uppercase;
public TextRepeatTagHandler(TagConfig config) {
super(config);
this.text = this.getRequiredAttribute("text");
this.repeat = this.getRequiredAttribute("repeat");
this.uppercase = this.getAttribute("uppercase");
}
@Override
public void apply(FaceletContext ctx, UIComponent parent) throws IOException {
String textValue = Facelets.getObject(ctx, text, String.class);
boolean uppercaseValue = Facelets.getObject(ctx, uppercase, Boolean.class);
Object repeat = Facelets.getObject(repeat, ctx);
// ... do something with these values if they are not null
}
...
Niciun comentariu :
Trimiteți un comentariu