package com.attask.jenkins; import hudson.model.AbstractProject; import hudson.model.BuildableItemWithBuildWrappers; import hudson.model.Descriptor; import hudson.tasks.BuildWrapper; import hudson.util.DescribableList; import java.util.ArrayList; import java.util.Collection; import java.util.List; /** * User: Joel Johnson * Date: 6/26/12 * Time: 10:57 AM */ public class BuildWrapperUtils { public static <T extends BuildWrapper> T findBuildWrapper(Class<T> buildWrapper, AbstractProject project) { if(project instanceof BuildableItemWithBuildWrappers) { return findBuildWrapper(buildWrapper, (BuildableItemWithBuildWrappers)project); } return null; } public static <T extends BuildWrapper> T findBuildWrapper(Class<T> buildWrapper, BuildableItemWithBuildWrappers project) { DescribableList<BuildWrapper,Descriptor<BuildWrapper>> buildWrappersList = project.getBuildWrappersList(); for (BuildWrapper wrapper : buildWrappersList) { if(buildWrapper.isAssignableFrom(wrapper.getClass())) { return buildWrapper.cast(wrapper); } } return null; } }