com.izforge.izpack.rules
Class RulesEngine

java.lang.Object
  extended by com.izforge.izpack.rules.RulesEngine

public class RulesEngine
extends java.lang.Object

The rules engine class is the central point for checking conditions

Author:
Dennis Reil, created: 09.11.2006, 13:48:39

Field Summary
protected static java.util.Map conditionsmap
           
protected  XMLElement conditionsspec
           
protected static InstallData installdata
           
protected  java.util.Map<java.lang.String,java.lang.String> optionalpackconditions
           
protected  java.util.Map<java.lang.String,java.lang.String> packconditions
           
protected  java.util.Map<java.lang.String,java.lang.String> panelconditions
           
 
Constructor Summary
private RulesEngine()
           
  RulesEngine(java.util.Map rules, InstallData installdata)
           
  RulesEngine(XMLElement conditionsspecxml, InstallData installdata)
           
 
Method Summary
static Condition analyzeCondition(XMLElement condition)
           
 boolean canInstallPack(java.lang.String packid, java.util.Properties variables)
          Is the installation of a pack possible?
 boolean canInstallPackOptional(java.lang.String packid, java.util.Properties variables)
          Is an optional installation of a pack possible if the condition is not met?
 boolean canShowPanel(java.lang.String panelid, java.util.Properties variables)
          Can a panel be shown?
protected  boolean checkAttribute(java.lang.String val, java.lang.String attribute, java.lang.String element)
          Checks if an attribute for an xmlelement is set.
private  void createBuiltinOsCondition(java.lang.String osVersionField, java.lang.String conditionId)
           
static Condition getCondition(java.lang.String id)
           
protected static Condition getConditionByExpr(java.lang.StringBuffer conditionexpr)
           
 java.lang.String[] getKnownConditionIds()
          Returns the current known condition ids.
private  void init()
          initializes builtin conditions
 boolean isConditionTrue(Condition cond)
           
 boolean isConditionTrue(Condition cond, java.util.Properties variables)
           
 boolean isConditionTrue(java.lang.String id)
           
 boolean isConditionTrue(java.lang.String id, java.util.Properties variables)
           
protected  void readConditions()
          Read the spec for the conditions
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

panelconditions

protected java.util.Map<java.lang.String,java.lang.String> panelconditions

packconditions

protected java.util.Map<java.lang.String,java.lang.String> packconditions

optionalpackconditions

protected java.util.Map<java.lang.String,java.lang.String> optionalpackconditions

conditionsspec

protected XMLElement conditionsspec

conditionsmap

protected static java.util.Map conditionsmap

installdata

protected static InstallData installdata
Constructor Detail

RulesEngine

private RulesEngine()

RulesEngine

public RulesEngine(XMLElement conditionsspecxml,
                   InstallData installdata)

RulesEngine

public RulesEngine(java.util.Map rules,
                   InstallData installdata)
Method Detail

init

private void init()
initializes builtin conditions


createBuiltinOsCondition

private void createBuiltinOsCondition(java.lang.String osVersionField,
                                      java.lang.String conditionId)

getKnownConditionIds

public java.lang.String[] getKnownConditionIds()
Returns the current known condition ids.

Returns:

checkAttribute

protected boolean checkAttribute(java.lang.String val,
                                 java.lang.String attribute,
                                 java.lang.String element)
Checks if an attribute for an xmlelement is set.

Parameters:
val - value of attribute to check
attribute - the attribute which is checked
element - the element
Returns:
true value was set false no value was set

analyzeCondition

public static Condition analyzeCondition(XMLElement condition)

readConditions

protected void readConditions()
Read the spec for the conditions


getCondition

public static Condition getCondition(java.lang.String id)

getConditionByExpr

protected static Condition getConditionByExpr(java.lang.StringBuffer conditionexpr)

isConditionTrue

public boolean isConditionTrue(java.lang.String id,
                               java.util.Properties variables)

isConditionTrue

public boolean isConditionTrue(Condition cond,
                               java.util.Properties variables)

isConditionTrue

public boolean isConditionTrue(java.lang.String id)

isConditionTrue

public boolean isConditionTrue(Condition cond)

canShowPanel

public boolean canShowPanel(java.lang.String panelid,
                            java.util.Properties variables)
Can a panel be shown?

Parameters:
panelid - - id of the panel, which should be shown
variables - - the variables
Returns:
true - there is no condition or condition is met false - there is a condition and the condition was not met

canInstallPack

public boolean canInstallPack(java.lang.String packid,
                              java.util.Properties variables)
Is the installation of a pack possible?

Parameters:
packid -
variables -
Returns:
true - there is no condition or condition is met false - there is a condition and the condition was not met

canInstallPackOptional

public boolean canInstallPackOptional(java.lang.String packid,
                                      java.util.Properties variables)
Is an optional installation of a pack possible if the condition is not met?

Parameters:
packid -
variables -
Returns: