2021-03-01から1ヶ月間の記事一覧

Function<T, R>の andThen における NullPointerException の回避

Function<T, R> の andThen , compose は、 以前から、最初の apply 結果が null だったら、 NullPointerException になってしまう不満がありました。 よくありがちなデータ構造 import lombok.Data; @Data public class Bucket{ private Drink drink; } import lo</t,>…

コード値を抱える enum のタイプハンドラ

yipuran-mybatis GitHub - yipuran/yipuran-mybatis: mybatis used application をリリースやり直した。 enum のタイプハンドラを書いたのだが、 コード値を抱え持ち、コード値を参照するインターフェースに static メソッドを書いていたのだが、enum 実装と…

mybatis の enum TypeHandler を汎用的にする。

mybatis が enum に対するハンドラは、列挙名だけのマッピングなら、 org.apache.ibatis.type.EnumTypeHandler 列挙の並び、enum の int ordinal() メソッド、(0始まり、序数=0)で満足なら org.apache.ibatis.type.EnumOrdinalTypeHandler をで良いのだ…

コンストラクタで値を抱える enum 列挙型の汎用インターフェース

Java の enum 使用でよく列挙名と共にコード値を定義して使用したりする設計は 常套手段の1つである。 public enum Frame { Gold(101), Silver(101), Bronz(102); private int value; private Frame(int value) { this.value = value; } public int getValu…

MySQL 8.x からは、JDBCドライバ指定は変えないとダメだった

MySQL 5.7 あたりは、JDBC ドライバ指定は、 com.mysql.jdbc.Driver だったけど、 以下、Maven で取得したコネクターを使うなら、 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency>

ありがちな github のエラー

開発環境PCを入れ替えたとき、うっかり忘れて以下をエラーを出してしまう。 maven で、git-hub 上のリポジトリにデプロイしようと思ったときに、、、 [ERROR] Failed to execute goal com.github.github:site-maven-plugin:0.12:site (default) on project X…

Functionの結果をBiConsumerで実行する(3)

2回も投稿した Functionの結果をBiConsumerで実行する - Oboe吹きプログラマの黙示録 Functionの結果をBiConsumerで実行する(2) - Oboe吹きプログラマの黙示録 だが、まだまだ改良の余地がある。andThen なる and で連結の書き方をもっと短くできるはず…

Functionの結果をBiConsumerで実行する(2)

昨日書いた、 Functionの結果をBiConsumerで実行する - Oboe吹きプログラマの黙示録 もっとよく考えてみれば、、 ApplyBiConsumer のリストではく、 続けてafterオペレーションを実行する andThen を使うのが良さそうである。 BiConsumer継承の方法では、 im…

Functionの結果をBiConsumerで実行する

Webアプリ開発をしているとよく、画面プレゼンテーション層と サービスロジック層の間の為にコンバータなるものを作らされたりして 面倒なものです。 よく書かされてしまう、getter で持ってきて、setter に食わせる a.setPhonNumber(b.getPhoneNumber()); …

String の null チェック、空チェック

Java11 を使うようになっても、 org.apache.commons.lang.StringUtils.isEmpty(String) や、 org.springframework.util.StringUtils.isEmpty(String) を外部JARを使って、nullチェックの代わりと "" でないことをチェックする コードをよく見かけるという哀…