package mireka.filter.local.table;
import java.util.HashSet;
import java.util.Set;
import mireka.address.AddressLiteral;
import mireka.address.MailAddressFactory;
import mireka.address.RemotePart;
/**
* InlineDomainRegistry is used to easily configure the list of domains and
* address literals which are considered local by the mail server. In contrast
* to its name this container also accepts {@link AddressLiteral}, but that is
* rarely used if ever.
*/
public class InlineDomainRegistry implements RemotePartSpecification {
private final Set<RemotePart> remoteParts = new HashSet<RemotePart>();
@Override
public boolean isSatisfiedBy(RemotePart remotePart) {
return remoteParts.contains(remotePart);
}
public void addDomain(String remotePart) {
remoteParts.add(new MailAddressFactory()
.createRemotePartFromDisplayableText(remotePart));
}
public void setRemoteParts(String[] remoteParts) {
this.remoteParts.clear();
for (String remotePart : remoteParts) {
addDomain(remotePart);
}
}
}