package java.lang;

/**
 * {@code Package} represent a Java package.
 */
public class Package implements java.lang.reflect.AnnotatedElement {

    /**
     * Return the name of this package.
     *
     * @return The fully-qualified name of this package as defined in section 6.5.3 of <cite>The
     *         Java&trade; Language Specification</cite>, for example, {@code java.lang}
     */
    public String getName() {
        throw new RuntimeException();
    }

    /**
     * Return the hash code computed from the package name.
     *
     * @return the hash code computed from the package name.
     */
    @Override
    public int hashCode() {
        throw new RuntimeException();
    }

    /**
     * Returns the string representation of this Package. Its value is the string "package " and the
     * package name. If the package title is defined it is appended. If the package version is defined
     * it is appended.
     *
     * @return the string representation of the package.
     */
    @Override
    public String toString() {
        throw new RuntimeException();
    }
}
