Class MessageDigestIdGenerator

java.lang.Object
com.structurizr.model.MessageDigestIdGenerator
All Implemented Interfaces:
IdGenerator

public class MessageDigestIdGenerator
extends java.lang.Object
implements IdGenerator
An ID generator that uses a digest function when generating IDs for model elements and relationships. This allows IDs to be more stable than a sequential number, and allows models to be merged more easily.
  • Constructor Summary

    Constructors 
    Constructor Description
    MessageDigestIdGenerator​(java.security.MessageDigest digest, int length)  
  • Method Summary

    Modifier and Type Method Description
    void found​(java.lang.String id)
    Called when loading/deserializing a model, to indicate that the specified ID has been found (and shouldn't be reused when generating new IDs).
    java.lang.String generateId​(Element element)
    Generates an ID for the specified model element.
    java.lang.String generateId​(Relationship relationship)
    Generates an ID for the specified model relationship.
    java.lang.String generateId​(java.lang.String... terms)  
    static MessageDigestIdGenerator getInstance​(java.lang.String algorithm)  
    static MessageDigestIdGenerator getInstance​(java.lang.String algorithm, int length)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • getInstance

      public static MessageDigestIdGenerator getInstance​(java.lang.String algorithm)
    • getInstance

      public static MessageDigestIdGenerator getInstance​(java.lang.String algorithm, int length)
    • found

      public void found​(java.lang.String id)
      Description copied from interface: IdGenerator
      Called when loading/deserializing a model, to indicate that the specified ID has been found (and shouldn't be reused when generating new IDs).
      Specified by:
      found in interface IdGenerator
      Parameters:
      id - the ID that has been found
    • generateId

      public java.lang.String generateId​(Element element)
      Description copied from interface: IdGenerator
      Generates an ID for the specified model element.
      Specified by:
      generateId in interface IdGenerator
      Parameters:
      element - an Element instance
      Returns:
      the ID, as a String
    • generateId

      public java.lang.String generateId​(Relationship relationship)
      Description copied from interface: IdGenerator
      Generates an ID for the specified model relationship.
      Specified by:
      generateId in interface IdGenerator
      Parameters:
      relationship - a Relationship instance
      Returns:
      the ID, as a String
    • generateId

      public java.lang.String generateId​(java.lang.String... terms)