/** * Determines if a simple ID is present. * * @return true if the key is not a complex ID and at least one field was annotated with @Id. */ public boolean isSimpleIdPresent() { return !isComplexKey() && !idPropertyMap.isEmpty(); }
private <T> void setIdIfCan(CFMappingDef<T> cfMapDef, T obj, Object pkObj) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { if (cfMapDef.getKeyDef().isComplexKey()) { setComplexId(cfMapDef, obj, pkObj); } else { setSimpleId(cfMapDef, obj, pkObj); } }
@SuppressWarnings("unchecked") private byte[] generateColumnFamilyKeyFromPkObj(CFMappingDef<?> cfMapDef, Object pkObj) { List<byte[]> segmentList = new ArrayList<byte[]>(cfMapDef.getKeyDef().getIdPropertyMap().size()); if (cfMapDef.getKeyDef().isComplexKey()) { Map<String, PropertyDescriptor> propertyDescriptorMap = cfMapDef.getKeyDef().getPropertyDescriptorMap(); for (String key : cfMapDef.getKeyDef().getIdPropertyMap().keySet()) { PropertyDescriptor pd = propertyDescriptorMap.get(key); segmentList.add(callMethodAndConvertToCassandraType(pkObj, pd.getReadMethod(), new DefaultConverter())); } } else { PropertyMappingDefinition md = cfMapDef.getKeyDef().getIdPropertyMap().values().iterator() .next(); segmentList.add(md.getConverter().convertObjTypeToCassType(pkObj)); } return keyConcatStrategy.concat(segmentList); }