2010-12-04 4 views
2

GWT 호스트 페이지에서 속성을 읽는 가장 좋은 방법은 무엇입니까?GWT 호스트 페이지에서 속성을 읽는 방법?

호스트 페이지에 속성을 포함하고 Java에서 액세스 할 수있는 간단한 방법을 찾으려고합니다.

Dictionary 갈 권장되는 방법이지만 MissingResourceException와 사전 해야이 호스트 페이지에 있는지에 다소 깨지기 쉬운, 또는 그 오류 것 같다. 마찬가지로 요청한 키가 존재하지 않으면 Dictionary.get()은 리소스 오류를 발생시킵니다.

저는 라이브러리를 쓰고 있는데, 사용자가 사전이나 키를 지정하지 않으면 오류가 발생하지 않는 더 강력한 솔루션을 선호합니다. 사전에 의해 던져진 예외를 잡아서 null을 반환해야합니까? 이 작업을 수행하는보다 강력한 방법이 있습니까?

편집 : 순간, 나는 다음과 같은 사용하고는 :

protected Dictionary dict; 

public ClientConfiguration(String configName) 
{ 
    try 
    { 
     dict = Dictionary.getDictionary(configName); 
    } catch (MissingResourceException e) 
    { 
     dict = null; 
    } 
} 

public String getString(String key) 
{ 
    return dict == null ? null : dict.keySet().contains(key) ? dict.get(key) : null; 
} 

답변

3

난 당신의 솔루션은 이미 매우 강력합니다, 말할 것입니다. rethrowing없이 - - 그것은 잡기 위해 절대적으로 괜찮습니다

  • 당신이 (자원이 누락 될 수 있음)이 발생할 것으로 예상
  • ,
  • 하고있는 만 경우에 발생할 것이다 특정 예외 (사용해 MissingResourceException) 당신은 그 예외에 대한 많은 이유가있을 수 있기 때문에 NullPointerException을 잡는 것은 나쁠 것이라고 기대한다.

당신은 심지어에는 getString() 메소드를 조금 변경 될 수 있습니다 : 당신이 약으로 오래 걸립니다 dict.keySet().contains(key)에 추가 호출을 저장하기 때문에,이 방법은 거의 두 배 빠른해야

public String getString(String key) { 
    try { 
    return dict == null ? null : dict.get(key); 

    } catch (MissingResourceException e) { 
    return null; 
    } 
} 

dict.get(key).

+0

아, 그 최적화를 잘 부탁드립니다. –

관련 문제