public List<Filter> createFilterList(Optional<String> argumentString, List<Filter> filters, String errorMessage, boolean exclusive) { for (String filterString : Splitter.on(";").trimResults().omitEmptyStrings().split(argumentString.or(""))) { try { // filter based on annotations if (filterString.startsWith("@")) { filters.add(new AnnotationClassFilter(filterString)); filters.add(new AnnotationFieldFilter(filterString)); filters.add(new AnnotationBehaviorFilter(filterString)); } if (filterString.contains("#")) { if (filterString.contains("(")) { JavadocLikeBehaviorFilter behaviorFilter = new JavadocLikeBehaviorFilter(filterString); filters.add(behaviorFilter); } else { JavadocLikeFieldFilter fieldFilter = new JavadocLikeFieldFilter(filterString); filters.add(fieldFilter); } } else { JavaDocLikeClassFilter classFilter = new JavaDocLikeClassFilter(filterString); filters.add(classFilter); JavadocLikePackageFilter packageFilter = new JavadocLikePackageFilter(filterString, exclusive); filters.add(packageFilter); } } catch (Exception e) { throw new JApiCmpException(JApiCmpException.Reason.CliError, String.format(errorMessage, filterString, e.getMessage()), e); } } return filters; }
public List<Filter> createFilterList(Optional<String> argumentString, List<Filter> filters, String errorMessage, boolean exclusive) { for (String filterString : Splitter.on(";").trimResults().omitEmptyStrings().split(argumentString.or(""))) { try { // filter based on annotations if (filterString.startsWith("@")) { filters.add(new AnnotationClassFilter(filterString)); filters.add(new AnnotationFieldFilter(filterString)); filters.add(new AnnotationBehaviorFilter(filterString)); } if (filterString.contains("#")) { if (filterString.contains("(")) { JavadocLikeBehaviorFilter behaviorFilter = new JavadocLikeBehaviorFilter(filterString); filters.add(behaviorFilter); } else { JavadocLikeFieldFilter fieldFilter = new JavadocLikeFieldFilter(filterString); filters.add(fieldFilter); } } else { JavaDocLikeClassFilter classFilter = new JavaDocLikeClassFilter(filterString); filters.add(classFilter); JavadocLikePackageFilter packageFilter = new JavadocLikePackageFilter(filterString, exclusive); filters.add(packageFilter); } } catch (Exception e) { throw new JApiCmpException(JApiCmpException.Reason.CliError, String.format(errorMessage, filterString, e.getMessage()), e); } } return filters; }