検索

11.2.2.4. インジェクションを使用した実装の拡張

download PDF

概要

インジェクションを使用して、既存のコードの機能を追加または変更できます。この例は、既存のクラスに翻訳機能を追加する方法を示しています。翻訳は架空の機能であり、例で実装される方法は擬似コードであり、説明のためにのみ提供されています。

この例では、メソッドを持つ Welcome クラスがすでにあることを前提としています。buildPhrasebuildPhrase メソッドは、都市の名前を引数として取得し、「Welcome to Boston!」などのフレーズを出力します。 あなたの目標は、のバージョンを作成することですWelcome挨拶を別の言語に翻訳できるクラス。

例11.2 注入するTranslatorBean Into theWelcomeクラス

次の擬似コードは、架空のものを挿入しますTranslatorオブジェクトにWelcomeクラス。TheTranslatorオブジェクトは、EJB ステートレス Bean または別のタイプの Bean であり、文をある言語から別の言語に翻訳できます。この場合、Translator元の挨拶を実際に変更せずに、挨拶全体を翻訳するために使用されますWelcomeまったくクラス。TheTranslatorの前に注入されますbuildPhraseメソッドが実装されます。
以下のコードサンプルは、TranslatingWelcome クラスの例です。
public class TranslatingWelcome extends Welcome {

    @Inject Translator translator;

    public String buildPhrase(String city) {
        return translator.translate("Welcome to " + city + "!");
    }
    ...
}
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.