// Path: allegro-nice-domain/src/main/java/com/apwglobal/nice/domain/JournalType.java
// public enum JournalType {
//     START("start"),
//     END("end"),
//     BID("bid"),
//     NOW("now"),
//     CHANGE("change"),
//     CANCEL("cancel_bid");
// 
//     private String type;
//     JournalType(String type) {
//         this.type = type;
//     }
// 
//     public static final Map<String, JournalType> VALUES;
//     static {
//         VALUES = Collections.unmodifiableMap(
//                 Arrays.stream(JournalType.values())
//                         .collect(Collectors.toMap((JournalType v) -> v.type, v -> v))
//         );
//     }
// }


import com.apwglobal.nice.domain.JournalType;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.Optional;
package com.apwglobal.nice.command;



public class SearchJournal {

    private Optional<Integer> limit = Optional.empty();
    private Optional<Long> rowId = Optional.empty();
    private Optional<Long> itemId = Optional.empty();
    private Optional<JournalType> changeType = Optional.empty();

    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
    private Optional<Date> from = Optional.empty();

    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
    private Optional<Date> to = Optional.empty();

    public SearchJournal() { }

    private SearchJournal(Builder builder) {
// Path: allegro-nice-domain/src/main/java/com/apwglobal/nice/domain/JournalType.java
// public enum JournalType {
//     START("start"),
//     END("end"),
//     BID("bid"),
//     NOW("now"),
//     CHANGE("change"),
//     CANCEL("cancel_bid");
// 
//     private String type;
//     JournalType(String type) {
//         this.type = type;
//     }
// 
//     public static final Map<String, JournalType> VALUES;
//     static {
//         VALUES = Collections.unmodifiableMap(
//                 Arrays.stream(JournalType.values())
//                         .collect(Collectors.toMap((JournalType v) -> v.type, v -> v))
//         );
//     }
// }


// Path: allegro-nice-domain/src/main/java/com/apwglobal/nice/command/SearchJournal.java
import com.apwglobal.nice.domain.JournalType;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.Optional;

package com.apwglobal.nice.command;



public class SearchJournal {

    private Optional<Integer> limit = Optional.empty();
    private Optional<Long> rowId = Optional.empty();
    private Optional<Long> itemId = Optional.empty();
    private Optional<JournalType> changeType = Optional.empty();

    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
    private Optional<Date> from = Optional.empty();

    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
    private Optional<Date> to = Optional.empty();

    public SearchJournal() { }

    private SearchJournal(Builder builder) {
        setLimit(builder.limit);