org.erights.e.meta.org.erights.e.elib.ref
Class RefGuardSugar
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.org.erights.e.elib.ref.RefGuardSugar
- All Implemented Interfaces:
- Auditor, Guard, Marker, Persistent, Serializable, SlotGuard, ValueGuard
- public class RefGuardSugar
- extends ClassDesc
Untamed: Refines the 'coerce/2' behavior of the Ref type, so that it may be useful
as a ValueGuard (and as a SlotGuard).
The E programmer is never expected to see 'Ref' as a type, since this
wouldn't be meaningful in E. Rather, this guard behavior is supported so
that other values are coerces to NearRefs on deflection, when 'Ref' is
used as a parameter of return type in a Java interface.
- Author:
- Mark S. Miller
- See Also:
- Serialized Form
Fields inherited from class org.erights.e.elib.base.ClassDesc |
|
Fields inherited from class org.erights.e.elib.base.TypeDesc |
|
Constructor Summary |
RefGuardSugar(Class clazz)
Enabled: @param clazz must be Ref or a subtype |
Methods inherited from class org.erights.e.elib.base.ClassDesc |
asClass, byJavaRules, coerce, flatName, flatSig, get, get, isFloating, isIntegral, make, sig, sig, simpleName, simpleSig |
serialVersionUID
static final long serialVersionUID
RefGuardSugar
public RefGuardSugar(Class clazz)
- Enabled: @param clazz must be Ref or a subtype
subCoerce
public Object subCoerce(Object specimen,
OneArgFunc optEjector)
- Enabled: If specimen isn't already a Ref, wrap it in a NearRef.
- Overrides:
subCoerce
in class ClassDesc
comments?