public <T> CFMappingDef<T> initializeCacheForClass(Class<T> clazz) {
    CFMappingDef<T> cfMapDef = initializeColumnFamilyMapDef(clazz);
    try {
      initializePropertiesMapDef(cfMapDef);
    } catch (IntrospectionException e) {
      throw new HectorObjectMapperException(e);
    } catch (InstantiationException e) {
      throw new HectorObjectMapperException(e);
    } catch (IllegalAccessException e) {
      throw new HectorObjectMapperException(e);
    }

    // by the time we get here, all super classes and their annotations have
    // been processed and validated, and all annotations for this class have
    // been processed. what's left to do is validate this class, set super
    // classes, and and set any defaults
    checkMappingAndSetDefaults(cfMapDef);

    // if this class is not a derived class, then map the ColumnFamily name
    if (!cfMapDef.isDerivedEntity()) {
      cfMapByColFamName.put(cfMapDef.getEffectiveColFamName(), cfMapDef);
    }

    // always map the parsed class to its ColumnFamily map definition
    cfMapByClazz.put(cfMapDef.getRealClass(), cfMapDef);

    return cfMapDef;
  }
public < T > CFMappingDef < T > initializeCacheForClass ( Class < T > clazz ) { CFMappingDef < T > cfMapDef = initializeColumnFamilyMapDef ( clazz ) ; try { initializePropertiesMapDef ( cfMapDef ) ; } catch ( IntrospectionException e ) { throw new HectorObjectMapperException ( e ) ; } catch ( InstantiationException e ) { throw new HectorObjectMapperException ( e ) ; } catch ( IllegalAccessException e ) { throw new HectorObjectMapperException ( e ) ; } checkMappingAndSetDefaults ( cfMapDef ) ; if ( ! cfMapDef . isDerivedEntity ( ) ) { cfMapByColFamName . put ( cfMapDef . getEffectiveColFamName ( ) , cfMapDef ) ; } cfMapByClazz . put ( cfMapDef . getRealClass ( ) , cfMapDef ) ; return cfMapDef ; }
For each class that should be managed, this method must be called to parse
its annotations and derive its meta-data.

@param <T>

@param clazz
@return CFMapping describing the initialized class.