// Path: src/main/java/de/fesere/hypermedia/cj/model/DataEntry.java
// public interface DataEntry<T> {
//     String getName();
// 
//     String getPrompt();
// 
//     T getValue();
// 
//     String buildQueryRepresentation();
// }


import de.fesere.hypermedia.cj.model.DataEntry;
package de.fesere.hypermedia.cj.model.builder;


public class DataEntryBuilder {

    private String name;
    private String prompt = null;
    private boolean writeNullValue = false;

    private Object value;

    public DataEntryBuilder setName(String name) {
        this.name = name;
        return this;
    }

    public DataEntryBuilder setValue(Object value) {
        this.value = value;
        return this;
    }

    public DataEntryBuilder setNullValue() {
        writeNullValue = true;
        return this;
    }

    public DataEntryBuilder setPrompt(String prompt) {
        this.prompt = prompt;
        return this;
    }

// Path: src/main/java/de/fesere/hypermedia/cj/model/DataEntry.java
// public interface DataEntry<T> {
//     String getName();
// 
//     String getPrompt();
// 
//     T getValue();
// 
//     String buildQueryRepresentation();
// }


// Path: src/main/java/de/fesere/hypermedia/cj/model/builder/DataEntryBuilder.java
import de.fesere.hypermedia.cj.model.DataEntry;

package de.fesere.hypermedia.cj.model.builder;


public class DataEntryBuilder {

    private String name;
    private String prompt = null;
    private boolean writeNullValue = false;

    private Object value;

    public DataEntryBuilder setName(String name) {
        this.name = name;
        return this;
    }

    public DataEntryBuilder setValue(Object value) {
        this.value = value;
        return this;
    }

    public DataEntryBuilder setNullValue() {
        writeNullValue = true;
        return this;
    }

    public DataEntryBuilder setPrompt(String prompt) {
        this.prompt = prompt;
        return this;
    }

    public DataEntry build() {