/** * Creates the list of {@link ListViewColumn}s to be used for newly created {@link ListView}s and their likes. * * @see ListView#initColumns() * @since 2.37 */ public static List<ListViewColumn> createDefaultInitialColumnList(Class<? extends View> context) { return createDefaultInitialColumnList(DescriptorVisibilityFilter.applyType(context, ListViewColumn.all())); }
/** * Returns the list of {@link ComputerLauncher} descriptors appropriate to the supplied {@link Slave}. * * @param it the {@link Slave} or {@code null} to assume the slave is of type {@link #clazz}. * @return the filtered list * @since 2.12 */ @Nonnull @Restricted(NoExternalUse.class) // intended for use by Jelly EL only (plus hack in DelegatingComputerLauncher) public final List<Descriptor<ComputerLauncher>> computerLauncherDescriptors(@CheckForNull Slave it) { DescriptorExtensionList<ComputerLauncher, Descriptor<ComputerLauncher>> all = Jenkins.getInstance().<ComputerLauncher, Descriptor<ComputerLauncher>>getDescriptorList( ComputerLauncher.class); return it == null ? DescriptorVisibilityFilter.applyType(clazz, all) : DescriptorVisibilityFilter.apply(it, all); }
/** * Returns the list of {@link RetentionStrategy} descriptors appropriate to the supplied {@link Slave}. * * @param it the {@link Slave} or {@code null} to assume the slave is of type {@link #clazz}. * @return the filtered list * @since 2.12 */ @Nonnull @SuppressWarnings("unchecked") // used by Jelly EL only @Restricted(NoExternalUse.class) // used by Jelly EL only public final List<Descriptor<RetentionStrategy<?>>> retentionStrategyDescriptors(@CheckForNull Slave it) { return it == null ? DescriptorVisibilityFilter.applyType(clazz, RetentionStrategy.all()) : DescriptorVisibilityFilter.apply(it, RetentionStrategy.all()); }
/** * Returns the list of {@link NodePropertyDescriptor} appropriate to the supplied {@link Slave}. * * @param it the {@link Slave} or {@code null} to assume the slave is of type {@link #clazz}. * @return the filtered list * @since 2.12 */ @Nonnull @SuppressWarnings("unchecked") // used by Jelly EL only @Restricted(NoExternalUse.class) // used by Jelly EL only public final List<NodePropertyDescriptor> nodePropertyDescriptors(@CheckForNull Slave it) { List<NodePropertyDescriptor> result = new ArrayList<NodePropertyDescriptor>(); Collection<NodePropertyDescriptor> list = (Collection) Jenkins.getInstance().getDescriptorList(NodeProperty.class); for (NodePropertyDescriptor npd : it == null ? DescriptorVisibilityFilter.applyType(clazz, list) : DescriptorVisibilityFilter.apply(it, list)) { if (npd.isApplicable(clazz)) { result.add(npd); } } return result; }
/** * Possible {@link ListViewColumnDescriptor}s that can be used with this view. */ public List<Descriptor<ListViewColumn>> getColumnsDescriptors() { StaplerRequest request = Stapler.getCurrentRequest(); if (request != null) { View view = request.findAncestorObject(clazz); return view == null ? DescriptorVisibilityFilter.applyType(clazz, ListViewColumn.all()) : DescriptorVisibilityFilter.apply(view, ListViewColumn.all()); } return ListViewColumn.all(); }
/** * Possible {@link ViewJobFilter} types that can be used with this view. */ public List<Descriptor<ViewJobFilter>> getJobFiltersDescriptors() { StaplerRequest request = Stapler.getCurrentRequest(); if (request != null) { View view = request.findAncestorObject(clazz); return view == null ? DescriptorVisibilityFilter.applyType(clazz, ViewJobFilter.all()) : DescriptorVisibilityFilter.apply(view, ViewJobFilter.all()); } return ViewJobFilter.all(); }
/** * Creates the list of {@link ListViewColumn}s to be used for newly created {@link ListView}s and their likes. * * @see ListView#initColumns() * @since 2.37 */ public static List<ListViewColumn> createDefaultInitialColumnList(Class<? extends View> context) { return createDefaultInitialColumnList(DescriptorVisibilityFilter.applyType(context, ListViewColumn.all())); }
/** * Returns the list of {@link ComputerLauncher} descriptors appropriate to the supplied {@link Slave}. * * @param it the {@link Slave} or {@code null} to assume the slave is of type {@link #clazz}. * @return the filtered list * @since 2.12 */ @Nonnull @Restricted(NoExternalUse.class) // intended for use by Jelly EL only (plus hack in DelegatingComputerLauncher) public final List<Descriptor<ComputerLauncher>> computerLauncherDescriptors(@CheckForNull Slave it) { DescriptorExtensionList<ComputerLauncher, Descriptor<ComputerLauncher>> all = Jenkins.getInstance().<ComputerLauncher, Descriptor<ComputerLauncher>>getDescriptorList( ComputerLauncher.class); return it == null ? DescriptorVisibilityFilter.applyType(clazz, all) : DescriptorVisibilityFilter.apply(it, all); }
/** * Get a list of all {@link NodePropertyDescriptor}s we can use to define DockerSlave NodeProperties. */ public List<NodePropertyDescriptor> getNodePropertiesDescriptors() { // Copy/paste hudson.model.Slave.SlaveDescriptor.nodePropertyDescriptors marked as @Restricted for reasons I don't get List<NodePropertyDescriptor> result = new ArrayList<>(); Collection<NodePropertyDescriptor> list = (Collection) Jenkins.getInstance().getDescriptorList(NodeProperty.class); for (NodePropertyDescriptor npd : DescriptorVisibilityFilter.applyType(DockerTransientNode.class, list)) { if (npd.isApplicable(DockerTransientNode.class)) { result.add(npd); } } final Iterator<NodePropertyDescriptor> iterator = result.iterator(); while (iterator.hasNext()) { final NodePropertyDescriptor de = iterator.next(); // see https://issues.jenkins-ci.org/browse/JENKINS-47697 if ("org.jenkinsci.plugins.matrixauth.AuthorizationMatrixNodeProperty".equals(de.getKlass().toJavaClass().getName())) { iterator.remove(); } } return result; }
/** * Returns the list of {@link RetentionStrategy} descriptors appropriate to the supplied {@link Slave}. * * @param it the {@link Slave} or {@code null} to assume the slave is of type {@link #clazz}. * @return the filtered list * @since 2.12 */ @Nonnull @SuppressWarnings("unchecked") // used by Jelly EL only @Restricted(NoExternalUse.class) // used by Jelly EL only public final List<Descriptor<RetentionStrategy<?>>> retentionStrategyDescriptors(@CheckForNull Slave it) { return it == null ? DescriptorVisibilityFilter.applyType(clazz, RetentionStrategy.all()) : DescriptorVisibilityFilter.apply(it, RetentionStrategy.all()); }
/** * Returns the list of {@link NodePropertyDescriptor} appropriate to the supplied {@link Slave}. * * @param it the {@link Slave} or {@code null} to assume the slave is of type {@link #clazz}. * @return the filtered list * @since 2.12 */ @Nonnull @SuppressWarnings("unchecked") // used by Jelly EL only @Restricted(NoExternalUse.class) // used by Jelly EL only public final List<NodePropertyDescriptor> nodePropertyDescriptors(@CheckForNull Slave it) { List<NodePropertyDescriptor> result = new ArrayList<NodePropertyDescriptor>(); Collection<NodePropertyDescriptor> list = (Collection) Jenkins.getInstance().getDescriptorList(NodeProperty.class); for (NodePropertyDescriptor npd : it == null ? DescriptorVisibilityFilter.applyType(clazz, list) : DescriptorVisibilityFilter.apply(it, list)) { if (npd.isApplicable(clazz)) { result.add(npd); } } return result; }
/** * Possible {@link ListViewColumnDescriptor}s that can be used with this view. */ public List<Descriptor<ListViewColumn>> getColumnsDescriptors() { StaplerRequest request = Stapler.getCurrentRequest(); if (request != null) { View view = request.findAncestorObject(clazz); return view == null ? DescriptorVisibilityFilter.applyType(clazz, ListViewColumn.all()) : DescriptorVisibilityFilter.apply(view, ListViewColumn.all()); } return ListViewColumn.all(); }
/** * Possible {@link ViewJobFilter} types that can be used with this view. */ public List<Descriptor<ViewJobFilter>> getJobFiltersDescriptors() { StaplerRequest request = Stapler.getCurrentRequest(); if (request != null) { View view = request.findAncestorObject(clazz); return view == null ? DescriptorVisibilityFilter.applyType(clazz, ViewJobFilter.all()) : DescriptorVisibilityFilter.apply(view, ViewJobFilter.all()); } return ViewJobFilter.all(); }