98 */
99 public static final String ALGO_ID_C14N_PHYSICAL =
100 "http://santuario.apache.org/c14n/physical";
101
102 private static Map<String, Class<? extends CanonicalizerSpi>> canonicalizerHash =
103 new ConcurrentHashMap<String, Class<? extends CanonicalizerSpi>>();
104
105 private final CanonicalizerSpi canonicalizerSpi;
106
107 /**
108 * Constructor Canonicalizer
109 *
110 * @param algorithmURI
111 * @throws InvalidCanonicalizerException
112 */
113 private Canonicalizer(String algorithmURI) throws InvalidCanonicalizerException {
114 try {
115 Class<? extends CanonicalizerSpi> implementingClass =
116 canonicalizerHash.get(algorithmURI);
117
118 canonicalizerSpi = implementingClass.newInstance();
119 canonicalizerSpi.reset = true;
120 } catch (Exception e) {
121 Object exArgs[] = { algorithmURI };
122 throw new InvalidCanonicalizerException(
123 "signature.Canonicalizer.UnknownCanonicalizer", exArgs, e
124 );
125 }
126 }
127
128 /**
129 * Method getInstance
130 *
131 * @param algorithmURI
132 * @return a Canonicalizer instance ready for the job
133 * @throws InvalidCanonicalizerException
134 */
135 public static final Canonicalizer getInstance(String algorithmURI)
136 throws InvalidCanonicalizerException {
137 return new Canonicalizer(algorithmURI);
138 }
|
98 */
99 public static final String ALGO_ID_C14N_PHYSICAL =
100 "http://santuario.apache.org/c14n/physical";
101
102 private static Map<String, Class<? extends CanonicalizerSpi>> canonicalizerHash =
103 new ConcurrentHashMap<String, Class<? extends CanonicalizerSpi>>();
104
105 private final CanonicalizerSpi canonicalizerSpi;
106
107 /**
108 * Constructor Canonicalizer
109 *
110 * @param algorithmURI
111 * @throws InvalidCanonicalizerException
112 */
113 private Canonicalizer(String algorithmURI) throws InvalidCanonicalizerException {
114 try {
115 Class<? extends CanonicalizerSpi> implementingClass =
116 canonicalizerHash.get(algorithmURI);
117
118 @SuppressWarnings("deprecation")
119 CanonicalizerSpi tmp = implementingClass.newInstance();
120 canonicalizerSpi = tmp;
121 canonicalizerSpi.reset = true;
122 } catch (Exception e) {
123 Object exArgs[] = { algorithmURI };
124 throw new InvalidCanonicalizerException(
125 "signature.Canonicalizer.UnknownCanonicalizer", exArgs, e
126 );
127 }
128 }
129
130 /**
131 * Method getInstance
132 *
133 * @param algorithmURI
134 * @return a Canonicalizer instance ready for the job
135 * @throws InvalidCanonicalizerException
136 */
137 public static final Canonicalizer getInstance(String algorithmURI)
138 throws InvalidCanonicalizerException {
139 return new Canonicalizer(algorithmURI);
140 }
|