Changeset 5798 for SRUClient


Ignore:
Timestamp:
11/12/14 00:06:35 (10 years ago)
Author:
Oliver Schonefeld
Message:
Location:
SRUClient/trunk/src/main/java/eu/clarin/sru/client/fcs
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • SRUClient/trunk/src/main/java/eu/clarin/sru/client/fcs/ClarinFCSClientBuilder.java

    r5750 r5798  
    2222import eu.clarin.sru.client.SRUClient;
    2323import eu.clarin.sru.client.SRUClientConfig;
     24import eu.clarin.sru.client.SRUExtraResponseDataParser;
    2425import eu.clarin.sru.client.SRUSimpleClient;
    2526import eu.clarin.sru.client.SRUThreadedClient;
     
    3839            SRUVersion.VERSION_1_2;
    3940    private List<DataViewParser> parsers = new ArrayList<DataViewParser>();
     41    private List<SRUExtraResponseDataParser> extraDataParsers =
     42            new ArrayList<SRUExtraResponseDataParser>();
    4043    private SRUVersion defaultVersion = DEFAULT_SRU_VERSION;
    4144    private boolean unknownAsDom      = DEFAULT_UNKNOWN_AS_DOM;
     
    227230                    parser.getClass().getName() + "' was already registered");
    228231        }
     232        return this;
     233    }
     234
     235
     236    /**
     237     * Register a Data View parser.
     238     *
     239     * @param parser
     240     *            the extra response data parser to be registered
     241     * @return this {@link ClarinFCSClientBuilder} instance
     242     * @throws IllegalArgumentException
     243     *             if an error occurred while registering the data view parser
     244     * @see SRUExtraResponseDataParser
     245     */
     246    public ClarinFCSClientBuilder registerExtraResponseDatar(SRUExtraResponseDataParser parser) {
     247        if (parser == null) {
     248            throw new NullPointerException("parser == null");
     249        }
     250        extraDataParsers.add(parser);
    229251        return this;
    230252    }
     
    273295            builder.addRecordDataParser(new LegacyClarinFCSRecordDataParser(p));
    274296        }
     297        if ((extraDataParsers != null) && !extraDataParsers.isEmpty()) {
     298            for (SRUExtraResponseDataParser parser : extraDataParsers) {
     299                builder.addExtraResponseDataParser(parser);
     300            }
     301        }
    275302        return builder.build();
    276303    }
     
    291318            result.add(new DataViewParserKWIC());
    292319        }
    293 
    294320        return result;
    295321    }
Note: See TracChangeset for help on using the changeset viewer.