/** * Constructs a visitor with the given patterns. * * @param internal regular expressions to match as internal packages or * <code>null</code> * @param api regular expressions to match as API or <code>null</code> */ public ApiDescriptionModifier(String[] internal, String[] api) { setInternalPatterns(internal); setApiPatterns(api); }
ApiDescriptionModifier visitor = new ApiDescriptionModifier(sinternal, sapi); for (int i = 0; i < components.length; i++) { IApiComponent component = components[i]; if (!component.isSystemComponent() && !component.isSourceComponent()) { visitor.setApiDescription(component.getApiDescription()); component.getApiDescription().accept(visitor, null);
@Override public boolean visitElement(IElementDescriptor element, IApiAnnotations description) { switch (element.getElementType()) { case IElementDescriptor.COMPONENT: return true; case IElementDescriptor.PACKAGE: IPackageDescriptor pkg = (IPackageDescriptor) element; if (fInternalPackages != null) { if (matchesPattern(pkg.getName(), fInternalPackages)) { fDescription.setVisibility(element, VisibilityModifiers.PRIVATE); } } if (fApiPackages != null) { if (matchesPattern(pkg.getName(), fApiPackages)) { fDescription.setVisibility(element, VisibilityModifiers.API); } } return false; default: return false; } }
ApiDescriptionModifier visitor = new ApiDescriptionModifier(sinternal, sapi); for (IApiComponent component : components) { if (!component.isSystemComponent() && !component.isSourceComponent()) { visitor.setApiDescription(component.getApiDescription()); component.getApiDescription().accept(visitor, null);