//
// Este archivo ha sido generado por la arquitectura JavaTM para la implantación de la referencia de enlace (JAXB) XML v2.3.0-b170202.1032 
// Visite <a href="https://jaxb.java.net/">https://jaxb.java.net/</a> 
// Todas las modificaciones realizadas en este archivo se perderán si se vuelve a compilar el esquema de origen. 
// Generado el: 2023.02.10 a las 12:40:39 PM CET 
//

package com.ejie.ad74a.ws.client.libroRegistro.model.notification;

import java.util.ArrayList;
import java.util.List;
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;

/**
 * <p>
 * Clase Java para anonymous complex type.
 * 
 * <p>
 * El siguiente fragmento de esquema especifica el contenido que se espera que
 * haya en esta clase.
 * 
 * <pre>
 * &lt;complexType&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="MessageID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="Jndi" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="EventWho" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="EventWhat" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="EventTipology" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="Type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="RetryCount" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="Property" maxOccurs="unbounded"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;sequence&gt;
 *                   &lt;element name="Name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                   &lt;element name="Value" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *                 &lt;/sequence&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *         &lt;element ref="{com/ejie/notification/xml}NotificationBody"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { "messageID", "jndi", "eventWho", "eventWhat", "eventTipology", "type", "retryCount",
		"property", "notificationBody" })
@XmlRootElement(name = "CallerInfo")
public class CallerInfo {

	@XmlElement(name = "MessageID")
	protected String messageID;
	@XmlElement(name = "Jndi")
	protected String jndi;
	@XmlElement(name = "EventWho")
	protected String eventWho;
	@XmlElement(name = "EventWhat")
	protected String eventWhat;
	@XmlElement(name = "EventTipology")
	protected String eventTipology;
	@XmlElement(name = "Type")
	protected String type;
	@XmlElement(name = "RetryCount")
	protected String retryCount;
	@XmlElement(name = "Property", required = true)
	protected List<CallerInfo.Property> property;
	@XmlElement(name = "NotificationBody", required = true)
	protected NotificationBody notificationBody;

	/**
	 * Obtiene el valor de la propiedad messageID.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getMessageID() {
		return messageID;
	}

	/**
	 * Define el valor de la propiedad messageID.
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setMessageID(String value) {
		this.messageID = value;
	}

	/**
	 * Obtiene el valor de la propiedad jndi.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getJndi() {
		return jndi;
	}

	/**
	 * Define el valor de la propiedad jndi.
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setJndi(String value) {
		this.jndi = value;
	}

	/**
	 * Obtiene el valor de la propiedad eventWho.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getEventWho() {
		return eventWho;
	}

	/**
	 * Define el valor de la propiedad eventWho.
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setEventWho(String value) {
		this.eventWho = value;
	}

	/**
	 * Obtiene el valor de la propiedad eventWhat.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getEventWhat() {
		return eventWhat;
	}

	/**
	 * Define el valor de la propiedad eventWhat.
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setEventWhat(String value) {
		this.eventWhat = value;
	}

	/**
	 * Obtiene el valor de la propiedad eventTipology.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getEventTipology() {
		return eventTipology;
	}

	/**
	 * Define el valor de la propiedad eventTipology.
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setEventTipology(String value) {
		this.eventTipology = value;
	}

	/**
	 * Obtiene el valor de la propiedad type.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getType() {
		return type;
	}

	/**
	 * Define el valor de la propiedad type.
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setType(String value) {
		this.type = value;
	}

	/**
	 * Obtiene el valor de la propiedad retryCount.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getRetryCount() {
		return retryCount;
	}

	/**
	 * Define el valor de la propiedad retryCount.
	 * 
	 * @param value allowed object is {@link String }
	 * 
	 */
	public void setRetryCount(String value) {
		this.retryCount = value;
	}

	/**
	 * Gets the value of the property property.
	 * 
	 * <p>
	 * This accessor method returns a reference to the live list, not a snapshot.
	 * Therefore any modification you make to the returned list will be present
	 * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
	 * for the property property.
	 * 
	 * <p>
	 * For example, to add a new item, do as follows:
	 * 
	 * <pre>
	 * getProperty().add(newItem);
	 * </pre>
	 * 
	 * 
	 * <p>
	 * Objects of the following type(s) are allowed in the list
	 * {@link CallerInfo.Property }
	 * 
	 * 
	 */
	public List<CallerInfo.Property> getProperty() {
		if (property == null) {
			property = new ArrayList<CallerInfo.Property>();
		}
		return this.property;
	}

	/**
	 * Obtiene el valor de la propiedad notificationBody.
	 * 
	 * @return possible object is {@link NotificationBody }
	 * 
	 */
	public NotificationBody getNotificationBody() {
		return notificationBody;
	}

	/**
	 * Define el valor de la propiedad notificationBody.
	 * 
	 * @param value allowed object is {@link NotificationBody }
	 * 
	 */
	public void setNotificationBody(NotificationBody value) {
		this.notificationBody = value;
	}

	/**
	 * <p>
	 * Clase Java para anonymous complex type.
	 * 
	 * <p>
	 * El siguiente fragmento de esquema especifica el contenido que se espera que
	 * haya en esta clase.
	 * 
	 * <pre>
	 * &lt;complexType&gt;
	 *   &lt;complexContent&gt;
	 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
	 *       &lt;sequence&gt;
	 *         &lt;element name="Name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
	 *         &lt;element name="Value" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
	 *       &lt;/sequence&gt;
	 *     &lt;/restriction&gt;
	 *   &lt;/complexContent&gt;
	 * &lt;/complexType&gt;
	 * </pre>
	 * 
	 * 
	 */
	@XmlAccessorType(XmlAccessType.FIELD)
	@XmlType(name = "", propOrder = { "name", "value" })
	public static class Property {

		@XmlElement(name = "Name", required = true)
		protected String name;
		@XmlElement(name = "Value", required = true)
		protected String value;

		/**
		 * Obtiene el valor de la propiedad name.
		 * 
		 * @return possible object is {@link String }
		 * 
		 */
		public String getName() {
			return name;
		}

		/**
		 * Define el valor de la propiedad name.
		 * 
		 * @param value allowed object is {@link String }
		 * 
		 */
		public void setName(String value) {
			this.name = value;
		}

		/**
		 * Obtiene el valor de la propiedad value.
		 * 
		 * @return possible object is {@link String }
		 * 
		 */
		public String getValue() {
			return value;
		}

		/**
		 * Define el valor de la propiedad value.
		 * 
		 * @param value allowed object is {@link String }
		 * 
		 */
		public void setValue(String value) {
			this.value = value;
		}

	}

}
