Builder.java 664 Bytes
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.reef.siren.builder;

import com.adobe.reef.siren.builder.BuilderException;
import com.adobe.reef.siren.builder.BuilderValidationException;

/*
 * This class specifies class file version 49.0 but uses Java 6 signatures.  Assumed Java 6.
 */
public abstract class Builder<T> {
    public T build() throws BuilderException {
        T instance = this.doBuild();
        this.validate(instance);
        return instance;
    }

    public abstract Builder<T> clear();

    protected abstract T doBuild() throws BuilderException;

    protected abstract void validate(T var1) throws BuilderValidationException;
}