From f83bd6a132db04d44781de9a9edb1cf7a0b0a76e Mon Sep 17 00:00:00 2001 From: haerong22 Date: Mon, 3 Jul 2023 20:27:54 +0900 Subject: [PATCH] =?UTF-8?q?#38=20hexagonal:=20membership=20=EB=8F=84?= =?UTF-8?q?=EB=A9=94=EC=9D=B8=20=EC=84=A4=EA=B3=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/membership/domain/Membership.java | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 bobby-pay/membership-service/src/main/java/org/example/membership/domain/Membership.java diff --git a/bobby-pay/membership-service/src/main/java/org/example/membership/domain/Membership.java b/bobby-pay/membership-service/src/main/java/org/example/membership/domain/Membership.java new file mode 100644 index 00000000..1816833b --- /dev/null +++ b/bobby-pay/membership-service/src/main/java/org/example/membership/domain/Membership.java @@ -0,0 +1,96 @@ +package org.example.membership.domain; + +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.Value; + +@Getter +@AllArgsConstructor(access = AccessLevel.PRIVATE) +public class Membership { + + private final String membershipId; + private final String name; + private final String email; + private final String address; + private final boolean isValid; + private final boolean isCorp; + + public static Membership generateMember( + MembershipId membershipId, + MembershipName membershipName, + MembershipEmail membershipEmail, + MembershipAddress membershipAddress, + MembershipIsValid membershipIsValid, + MembershipIsCorp membershipIsCorp + ) { + return new Membership( + membershipId.membershipId, + membershipName.membershipName, + membershipEmail.membershipEmail, + membershipAddress.membershipAddress, + membershipIsValid.membershipIsValid, + membershipIsCorp.membershipIsCorp + ); + } + + @Value + public static class MembershipId { + + String membershipId; + + public MembershipId(String value) { + this.membershipId = value; + } + } + + @Value + public static class MembershipName { + + String membershipName; + + public MembershipName(String value) { + this.membershipName = value; + } + } + + @Value + public static class MembershipEmail { + + String membershipEmail; + + public MembershipEmail(String value) { + this.membershipEmail = value; + } + } + + @Value + public static class MembershipAddress { + + String membershipAddress; + + public MembershipAddress(String value) { + this.membershipAddress = value; + } + } + + @Value + public static class MembershipIsValid { + + boolean membershipIsValid; + + public MembershipIsValid(boolean value) { + this.membershipIsValid = value; + } + } + + @Value + public static class MembershipIsCorp { + + boolean membershipIsCorp; + + public MembershipIsCorp(boolean value) { + this.membershipIsCorp = value; + } + } +}