Class ChangeTable


  • public class ChangeTable
    extends java.lang.Object

    A mapping between keys and actions to turn old values into new values.

    Since:
    1.3
    Author:
    Matthew Pocock
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ChangeTable.ChainedChanger
      An implementation of Changer that applies a list of Changer instances to the value in turn.
      static interface  ChangeTable.Changer
      Callback used to produce a new value from an old one.
      static interface  ChangeTable.Splitter
      Callback used to produce a list of values from a single old one.
    • Constructor Summary

      Constructors 
      Constructor Description
      ChangeTable()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object change​(java.lang.Object tag, java.lang.Object value)  
      ChangeTable.Changer getChanger​(java.lang.Object tag)
      Get the Changer currently registered to handle a tag.
      ChangeTable.Splitter getSplitter​(java.lang.Object tag)
      Get the Splitter currently registered to handle a tag.
      void setChanger​(java.lang.Object tag, ChangeTable.Changer changer)
      Set the Changer to be used for all values of a particular tag.
      void setSplitter​(java.lang.Object tag, ChangeTable.Splitter splitter)
      Set the Splitter to be used for all values of a particular tag.
      • Methods inherited from class java.lang.Object

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

      • ChangeTable

        public ChangeTable()
    • Method Detail

      • setChanger

        public void setChanger​(java.lang.Object tag,
                               ChangeTable.Changer changer)
        Set the Changer to be used for all values of a particular tag.
        Parameters:
        tag - the tag Object which will have all values changed
        changer - the Changer used to change the values
      • setSplitter

        public void setSplitter​(java.lang.Object tag,
                                ChangeTable.Splitter splitter)
        Set the Splitter to be used for all values of a particular tag.
        Parameters:
        tag - the tag Object which will have all values split
        splitter - the Splitter used to split the values
      • getChanger

        public ChangeTable.Changer getChanger​(java.lang.Object tag)
        Get the Changer currently registered to handle a tag.
        Parameters:
        tag - the tag Object for which values would be changed
        Returns:
        the associated Changer or null
      • getSplitter

        public ChangeTable.Splitter getSplitter​(java.lang.Object tag)
        Get the Splitter currently registered to handle a tag.
        Parameters:
        tag - the tag Object for which values would be split
        Returns:
        the associated Splitter or null