列挙型のインポートステートメントと少し混乱しています。次のスニペットを検討してください。
UsernamePasswordAuthenticationFilter getUsernamePasswordAuthenticationFilter() {
UsernamePasswordAuthenticationFilter usernamePasswordAuthenticationFilter =
new UsernamePasswordAuthenticationFilter();
usernamePasswordAuthenticationFilter.setAllowSessionCreation(false);
usernamePasswordAuthenticationFilter.setUsernameParameter(SecurityConstants.CREDENTIALS_USERNAME.getText());
usernamePasswordAuthenticationFilter.setPasswordParameter(SecurityConstants.CREDENTIALS_PASSWORD.getText());
この特定の表記は長すぎます。
SecurityConstants.CREDENTIALS_PASSWORD.getText()
enum
この場合、alltogetherの使用を正当化します。のような列挙型を参照することは可能CREDENTIALS_PASSWORD.getText()
ですか?
なぜそれが可能であると感じているのかわかりません.JUnit assertステートメントの静的インポートが私の脳に反映されているのかもしれませんassertEquals()
.静的インポートで簡単に行うことができます.
列挙型と同様の方法はありますか?
列挙型クラス自体:
public enum SecurityConstants {
CREDENTIALS_PROCESSING_URL("app/authenticate"),
CREDENTIALS_USERNAME("username"),
CREDENTIALS_PASSWORD("password");
private String text;
SecurityConstants(String text) {
this.text = text;
}
public String getText() {
return text;
}
}