Clase Java.lang.Package en Java

Java 2 agregó una clase llamada Paquete que encapsula los datos de versión asociados con un paquete. La información de la versión del paquete se está volviendo más importante debido a la proliferación de paquetes y porque un programa Java puede necesitar saber qué versión de un paquete está disponible.
Esta información de versión es recuperada y puesta a disposición por la instancia de ClassLoader que cargó la(s) clase(s). Por lo general, se almacena en el manifiesto que se distribuye con las clases. Extiende la clase Object e implementa AnnotatedElement.

Métodos:

  1. getAnnotation(Class annotationClass): Devuelve la anotación de este elemento para el tipo especificado si tal anotación está presente, de lo contrario, es nulo.
    Syntax: public  A getAnnotation(Class annotationClass)
    Returns: this element's annotation for the specified 
    annotation type if present on this element, else null.
    Exception: NullPointerException - if the given annotation class is null.
    

    // Java code illustrating getAnnotation() method 
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.reflect.Method;
      
    // declare a annotation type
    @Retention(RetentionPolicy.RUNTIME)
    @interface Demo 
    {
       String str();
       int val();
    }
      
    public class PackageDemo 
    {
      
       // setting values for the annotation
       @Demo(str = " Gfg Demo Annotation", val = 100)
         
       // a method to call in the main
       public static void gfg() throws NoSuchMethodException 
       {
          PackageDemo ob = new PackageDemo();
      
            
             Class c = ob.getClass();
      
             // get the method example
             Method m = c.getMethod("gfg");
      
             // get the annotation for class Demo
             Demo annotation = m.getAnnotation(Demo.class);
      
             // checking the annotation
             System.out.println(annotation.str() + " " + annotation.val());
        
         
       public static void main(String args[]) throws Exception
       {
          gfg();
       }
    }

    Producción:

    Gfg Demo Annotation 100
    
  2. Annotation[] getAnnotations(): Devuelve todas las anotaciones presentes en este elemento. (Devuelve una array de longitud cero si este elemento no tiene anotaciones). La persona que llama a este método puede modificar la array devuelta; no tendrá ningún efecto en las arrays devueltas a otras personas que llaman.
    Syntax: public Annotation[] getDeclaredAnnotations().
    Returns: All annotations directly present on this element.
    Exception: NA.
    

    // Java code illustrating getAnnotation() method
    import java.lang.annotation.Annotation;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.reflect.Method;
      
          
    // declare a annotation type
    @Retention(RetentionPolicy.RUNTIME)
    @interface Demo 
    {
       String str();
       int val();
    }
      
    public class PackageDemo 
    {
      
       // setting values for the annotation
       @Demo(str = " Gfg Demo Annotation", val = 100)
         
       // a method to call in the main
       public static void gfg() throws NoSuchMethodException 
       {
          PackageDemo ob = new PackageDemo();
      
            
             Class c = ob.getClass();
      
             // get the method example
             Method m = c.getMethod("gfg");
      
             // get the annotation for class Demo
             Demo annotation = m.getAnnotation(Demo.class);
      
             // checking the annotation
             System.out.println(annotation.str() + " " + annotation.val());
             Annotation[] gfg_ann = m.getAnnotations();
               
             for(int i = 0; i < gfg_ann.length; i++)
             {
                 System.out.println(gfg_ann[i]);
             }
        
         
       public static void main(String args[]) throws Exception
       {
          gfg();
       }
    }

    Producción:

    Gfg Demo Annotation 100
    @Demo(str= Gfg Demo Annotation, val=100)
    
  3. Annotation[] getDeclaredAnnotations(): Devuelve todas las anotaciones que están directamente presentes en este elemento. A diferencia de los otros métodos en esta interfaz, este método ignora las anotaciones heredadas. (Devuelve una array de longitud cero si no hay anotaciones directamente presentes en este elemento). La persona que llama a este método puede modificar la array devuelta; no tendrá ningún efecto en las arrays devueltas a otras personas que llaman.
    Syntax: public Annotation[] getDeclaredAnnotations().
    Returns: All annotations directly present on this element.
    Exception: NA.
    

    // java code illustrating getDeclaredAnnotation() method
    import java.lang.annotation.Annotation;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.reflect.Method;
      
    // declare a annotation type
    @Retention(RetentionPolicy.RUNTIME)
    @interface Demo 
    {
       String str();
       int val();
    }
      
    public class PackageDemo 
    {
      
       // setting values for the annotation
       @Demo(str = " Gfg Demo Annotation", val = 100)
         
       // a method to call in the main
       public static void gfg() throws NoSuchMethodException 
       {
          PackageDemo ob = new PackageDemo();
      
            
             Class c = ob.getClass();
      
             // get the method example
             Method m = c.getMethod("gfg");
      
             // get the annotation for class Demo
             Demo annotation = m.getAnnotation(Demo.class);
      
             // checking the annotation
             System.out.println(annotation.str() + " " + annotation.val());
             Annotation[] gfg_ann = m.getDeclaredAnnotations();
               
             for(int i = 0; i < gfg_ann.length; i++)
             {
                 System.out.println(gfg_ann[i]);
             }
        
         
       public static void main(String args[]) throws Exception
       {
          gfg();
       }
    }

    Producción:

     Gfg Demo Annotation 100
    @Demo(str= Gfg Demo Annotation, val=100)
    
  4. String getImplementationTitle(): Devuelve el título de este paquete.
    Syntax: public String getImplementationTitle()
    Returns: the title of the implementation, null is returned if it is not known.
    Exception: NA
    
  5. String getImplementationVersion(): Devuelve la versión de esta implementación. Consiste en cualquier string asignada por el proveedor de esta implementación y no tiene ninguna sintaxis específica especificada o esperada por el tiempo de ejecución de Java. Puede compararse por igualdad con otras strings de versión de paquete utilizadas para esta implementación por este proveedor para este paquete.
    Syntax: public String getImplementationVersion()
    Returns: the version of the implementation, null is returned if it is not known.
    Exception: NA
    
  6. String getImplementationVendor(): Devuelve el nombre de la organización, proveedor o empresa que proporcionó esta implementación.
    Syntax: public String getImplementationVendor().
    Returns: the vendor that implemented this package.
    Exception: NA.
    
  7. String getName(): Devuelve el nombre de este paquete.
    Syntax: public String getName()
    Returns: The fully-qualified name of this package as defined
     in section 6.5.3 of The Java™ Language Specification, for example, java.lang.
    Exception: NA
    

    // Java code illustrating getName(), getImplementationTitle()
    // and getImplementationVendor() and getImplementationVersion()
    // methods
    class PackageDemo
    {
        public static void main(String arg[])
        {
            Package pkgs[];
            pkgs = Package.getPackages();
              
            for(int i=0; i<1; i++)
            {
                //  name of the package
                System.out.println(pkgs[i].getName());
                  
                // checking title of this implementation
                System.out.println(pkgs[i].getImplementationTitle());
                  
                // checking the vendor
                System.out.println(pkgs[i].getImplementationVendor());
                  
                // version of this implementation
                System.out.println(pkgs[i].getImplementationVersion());
                              
            }
        }
    }

    Producción:

    sun.reflect
    Java Runtime Environment
    Oracle Corporation
    1.8.0_121
    
  8. Paquete estático getPackage(String name): busque un paquete por nombre en la instancia de ClassLoader de la persona que llama. La instancia de ClassLoader de la persona que llama se utiliza para encontrar la instancia del paquete correspondiente a la clase nombrada. Si la instancia de ClassLoader de la persona que llama es nula, se busca el conjunto de paquetes cargados por la instancia de ClassLoader del sistema para encontrar el paquete nombrado.
    Syntax: public static Package getPackage(String name)
    Returns: the package of the requested name. It may 
    be null if no package information is available from the archive or 
    codebase.
    Exception: NA
    
  9. Paquete estático[] getPackages(): Obtiene todos los paquetes actualmente conocidos para la instancia de ClassLoader de la persona que llama. Esos paquetes corresponden a clases cargadas o accesibles por nombre a esa instancia de ClassLoader. Si la instancia de ClassLoader de la persona que llama es la instancia de ClassLoader de arranque, que puede representarse como nulo en algunas implementaciones, solo se devolverán los paquetes correspondientes a las clases cargadas por la instancia de ClassLoader de arranque.
    Syntax: public static Package[] getPackages()
    Returns: a new array of packages known to the callers 
    ClassLoader instance. An zero length array is returned if none are known.
    Exception: NA
    

    // Java code illustrating getPackages() method
    class PackageDemo
    {
        public static void main(String arg[])
        {
            Package pkgs[];
            pkgs = Package.getPackages();
              
            Package pkg = Package.getPackage("java.lang");
              
            for(int i=0; i<1; i++)
            {
            System.out.println(pkg.getName());
            System.out.println(pkgs[i].getName());
            }
        }
    }

    Producción:

    java.lang
    sun.reflect
    
  10. String getSpecificationTitle(): Devuelve el título de la especificación que implementa este paquete.
    Syntax: public String getSpecificationTitle()
    Returns: the specification title, null is returned 
    if it is not known.
    exception: NA.
    
  11. String getSpecificationVersion(): Devuelve el número de versión de la especificación que implementa este paquete. Esta string de versión debe ser una secuencia de enteros decimales no negativos separados por “.” y puede tener ceros a la izquierda. Cuando se comparan strings de versión, se comparan los números más significativos.
    Syntax: public String getSpecificationVersion().
    Returns: the specification version, null is returned 
    if it is not known.
    Exception: NA.
    
  12. String getSpecificationVendor(): Devuelve el nombre de la organización, proveedor o empresa que posee y mantiene la especificación de las clases que implementan este paquete.
    Syntax: public String getSpecificationVendor()
    Returns: the specification vendor, null is returned
     if it is not known.
    Exception: NA.
    
  13. int hashCode(): Devuelve el código hash calculado a partir del nombre del paquete.
    Syntax: Return the hash code computed from the package name.
    Exception: NA
    Returns: the hash code.
    

    // Java code illustrating hashCode(), getSpecificationTitle()
    // getSpecificationVendor() and getSpecificationVersion()
    class PackageDemo
    {
        public static void main(String arg[])
        {
            Package pkgs[];
            pkgs = Package.getPackages();
              
            for(int i=0; i<1; i++)
            {
                //  name of the package
                System.out.println(pkgs[i].hashCode());
                  
                // checking title 
                System.out.println(pkgs[i].getSpecificationTitle());
                  
                // checking the vendor
                System.out.println(pkgs[i].getSpecificationVendor());
                  
                // checking version
                System.out.println(pkgs[i].getSpecificationVersion());
                              
            }
        }
    }

    Producción:

    685414683
    Java Platform API Specification
    Oracle Corporation
    1.8
    
  14. booleano isCompatibleWith(String deseado): Compara la versión de especificación de este paquete con una versión deseada. Devuelve verdadero si el número de versión de la especificación de este paquete es mayor o igual que el número de versión deseado.
    Syntax: public boolean isCompatibleWith(String desired).
    Returns: true if this package's version number is 
    greater than or equal to the desired version number
    Exception: 
    NumberFormatException - if the desired or current version is not 
    of the correct dotted form.
    
  15. boolean isSealed(): Devuelve verdadero si este paquete está sellado.
    Syntax: public boolean isSealed()
    Returns: true if the package is sealed, false otherwise.
    Exception: NA
    
  16. boolean isSealed(URL url): devuelve verdadero si este paquete está sellado con respecto a la URL de origen del código especificada.
    Syntax: public boolean isSealed(URL url)
    Returns: true if this package is sealed with respect to url
    Exception: NA
    
  17. String toString(): Devuelve la representación de string de este Paquete. Su valor es la string “paquete” y el nombre del paquete. Si el título del paquete está definido, se adjunta. Si la versión del paquete está definida, se adjunta.
    Syntax: public String toString()
    Returns: the string representation of the package.
    Exception: NA
    

    // java code illustrating isCompatibleWith(), toString(),
    // isSealed methods
      
    import java.net.MalformedURLException;
    import java.net.URL;
      
    class PackageDemo
    {
        public static void main(String arg[]) throws MalformedURLException
        {
            Package pkg = Package.getPackage("java.lang");
              
            // checking if pkg is compatible with 1.0
            System.out.println(pkg.isCompatibleWith("1.0"));
              
            // checking if packet is sealed
            System.out.println(pkg.isSealed());
              
            URL url = new URL("https://www.youtube.com/");
              
            System.out.println(pkg.isSealed(url));
              
            // string equivalent of package
            System.out.println(pkg.toString());
              
        }
    }

    Producción:

    true
    false
    false
    package java.lang, Java Platform API Specification, version 1.8
    

Este artículo es una contribución de Abhishek Verma . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *