package org.openlmis.core.model.builder; import org.openlmis.core.manager.MovementReasonManager; import org.openlmis.core.manager.MovementReasonManager.MovementType; import org.openlmis.core.model.StockMovementItem; import org.openlmis.core.utils.DateUtil; import java.text.ParseException; import java.util.Date; public class StockMovementItemBuilder { String movementDate = "2010-10-10"; int stockExistence = 200; String documentNo = "abc"; String movementReason = "ISSUE1"; MovementType movementType = MovementReasonManager.MovementType.ISSUE; int quantity = 12; Date createdTime = new Date(); public StockMovementItem build() throws ParseException { StockMovementItem stockMovementItem = new StockMovementItem(); stockMovementItem.setMovementDate(DateUtil.parseString(movementDate, DateUtil.DB_DATE_FORMAT)); stockMovementItem.setDocumentNumber(documentNo); stockMovementItem.setStockOnHand(stockExistence); stockMovementItem.setReason(movementReason); stockMovementItem.setMovementType(movementType); stockMovementItem.setMovementQuantity(quantity); stockMovementItem.setCreatedTime(createdTime); return stockMovementItem; } public StockMovementItemBuilder withMovementDate(String movementDate) { this.movementDate = movementDate; return this; } public StockMovementItemBuilder withDocumentNo(String documentNo) { this.documentNo = documentNo; return this; } public StockMovementItemBuilder withMovementReason(String movementReason) { this.movementReason = movementReason; return this; } public StockMovementItemBuilder withQuantity(int quantity) { this.quantity = quantity; return this; } public StockMovementItemBuilder withMovementType(MovementType movementType) { this.movementType = movementType; return this; } public StockMovementItemBuilder withStockOnHand(int stockExistence) { this.stockExistence = stockExistence; return this; } }