ECO – Ensure related objects

Sometimes you have a list of objects (say List<PurchaseOrder>) and you want to get all associated objects (say OrderLines) for all the orders in the list. There are 2 ways of doing this in ECO You call a PersistenceService method which takes the list of orders and a string identifying the association name. I don’t …
Continue reading ECO – Ensure related objects

AOP 2

This is fun πŸ™‚ I’ve created an aspect like so type  BusinessClassAttribute = public class(System.Attribute, ITypeInterfaceDecorator)  private    FPackageName: String;    property PackageName: String read FPackageName;  protected  public    constructor (PackageName: String);    method HandleInterface(Services: RemObjects.Oxygene.Cirrus.IServices; aType: RemObjects.Oxygene.Cirrus.ITypeDefinition);  end; I can now decorator my class like so type  [aspect: BusinessClass(’DomainClasses.Package1’)]  Person = class  end; I can ensure this class  exists in the aspect implementation method. constructor BusinessClassAttribute(PackageName: String);begin  FPackageName := PackageName;end; method BusinessClassAttribute.HandleInterface(Services: …
Continue reading AOP 2

My first AOP

Here’s what I did. 01: I created a support project which just has a logger class in it. namespace EcoSupport.pas;interfaceuses  System.Collections.Generic,  System.Linq,  System.Text; type  Logger = public class  private  protected  public    class procedure Log(Message : String);  end; implementation class procedure Logger.Log(Message : String);begin  System.Diagnostics.Debug.WriteLine(’Log: ’ + Message);end;end. 02: I created an Aspect which decorates methods, giving me the opportunity to intercept all method calls on …
Continue reading My first AOP

Unemployed

My employer’s support contract has finally come to an end which means I have to look for another job, haven’t had to do that in a while! Drop me an email if you have any positions vacant, in the meantime it’s time to do a little “networking”.