
org.swrlapi.drools.sqwrl.VPATH Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of swrlapi-drools-engine Show documentation
Show all versions of swrlapi-drools-engine Show documentation
Drools implementation of SWRLAPI-based SWRL rule engine
package org.swrlapi.drools.sqwrl;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.dataflow.qual.SideEffectFree;
import org.swrlapi.drools.swrl.BA;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* Drools has issues with some varargs so we need to explicitly define constructors the various argument combinations.
*/
public class VPATH
{
public static final int MaxArguments = 10;
@NonNull private final List<@NonNull BA> arguments;
public VPATH()
{
this.arguments = new ArrayList<>();
}
public VPATH(BA ba1)
{
this.arguments = new ArrayList<>();
this.arguments.add(ba1);
}
public VPATH(BA ba1, BA ba2)
{
this.arguments = new ArrayList<>();
this.arguments.add(ba1);
this.arguments.add(ba2);
}
public VPATH(BA ba1, BA ba2, BA ba3)
{
this.arguments = new ArrayList<>();
this.arguments.add(ba1);
this.arguments.add(ba2);
this.arguments.add(ba3);
}
public VPATH(BA ba1, BA ba2, BA ba3, BA ba4)
{
this.arguments = new ArrayList<>();
this.arguments.add(ba1);
this.arguments.add(ba2);
this.arguments.add(ba3);
this.arguments.add(ba4);
}
public VPATH(BA ba1, BA ba2, BA ba3, BA ba4, BA ba5)
{
this.arguments = new ArrayList<>();
this.arguments.add(ba1);
this.arguments.add(ba2);
this.arguments.add(ba3);
this.arguments.add(ba4);
this.arguments.add(ba5);
}
public VPATH(BA ba1, BA ba2, BA ba3, BA ba4, BA ba5, BA ba6)
{
this.arguments = new ArrayList<>();
this.arguments.add(ba1);
this.arguments.add(ba2);
this.arguments.add(ba3);
this.arguments.add(ba4);
this.arguments.add(ba5);
this.arguments.add(ba6);
}
public VPATH(BA ba1, BA ba2, BA ba3, BA ba4, BA ba5, BA ba6, BA ba7)
{
this.arguments = new ArrayList<>();
this.arguments.add(ba1);
this.arguments.add(ba2);
this.arguments.add(ba3);
this.arguments.add(ba4);
this.arguments.add(ba5);
this.arguments.add(ba6);
this.arguments.add(ba7);
}
public VPATH(BA ba1, BA ba2, BA ba3, BA ba4, BA ba5, BA ba6, BA ba7, BA ba8)
{
this.arguments = new ArrayList<>();
this.arguments.add(ba1);
this.arguments.add(ba2);
this.arguments.add(ba3);
this.arguments.add(ba4);
this.arguments.add(ba5);
this.arguments.add(ba6);
this.arguments.add(ba7);
this.arguments.add(ba8);
}
public VPATH(BA ba1, BA ba2, BA ba3, BA ba4, BA ba5, BA ba6, BA ba7, BA ba8, BA ba9)
{
this.arguments = new ArrayList<>();
this.arguments.add(ba1);
this.arguments.add(ba2);
this.arguments.add(ba3);
this.arguments.add(ba4);
this.arguments.add(ba5);
this.arguments.add(ba6);
this.arguments.add(ba7);
this.arguments.add(ba8);
this.arguments.add(ba9);
}
public VPATH(BA ba1, BA ba2, BA ba3, BA ba4, BA ba5, BA ba6, BA ba7, BA ba8, BA ba9, BA ba10)
{
this.arguments = new ArrayList<>();
this.arguments.add(ba1);
this.arguments.add(ba2);
this.arguments.add(ba3);
this.arguments.add(ba4);
this.arguments.add(ba5);
this.arguments.add(ba6);
this.arguments.add(ba7);
this.arguments.add(ba8);
this.arguments.add(ba9);
this.arguments.add(ba10);
}
@NonNull public List<@NonNull BA> getArguments()
{
return Collections.unmodifiableList(this.arguments);
}
@SideEffectFree @NonNull @Override public String toString()
{
StringBuilder sb = new StringBuilder();
for (BA ba : this.arguments)
sb.append(ba.toString()).append(":");
return sb.toString();
}
}