Class DefaultPreparedQuery<E,RT>

java.lang.Object
io.micronaut.data.model.runtime.DefaultStoredDataOperation<RT>
io.micronaut.data.runtime.query.internal.DefaultPreparedQuery<E,RT>
Type Parameters:
E - The entity type
RT - The result type
All Implemented Interfaces:
io.micronaut.core.annotation.AnnotationMetadataProvider, io.micronaut.core.annotation.AnnotationSource, io.micronaut.core.attr.AttributeHolder, io.micronaut.core.convert.ConversionServiceProvider, io.micronaut.core.naming.Named, io.micronaut.data.model.runtime.PagedQuery<E>, io.micronaut.data.model.runtime.PreparedDataOperation<RT>, io.micronaut.data.model.runtime.PreparedQuery<E,RT>, io.micronaut.data.model.runtime.StoredDataOperation<RT>, io.micronaut.data.model.runtime.StoredQuery<E,RT>, DelegateStoredQuery<E,RT>

@Internal public final class DefaultPreparedQuery<E,RT> extends io.micronaut.data.model.runtime.DefaultStoredDataOperation<RT> implements DelegateStoredQuery<E,RT>, io.micronaut.data.model.runtime.PreparedQuery<E,RT>
Represents a prepared query.
  • Constructor Details

    • DefaultPreparedQuery

      public DefaultPreparedQuery(io.micronaut.aop.MethodInvocationContext<?,?> context, io.micronaut.data.model.runtime.StoredQuery<E,RT> storedQuery, String finalQuery, @NonNull @NonNull io.micronaut.data.model.Pageable pageable, @NonNull @NonNull io.micronaut.data.model.Limit limit, boolean dtoProjection, io.micronaut.core.convert.ConversionService conversionService)
      The default constructor.
      Parameters:
      context - The execution context
      storedQuery - The stored query
      finalQuery - The final query
      pageable - The pageable
      limit - The limit
      dtoProjection - Whether the prepared query is a dto projection
      conversionService - The conversion service
  • Method Details

    • hasReturnTypeInRole

      public static boolean hasReturnTypeInRole(@NonNull @NonNull String role, @NonNull @NonNull Class<?> type, @NonNull @NonNull io.micronaut.aop.MethodInvocationContext<?,?> methodContext, @NonNull @NonNull io.micronaut.core.convert.ConversionService conversionService)
      Check the return role from the method context.
      Parameters:
      role - The role
      type - The type
      methodContext - The method context
      conversionService - The conversion service
      Returns:
      The optional parameter
    • getParameterInRole

      @NonNull public static <RT1> @NonNull Optional<RT1> getParameterInRole(@NonNull @NonNull String role, @NonNull @NonNull Class<RT1> type, @NonNull @NonNull io.micronaut.aop.MethodInvocationContext<?,?> methodContext, @NonNull @NonNull io.micronaut.core.convert.ConversionService conversionService)
      Find a parameter in role from the method context.
      Type Parameters:
      RT1 - The type
      Parameters:
      role - The role
      type - The type of the parameter in role
      methodContext - The method context
      conversionService - The conversion service
      Returns:
      The optional parameter
    • getParametersInRole

      @NonNull public static <RT1> @NonNull List<RT1> getParametersInRole(@NonNull @NonNull String role, @NonNull @NonNull Class<RT1> type, @NonNull @NonNull io.micronaut.aop.MethodInvocationContext<?,?> methodContext, @NonNull @NonNull io.micronaut.core.convert.ConversionService conversionService)
      Find the parameters in role from the method context.
      Type Parameters:
      RT1 - The type
      Parameters:
      role - The role
      type - The type of the parameter in role
      methodContext - The method context
      conversionService - The conversion service
      Returns:
      The list of types
    • getConversionService

      public io.micronaut.core.convert.ConversionService getConversionService()
      Specified by:
      getConversionService in interface io.micronaut.core.convert.ConversionServiceProvider
      Specified by:
      getConversionService in interface io.micronaut.data.model.runtime.PreparedQuery<E,RT>
    • getContext

      public io.micronaut.aop.MethodInvocationContext<?,?> getContext()
      Returns:
      The context
    • getRootEntity

      public Class<E> getRootEntity()
      Specified by:
      getRootEntity in interface DelegateStoredQuery<E,RT>
      Specified by:
      getRootEntity in interface io.micronaut.data.model.runtime.PagedQuery<E>
      Specified by:
      getRootEntity in interface io.micronaut.data.model.runtime.StoredQuery<E,RT>
    • getQueryHints

      public Map<String,Object> getQueryHints()
      Specified by:
      getQueryHints in interface DelegateStoredQuery<E,RT>
      Specified by:
      getQueryHints in interface io.micronaut.data.model.runtime.PagedQuery<E>
      Specified by:
      getQueryHints in interface io.micronaut.data.model.runtime.PreparedQuery<E,RT>
      Specified by:
      getQueryHints in interface io.micronaut.data.model.runtime.StoredQuery<E,RT>
    • isRawQuery

      public boolean isRawQuery()
      Specified by:
      isRawQuery in interface DelegateStoredQuery<E,RT>
      Specified by:
      isRawQuery in interface io.micronaut.data.model.runtime.PreparedQuery<E,RT>
      Specified by:
      isRawQuery in interface io.micronaut.data.model.runtime.StoredQuery<E,RT>
    • getStoredQueryDelegate

      public io.micronaut.data.model.runtime.StoredQuery<E,RT> getStoredQueryDelegate()
      Specified by:
      getStoredQueryDelegate in interface DelegateStoredQuery<E,RT>
      Returns:
      The delegate
    • getParameterInRole

      public <RT1> Optional<RT1> getParameterInRole(@NonNull @NonNull String role, @NonNull @NonNull Class<RT1> type)
      Specified by:
      getParameterInRole in interface io.micronaut.data.model.runtime.PreparedDataOperation<E>
    • getParametersInRole

      public <RT1> List<RT1> getParametersInRole(String role, Class<RT1> type)
      Specified by:
      getParametersInRole in interface io.micronaut.data.model.runtime.PreparedDataOperation<E>
    • getRepositoryType

      public Class<?> getRepositoryType()
      Specified by:
      getRepositoryType in interface io.micronaut.data.model.runtime.PreparedQuery<E,RT>
    • getParameterArray

      public Object[] getParameterArray()
      Specified by:
      getParameterArray in interface io.micronaut.data.model.runtime.PreparedQuery<E,RT>
    • getArguments

      public io.micronaut.core.type.Argument[] getArguments()
      Specified by:
      getArguments in interface io.micronaut.data.model.runtime.PreparedQuery<E,RT>
    • getPageable

      @NonNull public @NonNull io.micronaut.data.model.Pageable getPageable()
      Specified by:
      getPageable in interface io.micronaut.data.model.runtime.PagedQuery<E>
    • isDtoProjection

      public boolean isDtoProjection()
      Specified by:
      isDtoProjection in interface DelegateStoredQuery<E,RT>
      Specified by:
      isDtoProjection in interface io.micronaut.data.model.runtime.StoredQuery<E,RT>
    • getQuery

      @NonNull public @NonNull String getQuery()
      Specified by:
      getQuery in interface DelegateStoredQuery<E,RT>
      Specified by:
      getQuery in interface io.micronaut.data.model.runtime.StoredQuery<E,RT>
    • getAttributes

      @NonNull public @NonNull io.micronaut.core.convert.value.ConvertibleValues<Object> getAttributes()
      Specified by:
      getAttributes in interface io.micronaut.core.attr.AttributeHolder
    • getAttribute

      @NonNull public @NonNull Optional<Object> getAttribute(CharSequence name)
      Specified by:
      getAttribute in interface io.micronaut.core.attr.AttributeHolder
    • getAttribute

      @NonNull public <T> @NonNull Optional<T> getAttribute(CharSequence name, Class<T> type)
      Specified by:
      getAttribute in interface io.micronaut.core.attr.AttributeHolder
    • getOffset

      public int getOffset()
      Specified by:
      getOffset in interface DelegateStoredQuery<E,RT>
      Specified by:
      getOffset in interface io.micronaut.data.model.runtime.StoredQuery<E,RT>
    • getLimit

      public int getLimit()
      Specified by:
      getLimit in interface DelegateStoredQuery<E,RT>
      Specified by:
      getLimit in interface io.micronaut.data.model.runtime.StoredQuery<E,RT>
    • getSort

      public io.micronaut.data.model.Sort getSort()
      Specified by:
      getSort in interface DelegateStoredQuery<E,RT>
      Specified by:
      getSort in interface io.micronaut.data.model.runtime.PagedQuery<E>
      Specified by:
      getSort in interface io.micronaut.data.model.runtime.PreparedQuery<E,RT>
      Specified by:
      getSort in interface io.micronaut.data.model.runtime.StoredQuery<E,RT>
    • getQueryLimit

      public io.micronaut.data.model.Limit getQueryLimit()
      Specified by:
      getQueryLimit in interface DelegateStoredQuery<E,RT>
      Specified by:
      getQueryLimit in interface io.micronaut.data.model.runtime.PagedQuery<E>
      Specified by:
      getQueryLimit in interface io.micronaut.data.model.runtime.PreparedQuery<E,RT>
      Specified by:
      getQueryLimit in interface io.micronaut.data.model.runtime.StoredQuery<E,RT>