あいまいなタイトルでごめんなさい。それをより明確に表現する方法を考えることができませんでした。質問のハイライトは次のとおりです。
ハイライト
- ExifToolforJavaライブラリに関するAPI設計の質問をします。
- これは、現在のAPIがどのように見えるかの例です。
- ユーザーとして、APIは非常に簡単に使用できます。これは、必要な画像メタデータの列挙型を渡すだけだからです。
- DEVとして、libで直接サポートされていない可能性のある追加のメタデータをサポートするために、より多くの列挙型で基本クラスを簡単に拡張できないため、APIはやや面倒です。
- 「すべてのメタデータ」を事前に定義してサポートすることは簡単ではありません。
質問
そのセットアップ情報を前提として、私が求めているのは、人々が通常画像に求める30または40の最も一般的なメタデータフラグを事前に定義する方法を見つけようとしていることです。現在、すべてが列挙型として定義されていますが、クラスはこの方法で拡張できません。
「Class-per-Metadata-flag」ルートを使用すると、拡張性は単純になりますが、APIはそのまま使用するのがはるかに簡単ではなくなります。
クロージャーが本当に美しくシンプルなソリューションを提供する場合は、このライブラリのv2.0をJava 8+にすることを検討しますが、それ以外の場合は、より多くのシステム(Java 6/7)との互換性を維持したいと思います。
概要
ライブラリの私の目標は「使いやすく拡張する」です。1.xリリースで「使いやすい」という側面を明確にしたと思いますが、ライブラリは簡単に拡張できないため、 2.xシリーズ。
私は2.xリリースに1年以上座って、インスピレーションが得られるのを待っていましたが、それは私にはわかりませんでした。誰かが私の間違いを見つけて、本当にエレガントな方法でライブラリを前進させることができることを願っています。
お時間をいただきありがとうございます!