package com.google.jstestdriver.idea.execution.settings.ui;
import javax.swing.JComponent;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* All methods should be called on EDT.
*/
public abstract class AbstractRunSettingsSection implements RunSettingsSection {
private JComponent myComponent;
private JComponent myAnchor;
@NotNull
@Override
public final JComponent getComponent(@NotNull CreationContext creationContext) {
if (myComponent == null) {
myComponent = createComponent(creationContext);
}
return myComponent;
}
@NotNull
protected abstract JComponent createComponent(@NotNull CreationContext creationContext);
@Override
public JComponent getAnchor() {
return myAnchor;
}
@Override
public void setAnchor(@Nullable JComponent anchor) {
myAnchor = anchor;
}
}