Skip to content

Commit 0f59fc9

Browse files
asolntsevdiemol
andauthored
use generics for AbstractFindByBuilder to avoid excessive casting (#15526)
Co-authored-by: Diego Molina <[email protected]>
1 parent 4e1dc66 commit 0f59fc9

File tree

4 files changed

+8
-11
lines changed

4 files changed

+8
-11
lines changed

java/src/org/openqa/selenium/support/AbstractFindByBuilder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
import java.util.Set;
2323
import org.openqa.selenium.By;
2424

25-
public abstract class AbstractFindByBuilder {
25+
public abstract class AbstractFindByBuilder<T> {
2626

27-
public abstract By buildIt(Object annotation, Field field);
27+
public abstract By buildIt(T annotation, Field field);
2828

2929
protected By buildByFromFindBy(FindBy findBy) {
3030
assertValidFindBy(findBy);

java/src/org/openqa/selenium/support/FindAll.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,9 @@
4545
public @interface FindAll {
4646
FindBy[] value();
4747

48-
class FindByBuilder extends AbstractFindByBuilder {
48+
class FindByBuilder extends AbstractFindByBuilder<FindAll> {
4949
@Override
50-
public By buildIt(Object annotation, Field field) {
51-
FindAll findBys = (FindAll) annotation;
50+
public By buildIt(FindAll findBys, Field field) {
5251
assertValidFindAll(findBys);
5352

5453
FindBy[] findByArray = findBys.value();

java/src/org/openqa/selenium/support/FindBy.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,9 @@
7474

7575
String xpath() default "";
7676

77-
class FindByBuilder extends AbstractFindByBuilder {
77+
class FindByBuilder extends AbstractFindByBuilder<FindBy> {
7878
@Override
79-
public By buildIt(Object annotation, Field field) {
80-
FindBy findBy = (FindBy) annotation;
79+
public By buildIt(FindBy findBy, Field field) {
8180
assertValidFindBy(findBy);
8281

8382
By ans = buildByFromShortFindBy(findBy);

java/src/org/openqa/selenium/support/FindBys.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,9 @@
4444
public @interface FindBys {
4545
FindBy[] value();
4646

47-
class FindByBuilder extends AbstractFindByBuilder {
47+
class FindByBuilder extends AbstractFindByBuilder<FindBys> {
4848
@Override
49-
public By buildIt(Object annotation, Field field) {
50-
FindBys findBys = (FindBys) annotation;
49+
public By buildIt(FindBys findBys, Field field) {
5150
assertValidFindBys(findBys);
5251

5352
FindBy[] findByArray = findBys.value();

0 commit comments

Comments
 (0)