//For their sakes I sanctify myself, that they themselves also may be sanctified in truth. (John 17:19) --------------------------------------------------Bean.java------------------------------------------------------------- package com.javarush.task.task17.task1719; public interface Bean { //это интерфейс-маркер } ------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------ApplicationContext.java----------------------------------------------- package com.javarush.task.task17.task1719; import java.util.HashMap; import java.util.Map; /* ApplicationContext */ public abstract class ApplicationContext { private Map container = new HashMap(); //Map protected ApplicationContext() { parseAllClassesAndInterfaces(); } public synchronized GenericsBean getByName(String name) { return container.get(name); } public synchronized GenericsBean removeByName(String name) { return container.remove(name); } protected abstract void parseAllClassesAndInterfaces(); public static void main(String[] args) { } } ------------------------------------------------------------------------------------------------------------------------ /* ApplicationContext ApplicationContext будет доступен множеству нитей. Сделать так, чтобы данные не терялись: подумай, какое ключевое слово необходимо поставить и где. Требования: 1. Класс ApplicationContext должен быть абстрактным. 2. Класс ApplicationContext должен содержать private поле container типа Map. 3. В getByName(String name), если необходимо, используй synchronized. 4. В removeByName(String name), если необходимо, используй synchronized. --------------------------------------------------Bean.java------------------------------------------------------------- package com.javarush.task.task17.task1719; public interface Bean { //это интерфейс-маркер } ------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------ApplicationContext.java----------------------------------------------- package com.javarush.task.task17.task1719; import java.util.HashMap; import java.util.Map; /* ApplicationContext */ public abstract class ApplicationContext { private Map container = new HashMap(); //Map protected ApplicationContext() { parseAllClassesAndInterfaces(); } public GenericsBean getByName(String name) { return container.get(name); } public GenericsBean removeByName(String name) { return container.remove(name); } protected abstract void parseAllClassesAndInterfaces(); public static void main(String[] args) { } } ------------------------------------------------------------------------------------------------------------------------ */