製品名の文字列セットは限られています。これらの製品名の 1 つを送信する Web サービスもあります。ただし、製品名を別の形式で送信する必要があります。
したがって、メッセージを送信する前に、どこかにフォーマッター/マッパーが必要です。
引数を取り、次のようなハードコードされた文字列を返すハードコードされたマッパークラスを作成できます。
String mapper(String productName) {
switch (productName) {
case "product1":
return "prod1";
case "product2":
return "prod2"
}
ただし、このアプローチはあまり好きではありませんが、より良い解決策を考え出すのに苦労しています。誰でもこの問題のより良い解決策を持っていますか?
マッピングをデータベースに保存してから、このマッピング用のDAOを作成することを検討しています。これは、スイッチを使用する代わりに引数をキーとして使用し、データベースにクエリを実行して代替製品名を返しますが、それが本当に良い解決策です。
何かご意見は?
*編集*
これについて言及するのを忘れました:
元の製品名は現在データベースに保存されています。現在のコード/テーブル設定を変更せずにこれらの名前を変換する必要があります。つまり、テーブルと現在のクラスを編集することはできませんが、必要に応じて新しいテーブル/クラスを作成できます。