diff --git a/src/main/java/task_4/AvengersBase.java b/src/main/java/task_4/AvengersBase.java new file mode 100644 index 0000000..922d9a5 --- /dev/null +++ b/src/main/java/task_4/AvengersBase.java @@ -0,0 +1,37 @@ +package task_4; + +import javax.naming.AuthenticationException; + +public class AvengersBase { + private String secretDocument = "Secret"; + + public static void main(String[] args) { + AvengersBase avengersBase = new AvengersBase(); + Hero Loki = new Hero("Loki"); + try { + avengersBase.enterBase(Loki); + } catch (SecurityBreachException e) { + e.printStackTrace(); + } + try { + avengersBase.getSecretDocuments(Loki, "Secret"); + } catch (UnauthorizedAccessAttemptException e) { + e.printStackTrace(); + } + } + + // Герой пытается вотий в базу + public void enterBase(Hero hero) { + if (hero.getName().equals("Loki")) { + throw new SecurityBreachException("Loki is attacking"); + } + } + + // Герой пытается получить доступ к документу + public String getSecretDocuments(Hero hero, String documentName) { + if (documentName.equals(secretDocument)) { + throw new UnauthorizedAccessAttemptException(hero.getName() + " try to get secret document " + documentName); + } + return documentName; + } +} \ No newline at end of file diff --git a/src/main/java/task_4/Hero.java b/src/main/java/task_4/Hero.java new file mode 100644 index 0000000..13e5ad7 --- /dev/null +++ b/src/main/java/task_4/Hero.java @@ -0,0 +1,13 @@ +package task_4; + +public class Hero { + private final String name; + + public Hero(String name) { + this.name = name; + } + + public String getName() { + return name; + } +} \ No newline at end of file diff --git a/src/main/java/task_4/SecurityBreachException.java b/src/main/java/task_4/SecurityBreachException.java new file mode 100644 index 0000000..a3ae170 --- /dev/null +++ b/src/main/java/task_4/SecurityBreachException.java @@ -0,0 +1,7 @@ +package task_4; + +public class SecurityBreachException extends RuntimeException{ + public SecurityBreachException(String message) { + super(message); + } +} diff --git a/src/main/java/task_4/UnauthorizedAccessAttemptException.java b/src/main/java/task_4/UnauthorizedAccessAttemptException.java new file mode 100644 index 0000000..8c55a78 --- /dev/null +++ b/src/main/java/task_4/UnauthorizedAccessAttemptException.java @@ -0,0 +1,7 @@ +package task_4; + +public class UnauthorizedAccessAttemptException extends RuntimeException{ + public UnauthorizedAccessAttemptException(String message) { + super(message); + } +}