Making Program*.Builder classes' setters return 'this'

This is for better correspondence with the Builder pattern.
See also: Effective Java, 2nd edition.

Change-Id: Iecccd42be49dea2ed8e4b8cc38ce96379cf3c11c
This commit is contained in:
Jim Shuma
2010-07-07 14:24:21 -07:00
parent d0d5c072aa
commit 288c8711a6
5 changed files with 26 additions and 13 deletions

View File

@ -91,8 +91,9 @@ public class Program extends BaseObj {
mTextureCount = 0;
}
public void setShader(String s) {
public BaseProgramBuilder setShader(String s) {
mShader = s;
return this;
}
public void addInput(Element e) throws IllegalStateException {
@ -120,12 +121,13 @@ public class Program extends BaseObj {
return mConstantCount++;
}
public void setTextureCount(int count) throws IllegalArgumentException {
public BaseProgramBuilder setTextureCount(int count) throws IllegalArgumentException {
// Should check for consistant and non-conflicting names...
if(count >= MAX_CONSTANT) {
throw new IllegalArgumentException("Max texture count exceeded.");
}
mTextureCount = count;
return this;
}
protected void initProgram(Program p) {