예제 #1
0
        private void encodeKeyValueList(cape.KeyValueListForStrings list, int indent, cape.StringBuilder sb, bool niceFormatting)
        {
            print("{", indent, false, true, sb, niceFormatting);
            var first = true;

            cape.Iterator <cape.KeyValuePair <string, string> > it = list.iterate();
            while (it != null)
            {
                var pair = it.next();
                if (pair == null)
                {
                    break;
                }
                if (first == false)
                {
                    print(",", indent, false, true, sb, niceFormatting);
                }
                encodeString(pair.key, indent + 1, sb, niceFormatting);
                if (niceFormatting)
                {
                    sb.append(" : ");
                }
                else
                {
                    sb.append(':');
                }
                encodeString(pair.value, indent + 1, sb, niceFormatting);
                first = false;
            }
            print("}", indent, true, false, sb, niceFormatting);
        }
예제 #2
0
        private int findIndexForWidgetValue(string id)
        {
            var v = -1;

            if (widgetItems != null)
            {
                var n = 0;
                cape.Iterator <string> it = cape.Vector.iterate(widgetItems);
                while (it != null)
                {
                    var item = it.next();
                    if (object.Equals(item, null))
                    {
                        break;
                    }
                    if (object.Equals(item, id))
                    {
                        v = n;
                        break;
                    }
                    n++;
                }
            }
            return(v);
        }
예제 #3
0
 public void setActionHandlers(System.Collections.Generic.Dictionary <object, object> handlers)
 {
     if (!(handlers != null))
     {
         return;
     }
     actionHandlers = new System.Collections.Generic.Dictionary <string, System.Action>();
     cape.Iterator <object> keys = cape.Map.iterateKeys(handlers);
     if (!(keys != null))
     {
         return;
     }
     while (true)
     {
         var key = keys.next();
         if (!(key != null))
         {
             break;
         }
         if (key is string)
         {
             actionHandlers[(string)key] = (System.Action)cape.Map.get(handlers, key);
         }
     }
 }
예제 #4
0
        public bool read(cape.File file)
        {
            if (!(file != null))
            {
                return(false);
            }
            var buf = new cape.PrintReader((cape.Reader)file.read());

            if (!(buf != null))
            {
                return(false);
            }
            var n = 0;

            while (true)
            {
                var line = buf.readLine();
                if (!(line != null))
                {
                    break;
                }
                var va = cape.String.split(line, ':');
                cape.Iterator <string> val = cape.Vector.iterate(va);
                if (val != null)
                {
                    var front = val.next();
                    var back  = val.next();
                    if (front != null)
                    {
                        front = cape.String.strip(front);
                    }
                    if (back != null)
                    {
                        back = cape.String.strip(back);
                    }
                    if (add(front, back))
                    {
                        n++;
                    }
                }
            }
            return(true);
        }
예제 #5
0
        public static System.Collections.Generic.List <T> forIterator <T>(cape.Iterator <T> iterator)
        {
            if (!(iterator != null))
            {
                return(null);
            }
            var v = new System.Collections.Generic.List <T>();

            while (true)
            {
                var o = iterator.next();
                if (o == null)
                {
                    break;
                }
                v.Add(o);
            }
            return(v);
        }
예제 #6
0
        public static cape.DynamicMap forStringMap(System.Collections.Generic.Dictionary <string, string> map)
        {
            var v = new cape.DynamicMap();

            if (map != null)
            {
                cape.Iterator <string> it = cape.Map.iterateKeys(map);
                while (it != null)
                {
                    var key = it.next();
                    if (object.Equals(key, null))
                    {
                        break;
                    }
                    v.set(key, (object)cape.Map.getValue(map, key));
                }
            }
            return(v);
        }
예제 #7
0
        private string basename(string path)
        {
            if (object.Equals(path, null))
            {
                return(null);
            }
            var v = "";

            cape.Iterator <string> comps = cape.Vector.iterate(cape.String.split(path, '/'));
            if (comps != null)
            {
                var comp = comps.next();
                while (!(object.Equals(comp, null)))
                {
                    if (cape.String.getLength(comp) > 0)
                    {
                        v = comp;
                    }
                    comp = comps.next();
                }
            }
            return(v);
        }
예제 #8
0
        public static cape.DynamicMap forObjectMap(System.Collections.Generic.Dictionary <object, object> map)
        {
            var v = new cape.DynamicMap();

            if (map != null)
            {
                cape.Iterator <object> it = cape.Map.iterateKeys(map);
                while (it != null)
                {
                    var key = it.next();
                    if (key == null)
                    {
                        break;
                    }
                    if (key is string == false)
                    {
                        continue;
                    }
                    v.set((string)key, cape.Map.getValue(map, (string)key));
                }
            }
            return(v);
        }
예제 #9
0
        private void encodeMap(System.Collections.Generic.Dictionary <object, object> map, int indent, cape.StringBuilder sb, bool niceFormatting)
        {
            print("{", indent, false, true, sb, niceFormatting);
            var first = true;

            cape.Iterator <object> it = cape.Map.iterateKeys(map);
            while (it != null)
            {
                var keyo = it.next();
                if (!(keyo != null))
                {
                    break;
                }
                var key = cape.String.asString(keyo);
                if (!(key != null))
                {
                    continue;
                }
                if (!first)
                {
                    print(",", indent, false, true, sb, niceFormatting);
                }
                encodeString(key, indent + 1, sb, niceFormatting);
                if (niceFormatting)
                {
                    sb.append(" : ");
                }
                else
                {
                    sb.append(':');
                }
                encodeObject(map[keyo], indent + 1, sb, niceFormatting);
                first = false;
            }
            print("}", indent, true, false, sb, niceFormatting);
        }
예제 #10
0
 public cape.Iterator <object> iterateReverse()
 {
     cape.Iterator <object> v = cape.Vector.iterateReverse(vector);
     return(v);
 }
예제 #11
0
 public virtual cape.Iterator <object> iterate()
 {
     cape.Iterator <object> v = cape.Vector.iterate(vector);
     return(v);
 }
예제 #12
0
 public cape.Iterator <cape.KeyValuePair <K, V> > iterate()
 {
     cape.Iterator <cape.KeyValuePair <K, V> > v = cape.Vector.iterate(values);
     return(v);
 }
예제 #13
0
        private string substituteVariables(string orig, cape.DynamicMap vars)
        {
            if (object.Equals(orig, null))
            {
                return(orig);
            }
            if (cape.String.indexOf(orig, "${") < 0)
            {
                return(orig);
            }
            var sb = new cape.StringBuilder();

            cape.StringBuilder varbuf = null;
            var flag = false;
            var it   = cape.String.iterate(orig);

            while (it != null)
            {
                var c = it.getNextChar();
                if (c <= 0)
                {
                    break;
                }
                if (varbuf != null)
                {
                    if (c == '}')
                    {
                        var varname = varbuf.toString();
                        if (vars != null)
                        {
                            string varcut = null;
                            if (cape.String.indexOf(varname, '!') > 0)
                            {
                                cape.Iterator <string> sp = cape.Vector.iterate(cape.String.split(varname, '!', 2));
                                varname = sp.next();
                                varcut  = sp.next();
                            }
                            var r = getVariableValueString(vars, varname);
                            if (cape.String.isEmpty(varcut) == false)
                            {
                                var itc = cape.String.iterate(varcut);
                                var cx  = ' ';
                                while ((cx = itc.getNextChar()) > 0)
                                {
                                    var n = cape.String.lastIndexOf(r, cx);
                                    if (n < 0)
                                    {
                                        break;
                                    }
                                    r = cape.String.subString(r, 0, n);
                                }
                            }
                            sb.append(r);
                        }
                        varbuf = null;
                    }
                    else
                    {
                        varbuf.append(c);
                    }
                    continue;
                }
                if (flag == true)
                {
                    flag = false;
                    if (c == '{')
                    {
                        varbuf = new cape.StringBuilder();
                    }
                    else
                    {
                        sb.append('$');
                        sb.append(c);
                    }
                    continue;
                }
                if (c == '$')
                {
                    flag = true;
                    continue;
                }
                sb.append(c);
            }
            return(sb.toString());
        }
예제 #14
0
 public cape.Iterator <object> iterateValues()
 {
     cape.Iterator <object> v = cape.Map.iterateValues(map);
     return(v);
 }
예제 #15
0
 public cape.Iterator <string> iterateKeys()
 {
     cape.Iterator <string> v = cape.Map.iterateKeys(map);
     return(v);
 }
예제 #16
0
파일: cape.URL.cs 프로젝트: eqela/jkop4uwp
        private string toStringDo(bool userhost)
        {
            var sb = new cape.StringBuilder();

            if (userhost)
            {
                if (scheme != null)
                {
                    sb.append(scheme);
                    sb.append("://");
                }
                if (username != null)
                {
                    sb.append(username);
                    if (password != null)
                    {
                        sb.append(':');
                        sb.append(password);
                    }
                    sb.append('@');
                }
                if (host != null)
                {
                    sb.append(host);
                    if (port != null)
                    {
                        sb.append(':');
                        sb.append(port);
                    }
                }
            }
            if (path != null)
            {
                sb.append(cape.String.replace(path, ' ', '+'));
            }
            if (rawQueryParameters != null && rawQueryParameters.count() > 0)
            {
                var first = true;
                cape.Iterator <string> it = cape.Map.iterateKeys(queryParameters);
                while (it != null)
                {
                    var key = it.next() as string;
                    if (object.Equals(key, null))
                    {
                        break;
                    }
                    if (first)
                    {
                        sb.append('?');
                        first = false;
                    }
                    else
                    {
                        sb.append('&');
                    }
                    sb.append(key);
                    var val = cape.Map.get(queryParameters, key);
                    if (val != null)
                    {
                        sb.append('=');
                        sb.append(cape.URLEncoder.encode(val, percentOnly, encodeUnreservedChars));
                    }
                }
            }
            if (fragment != null)
            {
                sb.append('#');
                sb.append(fragment);
            }
            return(sb.toString());
        }