org.abora.gold.nlinks
Class FeHyperLink

java.lang.Object
  |
  +--org.abora.gold.java.AboraHeaper
        |
        +--org.abora.gold.xpp.basic.Heaper
              |
              +--org.abora.gold.wrapper.FeWrapper
                    |
                    +--org.abora.gold.nlinks.FeHyperLink

public class FeHyperLink
extends FeWrapper

Contains a named table of HyperRefs and a set of Works which describe the usage and/or
format of the link.


Field Summary
protected static FeWrapperSpec TheHyperLinkSpec
           
 
Fields inherited from class org.abora.gold.wrapper.FeWrapper
myEdition, myInner, mySpec, TheWrapperSpec
 
Fields inherited from class org.abora.gold.xpp.basic.Heaper
AllBlasts, BecomeMap, GarbageCount, InGC, InitializedClasses, InitializingClasses, LastMemory, NextClientRequestNumber, NotOneElementSignal, PackageTable, PromiseNameTable, StringHashSBoxes
 
Fields inherited from class org.abora.gold.java.AboraHeaper
ActiveClubs, CurrentAuthor, CurrentBertCanopyCache, CurrentBertCrum, CurrentChunk, CurrentGrandMap, CurrentKeyMaster, CurrentPacker, CurrentSensorCanopyCache, CurrentServer, CurrentSession, CurrentSessions, CurrentTrace, InitialEditClub, InitialOwner, InitialReadClub, InitialSponsor, InsideTransactionFlag
 
Constructor Summary
FeHyperLink(FeEdition edition, FeWrapperSpec spec)
           
 
Method Summary
static boolean check(FeEdition edition)
          Check that it has the right fields in the right places.
static FeHyperLink construct(FeEdition edition)
           
 FeHyperRef endAt(Sequence name)
          Get the HyperRef at the given name; blast if none there
 SequenceRegion endNames()
          The names of all of the ends of this link
static void info()
          {FeHyperRef CLIENT} endAt: name {Sequence}
{SequenceRegion CLIENT} endNames
{FeSet CLIENT of: FeWork} linkTypes
{FeHyperLink CLIENT} withEnd: name {Sequence} with: linkEnd {FeHyperRef}
{FeHyperLink CLIENT} withLinkTypes: types {FeSet of: FeWork}
{FeHyperLink CLIENT} withoutEnd: name {Sequence}
static void initTimeNonInherited()
           
static Filter linkFilter(IDRegion types)
          A Filter for links of the specified types
static void linkTimeNonInherited()
           
 FeSet linkTypes()
          The various type documents describing this kind of Link.
static Heaper make(FeSet types, FeHyperRef leftEnd, FeHyperRef rightEnd)
          Make a standard two-ended link
static FeWrapper makeWrapper(FeEdition edition)
          Just create a new wrapper
static void setSpec(FeWrapperSpec wrap)
           
static FeWrapperSpec spec()
           
 FeHyperLink withEnd(Sequence name, FeHyperRef linkEnd)
          Change/add a Link end
 FeHyperLink withLinkTypes(FeSet types)
          Replace the set of type documents describing this kind of Link
 FeHyperLink withoutEnd(Sequence name)
          Remove a Link end
 
Methods inherited from class org.abora.gold.wrapper.FeWrapper
actualHashForEqual, checkDomainHas, checkDomainIn, checkSubEdition, checkSubEditions, checkSubSequence, checkSubSetEdition, checkSubWork, edition, inner, isEqual, isWrapperOf
 
Methods inherited from class org.abora.gold.xpp.basic.Heaper
abstractDeclarationFor, abstractTypeFor, addMethodAttributeToInOf, addPackage, addPackageCategory, allClientProtocolOn, argumentTypesFor, arrow, blast, blast, BLAST, cachePromiseNameTable, cachePromiseNameTableIn, canYouBecome, cast, cleanPromiseClasses, cleanupGarbage, clientClassesDo, clientFunctionsOn, clientMethodsOn, clientProtocol, clientProtocolDo, clientProtocolOn, clientProtocolOn, collectibleClasses, compare, compileClientSubclasses, compileConstantPromiseMethods, compileCreateFromRcvr, compileEQ, compileGeneratedClassMethod, compileGeneratedMethod, compileHook, compilePromise, compilePromiseDefaultMethods, compilePromiseFluidDeclarations, compilePromiseHandlers, compilePromiseMethods, compileRequestCreateMsgInArguments, compileRequestEvaluateMsgInReturningArguments, compileRPCSpecialistEvaluateMsgForReturningArguments, compileSendSelfTo, compileSendSelfToSendHook, compileStubbleMethods, compileSubclassStubbleMethods, computeMangle, computePreorder, constantTypeValue, convert, convertCopyDeclarations, convertDeferredDeclarations, convertProxyDeclarations, convertSubclassCopyDeclarations, convertSubclassDeferredDeclarations, convertSubclassProxyDeclarations, copyReferencesToType, create, create, create, create, create, create, create, create, create, create, createRequestClassArguments, definesProxyMethods, delete, deref, destroy, destruct, destructor, enum, enumFlags, equals, exportName, fetchAttribute, fetchPackage, fetchSuperCategory, fileOutClientProtocol, findCategory, findSenderAndReceiverMethods, findTailInto, flushPromiseNameTable, foo, freezeClientClasses, freezeClientProtocol, freezeStProtocol, frozenClasses, garbageCollect, garbageCollectFrom, gcOpportunity, gcOpportunity, generatedCategory, generatePromiseNames, getCategory, getOrMakePackage, getSuperCategory, handlerSignaturesFrom, hash, hashForEqual, hasProxyMethods, info_clientClasses, info_clientSideClasses, info_promiseClasses, info_stProtocol, inGC, initializedClasses, initializingClasses, initPackages, initStringHashSBoxes, inspectPieces, instanceSize, IntegerVar, isByProxy, isConstructed, isDestructed, isEqual, isEqualOrSubclassOf, isGenerated, isIntType, isKindOf, isRawType, isUnlocked, make, makeClassTable, makeFillTable, makeRequestTable, mangle, markChildren, markCount, markInstances, mayBecome, mayBecomeAnySubclassOf, new1, newX, nonCopyVariables, notWorking, pack, packageClasses, packagingCategory, parseExportName, passe, pointerToStaticMember, pointerToStaticMember, pointerToVirtualMember, preorderMax, preorderNumber, printOn, PROBLEM, problems, promiseClass, promiseDefaultValue, promiseName, promiseNameTable, promiseToAbstract, registerPackageCategory, removeGeneratedCode, removeStubbleMethods, removeSubclassGeneratedCode, removeSubclassStubbleMethods, requestProcedure, requestProceduresFrom, returnTypeFor, rootName, scheduleTermination, sendProxyTo, sendSelfTo, serverNameFor, setGC, signal, signals, smalltalkSelector, stClientProtocol, stubbleSelectorTokenReturnsArguments, subclassNonCopyVariables, takeOop, togglePromiseName, togglePromiseOfParse, unimplemented, unmangle, verifyFreeze, wipeStubble
 
Methods inherited from class org.abora.gold.java.AboraHeaper
asOop, basicInspect, displayString, error, hack, halt, inspect, knownBug, mightNotImplement, REQUIRES, shouldImplement, shouldNotImplement, stubbleForSubclassResponsibility, thingToDo, willNotImplement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TheHyperLinkSpec

protected static FeWrapperSpec TheHyperLinkSpec
Constructor Detail

FeHyperLink

public FeHyperLink(FeEdition edition,
                   FeWrapperSpec spec)
Method Detail

endAt

public FeHyperRef endAt(Sequence name)
Get the HyperRef at the given name; blast if none there


endNames

public SequenceRegion endNames()
The names of all of the ends of this link


linkTypes

public FeSet linkTypes()
The various type documents describing this kind of Link. These documents are typically
Editions with descriptions at each linkEnd key describing what is at that Link End.
The reason for having several is to allow type hierarchies to be constructed and searched
for, by including all super types of a link in its link type list.
The Link should be endorsed with all the IDs of all the types.
What if someone endorses it further (or unendorses it?)


withEnd

public FeHyperLink withEnd(Sequence name,
                           FeHyperRef linkEnd)
Change/add a Link end


withLinkTypes

public FeHyperLink withLinkTypes(FeSet types)
Replace the set of type documents describing this kind of Link


withoutEnd

public FeHyperLink withoutEnd(Sequence name)
Remove a Link end


check

public static boolean check(FeEdition edition)
Check that it has the right fields in the right places. Ignore other contents.


construct

public static FeHyperLink construct(FeEdition edition)

makeWrapper

public static FeWrapper makeWrapper(FeEdition edition)
Just create a new wrapper


setSpec

public static void setSpec(FeWrapperSpec wrap)

linkFilter

public static Filter linkFilter(IDRegion types)
A Filter for links of the specified types


make

public static Heaper make(FeSet types,
                          FeHyperRef leftEnd,
                          FeHyperRef rightEnd)
Make a standard two-ended link


spec

public static FeWrapperSpec spec()

initTimeNonInherited

public static void initTimeNonInherited()

linkTimeNonInherited

public static void linkTimeNonInherited()

info

public static void info()
{FeHyperRef CLIENT} endAt: name {Sequence}
{SequenceRegion CLIENT} endNames
{FeSet CLIENT of: FeWork} linkTypes
{FeHyperLink CLIENT} withEnd: name {Sequence} with: linkEnd {FeHyperRef}
{FeHyperLink CLIENT} withLinkTypes: types {FeSet of: FeWork}
{FeHyperLink CLIENT} withoutEnd: name {Sequence}



Translation - Copyright © 2003 David G Jones. All Rights Reserved.
Original Udanax-Gold - Copyright © 1979-1999 Udanax.com. All rights reserved.