package com.github.czyzby.uedi.test.lifecycle;
import com.github.czyzby.uedi.Context;
import com.github.czyzby.uedi.stereotype.Destructible;
import com.github.czyzby.uedi.stereotype.Singleton;
public class DestroyedC implements Destructible, Singleton {
private final InitiatedB constructorDependency;
private Context context;
private boolean notNull;
private int order;
public DestroyedC(final InitiatedB constructorDependency) {
this.constructorDependency = constructorDependency;
}
@Override
public int getDestructionOrder() {
return 2;
}
@Override
public void destroy() {
notNull = context != null && constructorDependency != null;
order = Counter.COUNTER.getAndIncrement();
}
public boolean wereDependenciesNotNull() {
return notNull;
}
public boolean wasDestroyed() {
return order != 0; // Counter starts at 100.
}
public int getActualOrder() {
return order;
}
}