| Home | Trees | Index | Help |
|
|---|
| Package Modeling :: Package interfaces :: Module Adaptor :: Class IAdaptor |
|
Base --+
|
IAdaptor
Implemented in base class:
assignExternalInfoForEntireModel
connectionDictionary
contexts
delegate
hasOpenChannels
name
setDelegate
setExpressionClassForAdaptor
Implemented, can be overriden (better not, if possible)
setConnectionDictionary
Should be overriden:
assertConnectionDictionaryIsValid
assignExternalInfoForAttribute
assignExternalInfoForEntity
createAdaptorContext
defaultExpressionClass
externalTypesWithModel
internalTypeForExternalType
fetchedValueForDataValue
fetchedValueForDateValue
fetchedValueForNumberValue
fetchedValueForStringValue
fetchedValueForValue
isValidQualifierType
schemaGenerationFactory
Additionnally the class defines the following static methods, none of which
should be overriden by subclasses:
- adaptorWithModel
- adaptorWithName
- defaultDelegate
- expressionClassForAdaptor
- setDefaultDelegate
- setExpressionClassForAdaptor
Methods 'abstract'==no default implementation, concrete subclasses should
override them
| Method Summary | |
|---|---|
__TBD... | |
administrativeConnectionDictionaryForAdaptor(self,
anAdaptor)
| |
assertConnectionDictionaryIsValid(self)
| |
assignExternalInfoForAttribute(self,
anAttribute)
| |
assignExternalInfoForEntireModel(self,
aModel)
| |
assignExternalInfoForEntity(self,
anEntity)
| |
assignExternalTypeForAttribute(self,
anAttribute)
| |
Compares 'aModel' 's connectionDictionary with self's and returns the result | |
Returns the connectionDictionary | |
Returns all AdaptorContexts created and registered with this Adaptor See: createAdaptorContext() | |
Instanciates a new AdaptorContext, registers it in the list of contexts() then returns it. | |
Connects to the database with the supplied connection dictionary and creates the database specified by the Adaptor's connectionDictionary() | |
Returns the default expression class to be used along with this adaptor. | |
Returns the delegate for that Adaptor ; when initialized the delegate is the one returned by defaultDelegate() | |
Adaptor's implementation does nothing | |
Returns the expression class to be used with the Adaptor. | |
expressionFactory(self)
| |
externalTypesWithModel(self,
aModel)
| |
Adaptor's implementation returns 'value' without any modification | |
Adaptor's implementation returns 'value' without any modification | |
Adaptor's implementation returns 'value', possibly modified if 'anAttribute' corresponds to a SQL 'NUMERIC' field with a scale lower than the number of digits in the fractional part. | |
Adaptor's implementation returns 'value' without modification | |
This method examine 'anAttribute' and, according to its externalType, forwards the message to one of the methods fetchedValueForDataValue(), fetchedValueForDateValue(), fetchedValueForNumberValue() or fetchedValueForStringValue(). | |
handleDroppedConnection(self)
| |
Forwards the messages to all contexts() and returns 1 (true value) if at least one of these returned a true value, return 0 (false value) otherwise. | |
internalTypeForExternalType(self,
extType,
aModel)
| |
isDroppedConnectionException(self,
exception)
| |
isValidQualifierType(self,
typeName,
aModel)
| |
Returns the name that was used when the concrete Adaptor was instanciated. | |
prototypeAttributes(self)
| |
Returns the appropriate SchemaGeneration object for the Adaptor. | |
Sets the connectionDictionary. | |
Sets the delegate | |
| Method Details |
|---|
__init__(self,
name)
|
canServiceModel(self, aModel)Compares 'aModel' 's connectionDictionary with self's and returns the result |
connectionDictionary(self)Returns the connectionDictionary |
contexts(self)Returns all AdaptorContexts created and registered with this Adaptor See: createAdaptorContext() |
createAdaptorContext(self)Instanciates a new AdaptorContext, registers it in the list of contexts() then returns it. abstract Subclasses should override this method to add the appropriate AdaptorContext to the private attribute 'self._contexts' and return it, without calling this method. |
createDatabaseWithAdministrativeConnectionDictionary(self, administrativeConnectionDictionary)Connects to the database with the supplied connection dictionary and creates the database specified by the Adaptor's connectionDictionary() Subclasses should implement this method without calling this. |
defaultExpressionClass(self)Returns the default expression class to be used along with this adaptor. See 'expressionClass()' for an explanation on how the expression class is actually determined for an Adaptor. Subclasses should override this method without calling Adaptor's. |
delegate(self)Returns the delegate for that Adaptor ; when initialized the delegate is the one returned by defaultDelegate() |
dropDatabaseWithAdministrativeConnectionDictionary(self, administrativeConnectionDictionary)Adaptor's implementation does nothing |
expressionClass(self)Returns the expression class to be used with the Adaptor. The mechanism used needs a little explanation. First, a concrete Adaptor comes with (or reuse) a concrete expressionClass (SQLExpression) -- the method 'defaultExpressionClass()' returns that concrete expression class. This is also the default value returned by this method. However, you may need to substitute that default expression class with one of your own (for example, you may want to subclass that expr.class to change part of its behaviour). This is what the static method 'setExpressionClassForAdaptor()' does: when called, it registers your custom expression class for use with a given adaptor. Any subsequent call to this method --'expressionClass()'-- then returns the registered expr. class instead of the default one. To summarize it: - if 'expressionClassForAdaptor(self)' returns None, the method returns 'self.defaultExpressionClass()' - otherwise, it returns 'expressionClassForAdaptor(self)' Subclasses should not override this method. |
fetchedValueForDataValue(self, value, anAttribute)Adaptor's implementation returns 'value' without any modification |
fetchedValueForDateValue(self, value, anAttribute)Adaptor's implementation returns 'value' without any modification |
fetchedValueForNumberValue(self, value, anAttribute)Adaptor's implementation returns 'value', possibly modified if 'anAttribute' corresponds to a SQL 'NUMERIC' field with a scale lower than the number of digits in the fractional part. For example, the float '4.675' will be converted to '4.68' if 'anAttribute' has a scale of 2. |
fetchedValueForStringValue(self, value, anAttribute)Adaptor's implementation returns 'value' without modification |
fetchedValueForValue(self, value, anAttribute)This method examine 'anAttribute' and, according to its externalType, forwards the message to one of the methods fetchedValueForDataValue(), fetchedValueForDateValue(), fetchedValueForNumberValue() or fetchedValueForStringValue(). The purpose here is to return a value, derived from 'value', which reflects the value as it is actually stored by a database-backend. This is used by the snapshotting mechanisms in the framework (optimistic locking). See these methods for a description of their actions. |
hasOpenChannels(self)Forwards the messages to all contexts() and returns 1 (true value) if at least one of these returned a true value, return 0 (false value) otherwise. See: setConnectionDictionary() |
name(self)Returns the name that was used when the concrete Adaptor was instanciated. See: adaptorWithName(), adaptorWithModel() |
schemaGenerationFactory(self)Returns the appropriate SchemaGeneration object for the Adaptor. Subclasses should override this method without calling it |
setConnectionDictionary(self, connectionDictionary)Sets the connectionDictionary. Raises ValueError if hasOpenChannels() returns true --in this case the connectionDictionary is not set. |
setDelegate(self, aDelegate)Sets the delegate |
| Home | Trees | Index | Help |
|
|---|
| Generated by Epydoc 2.1 on Sat Mar 4 13:36:24 2006 | http://epydoc.sf.net |