Class ProjectionService

java.lang.Object
cn.dinodev.spring.commons.projection.ProjectionService

@Service public class ProjectionService extends Object
投影服务,用于将对象的属性投影到另一个对象中
Author:
Cody Lu
  • Constructor Details

    • ProjectionService

      public ProjectionService()
  • Method Details

    • projection

      public <P, R> R projection(Class<R> projectionType, P source)
      将source对象的属性投影到projectionType对象中
      Type Parameters:
      P - source对象类型
      R - projectionType对象类型
      Parameters:
      projectionType - 投影对象类型
      source - 源对象
      Returns:
      投影对象, 如果source为null则返回null
    • projection

      public <P, R> R projection(Class<R> projectionType, Optional<P> source)
      将source对象的属性投影到projectionType对象中
      Type Parameters:
      P - source对象类型
      R - projectionType对象类型
      Parameters:
      projectionType - 投影对象类型
      source - 源对象
      Returns:
      投影对象, 如果source为null则返回null
    • projection

      public <P, R> List<R> projection(Class<R> projectionType, Collection<P> sourceList)
      将sourceList中的对象的属性投影到projectionType对象中
      Type Parameters:
      P - source对象类型
      R - projectionType对象类型
      Parameters:
      projectionType - 投影对象类型
      sourceList - 源对象列表
      Returns:
      投影对象列表, 如果sourceList为null或空则返回空列表
    • projection

      public <O, P, R> Map<O,R> projection(Class<R> projectionType, Map<O,P> sourceMap)
      将sourceMap中的值的属性投影到projectionType对象中
      Type Parameters:
      O - sourceMap的key类型
      P - sourceMap的value类型
      R - projectionType对象类型
      Parameters:
      projectionType - 投影对象类型
      sourceMap - 源对象Map
      Returns:
      投影对象Map, 如果sourceMap为null或空则返回空Map