package com.tngtech.archunit.example;
import javax.annotation.PostConstruct;
import javax.ejb.Local;
import javax.ejb.Stateless;
@Stateless
@Local(SomeBusinessInterface.class)
public class ClassViolatingSessionBeanRules implements SomeBusinessInterface {
public static final String CONSTANT = "CONSTANT";
private final String CONSTANT_FROM_CONSTRUCTOR;
private String setOnConstruction;
String state;
public ClassViolatingSessionBeanRules() {
CONSTANT_FROM_CONSTRUCTOR = "CONSTANT_FROM_CONSTRUCTOR";
}
@PostConstruct
private void init() {
setOnConstruction = "setOnConstruction";
}
public void setState(String state) { // Violating rule not to change state after construction
this.state = state;
}
public String getState() {
return state;
}
public String getConstantFromConstructor() {
return CONSTANT_FROM_CONSTRUCTOR;
}
public String getStringFromPostConstruct() {
return setOnConstruction;
}
}