package org.csanchez.jenkins.plugins.kubernetes;

import hudson.ExtensionList;
import hudson.ExtensionPoint;
import io.fabric8.kubernetes.api.model.PodBuilder;

import javax.annotation.Nonnull;

/**
 * Allows to alter a pod definition after it has been built from the yaml and DSL/GUI configuration.
 */
public abstract class PodDecorator implements ExtensionPoint {
    public static ExtensionList<PodDecorator> all() {
        return ExtensionList.lookup(PodDecorator.class);
    }

    @Nonnull
    public static PodBuilder decorateAll(@Nonnull PodBuilder builder) {
        for (PodDecorator decorator : all()) {
            builder = decorator.decorate(builder);
        }
        return builder;
    }

    @Nonnull
    protected abstract PodBuilder decorate(@Nonnull PodBuilder builder);
}

@@ -308,180 +308,55 @@
 lic 
-abstract class PodDecorator implements ExtensionPoint %7B%0A    public static ExtensionList%3CPodDecorator%3E all() %7B%0A        return ExtensionList.lookup(PodDecorator.class);%0A    %7D
+interface PodDecorator extends ExtensionPoint %7B
 %0A%0A  
@@ -370,23 +370,16 @@
 ull%0A    
-public 
 static P
@@ -473,12 +473,47 @@
 r : 
-all(
+ExtensionList.lookup(PodDecorator.class
 )) %7B
@@ -626,27 +626,8 @@
     
-protected abstract 
 PodB

Fix reviews