/** * Returns the specificity of the specified class as defined above. */ public static int getSpecificity(final Class<?> clazz) { if (clazz == null) return 0; final LineageInfo lineageInfo = FSTClazzLineageInfo.getLineageInfo(clazz); return lineageInfo == null ? 0 : lineageInfo.specificity; }
final Class<?> sc = getSuperclass(clazz); final LineageInfo sl = getLineageInfo(sc); if (sl != null) { ancestors.addAll(sl.lineage); specificity += sl.specificity; for (final Class<?> i : getInterfaces(clazz)) { final LineageInfo il = getLineageInfo(i); if (il != null) { ancestors.removeAll(il.lineage);
public final FSTObjectSerializer getSerializer(Class cl) { if ( cl.isPrimitive()) { return null; } if ( delegate != null ) { FSTObjectSerializer ser = delegate.getSerializer(cl); if ( ser != null ) { return ser; } } final Class[] lineage = FSTClazzLineageInfo.getLineage(cl); for (final Class ascendant : lineage) { final FSTObjectSerializer serializer = getSerializer(ascendant, cl); if (serializer != null) return serializer; } return null; }
final Class<?> sc = getSuperclass(clazz); final LineageInfo sl = getLineageInfo(sc); if (sl != null) { ancestors.addAll(sl.lineage); specificity += sl.specificity; for (final Class<?> i : getInterfaces(clazz)) { final LineageInfo il = getLineageInfo(i); if (il != null) { ancestors.removeAll(il.lineage);
public final FSTObjectSerializer getSerializer(Class cl) { if ( cl.isPrimitive()) { return null; } if ( delegate != null ) { FSTObjectSerializer ser = delegate.getSerializer(cl); if ( ser != null ) { return ser; } } final Class[] lineage = FSTClazzLineageInfo.getLineage(cl); for (final Class ascendant : lineage) { final FSTObjectSerializer serializer = getSerializer(ascendant, cl); if (serializer != null) return serializer; } return null; }
/** * Returns the specificity of the specified class as defined above. */ public static int getSpecificity(final Class<?> clazz) { if (clazz == null) return 0; final LineageInfo lineageInfo = FSTClazzLineageInfo.getLineageInfo(clazz); return lineageInfo == null ? 0 : lineageInfo.specificity; }
/** * Returns the lineage of the specified class ordered by specificity (the class itself is at position 0 since it is most specific in its lineage). */ public static Class<?>[] getLineage(final Class<?> clazz) { final LineageInfo lineageInfo = getLineageInfo(clazz); return lineageInfo == null ? EMPTY_CLASS_ARRAY : lineageInfo.lineage.toArray(new Class<?>[lineageInfo.lineage.size()]); }
/** * Returns the lineage of the specified class ordered by specificity (the class itself is at position 0 since it is most specific in its lineage). */ public static Class<?>[] getLineage(final Class<?> clazz) { final LineageInfo lineageInfo = getLineageInfo(clazz); return lineageInfo == null ? EMPTY_CLASS_ARRAY : lineageInfo.lineage.toArray(new Class<?>[lineageInfo.lineage.size()]); }