JavaTypeMapping getMappingForFieldWithName(List<String> tuples, QueryData qd, AbstractClassMetaData acmd) {
ClassLoaderResolver clr = getClassLoaderResolver();
JavaTypeMapping mapping = null;
// We might be looking for the mapping for a.b.c
for (String tuple : tuples) {
DatastoreTable table = qd.tableMap.get(acmd.getFullClassName());
if (table == null) {
table = getStoreManager().getDatastoreClass(acmd.getFullClassName(), clr);
qd.tableMap.put(acmd.getFullClassName(), table);
}
// deepest mapping we have so far
mapping = table.getMemberMapping(tuple);
// set the class meta data to the class of the type of the field of the
// mapping so that we go one deeper if there are any more tuples
acmd = getMetaDataManager().getMetaDataForClass(mapping.getMemberMetaData().getType(), clr);
}
return mapping;