1 package twcsckernel.clientKernel.plugins; 2 3 import javax.swing.JComponent; 4 5 import twcsckernel.clientKernel.desktop.FrameManager; 6 import twcsckernel.projectbase.common.RemoteAgent; 7 import twcsckernel.projectbase.plugins.Plugin; 8 9 public interface ClientPlugin extends Plugin { 10 11 /*** 12 * inicjacja pluginu zmienne i inne pierdy 13 */ 14 void initInstance(); 15 16 /*** 17 * metoda musi zwrócic obiekt JPanel - bedący wypelnieniem okna aplikacj 18 * jako parametr otrzymuje frame managera 19 */ 20 21 JComponent getJPanel(FrameManager frameMgr); 22 23 /*** 24 * Metoda ustawia w pluginie agenta serwerowej czści plugina. 25 * 26 * @param agent 27 * sieciowy agent serwerowej czśsci plugina 28 * @throws UnsupportedOperationException 29 * jeśli plugin jest lokalny i nie wymaga komunikacji sieciowej 30 * metoda rzuca wyjątek. 31 */ 32 void setForeignAgent(RemoteAgent agent) 33 throws UnsupportedOperationException; 34 35 /*** 36 * Metoda zwraca własnego agenta sieciowego plugina. Agent jest domyślnie 37 * zarejestrowany w serwerze RMI (nie wymaga zewnętrznej rejestracji). Agent 38 * ten jest przekazywany serwerowi. 39 * 40 * @return własny agent sieciowy plugina 41 * @throws UnsupportedOperationException 42 * jeśli plugin jest lokalny i nie wymaga komunikacji sieciowej 43 * metoda rzuca wyjątek. 44 */ 45 RemoteAgent getOwnAgent() throws UnsupportedOperationException; 46 47 /*** 48 * Metoda kończąca działanie plugina (zwolnienie zasobów etc.) 49 */ 50 void disposePlugin(); 51 52 }