public boolean contains(final int value) { for (final ChildType child : _bridged.getChildren()) if (child.contains(value)) return true; else { if (checkBoundary(value, child)) return false; } return false; }
@Override public String toString() { StringWriter stringWriter = new StringWriter(); PrintWriter writer = new PrintWriter(stringWriter, true); List<ChildType> children = getChild(); writer.println(""); writer.println("\tParent Name: " + getName()); writer.println("\tNumber of Children: " + children.size()); for (ChildType ch : children) { writer.println(ch.toString()); } return stringWriter.toString(); }
public List<? extends Set> split(final int[] values, final boolean[] isIntervalStart) { final List<Set> r = new ArrayList<Set>(values.length + 1); final ArrayList<List<Set>> partsList = new ArrayList<List<Set>>(values.length + 1); for (int i = 0; i <= values.length; i++) partsList.add(new LinkedList<Set>()); for (final ChildType child : _bridged.getChildren()) { final List<? extends Set> currentSplit = child.split(values, isIntervalStart); final Iterator<List<Set>> it = partsList.iterator(); for (final Set elmt : currentSplit) { final List<Set> next = it.next(); if (!elmt.isEmpty()) next.add(elmt); } } for (final List<Set> splitList : partsList) { if (splitList.isEmpty()) r.add(_setCreationToolbox.makeEmptySet().getAsSet()); else if (splitList.size() == 1) r.add(splitList.get(0)); else r.add(_setCreationToolbox.makeComposite(splitList)); } return r; }
protected boolean checkBoundary(final int value, final ChildType child) { final Bound lowerBound = child.getLowerBound(); return (lowerBound != null) && ((lowerBound.getValue() - value) > 0); }
public @Nullable Bound getUpperBound() { if (_bridged.getChildrenCount() <= 0) return null; final ChildType next = _bridged.getChildrenDescending().iterator().next(); return next.getUpperBound(); }
@Override public int getChildTypeCount() { return ChildType.values().length; }
public @Nullable IDoubleBound getLowerBound() { if (_bridged.getChildrenCount() <= 0) return null; final ChildType next = _bridged.getChildren().iterator().next(); return next.getLowerBound(); }