Working with GemStone features
To allow newer GT versions to work with older gt4gemstone versions, gt4gemstone comes with support for defining features on the GemStone side. These features are used by local tools to enable/disable certaint behaviour.
Features are instances of GtGemStoneSessionFeature
and are created on the class side of GtGemStoneSessionFeatures
by methods annotated with gtGemStoneFeature
. An example feature is defined by GtGemStoneSessionFeatures>>#exampleFeatureV1
.
The list of features for a session is stored in the current SessionTemps
instance.
In the GT image the list of GemStone features can be accessed using the Features
view of a session.
GtGemStoneSessionRegistry defaultSession
GtGemStoneSessionFeatures currentFeatures
GtGemStoneSessionFeatures currentFeatures disableFeatureWithId: #exampleFeatureV1
GtGemStoneSessionFeatures currentFeatures enableFeatureWithId: #exampleFeatureV1
GtGemStoneSessionRegistry defaultSession currentFeatures
GtGemStoneSessionRegistry defaultSession currentFeatures isFeatureEnabledWithId: #exampleFeatureV1
GtGemStoneSessionRegistry defaultSession currentFeatures disableFeatureWithId: #exampleFeatureV1
GtGemStoneSessionRegistry defaultSession currentFeatures enableFeatureWithId: #exampleFeatureV1