fun parse()

in code/smv-debugger/src/main/kotlin/org/fbme/smvDebugger/model/SystemItemParser.kt [6:23]


    fun parse(fullName: String): SystemItem? {
        val nameParts = fullName.split(Regex(FULL_NAME_DELIMITER)).toTypedArray()
        val type: SystemItemType = if (isEventPort(nameParts)) {
            SystemItemType.EVENT_PORT
        } else if (isDataPort(nameParts)) {
            SystemItemType.DATA_PORT
        } else if (isECC(nameParts)) {
            SystemItemType.ECC
        } else {
            return null
        }
        val fbNames = getFbNames(nameParts)
        if (fbNames.isEmpty()) {
            return null
        }
        val itemName = getItemName(nameParts, type)
        return SystemItem(fullName, fbNames, itemName, type)
    }