package se.cambio.cds.gdl.model.readable.rule; import se.cambio.cds.gdl.model.readable.ReadableGuide; import se.cambio.cds.gdl.model.readable.rule.lines.RuleLine; import se.cambio.openehr.controller.session.data.ArchetypeManager; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class RuleLineCollection { private ReadableGuide readableGuide; private List<RuleLine> ruleLines; public RuleLineCollection(ReadableGuide readableGuide) { this.readableGuide = readableGuide; } public List<RuleLine> getRuleLines() { return Collections.unmodifiableList(getRuleLinesI()); } public void setReadableGuide(ReadableGuide readableGuide) { this.readableGuide = readableGuide; } private List<RuleLine> getRuleLinesI() { if (ruleLines == null) { ruleLines = new ArrayList<RuleLine>(); } return ruleLines; } public void add(int index, RuleLine ruleLine){ getRuleLinesI().add(index, ruleLine); ruleLine.setReadableGuide(readableGuide); } public void add(RuleLine ruleLine){ getRuleLinesI().add(ruleLine); ruleLine.setReadableGuide(readableGuide); } public void remove(RuleLine ruleLine){ getRuleLinesI().remove(ruleLine); ruleLine.setReadableGuide(null); } public ArchetypeManager getArchetypeManager() { return readableGuide.getArchetypeManager(); } }