2009-07-01 6 views
4

GWT 모듈에 포함 할 클래스가 있습니다. 불행히도 GWT에서 지원하지 않는 기능을 가진 메소드가 있습니다 (호기심에 대비하여 Class.isInstance를 사용합니다). 내 GWT 응용 프로그램에서는이 방법을 사용하지 않지만 다른 GWT 응용 프로그램에서는이 방법을 사용하므로 단순히 제거 할 수는 없습니다. 모듈 정의에서이 방법을 제외 할 수있는 방법이 있습니까? 아마도이 메서드에 대한 주석으로이 작업을 수행 할 수 있습니까?GWT 모듈에서 메서드 제외

답변

3

이렇게 할 수있는 GWT 컴파일러에는 기능이 없습니다. GWT 포럼에 대한 자세한 논의가 있었지만 몇 가지 아주 좋은 이유로 인해 구현하지 않기로 결정했습니다.

GWT에서 컴파일하지 않는 개체 대신 사용하는 전송 개체를 만드는 것은 유일한 방법입니다 (개체를 수정하여 해당 메서드를 제거 할 수 없기 때문에).

+0

그래,이 경우 인 것 같습니다. 나는이 전송 객체를 만드는 것을 끝내었다. 신속한 대응에 감사드립니다. – P4ndaman

+0

GWT가 라이브러리 클래스의 함수 하위 집합을 지원할 수있는 방법은 재미 있지만 사용자는 자신의 클래스에 대해이 작업을 수행 할 수 없습니다. – P4ndaman

0

다른 옵션은 수퍼 소스를 사용하는 것입니다. 당신은 당신의 클래스의 복사본을 만들 수 있습니다. 그러한 클래스는 정확한 복사물에서 제외하려는 메소드를 뺀 것입니다. 그런 다음 super-source 지시문을 추가하여 해당 중복 클래스를 포함시킵니다.

이 단점은 자신을 반복하지 말라는 (DRY) 원칙을 위반한다는 것입니다. 또한 호스트 된 모드에서 수퍼 소스보다는 실제 클래스가 호출된다는 사실을 깨닫는 것이 중요합니다.