From fb4d0523419ce211f23266a080655d9608cd8c23 Mon Sep 17 00:00:00 2001 From: Daniil Ovchinnikov Date: Mon, 20 Nov 2017 16:32:21 +0300 Subject: [PATCH] [jvm-lang] add JvmPackage --- .../src/com/intellij/lang/jvm/JvmPackage.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 java/java-psi-api/src/com/intellij/lang/jvm/JvmPackage.java diff --git a/java/java-psi-api/src/com/intellij/lang/jvm/JvmPackage.java b/java/java-psi-api/src/com/intellij/lang/jvm/JvmPackage.java new file mode 100644 index 000000000000..94d856550a35 --- /dev/null +++ b/java/java-psi-api/src/com/intellij/lang/jvm/JvmPackage.java @@ -0,0 +1,32 @@ +// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.lang.jvm; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Represents a package. + * + * @see Package + */ +public interface JvmPackage extends JvmAnnotatedElement, JvmNamedElement { + + /** + * @return the name, or {@code null} for the default package + */ + @Nullable("default package") + @Override + String getName(); + + /** + * @return the fully qualified name, or an empty string for the default package + */ + @NotNull + String getQualifiedName(); + + /** + * @return the parent package, or {@code null} for the default package + */ + @Nullable + JvmPackage getParentPackage(); +}