// Path: warehouse-model/src/main/java/warehouse/BoxLabel.java
// @Value
// public class BoxLabel {
//     private final String refNo;
//     private final int quantity;
//     private final String boxType;
// }
// 
// Path: warehouse-model/src/main/java/warehouse/PaletteLabel.java
// @Value
// public class PaletteLabel {
//     private final String id;
//     private final String refNo;
// 
//     @Override
//     public String toString() {
//         return id;
//     }
// }
// 
// Path: warehouse-model/src/main/java/warehouse/locations/Location.java
// @Value
// public class Location {
//     private final String location;
// 
//     public static Location production() {
//         return new Location("production");
//     }
// 
//     public static Location quarantine() {
//         return new Location("quarantine");
//     }
// 
//     public static Location onTheMove(String user) {
//         return new Location("picked by " + user);
//     }
// 
//     public static Location unknown() {
//         return new Location("<unknown>");
//     }
// }
// 
// Path: warehouse-model/src/main/java/warehouse/products/ValidationResult.java
// public static ValidationResult valid() {
//     return new ValidationResult(Collections.emptySet());
// }


import lombok.AllArgsConstructor;
import lombok.Value;
import warehouse.BoxLabel;
import warehouse.PaletteLabel;
import warehouse.locations.Location;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List;
import static warehouse.products.ValidationResult.valid;
package warehouse.products;




/**
 * Created by michal on 08.06.2016.
 */
@Value
@AllArgsConstructor
public class Registered {
    private final PaletteLabel paletteLabel;
    private final List<BoxLabel> scannedBoxes;
    private final LocalDateTime readyAt;
    private final Location preferredLocation;
    private final ValidationResult validationResult;

// Path: warehouse-model/src/main/java/warehouse/BoxLabel.java
// @Value
// public class BoxLabel {
//     private final String refNo;
//     private final int quantity;
//     private final String boxType;
// }
// 
// Path: warehouse-model/src/main/java/warehouse/PaletteLabel.java
// @Value
// public class PaletteLabel {
//     private final String id;
//     private final String refNo;
// 
//     @Override
//     public String toString() {
//         return id;
//     }
// }
// 
// Path: warehouse-model/src/main/java/warehouse/locations/Location.java
// @Value
// public class Location {
//     private final String location;
// 
//     public static Location production() {
//         return new Location("production");
//     }
// 
//     public static Location quarantine() {
//         return new Location("quarantine");
//     }
// 
//     public static Location onTheMove(String user) {
//         return new Location("picked by " + user);
//     }
// 
//     public static Location unknown() {
//         return new Location("<unknown>");
//     }
// }
// 
// Path: warehouse-model/src/main/java/warehouse/products/ValidationResult.java
// public static ValidationResult valid() {
//     return new ValidationResult(Collections.emptySet());
// }


// Path: warehouse-model/src/main/java/warehouse/products/Registered.java
import lombok.AllArgsConstructor;
import lombok.Value;
import warehouse.BoxLabel;
import warehouse.PaletteLabel;
import warehouse.locations.Location;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List;
import static warehouse.products.ValidationResult.valid;

package warehouse.products;




/**
 * Created by michal on 08.06.2016.
 */
@Value
@AllArgsConstructor
public class Registered {
    private final PaletteLabel paletteLabel;
    private final List<BoxLabel> scannedBoxes;
    private final LocalDateTime readyAt;
    private final Location preferredLocation;
    private final ValidationResult validationResult;

    public Registered(PaletteLabel paletteLabel, List<BoxLabel> scannedBoxes,