001package Torello.HTML.Tools.NewsSite;
002
003import Torello.HTML.*;
004
005import java.util.*;
006import java.util.function.*;
007import java.net.URL;
008import java.io.*;
009
010/**
011 * This function-pointer / lambda-target interface which facilitates extracting news-article
012 * {@code URL's} on the main-page (or a sub-sections) of a news-media web-site.
013 * 
014 * <BR /><BR /><EMBED CLASS='external-html' DATA-FILE-ID=LINKS_GET>
015 */
016@FunctionalInterface
017public interface LinksGet extends BiFunction<URL, Vector<HTMLNode>, Vector<String>>, Serializable
018{
019    /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUIDFI>  */
020    public static final long serialVersionUID = 1;
021
022    /**
023     * <EMBED CLASS='external-html' DATA-FILE-ID=FUNC_INTER_METH>
024     *
025     * <BR /><BR />The purpose of this method is to retrieve all of the relevant HTML Anchor
026     * Elements from a news-website.
027     * 
028     * @param url The {@code URL} of a section of a newspaper, or content, website.
029     * @param page The download of that {@code URL} into a vectorized-html page.
030     * 
031     * @return A list of all the {@code TagNode's} that have relevant 
032     * {@code URL}-link information.
033     */
034    public Vector<String> apply(URL url, Vector<HTMLNode> page);
035}