ControlConstructBagImpl.java revision 2
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen// The MIT License
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen//
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen// Copyright (c) 2004 Evren Sirin
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch//
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch// Permission is hereby granted, free of charge, to any person obtaining a copy
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch// of this software and associated documentation files (the "Software"), to
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch// deal in the Software without restriction, including without limitation the
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen// sell copies of the Software, and to permit persons to whom the Software is
a62fe4b300e2f591e939993aec4cac1e7ae30ad1Stephan Bosch// furnished to do so, subject to the following conditions:
a62fe4b300e2f591e939993aec4cac1e7ae30ad1Stephan Bosch//
a62fe4b300e2f591e939993aec4cac1e7ae30ad1Stephan Bosch// The above copyright notice and this permission notice shall be included in
a62fe4b300e2f591e939993aec4cac1e7ae30ad1Stephan Bosch// all copies or substantial portions of the Software.
a62fe4b300e2f591e939993aec4cac1e7ae30ad1Stephan Bosch//
a62fe4b300e2f591e939993aec4cac1e7ae30ad1Stephan Bosch// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen// IN THE SOFTWARE.
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen/*
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen * Created on Dec 27, 2003
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen *
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch */
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainenpackage impl.owls.process;
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Boschimport impl.owls.generic.list.OWLSObjListImpl;
9e7bf91667639a2390207ab4d90bf88e2afcec2aStephan Bosch
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainenimport org.mindswap.owl.OWLIndividual;
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainenimport org.mindswap.owl.OWLValue;
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainenimport org.mindswap.owl.list.RDFList;
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainenimport org.mindswap.owls.process.ControlConstruct;
c9779bb27bb927a49de946e66f178126ecd451b6Stephan Boschimport org.mindswap.owls.process.ControlConstructBag;
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Boschimport org.mindswap.owls.vocabulary.OWLS;
c9779bb27bb927a49de946e66f178126ecd451b6Stephan Bosch
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch/**
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch * @author Evren Sirin
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch *
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch */
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Boschpublic class ControlConstructBagImpl extends OWLSObjListImpl implements ControlConstructBag {
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch public ControlConstructBagImpl(OWLIndividual ind) {
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch super(ind);
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch setVocabulary(OWLS.CCBag);
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch }
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch public RDFList insert(OWLValue item) {
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch ControlConstructBagImpl list = new ControlConstructBagImpl( getOntology().createInstance( vocabulary.List() ) );
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch list.setFirst( item );
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch list.setRest( this );
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch return list;
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch }
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch public OWLValue getFirstValue() {
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch return (ControlConstruct) getProperty(vocabulary.first()).castTo(ControlConstruct.class);
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch }
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch public RDFList getRest() {
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch return (ControlConstructBag) getProperty(vocabulary.rest()).castTo(ControlConstructBag.class);
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch }
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch public ControlConstruct constructAt(int index) {
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch return (ControlConstruct) get(index);
e8f1e510df3ab051a816715c2056f0d10aee929eStephan Bosch }
1920ef85b63738a06914e56508049dd0afe38732Timo Sirainen
}