Java MethodUtilについて
Java spring bootを業務で使っています。データクラスに書いたプロパティを簡単にget setできるのは魅力的ですが
どうも扱うプロパティが多い場合にgetter祭りになってしまいコードの見通しに支障をきたすことがありました。その上、型のダウンキャストもしていたため、この型の場合は。。。あの型の場合は。。。など、、、また大変なことになっていました。なのでMethodUtilを使ってリファクタリングを実施することにしました。
使い方
AccessProperly.java
@SuppressWarnings("unchecked") // 必要
private static<T> T getProperty(Object o, String MethodName) {
Method method = MethodUtils.getAccessibleMethod(o.getClass, methodName);
if (method == null) {
return null;
}
try {
return(T) method.invoke(o);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
// 用途
String str = getProperty(object, "getPropertyName"); // object.GetPropertyNameと同じ
// データクラスのフィールドが取得できる
インスタンスごとに条件分岐がたくさん必要な場合に役に立ちます。それ以外にもメソッドへのアクセスをクラス内だけで簡潔させたい場合
とか用途はいろいろあります。オブジェクトのプロパティ取得メソッドの呼び出しは頻繁に行うのでより理解を深めていきたいと思います。
まだ、あまり詳しくないので(詳しい記事があまりない。。。)詳しい方いましたら記事にしていただければ幸い極みです笑