123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- package ui.controller;
- import java.util.HashMap;
- import java.util.Map.Entry;
- import classes.Category;
- import classes.CpsObject;
- import classes.HolonElement;
- import classes.HolonObject;
- import ui.model.Model;
- public class MultiPurposeController {
- private Model MODEL;
- public MultiPurposeController(Model model) {
- this.MODEL = model;
- }
-
- public Category searchCategory(String category) {
- Integer idx;
- if ((idx = MODEL.getCgIdx().get(category)) == null || MODEL.getCgIdx().size() < 1 )
- return null;
- else
- return MODEL.getCategories().get(idx);
- }
-
- public CpsObject searchCategoryObject(Category category, String object) {
- Integer idx;
- if ((idx = category.getObjIdx().get(object)) == null || category.getObjIdx().size() < 1)
- return null;
- else
- return category.getObjects().get(idx);
- }
-
- public CpsObject searchByID(int ID) {
- Integer idx;
- if ((idx = MODEL.getCvsObjIdx().get(ID)) == null || MODEL.getCvsObjIdx().size() < 1)
- return null;
- else
- return MODEL.getObjectsOnCanvas().get(idx);
- }
-
- public HolonElement searchHolonElement(HolonObject object, String element) {
- Integer idx;
- if ((idx = object.getEleIdx().get(element)) == null || object.getEleIdx().size() < 1)
- return null;
- else
- return object.getElements().get(idx);
- }
-
- public <T> void decIdx(T key, HashMap<T, Integer> map) {
- for (Entry<T, Integer> i : map.entrySet()) {
- if (i.getValue() > map.get(key))
- i.setValue(i.getValue() - 1);
- }
- }
-
- public static <T, Integer> HashMap<T, Integer> copyHashMap(HashMap<T, Integer> map) {
- HashMap<T, Integer> newMap = new HashMap<>();
- for (Entry<T, Integer> i : map.entrySet()) {
- newMap.put(i.getKey(), i.getValue());
- }
- return newMap;
- }
- }
|