package org.richfaces.cdk.model;
import org.richfaces.cdk.util.ComparatorUtils;
import com.google.common.base.Predicate;
public interface FacesComponent {
/**
* <p class="changed_added_4_0">
* This predicate can be used to lookup component in {@link ModelCollection} by id.
* </p>
*
* @author asmirnov@exadel.com
*
*/
public static final class ComponentPredicate implements Predicate<GeneratedFacesComponent> {
private final FacesId id;
/**
* <p class="changed_added_4_0">
* </p>
*
* @param id
*/
public ComponentPredicate(FacesId id) {
this.id = id;
}
/**
* <p class="changed_added_4_0">
* </p>
*
* @param name
*/
public ComponentPredicate(String name) {
this.id = FacesId.parseId(name);
}
@Override
public boolean apply(GeneratedFacesComponent input) {
return ComparatorUtils.nullSafeEquals(input.getId(), this.id);
}
}
/**
* <p class="changed_added_4_0">
* </p>
*
* @return
*/
FacesId getId();
/**
* <p class="changed_added_4_0">
* </p>
*
* @param id
*/
void setId(FacesId id);
/**
* <p class="changed_added_4_0">
* </p>
*
* @param targetClass the targetClass to set
*/
void setTargetClass(ClassName targetClass);
/**
* <p class="changed_added_4_0">
* </p>
*
* @return the targetClass
*/
ClassName getTargetClass();
}