BrightSide Workbench Full Report + Source Code
JpaParticipationCatcher.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.activity;
19 
20 import java.util.ArrayList;
21 import java.util.List;
22 import org.turro.elephant.db.WhereClause;
23 import org.turro.jpa.Dao;
24 import org.turro.path.Path;
25 
31 public abstract class JpaParticipationCatcher<V> implements IParticipationCatcher {
32 
33  private Dao dao;
34 
35  @Override
36  public List<IParticipation> getParticipations(Path entityPath) {
37  List<V> l = getDao().getResultList(getQuery(entityPath));
38  List<IParticipation> participations = new ArrayList<>(l.size());
39  for(V v : l) {
41  ja.setEntity(v);
46  participations.add(ja);
47  }
48  return participations;
49  }
50 
51  public Dao getDao() {
52  if(dao == null) {
53  dao = createDao();
54  }
55  return dao;
56  }
57 
58  public abstract Dao createDao();
59  public abstract WhereClause getQuery(Path entityPath);
60  public abstract boolean getCanDelete(V v);
61  public abstract boolean getCanChangeFor(V v);
62  public abstract String getDescription(V v);
63  public abstract void doDelete(V v);
64  public abstract void doShow(V v);
65  public abstract void doChangeFor(V v, Path toPath);
66  public abstract Object getReferringEntity(V v);
67 
68 }
List< IParticipation > getParticipations(Path entityPath)
abstract WhereClause getQuery(Path entityPath)
abstract void doChangeFor(V v, Path toPath)
void setDescription(String description)
void setCanChangeFor(boolean canChangeFor)
void setCanDelete(boolean canDelete)