diff --git a/src/main/java/org/pasteque/coreutil/extra/ExtraBuilder.java b/src/main/java/org/pasteque/coreutil/extra/ExtraBuilder.java
index 4186882..f097f63 100644
--- a/src/main/java/org/pasteque/coreutil/extra/ExtraBuilder.java
+++ b/src/main/java/org/pasteque/coreutil/extra/ExtraBuilder.java
@@ -21,6 +21,8 @@ public final class ExtraBuilder
/**
* Create an empty builder to create an {@link ExtraObject}.
+ * It will be already pointing to the root object and values can be added
+ * to it.
*/
public ExtraBuilder() {
this.path = new ArrayList
Extra objects will be found only in the major classes and their + * associated DTO from coreutil. Other packages will have the semantic values + * instead and convert them to extra data only when creating a major version + * of itself through transition interfaces.
*/ package org.pasteque.coreutil.extra; diff --git a/src/main/java/org/pasteque/major/domain/MajorCashRegister.java b/src/main/java/org/pasteque/major/domain/MajorCashRegister.java index 0920e82..85f3616 100644 --- a/src/main/java/org/pasteque/major/domain/MajorCashRegister.java +++ b/src/main/java/org/pasteque/major/domain/MajorCashRegister.java @@ -1,6 +1,7 @@ package org.pasteque.major.domain; import org.pasteque.coreutil.datatransfer.dto.CashRegisterDTO; +import org.pasteque.coreutil.extra.ExtraObject; /** *Model for a cash register. Tickets are associated to a cash register
@@ -14,6 +15,8 @@ public class MajorCashRegister
private String label;
/** {@see getNextTicketNumber()} */
private int nextTicketNumber;
+ /** See {@link getExtra()}. */
+ private ExtraObject extra;
/**
* Create from all fields.
@@ -21,24 +24,28 @@ public class MajorCashRegister
* @param label See {@link getLabel()}.
* @param nextTicketNumber The number to assign to the next ticket
* from this cash register.
+ * @param extra See {@link getExtra()}.
*/
public MajorCashRegister(
String reference,
String label,
- int nextTicketNumber) {
+ int nextTicketNumber,
+ ExtraObject extra) {
this.reference = reference;
this.label = label;
this.nextTicketNumber = nextTicketNumber;
+ this.extra = extra;
}
/**
- * Create from a DTO. All data are copied to break references.
+ * Create from a DTO.
* @param dto The DTO to convert.
*/
public MajorCashRegister(CashRegisterDTO dto) {
- this.reference = new String(dto.getReference());
- this.label = new String(dto.getLabel());
+ this.reference = dto.getReference();
+ this.label = dto.getLabel();
this.nextTicketNumber = dto.getNextTicketNumber();
+ this.extra = dto.getExtra();
}
/**
@@ -77,4 +84,12 @@ public class MajorCashRegister
/* package */ final void revertNextTicketNumber() {
this.nextTicketNumber--;
}
+
+ /**
+ * Get all other data.
+ * @return The root object of extra data.
+ */
+ public final ExtraObject getExtra() {
+ return this.extra;
+ }
}
diff --git a/src/main/java/org/pasteque/major/domain/MajorOrder.java b/src/main/java/org/pasteque/major/domain/MajorOrder.java
index 7f5030d..6fca466 100644
--- a/src/main/java/org/pasteque/major/domain/MajorOrder.java
+++ b/src/main/java/org/pasteque/major/domain/MajorOrder.java
@@ -22,6 +22,7 @@ public final class MajorOrder implements OrderTransition
private final Price2 finalTaxedPrice;
private final ImmutableList