public final BeanEventType createBeanType(String name,Class clazz,boolean isPreconfiguredStatic,boolean isPreconfigured,boolean isConfigured){
  if (clazz == null) {
    throw new IllegalArgumentException("Null value passed as class");
  }
  BeanEventType eventType=null;
  typesPerJavaBeanLock.lock();
  try {
    eventType=typesPerJavaBean.get(clazz);
    if (eventType != null) {
      eventTypeIdGenerator.assignedType(name,eventType);
      return eventType;
    }
    ConfigurationEventTypeLegacy legacyDef=classToLegacyConfigs.get(clazz.getName());
    if ((legacyDef == null) && (defaultAccessorStyle != ConfigurationEventTypeLegacy.AccessorStyle.JAVABEAN)) {
      legacyDef=new ConfigurationEventTypeLegacy();
      legacyDef.setAccessorStyle(defaultAccessorStyle);
    }
    int typeId=eventTypeIdGenerator.getTypeId(name);
    EventTypeMetadata metadata=EventTypeMetadata.createBeanType(name,clazz,isPreconfiguredStatic,isPreconfigured,isConfigured,EventTypeMetadata.TypeClass.APPLICATION);
    eventType=new BeanEventType(metadata,typeId,clazz,eventAdapterService,legacyDef);
    typesPerJavaBean.put(clazz,eventType);
  }
 catch (  RuntimeException ex) {
    throw ex;
  }
 finally {
    typesPerJavaBeanLock.unlock();
  }
  return eventType;
}

public final BeanEventType createBeanType ( String name , Class clazz , boolean isPreconfiguredStatic , boolean isPreconfigured , boolean isConfigured ) { if ( clazz == null ) { throw new IllegalArgumentException ( "Null value passed as class" ) ; } BeanEventType eventType = null ; typesPerJavaBeanLock . lock ( ) ; try { eventType = typesPerJavaBean . get ( clazz ) ; if ( eventType != null ) { eventTypeIdGenerator . assignedType ( name , eventType ) ; return eventType ; } ConfigurationEventTypeLegacy legacyDef = classToLegacyConfigs . get ( clazz . getName ( ) ) ; if ( ( legacyDef == null ) && ( defaultAccessorStyle != ConfigurationEventTypeLegacy . AccessorStyle . JAVABEAN ) ) { legacyDef = new ConfigurationEventTypeLegacy ( ) ; legacyDef . setAccessorStyle ( defaultAccessorStyle ) ; } int typeId = eventTypeIdGenerator . getTypeId ( name ) ; EventTypeMetadata metadata = EventTypeMetadata . createBeanType ( name , clazz , isPreconfiguredStatic , isPreconfigured , isConfigured , EventTypeMetadata . TypeClass . APPLICATION ) ; eventType = new BeanEventType ( metadata , typeId , clazz , eventAdapterService , legacyDef ) ; typesPerJavaBean . put ( clazz , eventType ) ; } catch ( RuntimeException ex ) { throw ex ; } finally { typesPerJavaBeanLock . unlock ( ) ; } return eventType ; }
creates a new eventtype object for a java bean of the specified class if this is the first time the class has been seen . else uses a cached eventtype instance , i . e . client classes do not need to cache .
