package ee.edio.garmin.psi.impl;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.util.IncorrectOperationException;
import ee.edio.garmin.psi.MonkeyComponent;
import ee.edio.garmin.psi.MonkeyComponentName;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
abstract public class AbstractMonkeyComponentImpl extends MonkeyPsiCompositeElementImpl implements MonkeyComponent {
public AbstractMonkeyComponentImpl(@NotNull ASTNode node) {
super(node);
}
@Override
public String getName() {
final MonkeyComponentName name = getComponentName();
if (name != null) {
return name.getText();
}
return super.getName();
}
@Override
public PsiElement setName(@NotNull String name) throws IncorrectOperationException {
final MonkeyComponentName componentName = getComponentName();
if (componentName != null) {
componentName.setName(name);
}
return this;
}
@Nullable
@Override
public PsiElement getNameIdentifier() {
return getComponentName();
}
public String toString(){
return "MonkeyComponent:" + getText();
}
}