Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;

public class Main {
    public static void main(String[] args) throws JAXBException {
        Person p = new Person();
        p.setFirstName("B");
        p.setLastName("H");
        PersonName pn = new PersonName();
        pn.setValue("L");
        p.setFriend(pn);
        JAXBContext context = JAXBContext.newInstance(Person.class);
        context.createMarshaller().marshal(p, System.out);
    }
}

@XmlRootElement()
@XmlType(name = "")
// @XmlAccessorType(XmlAccessType.FIELD)
class Person {
    // @XmlAttribute()
    private String firstName;

    private PersonName friend;

    private String lastName;

    public String getFirstName() {
        return firstName;
    }

    @XmlElement(nillable = true)
    // @XmlElement(required=true)
    public PersonName getFriend() {
        return friend;
    }

    // @XmlValue()
    // @XmlTransient
    public String getLastName() {
        return lastName;
    }

    public void setFirstName(String s) {
        firstName = s;
    }

    public void setFriend(PersonName friend) {
        this.friend = friend;
    }

    // r @XmlTransient
    public void setLastName(String s) {
        lastName = s;
    }
}

@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
class PersonName {

    @XmlValue
    private String value;

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}