クラスコンストラクターをパッケージスコープの外に隠し(他のいくつかのセッターとともに)、潜在的なパッケージユーザーにビルダーを介してのみこの特定のクラスを取得させようとしています(明確さと検証の理由から)。
これまでのところ、そのクラスとそのビルダーを同じパッケージに入れ、隠したいすべてのメソッドに対してパッケージの可視性を宣言することで、この目標を達成してきました。ただし、これにはいくつかの欠点があります。これにより、より堅固なパッケージ構造が課せられ、ユーザーがクラス ビルダーを拡張する可能性が制限されます。
代替ソリューションまたはパターンに興味がありますか? Javaに「モジュール」可視性修飾子を導入するという噂を少し前に聞いたことがありますが(これで問題は解決すると思います)、彼らはその考えを捨てたと思います。