Package org.apache.isis.runtimes.dflt.objectstores.sql.testsystem

Source Code of org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.SqlDataClassFactory

/*
*  Licensed to the Apache Software Foundation (ASF) under one
*  or more contributor license agreements.  See the NOTICE file
*  distributed with this work for additional information
*  regarding copyright ownership.  The ASF licenses this file
*  to you under the Apache License, Version 2.0 (the
*  "License"); you may not use this file except in compliance
*  with the License.  You may obtain a copy of the License at
*
*        http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing,
*  software distributed under the License is distributed on an
*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
*  KIND, either express or implied.  See the License for the
*  specific language governing permissions and limitations
*  under the License.
*/

/**
*
*/
package org.apache.isis.runtimes.dflt.objectstores.sql.testsystem;

import java.util.List;

import org.apache.isis.applib.AbstractFactoryAndRepository;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.NumericTestClass;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.SimpleClass;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.SimpleClassTwo;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.SqlDataClass;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.polymorphism.EmptyInterface;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.polymorphism.PolyInterface;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.polymorphism.PolyInterfaceImplA;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.polymorphism.PolyInterfaceImplB;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.polymorphism.PolySelfRefClass;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.polymorphism.PolySubClassOne;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.polymorphism.PolySubClassThree;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.polymorphism.PolySubClassTwo;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.polymorphism.PolyTestClass;

/**
* @author Kevin
*
*/
public class SqlDataClassFactory extends AbstractFactoryAndRepository {
    // {{ Persistor actions
    public void save(final Object sqlDataClass) {
        persistIfNotAlready(sqlDataClass);
    }

    public void delete(final Object sqlDataClass) {
        remove(sqlDataClass);
    }

    public void update(final Object object) {
        getContainer().objectChanged(object);
    }

    public void resolve(final Object domainObject) {
        getContainer().resolve(domainObject);
    }

    // }}

    // {{ SQL Data type tests
    public List<SqlDataClass> allDataClasses() {
        return allInstances(SqlDataClass.class);
    }

    public SqlDataClass newDataClass() {
        final SqlDataClass object = newTransientInstance(SqlDataClass.class);
        return object;
    }

    // SimpleClass
    public SimpleClass newSimpleClass() {
        final SimpleClass object = newTransientInstance(SimpleClass.class);
        return object;
    }

    public List<SimpleClass> allSimpleClasses() {
        return allInstances(SimpleClass.class);
    }

    public List<SimpleClass> allSimpleClassesThatMatch(final SimpleClass simpleClassMatch) {
        return allMatches(SimpleClass.class, simpleClassMatch);
    }

    // SimpleClassTwo
    public List<SimpleClassTwo> allSimpleClassTwos() {
        return allInstances(SimpleClassTwo.class);
    }

    public SimpleClassTwo newSimpleClassTwo() {
        final SimpleClassTwo object = newTransientInstance(SimpleClassTwo.class);
        return object;
    }

    // NumericTestClass
    public List<NumericTestClass> allNumericTestClasses() {
        return allInstances(NumericTestClass.class);
    }

    public NumericTestClass newNumericTestClass() {
        final NumericTestClass object = newTransientInstance(NumericTestClass.class);
        return object;
    }

    public List<NumericTestClass> allNumericTestClassesThatMatch(final NumericTestClass match) {
        return allMatches(NumericTestClass.class, match);
    }

    // }}

    // {{ For polymorphism tests
    public PolyTestClass newPolyTestClass() {
        final PolyTestClass object = newTransientInstance(PolyTestClass.class);
        return object;
    }

    public List<PolyTestClass> allPolyTestClasses() {
        return allInstances(PolyTestClass.class);
    }

    public PolySubClassOne newPolySubClassOne() {
        final PolySubClassOne object = newTransientInstance(PolySubClassOne.class);
        return object;
    }

    public PolySubClassThree newPolySubClassThree() {
        final PolySubClassThree object = newTransientInstance(PolySubClassThree.class);
        return object;
    }

    public PolySubClassTwo newPolySubClassTwo() {
        final PolySubClassTwo object = newTransientInstance(PolySubClassTwo.class);
        return object;
    }

    public PolyInterfaceImplA newPolyInterfaceImplA() {
        final PolyInterfaceImplA object = newTransientInstance(PolyInterfaceImplA.class);
        return object;
    }

    public PolyInterfaceImplB newPolyInterfaceImplB() {
        final PolyInterfaceImplB object = newTransientInstance(PolyInterfaceImplB.class);
        return object;
    }

    public PolySelfRefClass newPolySelfRefClass() {
        final PolySelfRefClass object = newTransientInstance(PolySelfRefClass.class);
        return object;
    }

    public List<PolyInterface> allPolyInterfaces() {
        return allInstances(PolyInterface.class);
    }

    public List<PolyInterface> queryPolyInterfaces(final PolyInterface query) {
        return allMatches(PolyInterface.class, query);
    }

    public List<EmptyInterface> allEmptyInterfacesThatMatch(final EmptyInterface match) {
        return allMatches(EmptyInterface.class, match);
    }

    // }}

}
TOP

Related Classes of org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.SqlDataClassFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.