package com.redheap.selenium.component;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.openqa.selenium.WebDriver;
public class ComponentReference {
private final String clientid;
private final String componentType;
public ComponentReference(String clientid, String componentType) {
this.clientid = clientid;
this.componentType = componentType;
}
public String getClientid() {
return clientid;
}
public String getComponentType() {
return componentType;
}
public <C extends AdfComponent> C findComponent(WebDriver driver) {
return AdfComponent.forClientId(driver, clientid);
}
@Override
public String toString() {
return new ToStringBuilder(this).append("clientid", clientid).append("componentType", componentType).build();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(clientid).append(componentType).build();
}
@Override
public boolean equals(Object obj) {
if (obj == null || getClass() != obj.getClass()) {
return false;
}
ComponentReference other = (ComponentReference) obj;
return new EqualsBuilder().append(this.clientid, other.clientid).append(this.componentType,
other.componentType).build();
}
}