GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — hackerrank-java/src/JavaFactoryPattern.java at master · anishLearnsToCode/hackerrank-java

Expand file tree

/

JavaFactoryPattern.java

Copy path
More file actions
More file actions

Latest commit

 

History

History
History
69 lines (57 loc) · 1.93 KB
/

JavaFactoryPattern.java

Copy path

File metadata and controls

69 lines (57 loc) · 1.93 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// https://www.hackerrank.com/challenges/java-factory/problem
import java.security.Permission;
import java.util.Scanner;
public class JavaFactoryPattern {
public static void main(String args[]){
Do_Not_Terminate.forbidExit();
try{
Scanner sc = new Scanner(System.in);
//creating the factory
FoodFactory foodFactory = new FoodFactory();
//factory instantiates an object
Food food = foodFactory.getFood(sc.nextLine());
System.out.println("The factory returned "+food.getClass());
System.out.println(food.getType());
} catch (Do_Not_Terminate.ExitTrappedException e) {
System.out.println("Unsuccessful Termination!!");
}
}
private interface Food {
String getType();
}
private static class Pizza implements Food {
public String getType() {
return "Someone ordered a Fast Food!";
}
}
private static class Cake implements Food {
public String getType() {
return "Someone ordered a Dessert!";
}
}
private static class FoodFactory {
public Food getFood(String order) {
switch (order) {
case "cake" : return new Cake();
case "pizza" : return new Pizza();
}
return null;
}
}
}
class Do_Not_Terminate {
public static class ExitTrappedException extends SecurityException {
private static final long serialVersionUID = 1L;
}
public static void forbidExit() {
final SecurityManager securityManager = new SecurityManager() {
@Override
public void checkPermission(Permission permission) {
if (permission.getName().contains("exitVM")) {
throw new ExitTrappedException();
}
}
};
System.setSecurityManager(securityManager);
}
}
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.