public abstract class ProcessEngineConfigurationImpl extends ProcessEngineConfiguration
activityFontName, asyncExecutor, asyncExecutorActivate, asyncExecutorEnabled, asyncFailedJobWaitTime, classLoader, clock, databaseCatalog, databaseSchema, databaseSchemaUpdate, databaseTablePrefix, databaseType, dataSource, dataSourceJndiName, DB_SCHEMA_UPDATE_CREATE_DROP, DB_SCHEMA_UPDATE_FALSE, DB_SCHEMA_UPDATE_TRUE, defaultCamelContext, defaultFailedJobWaitTime, history, historyLevel, idBlockSize, isCreateDiagramOnDeploy, isDbHistoryUsed, isDbIdentityUsed, jdbcDefaultTransactionIsolationLevel, jdbcDriver, jdbcMaxActiveConnections, jdbcMaxCheckoutTime, jdbcMaxIdleConnections, jdbcMaxWaitTime, jdbcPassword, jdbcPingConnectionNotUsedFor, jdbcPingEnabled, jdbcPingQuery, jdbcUrl, jdbcUsername, jobExecutor, jobExecutorActivate, jpaCloseEntityManager, jpaEntityManagerFactory, jpaHandleTransaction, jpaPersistenceUnitName, labelFontName, lockTimeAsyncJobWaitTime, mailServerDefaultFrom, mailServerHost, mailServerPassword, mailServerPort, mailServers, mailServerUsername, mailSessionJndi, mailSessionsJndi, NO_TENANT_ID, processDiagramGenerator, processEngineLifecycleListener, processEngineName, tablePrefixIsSchema, transactionsExternallyManaged, useClassForNameClassLoading, useSSL, useTLS, xmlEncoding
Constructor and Description |
---|
ProcessEngineConfigurationImpl() |
createProcessEngineConfigurationFromInputStream, createProcessEngineConfigurationFromInputStream, createProcessEngineConfigurationFromResource, createProcessEngineConfigurationFromResource, createProcessEngineConfigurationFromResourceDefault, createStandaloneInMemProcessEngineConfiguration, createStandaloneProcessEngineConfiguration, getActivityFontName, getAsyncExecutor, getAsyncFailedJobWaitTime, getClassLoader, getClock, getDatabaseCatalog, getDatabaseSchema, getDatabaseSchemaUpdate, getDatabaseTablePrefix, getDatabaseType, getDataSource, getDataSourceJndiName, getDefaultCamelContext, getDefaultFailedJobWaitTime, getHistory, getHistoryLevel, getIdBlockSize, getJdbcDefaultTransactionIsolationLevel, getJdbcDriver, getJdbcMaxActiveConnections, getJdbcMaxCheckoutTime, getJdbcMaxIdleConnections, getJdbcMaxWaitTime, getJdbcPassword, getJdbcPingConnectionNotUsedFor, getJdbcPingQuery, getJdbcUrl, getJdbcUsername, getJobExecutor, getJpaEntityManagerFactory, getJpaPersistenceUnitName, getLabelFontName, getLockTimeAsyncJobWaitTime, getMailServer, getMailServerDefaultFrom, getMailServerHost, getMailServerPassword, getMailServerPort, getMailServers, getMailServerUsername, getMailServerUseSSL, getMailServerUseTLS, getMailSessionJndi, getMailSessionJndi, getMailSessionsJndi, getProcessDiagramGenerator, getProcessEngineLifecycleListener, getProcessEngineName, getXmlEncoding, isAsyncExecutorActivate, isAsyncExecutorEnabled, isCreateDiagramOnDeploy, isDbHistoryUsed, isDbIdentityUsed, isEnableProcessDefinitionInfoCache, isJdbcPingEnabled, isJobExecutorActivate, isJpaCloseEntityManager, isJpaHandleTransaction, isTablePrefixIsSchema, isTransactionsExternallyManaged, isUseClassForNameClassLoading, setActivityFontName, setAsyncExecutor, setAsyncExecutorActivate, setAsyncExecutorEnabled, setAsyncFailedJobWaitTime, setClassLoader, setClock, setCreateDiagramOnDeploy, setDatabaseCatalog, setDatabaseSchema, setDatabaseSchemaUpdate, setDatabaseTablePrefix, setDatabaseType, setDataSource, setDataSourceJndiName, setDbHistoryUsed, setDbIdentityUsed, setDefaultCamelContext, setDefaultFailedJobWaitTime, setEnableProcessDefinitionInfoCache, setHistory, setHistoryLevel, setIdBlockSize, setJdbcDefaultTransactionIsolationLevel, setJdbcDriver, setJdbcMaxActiveConnections, setJdbcMaxCheckoutTime, setJdbcMaxIdleConnections, setJdbcMaxWaitTime, setJdbcPassword, setJdbcPingConnectionNotUsedFor, setJdbcPingEnabled, setJdbcPingQuery, setJdbcUrl, setJdbcUsername, setJobExecutor, setJobExecutorActivate, setJpaCloseEntityManager, setJpaEntityManagerFactory, setJpaHandleTransaction, setJpaPersistenceUnitName, setLabelFontName, setLockTimeAsyncJobWaitTime, setMailServerDefaultFrom, setMailServerHost, setMailServerPassword, setMailServerPort, setMailServers, setMailServerUsername, setMailServerUseSSL, setMailServerUseTLS, setMailSessionJndi, setMailSessionsJndi, setProcessDiagramGenerator, setProcessEngineLifecycleListener, setProcessEngineName, setTablePrefixIsSchema, setTransactionsExternallyManaged, setUseClassForNameClassLoading, setXmlEncoding
public static final String DB_SCHEMA_UPDATE_CREATE
public static final String DB_SCHEMA_UPDATE_DROP_CREATE
public static final String DEFAULT_WS_SYNC_FACTORY
public static final String DEFAULT_MYBATIS_MAPPING_FILE
protected RepositoryService repositoryService
protected RuntimeService runtimeService
protected HistoryService historyService
protected IdentityService identityService
protected TaskService taskService
protected FormService formService
protected ManagementService managementService
protected DynamicBpmnService dynamicBpmnService
protected CommandConfig defaultCommandConfig
protected CommandConfig schemaCommandConfig
protected CommandInterceptor commandInvoker
protected List<CommandInterceptor> customPreCommandInterceptors
processed
to build the commandExecutor
protected List<CommandInterceptor> customPostCommandInterceptors
protected List<CommandInterceptor> commandInterceptors
protected CommandExecutor commandExecutor
protected List<SessionFactory> customSessionFactories
protected DbSqlSessionFactory dbSqlSessionFactory
protected Map<Class<?>,SessionFactory> sessionFactories
protected boolean enableConfiguratorServiceLoader
protected List<ProcessEngineConfigurator> configurators
protected List<ProcessEngineConfigurator> allConfigurators
protected BpmnDeployer bpmnDeployer
protected BpmnParser bpmnParser
protected DeploymentManager deploymentManager
protected int processDefinitionCacheLimit
protected DeploymentCache<ProcessDefinitionEntity> processDefinitionCache
protected int bpmnModelCacheLimit
protected DeploymentCache<org.activiti.bpmn.model.BpmnModel> bpmnModelCache
protected int processDefinitionInfoCacheLimit
protected ProcessDefinitionInfoCache processDefinitionInfoCache
protected int knowledgeBaseCacheLimit
protected DeploymentCache<Object> knowledgeBaseCache
protected List<JobHandler> customJobHandlers
protected Map<String,JobHandler> jobHandlers
protected org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory
protected org.apache.ibatis.transaction.TransactionFactory transactionFactory
protected IdGenerator idGenerator
protected DataSource idGeneratorDataSource
protected String idGeneratorDataSourceJndiName
protected List<BpmnParseHandler> preBpmnParseHandlers
protected List<BpmnParseHandler> postBpmnParseHandlers
protected List<BpmnParseHandler> customDefaultBpmnParseHandlers
protected ActivityBehaviorFactory activityBehaviorFactory
protected ListenerFactory listenerFactory
protected BpmnParseFactory bpmnParseFactory
protected ProcessValidator processValidator
protected List<FormEngine> customFormEngines
protected Map<String,FormEngine> formEngines
protected List<AbstractFormType> customFormTypes
protected FormTypes formTypes
protected List<VariableType> customPreVariableTypes
protected List<VariableType> customPostVariableTypes
protected VariableTypes variableTypes
protected ExpressionManager expressionManager
protected ScriptingEngines scriptingEngines
protected List<ResolverFactory> resolverFactories
protected BusinessCalendarManager businessCalendarManager
protected String wsSyncFactoryClassName
protected CommandContextFactory commandContextFactory
protected TransactionContextFactory transactionContextFactory
protected DelegateInterceptor delegateInterceptor
protected RejectedJobsHandler customRejectedJobsHandler
protected Map<String,EventHandler> eventHandlers
protected List<EventHandler> customEventHandlers
protected FailedJobCommandFactory failedJobCommandFactory
protected boolean enableSafeBpmnXml
protected int batchSizeProcessInstances
protected int batchSizeTasks
protected boolean isBulkInsertEnabled
protected int maxNrOfStatementsInBulkInsert
protected com.fasterxml.jackson.databind.ObjectMapper objectMapper
protected boolean enableEventDispatcher
protected ActivitiEventDispatcher eventDispatcher
protected List<ActivitiEventListener> eventListeners
protected Map<String,List<ActivitiEventListener>> typedEventListeners
protected boolean enableDatabaseEventLogging
protected int maxLengthStringVariableType
protected boolean enableProcessDefinitionInfoCache
protected Activiti5CompatibilityHandler activiti5CompatibilityHandler
protected static Properties databaseTypeMappings
public static final String DATABASE_TYPE_H2
public static final String DATABASE_TYPE_HSQL
public static final String DATABASE_TYPE_MYSQL
public static final String DATABASE_TYPE_ORACLE
public static final String DATABASE_TYPE_POSTGRES
public static final String DATABASE_TYPE_MSSQL
public static final String DATABASE_TYPE_DB2
public ProcessEngine buildProcessEngine()
buildProcessEngine
in class ProcessEngineConfiguration
protected void init()
protected void initFailedJobCommandFactory()
protected void initCommandExecutors()
protected void initDefaultCommandConfig()
protected void initCommandInvoker()
protected void initCommandInterceptors()
protected Collection<? extends CommandInterceptor> getDefaultCommandInterceptors()
protected void initCommandExecutor()
protected CommandInterceptor initInterceptorChain(List<CommandInterceptor> chain)
protected abstract CommandInterceptor createTransactionInterceptor()
protected void initServices()
protected void initService(Object service)
protected void initDataSource()
protected static Properties getDefaultDatabaseTypeMappings()
public void initDatabaseType()
protected void initTransactionFactory()
protected void initSqlSessionFactory()
protected org.apache.ibatis.session.Configuration initMybatisConfiguration(org.apache.ibatis.mapping.Environment environment, Reader reader, Properties properties)
protected void initMybatisTypeHandlers(org.apache.ibatis.session.Configuration configuration)
protected void initCustomMybatisMappers(org.apache.ibatis.session.Configuration configuration)
protected org.apache.ibatis.session.Configuration parseMybatisConfiguration(org.apache.ibatis.session.Configuration configuration, org.apache.ibatis.builder.xml.XMLConfigBuilder parser)
protected org.apache.ibatis.session.Configuration parseCustomMybatisXMLMappers(org.apache.ibatis.session.Configuration configuration)
protected InputStream getResourceAsStream(String resource)
protected InputStream getMyBatisXmlConfigurationSteam()
public void setCustomMybatisXMLMappers(Set<String> customMybatisXMLMappers)
protected void initSessionFactories()
protected void addSessionFactory(SessionFactory sessionFactory)
protected void initConfigurators()
protected void configuratorsBeforeInit()
protected void configuratorsAfterInit()
protected void initDeployers()
protected Collection<? extends Deployer> getDefaultDeployers()
protected List<BpmnParseHandler> getDefaultBpmnParseHandlers()
protected List<BpmnParseHandler> getDefaultHistoryParseHandlers()
protected void initProcessDiagramGenerator()
protected void initJobHandlers()
protected void initJobExecutor()
protected void initAsyncExecutor()
public void initHistoryLevel()
protected void initIdGenerator()
protected void initCommandContextFactory()
protected void initTransactionContextFactory()
protected void initVariableTypes()
protected void initFormEngines()
protected void initFormTypes()
protected void initScriptingEngines()
protected void initExpressionManager()
protected void initBusinessCalendarManager()
protected void initDelegateInterceptor()
protected void initEventHandlers()
protected void initJpa()
protected void initBeans()
protected void initEventDispatcher()
protected void initProcessValidator()
protected void initDatabaseEventLogging()
public CommandConfig getDefaultCommandConfig()
public void setDefaultCommandConfig(CommandConfig defaultCommandConfig)
public CommandConfig getSchemaCommandConfig()
public void setSchemaCommandConfig(CommandConfig schemaCommandConfig)
public CommandInterceptor getCommandInvoker()
public void setCommandInvoker(CommandInterceptor commandInvoker)
public List<CommandInterceptor> getCustomPreCommandInterceptors()
public ProcessEngineConfigurationImpl setCustomPreCommandInterceptors(List<CommandInterceptor> customPreCommandInterceptors)
public List<CommandInterceptor> getCustomPostCommandInterceptors()
public ProcessEngineConfigurationImpl setCustomPostCommandInterceptors(List<CommandInterceptor> customPostCommandInterceptors)
public List<CommandInterceptor> getCommandInterceptors()
public ProcessEngineConfigurationImpl setCommandInterceptors(List<CommandInterceptor> commandInterceptors)
public CommandExecutor getCommandExecutor()
public ProcessEngineConfigurationImpl setCommandExecutor(CommandExecutor commandExecutor)
public RepositoryService getRepositoryService()
getRepositoryService
in class ProcessEngineConfiguration
public ProcessEngineConfigurationImpl setRepositoryService(RepositoryService repositoryService)
public RuntimeService getRuntimeService()
getRuntimeService
in class ProcessEngineConfiguration
public ProcessEngineConfigurationImpl setRuntimeService(RuntimeService runtimeService)
public HistoryService getHistoryService()
getHistoryService
in class ProcessEngineConfiguration
public ProcessEngineConfigurationImpl setHistoryService(HistoryService historyService)
public IdentityService getIdentityService()
getIdentityService
in class ProcessEngineConfiguration
public ProcessEngineConfigurationImpl setIdentityService(IdentityService identityService)
public TaskService getTaskService()
getTaskService
in class ProcessEngineConfiguration
public ProcessEngineConfigurationImpl setTaskService(TaskService taskService)
public FormService getFormService()
getFormService
in class ProcessEngineConfiguration
public ProcessEngineConfigurationImpl setFormService(FormService formService)
public ManagementService getManagementService()
getManagementService
in class ProcessEngineConfiguration
public DynamicBpmnService getDynamicBpmnService()
public ProcessEngineConfigurationImpl setManagementService(ManagementService managementService)
public ProcessEngineConfiguration getProcessEngineConfiguration()
getProcessEngineConfiguration
in class ProcessEngineConfiguration
public Map<Class<?>,SessionFactory> getSessionFactories()
public ProcessEngineConfigurationImpl setSessionFactories(Map<Class<?>,SessionFactory> sessionFactories)
public List<ProcessEngineConfigurator> getConfigurators()
public ProcessEngineConfigurationImpl addConfigurator(ProcessEngineConfigurator configurator)
public ProcessEngineConfigurationImpl setConfigurators(List<ProcessEngineConfigurator> configurators)
public void setEnableConfiguratorServiceLoader(boolean enableConfiguratorServiceLoader)
public List<ProcessEngineConfigurator> getAllConfigurators()
public BpmnDeployer getBpmnDeployer()
public ProcessEngineConfigurationImpl setBpmnDeployer(BpmnDeployer bpmnDeployer)
public BpmnParser getBpmnParser()
public ProcessEngineConfigurationImpl setBpmnParser(BpmnParser bpmnParser)
public ProcessEngineConfigurationImpl setDeployers(List<Deployer> deployers)
public IdGenerator getIdGenerator()
public ProcessEngineConfigurationImpl setIdGenerator(IdGenerator idGenerator)
public String getWsSyncFactoryClassName()
public ProcessEngineConfigurationImpl setWsSyncFactoryClassName(String wsSyncFactoryClassName)
public Map<String,FormEngine> getFormEngines()
public ProcessEngineConfigurationImpl setFormEngines(Map<String,FormEngine> formEngines)
public FormTypes getFormTypes()
public ProcessEngineConfigurationImpl setFormTypes(FormTypes formTypes)
public ScriptingEngines getScriptingEngines()
public ProcessEngineConfigurationImpl setScriptingEngines(ScriptingEngines scriptingEngines)
public VariableTypes getVariableTypes()
public ProcessEngineConfigurationImpl setVariableTypes(VariableTypes variableTypes)
public ExpressionManager getExpressionManager()
public ProcessEngineConfigurationImpl setExpressionManager(ExpressionManager expressionManager)
public BusinessCalendarManager getBusinessCalendarManager()
public ProcessEngineConfigurationImpl setBusinessCalendarManager(BusinessCalendarManager businessCalendarManager)
public CommandContextFactory getCommandContextFactory()
public ProcessEngineConfigurationImpl setCommandContextFactory(CommandContextFactory commandContextFactory)
public TransactionContextFactory getTransactionContextFactory()
public ProcessEngineConfigurationImpl setTransactionContextFactory(TransactionContextFactory transactionContextFactory)
public ProcessEngineConfigurationImpl setCustomPreDeployers(List<Deployer> customPreDeployers)
public ProcessEngineConfigurationImpl setCustomPostDeployers(List<Deployer> customPostDeployers)
public Map<String,JobHandler> getJobHandlers()
public ProcessEngineConfigurationImpl setJobHandlers(Map<String,JobHandler> jobHandlers)
public org.apache.ibatis.session.SqlSessionFactory getSqlSessionFactory()
public ProcessEngineConfigurationImpl setSqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory sqlSessionFactory)
public DbSqlSessionFactory getDbSqlSessionFactory()
public ProcessEngineConfigurationImpl setDbSqlSessionFactory(DbSqlSessionFactory dbSqlSessionFactory)
public org.apache.ibatis.transaction.TransactionFactory getTransactionFactory()
public ProcessEngineConfigurationImpl setTransactionFactory(org.apache.ibatis.transaction.TransactionFactory transactionFactory)
public List<SessionFactory> getCustomSessionFactories()
public ProcessEngineConfigurationImpl setCustomSessionFactories(List<SessionFactory> customSessionFactories)
public List<JobHandler> getCustomJobHandlers()
public ProcessEngineConfigurationImpl setCustomJobHandlers(List<JobHandler> customJobHandlers)
public List<FormEngine> getCustomFormEngines()
public ProcessEngineConfigurationImpl setCustomFormEngines(List<FormEngine> customFormEngines)
public List<AbstractFormType> getCustomFormTypes()
public ProcessEngineConfigurationImpl setCustomFormTypes(List<AbstractFormType> customFormTypes)
public ProcessEngineConfigurationImpl setCustomScriptingEngineClasses(List<String> customScriptingEngineClasses)
public List<VariableType> getCustomPreVariableTypes()
public ProcessEngineConfigurationImpl setCustomPreVariableTypes(List<VariableType> customPreVariableTypes)
public List<VariableType> getCustomPostVariableTypes()
public ProcessEngineConfigurationImpl setCustomPostVariableTypes(List<VariableType> customPostVariableTypes)
public List<BpmnParseHandler> getPreBpmnParseHandlers()
public ProcessEngineConfigurationImpl setPreBpmnParseHandlers(List<BpmnParseHandler> preBpmnParseHandlers)
public List<BpmnParseHandler> getCustomDefaultBpmnParseHandlers()
public ProcessEngineConfigurationImpl setCustomDefaultBpmnParseHandlers(List<BpmnParseHandler> customDefaultBpmnParseHandlers)
public List<BpmnParseHandler> getPostBpmnParseHandlers()
public ProcessEngineConfigurationImpl setPostBpmnParseHandlers(List<BpmnParseHandler> postBpmnParseHandlers)
public ActivityBehaviorFactory getActivityBehaviorFactory()
public ProcessEngineConfigurationImpl setActivityBehaviorFactory(ActivityBehaviorFactory activityBehaviorFactory)
public ListenerFactory getListenerFactory()
public ProcessEngineConfigurationImpl setListenerFactory(ListenerFactory listenerFactory)
public BpmnParseFactory getBpmnParseFactory()
public ProcessEngineConfigurationImpl setBpmnParseFactory(BpmnParseFactory bpmnParseFactory)
public ProcessEngineConfigurationImpl setBeans(Map<Object,Object> beans)
public List<ResolverFactory> getResolverFactories()
public ProcessEngineConfigurationImpl setResolverFactories(List<ResolverFactory> resolverFactories)
public DeploymentManager getDeploymentManager()
public ProcessEngineConfigurationImpl setDeploymentManager(DeploymentManager deploymentManager)
public ProcessEngineConfigurationImpl setDelegateInterceptor(DelegateInterceptor delegateInterceptor)
public DelegateInterceptor getDelegateInterceptor()
public RejectedJobsHandler getCustomRejectedJobsHandler()
public ProcessEngineConfigurationImpl setCustomRejectedJobsHandler(RejectedJobsHandler customRejectedJobsHandler)
public EventHandler getEventHandler(String eventType)
public ProcessEngineConfigurationImpl setEventHandlers(Map<String,EventHandler> eventHandlers)
public Map<String,EventHandler> getEventHandlers()
public List<EventHandler> getCustomEventHandlers()
public ProcessEngineConfigurationImpl setCustomEventHandlers(List<EventHandler> customEventHandlers)
public FailedJobCommandFactory getFailedJobCommandFactory()
public ProcessEngineConfigurationImpl setFailedJobCommandFactory(FailedJobCommandFactory failedJobCommandFactory)
public DataSource getIdGeneratorDataSource()
public ProcessEngineConfigurationImpl setIdGeneratorDataSource(DataSource idGeneratorDataSource)
public String getIdGeneratorDataSourceJndiName()
public ProcessEngineConfigurationImpl setIdGeneratorDataSourceJndiName(String idGeneratorDataSourceJndiName)
public int getBatchSizeProcessInstances()
public ProcessEngineConfigurationImpl setBatchSizeProcessInstances(int batchSizeProcessInstances)
public int getBatchSizeTasks()
public ProcessEngineConfigurationImpl setBatchSizeTasks(int batchSizeTasks)
public int getProcessDefinitionCacheLimit()
public ProcessEngineConfigurationImpl setProcessDefinitionCacheLimit(int processDefinitionCacheLimit)
public DeploymentCache<ProcessDefinitionEntity> getProcessDefinitionCache()
public ProcessEngineConfigurationImpl setProcessDefinitionCache(DeploymentCache<ProcessDefinitionEntity> processDefinitionCache)
public int getKnowledgeBaseCacheLimit()
public ProcessEngineConfigurationImpl setKnowledgeBaseCacheLimit(int knowledgeBaseCacheLimit)
public DeploymentCache<Object> getKnowledgeBaseCache()
public ProcessEngineConfigurationImpl setKnowledgeBaseCache(DeploymentCache<Object> knowledgeBaseCache)
public boolean isEnableSafeBpmnXml()
public ProcessEngineConfigurationImpl setEnableSafeBpmnXml(boolean enableSafeBpmnXml)
public ActivitiEventDispatcher getEventDispatcher()
public void setEventDispatcher(ActivitiEventDispatcher eventDispatcher)
public void setEnableEventDispatcher(boolean enableEventDispatcher)
public void setTypedEventListeners(Map<String,List<ActivitiEventListener>> typedListeners)
public void setEventListeners(List<ActivitiEventListener> eventListeners)
public ProcessValidator getProcessValidator()
public void setProcessValidator(ProcessValidator processValidator)
public boolean isEnableEventDispatcher()
public boolean isEnableDatabaseEventLogging()
public ProcessEngineConfigurationImpl setEnableDatabaseEventLogging(boolean enableDatabaseEventLogging)
public int getMaxLengthStringVariableType()
public ProcessEngineConfigurationImpl setMaxLengthStringVariableType(int maxLengthStringVariableType)
public ProcessEngineConfigurationImpl setBulkInsertEnabled(boolean isBulkInsertEnabled)
public boolean isBulkInsertEnabled()
public int getMaxNrOfStatementsInBulkInsert()
public void setMaxNrOfStatementsInBulkInsert(int maxNrOfStatementsInBulkInsert)
public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
public Activiti5CompatibilityHandler getActiviti5CompatibilityHandler()
public void setActiviti5CompatibilityHandler(Activiti5CompatibilityHandler activiti5CompatibilityHandler)
Copyright © 2015 Alfresco. All rights reserved.