Class DeclarativeDomainConfigurationImpl

  • All Implemented Interfaces:
    com.blazebit.domain.declarative.DeclarativeDomainConfiguration, com.blazebit.domain.declarative.spi.ServiceProvider<com.blazebit.domain.declarative.DeclarativeDomainConfiguration>

    public class DeclarativeDomainConfigurationImpl
    extends Object
    implements com.blazebit.domain.declarative.DeclarativeDomainConfiguration
    Since:
    1.0.0
    Author:
    Christian Beikov
    • Constructor Detail

      • DeclarativeDomainConfigurationImpl

        public DeclarativeDomainConfigurationImpl()
      • DeclarativeDomainConfigurationImpl

        public DeclarativeDomainConfigurationImpl​(com.blazebit.domain.boot.model.DomainBuilder domainBuilder)
    • Method Detail

      • withMetadataProcessor

        public com.blazebit.domain.declarative.DeclarativeDomainConfiguration withMetadataProcessor​(com.blazebit.domain.declarative.spi.DeclarativeMetadataProcessor<? extends Annotation> metadataProcessor)
        Specified by:
        withMetadataProcessor in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • withMetadataProcessor

        public com.blazebit.domain.declarative.DeclarativeDomainConfiguration withMetadataProcessor​(com.blazebit.domain.declarative.spi.DeclarativeAttributeMetadataProcessor<? extends Annotation> metadataProcessor)
        Specified by:
        withMetadataProcessor in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • withMetadataProcessor

        public com.blazebit.domain.declarative.DeclarativeDomainConfiguration withMetadataProcessor​(com.blazebit.domain.declarative.spi.DeclarativeFunctionMetadataProcessor<? extends Annotation> metadataProcessor)
        Specified by:
        withMetadataProcessor in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • withMetadataProcessor

        public com.blazebit.domain.declarative.DeclarativeDomainConfiguration withMetadataProcessor​(com.blazebit.domain.declarative.spi.DeclarativeFunctionParameterMetadataProcessor<? extends Annotation> metadataProcessor)
        Specified by:
        withMetadataProcessor in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • getTypeResolver

        public com.blazebit.domain.declarative.spi.TypeResolver getTypeResolver()
        Specified by:
        getTypeResolver in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • setTypeResolver

        public com.blazebit.domain.declarative.DeclarativeDomainConfiguration setTypeResolver​(com.blazebit.domain.declarative.spi.TypeResolver typeResolver)
        Specified by:
        setTypeResolver in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • getTypeResolverDecorators

        public List<com.blazebit.domain.declarative.spi.TypeResolverDecorator> getTypeResolverDecorators()
        Specified by:
        getTypeResolverDecorators in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • withTypeResolverDecorator

        public com.blazebit.domain.declarative.DeclarativeDomainConfiguration withTypeResolverDecorator​(com.blazebit.domain.declarative.spi.TypeResolverDecorator typeResolverDecorator)
        Specified by:
        withTypeResolverDecorator in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • getService

        public <T> T getService​(Class<T> serviceClass)
        Specified by:
        getService in interface com.blazebit.domain.declarative.spi.ServiceProvider<com.blazebit.domain.declarative.DeclarativeDomainConfiguration>
      • getServices

        public Map<Class<?>,​Object> getServices()
        Specified by:
        getServices in interface com.blazebit.domain.declarative.spi.ServiceProvider<com.blazebit.domain.declarative.DeclarativeDomainConfiguration>
      • withService

        public <T> com.blazebit.domain.declarative.DeclarativeDomainConfiguration withService​(Class<T> serviceClass,
                                                                                              T service)
        Specified by:
        withService in interface com.blazebit.domain.declarative.spi.ServiceProvider<com.blazebit.domain.declarative.DeclarativeDomainConfiguration>
      • setFunctionCaseSensitive

        public com.blazebit.domain.declarative.DeclarativeDomainConfiguration setFunctionCaseSensitive​(boolean caseSensitive)
        Specified by:
        setFunctionCaseSensitive in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • createDomainModel

        public com.blazebit.domain.runtime.model.DomainModel createDomainModel()
        Specified by:
        createDomainModel in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • createDomainModel

        public com.blazebit.domain.runtime.model.DomainModel createDomainModel​(com.blazebit.domain.boot.model.DomainBuilder domainBuilder)
        Specified by:
        createDomainModel in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • addDomainFunctions

        public com.blazebit.domain.declarative.DeclarativeDomainConfiguration addDomainFunctions​(Class<?> domainFunctionsClass)
        Specified by:
        addDomainFunctions in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • addDomainFunctions

        public com.blazebit.domain.declarative.DeclarativeDomainConfiguration addDomainFunctions​(Class<?> domainFunctionsClass,
                                                                                                 com.blazebit.domain.declarative.DomainFunctions domainFunctionsAnnotation)
        Specified by:
        addDomainFunctions in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • addDomainType

        public com.blazebit.domain.declarative.DeclarativeDomainConfiguration addDomainType​(Class<?> domainTypeClass)
        Specified by:
        addDomainType in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • addDomainType

        public com.blazebit.domain.declarative.DeclarativeDomainConfiguration addDomainType​(Class<?> domainTypeClass,
                                                                                            com.blazebit.domain.declarative.DomainType domainTypeAnnotation)
        Specified by:
        addDomainType in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • getProperties

        public Map<String,​Object> getProperties()
        Specified by:
        getProperties in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • getProperty

        public Object getProperty​(String propertyName)
        Specified by:
        getProperty in interface com.blazebit.domain.declarative.DeclarativeDomainConfiguration
      • analyzeDomainFunctions

        public void analyzeDomainFunctions​(com.blazebit.domain.boot.model.DomainBuilder domainBuilder,
                                           List<String> errors)
      • resolveType

        protected com.blazebit.domain.declarative.impl.spi.DeclarativeDomainConfigurationImpl.ResolvedType resolveType​(String typeName,
                                                                                                                       String elementTypeName,
                                                                                                                       Class<?> type,
                                                                                                                       Class<?> elementType,
                                                                                                                       Class<?> baseClass,
                                                                                                                       Method method,
                                                                                                                       Parameter parameter)
      • getAttributeName

        protected static String getAttributeName​(Method getterOrSetter)