Get the JsMsgPart which contains the JMF Message described by the
JsHdr2 schema.
Once obtained, the value is cached, and the cached value is returned until
the cache is cleared.

@return JsMsgPart The message part described by the JsHdr2 schema
497300
synchronized final JsMsgPart getHdr2() {
        if (hdr2 == null) {
            if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                SibTr.debug(this, tc, "getHdr2 will call getPart");
            hdr2 = jmo.getPart(JsHdrAccess.HDR2, JsHdr2Access.schema);
        }
        return hdr2;
    }
940916
@Override
    public String getFormattedMessage() {
        if (formattedMessage == null) {
            formattedMessage = formatMessage(messagePattern, parameters);
        }
        return formattedMessage;
    }
627415
public String getJsp() {

        if (m_functionBean == null) {
            return "";
        }
        Format format = m_functionBean.getMainFormat();
        CmsDynamicFunctionFormatWrapper wrapper = new CmsDynamicFunctionFormatWrapper(m_cms, format);
        return wrapper.getJsp();
    }
1271951
@Override
	public Serializable getObject() throws JMSException
    {
        if (body == null)
            return null;
        
        try
        {
        	return SerializationTools.fromByteArray(body);
        }
        catch (Exception e)
        {
        	throw new FFMQException("Cannot deserialize object message body","MESSAGE_ERROR",e);
        }
    }
155152
private ISFSObject getMessage() {
        if(messageObject != null) {
            MessageParamsClass clazz = context.getMessageParamsClass(messageObject.getClass());
            if(clazz != null) 
                return new ResponseParamSerializer().object2params(clazz.getUnwrapper(), messageObject);
        }
        if(jsonMessage != null)
            return SFSObject.newFromJsonData(jsonMessage);
        if(messageString == null)
            return new SFSObject();
        ISFSObject answer = new SFSObject();
        answer.putUtfString(APIKey.MESSAGE, messageString);
        return answer;
            
    }
915192
protected MavenImportWizardPage getMavenImportWizardPage() {
		if (this.mainPageBuffer == null) {
			try {
				final Field field = MavenImportWizard.class.getDeclaredField("page"); //$NON-NLS-1$
				field.setAccessible(true);
				this.mainPageBuffer = (MavenImportWizardPage) field.get(this);
			} catch (Exception exception) {
				throw new RuntimeException(exception);
			}
		}
		return this.mainPageBuffer;
	}
756789
public String getAMCName() { // @MD16426A
        J2EEName j2eeName = bmd.getJ2EEName(); // @MD16426A
        String app = j2eeName.getApplication(); // @MD16426A
        String mod = j2eeName.getModule(); // @MD16426A
        String comp = j2eeName.getComponent(); // @MD16426A
        String retval = app + "::" + mod + "::" + comp; // @PK07137
        return retval; // @MD16426A
    }
90820
public final String getJmsType() {
        if (getHdr2().getChoiceField(JsHdr2Access.JMSTYPE) == JsHdr2Access.IS_JMSTYPE_EMPTY) {
            return getDerivedJmsType();
        }
        else {
            return (String) getHdr2().getField(JsHdr2Access.JMSTYPE_DATA);
        }
    }
28607
@Override
    public MessageListener getMessageListener() throws JMSRuntimeException {

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.entry(this, tc, "getMessageListener");

        MessageListener messageListener = null;

        try {
            messageListener = messageConsumer.getMessageListener();
        } catch (JMSException jmse) {
            throw (JMSRuntimeException) JmsErrorUtils.getJMS2Exception(jmse, JMSRuntimeException.class);
        } finally {
            if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                SibTr.exit(this, tc, "getMessageListener", messageListener);
        }

        return messageListener;
    }
215416
public String getText() throws UnsupportedEncodingException {
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "getText");
    String text = null;
    try {
      text = (String)getPayload().getField(JmsTextBodyAccess.BODY_DATA_VALUE);
    }
    catch (MFPUnsupportedEncodingRuntimeException e) {
      FFDCFilter.processException(e, "com.ibm.ws.sib.mfp.impl.JsJmsTextMessageImpl.getText", "148");
      throw (UnsupportedEncodingException)e.getCause();
    }
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
      if ((text == null) || text.length() < 257) {
        SibTr.exit(this, tc, "getText", text);
      }
      else {
        SibTr.exit(this, tc, "getText", new Object[]{text.length(), text.substring(0,200)+"..."});
      }
    }
    return text;
  }
1283220
public final Long getJmsDeliveryTime() {
        if (getHdr2().getChoiceField(JsHdr2Access.JMSDELIVERYTIME) == JsHdr2Access.IS_JMSDELIVERYTIME_EMPTY) {
            return Long.valueOf(getDerivedJmsDeliveryTime());
        }
        else {
            return (Long) getHdr2().getField(JsHdr2Access.JMSDELIVERYTIME_DATA);
        }
    }
945729
@Override
    protected JsJmsMessage getMsgReference() throws JMSException {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.entry(this, tc, "getMsgReference");

        // If the body is read only, the contents should already be in the
        // JS message, so only do the copy over if we are in write mode.
        // SIB0121: ... and if the producer might modify the payload after it's been set
        if (!isBodyReadOnly() && !producerWontModifyPayloadAfterSet) {
            if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                SibTr.debug(this, tc, "Body is writeable & producer hasn't promised not to modify the payload - attempt encoding");

            try {
                int encoding = integerEncoding | floatEncoding; // NB bitwise or (|), not logical or (||)
                // check if JMS_IBM_Encoding has been set
                if (propertyExists(ApiJmsConstants.ENCODING_PROPERTY)) {
                    encoding = getIntProperty(ApiJmsConstants.ENCODING_PROPERTY);
                }

                if (bodySetInJsMsg && (encoding == lastEncoding)) {
                    if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                        SibTr.debug(this, tc, "Body cached - encoding not necessary");
                }
                else {
                    // flatten and encode the data streams
                    byte[] encodedBody = _exportBody(encoding);
                    // and set it into the Jetstream message
                    jsBytesMsg.setBytes(encodedBody);
                    lastEncoding = encoding;
                    bodySetInJsMsg = true;
                }
            }

            catch (JMSException e) {
                // No FFDC code needed

                // d222942 review JMSException could be thrown by _exportBody if passed an unknown
                // value for encoding, or if there was an IO error handling the streams. These already
                // have good nls messages, so we should simply pass on, not wrap with a generic message.
                // Similarly, getIntProperty can throw a JMSException which can also be passed on.
                throw e;
            }

        }

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(this, tc, "getMsgReference", jsBytesMsg);
        return jsBytesMsg;
    }
441922
public Object getMessageStore() {

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
            SibTr.entry(tc, "getMessageStore", this);
            SibTr.exit(tc, "getMessageStore", null);
        }

        return _messageStore;
    }
262697
@Override
    public final Set<String> getPropertyNameSet() {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.entry(this, tc, "getPropertyNameSet");

        /* Get the names of the real properties in the JMS Property Maps */
        Set<String> names = getNonSmokeAndMirrorsPropertyNameSet();

        /* Maelstrom's transportVersion may be in the specific variant field */
        if (isTransportVersionSet())
            names.add(MfpConstants.PRP_TRANSVER);

        /* JMSXAppId */
        if (getHdr2().getChoiceField(JsHdr2Access.XAPPID) != JsHdr2Access.IS_XAPPID_EMPTY) {
            names.add(SIProperties.JMSXAppID);
        }

        /* JMSXUserID */
        if (getUserid() != null) {
            names.add(SIProperties.JMSXUserID);
        }

        /* JMSXDeliveryCount is considered set if the message has been sent */
        if (isSent()) {
            names.add(SIProperties.JMSXDeliveryCount);
        }

        /* ARM Correlator */
        if (getARMCorrelator() != null) {
            names.add(SIProperties.JMS_IBM_ArmCorrelator);
            names.add(SIProperties.JMS_TOG_ARM_Correlator);
        }

        /* If any Exception field is set, all must be */
        if (getHdr2().getChoiceField(JsHdr2Access.EXCEPTION) != JsHdr2Access.IS_EXCEPTION_EMPTY) {
            names.add(SIProperties.JMS_IBM_ExceptionReason);
            names.add(SIProperties.JMS_IBM_ExceptionTimestamp);
            names.add(SIProperties.JMS_IBM_ExceptionMessage);
            /* ... but JMS_IBM_ExceptionProblemDestination could be set to null */
            if (getExceptionProblemDestination() != null) {
                names.add(SIProperties.JMS_IBM_ExceptionProblemDestination);
            }
            /* ... but JMS_IBM_ExceptionSubscription could also be set to null */
            if (getExceptionProblemSubscription() != null) {
                names.add(SIProperties.JMS_IBM_ExceptionProblemSubscription);
            }
        }

        /* If the SystemMessageId has been set, JMS_IBM_System_MessageID exists */
        if (getSystemMessageId() != null) {
            names.add(SIProperties.JMS_IBM_System_MessageID);
        }

        /* JMS_IBM_Feedback */
        if ((getApi().getChoiceField(JsApiAccess.REPORTFEEDBACK) != JsApiAccess.IS_REPORTFEEDBACK_UNSET) ||
            (getApi().getChoiceField(JsApiAccess.REPORTFEEDBACKINT) != JsApiAccess.IS_REPORTFEEDBACKINT_UNSET)) {
            names.add(SIProperties.JMS_IBM_Feedback);
        }

        /* JMS_IBM_Report_Xxxxxx */
        if (getHdr2().getChoiceField(JsHdr2Access.REPORTEXPIRY) != JsHdr2Access.IS_REPORTEXPIRY_UNSET) {
            names.add(SIProperties.JMS_IBM_Report_Expiration);
        }
        if (getHdr2().getChoiceField(JsHdr2Access.REPORTCOD) != JsHdr2Access.IS_REPORTCOD_UNSET) {
            names.add(SIProperties.JMS_IBM_Report_COD);
        }
        if (getHdr2().getChoiceField(JsHdr2Access.REPORTCOA) != JsHdr2Access.IS_REPORTCOA_UNSET) {
            names.add(SIProperties.JMS_IBM_Report_COA);
        }
        if (getApi().getChoiceField(JsApiAccess.REPORTEXCEPTION) != JsApiAccess.IS_REPORTEXCEPTION_UNSET) {
            names.add(SIProperties.JMS_IBM_Report_Exception);
        }
        if (getApi().getChoiceField(JsApiAccess.REPORTPAN) != JsApiAccess.IS_REPORTPAN_UNSET) {
            names.add(SIProperties.JMS_IBM_Report_PAN);
        }
        if (getApi().getChoiceField(JsApiAccess.REPORTNAN) != JsApiAccess.IS_REPORTNAN_UNSET) {
            names.add(SIProperties.JMS_IBM_Report_NAN);
        }
        if (getApi().getChoiceField(JsApiAccess.REPORTPASSMSGID) != JsApiAccess.IS_REPORTPASSMSGID_UNSET) {
            names.add(SIProperties.JMS_IBM_Report_Pass_Msg_ID);
        }
        if (getApi().getChoiceField(JsApiAccess.REPORTPASSCORRELID) != JsApiAccess.IS_REPORTPASSCORRELID_UNSET) {
            names.add(SIProperties.JMS_IBM_Report_Pass_Correl_ID);
        }
        if (getApi().getChoiceField(JsApiAccess.REPORTDISCARDMSG) != JsApiAccess.IS_REPORTDISCARDMSG_UNSET) {
            names.add(SIProperties.JMS_IBM_Report_Discard_Msg);
        }

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(this, tc, "getPropertyNameSet", names);
        return names;

    }
1018246
public SerialMessage getValueMessage() {
		logger.debug("Creating new message for application command BASIC_GET for node {}", this.getNode().getNodeId());
		SerialMessage result = new SerialMessage(this.getNode().getNodeId(), SerialMessageClass.SendData, SerialMessageType.Request, SerialMessageClass.ApplicationCommandHandler, SerialMessagePriority.Get);
    	byte[] newPayload = { 	(byte) this.getNode().getNodeId(), 
    							2, 
								(byte) getCommandClass().getKey(), 
								(byte) BASIC_GET };
    	result.setMessagePayload(newPayload);
    	return result;		
	}
143509
JSMessageData getCopy() {

    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) JmfTr.entry(this, tc, "getCopy");
    JSMessageImpl copy;

    synchronized (getMessageLockArtefact()) {
      // Create a new instance of ourselves
      copy = new JSMessageImpl(this);

      // Allow the message data to be lazy-copied
      copy.lazyCopy(this);

      // The copy is a new top-level message
      copy.setMaster();

      // We must clear our boxed cache at this stage, since items in the
      // boxed cache may refer to entries in our now potentially shared cache
      // and this could result in  consistency problems. By clearing the
      // cache here it will get recreated with new copies when required.
      if (boxManager != null) {
        boxManager.reset();
      }

    }

    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) JmfTr.exit(this, tc, "getCopy", copy);
    return copy;
  }
1179103
@Override
    public String getFormattedMessage() {
        if (formattedMessage == null) {
            formattedMessage = formatMessage(messagePattern, argArray);
        }
        return formattedMessage;
    }