From cb103b8a62ad9cf2ef19b171b0a00959333ad38a Mon Sep 17 00:00:00 2001 From: Selebrator Date: Sun, 5 May 2019 12:30:32 +0200 Subject: [PATCH] Initial commit for 4.4 --- src/main/java/_4/_4/Chair.java | 4 ++++ src/main/java/_4/_4/Desk.java | 4 ++++ src/main/java/_4/_4/Furniture.java | 4 ++++ src/main/java/_4/_4/Office.java | 20 ++++++++++++++++++++ src/main/java/_4/_4/Room.java | 11 +++++++++++ src/main/java/_4/_4/Table.java | 4 ++++ src/main/java/_4/_4/Test.java | 13 +++++++++++++ 7 files changed, 60 insertions(+) create mode 100644 src/main/java/_4/_4/Chair.java create mode 100644 src/main/java/_4/_4/Desk.java create mode 100644 src/main/java/_4/_4/Furniture.java create mode 100644 src/main/java/_4/_4/Office.java create mode 100644 src/main/java/_4/_4/Room.java create mode 100644 src/main/java/_4/_4/Table.java create mode 100644 src/main/java/_4/_4/Test.java diff --git a/src/main/java/_4/_4/Chair.java b/src/main/java/_4/_4/Chair.java new file mode 100644 index 0000000..cc85acf --- /dev/null +++ b/src/main/java/_4/_4/Chair.java @@ -0,0 +1,4 @@ +package _4._4; + +public class Chair implements Furniture { +} diff --git a/src/main/java/_4/_4/Desk.java b/src/main/java/_4/_4/Desk.java new file mode 100644 index 0000000..77914e4 --- /dev/null +++ b/src/main/java/_4/_4/Desk.java @@ -0,0 +1,4 @@ +package _4._4; + +public class Desk extends Table { +} diff --git a/src/main/java/_4/_4/Furniture.java b/src/main/java/_4/_4/Furniture.java new file mode 100644 index 0000000..4f51d1e --- /dev/null +++ b/src/main/java/_4/_4/Furniture.java @@ -0,0 +1,4 @@ +package _4._4; + +public interface Furniture { +} diff --git a/src/main/java/_4/_4/Office.java b/src/main/java/_4/_4/Office.java new file mode 100644 index 0000000..a2a9ce2 --- /dev/null +++ b/src/main/java/_4/_4/Office.java @@ -0,0 +1,20 @@ +package _4._4; + +import java.util.List; + +public class Office extends Room { + private List desks; + private List chairs; + + public Office(List furniture, List desks, List chairs) { + super(furniture); + if(desks.isEmpty()) { + throw new IllegalArgumentException("An Office must have at least 1 Desk"); + } + this.desks = desks; + if(chairs.isEmpty()) { + throw new IllegalArgumentException("An Office must have at least 1 Chair"); + } + this.chairs = chairs; + } +} diff --git a/src/main/java/_4/_4/Room.java b/src/main/java/_4/_4/Room.java new file mode 100644 index 0000000..e22412a --- /dev/null +++ b/src/main/java/_4/_4/Room.java @@ -0,0 +1,11 @@ +package _4._4; + +import java.util.List; + +public class Room { + protected List furniture; + + public Room(List furniture) { + this.furniture = furniture; + } +} diff --git a/src/main/java/_4/_4/Table.java b/src/main/java/_4/_4/Table.java new file mode 100644 index 0000000..b56cba9 --- /dev/null +++ b/src/main/java/_4/_4/Table.java @@ -0,0 +1,4 @@ +package _4._4; + +public class Table implements Furniture { +} diff --git a/src/main/java/_4/_4/Test.java b/src/main/java/_4/_4/Test.java new file mode 100644 index 0000000..b077fcc --- /dev/null +++ b/src/main/java/_4/_4/Test.java @@ -0,0 +1,13 @@ +package _4._4; + +import java.util.Arrays; + +public class Test { + public static void main(String[] args) { + Office office = new Office( + Arrays.asList(new Chair()), + Arrays.asList(new Desk()), + Arrays.asList(new Chair()) + ); + } +}