//***************************************************************************// // Megjegyzés? // // // // VALÓSZÍNŰLEG MÁR ELAVULT, ÉS NEM HASZNÁLT! // //***************************************************************************// template GenerateEntityState(MClass as ENTITY) internal class [ConvertNameToEntityStateName([ENTITY.name])] : [ConvertNameToEntityStateName(GetBaseClassName([ENTITY], "Entity"))] { #region Attribútumok [loop (ENTITY -> MAttribute as ATTRIBUTE)] public object [ConvertNameToEntityStateAttributeName([ATTRIBUTE.name])]; // [GetCSharpTypeOfAttribute([ATTRIBUTE])] [end loop] #endregion #region Asszociációk [loop (ENTITY -> Role as STARTROLE -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as PARTNER where (([STARTROLE.id] != [ENDROLE.id]) and GetStereoType([PARTNER]) == "Entity"))] [if ([ENDROLE.multiplicity] == "0..1" or [ENDROLE.multiplicity] == "1")] public [ConvertNameToEntityStateName([PARTNER.name])] [ConvertNameToEntityStateAttributeName(GetRoleName([ENDROLE]))]; [else] public [ConvertNameToEntityStateCollectionName([PARTNER.name])] [ConvertNameToEntityStateAttributeName(GetRoleName([ENDROLE]))]; [end if] [end loop] #endregion #region Asszociációs mezők [loop (ENTITY -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as STARTROLE -> MClass as STARTCLASS where (GetStereoType([STARTCLASS]) == "Entity"))] [loop (CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as ENDCLASS where([STARTROLE.id] < [ENDROLE.id] and GetStereoType([ENDCLASS]) == "Entity"))] public [ConvertNameToEntityStateName([STARTCLASS.name])] [ConvertNameToEntityStateAttributeName(GetRoleName([STARTROLE]))]; public [ConvertNameToEntityStateName([ENDCLASS.name])] [ConvertNameToEntityStateAttributeName(GetRoleName([ENDROLE]))]; [end loop] [end loop] #endregion #region Alaphelyzetbe állítás public override void Reset() { [loop (ENTITY -> MAttribute as ATTRIBUTE)] this.[ConvertNameToEntityStateAttributeName([ATTRIBUTE.name])] = null; [end loop] [loop (ENTITY -> Role as STARTROLE -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as PARTNER where (([STARTROLE.id] != [ENDROLE.id]) and GetStereoType([PARTNER]) == "Entity"))] this.[ConvertNameToEntityStateAttributeName(GetRoleName([ENDROLE]))] = null; // XXX vagy inkább megtartsuk és a tartalmát ürítsük? [end loop] [loop (ENTITY -> MAssociation as CURRENTASSOCIATION -> MAssociationEnd as STARTROLE -> MClass as STARTCLASS where (GetStereoType([STARTCLASS]) == "Entity"))] [loop (CURRENTASSOCIATION -> MAssociationEnd as ENDROLE -> MClass as ENDCLASS where([STARTROLE.id] < [ENDROLE.id] and GetStereoType([ENDCLASS]) == "Entity"))] this.[ConvertNameToEntityStateAttributeName(GetRoleName([STARTROLE]))] = null; // XXX vagy inkább megtartsuk és a tartalmát ürítsük? this.[ConvertNameToEntityStateAttributeName(GetRoleName([ENDROLE]))] = null; // XXX vagy inkább megtartsuk és a tartalmát ürítsük? [end loop] [end loop] base.Reset(); } #endregion } public class [ConvertNameToEntityStateCollectionName([ENTITY.name])] { } end template //***************************************************************************// // Megjegyzés? // // // // VALÓSZÍNŰLEG MÁR ELAVULT, ÉS NEM HASZNÁLT! // //***************************************************************************// proc ConvertNameToEntityStateName(ENTITYNAME) return [ENTITYNAME] "DataObject "; end proc //***************************************************************************// // Megjegyzés? // // // // VALÓSZÍNŰLEG MÁR ELAVULT, ÉS NEM HASZNÁLT! // //***************************************************************************// proc ConvertNameToEntityStateCollectionName(ENTITYNAME) return [ENTITYNAME] "DataObjectCollection"; end proc //***************************************************************************// // Megjegyzés? // // // // VALÓSZÍNŰLEG MÁR ELAVULT, ÉS NEM HASZNÁLT! // //***************************************************************************// proc ConvertNameToEntityStateAttributeName(ATTRIBUTENAME) return [ATTRIBUTENAME]; end proc