All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sdklite.trace.gradle.TraceOptions.groovy Maven / Gradle / Ivy

There is a newer version: 0.0.3
Show newest version
package com.sdklite.trace.gradle;

/**
 * @author johnsonlee
 */
class TraceOptions {

    private final List inputs;

    private final List references;

    private final File output;

    private TraceOptions(final List inputs, final List references, final File output) {
        this.inputs = inputs;
        this.references = references;
        this.output = output;
    }

    public Collection getInputs() {
        return Collections.unmodifiableCollection(this.inputs);
    }

    public Collection getReferences() {
        return Collections.unmodifiableCollection(this.references);
    }

    public File getOutput() {
        return this.output;
    }

    public static final class Builder {

        private final List inputs = new ArrayList();

        private final List references = new ArrayList();

        private final File output;

        public Builder(final File output) {
            this.output = output;
        }

        public Builder inputs(final List inputs) {
            this.inputs.addAll(inputs);
            return this;
        }

        public Builder inputs(final File input) {
            this.inputs.add(input);
            return this;
        }

        public Builder references(final File reference) {
            this.references.add(reference);
            return this;
        }

        public Builder references(final List references) {
            this.references.addAll(references);
            return this;
        }

        public TraceOptions build() {
            return new TraceOptions(this.inputs, this.references, this.output);
        }
    }

}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy