001    /**
002     * 
003     */
004    package de.jw.cloud42.core.eventing;
005    
006    import javax.xml.bind.annotation.XmlElement;
007    import javax.xml.bind.annotation.XmlRootElement;
008    
009    /**
010     * This is the internal representation of a notification message that can be sent from an EC2 instance
011     * to the Cloud42 endpoint.
012     * 
013     * Note: Due to the fact that the message is parsed by JAXB it simply consists of public fields 
014     * instead of properties with getters and setters.
015     * 
016     * @author fbitzer
017     * 
018     */
019    @XmlRootElement(namespace="http://cloud42.jw.de/message")
020    public class Message {
021    
022            
023            /**
024             * Topic of the message.
025             */
026            @XmlElement(namespace="http://cloud42.jw.de/message", required=true)
027            public String topic;
028            
029            /**
030             * InstanceId of the instance that fired the message.
031             */
032            @XmlElement(namespace="http://cloud42.jw.de/message")
033            public String instanceId;
034            
035            /**
036             * Date and time when the message was sent (String field for compability reasons).
037             */
038            @XmlElement(namespace="http://cloud42.jw.de/message")
039            public String timestamp;
040            
041            /**
042             * The text of the message.
043             */
044            @XmlElement(namespace="http://cloud42.jw.de/message")
045            public String text;
046            
047            /**
048             * Space of additional informations if required.
049             */
050            @XmlElement(namespace="http://cloud42.jw.de/message")
051            public String info;
052            
053    
054    
055            
056    }