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(); }