00001 __copyright__ = """
00002 Copyright 2008 Sean Ross-Ross
00003 """
00004 __license__ = """
00005 This file is part of SLIMpy .
00006
00007 SLIMpy is free software: you can redistribute it and/or modify
00008 it under the terms of the GNU Lesser General Public License as published by
00009 the Free Software Foundation, either version 3 of the License, or
00010 (at your option) any later version.
00011
00012 SLIMpy is distributed in the hope that it will be useful,
00013 but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00015 GNU Lesser General Public License for more details.
00016
00017 You should have received a copy of the GNU Lesser General Public License
00018 along with SLIMpy . If not, see <http://www.gnu.org/licenses/>.
00019 """
00020
00021 """
00022 Base builder class
00023 """
00024
00025 from slimpy_base.Core.Interface.ContainerBase import DataContainer
00026
00027
00028
00029
00030 from slimpy_base.Environment.InstanceManager import InstanceManager
00031
00032 class SLIMBuilder( object ):
00033 """
00034 abstract class
00035 """
00036
00037
00038
00039
00040 env = InstanceManager()
00041
00042 def isSource( self, val ):
00043 """
00044 test is val is a DataContainer or id of a DataContainer and
00045 if that DataContainer is full
00046 """
00047
00048 try:
00049
00050 node = self.env['table'][val]
00051 except KeyError:
00052 return False
00053 if isinstance( node, DataContainer ):
00054
00055 return node.isfull()
00056
00057 return False
00058