Package clips.delegate.directory.complex

Source Code of clips.delegate.directory.complex.DirectoryDrugList$FilteredBySection

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package clips.delegate.directory.complex;

import beans.directory.dlodruglist.DirectoryDloDrugListBean;
import beans.directory.dlodruglist.DirectoryDloDrugListBeanRemote;
import beans.directory.dlodruglist.DloDrugListDetails;
import cli_fmw.delegate.directory.DirectoryMagic;
import cli_fmw.main.ClipsException;
import cli_fmw.utils.Selector;
import cli_fmw.utils.SelectorEditableExceptional;
import clips.delegate.directory.simple.dlo.DirectoryDrugFarmGroupItem;
import framework.beans.directory.DirectoryItemDetails;
import java.util.ArrayList;
import java.util.List;

/**
*
* @author lacoste
*/
public class DirectoryDrugList
        extends DirectoryMagic<DirectoryDloDrugListBeanRemote, DirectoryDrugListItem>  {

    public DirectoryDrugList() throws ClipsException {
        super(DirectoryDloDrugListBean.class.getSimpleName());
    }

    @Override
    protected DirectoryDrugListItem createFromLoadedDetails(DirectoryItemDetails details) {
        DloDrugListDetails d = (DloDrugListDetails) details;
        return new DirectoryDrugListItem(d);
    }

    @Override
    public String getDirectoryTitle() {
        return "Перечень лекарственных средств";
    }

    public Selector<DirectoryDrugListItem> getItemsByFarmGroup(DirectoryDrugFarmGroupItem group) throws ClipsException {
        return new FilteredByFarmGroup(group);
    }

    private class FilteredByFarmGroup implements Selector<DirectoryDrugListItem> {
        List<DirectoryDrugListItem> itemsByGroup = new ArrayList<DirectoryDrugListItem>();

        public FilteredByFarmGroup(DirectoryDrugFarmGroupItem group) throws ClipsException {
            SelectorEditableExceptional it = getItems();
            for (int i = 0; i < it.size(); i++) {
                DirectoryDrugListItem item = (DirectoryDrugListItem) it.get(i);
                //pass nullable element
                if(item.getID() == 0) {
                    continue;
                }
                if(item.getFarmGroup() == group) {
                    itemsByGroup.add(item);
                }
            }
        }
        @Override
        public int size() {
            return itemsByGroup.size();
        }

        @Override
        public DirectoryDrugListItem get(int index) {
            return itemsByGroup.get(index);
        }
    }


    public Selector<DirectoryDrugListItem> getItemsBySection(DirectoryDloDrugSectionItem section) throws ClipsException {
        return new FilteredBySection(section);
    }

    private class FilteredBySection implements Selector<DirectoryDrugListItem> {
        List<DirectoryDrugListItem> itemsBySection = new ArrayList<DirectoryDrugListItem>();

        public FilteredBySection(DirectoryDloDrugSectionItem section) throws ClipsException {
            SelectorEditableExceptional it = getItems();
            for (int i = 0; i < it.size(); i++) {
                DirectoryDrugListItem item = (DirectoryDrugListItem) it.get(i);
                //pass nullable element
                if(item.getID() == 0) {
                    continue;
                }
                if(item.getSection() == section) {
                    itemsBySection.add(item);
                }
            }
        }
        @Override
        public int size() {
            return itemsBySection.size();
        }

        @Override
        public DirectoryDrugListItem get(int index) {
            return itemsBySection.get(index);
        }
    }

}
TOP

Related Classes of clips.delegate.directory.complex.DirectoryDrugList$FilteredBySection

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.