From b82b715bc5c99641bd80c0c8907818ce388ee75f Mon Sep 17 00:00:00 2001 From: South12309 Date: Thu, 26 Oct 2023 16:59:13 +0300 Subject: [PATCH] task4 is done --- src/main/java/task_4/AvengersBase.java | 37 +++++++++++++++++++ src/main/java/task_4/Hero.java | 13 +++++++ .../java/task_4/SecurityBreachException.java | 7 ++++ .../UnauthorizedAccessAttemptException.java | 7 ++++ 4 files changed, 64 insertions(+) create mode 100644 src/main/java/task_4/AvengersBase.java create mode 100644 src/main/java/task_4/Hero.java create mode 100644 src/main/java/task_4/SecurityBreachException.java create mode 100644 src/main/java/task_4/UnauthorizedAccessAttemptException.java 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); + } +}