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