|
Oracle Fusion Middleware Java API Reference for Oracle Data Visualization Components 11g Release 1 (11.1.1) E12063-03 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
oracle.dss.rules.RuleBundle
public class RuleBundle
A collection of Rule
objects. The order of the Rule
objects in the RuleBundle
determines the order in which the rules are run. The RuleBundle
supports running all of the rules in the RuleBundle
, resulting in a single Mergeable
object, which a DataView
then uses to paint an item. In cases where more than one rule sets the same property, the last rule to run sets the final value of the property.
All of the Rule
objects in the RuleBundle
must have compatible Mergeable
objects. To be compatible, Mergeable
objects should be the same class. For example, all of the rules should operate on ViewFormat
objects or on ViewStyle
objects, but not on some of each. A class and its subclass can be compatible if the merge
method handles any properties that are in the subclass but not in the original class.
The RuleBundle
actually contains clones of the Rule
objects that you add to the bundle. If you change a Rule
after you add it to a RuleBundle
, then call the ReplaceRule
method to replace the old Rule
with the modified Rule
.
Field Summary | |
---|---|
protected java.util.Hashtable |
m_context |
static java.lang.String |
NAME_BUNDLE |
Constructor Summary | |
---|---|
RuleBundle() Constructor. |
Method Summary | |
---|---|
void |
addRule(Rule rule) Adds a Rule to the end of this RuleBundle . |
void |
addRule(Rule rule, int index) Adds a Rule to this RuleBundle , at the specified index. |
void |
addRuleBundleListener(RuleBundleListener listener) Registers a listener for this RuleBundle . |
java.lang.Object |
clone() Clones this RuleBundle . |
void |
fireEvent(RuleBundleEvent e) Fires a RuleBundleEvent to all listeners. |
int |
getCount() Retrieves the number of rules in this RuleBundle . |
java.lang.String |
getID() Retrieves the identifier for this RuleBundle . |
Rule |
getRule(int index) Retrieves the Rule at the specified index. |
oracle.dss.util.xml.ObjectNode |
getXML(boolean allProperties, ComponentTypeConverter dataview) Retrieves XML that represents properties and their values in the form of and ObjectNode . |
oracle.dss.util.xml.ObjectNode |
getXML(boolean allProperties, ComponentTypeConverter dataview, java.lang.String name) Retrieves XML that represents properties and their values in the form of and ObjectNode . |
boolean |
isStopAtFirstMatch() Indicates whether the first Rule that applies in a RuleBundle is the last Rule that is run in the RuleBundle . |
void |
removeRule(int index) Removes the Rule at the specified index. |
void |
removeRule(Rule rule) Removes the specified Rule from this RuleBundle . |
void |
removeRuleBundleListener(RuleBundleListener listener) Removes the specified listener. |
void |
removeRulesThatApply(RuleContext context, Mergeable mergeable) Removes from this RuleBundle any Rule that applies in the specified context. |
void |
replaceRule(Rule rule, int index) Replaces a Rule with another Rule . |
boolean |
runRules(RuleContext context, Mergeable target) Runs each Rule in this RuleBundle . |
void |
setContext(java.util.Hashtable context) |
void |
setID(java.lang.String id) Specifies an identifier for this RuleBundle . |
void |
setStopAtFirstMatch(boolean v) Specifies whether the first Rule that applies in a RuleBundle is the last Rule that is run in the RuleBundle . |
void |
setXML(oracle.dss.util.xml.ContainerNode node, ComponentTypeConverter converter, java.lang.String version, int reset) Specifies XML that represents properties and values. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.util.Hashtable m_context
public static final java.lang.String NAME_BUNDLE
Constructor Detail |
---|
public RuleBundle()
Method Detail |
---|
public java.lang.Object clone()
RuleBundle
. The clone contains a clone of each Rule
in this RuleBundle
.clone
in class java.lang.Object
RuleBundle
.public Rule getRule(int index)
Rule
at the specified index. At this time, this method returns a reference to the Rule
; it does not clone the Rule
.index
- The index of the Rule
that you want. Valid indexes are zero to the current size of this RuleBundle
.Rule
at the specified index.public void addRule(Rule rule)
Rule
to the end of this RuleBundle
. This method fires a RuleBundleEvent
to notify listeners that the RuleBundle
was modified.rule
- The Rule
to add.public void addRule(Rule rule, int index)
Rule
to this RuleBundle
, at the specified index. This method fires a RuleBundleEvent
to notify listeners that the RuleBundle
was modified.rule
- The Rule
to add.index
- The index at which to add the Rule
. Valid values are zero to the current size of the RuleBundle
.public void addRuleBundleListener(RuleBundleListener listener)
RuleBundle
.listener
- The listener to add.public boolean runRules(RuleContext context, Mergeable target) throws RuleException
Rule
in this RuleBundle
. This method passes a single Mergeable
object to be modified by all the Rules
that are run and that apply.
If the isStopAtFirstMatch
method returns true
, then this method runs rules only until a rule applies. If isStopAtFirstMatch
returns false
, then this method runs all of the rules in the bundle.
context
- Information about the data item in question. Rules
use this information to test whether they apply.target
- The Mergeable
object whose properties are to be modified by a Rule
that applies.true
if any Rule
applies (that is, if the Mergeable
is changed at all), false
if no Rule
applies.RuleException
- If context
is unusable for some reason or if any Rule
in this RuleBundle
has a problem.public int getCount()
RuleBundle
.RuleBundle
.public void removeRuleBundleListener(RuleBundleListener listener)
listener
- The listener to remove.public void fireEvent(RuleBundleEvent e)
RuleBundleEvent
to all listeners. Currently, the RuleBundleEvent
has one type, which indicates that the RuleBundle
has been modified.
If you change a Rule
in this RuleBundle
, then you should call this method.
e
- The RuleBundleEvent
.public void removeRule(Rule rule)
Rule
from this RuleBundle
. This method fires a RuleBundleEvent
to notify listeners that the RuleBundle
was modified.rule
- The Rule
to remove.public void removeRule(int index)
Rule
at the specified index. This method fires a RuleBundleEvent
to notify listeners that the RuleBundle
was modified.index
- The index of the Rule
to remove. Valid values are zero to the current size of the RuleBundle
.public void removeRulesThatApply(RuleContext context, Mergeable mergeable) throws RuleException
RuleBundle
any Rule
that applies in the specified context. If this method removes any rules, then it fires a RuleBundleEvent
to notify listeners that the RuleBundle
was modified.context
- Information about the DataView
item in question. This method uses this information to test whether the rules apply.mergeable
- The Mergeable
object that would be modified if the rules were run. This method does not run rules, so the Mergeable
is not modified. Dynamic rules might use the Mergeable
to see if they apply.RuleException
- If context
is unusable for some reason or if any Rule
in this RuleBundle
has a problem.public void replaceRule(Rule rule, int index)
Rule
with another Rule
. This method fires a RuleBundleEvent
to notify listeners that the RuleBundle
was modified.rule
- The Rule
that you want to put in this RuleBundle
.index
- The index of the Rule
that you want rule
to replace.public void setStopAtFirstMatch(boolean v)
Rule
that applies in a RuleBundle
is the last Rule
that is run in the RuleBundle
. This method affects the behavior of the runRules
method. This method fires a RuleBundleEvent
to notify listeners that the RuleBundle
was modified.v
- true
to stop rules from running after the first rule that applies is fired, false
to have all the rules in the bundle run.public boolean isStopAtFirstMatch()
Rule
that applies in a RuleBundle
is the last Rule
that is run in the RuleBundle
. The return value of this method affects the behavior of the runRules
method.true
if the first Rule
that applies is the last Rule
that runs, false
if all the rules in the bundle are run.public void setID(java.lang.String id)
RuleBundle
.id
- The String
that identifies this RuleBundle
.public java.lang.String getID()
RuleBundle
.RuleBundle
.public void setContext(java.util.Hashtable context)
context
- A hashtable that a user can use to pass XMLContext One can also use this table to pass more information to its objects.public void setXML(oracle.dss.util.xml.ContainerNode node, ComponentTypeConverter converter, java.lang.String version, int reset)
Rule
.node
- ObjectNode
that has the properties and their values.converter
- A class that converts view component identifiers from strings to integers and back. Dataview
objects implement the ComponentTypeConverter
interface.version
- The XML version.reset
- A constant that indicates how much to reset when XML is applied. Valid values are listed in the See Also section.Rule.RESET_NONE
, Rule.RESET_XML_PROPERTIES
, Rule.RESET_EVERYTHING
public oracle.dss.util.xml.ObjectNode getXML(boolean allProperties, ComponentTypeConverter dataview)
ObjectNode
.allProperties
- true
to store all property values in XML, false
to store only values that are different from default values.dataview
- A class that converts view component identifiers from strings to integers and back. Dataview
objects implement the ComponentTypeConverter
interface.public oracle.dss.util.xml.ObjectNode getXML(boolean allProperties, ComponentTypeConverter dataview, java.lang.String name)
ObjectNode
.allProperties
- true
to store all property values in XML, false
to store only values that are different from default values.dataview
- A class that converts view component identifiers from strings to integers and back. Dataview
objects implement the ComponentTypeConverter
interface.name
- The element name to use in the XML.
|
Oracle Fusion Middleware Java API Reference for Oracle Data Visualization Components 11g Release 1 (11.1.1) E12063-03 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |