private void setFlag(Flag flag, boolean set) { if (set && !flagsEnum.contains(flag)) { flagsEnum.add(flag); } else if (!set) { flagsEnum.remove(flag); assert (!flagsEnum.contains(flag)); } }
@Override public void setModeEnabled(TerminalMode mode, boolean enabled) { if (enabled) { myModes.add(mode); } else { myModes.remove(mode); } mode.setEnabled(this, enabled); }
/** * Calculate which fields have no values across the whole range of titles. Iterates through all * the titles for each field value, until an entry is found or the end of the title list is * reached. * * @return a set of fields which are empty */ private EnumSet<Field> findEmptyFields() { long s = System.currentTimeMillis(); EnumSet<Field> empty = EnumSet.allOf(Field.class); for (Field f : Field.getFieldSet()) { // Check if any title has a value for this field for (KbartTitle kbt : titles) { if (kbt.hasFieldValue(f)) { empty.remove(f); break; } } } // Log the time, as this is an expensive way to monitor empty fields. // It should be done somehow during title conversion. log.debug("findEmptyFields() took " + (System.currentTimeMillis() - s) + "s"); return empty; }