org.erights.e.meta.java.lang
Class InterfaceGuardSugar
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.InterfaceGuardSugar
- All Implemented Interfaces:
- Auditor, Guard, Marker, Persistent, Serializable, SlotGuard, ValueGuard
- public class InterfaceGuardSugar
- extends ClassDesc
Untamed: Callable
s (eg, objects defined in the E language) coerce to
rubber-stamping (non-Marker
) interfaces by deflection.
- Author:
- Mark S. Miller
- See Also:
Deflector
,
Serialized Form
Fields inherited from class org.erights.e.elib.base.ClassDesc |
|
Fields inherited from class org.erights.e.elib.base.TypeDesc |
|
Methods inherited from class org.erights.e.elib.base.ClassDesc |
asClass, byJavaRules, flatName, flatSig, get, get, isFloating, isIntegral, make, sig, sig, simpleName, simpleSig |
serialVersionUID
static final long serialVersionUID
myIsMarker
private final boolean myIsMarker
InterfaceGuardSugar
public InterfaceGuardSugar(Class clazz)
- Enabled: @param clazz must represent an interface type
coerce
public Object coerce(Object specimen,
OneArgFunc optEjector)
- Enabled: Overridden to allow non-marker interfaces to deflect null and non-near
references.
- Specified by:
coerce
in interface ValueGuard
- Overrides:
coerce
in class ClassDesc
subCoerce
public Object subCoerce(Object specimen,
OneArgFunc optEjector)
- Enabled:
- Overrides:
subCoerce
in class ClassDesc
audit
public boolean audit(Object script)
- Enabled: If I represent a non-
Marker
interface, then I'm a rubber
stamping auditor and will approve anything.
XXX Otherwise, I currently reject everything, but this must be fixed.
- Specified by:
audit
in interface Auditor
- Overrides:
audit
in class BaseAuditor
comments?