/*
 * #%L
 * %%
 * Copyright (C) 2011 - 2017 BMW Car IT GmbH
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */
package joynr;

public abstract class Message {
    public static final String CUSTOM_HEADER_PREFIX = "c-";
    public static final String HEADER_EFFORT = "ef";
    public static final String HEADER_ID = "id";
    public static final String HEADER_MSG_TYPE = "t";
    public static final String HEADER_REPLY_TO = "re";

    public static final String CUSTOM_HEADER_REQUEST_REPLY_ID = "z4";
    public static final String CUSTOM_HEADER_GBID_KEY = "gb";

    public static final String VALUE_MESSAGE_TYPE_BROADCAST_SUBSCRIPTION_REQUEST = "brq";
    public static final String VALUE_MESSAGE_TYPE_MULTICAST_SUBSCRIPTION_REQUEST = "mrq";
    public static final String VALUE_MESSAGE_TYPE_MULTICAST = "m";
    public static final String VALUE_MESSAGE_TYPE_ONE_WAY = "o";
    public static final String VALUE_MESSAGE_TYPE_PUBLICATION = "p";
    public static final String VALUE_MESSAGE_TYPE_REPLY = "rp";
    public static final String VALUE_MESSAGE_TYPE_REQUEST = "rq";
    public static final String VALUE_MESSAGE_TYPE_SUBSCRIPTION_REPLY = "srp";
    public static final String VALUE_MESSAGE_TYPE_SUBSCRIPTION_REQUEST = "arq";
    public static final String VALUE_MESSAGE_TYPE_SUBSCRIPTION_STOP = "sst";

    private transient boolean localMessage;

    public boolean isLocalMessage() {
        return localMessage;
    }

    public void setLocalMessage(boolean message) {
        this.localMessage = message;
    }
}

@@ -677,16 +677,1133 @@
 ssage %7B%0A
+%0A    public enum MessageType %7B%0A        VALUE_MESSAGE_TYPE_BROADCAST_SUBSCRIPTION_REQUEST(%22brq%22), VALUE_MESSAGE_TYPE_MULTICAST_SUBSCRIPTION_REQUEST(%0A                %22mrq%22), VALUE_MESSAGE_TYPE_MULTICAST(%22m%22), VALUE_MESSAGE_TYPE_ONE_WAY(%0A                        %22o%22), VALUE_MESSAGE_TYPE_PUBLICATION(%22p%22), VALUE_MESSAGE_TYPE_REPLY(%0A                                %22rp%22), VALUE_MESSAGE_TYPE_REQUEST(%22rq%22), VALUE_MESSAGE_TYPE_SUBSCRIPTION_REPLY(%0A                                        %22srp%22), VALUE_MESSAGE_TYPE_SUBSCRIPTION_REQUEST(%0A                                                %22arq%22), VALUE_MESSAGE_TYPE_SUBSCRIPTION_STOP(%22sst%22);%0A%0A        private final String text;%0A%0A        private MessageType(String s) %7B%0A            text = s;%0A        %7D%0A%0A        @Override%0A        public String toString() %7B%0A            return this.text;%0A        %7D%0A%0A        public static MessageType fromString(String text) %7B%0A            for (MessageType type : MessageType.values()) %7B%0A                if (type.text.equalsIgnoreCase(text)) %7B%0A                    return type;%0A                %7D%0A            %7D%0A            return null;%0A        %7D%0A    %7D%0A%0A
     publ

Add Message.MessageType Enum