All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aspectran.embed.service.EmbeddedAspectran Maven / Gradle / Ivy

There is a newer version: 8.1.5
Show newest version
/*
 * Copyright (c) 2008-2019 The Aspectran Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.aspectran.embed.service;

import com.aspectran.core.activity.Translet;
import com.aspectran.core.activity.request.ParameterMap;
import com.aspectran.core.adapter.SessionAdapter;
import com.aspectran.core.context.config.AspectranConfig;
import com.aspectran.core.context.rule.type.MethodType;
import com.aspectran.core.service.AspectranServiceException;
import com.aspectran.core.service.CoreService;
import com.aspectran.core.util.logging.Log;
import com.aspectran.core.util.logging.LogFactory;

import java.io.File;
import java.io.IOException;
import java.io.Reader;
import java.util.Map;

/**
 * The Interface EmbeddedAspectran.
 *
 * 

Created: 2017. 10. 28.

*/ public interface EmbeddedAspectran extends CoreService { /** * Returns whether or not the translet can be exposed to the daemon service. * * @param transletName the name of the translet to check * @return true if the translet can be exposed; false otherwise */ boolean isExposable(String transletName); /** * Create and return a new session adapter from the embedded aspectran. * * @return the session adapter */ SessionAdapter newSessionAdapter(); /** * Executes the translet. * * @param name the translet name * @return the {@code Translet} object */ Translet translate(String name); Translet translate(String name, String body); /** * Executes the translet with the given parameters. * * @param name the translet name * @param parameterMap the parameter map * @return the {@code Translet} object */ Translet translate(String name, ParameterMap parameterMap); /** * Executes the translet with the given parameters and attributes. * * @param name the translet name * @param parameterMap the parameter map * @param attributeMap the attribute map * @return the {@code Translet} object */ Translet translate(String name, ParameterMap parameterMap, Map attributeMap); /** * Executes the translet with the given parameters. * * @param name the translet name * @param attributeMap the attribute map * @return the {@code Translet} object */ Translet translate(String name, Map attributeMap); /** * Executes the translet without the supplied variables. * * @param name the translet name * @param method the request method * @return the {@code Translet} object */ Translet translate(String name, MethodType method); /** * Executes the translet with the given parameters. * * @param name the translet name * @param method the request method * @param parameterMap the parameter map * @return the {@code Translet} object */ Translet translate(String name, MethodType method, ParameterMap parameterMap); /** * Executes the translet with the given attributes. * * @param name the translet name * @param method the request method * @param attributeMap the attribute map * @return the {@code Translet} object */ Translet translate(String name, MethodType method, Map attributeMap); /** * Executes the translet with the given parameters and attributes. * * @param name the translet name * @param method the request method * @param parameterMap the parameter map * @param attributeMap the attribute map * @param body the request body * @return the {@code Translet} object */ Translet translate(String name, MethodType method, ParameterMap parameterMap, Map attributeMap, String body); /** * Renders the template without the supplied variables. * * @param templateId the template id * @return the output string of the template */ String render(String templateId); /** * Renders the template with the given parameters. * * @param templateId the template id * @param parameterMap the parameter map * @return the output string of the template */ String render(String templateId, ParameterMap parameterMap); /** * Renders the template with the given attributes. * * @param templateId the template id * @param attributeMap the attribute map * @return the output string of the template */ String render(String templateId, Map attributeMap); /** * Renders the template with the given parameters and attributes. * * @param templateId the template id * @param parameterMap the parameter map * @param attributeMap the attribute map * @return the output string of the template */ String render(String templateId, ParameterMap parameterMap, Map attributeMap); /** * Stop the service and release all allocated resources. */ void release(); /** * Creates and starts a new {@code DefaultEmbeddedAspectran}. * * @param aspectranConfigFile the aspectran configuration file * @return the instance of {@code EmbeddedAspectran} */ static EmbeddedAspectran run(String aspectranConfigFile) { if (aspectranConfigFile == null) { throw new IllegalArgumentException("aspectranConfigFile must not be null"); } File configFile = new File(aspectranConfigFile); return run(configFile); } /** * Creates and starts a new {@code DefaultEmbeddedAspectran}. * * @param aspectranConfigFile the aspectran configuration file * @return the instance of {@code EmbeddedAspectran} */ static EmbeddedAspectran run(File aspectranConfigFile) { if (aspectranConfigFile == null) { throw new IllegalArgumentException("aspectranConfigFile must not be null"); } AspectranConfig aspectranConfig; try { aspectranConfig = new AspectranConfig(aspectranConfigFile); } catch (IOException e) { throw new AspectranServiceException("Error parsing aspectran configuration file: " + aspectranConfigFile, e); } return run(aspectranConfig); } /** * Creates and starts a new {@code DefaultEmbeddedAspectran}. * * @param configFileReader the aspectran configuration file reader * @return the instance of {@code EmbeddedAspectran} */ static EmbeddedAspectran run(Reader configFileReader) { if (configFileReader == null) { throw new IllegalArgumentException("aspectranConfigFile must not be null"); } AspectranConfig aspectranConfig; try { aspectranConfig = new AspectranConfig(configFileReader); } catch (IOException e) { throw new AspectranServiceException("Error parsing aspectran configuration", e); } return run(aspectranConfig); } /** * Creates and starts a new {@code DefaultEmbeddedAspectran}. * * @param aspectranConfig the parameters for aspectran configuration * @return the instance of {@code EmbeddedAspectran} */ static EmbeddedAspectran run(AspectranConfig aspectranConfig) { if (aspectranConfig == null) { throw new IllegalArgumentException("aspectranConfig must not be null"); } try { DefaultEmbeddedAspectran aspectran = DefaultEmbeddedAspectran.create(aspectranConfig); aspectran.start(); return aspectran; } catch (AspectranServiceException e) { throw e; } catch (Exception e) { String message = "EmbeddedAspectran run failed with parameters:" + System.lineSeparator() + aspectranConfig.toString(); Log log = LogFactory.getLog(EmbeddedAspectran.class); log.error(message); throw new AspectranServiceException("EmbeddedAspectran run failed", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy