org.erights.e.meta.java.lang
Class ThrowableGuardSugar

java.lang.Object
  |
  +--org.erights.e.elib.slot.BaseGuard
        |
        +--org.erights.e.elib.slot.BaseAuditor
              |
              +--org.erights.e.elib.base.TypeDesc
                    |
                    +--org.erights.e.elib.base.ClassDesc
                          |
                          +--org.erights.e.meta.java.lang.ThrowableGuardSugar
All Implemented Interfaces:
Auditor, Guard, Marker, Persistent, Serializable, SlotGuard, ValueGuard

public class ThrowableGuardSugar
extends ClassDesc

Untamed: Coerces Strings, Twine, and Throwables to kinds of Throwbles.

Strings and Twine coerce to RuntimeException or Twine, and thereby also to Exception and Throwable. Throwables coerce to RuntimeException.

Author:
Mark S. Miller
See Also:
Serialized Form

Field Summary
(package private) static long serialVersionUID
           
 
Fields inherited from class org.erights.e.elib.base.ClassDesc
 
Fields inherited from class org.erights.e.elib.base.TypeDesc
 
Fields inherited from class org.erights.e.elib.slot.BaseGuard
myOptValueGuard
 
Fields inherited from interface org.erights.e.elib.serial.Persistent
HONORARY, HONORED_NAMES
 
Constructor Summary
ThrowableGuardSugar(Class clazz)
          Enabled: @param clazz must be a type of Throwable
 
Method Summary
 Object subCoerce(Object specimen, OneArgFunc optEjector)
          Enabled: This method can (and typically will) return a RuntimeException, independent of myClass, so, if myClass isn't RuntimeException, Exception, or Throwable, the result will often not represent a successful coercion.
 
Methods inherited from class org.erights.e.elib.base.ClassDesc
asClass, byJavaRules, coerce, flatName, flatSig, get, get, isFloating, isIntegral, make, sig, sig, simpleName, simpleSig
 
Methods inherited from class org.erights.e.elib.base.TypeDesc
getAuditors, getDocComment, getFQName, getMessageTypes, getName, prettyPrintOn, show, toString
 
Methods inherited from class org.erights.e.elib.slot.BaseAuditor
audit
 
Methods inherited from class org.erights.e.elib.slot.BaseGuard
__printOn, accepts, and, butNot, coerce, makeSlot, makeSlot, not, or, xor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID
Constructor Detail

ThrowableGuardSugar

public ThrowableGuardSugar(Class clazz)
Enabled: @param clazz must be a type of Throwable

Method Detail

subCoerce

public Object subCoerce(Object specimen,
                        OneArgFunc optEjector)
Enabled: This method can (and typically will) return a RuntimeException, independent of myClass, so, if myClass isn't RuntimeException, Exception, or Throwable, the result will often not represent a successful coercion. We let 'coerce' sort this out.

Overrides:
subCoerce in class ClassDesc


comments?