public static ContextSettings create() { ContextSettings defaultSettings = new ContextSettings(OutputFormat.Redberry, "d"); defaultSettings.setMetricName("g"); defaultSettings.addMetricIndexType(IndexType.LatinLower); defaultSettings.addMetricIndexType(IndexType.GreekLower); defaultSettings.addMetricIndexType(IndexType.LatinUpper); defaultSettings.addMetricIndexType(IndexType.GreekUpper); //Reading seed from property if exists if (System.getProperty("redberry.nmseed") != null) defaultSettings.setNameManagerSeed(Long.parseLong(System.getProperty("redberry.nmseed"), 10)); return defaultSettings; } }
/** * 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); }