org.swrlapi.core.SWRLRuleEngineManager Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of swrlapi Show documentation
Show all versions of swrlapi Show documentation
Java API for working with SWRL rules and SQWRL queries
package org.swrlapi.core;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.swrlapi.bridge.TargetSWRLRuleEngineCreator;
import java.util.Optional;
import java.util.Set;
/**
* This interface defines a manager to create and manage instances of SWRL rule engines.
*
* @see org.swrlapi.bridge.TargetSWRLRuleEngine
* @see TargetSWRLRuleEngineCreator
*/
public interface SWRLRuleEngineManager
{
/**
* @return True if at least one rule engine is registered
*/
boolean hasRegisteredRuleEngines();
/**
* @return Any registered rule engine name - if any.
*/
Optional<@NonNull String> getAnyRegisteredRuleEngineName();
/**
* @param ruleEngineCreator A creator for the rule engine
*/
void registerRuleEngine(@NonNull TargetSWRLRuleEngineCreator ruleEngineCreator);
/**
* @param ruleEngineName A rule engine name
* @return True if an engine with the specified name is registered
*/
boolean isRuleEngineRegistered(@NonNull String ruleEngineName);
/**
* @return A list of registered rule engine names
*/
@NonNull Set<@NonNull String> getRegisteredRuleEngineNames();
/**
* @param ruleEngineName A rule engine name
* @return A creator for the specified rule engine; null if it is not registered
*/
Optional<@NonNull TargetSWRLRuleEngineCreator> getRegisteredRuleEngineCreator(@NonNull String ruleEngineName);
/**
* @param ruleEngineName A rule engine name
*/
void unregisterSWRLRuleEngine(@NonNull String ruleEngineName);
}