Skip to content
DLUtil.java 1.46 KiB
Newer Older
package it.inaf.oats.ia2.tapschemamanager.datalayer;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 *
 * @author Sonia Zorba <zorba at oats.inaf.it>
 */
public class DLUtil {

    public static <T extends TapSchemaEntity> T getEntityByName(List<T> entities, String name) {
        for (T entity : entities) {
            if (entity.getName().equals(name)) {
                return entity;
            }
        }
        return null;
    }

    public static <T extends TapSchemaEntity> List<String> getEntitiesNames(List<T> entities) {
        List<String> entitiesNames = new ArrayList<String>();
        for (T entity : entities) {
            entitiesNames.add(entity.getName());
        }
        return entitiesNames;
    }

    protected static <T extends TapSchemaEntity> void insertEntityInOrder(List<T> entities, T newEntity) {
        int i = 0;
        for (T entity : entities) {
            if (entity.getName().compareTo(newEntity.getName()) > 0) {
                break;
            }
            i++;
        }
        entities.add(i, newEntity);
    }

    protected static <T extends TapSchemaEntity> void removeEntity(List<T> entities, String entityName) {
        Iterator<T> iterator = entities.iterator();
        while (iterator.hasNext()) {
            T entity = iterator.next();
            if (entity.getName().equals(entityName)) {
                iterator.remove();
                return;
            }
        }
    }
}