package org.elixir_lang.navigation.item_presentation; import com.intellij.navigation.ItemPresentation; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; public interface Parent { /** * Combines {@link #getLocationString()} with {@link #getPresentableText()} for when this is the parent of * an {@link com.intellij.navigation.ItemPresentation} and needs to act as the * {@link ItemPresentation#getLocationString()}. * * @return {@link #getLocationString()} + "." + {@link #getPresentableText()} if {@link #getLocationString()} is not * {@code null}; otherwise, {@link #getPresentableText()}. */ @Contract(pure = true) @NotNull String getLocatedPresentableText(); /** * * @return * @see ItemPresentation#getLocationString() */ @Nullable String getLocationString(); /** * * @return * @see ItemPresentation#getPresentableText() */ @NotNull String getPresentableText(); }