DifferentIndividualsAtomImpl.java revision 2
2454dfa32c93c20a8522c6ed42fe057baaac9f9aStephan Bosch/*
ecc81625167ed96c04c02aa190a1ea5baa65b474Timo Sirainen * Created on Dec 28, 2004
ecc81625167ed96c04c02aa190a1ea5baa65b474Timo Sirainen */
ecc81625167ed96c04c02aa190a1ea5baa65b474Timo Sirainenpackage impl.swrl;
0536ccb51d41e3078c3a9fa33e509fb4b2420f95Timo Sirainen
ecc81625167ed96c04c02aa190a1ea5baa65b474Timo Sirainenimport org.mindswap.owl.OWLIndividual;
8cb72c59d5ea4e9e5f638d7ec840bb853f5a188eTimo Sirainenimport org.mindswap.owl.vocabulary.SWRL;
8cb72c59d5ea4e9e5f638d7ec840bb853f5a188eTimo Sirainenimport org.mindswap.swrl.DifferentIndividualsAtom;
8cb72c59d5ea4e9e5f638d7ec840bb853f5a188eTimo Sirainenimport org.mindswap.swrl.SWRLIndividualObject;
8cb72c59d5ea4e9e5f638d7ec840bb853f5a188eTimo Sirainenimport org.mindswap.swrl.SWRLObject;
8cb72c59d5ea4e9e5f638d7ec840bb853f5a188eTimo Sirainen
8cb72c59d5ea4e9e5f638d7ec840bb853f5a188eTimo Sirainen/**
8cb72c59d5ea4e9e5f638d7ec840bb853f5a188eTimo Sirainen * @author Evren Sirin
8cb72c59d5ea4e9e5f638d7ec840bb853f5a188eTimo Sirainen *
e3678f7bfba87b5aa1446a1a7b9928272b4f72a3Timo Sirainen */
e3678f7bfba87b5aa1446a1a7b9928272b4f72a3Timo Sirainenpublic class DifferentIndividualsAtomImpl extends AtomImpl implements DifferentIndividualsAtom {
e3678f7bfba87b5aa1446a1a7b9928272b4f72a3Timo Sirainen public DifferentIndividualsAtomImpl(OWLIndividual ind) {
e3678f7bfba87b5aa1446a1a7b9928272b4f72a3Timo Sirainen super(ind);
e3678f7bfba87b5aa1446a1a7b9928272b4f72a3Timo Sirainen }
e3678f7bfba87b5aa1446a1a7b9928272b4f72a3Timo Sirainen
8cb72c59d5ea4e9e5f638d7ec840bb853f5a188eTimo Sirainen public SWRLIndividualObject getArgument1() {
8cb72c59d5ea4e9e5f638d7ec840bb853f5a188eTimo Sirainen return (SWRLIndividualObject) getPropertyAs(SWRL.argument1, SWRLIndividualObject.class);
8b247780e911909a9fdc47f69ce6d1478902ad98Timo Sirainen }
8b247780e911909a9fdc47f69ce6d1478902ad98Timo Sirainen
8b247780e911909a9fdc47f69ce6d1478902ad98Timo Sirainen public SWRLIndividualObject getArgument2() {
8b247780e911909a9fdc47f69ce6d1478902ad98Timo Sirainen return (SWRLIndividualObject) getPropertyAs(SWRL.argument2, SWRLIndividualObject.class);
8b247780e911909a9fdc47f69ce6d1478902ad98Timo Sirainen }
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen public int getArgumentCount() {
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen return 2;
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen }
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen public SWRLObject getArgument(int index) {
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen if( index == 0 )
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen return getArgument1();
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen if( index == 1 )
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen return getArgument2();
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen throw new IndexOutOfBoundsException("Illegal argument index: "+index+" for a DifferentIndividualsAtom");
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen }
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen public void setArgument(int index, SWRLObject obj) {
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen if( index > 1 )
862ec874f9373e3e499e237d3b9f71fdf1413feeTimo Sirainen throw new IndexOutOfBoundsException("Illegal argument index: "+index+" for a DifferentIndividualsAtom");
e2ce8d4a6ac5d82a906178148453e7613fab9ba0Timo Sirainen
e2ce8d4a6ac5d82a906178148453e7613fab9ba0Timo Sirainen if(obj instanceof SWRLIndividualObject) {
5ec4fc44e8d4e2160f07b1a7f4fce1ccfec3f6c1Timo Sirainen if( index == 0 )
5ec4fc44e8d4e2160f07b1a7f4fce1ccfec3f6c1Timo Sirainen setArgument1((SWRLIndividualObject) obj);
5ec4fc44e8d4e2160f07b1a7f4fce1ccfec3f6c1Timo Sirainen else
5ec4fc44e8d4e2160f07b1a7f4fce1ccfec3f6c1Timo Sirainen setArgument2((SWRLIndividualObject) obj);
5ec4fc44e8d4e2160f07b1a7f4fce1ccfec3f6c1Timo Sirainen }
5ec4fc44e8d4e2160f07b1a7f4fce1ccfec3f6c1Timo Sirainen else
5ec4fc44e8d4e2160f07b1a7f4fce1ccfec3f6c1Timo Sirainen throw new IllegalArgumentException("DifferentIndividualsAtom argument should be a SWRLIndividualObject");
5ec4fc44e8d4e2160f07b1a7f4fce1ccfec3f6c1Timo Sirainen }
9a48c2243fe98ca8393be7908f84d20c634bcdf9Timo Sirainen
9a48c2243fe98ca8393be7908f84d20c634bcdf9Timo Sirainen public void setArgument1(SWRLIndividualObject obj) {
9a48c2243fe98ca8393be7908f84d20c634bcdf9Timo Sirainen setProperty(SWRL.argument1, obj);
9a48c2243fe98ca8393be7908f84d20c634bcdf9Timo Sirainen }
9a48c2243fe98ca8393be7908f84d20c634bcdf9Timo Sirainen
9a48c2243fe98ca8393be7908f84d20c634bcdf9Timo Sirainen public void setArgument2(SWRLIndividualObject obj) {
59e26ff34b05cd971a111f8a42fc60c13d9f688bTimo Sirainen setProperty(SWRL.argument2, obj);
9a48c2243fe98ca8393be7908f84d20c634bcdf9Timo Sirainen }
2d2ebe91d56e9a158de000c9d0026f65600fbcfaTimo Sirainen
e2ce8d4a6ac5d82a906178148453e7613fab9ba0Timo Sirainen public String toString() {
f988b93c2ef773987bcdcbfb4cca39b955e3a392Timo Sirainen return "differentFrom(" + getArgument1().debugString() + ", " + getArgument2().debugString() + ")";
e2ce8d4a6ac5d82a906178148453e7613fab9ba0Timo Sirainen }
e2ce8d4a6ac5d82a906178148453e7613fab9ba0Timo Sirainen}
e2ce8d4a6ac5d82a906178148453e7613fab9ba0Timo Sirainen