/** * Returns topic references to the types of the topic. * * @param topic The topic. * @return A (maybe empty) sorted array of topic references. */ private String[] _getTypes(final Topic topic) { final Topic[] types = topic.getTypes().toArray(new Topic[0]); final String[] typeArray = new String[types.length]; for (int i = 0; i < types.length; i++) { typeArray[i] = _getTopicReference(types[i]); } Arrays.sort(typeArray); return typeArray; }
/** * Generates the prefixes for the specified topic (incl. its played roles and occurrences and * names). * * @param topic The topic to generate the prefixes for. */ private void _registerPrefixes(final Topic topic) { _generateTopicReferences(topic.getTypes()); for (Occurrence occ : topic.getOccurrences()) { _generatePrefixes(occ); } for (Name name : topic.getNames()) { _generatePrefixes(name); for (Variant variant : name.getVariants()) { _generatePrefixes(variant); } } for (Role rolePlayed : topic.getRolesPlayed()) { Association assoc = rolePlayed.getParent(); _generatePrefixes(assoc); for (Role role : assoc.getRoles()) { _getTopicReference(role.getType()); } } }