package jetbrains.mps.debugger.java.runtime.state.customViewers;
/*Generated by MPS */
import com.intellij.openapi.components.ApplicationComponent;
import jetbrains.mps.debugger.java.api.state.customViewers.CustomViewersManager;
import java.util.Set;
import jetbrains.mps.debugger.java.api.state.proxy.ValueWrapperFactory;
import jetbrains.mps.internal.collections.runtime.SetSequence;
import java.util.HashSet;
import jetbrains.mps.internal.collections.runtime.IVisitor;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class BaseLanguageCustomViewers implements ApplicationComponent {
private final CustomViewersManager myCustomViewerManager;
private final Set<ValueWrapperFactory> myFactories = SetSequence.fromSet(new HashSet<ValueWrapperFactory>());
public BaseLanguageCustomViewers(CustomViewersManager manager) {
myCustomViewerManager = manager;
}
public void initComponent() {
SetSequence.fromSet(myFactories).addElement(new ObjectWrapperFactory());
SetSequence.fromSet(myFactories).addElement(new ArrayWrapperFactory());
SetSequence.fromSet(myFactories).addElement(new PrimitiveWrapperFactory());
SetSequence.fromSet(myFactories).addElement(new StringWrapperFactory());
SetSequence.fromSet(myFactories).visitAll(new IVisitor<ValueWrapperFactory>() {
public void visit(ValueWrapperFactory it) {
myCustomViewerManager.addFactory(it);
}
});
}
public void disposeComponent() {
SetSequence.fromSet(myFactories).visitAll(new IVisitor<ValueWrapperFactory>() {
public void visit(ValueWrapperFactory it) {
myCustomViewerManager.removeFactory(it);
}
});
}
@NonNls
@NotNull
public String getComponentName() {
return "Base Language Custom Viewers";
}
}