public static void initTimeNonInherited() { FeWrapperSpec.ABSTRACTWRAPPER("Wrapper", null, FE_WRAPPER); /* udanax-top.st:23588:FeWrapper class methodsFor: 'smalltalk: initialization'! initTimeNonInherited FeWrapperSpec ABSTRACTWRAPPER: 'Wrapper' with: NULL with: #FeWrapper! */ }
/** Essential. Return TRUE if this is wrapped as the given spec, or any one of its subtypes */ public boolean isWrapperOf(FeWrapperSpec spec) { return mySpec.isSubSpecOf(spec); /* udanax-top.st:23554:FeWrapper methodsFor: 'accessing'! {BooleanVar} isWrapperOf: spec {FeWrapperSpec} "Essential. Return TRUE if this is wrapped as the given spec, or any one of its subtypes" ^mySpec isSubSpecOf: spec! */ }
/** * If there is a SubEdition at a key in an edition, and if a spec is supplied, that it can be * certified as the given type */ public static boolean checkSubEdition( FeEdition parent, Position key, FeWrapperSpec spec, boolean required) { FeRangeElement value; value = parent.fetch(key); if (value == null) { return !required; } return (value instanceof FeEdition) && (spec == null || (spec.certify(((FeEdition) value)))); /* udanax-top.st:23624:FeWrapper class methodsFor: 'protected: checking'! {BooleanVar} checkSubEdition: parent {FeEdition} with: key {Position} with: spec {FeWrapperSpec | NULL} with: required {BooleanVar} "If there is a SubEdition at a key in an edition, and if a spec is supplied, that it can be certified as the given type" | value {FeRangeElement} | value := parent fetch: key. value == NULL ifTrue: [^required not]. ^(value isKindOf: FeEdition) and: [spec == NULL or: [spec certify: (value cast: FeEdition)]]! */ }