Metacello-Core

MetacelloAbstractPackageSpec
A MetacelloAbstractPackageSpec is xxxxxxxxx.
Instance Variables
answers: <Object>
includes: <Object>
name: <Object>
requires: <Object>
answers
- xxxxx
includes
- xxxxx
name
- xxxxx
requires
- xxxxx
addToMetacelloPackages:
answers
answers:
atomicLoadUsing:into:gofer:repositories:
compareVersionForLoad:using:
configMethodBodyOn:hasName:cascading:indent:
configMethodCascadeOn:member:last:indent:
file
MetacelloPackageSpec compatibility
includes
includes:
includesForPackageOrdering
isCurrentUsing:
loadUsing:gofer:repositories:
mergeIntoMetacelloPackages:
mergeMap
mergeSpec:
name
Answer a name for the receiver. This is used generically in the title of certain inspectors, such as the referred-to inspector, and specificially by various subsystems. By default, we let the object just print itself out..
name:
nonOverridable
packageRepository
packagesNeedSavingVisited:using:into:
noop by default
postCopy
self is a shallow copy, subclasses should copy fields as necessary to complete the full copy
projectDo:packageDo:groupDo:
referencedSpec
removeFromMetacelloPackages:
repository
repositorySpecs
requires
requires:
resolveToAllPackagesIn:into:visited:
resolveToAllPackagesIn:visited:
resolveToLoadableSpec
resolveToPackagesIn:visited:
setAnswers:
setIncludes:
setRequires:
updateForSpawnMethod:
updatePackageRepositoriesFor:
noop by default
updatePackageSpec:using:
Add pkg copy to updatedSpecs if the file in current image is different from the receiver's file
version
MetacelloPackageSpec compatibility
visitingWithPackages:
noop
MetacelloAddMemberSpec
A MetacelloAddMemberSpec is xxxxxxxxx.
Instance Variables
applyAdd:copy:merge:remove:
applyToList:
methodUpdateSelector
MetacelloCopyMemberSpec
A MetacelloCopyMemberSpec is xxxxxxxxx.
Instance Variables
sourceName: <Object>
sourceName
- xxxxx
applyAdd:copy:merge:remove:
applyToList:
methodUpdateSelector
sourceName
sourceName:
MetacelloGroupSpec
A MetacelloGroupSpec is xxxxxxxxx.
Instance Variables
answers:
atomicLoadUsing:into:gofer:repositories:
noop
configMethodCascadeOn:member:last:indent:
configMethodOn:indent:
isCurrentUsing:
loadUsing:gofer:repositories:
noop
projectDo:packageDo:groupDo:
requires:
resolveToPackagesIn:into:visited:
resolveToPackagesIn:visited:
MetacelloMemberListSpec
A MetacelloMemberListSpec is xxxxxxxxx.
Instance Variables
list: <Object>
list
- xxxxx
add:
addMember:
copy:
copy:to:
do:
isEmpty
list
list:
map
mapAdd:into:
mapCopy:into:
mapMerge:into:
mapRemove:into:
merge:
mergeSpec:
postCopy
self is a shallow copy, subclasses should copy fields as necessary to complete the full copy
remove:
MetacelloMemberSpec
A MetacelloMemberSpec is xxxxxxxxx.
Instance Variables
name: <Object>
spec: <Object>
name
- xxxxx
spec
- xxxxx
addToMetacelloPackages:
addToMetacelloRepositories:
applyAdd:copy:merge:remove:
applyToList:
configMethodCascadeOn:last:indent:
configMethodOn:indent:
mergeIntoMetacelloPackages:
mergeIntoMetacelloRepositories:
methodUpdateSelector
name
Answer a name for the receiver. This is used generically in the title of certain inspectors, such as the referred-to inspector, and specificially by various subsystems. By default, we let the object just print itself out..
name:
removeFromMetacelloPackages:
removeFromMetacelloRepositories:
sourceName
spec
spec:
MetacelloMergeMemberSpec
A MetacelloMergeMemberSpec is xxxxxxxxx.
Instance Variables
applyAdd:copy:merge:remove:
applyToList:
methodUpdateSelector
MetacelloPackagesSpec
A MetacelloPackagesSpec is xxxxxxxxx.
Instance Variables
add:
applyIncludesTo:for:
configMethodOn:indent:
copy:to:
merge:
packageNamed:ifAbsent:
packageSpecsInLoadOrder
specification order is the default order
remove:
slideIn:spec:baseIndex:seen:
sortPackageSpecs:for:
MetacelloPlatform
A MetacelloPlatform is xxxxxxxxx.
Instance Variables
authorName
cacheCurrentVersionFor:as:
default is no caching
cacheFindCurrentVersionFor:as:
default is no caching
cacheRepositoryFileNamesDuring:using:
cachedCurrentVersionFor:ifAbsent:
default is no caching
cachedFindCurrentVersionFor:ifAbsent:
default is no caching
clearCurrentVersionCache
default is no caching
confirm:
Put up a yes/no menu with caption queryString. Answer true if the
response is yes, false if no. This is a modal question--the user must
respond yes or no.
createRepository:
current
defaultPlatformAttributes
do:displaying:
extractTypeFromDescription:
initialize
Subclasses should redefine this method to perform initializations on instance creation
timestamp
transact:
On GemStone, we want to optionally abort before command execution and commit after
common execution. Other plaforms don't need to do anything special.
Returning out of block, skips commit.
MetacelloProject
A MetacelloProject is xxxxxxxxx.
Instance Variables
configuration: <Object>
loadType: <Object>
loader: <Object>
loaderClass: <Object>
projectAttributes: <Object>
versionMap: <Object>
configuration
- xxxxx
loadType
- xxxxx
loader
- xxxxx
loaderClass
- xxxxx
projectAttributes
- xxxxx
versionMap
- xxxxx
attributes
configuration
configuration:
currentVersion
currentVersionComparison:to:covering:
defaultBlessing
defaultLoaderClass
defaultPlatformAttributes
excludeFromLatestVersion
findCurrentVersion
traverse in reverse order - find the latest version that is current
groupSpec
groupSpecClass
label
lastVersion
latestVersion
latestVersion:
latestVersionMatching:
Answer whether the version number of the receiver matches the given pattern string.
A Metacello version number is made up of version sequences delimited by the characters $. and $-.
The $. introduces a numeric version sequence and $- introduces an alphanumeric version sequence.

A version pattern is made up of version pattern match sequences. also delimited by the characters $.
and $-.. Each pattern match sequence is tested against the corresponding version sequence of the
receiver, using the 'standard' pattern matching rules. All sequences must answer true for a match.

The special pattern sequence '?' is a match for the corresponding version sequence and all subsequent
version sequences. '?' as the version pattern matches all versions. No more version pattern
sequences are permitted once the '?' sequence is used. If used, it is the last version pattern
sequence.
latestVersionMatching:excludedBlessings:
latestVersionMatching:includedBlessings:
latestVersionMatching:includedBlessings:excludedBlessings:
load:
loadType
#atomic or #linear
loadType:
#atomic or #linear
loader
loader:
loaderClass
loaderClass:
map
map:
new
on:
packagesSpec
packagesSpecClass
partialVersionComparison:to:covering:
platformAttributes
pragmaKeywords
printOn:
Append to the argument, aStream, a sequence of characters that
identifies the receiver.
project
projectAttributes
projectAttributes:
projectPlatformAttributes
projectReferenceSpec
projectReferenceSpecClass
projectSpec
projectSpecClass
valueHolderSpec
valueHolderSpecClass
version:
version:ifAbsent:
versionSpec
versionSpecClass
versions
MetacelloProjectReferenceSpec
A MetacelloProjectReferenceSpec is xxxxxxxxx.
Instance Variables
projectReference: <Object>
projectReference
- xxxxx
answers:
atomicLoadUsing:into:gofer:repositories:
compareVersionForLoad:using:
configMethodCascadeOn:member:last:indent:
configMethodOn:indent:
includes:
isCurrentUsing:
isPartiallyCurrentUsing:
isPossibleBaseline
loadUsing:gofer:repositories:
loadUsing:repositories:
mergeMap
mergeSpec:
nonOverridable
packagesNeedSavingVisited:using:into:
noop by default
projectDo:packageDo:groupDo:
projectName
projectReference
projectReference:
referencedSpec
requires:
resolveProjectSpec
resolveToAllPackagesIn:into:visited:
resolveToLoadableSpec
resolveToPackagesIn:visited:
updateForSpawnMethod:
updatePackageSpec:using:
Add project copy to updatedSpecs if the current version of the project
is different from the receiver's version
version
MetacelloPackageSpec compatibility
versionString
MetacelloProjectSpec
A MetacelloProjectSpec is xxxxxxxxx.
Instance Variables
className: <Object>
loads: <Object>
name: <Object>
operator: <Object>
versionString: <Object>
className
- xxxxx
loads
- xxxxx
name
- xxxxx
operator
- xxxxx
versionString
- xxxxx
addToMetacelloPackages:
className
Answer a string characterizing the receiver's class, for use in list views for example
className:
configMethodBodyOn:indent:
configMethodOn:indent:
configShortCutMethodOn:member:indent:
load
loads
loads:
mergeMap
name
Answer a name for the receiver. This is used generically in the title of certain inspectors, such as the referred-to inspector, and specificially by various subsystems. By default, we let the object just print itself out..
name:
operator
operator:
#= #~= #> #< #>= #<= #~>
projectPackage
setLoads:
versionString
versionString:
MetacelloRemoveMemberSpec
A MetacelloRemoveMemberSpec is xxxxxxxxx.
Instance Variables
applyAdd:copy:merge:remove:
applyToList:
methodUpdateSelector
MetacelloSpec
A MetacelloSpec is xxxxxxxxx.
Instance Variables
loader: <Object>
project: <Object>
loader
- xxxxx
project
- xxxxx
addMember
configMethodOn:
configMethodOn:indent:
copyMember
doItBlock:
for:
loader
loader:
We're interested in propogating the loader state, _except_ for the spec
mergeMap
mergeMember
mergeSpec:
nonOverridable
platformClass
postCopy
self is a shallow copy, subclasses should copy fields as necessary to complete the full copy
postLoadDoIt
noop unless non-nil value returned
postLoadDoItBlock
preLoadDoIt
noop unless non-nil value returned
preLoadDoItBlock
printOn:
Append to the argument, aStream, a sequence of characters that
identifies the receiver.
project
removeMember
MetacelloSpecLoader
A MetacelloSpecLoader is xxxxxxxxx.
Instance Variables
spec: <Object>
spec
- xxxxx
load
loadType
#atomic or #linear
on:
project
spec
spec:
unload
MetacelloValueHolderSpec
A MetacelloValueHolderSpec is xxxxxxxxx.
Instance Variables
value: <Object>
value
- xxxxx
configMethodOn:indent:
mergeMap
setAuthorInMetacelloVersion:
setBlessingInMetacelloVersion:
setDescriptionInMetacelloVersion:
setTimestampInMetacelloVersion:
value
value:
MetacelloVersion
A MetacelloVersion is xxxxxxxxx.
Instance Variables
importedVersions: <Object>
spec: <Object>
versionNumber: <Object>
importedVersions
- xxxxx
spec
- xxxxx
versionNumber
- xxxxx
<
Answer whether the receiver is less than the argument.
=
Compare the receiver with the argument and answer with true if the
receiver is equal to the argument. Otherwise answer false.
author
blessing
currentVersionComparison:covering:
description
fromSpec:
fromString:
hash
Hash must be redefined whenever = is redefined.
importedVersions
importedVersions:
isCurrent
isCurrent:
- all packages must be loaded with up-to-date version,
isPartiallyCurrent:
- at least one package must be loaded with up-to-date version
isPossibleBaseline
- all of the packages must have non-nil working copies (all packages loaded with some version)
isPartiallyCurrent:useEquality:
isCurrent:
- all packages must be loaded with up-to-date version,
isPartiallyCurrent:
- at least one package must be loaded with up-to-date version
isPossibleBaseline
- all of the packages must have non-nil working copies (all packages loaded with some version)
isPossibleBaseline
isCurrent:
- all packages must be loaded with up-to-date version,
isPartiallyCurrent:
- at least one package must be loaded with up-to-date version
isPossibleBaseline
- all of the packages must have non-nil working copies (all packages loaded with some version)
label
load
load:
printOn:
Append to the argument, aStream, a sequence of characters that
identifies the receiver.
project
spec
spec:
timestamp
unload
versionNumber
versionNumber:
versionSpec
versionString
~>
MetacelloVersionConstructor
A MetacelloVersionConstructor is xxxxxxxxx.
Instance Variables
attributeMap: <Object>
attributeOrder: <Object>
configuration: <Object>
project: <Object>
root: <Object>
attributeMap
- xxxxx
attributeOrder
- xxxxx
configuration
- xxxxx
project
- xxxxx
root
- xxxxx
attributeMap
attributeOrder
author:
blessing:
className:
collectAllVersionsFromVersionImportPragmasInto:using:satisfiedPragmas:
collectAllVersionsFromVersionPragmasInto:using:
configuration
configuration:
description:
extractAllPragmas
extractPragmas:into:
extractVersionImportPragmas
extractVersionPragmas
file:
for:do:
group:overrides:
group:with:
includes:
loads:
name:
on:
on:project:
operator:
package:
package:overrides:
package:with:
postLoadDoIt:
preLoadDoIt:
prepareForMethodUpdate:sourceVersion:generating:
project
project:
project:copyFrom:with:
project:overrides:
project:with:
projectPackage:
removeGroup:
removePackage:
removeProject:
repositories:
repository:
repository:username:password:
requires:
reset
root
root:
setAuthorWithBlock:
setAuthorWithString:
setBlessingWithBlock:
setBlessingWithString:
setDescriptionWithBlock:
setDescriptionWithString:
setPackage:withBlock:
setPackage:withString:
setProject:withBlock:
setProject:withString:
setTimestampWithBlock:
setTimestampWithString:
spawnPackageMethodIn:named:sourceVersion:targetVersion:
spawnPackageMethodIn:named:sourceVersion:targetVersion:blessing:
specResolverBlock
supplyingAnswers:
timestamp:
updatePackageMethodIn:sourceVersion:
validateDoItSelector:
value:
version:
versionImportPragmasVerifiedDefinedIn:
versionString:
with:during:
MetacelloVersionNumber
A MetacelloVersionNumber is xxxxxxxxx.
Instance Variables
<
Answer whether the receiver is less than the argument.
=
Compare the receiver with the argument and answer with true if the
receiver is equal to the argument. Otherwise answer false.
approximateBase
asMetacelloVersionNumber
copyFrom:to:
Answer a copy of a subset of the receiver, starting from element at
index start until element at index stop.
do:
Refer to the comment in Collection|do:.
do:separatedBy:
Evaluate the elementBlock for all elements in the receiver,
and evaluate the separatorBlock between.
extractNumericComponent:
fromString:
hash
Returns a numeric hash key for the receiver.
incrementMinorVersionNumber
match:
Answer whether the version number of the receiver matches the given pattern string.
A Metacello version number is made up of version sequences delimited by the characters $. and $-.
The $. introduces a numeric version sequence and $- introduces an alphanumeric version sequence.

A version pattern is made up of version pattern match sequences. also delimited by the characters $.
and $-.. Each pattern match sequence is tested against the corresponding version sequence of the
receiver, using the 'standard' pattern matching rules. All sequences must answer true for a match.

The special pattern sequence '?' is a match for the corresponding version sequence and all subsequent
version sequences. '?' as the version pattern matches all versions. No more version pattern
sequences are permitted once the '?' sequence is used. If used, it is the last version pattern
sequence.
printOn:
Append to the argument, aStream, a sequence of characters that
identifies the receiver.
versionString
~>
MetacelloVersionSpec
A MetacelloVersionSpec is xxxxxxxxx.
Instance Variables
author: <Object>
blessing: <Object>
description: <Object>
postLoadDoIt: <Object>
preLoadDoIt: <Object>
timestamp: <Object>
versionString: <Object>
author
- xxxxx
blessing
- xxxxx
description
- xxxxx
postLoadDoIt
- xxxxx
preLoadDoIt
- xxxxx
timestamp
- xxxxx
versionString
- xxxxx
author
author:
blessing
blessing:
configMethodOn:for:selector:indent:
configMethodOn:indent:
configMethodValueOn:for:selector:indent:
configSpawnMethodOn:indent:
createVersion
description
description:
getAuthor
getBlessing
getDescription
getPostLoadDoIt
getPreLoadDoIt
getTimestamp
isCurrent
isPartiallyCurrent:useEquality:
isPossibleBaseline
label
mergeMap
postCopy
self is a shallow copy, subclasses should copy fields as necessary to complete the full copy
postLoadDoIt
noop unless non-nil value returned
postLoadDoIt:
preLoadDoIt
noop unless non-nil value returned
preLoadDoIt:
setAuthor:
setBlessing:
setDescription:
setTimestamp:
timestamp
timestamp:
versionClass
versionString
versionString: