@SuppressWarnings("unchecked") @Override public boolean introspect(DataType type, Operation operation) { if (markerTypes == null) { return false; } Type physical = type.getPhysical(); if (physical instanceof ParameterizedType) { physical = ((ParameterizedType)physical).getRawType(); } if (!(physical instanceof Class)) { return false; } Class cls = (Class)physical; for (Class<?> c : markerTypes) { if (isTypeOf(c, cls)) { type.setDataBinding(getDataBinding(c)); Object logical = getLogical(cls, null); if (logical != null) { type.setLogical(getLogical(cls, null)); } else { type.setLogical(XMLType.UNKNOWN); } return true; } } return false; }
@SuppressWarnings("unchecked") @Override public boolean introspect(DataType type, Operation operation) { if (markerTypes == null) { return false; } Type physical = type.getPhysical(); if (physical instanceof ParameterizedType) { physical = ((ParameterizedType)physical).getRawType(); } if (!(physical instanceof Class)) { return false; } Class cls = (Class)physical; for (Class<?> c : markerTypes) { if (isTypeOf(c, cls)) { type.setDataBinding(getDataBinding(c)); Object logical = getLogical(cls, null); if (logical != null) { type.setLogical(getLogical(cls, null)); } else { type.setLogical(XMLType.UNKNOWN); } return true; } } return false; }