Class NameTransformer

  • Direct Known Subclasses:
    NameTransformer.Chained

    public abstract class NameTransformer
    extends 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 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​(String prefix,
                                                        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 String transform​(String name)
        Method called when (forward) transformation is needed.
      • reverse

        public abstract String reverse​(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.