org.springframework.boot.jdbc

Class DataSourceUnwrapper

  • java.lang.Object
    • org.springframework.boot.jdbc.DataSourceUnwrapper


  • public final class DataSourceUnwrapper
    extends java.lang.Object
    Unwraps a DataSource that may have been proxied or wrapped in a custom Wrapper such as DelegatingDataSource.
    Since:
    2.0.7
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method and Description
      static <I,T extends I>
      T
      unwrap(javax.sql.DataSource dataSource, java.lang.Class<I> unwrapInterface, java.lang.Class<T> target)
      Return an object that implements the given target type, unwrapping delegate or proxy if necessary using the specified unwrapInterface.
      static <T> T unwrap(javax.sql.DataSource dataSource, java.lang.Class<T> target)
      Return an object that implements the given target type, unwrapping delegate or proxy if necessary.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • unwrap

        public static <I,T extends I> T unwrap(javax.sql.DataSource dataSource,
                                               java.lang.Class<I> unwrapInterface,
                                               java.lang.Class<T> target)
        Return an object that implements the given target type, unwrapping delegate or proxy if necessary using the specified unwrapInterface.
        Type Parameters:
        I - the interface that the target type must implement
        T - the target type
        Parameters:
        dataSource - the datasource to handle
        unwrapInterface - the interface that the target type must implement
        target - the type that the result must implement
        Returns:
        an object that implements the target type or null
        See Also:
        Wrapper.unwrap(Class)
      • unwrap

        public static <T> T unwrap(javax.sql.DataSource dataSource,
                                   java.lang.Class<T> target)
        Return an object that implements the given target type, unwrapping delegate or proxy if necessary. Consider using unwrap(DataSource, Class, Class) as unwrapping won't be considered if target is not an interface.
        Type Parameters:
        T - the target type
        Parameters:
        dataSource - the datasource to handle
        target - the type that the result must implement
        Returns:
        an object that implements the target type or null