|
@@ -24,10 +24,12 @@ |
|
|
|
|
|
package jenkins.scm.api.trait; |
|
|
|
|
|
import edu.umd.cs.findbugs.annotations.NonNull; |
|
|
import hudson.model.Descriptor; |
|
|
import java.lang.reflect.ParameterizedType; |
|
|
import java.lang.reflect.Type; |
|
|
import jenkins.scm.api.SCMHead; |
|
|
import jenkins.scm.api.SCMHeadOrigin; |
|
|
import jenkins.scm.api.SCMRevision; |
|
|
import jenkins.scm.api.mixin.SCMHeadMixin; |
|
|
import org.jvnet.tiger_types.Types; |
|
@@ -113,8 +115,8 @@ protected SCMHeadAuthorityDescriptor() { |
|
|
* @param head the {@link SCMHead}. |
|
|
* @return {@code true} if applicable. |
|
|
*/ |
|
|
public boolean isApplicableToHead(SCMHead head) { |
|
|
return isApplicableToHead(head.getClass()); |
|
|
public boolean isApplicableToHead(@NonNull SCMHead head) { |
|
|
return isApplicableToHead(head.getClass()) && isApplicableToOrigin(head.getOrigin()); |
|
|
} |
|
|
|
|
|
/** |
|
@@ -123,7 +125,7 @@ public boolean isApplicableToHead(SCMHead head) { |
|
|
* @param headClass the type of {@link SCMHead}. |
|
|
* @return {@code true} if applicable. |
|
|
*/ |
|
|
public boolean isApplicableToHead(Class<? extends SCMHead> headClass) { |
|
|
public boolean isApplicableToHead(@NonNull Class<? extends SCMHeadMixin> headClass) { |
|
|
return this.headClass.isAssignableFrom(headClass); |
|
|
} |
|
|
|
|
@@ -133,7 +135,7 @@ public boolean isApplicableToHead(Class<? extends SCMHead> headClass) { |
|
|
* @param revision the {@link SCMRevision}. |
|
|
* @return {@code true} if applicable. |
|
|
*/ |
|
|
public boolean isApplicableToRevision(SCMRevision revision) { |
|
|
public boolean isApplicableToRevision(@NonNull SCMRevision revision) { |
|
|
return isApplicableToHead(revision.getHead()) && isApplicableToRevision(revision.getClass()); |
|
|
} |
|
|
|
|
@@ -143,7 +145,7 @@ public boolean isApplicableToRevision(SCMRevision revision) { |
|
|
* @param revisionClass the type of {@link SCMRevision}. |
|
|
* @return {@code true} if applicable. |
|
|
*/ |
|
|
public boolean isApplicableToRevision(Class<? extends SCMRevision> revisionClass) { |
|
|
public boolean isApplicableToRevision(@NonNull Class<? extends SCMRevision> revisionClass) { |
|
|
return this.revisionClass.isAssignableFrom(revisionClass); |
|
|
} |
|
|
|
|
@@ -153,7 +155,7 @@ public boolean isApplicableToRevision(Class<? extends SCMRevision> revisionClass |
|
|
* @param request the {@link SCMSourceRequest}. |
|
|
* @return {@code true} if applicable. |
|
|
*/ |
|
|
public boolean isApplicableToRequest(SCMSourceRequest request) { |
|
|
public boolean isApplicableToRequest(@NonNull SCMSourceRequest request) { |
|
|
return requestClass.isInstance(request); |
|
|
} |
|
|
|
|
@@ -163,7 +165,27 @@ public boolean isApplicableToRequest(SCMSourceRequest request) { |
|
|
* @param requestClass the type of {@link SCMSourceRequest}. |
|
|
* @return {@code true} if applicable. |
|
|
*/ |
|
|
public boolean isApplicableToRequest(Class<? extends SCMSourceRequest> requestClass) { |
|
|
public boolean isApplicableToRequest(@NonNull Class<? extends SCMSourceRequest> requestClass) { |
|
|
return this.requestClass.isAssignableFrom(requestClass); |
|
|
} |
|
|
|
|
|
/** |
|
|
* Checks if this {@link SCMHeadAuthorityDescriptor} is applicable to the supplied {@link SCMHeadOrigin}. |
|
|
* |
|
|
* @param origin the {@link SCMHeadOrigin}. |
|
|
* @return {@code true} if applicable. |
|
|
*/ |
|
|
public boolean isApplicableToOrigin(@NonNull SCMHeadOrigin origin) { |
|
|
return isApplicableToOrigin(origin.getClass()); |
|
|
} |
|
|
|
|
|
/** |
|
|
* Checks if this {@link SCMHeadAuthorityDescriptor} is applicable to the supplied {@link SCMHeadOrigin}. |
|
|
* |
|
|
* @param originClass the type of {@link SCMHeadOrigin}. |
|
|
* @return {@code true} if applicable. |
|
|
*/ |
|
|
public boolean isApplicableToOrigin(@NonNull Class<? extends SCMHeadOrigin> originClass) { |
|
|
return true; |
|
|
} |
|
|
} |