All Packages Class Hierarchy This Package Previous Next Index
Class java.lang.Package
java.lang.Object
|
+----java.lang.Package
- public class Package
- extends Object
Package
objects contain version information
about the implementation and specification of a Java package.
This versioning information is retrieved and made available
by the classloader that loaded the class(es). Typically, it is
stored in the manifest that is distributed with the classes.
The set of classes that make up the package may implement a
particular specification and if
so the specification title, version number, and vendor strings
identify that specification.
An application can ask if the package is
compatible with a particular version, see the isCompatibleWith
method for details.
Specification version numbers use a "Dewey Decimal"
syntax that consists of positive decimal integers
separated by periods ".", for example, "2.0" or "1.2.3.4.5.6.7".
This allows an extensible number to be used to
represent major, minor, micro, etc versions.
The version number must begin with a number.
The package title, package, and vendor strings identify an
implementation and are make available conveniently to enable accurate
reporting of the packages involved when a problem occurs.
The version strings have no
specified syntax and may only be compared for equality with
desired version identifers. The contents are vendor specific.
Within each classloader all classes from the same java package have
the same Package object. The static methods allow a package
to be found by name or the set of all packages known
to the current class loader to be found.
getAllPackages()
- Get all the packages currently known for the callers classloader.
getImplementationTitle()
- Return the title of this package.
getImplementationVendor()
- Returns the name of the organization,
vendor or company that provided this implementation.
getImplementationVersion()
- Return the version of this implementation.
getName()
- Return the name of this package.
getPackage(String)
- Find a package by name in the callers classloader.
getSealBase()
- If the package is sealed, then returns the base URL from which the
package was loaded.
getSpecificationTitle()
- Return the title of the specification that this package implements.
getSpecificationVendor()
- Return the name of the organization,
vendor, or company that provided
the classes that implement this package.
getSpecificationVersion()
- Returns the version number of the specification
that this package implements.
hashCode()
- Return the hashcode computed from the name.
isCompatibleWith(String)
- Compare this package's specification version with a
desired version.
isSealed()
- Returns true if the package is sealed.
toString()
- Returns the string representation of this Package.
getName
public String getName()
- Return the name of this package.
- Returns:
- The name of this package using the Java language dot notation
for the package. i.e java.lang
getSpecificationTitle
public String getSpecificationTitle()
- Return the title of the specification that this package implements.
- Returns:
- the specification title.
getSpecificationVersion
public String getSpecificationVersion()
- Returns the version number of the specification
that this package implements.
This version string must be a sequence of positive decimal integers separated by
"."'s and may have leading zeros.
When version strings are compared the most significant numbers are compared.
- Returns:
- the specification version..
getSpecificationVendor
public String getSpecificationVendor()
- Return the name of the organization,
vendor, or company that provided
the classes that implement this package.
- Returns:
- the specification vendor.
getImplementationTitle
public String getImplementationTitle()
- Return the title of this package.
- Returns:
- the title of the implementation.
getImplementationVersion
public String getImplementationVersion()
- Return the version of this implementation. It consists of any string
assigned by the vendor of this implementation and does
not have any particular syntax specified or expected by the Java
runtime. It may be compared for equality with other
package version strings used for this implementation
by this vendor for this package.
- Returns:
- the version of the implementation.
getImplementationVendor
public String getImplementationVendor()
- Returns the name of the organization,
vendor or company that provided this implementation.
- Returns:
- the vendor that implemented this package..
isSealed
public boolean isSealed()
- Returns true if the package is sealed. getSealBase() will return the
base URL for sealing. Any classes loaded from the package must
originate from the same base URL.
- Returns:
- true if the package is sealed, false otherwise
getSealBase
public URL getSealBase()
- If the package is sealed, then returns the base URL from which the
package was loaded. If the URL returned does not end with a '/' then
it refers to a JAR file.
- Returns:
- the base URL that this package was loaded from, or null
if the package was not sealed.
isCompatibleWith
public boolean isCompatibleWith(String desired) throws NumberFormatException
- Compare this package's specification version with a
desired version. It returns true if
this packages specification version number is greater than or equal
to the desired version number.
Version numbers are compared by sequentially comparing corresponding
components of the desired and specification strings..
Each component is converted as a decimal integer and the values
compared.
If the specification value is greater than the desired
value true is returned. If the value is less false is returned.
If the values are equal the period is skipped and the next pair of
components is compared.
- Parameters:
- desired - the version string of the desired version.
- Returns:
- true if this package's version number is greater
than or equal to the desired version number
- Throws:
NumberFormatException
- if the desired or current version
is not of the correct dotted form.
getPackage
public static Package getPackage(String name)
- Find a package by name in the callers classloader.
The callers classloader is used to find the package instance
corresponding to the named class. If the callers classloader
is null then the set of packages loaded by the system
classloader is searched to find the named package.
Packages have attributes for versions and specifications only
if the information the class loader created the package
instance with the appropriate attributes. Typically those
attributes are defined in the manifests that accompany
the classes.
- Parameters:
- packageName - a package name, for example, java.lang.
- Returns:
- the package of the requested name. It may be null if no package
information is available from the archive or codebase.
getAllPackages
public static Package[] getAllPackages()
- Get all the packages currently known for the callers classloader.
Those packages correspond to classes loaded via or accessible
by name to that classloader. If the callers classloader is
null only the packages corresponding to system classes will
be returned.
- Returns:
- an array of packages.
An zero length array is returned if none are known.
- See Also:
- ClassLoader
hashCode
public int hashCode()
- Return the hashcode computed from the name.
- Overrides:
- hashCode in class Object
toString
public String toString()
- 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.
- Returns:
- the string representation of the package.
- Overrides:
- toString in class Object
All Packages Class Hierarchy This Package Previous Next Index
Submit a bug or feature