google/Message.js
function Message(messageId) {

    if (util.isNullOrUndefined(messageId) || "string" !== typeof(messageId)) {
        throw new IllegalArgumentException();
    }

    /**
     * This parameter uniquely identifies a message in an XMPP connection.
     */
    this.mMessageId = messageId;
    this.mCollapseKey = null;
    this.mDelayWhileIdle = null;
    this.mTimeToLive = null;
    this.mData = null;  //Object
    this.mDryRun = null;
    this.mDeliveryReceiptRequested = false;
    this.mPriority = null;
    this.mNotification = null;
    this.mContentAvailable = false;
    this.mMutableContent = false;

    this.mBuilded = false;
}
function Message(messageId) {

    if (util.isNullOrUndefined(messageId) || "string" !== typeof(messageId)) {
        throw new IllegalArgumentException();
    }

    /**
     * This parameter uniquely identifies a message in an XMPP connection.
     */
    this.mMessageId = messageId;
    this.mCollapseKey = null;
    this.mDelayWhileIdle = null;
    this.mTimeToLive = null;
    this.mData = null;  //Object
    this.mDryRun = null;
    this.mDeliveryReceiptRequested = false;
    this.mPriority = null;
    this.mNotification = null;
    this.mContentAvailable = false;
    this.mMutableContent = false;

    this.mBuilded = false;
}
function Message ( messageId ) { if ( util . isNullOrUndefined ( messageId ) || "string" !== typeof ( messageId ) ) { throw new IllegalArgumentException ( ) ; } /**
     * This parameter uniquely identifies a message in an XMPP connection.
     */ this . mMessageId = messageId ; this . mCollapseKey = null ; this . mDelayWhileIdle = null ; this . mTimeToLive = null ; this . mData = null ; //Object
 this . mDryRun = null ; this . mDeliveryReceiptRequested = false ; this . mPriority = null ; this . mNotification = null ; this . mContentAvailable = false ; this . mMutableContent = false ; this . mBuilded = false ; }
FCM message.

<p>
Instances of this class should be immutable. In order to accomplish, build method
must be called lastly {@link #build}. Examples:

<pre><code>
var Message = require('node-xcs').Message;
</pre></code>

<strong>Simplest message:</strong>
<pre><code>
var message = new Message("<messageId>").build();
</pre></code>

<strong>Message with optional attributes:</strong>
<pre><code>
var message = new Message("<messageId>")
.collapseKey(collapseKey)
.timeToLive(3)
.delayWhileIdle(true)
.dryRun(true)
.deliveryReceiptRequested(true)
.build();
</pre></code>

<strong>Message with optional attributes and payload data:</strong>
<pre><code>
var message = new Message("<messageId>")
.priority("normal")
.collapseKey(collapseKey)
.timeToLive(3)
.delayWhileIdle(true)
.dryRun(true)
.deliveryReceiptRequested(true)
.addData("key1", "value1")
.addData("key2", "value2")
.build();
</pre></code>
FCM message .