OWLSListFactory.java revision 2
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// The MIT License
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina//
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// Copyright (c) 2004 Evren Sirin
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina//
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// Permission is hereby granted, free of charge, to any person obtaining a copy
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// of this software and associated documentation files (the "Software"), to
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// deal in the Software without restriction, including without limitation the
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// sell copies of the Software, and to permit persons to whom the Software is
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// furnished to do so, subject to the following conditions:
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina//
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// The above copyright notice and this permission notice shall be included in
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// all copies or substantial portions of the Software.
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina//
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina// IN THE SOFTWARE.
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinapackage org.mindswap.owls;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaimport org.mindswap.owl.OWLIndividualList;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaimport org.mindswap.owls.grounding.AtomicGroundingList;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaimport org.mindswap.owls.grounding.MessageMapList;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaimport org.mindswap.owls.process.BindingList;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaimport org.mindswap.owls.process.ConditionList;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaimport org.mindswap.owls.process.InputBindingList;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaimport org.mindswap.owls.process.InputList;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaimport org.mindswap.owls.process.OutputBindingList;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaimport org.mindswap.owls.process.OutputList;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaimport org.mindswap.owls.process.ParameterList;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaimport org.mindswap.owls.process.ProcessList;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinaimport org.mindswap.owls.process.ResultList;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina/**
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina * @author Evren Sirin
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina *
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina */
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březinapublic class OWLSListFactory {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public interface Interface {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public AtomicGroundingList createAtomicGroundingList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public AtomicGroundingList createAtomicGroundingList(OWLIndividualList properties);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public BindingList createBindingList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public BindingList createBindingList(OWLIndividualList list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public ConditionList createConditionList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public ConditionList createConditionList(OWLIndividualList list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public InputBindingList createInputBindingList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public InputBindingList createInputBindingList(OWLIndividualList list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public InputList createInputList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public InputList createInputList(OWLIndividualList list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public MessageMapList createMessageMapList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public MessageMapList createMessageMapList(OWLIndividualList list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public OutputBindingList createOutputBindingList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public OutputBindingList createOutputBindingList(OWLIndividualList list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public OutputList createOutputList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public OutputList createOutputList(OWLIndividualList list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public ParameterList createParameterList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public ParameterList createParameterList(OWLIndividualList list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public ProcessList createProcessList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public ProcessList createProcessList(OWLIndividualList list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public ResultList createResultList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public ResultList createResultList(OWLIndividualList list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public OWLIndividualList wrapList(OWLIndividualList list, Class castTarget);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina private static String[] implementations = {"impl.owls.OWLSListFactoryImpl"};
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina private static OWLSListFactory.Interface factory = createFactory();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina private static OWLSListFactory.Interface createFactory() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina for(int i = 0; (factory == null) && (i < implementations.length); i++) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina try {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina Class impl = Class.forName(implementations[i]);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina factory = (OWLSListFactory.Interface) impl.newInstance();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina } catch(ClassNotFoundException e) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina } catch(InstantiationException e) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina } catch(IllegalAccessException e) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory;
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static AtomicGroundingList createAtomicGroundingList() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createAtomicGroundingList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static AtomicGroundingList createAtomicGroundingList(OWLIndividualList list) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createAtomicGroundingList(list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static BindingList createBindingList() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createBindingList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static BindingList createBindingList(OWLIndividualList list) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createBindingList(list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static ConditionList createConditionList() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createConditionList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static ConditionList createConditionList(OWLIndividualList list) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createConditionList(list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static InputBindingList createInputBindingList() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createInputBindingList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static InputBindingList createInputBindingList(OWLIndividualList list) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createInputBindingList(list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static InputList createInputList() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createInputList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static InputList createInputList(OWLIndividualList list) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createInputList(list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static MessageMapList createMessageMapList() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createMessageMapList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static MessageMapList createMessageMapList(OWLIndividualList list) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createMessageMapList(list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static OutputBindingList createOutputBindingList() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createOutputBindingList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static OutputBindingList createOutputBindingList(OWLIndividualList list) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createOutputBindingList(list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static OutputList createOutputList() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createOutputList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static OutputList createOutputList(OWLIndividualList list) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createOutputList(list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static ParameterList createParameterList() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createParameterList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static ParameterList createParameterList(OWLIndividualList list) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createParameterList(list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static ProcessList createProcessList() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createProcessList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static ProcessList createProcessList(OWLIndividualList list) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createProcessList(list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static ResultList createResultList() {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createResultList();
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static ResultList createResultList(OWLIndividualList list) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.createResultList(list);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina public static OWLIndividualList wrapList(OWLIndividualList list, Class castTarget) {
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina return factory.wrapList(list, castTarget);
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina }
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina}
dea636af4d1902a081ee891f1b19ee2f8729d759Pavel Březina