/** * */ package org.commcare.android.references; import org.commcare.android.net.HttpRequestGenerator; import org.javarosa.core.reference.InvalidReferenceException; import org.javarosa.core.reference.Reference; import org.javarosa.core.reference.ReferenceFactory; /** * @author ctsims * */ public class JavaHttpRoot implements ReferenceFactory { HttpRequestGenerator generator = new HttpRequestGenerator(); /* (non-Javadoc) * @see org.javarosa.core.reference.RawRoot#derive(java.lang.String) */ public Reference derive(String URI) throws InvalidReferenceException { return new JavaHttpReference(URI, generator); } /* (non-Javadoc) * @see org.javarosa.core.reference.RawRoot#derive(java.lang.String, java.lang.String) */ public Reference derive(String URI, String context) throws InvalidReferenceException { context = context.substring(0, context.lastIndexOf('/')+1); return new JavaHttpReference(context + URI, generator); } /* (non-Javadoc) * @see org.javarosa.core.reference.RawRoot#derives(java.lang.String) */ public boolean derives(String URI) { URI = URI.toLowerCase(); if(URI.startsWith("http://") || URI.startsWith("https://")) { return true; } return false; } }