プライベートメソッドのためのIntelliJで検査「任意のフィールドまたはパラメータ型として使用」を無効にすることが可能ですか?

VLAZ:

私はしたくない、完全に警告を無効にし、私はすでに知っているあなたはおそらく使用してはならない理由をOptionalパラメータとしてしかし、私はそれが私の場合に関連はないと思います。

例示的な目的のために、私はこのようなコードそのルックスを持っています:

//IntelliJ reports: 'Optional<ForeignDataTransferObject>' used as type for parameter 'data'
private LocalSystemPerson extractPerson(Optional<ForeignDataTransferObject> data) {
    return data
            .map(data -> data.getPeopleListWrapper())
            .map(peopleListWrapper -> peopleListWrapper.getList())
            .map(listOfForeignPeople -> listOfForeignPeople.stream())
            .orElseGet(Stream::empty)
            .findFirst()
            .map(foreignPerson -> convertToLocalSystemPerson(foreignPerson))
            .orElse(someFallbackValue);
}

それは、それを変換し、その後、最初の項目を人のリストを取得しています。私は、外部APIを呼び出して、NULL可能な分野の束とのデータ転送オブジェクトを取得していますので、任意のコレクションは、余分なクラスに包まれ、そしてその後も、空のリストを取得することは、有効なケースですされています。だから、私は単一の値を変換するために、そのような冗長なコードで終わります。私は1つの場所ですべてが冗長を避けるために別のヘルパーメソッドにそれをsquirrelled。

しかし、IntelliJのは、私が渡していることに不平を言っているOptionalパラメータを。それは私が正常に同意したいものですが、それは私があまりにも長くなってから、別の方法を保存するために使用していますことを、民間の方法だ場合、私は、問題としてそれを見ることはありません-私は、データ転送をオフに複数の値を取得する必要があるかもしれませんオブジェクト。

  • 私はまだ公共の受け入れ方法作成しないようにしたいOptionalか、保留フィールドOptionalが、私はプライベートメソッドの検査を無効にしたいです。
  • 私はする必要はないことを好むだろうと、各メソッドに注釈を付ける@SuppressWarnings("OptionalUsedAsFieldOrParameterType")ことがすぐに迷惑につれて。私はいくつかの外国DTOを受け入れるさまざまなクラスでこれらのメソッドの複数を持つことができます。
  • 同様に、私はまた、非を渡したくないOptionalだけメソッド内でそれをラップするパラメータ。いくつかのケースでは、私が唯一持っている、特に以来Optional、すでにので、私はそれをアンラップようなもので戻ってそれをラップする必要があると思いますmyMethod(data.orElse(null))し、次に行うOptiona.ofNullable(parameter)方法で。

すべてのすべてで、問題として、それはなど、システム間でまたはレイヤ間でデータを転送することはないだろう場合でも、ことを常に御馳走に不当な制限のように思えます

だから、私はそれはちょうどプライベートメソッドが、他には何のための設定から、一般的に無効にすることができますか?

オルガKlisho:

現時点のプライベートメソッドの検査を無効にするオプションはありません。YouTrackであなたの機能要求のために作成した問題を/従ってコメントしてください:https://youtrack.jetbrains.com/issue/IDEA-207468ありがとう

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=215330&siteId=1