{
    "class": "root:org.kevoree.ContainerRoot@0.90909813134931031448893736903",
    "generated_KMF_ID": "0.90909813134931031448893736903",
    "nodes": [],
    "repositories": [],
    "hubs": [],
    "mBindings": [],
    "groups": [],
    "packages": [
        {
            "class": "org.kevoree.Package@org",
            "name": "org",
            "packages": [
                {
                    "class": "org.kevoree.Package@kevoree",
                    "name": "kevoree",
                    "packages": [
                        {
                            "class": "org.kevoree.Package@library",
                            "name": "library",
                            "packages": [],
                            "typeDefinitions": [
                                {
                                    "class": "org.kevoree.GroupType@name=WSGroup,version=5.3.1",
                                    "abstract": "false",
                                    "name": "WSGroup",
                                    "version": "5.3.1",
                                    "deployUnits": [
                                        "/packages[org]/packages[kevoree]/packages[library]/deployUnits[hashcode=,name=kevoree-group-ws,version=5.3.1]"
                                    ],
                                    "superTypes": [],
                                    "dictionaryType": [
                                        {
                                            "class": "org.kevoree.DictionaryType@0.48788272030651571448893736959",
                                            "generated_KMF_ID": "0.48788272030651571448893736959",
                                            "attributes": [
                                                {
                                                    "class": "org.kevoree.DictionaryAttribute@onDisconnect",
                                                    "fragmentDependant": "false",
                                                    "optional": "true",
                                                    "name": "onDisconnect",
                                                    "state": "false",
                                                    "datatype": "STRING",
                                                    "defaultValue": "",
                                                    "genericTypes": []
                                                },
                                                {
                                                    "class": "org.kevoree.DictionaryAttribute@onConnect",
                                                    "fragmentDependant": "false",
                                                    "optional": "true",
                                                    "name": "onConnect",
                                                    "state": "false",
                                                    "datatype": "STRING",
                                                    "defaultValue": "",
                                                    "genericTypes": []
                                                },
                                                {
                                                    "class": "org.kevoree.DictionaryAttribute@port",
                                                    "fragmentDependant": "true",
                                                    "optional": "true",
                                                    "name": "port",
                                                    "state": "false",
                                                    "datatype": "INT",
                                                    "defaultValue": "9000",
                                                    "genericTypes": []
                                                },
                                                {
                                                    "class": "org.kevoree.DictionaryAttribute@master",
                                                    "fragmentDependant": "false",
                                                    "optional": "true",
                                                    "name": "master",
                                                    "state": "false",
                                                    "datatype": "STRING",
                                                    "defaultValue": "",
                                                    "genericTypes": []
                                                }
                                            ]
                                        }
                                    ],
                                    "metaData": [
                                        {
                                            "class": "org.kevoree.Value@description",
                                            "name": "description",
                                            "value": "This group uses <strong>WebSockets</strong> to propagate models over the connected nodes.<br/>If the attribute <strong>master</strong> is specified (using the instance name of one of the connected nodes) then a WebSocket server will be listening on that node using the <strong>port</strong> attribute specified in the fragment dictionary of that particular node and every other nodes connected to that group will try to connect to that <strong>master</strong> node.</br>If <strong>master</strong> is empty, then every connected node will try to start a WebSocket server using their <strong>port</strong> fragment attribute.<br/><br/>The attributes <strong>onConnect</strong> and <strong>onDisconnect</strong> expects KevScript strings to be given to them optionally. If set, <strong>onConnect</strong> KevScript will be executed on the <strong>master</strong> node when a new client connects to the master server (and <strong>onDisconnect</strong> will be executed when a node disconnects from the master server)<br/><br/><em>NB: onConnect & onDisconnect can reference the current node that triggered the process by using this notation: {nodeName}</em><br/><em>NB2: {groupName} is also available and resolves to the current WSGroup instance name</em>"
                                        }
                                    ]
                                }
                            ],
                            "deployUnits": [
                                {
                                    "class": "org.kevoree.DeployUnit@hashcode=,name=kevoree-group-ws,version=5.3.1",
                                    "name": "kevoree-group-ws",
                                    "hashcode": "",
                                    "url": "",
                                    "version": "5.3.1",
                                    "requiredLibs": [],
                                    "filters": [
                                        {
                                            "class": "org.kevoree.Value@platform",
                                            "name": "platform",
                                            "value": "javascript"
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "typeDefinitions": [],
                    "deployUnits": []
                }
            ],
            "typeDefinitions": [],
            "deployUnits": []
        }
    ]
}