Class NameTransformer

  • Direct Known Subclasses:
    NameTransformer.Chained

    public abstract class NameTransformer
    extends java.lang.Object
    Helper class used to encapsulate details of name mangling, transforming of names using different strategies (prefixes, suffixes). Default implementation is "no-operation" (aka identity transformation).
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static NameTransformer NOP
      Singleton "no-operation" transformer which simply returns given name as is.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      static NameTransformer chainedTransformer​(NameTransformer t1, NameTransformer t2)
      Method that constructs transformer that applies given transformers as a sequence; essentially combines separate transform operations into one logical transformation.
      abstract java.lang.String reverse​(java.lang.String transformed)
      Method called when reversal of transformation is needed; should return null if this is not possible, that is, given name cannot have been result of calling transform(java.lang.String) of this object.
      static NameTransformer simpleTransformer​(java.lang.String prefix, java.lang.String suffix)
      Factory method for constructing a simple transformer based on prefix and/or suffix.
      abstract java.lang.String transform​(java.lang.String name)
      Method called when (forward) transformation is needed.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • NOP

        public static final NameTransformer NOP
        Singleton "no-operation" transformer which simply returns given name as is. Used commonly as placeholder or marker.
    • Method Detail

      • simpleTransformer

        public static NameTransformer simpleTransformer​(java.lang.String prefix,
                                                        java.lang.String suffix)
        Factory method for constructing a simple transformer based on prefix and/or suffix.
      • chainedTransformer

        public static NameTransformer chainedTransformer​(NameTransformer t1,
                                                         NameTransformer t2)
        Method that constructs transformer that applies given transformers as a sequence; essentially combines separate transform operations into one logical transformation.
      • transform

        public abstract java.lang.String transform​(java.lang.String name)
        Method called when (forward) transformation is needed.
      • reverse

        public abstract java.lang.String reverse​(java.lang.String transformed)
        Method called when reversal of transformation is needed; should return null if this is not possible, that is, given name cannot have been result of calling transform(java.lang.String) of this object.