org.sat4j.csp.main
Class SimpleCallback

java.lang.Object
  extended by org.sat4j.csp.main.SimpleCallback
All Implemented Interfaces:
ICSPCallback

public class SimpleCallback
extends Object
implements ICSPCallback


Constructor Summary
SimpleCallback()
           
 
Method Summary
 void addConstantParameter(String name, int value)
          provides a constant value
 void addDomainValue(int v)
          add a single value to the current domain
 void addDomainValue(int first, int last)
          add the range of values [first..last] to the current domain
 void addEffectiveParameter(int value)
          add an effective parameter which is a simple variable to the current constraint
 void addEffectiveParameter(String name)
          add an effective parameter which is a simple variable to the current constraint
 void addFormalParameter(String name, String type)
          add a formal parameter to the current predicate
 void addIntegerItem(int value)
          provides an integer value in a parameter list of a constraint
 void addRelationTuple(int[] tuple)
          add a single tuple to the current relation
 void addVariable(String name, String domain)
          callback called to define a new variable
 void addVariableItem(String name)
          provides the name of a variable in a parameter list of a constraint
 void addVariableToConstraint(String name)
          declares that a variable is in the constraint scope
 void beginConstraint(String name, int arity)
          callback called at the beginning of the declaration of one constraint
 void beginConstraintsSection(int nbConstraints)
          callback called at the beginning of the constraints declarations
 void beginDomain(String name, int nbValue)
          callback called at the beginning of the declaration of one domain
 void beginDomainsSection(int nbDomains)
          callback called at the beginning of the domains declarations
 void beginInstance(String name)
          signal the beginning of parsing
 void beginParameterList()
          begins the list tag for parameters of a constraint
 void beginPredicate(String name)
          callback called at the beginning of the declaration of one predicate
 void beginPredicatesSection(int nbPredicates)
          callback called at the beginning of the predicates declarations
 void beginRelation(String name, int arity, int nbTuples, boolean isSupport)
          callback called at the beginning of the declaration of one relation
 void beginRelationsSection(int nbRelations)
          callback called at the beginning of the relations declarations
 void beginVariablesSection(int nbVariables)
          callback called at the beginning of the variables declarations
 void constraintExpression(String expr)
          provide the expression of the current constraint as an expression in a syntac chosen by the solver
 void constraintReference(String name)
          provide the definition of the current constraint
 void endConstraint()
          ends the definition of the current constraint
 void endConstraintsSection()
          end the definition of all constraints
 void endDomain()
          ends the definition of the current domain
 void endDomainsSection()
          end the definition of all domains
 void endInstance()
          signal the end of parsing
 void endParamaterList()
          ends the list tag for parameters of a constraint
 void endPredicate()
          ends the definition of the current predicate
 void endPredicatesSection()
          end the definition of all predicates
 void endRelation()
          ends the definition of the current relation
 void endRelationsSection()
          end the definition of all relations
 void endVariablesSection()
          end the definition of all variables
 void predicateExpression(String expression)
          provide the expression of the current predicate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleCallback

public SimpleCallback()
Method Detail

beginInstance

public void beginInstance(String name)
signal the beginning of parsing

Specified by:
beginInstance in interface ICSPCallback
Parameters:
name - name of the instance

beginDomainsSection

public void beginDomainsSection(int nbDomains)
callback called at the beginning of the domains declarations

Specified by:
beginDomainsSection in interface ICSPCallback
Parameters:
nbDomains - number of domains that will be declared

beginDomain

public void beginDomain(String name,
                        int nbValue)
callback called at the beginning of the declaration of one domain

Specified by:
beginDomain in interface ICSPCallback
Parameters:
name - identifier of the domain
nbValue - number of values in the domain

addDomainValue

public void addDomainValue(int v)
add a single value to the current domain

Specified by:
addDomainValue in interface ICSPCallback
Parameters:
v - value to add to the domain

addDomainValue

public void addDomainValue(int first,
                           int last)
add the range of values [first..last] to the current domain

Specified by:
addDomainValue in interface ICSPCallback
Parameters:
first - first value to add to the domain
last - last value to add to the domain

endDomain

public void endDomain()
ends the definition of the current domain

Specified by:
endDomain in interface ICSPCallback

endDomainsSection

public void endDomainsSection()
end the definition of all domains

Specified by:
endDomainsSection in interface ICSPCallback

beginVariablesSection

public void beginVariablesSection(int nbVariables)
callback called at the beginning of the variables declarations

Specified by:
beginVariablesSection in interface ICSPCallback
Parameters:
nbVariables - number of variables that will be declared

addVariable

public void addVariable(String name,
                        String domain)
callback called to define a new variable

Specified by:
addVariable in interface ICSPCallback
Parameters:
name - identifier of the variable
domain - identifier of the variable domain

endVariablesSection

public void endVariablesSection()
end the definition of all variables

Specified by:
endVariablesSection in interface ICSPCallback

beginRelationsSection

public void beginRelationsSection(int nbRelations)
callback called at the beginning of the relations declarations

Specified by:
beginRelationsSection in interface ICSPCallback
Parameters:
nbRelations - number of relations that will be declared

beginRelation

public void beginRelation(String name,
                          int arity,
                          int nbTuples,
                          boolean isSupport)
callback called at the beginning of the declaration of one relation

Specified by:
beginRelation in interface ICSPCallback
Parameters:
name - identifier of the relation
arity - arity of the relation
nbTuples - number of tuples in the relation
isSupport - true if tuples represent support, false if tuples represent conflicts

addRelationTuple

public void addRelationTuple(int[] tuple)
add a single tuple to the current relation

Specified by:
addRelationTuple in interface ICSPCallback
Parameters:
tuple - tuple to add to the relation (contains arity elements)

endRelation

public void endRelation()
ends the definition of the current relation

Specified by:
endRelation in interface ICSPCallback

endRelationsSection

public void endRelationsSection()
end the definition of all relations

Specified by:
endRelationsSection in interface ICSPCallback

beginPredicatesSection

public void beginPredicatesSection(int nbPredicates)
callback called at the beginning of the predicates declarations

Specified by:
beginPredicatesSection in interface ICSPCallback
Parameters:
nbPredicates - number of predicates that will be declared

beginPredicate

public void beginPredicate(String name)
callback called at the beginning of the declaration of one predicate

Specified by:
beginPredicate in interface ICSPCallback
Parameters:
name - identifier of the predicate

addFormalParameter

public void addFormalParameter(String name,
                               String type)
add a formal parameter to the current predicate

Specified by:
addFormalParameter in interface ICSPCallback
Parameters:
name - name of the parameter
type - type of the parameter

predicateExpression

public void predicateExpression(String expression)
provide the expression of the current predicate

Specified by:
predicateExpression in interface ICSPCallback
Parameters:
expression - the abstract syntax tree representing the expression

endPredicate

public void endPredicate()
ends the definition of the current predicate

Specified by:
endPredicate in interface ICSPCallback

endPredicatesSection

public void endPredicatesSection()
end the definition of all predicates

Specified by:
endPredicatesSection in interface ICSPCallback

beginConstraintsSection

public void beginConstraintsSection(int nbConstraints)
callback called at the beginning of the constraints declarations

Specified by:
beginConstraintsSection in interface ICSPCallback
Parameters:
nbConstraints - number of constraints that will be declared

beginConstraint

public void beginConstraint(String name,
                            int arity)
callback called at the beginning of the declaration of one constraint

Specified by:
beginConstraint in interface ICSPCallback
Parameters:
name - identifier of the constraint
arity - arity of the constraint

constraintReference

public void constraintReference(String name)
provide the definition of the current constraint

Specified by:
constraintReference in interface ICSPCallback
Parameters:
name - the refererence to the definition of this constraint. May be a relation, a predicate or the name of a global constraint

addVariableToConstraint

public void addVariableToConstraint(String name)
declares that a variable is in the constraint scope

Specified by:
addVariableToConstraint in interface ICSPCallback
Parameters:
name - name of the variable

addEffectiveParameter

public void addEffectiveParameter(String name)
add an effective parameter which is a simple variable to the current constraint

Specified by:
addEffectiveParameter in interface ICSPCallback
Parameters:
name - name of the variable passed as parameter

addEffectiveParameter

public void addEffectiveParameter(int value)
add an effective parameter which is a simple variable to the current constraint

Specified by:
addEffectiveParameter in interface ICSPCallback
Parameters:
value - name of the variable passed as parameter

constraintExpression

public void constraintExpression(String expr)
provide the expression of the current constraint as an expression in a syntac chosen by the solver

Specified by:
constraintExpression in interface ICSPCallback
Parameters:
expr - the expression

endConstraint

public void endConstraint()
ends the definition of the current constraint

Specified by:
endConstraint in interface ICSPCallback

endConstraintsSection

public void endConstraintsSection()
end the definition of all constraints

Specified by:
endConstraintsSection in interface ICSPCallback

beginParameterList

public void beginParameterList()
begins the list tag for parameters of a constraint

Specified by:
beginParameterList in interface ICSPCallback

addIntegerItem

public void addIntegerItem(int value)
provides an integer value in a parameter list of a constraint

Specified by:
addIntegerItem in interface ICSPCallback
Parameters:
value - value of current list item

addVariableItem

public void addVariableItem(String name)
provides the name of a variable in a parameter list of a constraint

Specified by:
addVariableItem in interface ICSPCallback
Parameters:
name - name of the current list item

endParamaterList

public void endParamaterList()
ends the list tag for parameters of a constraint

Specified by:
endParamaterList in interface ICSPCallback

addConstantParameter

public void addConstantParameter(String name,
                                 int value)
provides a constant value

Specified by:
addConstantParameter in interface ICSPCallback

endInstance

public void endInstance()
signal the end of parsing

Specified by:
endInstance in interface ICSPCallback


Copyright © 2012 Centre de Recherche en Informatique de Lens (CRIL). All Rights Reserved.