// ----------> GENERATED FILE - DON'T TOUCH! <----------
// generator: ilarkesto.mda.legacy.generator.DaoGenerator
package scrum.server.sprint;
import java.util.*;
import ilarkesto.persistence.*;
import ilarkesto.core.logging.Log;
import ilarkesto.base.*;
import ilarkesto.base.time.*;
import ilarkesto.auth.*;
import ilarkesto.fp.*;
public abstract class GSprintDaySnapshotDao
extends ilarkesto.persistence.ADao<SprintDaySnapshot> {
public final String getEntityName() {
return SprintDaySnapshot.TYPE;
}
public final Class getEntityClass() {
return SprintDaySnapshot.class;
}
public Set<SprintDaySnapshot> getEntitiesVisibleForUser(final scrum.server.admin.User user) {
return getEntities(new Predicate<SprintDaySnapshot>() {
public boolean test(SprintDaySnapshot e) {
return Auth.isVisible(e, user);
}
});
}
// --- clear caches ---
public void clearCaches() {
sprintDaySnapshotsBySprintCache.clear();
sprintsCache = null;
sprintDaySnapshotsByDateCache.clear();
datesCache = null;
sprintDaySnapshotsByRemainingWorkCache.clear();
remainingWorksCache = null;
sprintDaySnapshotsByBurnedWorkCache.clear();
burnedWorksCache = null;
}
@Override
public void entityDeleted(EntityEvent event) {
super.entityDeleted(event);
if (event.getEntity() instanceof SprintDaySnapshot) {
clearCaches();
}
}
@Override
public void entitySaved(EntityEvent event) {
super.entitySaved(event);
if (event.getEntity() instanceof SprintDaySnapshot) {
clearCaches();
}
}
// -----------------------------------------------------------
// - sprint
// -----------------------------------------------------------
private final Cache<scrum.server.sprint.Sprint,Set<SprintDaySnapshot>> sprintDaySnapshotsBySprintCache = new Cache<scrum.server.sprint.Sprint,Set<SprintDaySnapshot>>(
new Cache.Factory<scrum.server.sprint.Sprint,Set<SprintDaySnapshot>>() {
public Set<SprintDaySnapshot> create(scrum.server.sprint.Sprint sprint) {
return getEntities(new IsSprint(sprint));
}
});
public final Set<SprintDaySnapshot> getSprintDaySnapshotsBySprint(scrum.server.sprint.Sprint sprint) {
return sprintDaySnapshotsBySprintCache.get(sprint);
}
private Set<scrum.server.sprint.Sprint> sprintsCache;
public final Set<scrum.server.sprint.Sprint> getSprints() {
if (sprintsCache == null) {
sprintsCache = new HashSet<scrum.server.sprint.Sprint>();
for (SprintDaySnapshot e : getEntities()) {
if (e.isSprintSet()) sprintsCache.add(e.getSprint());
}
}
return sprintsCache;
}
private static class IsSprint implements Predicate<SprintDaySnapshot> {
private scrum.server.sprint.Sprint value;
public IsSprint(scrum.server.sprint.Sprint value) {
this.value = value;
}
public boolean test(SprintDaySnapshot e) {
return e.isSprint(value);
}
}
// -----------------------------------------------------------
// - date
// -----------------------------------------------------------
private final Cache<ilarkesto.base.time.Date,Set<SprintDaySnapshot>> sprintDaySnapshotsByDateCache = new Cache<ilarkesto.base.time.Date,Set<SprintDaySnapshot>>(
new Cache.Factory<ilarkesto.base.time.Date,Set<SprintDaySnapshot>>() {
public Set<SprintDaySnapshot> create(ilarkesto.base.time.Date date) {
return getEntities(new IsDate(date));
}
});
public final Set<SprintDaySnapshot> getSprintDaySnapshotsByDate(ilarkesto.base.time.Date date) {
return sprintDaySnapshotsByDateCache.get(date);
}
private Set<ilarkesto.base.time.Date> datesCache;
public final Set<ilarkesto.base.time.Date> getDates() {
if (datesCache == null) {
datesCache = new HashSet<ilarkesto.base.time.Date>();
for (SprintDaySnapshot e : getEntities()) {
if (e.isDateSet()) datesCache.add(e.getDate());
}
}
return datesCache;
}
private static class IsDate implements Predicate<SprintDaySnapshot> {
private ilarkesto.base.time.Date value;
public IsDate(ilarkesto.base.time.Date value) {
this.value = value;
}
public boolean test(SprintDaySnapshot e) {
return e.isDate(value);
}
}
// -----------------------------------------------------------
// - remainingWork
// -----------------------------------------------------------
private final Cache<Integer,Set<SprintDaySnapshot>> sprintDaySnapshotsByRemainingWorkCache = new Cache<Integer,Set<SprintDaySnapshot>>(
new Cache.Factory<Integer,Set<SprintDaySnapshot>>() {
public Set<SprintDaySnapshot> create(Integer remainingWork) {
return getEntities(new IsRemainingWork(remainingWork));
}
});
public final Set<SprintDaySnapshot> getSprintDaySnapshotsByRemainingWork(int remainingWork) {
return sprintDaySnapshotsByRemainingWorkCache.get(remainingWork);
}
private Set<Integer> remainingWorksCache;
public final Set<Integer> getRemainingWorks() {
if (remainingWorksCache == null) {
remainingWorksCache = new HashSet<Integer>();
for (SprintDaySnapshot e : getEntities()) {
remainingWorksCache.add(e.getRemainingWork());
}
}
return remainingWorksCache;
}
private static class IsRemainingWork implements Predicate<SprintDaySnapshot> {
private int value;
public IsRemainingWork(int value) {
this.value = value;
}
public boolean test(SprintDaySnapshot e) {
return e.isRemainingWork(value);
}
}
// -----------------------------------------------------------
// - burnedWork
// -----------------------------------------------------------
private final Cache<Integer,Set<SprintDaySnapshot>> sprintDaySnapshotsByBurnedWorkCache = new Cache<Integer,Set<SprintDaySnapshot>>(
new Cache.Factory<Integer,Set<SprintDaySnapshot>>() {
public Set<SprintDaySnapshot> create(Integer burnedWork) {
return getEntities(new IsBurnedWork(burnedWork));
}
});
public final Set<SprintDaySnapshot> getSprintDaySnapshotsByBurnedWork(int burnedWork) {
return sprintDaySnapshotsByBurnedWorkCache.get(burnedWork);
}
private Set<Integer> burnedWorksCache;
public final Set<Integer> getBurnedWorks() {
if (burnedWorksCache == null) {
burnedWorksCache = new HashSet<Integer>();
for (SprintDaySnapshot e : getEntities()) {
burnedWorksCache.add(e.getBurnedWork());
}
}
return burnedWorksCache;
}
private static class IsBurnedWork implements Predicate<SprintDaySnapshot> {
private int value;
public IsBurnedWork(int value) {
this.value = value;
}
public boolean test(SprintDaySnapshot e) {
return e.isBurnedWork(value);
}
}
// --- valueObject classes ---
@Override
protected Set<Class> getValueObjectClasses() {
Set<Class> ret = new HashSet<Class>(super.getValueObjectClasses());
return ret;
}
@Override
public Map<String, Class> getAliases() {
Map<String, Class> aliases = new HashMap<String, Class>(super.getAliases());
return aliases;
}
// --- dependencies ---
scrum.server.sprint.SprintDao sprintDao;
public void setSprintDao(scrum.server.sprint.SprintDao sprintDao) {
this.sprintDao = sprintDao;
}
}