org.erights.e.elib.serial
Class BaseLoader

java.lang.Object
  |
  +--org.erights.e.elib.serial.BaseLoader
All Implemented Interfaces:
Loader, Uncaller
Direct Known Subclasses:
FileGetter, ImportLoader, Introducer, PackageLoader, ReadOnlyFile, ResourceUriGetter, TypeLoader, UnsafeLoader, URLGetter

public abstract class BaseLoader
extends Object
implements Loader

Untamed:

Author:
Mark S. Miller

Constructor Summary
BaseLoader()
          Enabled:
 
Method Summary
static Object[] getOptWrappingUncall(Object self, Uncaller wrapped, String prefix, Object obj)
          Enabled: A convenience method for an implementing a wrapping Uncaller as an authority-diminishing facet on a more powerful underlying wrapped Uncaller.
 String optUnget(Object child)
          Enabled: Even though it would seem more natural to implement optUncall out of optUnget, it should actually go the other way for reasons explained here.
static Object[] ungetToUncall(Object self, String ungetPath)
          Enabled:
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.erights.e.elib.serial.Loader
get
 
Methods inherited from interface org.erights.e.elib.serial.Uncaller
optUncall
 

Constructor Detail

BaseLoader

public BaseLoader()
Enabled:

Method Detail

ungetToUncall

public static Object[] ungetToUncall(Object self,
                                     String ungetPath)
Enabled:

Parameters:
self -
ungetPath -
Returns:

getOptWrappingUncall

public static Object[] getOptWrappingUncall(Object self,
                                            Uncaller wrapped,
                                            String prefix,
                                            Object obj)
Enabled: A convenience method for an implementing a wrapping Uncaller as an authority-diminishing facet on a more powerful underlying wrapped Uncaller.

Iff wrapped returns according to the expected pattern

    [wrapped, "get", [`$prefix@shortName`]]
does this method then return instead
    [wrapper, "get", [shortName]]
Otherwise, it returns null.

See Uncaller.optUncall(java.lang.Object) for the security constraint that would typically cause one to use this method.

Parameters:
self - The authority-diminishing facet we're going to portray the answer in terms of.
wrapped - The powerful Uncaller we're going to consult.
prefix - Must include the separator at the end, such as the terminal "." or "/".
obj - The object being portrayed.
Returns:
Either null, or a portrayal-triple that reveals no more authority than that already held by someone who holds both wrapper and obj.

optUnget

public String optUnget(Object child)
Enabled: Even though it would seem more natural to implement optUncall out of optUnget, it should actually go the other way for reasons explained here.

Specified by:
optUnget in interface Loader
Parameters:
child -
Returns:


comments?