calculate representations of 'all products' in superclass

git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@615 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
andreas.schildbach@gmail.com 2011-05-07 13:35:26 +00:00
parent 3097a52493
commit 7dfdd26481
17 changed files with 67 additions and 49 deletions

View file

@ -59,24 +59,28 @@ import de.schildbach.pte.util.XmlPullUtil;
public abstract class AbstractHafasProvider implements NetworkProvider
{
private static final String DEFAULT_ENCODING = "ISO-8859-1";
private static final String prod = "hafas";
private final String apiUri;
private static final String prod = "hafas";
private final int numProductBits;
private final String accessId;
private final String jsonGetStopsEncoding;
private final String xmlMlcResEncoding;
public AbstractHafasProvider(final String apiUri, final String accessId, final String jsonGetStopsEncoding, final String xmlMlcResEncoding)
public AbstractHafasProvider(final String apiUri, final int numProductBits, final String accessId, final String jsonGetStopsEncoding,
final String xmlMlcResEncoding)
{
this.apiUri = apiUri;
this.numProductBits = numProductBits;
this.accessId = accessId;
this.jsonGetStopsEncoding = jsonGetStopsEncoding;
this.xmlMlcResEncoding = xmlMlcResEncoding;
}
public AbstractHafasProvider(final String apiUri, final String accessId)
public AbstractHafasProvider(final String apiUri, final int numProductBits, final String accessId)
{
this.apiUri = apiUri;
this.numProductBits = numProductBits;
this.accessId = accessId;
this.jsonGetStopsEncoding = DEFAULT_ENCODING;
this.xmlMlcResEncoding = DEFAULT_ENCODING;
@ -87,6 +91,19 @@ public abstract class AbstractHafasProvider implements NetworkProvider
return TimeZone.getTimeZone("CET");
}
protected final String allProductsString()
{
final StringBuilder allProducts = new StringBuilder(numProductBits);
for (int i = 0; i < numProductBits; i++)
allProducts.append('1');
return allProducts.toString();
}
protected final int allProductsInt()
{
return (1 << numProductBits) - 1;
}
protected String[] splitNameAndPlace(final String name)
{
return new String[] { null, name };