Commit 099a1ad5 authored by Trisha Gee's avatar Trisha Gee
Browse files

[appB] Example of records validation

parent 3558a3de
Loading
Loading
Loading
Loading
+20 −0
Changes for src/main/java/appB/CustomerWithValidation.java: 20 added lines, 0 removed lines.
Original line number Diff line number Diff line
package appB;

public record CustomerWithValidation(int id, String name) {
  public CustomerWithValidation(int id, String name) {
    if (id < 0) {
      throw new ValidationException();
    }
    this.id = id;
    this.name = name;
  }

  public int id() {
    checkEverythingIsOk();
    return id;
  }

  private void checkEverythingIsOk() {

  }
}
+3 −1
Changes for src/main/java/appB/UsingRecords.java: 3 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -7,8 +7,10 @@ public class UsingRecords {

  static void usingARecordLooksJustLikeANormalClass() {
    Customer customer = new Customer(7, "Trisha");
    System.out.println("customer = " + customer);
    System.out.println(customer);
    System.out.println(customer.name());

    System.out.println("customer = " + customer);
    System.out.println("customer.name() = " + customer.name());
  }
}
+4 −0
Changes for src/main/java/appB/ValidationException.java: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
package appB;

public class ValidationException extends IllegalArgumentException {
}
+1 −0
Changes for src/main/java/appB/old/Customer.java: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
package appB.old;

// This requires at least Java 16. Recommend using Java 17, as it's the current Long Term Support release.
public record Customer(int id, String name) { }