package com.trywildcard.pair.model.article;
import com.trywildcard.pair.exception.CardBuilderException;
import com.trywildcard.pair.model.AbstractCard;
import com.trywildcard.pair.model.CardType;
public class ArticleCard extends AbstractCard {
private Article article;
/**
* Construct an article card
*/
public ArticleCard(Article article, String webUrl) throws CardBuilderException {
this.cardType = CardType.ARTICLE;
article(article);
webUrl(webUrl);
}
/*
* Constructs an article card by attempting to extract relevant meta tags from input web url
*/
public ArticleCard(String webUrl) throws CardBuilderException {
super(webUrl);
this.cardType = CardType.ARTICLE;
article(new ArticleBuilder(this.getMetaTagModel()).build());
}
private void article(Article article) throws CardBuilderException {
v.required(v.notNull(article), "Must specify an article.");
this.article = article;
}
public Article getArticle() {
return article;
}
/**
* Private constructor to allow for Jackson deserialization.
*/
private ArticleCard(){}
}