Change return type of NetworkProvider.defaultProducts() from Collection to Set.

This commit is contained in:
Andreas Schildbach 2015-01-31 11:25:17 +01:00
parent 8df79805d0
commit 5efdafc05e
17 changed files with 33 additions and 41 deletions

View file

@ -18,8 +18,7 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.EnumSet;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TimeZone; import java.util.TimeZone;
@ -36,19 +35,13 @@ import de.schildbach.pte.dto.Style;
*/ */
public abstract class AbstractNetworkProvider implements NetworkProvider public abstract class AbstractNetworkProvider implements NetworkProvider
{ {
protected static final Set<Product> ALL_EXCEPT_HIGHSPEED; protected static final Set<Product> ALL_EXCEPT_HIGHSPEED = EnumSet.complementOf(EnumSet.of(Product.HIGH_SPEED_TRAIN));
protected TimeZone timeZone = TimeZone.getTimeZone("CET"); protected TimeZone timeZone = TimeZone.getTimeZone("CET");
protected int numTripsRequested = 6; protected int numTripsRequested = 6;
private Map<String, Style> styles = null; private Map<String, Style> styles = null;
protected String sessionCookieName = null; protected String sessionCookieName = null;
static
{
ALL_EXCEPT_HIGHSPEED = new HashSet<Product>(Product.ALL);
ALL_EXCEPT_HIGHSPEED.remove(Product.HIGH_SPEED_TRAIN);
}
public final boolean hasCapabilities(final Capability... capabilities) public final boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)
@ -60,7 +53,7 @@ public abstract class AbstractNetworkProvider implements NetworkProvider
protected abstract boolean hasCapability(Capability capability); protected abstract boolean hasCapability(Capability capability);
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return ALL_EXCEPT_HIGHSPEED; return ALL_EXCEPT_HIGHSPEED;
} }

View file

@ -17,7 +17,7 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.util.Collection; import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -119,7 +119,7 @@ public final class BahnProvider extends AbstractHafasProvider
} }
@Override @Override
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return Product.ALL; return Product.ALL;
} }

View file

@ -17,7 +17,7 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.util.Collection; import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import de.schildbach.pte.dto.Product; import de.schildbach.pte.dto.Product;
@ -132,7 +132,7 @@ public class DsbProvider extends AbstractHafasProvider
} }
@Override @Override
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return Product.ALL; return Product.ALL;
} }

View file

@ -119,7 +119,7 @@ public interface NetworkProvider
* *
* @return products * @return products
*/ */
Collection<Product> defaultProducts(); Set<Product> defaultProducts();
/** /**
* Query trips, asking for any ambiguousnesses * Query trips, asking for any ambiguousnesses

View file

@ -125,7 +125,7 @@ public class NriProvider extends AbstractHafasProvider
} }
@Override @Override
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return Product.ALL; return Product.ALL;
} }

View file

@ -18,8 +18,8 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.Collection;
import java.util.EnumSet; import java.util.EnumSet;
import java.util.Set;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.Location;
@ -144,7 +144,7 @@ public class NsProvider extends AbstractHafasProvider
} }
@Override @Override
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return Product.ALL; return Product.ALL;
} }

View file

@ -18,8 +18,8 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.Collection;
import java.util.EnumSet; import java.util.EnumSet;
import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import com.google.common.base.Charsets; import com.google.common.base.Charsets;
@ -156,7 +156,7 @@ public class OebbProvider extends AbstractHafasProvider
} }
@Override @Override
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return Product.ALL; return Product.ALL;
} }

View file

@ -17,7 +17,7 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.util.Collection; import java.util.Set;
import com.google.common.base.Charsets; import com.google.common.base.Charsets;
@ -128,7 +128,7 @@ public class PlProvider extends AbstractHafasProvider
} }
@Override @Override
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return Product.ALL; return Product.ALL;
} }

View file

@ -17,9 +17,9 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import com.google.common.base.Charsets; import com.google.common.base.Charsets;
@ -146,7 +146,7 @@ public class RsagProvider extends AbstractHafasProvider
} }
@Override @Override
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return Product.ALL; return Product.ALL;
} }

View file

@ -17,7 +17,7 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.util.Collection; import java.util.Set;
import com.google.common.base.Charsets; import com.google.common.base.Charsets;
@ -91,7 +91,7 @@ public class RtProvider extends AbstractHafasProvider
} }
@Override @Override
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return Product.ALL; return Product.ALL;
} }

View file

@ -17,7 +17,7 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.util.Collection; import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import de.schildbach.pte.dto.Product; import de.schildbach.pte.dto.Product;
@ -110,7 +110,7 @@ public class SbbProvider extends AbstractHafasProvider
} }
@Override @Override
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return Product.ALL; return Product.ALL;
} }

View file

@ -17,7 +17,7 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.util.Collection; import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -139,7 +139,7 @@ public class SeProvider extends AbstractHafasProvider
} }
@Override @Override
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return Product.ALL; return Product.ALL;
} }

View file

@ -18,8 +18,8 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.Collection;
import java.util.EnumSet; import java.util.EnumSet;
import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import com.google.common.base.Charsets; import com.google.common.base.Charsets;
@ -152,7 +152,7 @@ public class SncbProvider extends AbstractHafasProvider
} }
@Override @Override
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return Product.ALL; return Product.ALL;
} }

View file

@ -17,7 +17,7 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.util.Collection; import java.util.Set;
import de.schildbach.pte.dto.Product; import de.schildbach.pte.dto.Product;
@ -43,7 +43,7 @@ public class TfiProvider extends AbstractEfaProvider
} }
@Override @Override
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return Product.ALL; return Product.ALL;
} }

View file

@ -17,9 +17,9 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Set;
import de.schildbach.pte.dto.Product; import de.schildbach.pte.dto.Product;
import de.schildbach.pte.dto.Style; import de.schildbach.pte.dto.Style;
@ -65,7 +65,7 @@ public class TlemProvider extends AbstractEfaProvider
} }
@Override @Override
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return Product.ALL; return Product.ALL;
} }

View file

@ -17,7 +17,6 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
@ -174,7 +173,7 @@ public class VbbProvider extends AbstractHafasProvider
} }
@Override @Override
public Collection<Product> defaultProducts() public Set<Product> defaultProducts()
{ {
return ALL_EXCEPT_HIGHSPEED_AND_ONDEMAND; return ALL_EXCEPT_HIGHSPEED_AND_ONDEMAND;
} }

View file

@ -17,8 +17,8 @@
package de.schildbach.pte.dto; package de.schildbach.pte.dto;
import java.util.Arrays; import java.util.EnumSet;
import java.util.List; import java.util.Set;
/** /**
* @author Andreas Schildbach * @author Andreas Schildbach
@ -28,7 +28,7 @@ public enum Product
HIGH_SPEED_TRAIN('I'), REGIONAL_TRAIN('R'), SUBURBAN_TRAIN('S'), SUBWAY('U'), TRAM('T'), BUS('B'), FERRY('F'), CABLECAR('C'), ON_DEMAND('P'); HIGH_SPEED_TRAIN('I'), REGIONAL_TRAIN('R'), SUBURBAN_TRAIN('S'), SUBWAY('U'), TRAM('T'), BUS('B'), FERRY('F'), CABLECAR('C'), ON_DEMAND('P');
public static final char UNKNOWN = '?'; public static final char UNKNOWN = '?';
public static final List<Product> ALL = Arrays.asList(values()); public static final Set<Product> ALL = EnumSet.allOf(Product.class);
public final char code; public final char code;