public void populate(ClassMetaData meta, int access) { if (meta.getDescribedType() == Object.class) return; if (access == ClassMetaData.ACCESS_UNKNOWN) { // we do not allow using both field and method access at // the same time access = getAccessType(meta); if ((access & ClassMetaData.ACCESS_FIELD) != 0 && (access & ClassMetaData.ACCESS_PROPERTY) != 0) { List fields = getFieldAccessNames(meta); List props = getPropertyAccessNames(meta); if (fields != null || props != null) throw new UserException(_loc.get( "access-field-and-prop-hints", meta.getDescribedType().getName(), fields, props)); else throw new UserException(_loc.get("access-field-and-prop", meta.getDescribedType().getName())); } } meta.setAccessType(access); Log log = meta.getRepository().getLog(); if (log.isTraceEnabled()) log.trace(_loc.get("gen-meta", meta)); if (!_pcRegistry || !populateFromPCRegistry(meta)) { if (log.isTraceEnabled()) log.trace(_loc.get("meta-reflect")); populateFromReflection(meta); } }