Class KeyGenerator


  • public class KeyGenerator
    extends Object
    PUBLIC: Utilities for generating keys from complex topic map objects. The keys from two different objects in the same topic map will be equal if the two objects are equal according to the equality rules of the TMDM.
    • Constructor Detail

      • KeyGenerator

        public KeyGenerator()
    • Method Detail

      • makeOccurrenceKey

        public static String makeOccurrenceKey​(OccurrenceIF occ)
        PUBLIC: Makes a key for an occurrence. The key is made up of a scope key, a type key, and a data key.
        Returns:
        string containing key
      • makeOccurrenceKey

        public static String makeOccurrenceKey​(OccurrenceIF occ,
                                               TopicMapIF othertm)
        PUBLIC: Makes a key for an occurrence, as it would look in another topic map.
        Returns:
        string containing key
        Since:
        5.1.3
      • makeTopicNameKey

        public static String makeTopicNameKey​(TopicNameIF bn)
        PUBLIC: Makes a key for a topic name. The key is made up of a scope key and a value key.
        Returns:
        string containing key
      • makeTopicNameKey

        public static String makeTopicNameKey​(TopicNameIF bn,
                                              TopicMapIF othertm)
        PUBLIC: Makes a key for a topic name, as it would look in another topic map.
        Returns:
        string containing key
        Since:
        5.1.3
      • makeVariantKey

        public static String makeVariantKey​(VariantNameIF vn)
        PUBLIC: Makes a key for a variant name. The key is made up of a scope key and a value/locator key.
        Returns:
        string containing key
        Since:
        1.2.0
      • makeAssociationKey

        public static String makeAssociationKey​(AssociationIF assoc)
        PUBLIC: Makes a key for an association. The key is made up from the type and for each role its type and player.
        Parameters:
        assoc - The association to make a key for
        Returns:
        string containing key
      • makeAssociationKey

        public static String makeAssociationKey​(AssociationIF assoc,
                                                AssociationRoleIF role)
        PUBLIC: Makes a key for an association, but does not include the player of the given role. The key is made up from the type and for each role its type and player (except the given role for which only the role type is included). This method is used to create a signature for the association without taking one of the roles into account.
        Parameters:
        assoc - The association to make a key for
        role - The association role whose role player is to be left out of the key.
        Returns:
        string containing key
        Since:
        3.4.2
      • makeAssociationKey

        public static String makeAssociationKey​(AssociationIF assoc,
                                                TopicMapIF othertm)
        PUBLIC: Makes a key for an association, as it would look in another topic map.
        Since:
        5.1.3
      • makeAssociationRoleKey

        public static String makeAssociationRoleKey​(AssociationRoleIF role)
        PUBLIC: Makes a key for an association role. The key is made up of the role and the player.
        Parameters:
        role - The association role.
        Returns:
        The key.
        Since:
        1.2.0
      • makeAssociationRoleKey

        public static String makeAssociationRoleKey​(AssociationRoleIF role,
                                                    TopicMapIF othertm)
        PUBLIC: Makes a key for an association role, as it would look in another topic map.
        Since:
        5.1.3
      • makeKey

        public static String makeKey​(ReifiableIF object)
        PUBLIC: Makes a key for any reifiable object, using the other methods in this class.
        Since:
        5.1.0
      • makeKey

        public static String makeKey​(ReifiableIF object,
                                     TopicMapIF topicmap)
        PUBLIC: Makes a key for any reifiable object as it would look like were the object in another topic map. Useful for checking if a given object exists in another topic map.
        Parameters:
        object - The object to make a key for.
        topicmap - The topic map in which to interpret the key.
        Since:
        5.1.3
      • makeTopicKey

        protected static String makeTopicKey​(TopicIF topic)
      • makeTypedKey

        protected static String makeTypedKey​(TypedIF typed)
      • makeScopeKey

        protected static String makeScopeKey​(ScopedIF scoped)