|

Calendar

February 2006
S M T W T F S
« Jan   Mar »
 1234
567891011
12131415161718
19202122232425
262728  

Tag Cloud

Categories

Archives

Recent Posts

Recent Comments


« Cairngorm 2.0 | Main | WebService setup for FDS »

Installing AS3VOGenerator

By Rich Tretola | February 14, 2006
1,280 views

This template should be used with Eclipse 3.1 or higher and Hibernate Synchronizer 3.1.1.

Open eclipse and go window -> preferences -> Hibernate Synchronizer -> Templates
Hit New and enter template name AS3VOGeneratorCairngorm or AS3VOGenerator depending on which you choose below.  You can install both as long as they are named differently.
Click OK and paste the following into your editor:

CAIRNGORM 2 VERSION
/*
* This class has been automatically generated by the EverythingFlex ActionScipt 3 VO Generator template within Hibernate Synchronizer.
*
* For more information on ActionScipt 3 VO Generator template, visit The ActionScipt VO Builder page
* at http://www.everythingflex.com/blog/index.cfm?mode=cat&category_id=68E24EA3-112F-5312-55A176172CDFCC38
* or contact Rich Tretola at rich@richtretola.com.
*
* This is the object class that relates to the ${class.AbsoluteValueObjectSignatureClassName} Java Class
* @ignore
*/
package ${class.ValueObjectPackage}{

import com.adobe.cairngorm.vo.ValueObject;
import mx.core.IUID;

[RemoteClass(alias="${class.AbsoluteValueObjectSignatureClassName}")]

[Bindable]
public class ${class.ValueObjectSignatureClassName} implements ValueObject,IUID {

// neccessary to make class bindable to components extending from listClasses (datagrids, etc)
private var _uid:String;

public function get uid():String{
return this._uid
}
public function set uid(uid:String):void{
this._uid = uid;
}

#if ($class.Id)
#if ($class.Id.hasExternalClass())
public var ${class.Id.Property.Name}:Number;
#else
#foreach ($prop in $class.Id.Properties)
#if (${prop.ClassName} == “Date”)
public var ${prop.Name}:Date;
#elseif (${prop.ClassName} == “String”)
public var ${prop.Name}:String = “”;
#elseif (${prop.ClassName} == “Boolean” || ${prop.ClassName} == “boolean”)
public var ${prop.Name}:Boolean = false;
#elseif (${prop.ClassName} == “Byte” || ${prop.ClassName} == “Short” || ${prop.ClassName} == “Integer” || ${prop.ClassName} == “Long” || ${prop.ClassName} == “Float” || ${prop.ClassName} == “Double” || ${prop.ClassName} == “byte” || ${prop.ClassName} == “short” || ${prop.ClassName} == “int” || ${prop.ClassName} == “long” || ${prop.ClassName} == “float” || ${prop.ClassName} == “double”)
public var ${prop.Name}:Number;
#else
// UNABLE TO MAP DATATYPE FOR CLASS ${prop.FullClassName}  PLEASE TELL RICH TRETOLA (rich@richtretola.com) ABOUT THIS
public var ${prop.Name}:${prop.FullClassName};
#end
#end
#end
#end
#if ($class.Version)
public var ${class.Version.Name}:${class.Version.FullClassName};
#end
#if ($class.Timestamp)
public var ${class.Timestamp.Name}:Date;
#end
#if ($class.Properties.size() > 0)
#foreach ($prop in $class.Properties)
#if (${prop.ClassName} == “Date”)
public var ${prop.Name}:Date;
#elseif (${prop.ClassName} == “String”)
public var ${prop.Name}:String = “”;
#elseif (${prop.ClassName} == “Boolean” || ${prop.ClassName} == “boolean”)
public var ${prop.Name}:Boolean = false;
#elseif (${prop.ClassName} == “Byte” || ${prop.ClassName} == “Short” || ${prop.ClassName} == “Integer” || ${prop.ClassName} == “Long” || ${prop.ClassName} == “Float” || ${prop.ClassName} == “Double” || ${prop.ClassName} == “byte” || ${prop.ClassName} == “short” || ${prop.ClassName} == “int” || ${prop.ClassName} == “long” || ${prop.ClassName} == “float” || ${prop.ClassName} == “double”)
public var ${prop.Name}:Number;
#else
// UNABLE TO MAP DATATYPE FOR CLASS ${prop.FullClassName}  PLEASE TELL RICH TRETOLA (rich@richtretola.com) ABOUT THIS
public var ${prop.Name}:${prop.FullClassName};
#end
#end
#end
#if ($class.Version)
public var ${class.Version.Name}:${class.Version.FullClassName};
#end
#if ($class.Timestamp)
public var ${class.Timestamp.Name}:Date;
#end
#if ($class.ComponentList.size() > 0)
#foreach ($component in $class.ComponentList)
public var ${component.Name}:${component.AbsoluteValueObjectClassName};
#end
#end
#if ($class.OneToOneList.size() > 0)
#foreach ($prop in $class.OneToOneList)
public var ${prop.Name}:${prop.AbsoluteSignatureClassName};
#end
#end
#if ($class.ManyToOneList.size() > 0)
#foreach ($prop in $class.ManyToOneList)
public var ${prop.Name}:${prop.AbsoluteSignatureClassName};
#end
#end
#if ($class.CollectionList.size() > 0)
#foreach ($prop in $class.CollectionList)
public var ${prop.Name}:Array;
#end
#end

public function ${class.ValueObjectSignatureClassName}() {
}
}
}

NON CAIRNGORM VERSION

 /*
* This class has been automatically generated by the EverythingFlex ActionScipt 3 VO Generator template within Hibernate Synchronizer.
*
* For more information on ActionScipt 3 VO Generator template, visit The ActionScipt VO Builder page
* at http://www.everythingflex.com/blog/index.cfm?mode=cat&category_id=68E24EA3-112F-5312-55A176172CDFCC38
* or contact Rich Tretola at rich@richtretola.com.
*
* This is the object class that relates to the ${class.AbsoluteValueObjectSignatureClassName} Java Class
* @ignore
*/
package ${class.ValueObjectPackage}{

    import mx.core.IUID;

[RemoteClass(alias="${class.AbsoluteValueObjectSignatureClassName}")]

[Bindable]
public class ${class.ValueObjectSignatureClassName}  implements IUID {

// neccessary to make class bindable to components extending from listClasses (datagrids, etc)
        private var _uid:String;

public function get uid():String{
return this._uid
}
public function set uid(uid:String):void{
this._uid = uid;
}

#if ($class.Id)
#if ($class.Id.hasExternalClass())
public var ${class.Id.Property.Name}:Number;
#else
#foreach ($prop in $class.Id.Properties)
#if (${prop.ClassName} == “Date”)
public var ${prop.Name}:Date;
#elseif (${prop.ClassName} == “String”)
public var ${prop.Name}:String = “”;
#elseif (${prop.ClassName} == “Boolean” || ${prop.ClassName} == “boolean”)
public var ${prop.Name}:Boolean = false;
#elseif (${prop.ClassName} == “Byte” || ${prop.ClassName} == “Short” || ${prop.ClassName} == “Integer” || ${prop.ClassName} == “Long” || ${prop.ClassName} == “Float” || ${prop.ClassName} == “Double” || ${prop.ClassName} == “byte” || ${prop.ClassName} == “short” || ${prop.ClassName} == “int” || ${prop.ClassName} == “long” || ${prop.ClassName} == “float” || ${prop.ClassName} == “double”)
public var ${prop.Name}:Number;
#else
// UNABLE TO MAP DATATYPE FOR CLASS ${prop.FullClassName}  PLEASE TELL RICH TRETOLA (rich@richtretola.com) ABOUT THIS
public var ${prop.Name}:${prop.FullClassName};
#end
#end
#end
#end
#if ($class.Version)
public var ${class.Version.Name}:${class.Version.FullClassName};
#end
#if ($class.Timestamp)
public var ${class.Timestamp.Name}:Date;
#end
#if ($class.Properties.size() > 0)
#foreach ($prop in $class.Properties)
#if (${prop.ClassName} == “Date”)
public var ${prop.Name}:Date;
#elseif (${prop.ClassName} == “String”)
public var ${prop.Name}:String = “”;
#elseif (${prop.ClassName} == “Boolean” || ${prop.ClassName} == “boolean”)
public var ${prop.Name}:Boolean = false;
#elseif (${prop.ClassName} == “Byte” || ${prop.ClassName} == “Short” || ${prop.ClassName} == “Integer” || ${prop.ClassName} == “Long” || ${prop.ClassName} == “Float” || ${prop.ClassName} == “Double” || ${prop.ClassName} == “byte” || ${prop.ClassName} == “short” || ${prop.ClassName} == “int” || ${prop.ClassName} == “long” || ${prop.ClassName} == “float” || ${prop.ClassName} == “double”)
public var ${prop.Name}:Number;
#else
// UNABLE TO MAP DATATYPE FOR CLASS ${prop.FullClassName}  PLEASE TELL RICH TRETOLA (rich@richtretola.com) ABOUT THIS
public var ${prop.Name}:${prop.FullClassName};
#end
#end
#end
#if ($class.Version)
public var ${class.Version.Name}:${class.Version.FullClassName};
#end
#if ($class.Timestamp)
public var ${class.Timestamp.Name}:Date;
#end
#if ($class.ComponentList.size() > 0)
#foreach ($component in $class.ComponentList)
public var ${component.Name}:${component.AbsoluteValueObjectClassName};
#end
#end
#if ($class.OneToOneList.size() > 0)
#foreach ($prop in $class.OneToOneList)
public var ${prop.Name}:${prop.AbsoluteSignatureClassName};
#end
#end
#if ($class.ManyToOneList.size() > 0)
#foreach ($prop in $class.ManyToOneList)
public var ${prop.Name}:${prop.AbsoluteSignatureClassName};
#end
#end
#if ($class.CollectionList.size() > 0)
#foreach ($prop in $class.CollectionList)
public var ${prop.Name}:Array;
#end
#end

public function ${class.ValueObjectSignatureClassName}() {
}
}
}


Enter a description if you want and then save the file

Now right click on your project and click properties
Select Hibernate Synchronizer and click on Template and then new
Select the template from the list and paste ${class.ValueObjectClassName}.as as the Output name
Browse to the place you want the files created
Check the overwrite box and click save

Now when you synchronize your hbm.xml files you will get both java file and AS3 as file generation.

Topics: AS3VOGenerator, Cairngorm, Eclipse, Flex 2, Flex Tools, Hibernate | 1 Comment »

One Response to “Installing AS3VOGenerator”

  1. annonymous Says:
    September 3rd, 2009 at 2:37 am

    Nice work ! It worked ! But I got stucked when I want to generate Primary key class. Something like “CustomerPK.java”. any idea?

    Reply to this comment

Comments