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

org.swrlapi.drools.factory.DroolsFactory Maven / Gradle / Ivy

There is a newer version: 2.1.3
Show newest version
package org.swrlapi.drools.factory;

import org.checkerframework.checker.nullness.qual.NonNull;
import org.swrlapi.bridge.SWRLRuleEngineBridge;
import org.swrlapi.bridge.TargetSWRLRuleEngineCreator;
import org.swrlapi.drools.converters.id.DroolsOWLDataRangeHandler;
import org.swrlapi.drools.converters.oo.DroolsOWLClassExpressionHandler;
import org.swrlapi.drools.converters.oo.DroolsOWLPropertyExpressionHandler;
import org.swrlapi.drools.core.DroolsSWRLRuleEngineCreator;
import org.swrlapi.drools.extractors.DroolsOWLAxiomExtractor;
import org.swrlapi.drools.extractors.DroolsOWLEntityExtractor;
import org.swrlapi.drools.extractors.DroolsOWLNamedIndividualExtractor;
import org.swrlapi.exceptions.SWRLAPIException;

import javax.swing.*;
import java.net.URL;

public class DroolsFactory
{
  private static final String DROOLS_ICON_NAME = "Drools.gif";

  public static @NonNull TargetSWRLRuleEngineCreator getSWRLRuleEngineCreator()
  {
    return new DroolsSWRLRuleEngineCreator();
  }

  @NonNull public static Icon getSWRLRuleEngineIcon() throws SWRLAPIException
  {
    URL url = DroolsFactory.class.getResource(DROOLS_ICON_NAME);

    if (url != null)
      return new ImageIcon(url);
    else
      throw new SWRLAPIException("No Drools icon found!");
  }

  @NonNull public static DroolsOWLAxiomExtractor getDroolsOWLAxiomExtractor(@NonNull SWRLRuleEngineBridge bridge,
    @NonNull DroolsOWLClassExpressionHandler droolsOWLClassExpressionHandler,
    @NonNull DroolsOWLPropertyExpressionHandler droolsOWLPropertyExpressionHandler,
    @NonNull DroolsOWLDataRangeHandler droolsOWLDataRangeHandler)
  {
    return new DefaultDroolsOWLAxiomExtractor(bridge, droolsOWLClassExpressionHandler,
      droolsOWLPropertyExpressionHandler, droolsOWLDataRangeHandler);
  }

  @NonNull public static DroolsOWLEntityExtractor getDroolsOWLEntityExtractor(@NonNull SWRLRuleEngineBridge bridge)
  {
    return new DefaultDroolsOWLEntityExtractor(bridge);
  }

  public static @NonNull DroolsOWLNamedIndividualExtractor getDroolsOWLIndividualExtractor(
    @NonNull SWRLRuleEngineBridge bridge)
  {
    return new DefaultDroolsOWLNamedIndividualExtractor(bridge);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy