How to change the visibility of methods in a Builder design pattern ?
For example I have this Builder :
public class Builder {
public Builder a() {
//
return this;
}
public Builder b() {
//
return this;
}
}
User can use the API and do this :
new Builder().a().b();
new Builder().a();
new Builder().b();
new Builder().b().a();
I want to allow him to access method b()
only if a()
has been called :
new Builder().a().b();
new Builder().a();
A simple example could be a SQL request Builder. You shouldn't be allowed to call when()
before select()
.
How to do so?
Aucun commentaire:
Enregistrer un commentaire