aboutsummaryrefslogtreecommitdiffstats
path: root/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentNameGenerator.xtend
blob: 71d40a9b9edad89b5d3868c5573e67ccc859ab22 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft

import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition
import java.util.Map

class ComponentNameGenerator {
	static val DEFAULT_NAME = "__unnamed"

	val Map<ComponentDefinition, Integer> instanceCounts = newHashMap

	def nextName(ComponentDefinition componentDefinition) {
		val instanceCount = instanceCounts.getOrDefault(componentDefinition, 0)
		instanceCounts.put(componentDefinition, instanceCount + 1)
		(componentDefinition.name ?: DEFAULT_NAME) + instanceCount
	}
}