Oracle Fusion Middleware Java API Reference for Oracle Business Rules
11g Release 1 (11.1.1.7)

E10663-11

oracle.rules.sdk2.repository
Class DictionaryLoader

java.lang.Object
  extended by oracle.rules.sdk2.repository.DictionaryLoader

public class DictionaryLoader
extends java.lang.Object

DictionaryLoader is the preferred mechanism for loading rule dictionaries for execution. DictionaryFinders are added to a DictionaryLoader instance with the addFinder in the order in which they will be invoked to find a dictionary. That is, the first finder added will be the first one to attempt to find a dictionary. The loadDictionary method is invoked to load a dictionary. When a dictionary is loaded, its linked dictionary dependencies are recorded. Proper DictionaryFinder implementations added with addFinder interact with this class to respond to dictionary updates. Depending on the finder implementation, updates to dictionaries are either detected by polling a dictionary finder or via asynchronous callback from the finder. Detection of a dictionary update is then reflected in the dictionary dependency graph. The reloadNeeded method will return true for a dictionary if it or one of the dictionaries it links to have been updated since the last time the dictionary was loaded.


Constructor Summary
DictionaryLoader()
           
 
Method Summary
 void addFinder(DictionaryFinder finder)
          Add a DictionaryFinder to the chain maintained by this instance.
 void foundDictionary(DictionaryFQN fqn, RuleDictionary rd, AbstractDictionaryFinder by, RuleDictionary from)
           
 DictionaryFinder getFinderChain()
          Get the chain of DictionaryFinder's constructed by this instance.
 RuleDictionary loadDictionary(DictionaryFQN fqn)
          Load a RuleDictionary.
 boolean reloadNeeded(DictionaryFQN fqn)
          Check whether the RuleDictionary needs to be reloaded.
 void setReloadNeeded(DictionaryFQN fqn)
          Indicates that the specified dictionary has been updated.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DictionaryLoader

public DictionaryLoader()
Method Detail

addFinder

public void addFinder(DictionaryFinder finder)
Add a DictionaryFinder to the chain maintained by this instance. Finders should be added in the order they are expected to be applied. The first finder added to the chain will be the first finder asked to find a dictionary. The DictionaryFinder should be an extension of AbstractDictionaryFinder.

Parameters:
finder - The DictionaryFinder to add.

getFinderChain

public DictionaryFinder getFinderChain()
Get the chain of DictionaryFinder's constructed by this instance.

Returns:
The chain of DictionaryFinders.

loadDictionary

public RuleDictionary loadDictionary(DictionaryFQN fqn)
Load a RuleDictionary.

Parameters:
fqn - The fully qualified name of the rule dictionary.
Returns:
The RuleDictionary or null if the dictionary is not found.

foundDictionary

public void foundDictionary(DictionaryFQN fqn,
                            RuleDictionary rd,
                            AbstractDictionaryFinder by,
                            RuleDictionary from)

reloadNeeded

public boolean reloadNeeded(DictionaryFQN fqn)
Check whether the RuleDictionary needs to be reloaded. This indicator is maintained for rule dictionaries loaded with the loadDictionary method. It will return true if the specified dictionary or any dictionary in the set of dictionaries it is linked to (recursively) have been updated since it was last loaded by this DictionaryLoader.

Parameters:
fqn - The fully qualified name of the rule dictionary.
Returns:
true if the dictionary should be reloaded.

setReloadNeeded

public void setReloadNeeded(DictionaryFQN fqn)
Indicates that the specified dictionary has been updated. This method updates the dependency graph to reflect this. Generally this method will only be invoked from a DictionaryFinder implementation.

Parameters:
fqn - The fully qualified name of the rule dictionary.

Oracle Fusion Middleware Java API Reference for Oracle Business Rules
11g Release 1 (11.1.1.7)

E10663-11

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.