/** * Creates context from the settings * * @param contextSettings settings * @see ContextSettings */ public Context(ContextSettings contextSettings) { this.parseManager = new ParseManager(contextSettings.getParser()); this.converterManager = contextSettings.getConverterManager(); this.nameManager = new NameManager(contextSettings.getNameManagerSeed(), contextSettings.getKronecker(), contextSettings.getMetricName()); this.defaultOutputFormat = contextSettings.getDefaultOutputFormat(); EnumSet<IndexType> metricTypes = EnumSet.noneOf(IndexType.class); EnumSet<IndexType> matrixTypes = EnumSet.allOf(IndexType.class); for (IndexType type : contextSettings.getMetricTypes()) { matrixTypes.remove(type); metricTypes.add(type); this.metricTypesBits.set(type.getType()); } this.metricTypes = Collections.unmodifiableSet(metricTypes); this.matrixTypes = Collections.unmodifiableSet(matrixTypes); }