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

org.apache.stanbol.enhancer.servicesapi.EnhancementJobManager Maven / Gradle / Ivy

The newest version!
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements.  See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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 org.apache.stanbol.enhancer.servicesapi;

import java.util.List;

/**
 * Accept requests for enhancing ContentItems, and processes them either
 * synchronously or asynchronously (as decided by the enhancement engines,
 * the job manager implementation, the execution plan provided by the 
 * {@link Chain} or by some additional configurations).
 * 

* The progress of the enhancement process should be made accessible in the * ContentItem's metadata. */ public interface EnhancementJobManager { /** * Enhances the parsed contentItem by using the default enhancement * Chain. * Create relevant asynchronous requests or enhance content immediately. The * result is not persisted right now. The caller is responsible for calling the * {@link Store#put(ContentItem)} afterwards in case persistence is * required. *

* TODO: define the expected semantics if asynchronous enhancements were to * get implemented. * @throws EnhancementException if the enhancement process failed */ void enhanceContent(ContentItem ci) throws EnhancementException; /** * Processes the parsed {@link ContentItem} by using the * {@link Chain#getExecutionPlan() execution plan} provided by the * {@link Chain}. * @param ci : ContentItem to be enhanced * @param chain : The enhancement Chain used to process the content item * @throws EnhancementException : if an Engine required by the Chain fails to * process the ContentItem * @throws ChainException : if the enhancement process failed */ void enhanceContent(ContentItem ci, Chain chain) throws EnhancementException; /** * Return the unmodifiable list of active registered engine instance that * can be used by the manager. * @deprecated use the {@link EnhancementEngineManager} to get information * about currently active Engines and the {@link ChainManager} to get active * chains. This method will now return active engines of the default chain. */ @Deprecated List getActiveEngines(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy