1 5 6 7 8 package com.hp.hpl.jena.rdql.parser; 9 10 import com.hp.hpl.jena.rdql.Query; 11 12 public class Q_QuotedURI extends Q_URI { 13 16 String seen = "" ; 18 19 22 boolean isAbsolute = false ; 23 24 Q_QuotedURI(int id) 25 { 26 super(id); 27 } 28 29 Q_QuotedURI(RDQLParser p, int id) 30 { 31 super(p, id); 32 } 33 34 void set(String s) 35 { 36 seen = s ; 37 } 38 39 public void jjtClose() 40 { 41 super._setURI(seen); 46 } 47 48 public void postParse(Query query) 49 { 50 super.postParse(query) ; 51 if ( ! isAbsolute ) 52 absolute(query) ; 53 } 54 55 static final String prefixOperator = ":" ; 56 57 private void absolute(Query query) 58 { 59 if ( query == null ) 60 { 61 isAbsolute = true ; 63 return ; 64 } 65 66 int i = seen.indexOf(prefixOperator) ; 67 if ( i < 0 ) 68 { 69 isAbsolute = true ; 70 return ; 71 } 72 73 String prefix = seen.substring(0,i) ; 74 75 String full = query.getPrefix(prefix) ; 76 77 if ( full == null ) 78 { 79 isAbsolute = true ; 80 return ; 81 } 82 83 String remainder = seen.substring(i+prefixOperator.length()) ; 84 super._setURI(full+remainder) ; 85 isAbsolute = true ; 86 } 87 88 public static Q_URI makeURI(String s) 89 { 90 Q_URI uri = new Q_URI(0) ; 91 uri._setURI(s) ; 92 return uri ; 93 } 94 95 96 98 public String asQuotedString() { return "<"+seen+">" ; } 100 public String asUnquotedString() { return seen ; } 101 public String valueString() { return super.getURI() ; } 103 104 public String toString() { return seen ; } 106 } 107 108 134 | Popular Tags |