Java.xml.bind.JAXBElement.getScope() Method



Description

The Java.xml.bind.JAXBElement.getScope() method returns scope of xml element declaration.

Declaration

Following is the declaration for java.xml.bind.JAXBElement.getScope() method:

public Class getScope()

Parameters

NA

Return Value

Returns scope of xml element declaration. Returns GlobalScope.class if this element is of global scope.

Exception

NA

Example

The following example shows the usage of java.xml.bind.JAXBElement.getScope() method. To proceed, consider the following Student class which will be used to have objects for marshalling and unmarshalling purposes −

package com.tutorialspoint;

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
 
@XmlRootElement
public class Student{
 
   String name;
   int age;
   int id;

   public String getName(){
      return name;
   }

   @XmlElement
   public void setName(String name){
      this.name = name;
   }

   public int getAge(){
      return age;
   }

   @XmlElement
   public void setAge(int age){
      this.age = age;
   }

   public int getId(){
      return id;
   }

   @XmlAttribute
   public void setId(int id){
      this.id = id;
   }
}

Now let us create main class which will show the usage of java.xml.bind.JAXBElement.getScope() method. Here we will create a JAXBElement of a Student object and then get the scope of XML representation of Student object. This example get Student xml element scope and prints the result.

package com.tutorialspoint;

import javax.xml.bind.JAXBElement;
import javax.xml.namespace.QName;

public class JAXBElementDemo {
   public static void main(String[] args) {
      //Create a student object
      Student student = new Student();

      //fill details of the student
      student.setName("Robert");
      student.setId(1);
      student.setAge(12);
      
      //create JAXBElement of type Student
      //Pass it the student object
      JAXBElement<Student> jaxbElement =  new JAXBElement( 
         new QName(Student.class.getSimpleName()), Student.class, student);

      //get the xml element scope of student node
      Class clazz =  jaxbElement.getScope();
      
      //print the name
      System.out.println( clazz.getCanonicalName());   
   }
}

Let us compile and run the above program, this will produce the following result −

javax.xml.bind.JAXBElement.GlobalScope
javax_xml_bind_jaxbelement.htm
Advertisements