package javax.inject;
import javax.servlet.http.HttpServlet;
import org.apache.struts.action.Action;
@interface Inject{}
class A {
private String userName;
}
class B extends HttpServlet {
private String userName; // Noncompliant [[sc=18;ec=26]] {{Remove this misleading mutable servlet instance fields or make it "static" and/or "final"}}
private static String staticVar;
private final String finalVar;
private String storageType;
public B(String x) {
String localVar;
finalVar = x;
}
void init(javax.servlet.ServletConfig config) {
storageType = StorageType.valueOf(config.getInitParameter("storageType"));
}
}
class C extends Action {
private String userName; // Noncompliant
private static String staticVar;
private final String finalVar;
public C(String x) {
finalVar = x;
}
}
class D extends HttpServlet {
@Inject private String userName; // compliant annotated with inject;
private static String staticVar;
}