DLV
Class Program

java.lang.Object
  extended byDLV.Program

public class Program
extends java.lang.Object

This class represents a logic program input of DLV.
A logic program is a set of rules. You can compose a logic program bringing together several "datalog" sources.
A partition of a logic program may be contained in a String object, in a Predicate object or in several text files.

            Ex.
    
               ...
    
               Predicate predicate=...
               ...
    
               Program p=new Program();                       // creates a new program
               p.addString(":- a, not b.");                   // adds a constraint using a String object
               p.addPredicate(predicate);                     // adds a Predicate object
    
               p.addProgramFile("c:\myProgramPartition1.dl"); // adds two text files
               p.addProgramFile("c:\myProgramPartition2.dl");
    
               ...
    
            

Note that you can import data from relational databases by using JDBCPredicate class.

Version:
3.0
Author:
Francesco Ricca
See Also:
JDBCPredicate

Constructor Summary
Program()
          Constructs an empty Program object.
Program(java.lang.StringBuffer program)
          Constructs a Program object from a StringBuffer object which contains a logic program in text format.
 
Method Summary
 void addPredicate(Predicate relation)
          Adds to this Program a Predicate object.
 void addProgramFile(java.lang.String programPathName)
          Adds to this Program a reference to a text file which contains a logic program.
 void addString(java.lang.String program)
          Append to this Program a String containing a logic program in text format.
 void addString(java.lang.StringBuffer program)
          Adds to this Program a StringBuffer containing a logic program in text format.
 void appendString(java.lang.String program)
          Append to this Program a String containing a logic program in text format.
 void appendString(java.lang.StringBuffer program)
          Append to this Program a StringBuffer containing a logic program in text format.
 void clearMemory()
          Clears the in-memory partition of this program (is equivalent to call removePredicates(),removeResultSetHandlers() and removeStrings()).
 Predicate[] getPredicates()
          Returns the array of predicate objects contained in this Program object.
 java.lang.String[] getProgramsPathNames()
          Returns an array of String object which contains the program pathnames previously set, otherwise null.
 java.lang.StringBuffer getProgramStrings()
          Returns a StringBuffer object which contains the StringBuffer partition of this program (which might be empty).
 void removePredicate(Predicate relation)
          Remove from this Program the "relation" Predicate object.
 void removePredicates()
          Remove all Predicate objects from this Program.
 void removeProgramFile(java.lang.String programFilePathname)
          Removes from this Program a File which contains a logic program in text format.
 void removeProgramFiles()
          Removes from this Program all program files.
 void removeStrings()
          Clears the StringBuffer partition of this program.
 void reset()
          Resets this Program object (is equivalent to call removePredicates(), removeProgramFiles(), removeResultSetHandlers() and removeStrings()).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Program

public Program()
Constructs an empty Program object.


Program

public Program(java.lang.StringBuffer program)
Constructs a Program object from a StringBuffer object which contains a logic program in text format.

Parameters:
program - a StringBuffer object which contains a logic program in text format.
Throws:
java.lang.NullPointerException - if "program" is null.
Method Detail

addPredicate

public void addPredicate(Predicate relation)
Adds to this Program a Predicate object.

Parameters:
relation - A Predicate object.
Throws:
java.lang.NullPointerException - if "relation" is null.

removePredicate

public void removePredicate(Predicate relation)
Remove from this Program the "relation" Predicate object. If "relation" isn't contained in this program, no operation is done.

Parameters:
relation - A Predicate object.
Throws:
java.lang.NullPointerException - if "relation" is null.

addString

public void addString(java.lang.StringBuffer program)
Adds to this Program a StringBuffer containing a logic program in text format. This method causes the substitution of the program string prevoiusly set (if exist).

Parameters:
program - A StringBuffer object which contains a logic program in text format.
Throws:
java.lang.NullPointerException - if "program" is null.

addString

public void addString(java.lang.String program)
Append to this Program a String containing a logic program in text format. The "program" parameter is converted in a StringBuffer object. This method causes the substitution of the program string previously set (if it exists).

Parameters:
program - A String object which contains a logic program in text format.
Throws:
java.lang.NullPointerException - if "program" is null.

appendString

public void appendString(java.lang.StringBuffer program)
Append to this Program a StringBuffer containing a logic program in text format.

Parameters:
program - A StringBuffer object which contains a logic program in text format.
Throws:
java.lang.NullPointerException - if "program" is null.

appendString

public void appendString(java.lang.String program)
Append to this Program a String containing a logic program in text format.

Parameters:
program - A String object which contains a logic program in text format.
Throws:
java.lang.NullPointerException - if "program" is null.

addProgramFile

public void addProgramFile(java.lang.String programPathName)
Adds to this Program a reference to a text file which contains a logic program.

Parameters:
programPathName - The pathname of a text file which contains a logic program.
Throws:
java.lang.NullPointerException - if "programPathName" is null.

removeProgramFile

public void removeProgramFile(java.lang.String programFilePathname)
Removes from this Program a File which contains a logic program in text format.

Parameters:
programFilePathname - A String containing the pathname of a logic program in text format.
Throws:
java.lang.NullPointerException - if "programFilePathname" is null.

removeProgramFiles

public void removeProgramFiles()
Removes from this Program all program files.


removeStrings

public void removeStrings()
Clears the StringBuffer partition of this program.


removePredicates

public void removePredicates()
Remove all Predicate objects from this Program.


clearMemory

public void clearMemory()
Clears the in-memory partition of this program (is equivalent to call removePredicates(),removeResultSetHandlers() and removeStrings()).


reset

public void reset()
Resets this Program object (is equivalent to call removePredicates(), removeProgramFiles(), removeResultSetHandlers() and removeStrings()).


getProgramStrings

public java.lang.StringBuffer getProgramStrings()
Returns a StringBuffer object which contains the StringBuffer partition of this program (which might be empty).

Returns:
A StringBuffer object which contains the StringBuffer partition of this program (which might be empty).

getPredicates

public Predicate[] getPredicates()
Returns the array of predicate objects contained in this Program object.


getProgramsPathNames

public java.lang.String[] getProgramsPathNames()
Returns an array of String object which contains the program pathnames previously set, otherwise null.

Returns:
A String object which contains the program pathnames previously set, otherwise null.