package jetbrains.mps.debug.api.breakpoints; /*Generated by MPS */ import org.jetbrains.annotations.NotNull; import java.util.List; import org.jetbrains.annotations.Nullable; import com.intellij.openapi.project.Project; import org.jetbrains.mps.openapi.model.SNode; import org.jdom.Element; import javax.swing.Icon; import jetbrains.mps.debug.api.AbstractDebugSession; public interface IBreakpointsProvider<B extends IBreakpoint, K extends IBreakpointKind<B>> { @NotNull List<K> getAllKinds(); boolean canCreateFromUi(@NotNull K kind); boolean canCreateFromNode(@NotNull K kind); @Nullable B createFromUi(@NotNull K kind, Project project); @Nullable ILocationBreakpoint createFromNode(@NotNull SNode node, @NotNull K kind, Project project); @Nullable IBreakpointPropertiesUi<B> createPropertiesEditor(@NotNull K kind); @Nullable B loadFromState(Element state, K kind, Project project); @Nullable Element saveToState(@NotNull B breakpoint); @Nullable Icon getIcon(@NotNull B breakpoint, @Nullable AbstractDebugSession session); }