File | Line |
---|
org/apache/myfaces/tobago/compat/FacesInvokeOnComponent12.java | 27 |
org/apache/myfaces/tobago/compat/FacesUtilsEL.java | 49 |
public static boolean invokeOnComponent(
FacesContext context, UIComponent component, String clientId, ContextCallback callback) {
String thisClientId = component.getClientId(context);
if (clientId.equals(thisClientId)) {
callback.invokeContextCallback(context, component);
return true;
} else if (component instanceof NamingContainer) {
// This component is a naming container. If the client id shows it's inside this naming container,
// then process further.
// Otherwise we know the client id we're looking for is not in this naming container,
// so for improved performance short circuit and return false.
if (clientId.startsWith(thisClientId)
&& (clientId.charAt(thisClientId.length()) == NamingContainer.SEPARATOR_CHAR)) {
if (invokeOnComponentFacetsAndChildren(context, component, clientId, callback)) {
return true;
}
}
} else {
if (invokeOnComponentFacetsAndChildren(context, component, clientId, callback)) {
return true;
}
}
return false;
}
private static boolean invokeOnComponentFacetsAndChildren(
FacesContext context, UIComponent component, String clientId, ContextCallback callback) {
for (java.util.Iterator<UIComponent> it = component.getFacetsAndChildren(); it.hasNext();) {
UIComponent child = it.next();
if (child.invokeOnComponent(context, clientId, callback)) {
return true;
}
}
return false;
} |
File | Line |
---|
org/apache/myfaces/tobago/event/ValueBindingResetInputActionListener.java | 44 |
org/apache/myfaces/tobago/event/ValueExpressionResetInputActionListener.java | 43 |
Object obj = clientIdsExpression.getValue(FacesContext.getCurrentInstance().getELContext());
String [] clientIds;
if (obj instanceof String[]) {
clientIds = (String[]) obj;
} else if (obj instanceof String) {
clientIds= StringUtils.split((String) obj, ", ");
} else {
LOG.error("Ignore unknown value of " + obj + " for reset.");
return;
}
for (String clientId : clientIds) {
UIComponent component = FindComponentUtils.findComponent(event.getComponent(), clientId);
if (component != null) {
resetChildren(component);
}
}
}
public boolean isTransient() {
return false;
}
public void restoreState(FacesContext context, Object state) {
Object[] values = (Object[]) state; |