private void init() {
TypeDeclaration thingType = new TypeDeclaration( Thing.class.getName() );
thingType.setKind( TypeDeclaration.Kind.TRAIT );
thingType.setTypeClass( Thing.class );
ClassDefinition def = new ClassDefinition();
def.setClassName( thingType.getTypeClass().getName() );
def.setDefinedClass( Thing.class );
addTrait( def );
ClassDefinition individualDef = new ClassDefinition();
individualDef.setClassName( Entity.class.getName() );
individualDef.setDefinedClass( Entity.class );
individualDef.setInterfaces( new String[]{ Serializable.class.getName(), TraitableBean.class.getName() } );
individualDef.setTraitable( true );
addTraitable( individualDef );
ClassDefinition mapcoreDef = new ClassDefinition();
mapcoreDef.setClassName( MapCore.class.getName() );
mapcoreDef.setDefinedClass( MapCore.class );
mapcoreDef.setInterfaces( new String[] { Serializable.class.getName(), TraitableBean.class.getName(), CoreWrapper.class.getName() } );
mapcoreDef.setTraitable( true );
addTraitable( mapcoreDef );
ClassDefinition logicalMapcoreDef = new ClassDefinition();
logicalMapcoreDef.setClassName( LogicalMapCore.class.getName() );
logicalMapcoreDef.setDefinedClass( LogicalMapCore.class );
logicalMapcoreDef.setInterfaces( new String[] { Serializable.class.getName(), TraitableBean.class.getName(), CoreWrapper.class.getName() } );
logicalMapcoreDef.setTraitable( true, true );
addTraitable( logicalMapcoreDef );
}