All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nuiton.topia.it.legacy.topiatest.GeneratedNaturalizedEntityTopiaDao Maven / Gradle / Ivy

The newest version!
package org.nuiton.topia.it.legacy.topiatest;

/*-
 * #%L
 * ToPIA :: IT
 * %%
 * Copyright (C) 2004 - 2024 Code Lutin
 * %%
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Lesser Public License for more details.
 * 
 * You should have received a copy of the GNU General Lesser Public
 * License along with this program.  If not, see
 * .
 * #L%
 */

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.nuiton.topia.it.legacy.AbstractTopiaItLegacyDao;
import org.nuiton.topia.it.legacy.TopiaItLegacyEntityEnum;
import org.nuiton.topia.persistence.TopiaDao;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.topia.persistence.TopiaQueryBuilderAddCriteriaOrRunQueryStep;
import org.nuiton.topia.persistence.TopiaQueryBuilderRunQueryWithUniqueResultStep;

public abstract class GeneratedNaturalizedEntityTopiaDao extends AbstractTopiaItLegacyDao {

    @Override
    public Class getEntityClass() {
        return (Class) NaturalizedEntity.class;
    }

    @Override
    public TopiaItLegacyEntityEnum getTopiaEntityEnum() {
        return TopiaItLegacyEntityEnum.NaturalizedEntity;
    }

    @Override
    public void delete(E entity) {
        if ( ! entity.isPersisted()) {
            throw new IllegalArgumentException("entity " + entity  + " is not persisted, you can't delete it");
        }

        super.delete(entity);
    }

    @Deprecated
    public E findByNaturalId(Integer naturalIdNotNull, String naturalIdNull) {
        return forNaturalId(naturalIdNotNull, naturalIdNull).findUnique();
    }

    @Deprecated
    public boolean existByNaturalId(Integer naturalIdNotNull, String naturalIdNull) {
        return forNaturalId(naturalIdNotNull, naturalIdNull).exists();
    }

    public E createByNaturalId(Integer naturalIdNotNull, String naturalIdNull) {
        return create(NaturalizedEntity.PROPERTY_NATURAL_ID_NOT_NULL, naturalIdNotNull, NaturalizedEntity.PROPERTY_NATURAL_ID_NULL, naturalIdNull);
    }

    public TopiaQueryBuilderRunQueryWithUniqueResultStep forNaturalId(Integer naturalIdNotNull, String naturalIdNull) {
        return forProperties(NaturalizedEntity.PROPERTY_NATURAL_ID_NOT_NULL, naturalIdNotNull, NaturalizedEntity.PROPERTY_NATURAL_ID_NULL, naturalIdNull);
    }

    public E createByNotNull(Integer naturalIdNotNull) {
        return create(NaturalizedEntity.PROPERTY_NATURAL_ID_NOT_NULL, naturalIdNotNull);
    }

    public TopiaQueryBuilderAddCriteriaOrRunQueryStep forNaturalIdNotNullIn(Collection v) {
        TopiaQueryBuilderAddCriteriaOrRunQueryStep result = forIn(NaturalizedEntity.PROPERTY_NATURAL_ID_NOT_NULL, (Collection) v);
        return result;
    }

    public TopiaQueryBuilderAddCriteriaOrRunQueryStep forNaturalIdNotNullEquals(Integer v) {
        TopiaQueryBuilderAddCriteriaOrRunQueryStep result = forEquals(NaturalizedEntity.PROPERTY_NATURAL_ID_NOT_NULL, v);
        return result;
    }

    @Deprecated
    public E findByNaturalIdNotNull(Integer v) {
        return forNaturalIdNotNullEquals(v).findAnyOrNull();
    }

    @Deprecated
    public List findAllByNaturalIdNotNull(Integer v) {
        return forNaturalIdNotNullEquals(v).findAll();
    }

    public TopiaQueryBuilderAddCriteriaOrRunQueryStep forNaturalIdNullIn(Collection v) {
        TopiaQueryBuilderAddCriteriaOrRunQueryStep result = forIn(NaturalizedEntity.PROPERTY_NATURAL_ID_NULL, (Collection) v);
        return result;
    }

    public TopiaQueryBuilderAddCriteriaOrRunQueryStep forNaturalIdNullEquals(String v) {
        TopiaQueryBuilderAddCriteriaOrRunQueryStep result = forEquals(NaturalizedEntity.PROPERTY_NATURAL_ID_NULL, v);
        return result;
    }

    @Deprecated
    public E findByNaturalIdNull(String v) {
        return forNaturalIdNullEquals(v).findAnyOrNull();
    }

    @Deprecated
    public List findAllByNaturalIdNull(String v) {
        return forNaturalIdNullEquals(v).findAll();
    }

    @Override
    public  List findUsages(Class type, E entity) {
        return new LinkedList();
    }

    @Override
    public Map, List> findAllUsages(E entity) {
        return new HashMap, List>();
    }

    @Override
    public List getAggregate(E entity) throws TopiaException {
        List tmp = new ArrayList();

        // pour tous les attributs rechecher les composites et les class d'asso
        // on les ajoute dans tmp

        // on refait un tour sur chaque entity de tmp pour recuperer leur
        // composite
        List result = new ArrayList();
        for (TopiaEntity e : tmp) {
            result.add(e);
            TopiaDao dao = (TopiaDao) topiaDaoSupplier.getDao(e.getClass());
            result.addAll(dao.getAggregate(e));
        }
        return result;
    }

    @Override
    public List getComposite(E entity) throws TopiaException {
        List tmp = new ArrayList();

        // pour tous les attributs rechecher les composites et les class d'asso
        // on les ajoute dans tmp

        // on refait un tour sur chaque entity de tmp pour recuperer leur
        // composite
        List result = new ArrayList();
        for (TopiaEntity e : tmp) {
            if (e != null) {
                result.add(e);
                TopiaDao dao = (TopiaDao) topiaDaoSupplier.getDao(e.getClass());
                result.addAll(dao.getComposite(e));
            }
        }
        return result;
    }

} //GeneratedNaturalizedEntityTopiaDao