001package com.nimbusds.jose.proc; 002 003 004/** 005 * Base abstract processor of received {@link com.nimbusds.jose.JOSEObject}s. 006 * Provides getters and setters for JWS / JWE key selectors and JWS verifier / 007 * JWE decrypter factories. 008 * 009 * @author Vladimir Dzhuvinov 010 * @version 2015-06-30 011 */ 012public abstract class BaseJOSEProcessor<C extends SecurityContext> { 013 014 015 /** 016 * The JWS key selector. 017 */ 018 private JWSKeySelector<C> jwsKeySelector; 019 020 021 /** 022 * The JWE key selector. 023 */ 024 private JWEKeySelector<C> jweKeySelector; 025 026 027 /** 028 * The JWS verifier factory. 029 */ 030 private JWSVerifierFactory jwsVerifierFactory = new DefaultJWSVerifierFactory(); 031 032 033 /** 034 * The JWE decrypter factory. 035 */ 036 private JWEDecrypterFactory jweDecrypterFactory = new DefaultJWEDecrypterFactory(); 037 038 039 040 /** 041 * Gets the JWS key selector. 042 * 043 * @return The JWS key selector, {@code null} if not specified. 044 */ 045 public JWSKeySelector<C> getJWSKeySelector() { 046 047 return jwsKeySelector; 048 } 049 050 051 /** 052 * Sets the JWS key selector. 053 * 054 * @param jwsKeySelector The JWS key selector, {@code null} if not 055 * specified. 056 */ 057 public void setJWSKeySelector(final JWSKeySelector<C> jwsKeySelector) { 058 059 this.jwsKeySelector = jwsKeySelector; 060 } 061 062 063 /** 064 * Gets the JWE key selector. 065 * 066 * @return The JWE key selector, {@code null} if not specified. 067 */ 068 public JWEKeySelector<C> getJWEKeySelector() { 069 070 return jweKeySelector; 071 } 072 073 074 /** 075 * Sets the JWE key selector. 076 * 077 * @param jweKeySelector The JWE key selector, {@code null} if not 078 * specified. 079 */ 080 public void setJWEKeySelector(final JWEKeySelector<C> jweKeySelector) { 081 082 this.jweKeySelector = jweKeySelector; 083 } 084 085 086 /** 087 * Gets the factory for creating JWS verifier instances. 088 * 089 * @return The JWS verifier factory, {@code null} if not specified. 090 */ 091 public JWSVerifierFactory getJWSVerifierFactory() { 092 093 return jwsVerifierFactory; 094 } 095 096 097 /** 098 * Sets the factory for creating JWS verifier instances. 099 * 100 * @param factory The JWS verifier factory, {@code null} if not 101 * specified. 102 */ 103 public void setJWSVerifierFactory(final JWSVerifierFactory factory) { 104 105 jwsVerifierFactory = factory; 106 } 107 108 109 /** 110 * Gets the factory for creating JWE decrypter instances. 111 * 112 * @return The JWE decrypter factory, {@code null} if not specified. 113 */ 114 public JWEDecrypterFactory getJWEDecrypterFactory() { 115 116 return jweDecrypterFactory; 117 } 118 119 120 /** 121 * Sets the factory for creating JWE decrypter instances. 122 * 123 * @param factory The JWE decrypter factory, {@code null} if not 124 * specified. 125 */ 126 public void setJWEDecrypterFactory(final JWEDecrypterFactory factory) { 127 128 jweDecrypterFactory = factory; 129 } 130}