May expose internal representation by storing an externally mutable object

556 views Asked by At

I have an mvc structure for my projecy but spotbugs give me this error
(M V EI2: new it.unibo.unibomber.game.view.ExplosionView(Explosion) may expose internal representation by storing an externally mutable object into ExplosionView.controller At ExplosionView.java:[line 31])
Controller:

public final class Explosion implements GameLoop {
    private final ExplosionView view;
    private final ExplosionImpl model;
    private List<Entity> explode;

    public List<Entity> getExplode() {
        return new ArrayList<>(explode);
    }

    public Explosion() {
        view = new ExplosionView(this);
        model = new ExplosionImpl();
        explode = new ArrayList<>();
    }

View:

public final class ExplosionView implements GameLoop {
    private final Explosion controller;

    public ExplosionView(final Explosion controller) {
        this.controller = controller;
    }

How can i do??

0

There are 0 answers