| /* |
| * 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.uima.analysis_engine.metadata; |
| |
| import org.apache.uima.resource.metadata.ProcessingResourceMetaData; |
| |
| /** |
| * Encapsulates all of the metadata for an Analysis Engine. |
| * |
| * As with all {@link org.apache.uima.resource.metadata.MetaDataObject}s, an |
| * <code>AnalysisEngineMetaData</code> may or may not be modifiable. An application can find out |
| * by calling the {@link #isModifiable()} method. |
| * |
| * |
| */ |
| public interface AnalysisEngineMetaData extends ProcessingResourceMetaData { |
| |
| /** |
| * Determines if this AnalysisEngine supports asynchronous communication. Not yet implemented; |
| * reserved for furture use. |
| * |
| * @return true if and only if this AnalysisEngine supports asynchronous communication |
| */ |
| public boolean isAsynchronousModeSupported(); |
| |
| /** |
| * Sets whether this AnalysisEngine supports asynchronous communication. If this is set to true |
| * then the AnalysisEngine should implement the <code>AsynchronousAnalysisEngine</code> |
| * interface (not yet impleneted). |
| * |
| * @param aSupported |
| * true if and only if this AnalysisEngine supports asynchronous communication |
| * |
| * @throws org.apache.uima.UIMA_UnsupportedOperationException |
| * if this <code>MetaDataObject</code> is not modifiable. |
| */ |
| public void setAsynchronousModeSupported(boolean aSupported); |
| |
| /** |
| * For an aggregate AnalysisEngine only, gets the constraints on the execution sequence of the |
| * delegate AnalysisEngines within the aggregate. Flow constraints are optional. If provided they |
| * may be used by the {@link org.apache.uima.flow.FlowController}, the component which ultimately |
| * determines the flow. |
| * <p> |
| * The returned <code>FlowConstraints</code> object refers to the delgate AnalysisEngines using |
| * String keys. These are the keys used to refer to the delegate AnalysisEngines in the |
| * {@link org.apache.uima.analysis_engine.AnalysisEngineDescription#getDelegateAnalysisEngineSpecifiers()} |
| * map. |
| * |
| * @return the flow constraints for the AnalysisEngine, or <code>null</code> if no flow |
| * constraints are published by this AnalysisEngine. |
| */ |
| public FlowConstraints getFlowConstraints(); |
| |
| /** |
| * For an aggregate AnalysisEngine only, sets the constraints on the execution sequence of the |
| * delegate AnalysisEngines within the aggregate.Flow constraints are optional. If provided they |
| * may be used by the {@link org.apache.uima.flow.FlowController}, the component which ultimately |
| * determines the flow. |
| * <p> |
| * The returned <code>FlowConstraints</code> object refers to the delgate AnalysisEngines using |
| * String keys. These are the keys used to refer to the delegate AnalysisEngines in the |
| * {@link org.apache.uima.analysis_engine.AnalysisEngineDescription#getDelegateAnalysisEngineSpecifiers()} |
| * map. |
| * |
| * @param aFlowConstraints |
| * the flow constraints for the AnalysisEngine, or <code>null</code> if there are no |
| * flow constraints |
| * |
| * @throws org.apache.uima.UIMA_UnsupportedOperationException |
| * if this <code>MetaDataObject</code> is not modifiable. |
| */ |
| public void setFlowConstraints(FlowConstraints aFlowConstraints); |
| |
| /** |
| * For an aggregate AnalysisEngine only, gets the metadata of the delegate AnalysisEngines. |
| * <p> |
| * Publishing this information is optional; some implementations may always return null here. |
| * |
| * @return an array of delegate AnalysisEngine metadata, or <code>null</code> if that |
| * information is not available. |
| */ |
| public AnalysisEngineMetaData[] getDelegateAnalysisEngineMetaData(); |
| } |