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();
	}
}
