플러그인 상태

까멜레오 플러그인은 UNLOADED, LOADED, FAILED 세 가지 상태를 갖는다. 모든 플러그인은 UNLOADED 상태로 초기화되어 있다.

플러그인 로드

까멜레오가 처음 시작되면 시스템은 각 플러그인의 load 메소드를 호출한다. 플러그인은 load 메소드에서 플러그인 사용에 필요한 자원을 얻는다.

load 메소드가 아무런 예외 없이 리턴하면 해당 플러그인은 LOADED 상태가 된다. load 메소드에서 처리되지 않은 예외가 발생하면, 플러그인은 FAILED 상태가 되며 이후 unload는 불리지 않는다.

플러그인 언로드

까멜레오를 종료하면 시스템은 각 플러그인의 unload 메소드를 호출한다. 플러그인은 unload 메소드에서 플러그인에 사용을 마친 자원을 반환한다.

unload 메소드가 아무런 예외 없이 리턴하면 해당 플러그인은 UNLOADED 상태가 된다. unload 메소드에서 처리되지 않은 예외가 발생하면, 플러그인은 FAILED 상태가 되며 이후 unload가 다시 불리지 않는다.

예외

load 메소드에서 플러그인을 초기화할 수 없으면 chameleo.plugin.ResourceUnavailableException을 발생시키면 된다.