/** * Get the most specific mapping info. * @param type The type. * @param fullpath The full path. * @return The most specific mapping info. */ public TypeInfo getTypeInfo(Object object, QName[] fullpath, IContext context) { TypeInfo ret = null; Object type = getObjectType(object, context); Set tis = titmanager.getTypeInfosByType(type); if(tis!=null) { // Take not into account path if only one candidate if(tis.size()==1) { ret = (TypeInfo)tis.iterator().next(); } // Else disambiguate using path else if(tis.size()>1) { ret = titmanager.findTypeInfo(tis, fullpath); } } return ret; // return titmanager.getTypeInfo(type, fullpath); }
if(AttributeInfo.IDREF.equals(attrinfo.getId())) Set tis = titmanager.getTypeInfosByType(value.getClass()); if(tis==null || tis.size()!=1) throw new RuntimeException("Could not determine type info for idref object: "+value);