EMMA Coverage Report (generated Thu Nov 19 17:07:02 CET 2009)
[all classes][org.apache.james.jdkim.impl]

COVERAGE SUMMARY FOR SOURCE FILE [MultiplexingPublicKeyRecordRetriever.java]

nameclass, %method, %block, %line, %
MultiplexingPublicKeyRecordRetriever.java100% (1/1)100% (4/4)100% (65/65)100% (14/14)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class MultiplexingPublicKeyRecordRetriever100% (1/1)100% (4/4)100% (65/65)100% (14/14)
MultiplexingPublicKeyRecordRetriever (): void 100% (1/1)100% (8/8)100% (3/3)
MultiplexingPublicKeyRecordRetriever (String, PublicKeyRecordRetriever): void 100% (1/1)100% (7/7)100% (3/3)
addRetriever (String, PublicKeyRecordRetriever): void 100% (1/1)100% (7/7)100% (2/2)
getRecords (CharSequence, CharSequence, CharSequence): List 100% (1/1)100% (43/43)100% (6/6)

1/****************************************************************
2 * Licensed to the Apache Software Foundation (ASF) under one   *
3 * or more contributor license agreements.  See the NOTICE file *
4 * distributed with this work for additional information        *
5 * regarding copyright ownership.  The ASF licenses this file   *
6 * to you under the Apache License, Version 2.0 (the            *
7 * "License"); you may not use this file except in compliance   *
8 * with the License.  You may obtain a copy of the License at   *
9 *                                                              *
10 *   http://www.apache.org/licenses/LICENSE-2.0                 *
11 *                                                              *
12 * Unless required by applicable law or agreed to in writing,   *
13 * software distributed under the License is distributed on an  *
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
15 * KIND, either express or implied.  See the License for the    *
16 * specific language governing permissions and limitations      *
17 * under the License.                                           *
18 ****************************************************************/
19 
20package org.apache.james.jdkim.impl;
21 
22import java.util.HashMap;
23import java.util.List;
24import java.util.Map;
25 
26import org.apache.james.jdkim.api.PublicKeyRecordRetriever;
27import org.apache.james.jdkim.exceptions.PermFailException;
28import org.apache.james.jdkim.exceptions.TempFailException;
29 
30public class MultiplexingPublicKeyRecordRetriever implements
31        PublicKeyRecordRetriever {
32 
33    private Map/* String, PublicKeyRecordRetriever */retrievers;
34 
35    public MultiplexingPublicKeyRecordRetriever() {
36        retrievers = new HashMap();
37    }
38 
39    public MultiplexingPublicKeyRecordRetriever(String methodName,
40            PublicKeyRecordRetriever pkrr) {
41        this();
42        addRetriever(methodName, pkrr);
43    }
44 
45    public void addRetriever(String methodName, PublicKeyRecordRetriever pkrr) {
46        retrievers.put(methodName, pkrr);
47    }
48 
49    public List getRecords(CharSequence methodAndOption, CharSequence selector,
50            CharSequence token) throws TempFailException, PermFailException {
51        int pos = methodAndOption.toString().indexOf('/');
52        String method = pos != -1 ? methodAndOption.subSequence(0, pos)
53                .toString() : methodAndOption.toString();
54        PublicKeyRecordRetriever pkrr = (PublicKeyRecordRetriever) retrievers
55                .get(method);
56        if (pkrr != null) {
57            return pkrr.getRecords(methodAndOption, selector, token);
58        } else {
59            throw new PermFailException(
60                    "Unknown public key record retrieving method: "
61                            + methodAndOption);
62        }
63    }
64 
65}

[all classes][org.apache.james.jdkim.impl]
EMMA 2.0.5312 (C) Vladimir Roubtsov