package org.archstudio.bna.logics;
import static com.google.common.base.Preconditions.checkNotNull;
import org.archstudio.bna.IBNAModel;
import org.archstudio.bna.IBNAWorld;
import org.archstudio.bna.IThingLogic;
import org.archstudio.bna.IThingLogicManager;
import org.archstudio.bna.utils.BNAUtils;
public abstract class AbstractThingLogic implements IThingLogic {
protected final IBNAWorld world;
protected final IBNAModel model;
protected final IThingLogicManager logics;
public AbstractThingLogic(IBNAWorld world) {
BNAUtils.checkLock();
this.world = checkNotNull(world);
this.model = world.getBNAModel();
this.logics = world.getThingLogicManager();
}
@Override
public IBNAWorld getBNAWorld() {
BNAUtils.checkLock();
return world;
}
@Override
public void init() {
BNAUtils.checkLock();
}
@Override
public void dispose() {
BNAUtils.checkLock();
}
}