weka.associations.tertius.Predicate Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of weka-stable Show documentation
Show all versions of weka-stable Show documentation
The Waikato Environment for Knowledge Analysis (WEKA), a machine
learning workbench. This is the stable version. Apart from bugfixes, this version
does not receive any other updates.
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/*
* Predicate.java
* Copyright (C) 2003 Peter A. Flach, Nicolas Lachiche
*
* Thanks to Amelie Deltour for porting the original C code to Java
* and integrating it into Weka.
*/
package weka.associations.tertius;
import weka.core.RevisionHandler;
import weka.core.RevisionUtils;
import java.io.Serializable;
import java.util.ArrayList;
/**
* @author Peter A. Flach
* @author Nicolas Lachiche
* @version $Revision: 1.5 $
*/
public class Predicate
implements Serializable, RevisionHandler {
/** for serialization */
private static final long serialVersionUID = -8374702481965026640L;
private ArrayList m_literals;
private String m_name;
private int m_index;
private boolean m_isClass;
public Predicate(String name, int index, boolean isClass) {
m_literals = new ArrayList();
m_name = name;
m_index = index;
m_isClass = isClass;
}
public void addLiteral(Literal lit) {
m_literals.add(lit);
}
public Literal getLiteral(int index) {
return (Literal) m_literals.get(index);
}
public int getIndex() {
return m_index;
}
public int indexOf(Literal lit) {
int index = m_literals.indexOf(lit);
return ((index != -1)
? index
: m_literals.indexOf(lit.getNegation()));
}
public int numLiterals() {
return m_literals.size();
}
public boolean isClass() {
return m_isClass;
}
public String toString() {
return m_name;
}
public String description() {
StringBuffer text = new StringBuffer();
text.append(this.toString() + "\n");
for (int i = 0; i < numLiterals(); i++) {
Literal lit = getLiteral(i);
Literal neg = lit.getNegation();
text.append("\t" + lit + "\t" + neg + "\n");
}
return text.toString();
}
/**
* Returns the revision string.
*
* @return the revision
*/
public String getRevision() {
return RevisionUtils.extract("$Revision: 1.5 $");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy