package org.archstudio.myx.fw;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
public abstract class AbstractMyxFlexibleBrick implements IMyxBrick {
private IMyxBrickItems brickItems = null;
protected List<IMyxLifecycleProcessor> lifecycleProcessors = Collections
.synchronizedList(new CopyOnWriteArrayList<IMyxLifecycleProcessor>());
protected MyxBasicProvidedServiceProvider providedServiceProvider = new MyxBasicProvidedServiceProvider();
public void addLifecycleProcessor(IMyxLifecycleProcessor lp) {
lifecycleProcessors.add(lp);
}
public void removeLifecycleProcessor(IMyxLifecycleProcessor lp) {
lifecycleProcessors.remove(lp);
}
@Override
public Collection<? extends IMyxLifecycleProcessor> getLifecycleProcessors() {
return Collections.unmodifiableList(lifecycleProcessors);
}
@Override
public void setMyxBrickItems(IMyxBrickItems brickItems) {
this.brickItems = brickItems;
}
@Override
public IMyxBrickItems getMyxBrickItems() {
return brickItems;
}
@Override
public IMyxProvidedServiceProvider getProvidedServiceProvider() {
return providedServiceProvider;
}
}