Class Kit


  • public class Kit
    extends java.lang.Object
    Collection of utilities
    • Constructor Summary

      Constructors 
      Constructor Description
      Kit()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.Object addListener​(java.lang.Object bag, java.lang.Object listener)
      Add listener to bag of listeners.
      static java.lang.Class<?> classOrNull​(java.lang.ClassLoader loader, java.lang.String className)
      Attempt to load the class of the given name.
      static java.lang.Class<?> classOrNull​(java.lang.String className)  
      static java.lang.RuntimeException codeBug()
      Throws RuntimeException to indicate failed assertion.
      static java.lang.RuntimeException codeBug​(java.lang.String msg)
      Throws RuntimeException to indicate failed assertion.
      static java.lang.Object getListener​(java.lang.Object bag, int index)
      Get listener at index position in bag or null if index equals to number of listeners in bag.
      static java.lang.RuntimeException initCause​(java.lang.RuntimeException ex, java.lang.Throwable cause)
      If initCause methods exists in Throwable, call ex.initCause(cause) or otherwise do nothing.
      static java.lang.Object makeHashKeyFromPair​(java.lang.Object key1, java.lang.Object key2)  
      static java.lang.String readReader​(java.io.Reader r)  
      static byte[] readStream​(java.io.InputStream is, int initialBufferCapacity)  
      static java.lang.Object removeListener​(java.lang.Object bag, java.lang.Object listener)
      Remove listener from bag of listeners.
      static int xDigitToInt​(int c, int accumulator)
      If character c is a hexadecimal digit, return accumulator * 16 plus corresponding number.
      • Methods inherited from class java.lang.Object

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

      • Kit

        public Kit()
    • Method Detail

      • classOrNull

        public static java.lang.Class<?> classOrNull​(java.lang.String className)
      • classOrNull

        public static java.lang.Class<?> classOrNull​(java.lang.ClassLoader loader,
                                                     java.lang.String className)
        Attempt to load the class of the given name. Note that the type parameter isn't checked.
      • initCause

        public static java.lang.RuntimeException initCause​(java.lang.RuntimeException ex,
                                                           java.lang.Throwable cause)
        If initCause methods exists in Throwable, call ex.initCause(cause) or otherwise do nothing.
        Returns:
        The ex argument.
      • xDigitToInt

        public static int xDigitToInt​(int c,
                                      int accumulator)
        If character c is a hexadecimal digit, return accumulator * 16 plus corresponding number. Otherise return -1.
      • addListener

        public static java.lang.Object addListener​(java.lang.Object bag,
                                                   java.lang.Object listener)
        Add listener to bag of listeners. The function does not modify bag and return a new collection containing listener and all listeners from bag. Bag without listeners always represented as the null value.

        Usage example:

             private volatile Object changeListeners;
        
             public void addMyListener(PropertyChangeListener l)
             {
                 synchronized (this) {
                     changeListeners = Kit.addListener(changeListeners, l);
                 }
             }
        
             public void removeTextListener(PropertyChangeListener l)
             {
                 synchronized (this) {
                     changeListeners = Kit.removeListener(changeListeners, l);
                 }
             }
        
             public void fireChangeEvent(Object oldValue, Object newValue)
             {
             // Get immune local copy
                 Object listeners = changeListeners;
                 if (listeners != null) {
                     PropertyChangeEvent e = new PropertyChangeEvent(
                         this, "someProperty" oldValue, newValue);
                     for (int i = 0; ; ++i) {
                         Object l = Kit.getListener(listeners, i);
                         if (l == null)
                             break;
                         ((PropertyChangeListener)l).propertyChange(e);
                     }
                 }
             }
         
        Parameters:
        listener - Listener to add to bag
        bag - Current collection of listeners.
        Returns:
        A new bag containing all listeners from bag and listener.
        See Also:
        removeListener(Object bag, Object listener), getListener(Object bag, int index)
      • removeListener

        public static java.lang.Object removeListener​(java.lang.Object bag,
                                                      java.lang.Object listener)
        Remove listener from bag of listeners. The function does not modify bag and return a new collection containing all listeners from bag except listener. If bag does not contain listener, the function returns bag.

        For usage example, see addListener(Object bag, Object listener).

        Parameters:
        listener - Listener to remove from bag
        bag - Current collection of listeners.
        Returns:
        A new bag containing all listeners from bag except listener.
        See Also:
        addListener(Object bag, Object listener), getListener(Object bag, int index)
      • makeHashKeyFromPair

        public static java.lang.Object makeHashKeyFromPair​(java.lang.Object key1,
                                                           java.lang.Object key2)
      • readReader

        public static java.lang.String readReader​(java.io.Reader r)
                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • readStream

        public static byte[] readStream​(java.io.InputStream is,
                                        int initialBufferCapacity)
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • codeBug

        public static java.lang.RuntimeException codeBug()
                                                  throws java.lang.RuntimeException
        Throws RuntimeException to indicate failed assertion. The function never returns and its return type is RuntimeException only to be able to write throw Kit.codeBug() if plain Kit.codeBug() triggers unreachable code error.
        Throws:
        java.lang.RuntimeException
      • codeBug

        public static java.lang.RuntimeException codeBug​(java.lang.String msg)
                                                  throws java.lang.RuntimeException
        Throws RuntimeException to indicate failed assertion. The function never returns and its return type is RuntimeException only to be able to write throw Kit.codeBug() if plain Kit.codeBug() triggers unreachable code error.
        Throws:
        java.lang.RuntimeException