cvičení 10 - Reflection

Java Reflection API
Reflection
V projektu cvičení 1 , cvičení 2, cvičení 3
Upravte třídu lab.gui.EditController tak aby bylo možno editovat vlastnosti (properties) jakékoliv třídy s využitím Java Reflection.
- V metodě setObjectToEdit použijte Introspector k získání BeanInfo pro detekci java properties (kombinace getter a setter metod) a přidejte dialogový řádek pro každou property
- V metodě btnOkAction přeneste data z textových polí zpět do java properties objektu
- Vytvořte anotaci @MyEdit pro možnost nastavení atributů pouze pro čtení (readOnly) a viditelnosti (visible) každé java bean property
- Použijte anotaci MyEdit k zobrazení pouze těch vlastností, které mají stejné jméno jako instanční proměnná s anotací @MyEdit a použijte nastavení z anotace @MyEdit ke skrytí vlastnosti nebo k jejímu nastavení pouze pro čtení.
- Nastavte vlastnost id jako skrytou.
- Nastavte vlastnost name pouze pro čtení
- Použijte java lokalizaci (ResourceBundle, Locale) pro překlad názvu vlastností v dialogu. Vytvořte "resource bundle" jménem msg pro několik jazyků.
Použijte např. parametry -Duser.language=cs -Duser.country=CZ
Řešení
Řešení najdete v https://gitlab.vsb.cz/jez04-vyuka/java2/labs/java2lab10v1/-/tree/solution?ref_type=heads ve větvi solution.
https://gitlab.vsb.cz/jez04-vyuka/java2/labs/java2lab10v2/-/tree/solution?ref_type=heads
Způsob odevzdání
Řešení domácího úkolu odevzdejte do systému Kelvin jako úlohu "Java 1 - domácí úkol z 3. cvičení". Do systému nahrejde celý obsah složky src a soubor pom.xml (prípadně run skript). Postupujte dle níže přiloženého vide.
Následně bude projekt zkompilován a provedou se Unit Testy. Vzhledem k povaze projektu a prozatímnímu testovacímu využití systému Kelvin v předmětu Java 2 v případě selhání nezoufejte.
Jedná se o pomocný test, vše bude ještě hodnoceno ručně. Důležité je nahrát soubory aby bylo možno vše vyhodnotit a provést analýzu na plagiáty. Věřím, že je to je formalita a všichni z Vás tvoří vlastní kód.