1 28 29 package com.idaremedia.antx.valueuri.condition; 30 31 import com.idaremedia.antx.FlexString; 32 import com.idaremedia.antx.apis.Requester; 33 import com.idaremedia.antx.helpers.Strings; 34 import com.idaremedia.antx.helpers.Tk; 35 import com.idaremedia.antx.parameters.IsA; 36 import com.idaremedia.antx.starters.ValueURIHandlerSkeleton; 37 38 61 62 public final class NotValueURIHandler extends ValueURIHandlerSkeleton 63 { 64 67 public NotValueURIHandler() 68 { 69 super(); 70 } 71 72 73 77 public String valueFrom(String uriFragment, String fullUri, Requester clnt) 78 { 79 FlexString source = new FlexString(); 80 source.set(uriFragment); 81 82 IsA isa= IsA.PROPERTY; 83 int i = uriFragment.lastIndexOf("?"); 84 if (i>0) { 85 source.set(uriFragment.substring(0,i++)); 86 if (i<uriFragment.length()) { 87 String isaName = uriFragment.substring(i); 88 isa = IsA.from(isaName,isa); 89 } 90 } 91 92 source.set(Tk.resolveString(clnt.getProject(),source.get(),true)); 93 94 switch (isa.getIndex()) { 95 case IsA.VARIABLE_INDEX: { 96 source.setIsExported(true); 97 break; 98 } 99 case IsA.REFERENCE_INDEX:{ 100 source.setIsReference(true); 101 break; 102 } 103 case IsA.PROPERTY_INDEX: { 104 source.setIsProperty(true); 105 break; 106 } 107 default: { 108 source.setIsLiteral(); 109 } 110 } 111 112 String value = source.getValue(clnt.getProject()); 113 if (value!=null) { 114 if (Tk.string2PosBool(value).booleanValue()) { 115 return Strings.FALSE; 116 } else if (!Tk.string2NegBool(value).booleanValue()) { 117 return Strings.TRUE; 118 } 119 } 120 121 return getDefaultValue(fullUri,clnt); 122 } 123 } 124 125 | Popular Tags |