Skip to content

Commit 744a8de

Browse files
committed
Merge branch 'master' of https://github.com/ssamzag/java_pocu
# Conflicts: # Lab4/src/academy/pocu/comp2500/lab4/MemoryCache.java # Lab4/src/academy/pocu/comp2500/lab4/Program.java
2 parents 3a8711f + 8ccd403 commit 744a8de

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1793
-49
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
package academy.pocu.comp2500.assignment2;
2+
3+
import academy.pocu.comp2500.assignment2.registry.Interface;
4+
import academy.pocu.comp2500.assignment2.registry.InterfaceKey;
5+
import academy.pocu.comp2500.assignment2.registry.Registry;
6+
7+
public class App {
8+
public App(Registry registry) {
9+
//스탬프
10+
registry.registerRedStampCreator("Stamp", "SetRedStamp");
11+
registry.registerBlueStampCreator("Stamp", "SetBedStamp");
12+
registry.registerGreenStampCreator("Stamp", "SetGreenStamp");
13+
14+
//달력
15+
registry.registerWallCalendarCreator("");
16+
registry.registerWallCalendarCreator("", "");
17+
registry.registerMagnetCalendarCreator("");
18+
registry.registerMagnetCalendarCreator("", "");
19+
registry.registerDeskCalendarCreator("");
20+
registry.registerDeskCalendarCreator("", "");
21+
22+
23+
///명함 출력 방향
24+
registry.registerLandscapeBannerCreator("");
25+
registry.registerLandscapeBannerCreator("", "");
26+
registry.registerPortraitBannerCreator("");
27+
registry.registerPortraitBannerCreator("", "");
28+
29+
//명함
30+
registry.registerGlossBannerCreator("");
31+
registry.registerGlossBannerCreator("", "");
32+
registry.registerScrimBannerCreator("");
33+
registry.registerScrimBannerCreator("", "");
34+
registry.registerMeshBannerCreator("");
35+
registry.registerMeshBannerCreator("", "");
36+
//명함 출력 방향
37+
registry.registerLandscapeBusinessCardCreator("");
38+
registry.registerLandscapeBusinessCardCreator("", "");
39+
registry.registerPortraitBusinessCardCreator("");
40+
registry.registerPortraitBusinessCardCreator("", "");
41+
//명함 종이색
42+
registry.registerIvoryBusinessCardCreator("");
43+
registry.registerIvoryBusinessCardCreator("", "");
44+
registry.registerGrayBusinessCardCreator("");
45+
registry.registerGrayBusinessCardCreator("", "");
46+
registry.registerWhiteBusinessCardCreator("");
47+
registry.registerWhiteBusinessCardCreator("", "");
48+
//명함
49+
registry.registerLaidBusinessCardCreator("");
50+
registry.registerLaidBusinessCardCreator("", "");
51+
registry.registerLinenBusinessCardCreator("");
52+
registry.registerLinenBusinessCardCreator("", "");
53+
registry.registerSmoothBusinessCardCreator("");
54+
registry.registerSmoothBusinessCardCreator("", "");
55+
registry.registerSingleSidedBusinessCardCreator("");
56+
registry.registerSingleSidedBusinessCardCreator("", "");
57+
registry.registerDoubleSidedBusinessCardCreator("");
58+
registry.registerDoubleSidedBusinessCardCreator("", "");
59+
60+
//장바구니
61+
registry.registerCartCreator("Cart");
62+
registry.registerProductAdder("", "");
63+
registry.registerProductRemover("", "");
64+
registry.registerTotalPriceGetter("", "");
65+
registry.registerLandscapeBannerTextApertureAdder("", "");
66+
registry.registerLandscapeBannerImageApertureAdder("", "");
67+
registry.registerPortraitBannerTextApertureAdder("", "");
68+
registry.registerPortraitBannerImageApertureAdder("", "");
69+
registry.registerGlossBannerTextApertureAdder("", "");
70+
registry.registerGlossBannerImageApertureAdder("", "");
71+
registry.registerScrimBannerTextApertureAdder("", "");
72+
registry.registerScrimBannerImageApertureAdder("", "");
73+
registry.registerMeshBannerTextApertureAdder("", "");
74+
registry.registerMeshBannerImageApertureAdder("", "");
75+
registry.registerLandscapeBusinnessCardTextApertureAdder("", "");
76+
registry.registerLandscapeBusinnessCardImageApertureAdder("", "");
77+
registry.registerPortraitBusinnessCardTextApertureAdder("", "");
78+
registry.registerPortraitBusinnessCardImageApertureAdder("", "");
79+
registry.registerIvoryBusinnessCardTextApertureAdder("", "");
80+
registry.registerIvoryBusinnessCardImageApertureAdder("", "");
81+
registry.registerGrayBusinnessCardTextApertureAdder("", "");
82+
registry.registerGrayBusinnessCardImageApertureAdder("", "");
83+
registry.registerWhiteBusinnessCardTextApertureAdder("", "");
84+
registry.registerWhiteBusinnessCardImageApertureAdder("", "");
85+
registry.registerLaidBusinnessCardTextApertureAdder("", "");
86+
registry.registerLaidBusinnessCardImageApertureAdder("", "");
87+
registry.registerLinenBusinnessCardTextApertureAdder("", "");
88+
registry.registerLinenBusinnessCardImageApertureAdder("", "");
89+
registry.registerSmoothBusinnessCardTextApertureAdder("", "");
90+
registry.registerSmoothBusinnessCardImageApertureAdder("", "");
91+
registry.registerSingleSidedBusinnessCardTextApertureAdder("", "");
92+
registry.registerSingleSidedBusinnessCardImageApertureAdder("", "");
93+
registry.registerDoubleSidedBusinnessCardTextApertureAdder("", "");
94+
registry.registerDoubleSidedBusinnessCardImageApertureAdder("", "");
95+
}
96+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package academy.pocu.comp2500.assignment2;
2+
3+
import java.util.HashMap;
4+
import java.util.Map;
5+
6+
public class Banner extends Product {
7+
private Map<String, Position> Words = new HashMap<String, Position>();
8+
private PrintLayout printLayout;
9+
10+
public Banner(PrintSize size) {
11+
super(size);
12+
}
13+
14+
public int gerPrice(EBanner.BannerType type, EBanner.Size size) {
15+
if (type == EBanner.BannerType.GLASS) {
16+
switch (size) {
17+
case SIZE_1X1_M:
18+
return 5000;
19+
case SIZE_3X1_M:
20+
return 5200;
21+
case SIZE_1X05_M:
22+
return 5300;
23+
case SIZE_2X05_M:
24+
return 6000;
25+
default:
26+
assert (false);
27+
}
28+
} else if (type == EBanner.BannerType.SCRIM) {
29+
switch (size) {
30+
case SIZE_1X1_M:
31+
return 5100;
32+
case SIZE_3X1_M:
33+
return 5300;
34+
case SIZE_1X05_M:
35+
return 5400;
36+
case SIZE_2X05_M:
37+
return 6100;
38+
default:
39+
assert (false);
40+
}
41+
} else if (type == EBanner.BannerType.MESH) {
42+
switch (size) {
43+
case SIZE_1X1_M:
44+
return 5100;
45+
case SIZE_3X1_M:
46+
return 5300;
47+
case SIZE_1X05_M:
48+
return 5400;
49+
case SIZE_2X05_M:
50+
return 6100;
51+
default:
52+
assert (false);
53+
}
54+
}
55+
return -1;
56+
}
57+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package academy.pocu.comp2500.assignment2;
2+
3+
public class BusinessCard {
4+
5+
public BusinessCard() {
6+
7+
}
8+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package academy.pocu.comp2500.assignment2;
2+
3+
public enum BusinessCardType {
4+
LINEN_COVER,
5+
LAID,
6+
SNOW
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package academy.pocu.comp2500.assignment2;
2+
3+
public class Calendar extends Product {
4+
private CalendarType type;
5+
6+
public Calendar(PrintSize size, CalendarType type) {
7+
super.setPrintSize(size);
8+
super.setColor(CustomColor.WHITE_BOARD.getRgbColor());
9+
}
10+
11+
public int getPrice() {
12+
switch(super.getPrintSize()) {
13+
case SIZE_40X40_CM:
14+
case SIZE_20X15_CM:
15+
return 1000;
16+
case SIZE_10X20_CM:
17+
return 1500;
18+
default:
19+
assert (false);
20+
}
21+
22+
return -1;
23+
}
24+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package academy.pocu.comp2500.assignment2;
2+
3+
public enum CalendarSize {
4+
SIZE_40X40_CM,
5+
SIZE_20X15_CM,
6+
SIZE_10X20_CM,
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package academy.pocu.comp2500.assignment2;
2+
3+
public enum CalendarType {
4+
WALL {
5+
public int getPrice() {
6+
return 1000;
7+
};
8+
public CalendarSize getSize() {
9+
return CalendarSize.SIZE_40X40_CM;
10+
}
11+
},
12+
DESK {
13+
public int getPrice() {
14+
return 1000;
15+
}
16+
public CalendarSize getSize() {
17+
return CalendarSize.SIZE_20X15_CM;
18+
}
19+
},
20+
MAGNET {
21+
public int getPrice() {
22+
return 1500;
23+
}
24+
public CalendarSize getSize() {
25+
return CalendarSize.SIZE_10X20_CM;
26+
}
27+
};
28+
29+
30+
abstract int getPrice();
31+
abstract CalendarSize getSize();
32+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package academy.pocu.comp2500.assignment2;
2+
3+
public class Cart {
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package academy.pocu.comp2500.assignment2;
2+
3+
import java.awt.Color;
4+
5+
public enum CustomColor {
6+
RED_BULL {
7+
int getRgbColor() {
8+
return 0xFF0000;
9+
}
10+
},
11+
BLUE_LAY {
12+
int getRgbColor() {
13+
return 0x0000FF;
14+
}
15+
},
16+
GREEN_LANTERN {
17+
int getRgbColor() {
18+
return 0x008000;
19+
}
20+
},
21+
WHITE_BOARD {
22+
int getRgbColor() {
23+
return 0xFFFFFF;
24+
}
25+
},
26+
GRAY_SEKIYA {
27+
int getRgbColor() {
28+
return 0xE6E6E6;
29+
}
30+
},
31+
IVORY_MAGIC {
32+
int getRgbColor() {
33+
return 0xFFFFF0;
34+
}
35+
};
36+
37+
abstract int getRgbColor();
38+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package academy.pocu.comp2500.assignment2;
2+
3+
public enum EBanner {
4+
e;
5+
6+
EBanner() {
7+
8+
};
9+
10+
11+
12+
public enum Size {
13+
SIZE_1X05_M,
14+
SIZE_1X1_M,
15+
SIZE_2X05_M,
16+
SIZE_3X1_M;
17+
}
18+
19+
public enum BannerType {
20+
GLASS,
21+
SCRIM,
22+
MESH
23+
}
24+
25+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package academy.pocu.comp2500.assignment2;
2+
3+
public class Position {
4+
private int x;
5+
private int y;
6+
7+
public Position(int x, int y) {
8+
this.x = x;
9+
this.y = y;
10+
}
11+
12+
public Position getPosition() {
13+
return new Position(x, y);
14+
}
15+
16+
public void setX(int x) {
17+
this.x = x;
18+
}
19+
20+
public void setY(int y) {
21+
this.y = y;
22+
}
23+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package academy.pocu.comp2500.assignment2;
2+
3+
public class PrintLayout {
4+
private PrintLayoutType printLayoutType;
5+
6+
public PrintLayout(PrintLayoutType type) {
7+
this.printLayoutType = type;
8+
}
9+
10+
public PrintLayoutType getPrintLayoutType() {
11+
return this.printLayoutType;
12+
}
13+
14+
protected void setLandscape() {
15+
this.printLayoutType = PrintLayoutType.LANDSCAPE;
16+
}
17+
18+
protected void setPortrait() {
19+
this.printLayoutType = PrintLayoutType.PORTRAIT;
20+
}
21+
22+
23+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package academy.pocu.comp2500.assignment2;
2+
3+
public enum PrintLayoutType {
4+
PORTRAIT,
5+
LANDSCAPE
6+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package academy.pocu.comp2500.assignment2;
2+
3+
public enum PrintSize {
4+
SIZE_1X05_M,
5+
SIZE_1X1_M,
6+
SIZE_2X05_M,
7+
SIZE_3X1_M,
8+
SIZE_4X3_CM,
9+
SIZE_5X2_CM,
10+
SIZE_7X4_CM,
11+
SIZE_40X40_CM,
12+
SIZE_20X15_CM,
13+
SIZE_10X20_CM;
14+
}

0 commit comments

Comments
 (0)