public <T> HeaderDelegate<T> createHeaderDelegate(Class<T> tClass) { if (tClass == null) throw new IllegalArgumentException(Messages.MESSAGES.tClassParameterNull()); if (headerDelegates == null && parent != null) return parent.createHeaderDelegate(tClass); Class<?> clazz = tClass; while (clazz != null) { HeaderDelegate<T> delegate = headerDelegates.get(clazz); if (delegate != null) { return delegate; } delegate = createHeaderDelegateFromInterfaces(clazz.getInterfaces()); if (delegate != null) { return delegate; } clazz = clazz.getSuperclass(); } return createHeaderDelegateFromInterfaces(tClass.getInterfaces()); }
/** * Checks to see if RuntimeDelegate is a ResteasyProviderFactory * If it is, then use that, otherwise use this. * * @param aClass class of the header * @return header delegate */ public HeaderDelegate getHeaderDelegate(Class<?> aClass) { HeaderDelegate delegate = null; // Stupid idiotic TCK calls RuntimeDelegate.setInstance() if (RuntimeDelegate.getInstance() instanceof ResteasyProviderFactory) { delegate = createHeaderDelegate(aClass); } else { delegate = RuntimeDelegate.getInstance().createHeaderDelegate(aClass); } return delegate; }
public <T> HeaderDelegate<T> createHeaderDelegate(Class<T> tClass) { if (tClass == null) throw new IllegalArgumentException(Messages.MESSAGES.tClassParameterNull()); if (headerDelegates == null && parent != null) return parent.createHeaderDelegate(tClass); Class<?> clazz = tClass; while (clazz != null) { HeaderDelegate<T> delegate = headerDelegates.get(clazz); if (delegate != null) { return delegate; } delegate = createHeaderDelegateFromInterfaces(clazz.getInterfaces()); if (delegate != null) { return delegate; } clazz = clazz.getSuperclass(); } return createHeaderDelegateFromInterfaces(tClass.getInterfaces()); }
/** * Checks to see if RuntimeDelegate is a ResteasyProviderFactory * If it is, then use that, otherwise use this. * * @param aClass class of the header * @return header delegate */ public HeaderDelegate getHeaderDelegate(Class<?> aClass) { HeaderDelegate delegate = null; // Stupid idiotic TCK calls RuntimeDelegate.setInstance() if (RuntimeDelegate.getInstance() instanceof ResteasyProviderFactory) { delegate = createHeaderDelegate(aClass); } else { delegate = RuntimeDelegate.getInstance().createHeaderDelegate(aClass); } return delegate; }