Index - All Packages - All Categories - All Classes
Class FeWrapperSpec
Handles wrapping, certification, and filtering for a wrapper type and its subtypes (if there are any)
Package: Udanax-Gold
All Superclasses: Object Heaper
Immediate Subclasses: FeAbstractWrapperSpec FeConcreteWrapperSpec
Protocols: Object
Categories: Xanadu-wrapper
Class Methods
ABSTRACTWRAPPER: wrapperName with: superName with: className
From a dynamic initializer, register an abstract Wrapper type
DIRECTWRAPPER: wrapperName with: superName with: className
From a dynamic initializer, register an abstract Wrapper type
fetch: identifier
Get the local Wrapper spec with the given identifier, or nil if there is none
get: identifier
Get the local Wrapper spec with the given identifier, or blast if there is none
getEndorsements: identifier
Get the endorsements for the named wrapper space
getFromEndorsement: endorsement
Get the wrapper spec corresponding to the given endorsement
INDIRECTWRAPPER: wrapperName with: superName with: innerName with: className
infostProtocol
initTimeNonInherited
knownWrappers
The names of all of the known wrappers
linkTimeNonInherited
mustSetup
problemsWrapFailure
registerAbstract: wrapperName with: superName with: holder
registerDirect: wrapperName with: superName with: maker with: checker with: holder
registerIndirect: wrapperName with: superName with: innerName with: maker with: checker with: holder
setupWrapperSpecs
Get the local Wrapper spec with the given identifier, or nil if there is none
setWrapperEndorsements: endorsements
A table mapping from wrapper names to endorsements
Instance Methods
actualHashForEqual
addToFilter: endorsements
Add some more endorsements to filter for
certify: edition
Whether the Edition passes the invariants of this type so that it could be certified. Always checks the actual contents and endorses if they are acceptable.
Overridden by: FeAbstractWrapperSpec FeConcreteWrapperSpec FeDirectWrapperSpec FeIndirectWrapperSpec
create: def
Overridden by: FeAbstractWrapperSpec FeConcreteWrapperSpec FeDirectWrapperSpec FeIndirectWrapperSpec
def
endorse: edition
Endorse the Edition as being of this type. Blasts if this is an abstract type.
Should only be called from the code implementing the type, or code which it trusts. We may eventually add a system to enforce this.
Overridden by: FeAbstractWrapperSpec FeConcreteWrapperSpec
endorsements
fetchSuperSpec
The immediate supertype, or nil if this is the generic Wrapper type
fetchWrap: edition
Overridden by: FeAbstractWrapperSpec FeConcreteWrapperSpec FeDirectWrapperSpec FeIndirectWrapperSpec
filter
A filter which selects for Editions which have been endorsed as belonging to this type.
isCertified: edition
Whether an Edition is already endorsed as being of this type. Equivalent to
this->filter ()->match (edition->endorsements ())
isEqual: other
isSubSpecOf: other
Whether this is the same as or a kind of the other spec
name
The name for this type
setup
Do the required setup for this spec in the context of a table of all known specs
Overridden by: FeConcreteWrapperSpec FeIndirectWrapperSpec
wrap: edition
The Edition wrapped with my type of Wrapper. If it does not have endorsements, will attempt to certify. Blasts if there is more than one valid wrapping.
Index - All Packages - All Categories - All Classes