001package fr.aumgn.bukkitutils.command.arg.impl;
002
003import java.util.Collections;
004import java.util.List;
005
006import fr.aumgn.bukkitutils.command.arg.MatchingArg;
007
008public abstract class AbstractMatchingArg<V> extends AbstractCommandArg<V>
009        implements MatchingArg<V> {
010
011    public AbstractMatchingArg(String string) {
012        super( string);
013    }
014
015    @Override
016    public List<V> matchOr(V def) {
017        if (string == null) {
018            return Collections.singletonList(def);
019        }
020
021        return match();
022    }
023
024    @Override
025    public List<V> matchOr(List<V> def) {
026        if (string == null) {
027            return def;
028        }
029
030        return match();
031    }
032}