Package rife.tools

Class InputStreamUser<ResultType,DataType>

java.lang.Object
rife.tools.InputStreamUser<ResultType,DataType>
All Implemented Interfaces:
Cloneable

public abstract class InputStreamUser<ResultType,DataType> extends Object implements Cloneable
By extending this class it's possible to provide the logic that should be executed by methods that allow interaction with an InputStream.

This class has both a default constructor and one that can take a data object. This can be handy when using it as an extending anonymous inner class when you need to use variables inside the inner class that are cumbersome to change to final in the enclosing class.

Since:
1.0
  • Field Details

  • Constructor Details

    • InputStreamUser

      public InputStreamUser()
    • InputStreamUser

      public InputStreamUser(DataType data)
  • Method Details

    • getData

      public DataType getData()
    • throwException

      public void throwException(Exception exception) throws InnerClassException
      Calling this method makes it possible to throw a checked exception from within this class.

      To catch it you should surround the using method with a try-catch block that catching InnerClassException. The original exception is then available through getCause() and can for example be rethrown.

      Throws:
      InnerClassException - when a checked exception needs to be thrown from within this class and caught outside the caller.
      Since:
      1.0
    • useInputStream

      public abstract ResultType useInputStream(InputStream stream) throws InnerClassException
      Should be implemented by all extending classes.
      Throws:
      InnerClassException
      Since:
      1.0
    • clone

      public Object clone()
      Simply clones the instance with the default clone method since this class contains no member variables.
      Overrides:
      clone in class Object
      Since:
      1.0