IllegalImport
検証環境
Checkstyleバージョン:10.3.3
Javaバージョン:17
チェック概要
チェック追加バージョン |
---|
Checkstyle 3.0 |
不正なパッケージセットからのインポートがないかチェックする。
デフォルトでは、sun.* パッケージを拒否するチェックが行われる。
プロパティ
プロパティ | 型 | デフォルト値 | 説明 | 追加バージョン |
---|---|---|---|---|
illegalPkgs | String[] |
sun | 不正とするパッケージ。 regexpプロパティがfalseの場合、 importがパッケージの一部であるかどうかをチェックし、 trueの場合は正規表現として解釈される | 3.0 |
illegalClasses | String[] |
{} | 不正とするクラス名。 regexpプロパティがfalseの場合、 インポートがクラス名と等しいかどうかをチェックし、 trueの場合は正規表現として解釈される | 7.8 |
regexp | boolean | false | illegalPkgs と illegalClasses を正規表現として解釈するかどうか | 7.8 |
設定+チェック実行結果
プロパティ設定なし
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="IllegalImport"/> </module> </module>
チェック実行例
import java.io.*; import java.lang.ArithmeticException; import java.sql.Connection; import java.util.List; import java.util.Enumeration; import java.util.Arrays; // NG import sun.applet.*; public class InputIllegalImport { }
プロパティ設定あり
illegalPkgs
不正とするパッケージ。 regexpプロパティがfalseの場合、 importがパッケージの一部であるかどうかをチェックし、 trueの場合は正規表現として解釈される
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="IllegalImport"> <property name="illegalPkgs" value="java.io, java.sql"/> </module> </module> </module>
チェック実行例
// NG import java.io.*; import java.lang.ArithmeticException; // NG import java.sql.Connection; import java.util.List; import java.util.Enumeration; import java.util.Arrays; import sun.applet.*; public class InputIllegalImport { }
illegalClasses
不正とするクラス名。 regexpプロパティがfalseの場合、 インポートがクラス名と等しいかどうかをチェックし、 trueの場合は正規表現として解釈される
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="IllegalImport"> <property name="illegalClasses" value="java.util.Date, java.sql.Connection"/> </module> </module> </module>
チェック実行例
import java.io.*; import java.lang.ArithmeticException; // NG import java.sql.Connection; import java.util.List; import java.util.Enumeration; import java.util.Arrays; // NG import java.util.Date; import sun.applet.*; public class InputIllegalImport { }