BrightSide Workbench Full Report + Source Code
EntityCollections.java
Go to the documentation of this file.
1 /*
2  * TurrĂ³ i Cutiller Foundation. License notice.
3  * Copyright (C) 2011 Lluis TurrĂ³ Cutiller <http://www.turro.org/>
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU Affero General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Affero General Public License for more details.
14  *
15  * You should have received a copy of the GNU Affero General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 package org.turro.jpa.entity;
19 
20 import java.util.Collection;
21 import java.util.Objects;
22 import org.turro.collections.CollectionUtil;
23 
28 public class EntityCollections extends CollectionUtil<IDaoEntity> {
29 
30  public boolean remove(IDaoEntity entity) {
31  if(entity == null) return false;
32  return super.remove(e -> {
33  return !e.isNew() && Objects.equals(e.entityId(), entity.entityId());
34  });
35  }
36 
37  public boolean removeEmpties() {
38  return super.remove(e -> {
39  return e.isEmpty();
40  });
41  }
42 
43  public boolean removeNews() {
44  return super.remove(e -> {
45  return e.isNew();
46  });
47  }
48 
49  public boolean contains(IDaoEntity o) {
50  return super.contains(e -> Objects.equals(e.entityId(), o.entityId()));
51  }
52 
53  public boolean replace(IDaoEntity o) {
54  if(remove(o)) {
55  return values.add(o);
56  }
57  return false;
58  }
59 
60  /* Factory */
61 
62  public static EntityCollections entities(Collection values) {
63  return new EntityCollections(CollectionUtil.from((Collection<Object>) values).<Collection<IDaoEntity>>cast());
64  }
65 
66  protected EntityCollections(Collection<IDaoEntity> values) {
67  super(values);
68  }
69 
70 }
static EntityCollections entities(Collection values)
EntityCollections(Collection< IDaoEntity > values)