私はそうのような過負荷状態にする方法を使用していますJCRのAPIを使用しています:オブジェクト参照をインスタンスの型に自動的にキャストする方法はありますか?
setProperty(String value)
setProperty(Boolean value)
setProperty(Integer value)
...
は、私はその後String
、Boolean
、Integer
、などの事例が含まれていてもよいCollection<Object>
を持っています。
このコレクションを繰り返し、それぞれの要素をそのインスタンスタイプの正しいsetProperty
実装に渡したいと思います。 OOの理念から逸脱 - - 醜いであることに加えて
for (Object value : values) {
if (value instanceof String) node.setProperty((String) value);
if (value instanceof Boolean) node.setProperty((Boolean) value);
if (value instanceof Integer) node.setProperty((Integer) value);
...
}
この解決策は単純にスケールしない:明白な方法は、このようなものです。この特殊なケースでは機能しますが、タイプの数が増えるにつれてすぐに扱いにくくなります。
このキャスティング操作を自動的に実行するためには、エレガントなトリックやutilが必要なような気がします。