/** * Creates a {@link mondrian.rolap.aggmatcher.Recognizer.Matcher} for the given measure name * (symbolic name), column name and aggregate name (sum, count, etc.). */ public Recognizer.Matcher getMeasureMatcher( final String measureName, final String measureColumnName, final String aggregateName) { DefaultDef.AggRule rule = getAggRule(); Recognizer.Matcher matcher = rule.getMeasureMap().getMatcher(measureName, measureColumnName, aggregateName); return matcher; }
/** * Gets the {@link mondrian.rolap.aggmatcher.Recognizer.Matcher} for columns that should be * ignored. * * @return the {@link mondrian.rolap.aggmatcher.Recognizer.Matcher} for columns that should be * ignored. */ public Recognizer.Matcher getFactCountMatcher() { if (factCountMatcher == null) { // get default AggRule DefaultDef.AggRule rule = getAggRule(); DefaultDef.FactCountMatch factCountMatch = rule.getFactCountMatch(); factCountMatcher = factCountMatch.getMatcher(); } return factCountMatcher; }
/** * Gets a {@link mondrian.rolap.aggmatcher.Recognizer.Matcher} for a given level's hierarchy's * name, level name and column name. */ public Recognizer.Matcher getLevelMatcher( final String usagePrefix, final String hierarchyName, final String levelName, final String levelColumnName) { DefaultDef.AggRule rule = getAggRule(); Recognizer.Matcher matcher = rule.getLevelMap().getMatcher(usagePrefix, hierarchyName, levelName, levelColumnName); return matcher; }
/** * Gets the {@link mondrian.rolap.aggmatcher.Recognizer.Matcher} for this foreign key column name. * * @param foreignKeyName Name of a foreign key column */ public Recognizer.Matcher getForeignKeyMatcher(String foreignKeyName) { Recognizer.Matcher matcher = foreignKeyMatcherMap.get(foreignKeyName); if (matcher == null) { // get default AggRule DefaultDef.AggRule rule = getAggRule(); DefaultDef.ForeignKeyMatch foreignKeyMatch = rule.getForeignKeyMatch(); matcher = foreignKeyMatch.getMatcher(foreignKeyName); foreignKeyMatcherMap.put(foreignKeyName, matcher); } return matcher; }
/** * Gets the {@link mondrian.rolap.aggmatcher.Recognizer.Matcher} for this tableName. * * @param tableName */ public Recognizer.Matcher getTableMatcher(final String tableName) { Recognizer.Matcher matcher = factToPattern.get(tableName); if (matcher == null) { // get default AggRule DefaultDef.AggRule rule = getAggRule(); DefaultDef.TableMatch tableMatch = rule.getTableMatch(); matcher = tableMatch.getMatcher(tableName); factToPattern.put(tableName, matcher); } return matcher; }
/** Gets the {@link mondrian.rolap.aggmatcher.Recognizer.Matcher} for the fact count column. */ public Recognizer.Matcher getIgnoreMatcher() { if (ignoreMatcherMap == null) { // get default AggRule DefaultDef.AggRule rule = getAggRule(); DefaultDef.IgnoreMap ignoreMatch = rule.getIgnoreMap(); if (ignoreMatch == null) { ignoreMatcherMap = new Recognizer.Matcher() { public boolean matches(String name) { return false; } }; } else { ignoreMatcherMap = ignoreMatch.getMatcher(); } } return ignoreMatcherMap; }