Properties properties = AppConfigurationManager.getInstance().getProperties(ObjectContainer.class);
我有這個代碼填充屬性。擴展屬性失敗
我想裝飾這個驗證一個字段。
public class PropertiesDecorator extends Properties{
public void ValidateFooservHost(){
for(Entry<Object, Object> element : this.entrySet()){
if(element.getKey().toString().equals("ffxserv_host")){
String newHostValue = ffxServHostCheck(element.getValue().toString());
put(element.getKey(), newHostValue);
}
}
}
@Override
public Object setProperty(String name, String value) {
if(name.equals("foo")){
value = fooHostCheck(value);
}
return put(name, value);
}
public String fooHostCheck(String valueFromConfig){
String firstTwoChars = valueFromConfig.substring(0, 2);
if(firstTwoChars.equals("1:")){
return valueFromConfig.substring(2, valueFromConfig.length());
}
return valueFromConfig;
}
}
然而,
PropertiesDecorator properties = (PropertiesDecorator) AppConfigurationManager.getInstance().getProperties(ObjectContainer.class);
失敗。我沒有一個翔實的描述,但它只是說它失敗了。不確定。什麼。
我在這裏做錯了什麼?也?
我該如何解決這個問題?
或者你會推薦一些不同的東西?
我應該使用策略模式嗎?將屬性傳遞給PropertiesDecorator,並在那裏進行驗證?
編輯: 我已經看到,我得到類拋出異常。
謝謝。
它在哪裏失敗?在IDE中?構建工具?哪個構建工具?真的沒有信息? – Puce
你可以發佈堆棧跟蹤嗎?我不清楚你想要完成驗證,但它可能屬於客戶端代碼,而不是屬性。 –
請參閱我的編輯。 – DarthVader