Grounding.java revision 14
5a580c3a38ced62d4bcc95b8ac7c4f2935b5d294Timo Sirainen// The MIT License
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen//
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen// Copyright (c) 2004 Evren Sirin
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen//
78fa3c578c14ee8a612f86cf73b6181c7f16463fTimo Sirainen// Permission is hereby granted, free of charge, to any person obtaining a copy
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen// of this software and associated documentation files (the "Software"), to
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen// deal in the Software without restriction, including without limitation the
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen// sell copies of the Software, and to permit persons to whom the Software is
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen// furnished to do so, subject to the following conditions:
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen//
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen// The above copyright notice and this permission notice shall be included in
f7423cbbd9dea363a5df18ebb96da055a977ae79Timo Sirainen// all copies or substantial portions of the Software.
2cd2518bab14292a67cf8a490b58ab9ef89879daTimo Sirainen//
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
6ec925f52d04ec8700e47cb005bd7ddc65ac5614Timo Sirainen// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
c60178b2610a9b193ff72aa18448398ef72529a1Timo Sirainen// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
4d4d6d4745682790c20d759ba93dbea46b812c5dTimo Sirainen// IN THE SOFTWARE.
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen/*
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen * Created on Dec 27, 2003
cf2e6953d03a1c22f272ec19432fc03c136ac1bbTimo Sirainen *
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen */
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainenpackage org.mindswap.owls.grounding;
6c2ce1d5bf17b21e804a079eb0f973b7ab83e0d8Timo Sirainen
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainenimport org.mindswap.owl.OWLIndividual;
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainenimport org.mindswap.owls.process.AtomicProcess;
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainenimport org.mindswap.owls.service.Service;
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen
617e13833c798435e2be425b99c27ecaad1b8393Timo Sirainen/**
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen * Represents the OWL-S grounding. Note that there is not a subclass named WsdlGrounding. The reason is
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen * a Grounding object may contain many {@link org.mindswap.owls.grounding.AtomicGrounding AtomicGrounding}
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen * objects that are either WSDL or UPnP. Only {@link org.mindswap.owls.grounding.AtomicGrounding AtomicGrounding}
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen * objects are labeld as WSDL or UPnP.
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen *
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen * OWL-S concept: http://www.daml.org/services/owl-s/1.0/Grounding#Grounding
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen *
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen * @author Evren Sirin
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen *
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen */
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainenpublic interface Grounding extends OWLIndividual {
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen /**
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen * setService
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen *
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen * @param service
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen */
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen public void setService(Service service);
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen /**
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen * getService
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen *
5d4c793b4e3dbc07f08daa4465594b1857f80725Timo Sirainen * @return
78fa3c578c14ee8a612f86cf73b6181c7f16463fTimo Sirainen */
cf0ad1a0bddb0787f3d7b408a96d721a8b2a98a3Timo Sirainen public Service getService();
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen /**
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen * Removes the service from this grounding by breaking the link
f7423cbbd9dea363a5df18ebb96da055a977ae79Timo Sirainen * <code>service:supportedBy</code>. The service itself remains untouched.2
e9ac518aaf49a06d976bf7f24ab14a3e2d6d86abTimo Sirainen */
e9ac518aaf49a06d976bf7f24ab14a3e2d6d86abTimo Sirainen public void removeService();
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen /**
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen * addGrounding
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen *
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen * @param apg
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen */
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen public void addGrounding(AtomicGrounding apg);
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen /**
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76Timo Sirainen * Return the AtomicProcessGroundings defined for this process.
78fa3c578c14ee8a612f86cf73b6181c7f16463fTimo Sirainen *
f7423cbbd9dea363a5df18ebb96da055a977ae79Timo Sirainen * @param process
78fa3c578c14ee8a612f86cf73b6181c7f16463fTimo Sirainen * @return
6c2ce1d5bf17b21e804a079eb0f973b7ab83e0d8Timo Sirainen */
6c2ce1d5bf17b21e804a079eb0f973b7ab83e0d8Timo Sirainen public AtomicGrounding getAtomicGrounding(AtomicProcess process);
e9ac518aaf49a06d976bf7f24ab14a3e2d6d86abTimo Sirainen
e9ac518aaf49a06d976bf7f24ab14a3e2d6d86abTimo Sirainen /**
78fa3c578c14ee8a612f86cf73b6181c7f16463fTimo Sirainen * Return all the AtomicProcessGroundings defined in this grounding.
e9ac518aaf49a06d976bf7f24ab14a3e2d6d86abTimo Sirainen *
6c2ce1d5bf17b21e804a079eb0f973b7ab83e0d8Timo Sirainen * @return
6c2ce1d5bf17b21e804a079eb0f973b7ab83e0d8Timo Sirainen */
230ef558135f16a66b86cbe3762524eaa9ae9d81Timo Sirainen public AtomicGroundingList getAtomicGroundings();
230ef558135f16a66b86cbe3762524eaa9ae9d81Timo Sirainen
6c2ce1d5bf17b21e804a079eb0f973b7ab83e0d8Timo Sirainen /**
6c2ce1d5bf17b21e804a079eb0f973b7ab83e0d8Timo Sirainen * getAtomicGroundings
e9ac518aaf49a06d976bf7f24ab14a3e2d6d86abTimo Sirainen *
e9ac518aaf49a06d976bf7f24ab14a3e2d6d86abTimo Sirainen * @param process
6c2ce1d5bf17b21e804a079eb0f973b7ab83e0d8Timo Sirainen * @return
6c2ce1d5bf17b21e804a079eb0f973b7ab83e0d8Timo Sirainen */
6c2ce1d5bf17b21e804a079eb0f973b7ab83e0d8Timo Sirainen public AtomicGroundingList getAtomicGroundings(AtomicProcess process);
6c2ce1d5bf17b21e804a079eb0f973b7ab83e0d8Timo Sirainen
78fa3c578c14ee8a612f86cf73b6181c7f16463fTimo Sirainen /**
78fa3c578c14ee8a612f86cf73b6181c7f16463fTimo Sirainen * Removes the atomic groundings for the given atomic process from this
f7423cbbd9dea363a5df18ebb96da055a977ae79Timo Sirainen * grounding by breaking the property grounding:hasAtomicProcessGrounding. The
e9ac518aaf49a06d976bf7f24ab14a3e2d6d86abTimo Sirainen * atomic grounding itself is not changed at all.
f7423cbbd9dea363a5df18ebb96da055a977ae79Timo Sirainen *
f7423cbbd9dea363a5df18ebb96da055a977ae79Timo Sirainen * @param process the atomic process to which the removeable atomic groundings are bound
7487ff578435377bbeefffdbfb78ca09ed1292dfTimo Sirainen */
78fa3c578c14ee8a612f86cf73b6181c7f16463fTimo Sirainen public void removeAtomicGroundings(AtomicProcess process);
7487ff578435377bbeefffdbfb78ca09ed1292dfTimo Sirainen
617e13833c798435e2be425b99c27ecaad1b8393Timo Sirainen /**
617e13833c798435e2be425b99c27ecaad1b8393Timo Sirainen * Deletes the atomic groundings for the given atomic process from this grounding
d03a871a77f8ec36f48f5fea98d810e51b186fdbTimo Sirainen *
f7423cbbd9dea363a5df18ebb96da055a977ae79Timo Sirainen * @param process the atomic process to which the deleteable atomic groundings are bound
e9ac518aaf49a06d976bf7f24ab14a3e2d6d86abTimo Sirainen */
e9ac518aaf49a06d976bf7f24ab14a3e2d6d86abTimo Sirainen public void deleteAtomicGroundings(AtomicProcess process);
7487ff578435377bbeefffdbfb78ca09ed1292dfTimo Sirainen
7487ff578435377bbeefffdbfb78ca09ed1292dfTimo Sirainen /**
7487ff578435377bbeefffdbfb78ca09ed1292dfTimo Sirainen * Removes all atomic groundings from this grounding by breaking the property grounding:hasAtomicProcessGrounding. The
7487ff578435377bbeefffdbfb78ca09ed1292dfTimo Sirainen * atomic grounding itself is not changed at all.
7487ff578435377bbeefffdbfb78ca09ed1292dfTimo Sirainen */
7487ff578435377bbeefffdbfb78ca09ed1292dfTimo Sirainen public void removeAtomicGroundings();
617e13833c798435e2be425b99c27ecaad1b8393Timo Sirainen
7487ff578435377bbeefffdbfb78ca09ed1292dfTimo Sirainen /**
d03a871a77f8ec36f48f5fea98d810e51b186fdbTimo Sirainen * Deletes all atomic groundings from this grounding
f7423cbbd9dea363a5df18ebb96da055a977ae79Timo Sirainen */
e9ac518aaf49a06d976bf7f24ab14a3e2d6d86abTimo Sirainen public void deleteAtomicGroundings();
e9ac518aaf49a06d976bf7f24ab14a3e2d6d86abTimo Sirainen}
7487ff578435377bbeefffdbfb78ca09ed1292dfTimo Sirainen