Search in sources :

Example 16 with SB

use of org.apache.ignite.internal.util.typedef.internal.SB in project ignite by apache.

the class GridifyUtils method collectionToParameter.

/**
     * Converts {@link Collection} back to object applied for method.
     *
     * @param paramCls Method parameter type.
     * @param data Collection of data elements.
     * @return Object applied for method.
     */
@SuppressWarnings({ "unchecked" })
@Nullable
public static Object collectionToParameter(Class<?> paramCls, Collection data) {
    if (Collection.class.equals(paramCls))
        return data;
    else if (Iterable.class.equals(paramCls))
        return data;
    else if (Iterator.class.equals(paramCls))
        return new IteratorAdapter(data);
    else if (Enumeration.class.equals(paramCls))
        return new EnumerationAdapter(data);
    else if (Set.class.equals(paramCls))
        return new HashSet(data);
    else if (List.class.equals(paramCls))
        return new LinkedList(data);
    else if (Queue.class.equals(paramCls))
        return new LinkedList(data);
    else if (CharSequence.class.equals(paramCls)) {
        SB sb = new SB();
        for (Object obj : data) {
            assert obj instanceof Character;
            sb.a(obj);
        }
        return sb;
    } else if (paramCls.isArray()) {
        Class<?> componentType = paramCls.getComponentType();
        Object arr = Array.newInstance(componentType, data.size());
        int i = 0;
        for (Object element : data) {
            Array.set(arr, i, element);
            i++;
        }
        return arr;
    } else // Note, that parameter class must contain default non-param constructor.
    if (Collection.class.isAssignableFrom(paramCls)) {
        try {
            Collection col = (Collection) paramCls.newInstance();
            for (Object dataObj : data) {
                col.add(dataObj);
            }
            return col;
        } catch (InstantiationException | IllegalAccessException ignored) {
        // No-op.
        }
    }
    return null;
}
Also used : Enumeration(java.util.Enumeration) LinkedList(java.util.LinkedList) SB(org.apache.ignite.internal.util.typedef.internal.SB) Collection(java.util.Collection) ArrayList(java.util.ArrayList) LinkedList(java.util.LinkedList) List(java.util.List) HashSet(java.util.HashSet) Nullable(org.jetbrains.annotations.Nullable)

Example 17 with SB

use of org.apache.ignite.internal.util.typedef.internal.SB in project ignite by apache.

the class GridUnsafeDataInput method readLine.

/** {@inheritDoc} */
@Override
public String readLine() throws IOException {
    SB sb = new SB();
    int b;
    while ((b = read()) >= 0) {
        char c = (char) b;
        switch(c) {
            case '\n':
                return sb.toString();
            case '\r':
                b = read();
                if (b < 0 || b == '\n')
                    return sb.toString();
                else
                    sb.a((char) b);
                break;
            default:
                sb.a(c);
        }
    }
    return sb.toString();
}
Also used : SB(org.apache.ignite.internal.util.typedef.internal.SB)

Example 18 with SB

use of org.apache.ignite.internal.util.typedef.internal.SB in project ignite by apache.

the class IgniteUtils method makeCacheMBeanName.

/**
     * Constructs JMX object name with given properties.
     * Map with ordered {@code groups} used for proper object name construction.
     *
     * @param igniteInstanceName Ignite instance name.
     * @param cacheName Name of the cache.
     * @param name Name of mbean.
     * @return JMX object name.
     * @throws MalformedObjectNameException Thrown in case of any errors.
     */
public static ObjectName makeCacheMBeanName(@Nullable String igniteInstanceName, @Nullable String cacheName, String name) throws MalformedObjectNameException {
    SB sb = new SB(JMX_DOMAIN + ':');
    appendClassLoaderHash(sb);
    appendJvmId(sb);
    if (igniteInstanceName != null && !igniteInstanceName.isEmpty())
        sb.a("igniteInstanceName=").a(igniteInstanceName).a(',');
    cacheName = maskName(cacheName);
    if (!MBEAN_CACHE_NAME_PATTERN.matcher(cacheName).matches())
        sb.a("group=").a('\"').a(cacheName).a('\"').a(',');
    else
        sb.a("group=").a(cacheName).a(',');
    sb.a("name=").a(name);
    return new ObjectName(sb.toString());
}
Also used : SB(org.apache.ignite.internal.util.typedef.internal.SB) ObjectName(javax.management.ObjectName)

Example 19 with SB

use of org.apache.ignite.internal.util.typedef.internal.SB in project ignite by apache.

the class IgniteUtils method byteArray2String.

/**
     * Converts byte array to formatted string. If calling:
     * <pre name="code" class="java">
     * ...
     * byte[] data = {10, 20, 30, 40, 50, 60, 70, 80, 90};
     *
     * U.byteArray2String(data, "0x%02X", ",0x%02X")
     * ...
     * </pre>
     * the result will be:
     * <pre name="code" class="java">
     * ...
     * 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A
     * ...
     * </pre>
     *
     * @param arr Array of byte.
     * @param hdrFmt C-style string format for the first element.
     * @param bodyFmt C-style string format for second and following elements, if any.
     * @return String with converted bytes.
     */
public static String byteArray2String(byte[] arr, String hdrFmt, String bodyFmt) {
    assert arr != null;
    assert hdrFmt != null;
    assert bodyFmt != null;
    SB sb = new SB();
    sb.a('{');
    boolean first = true;
    for (byte b : arr) if (first) {
        sb.a(String.format(hdrFmt, b));
        first = false;
    } else
        sb.a(String.format(bodyFmt, b));
    sb.a('}');
    return sb.toString();
}
Also used : SB(org.apache.ignite.internal.util.typedef.internal.SB)

Example 20 with SB

use of org.apache.ignite.internal.util.typedef.internal.SB in project ignite by apache.

the class GridOffHeapSnapTreeMap method print.

/**
     * @return String representation of structure.
     */
String print() {
    long root = root();
    if (root == 0)
        return "Empty tree";
    ArrayList<SB> s = new ArrayList<SB>(height(root) + 1);
    print(root, s, 0, 0);
    SB res = new SB();
    for (SB sb : s) res.a(sb).a('\n');
    return '\n' + res.toString();
}
Also used : ArrayList(java.util.ArrayList) SB(org.apache.ignite.internal.util.typedef.internal.SB)

Aggregations

SB (org.apache.ignite.internal.util.typedef.internal.SB)57 Map (java.util.Map)8 HashMap (java.util.HashMap)5 IOException (java.io.IOException)4 ArrayList (java.util.ArrayList)4 IgniteCheckedException (org.apache.ignite.IgniteCheckedException)4 GridStringBuilder (org.apache.ignite.internal.util.GridStringBuilder)4 IgfsLogger (org.apache.ignite.internal.igfs.common.IgfsLogger)3 InputStream (java.io.InputStream)2 InputStreamReader (java.io.InputStreamReader)2 LineNumberReader (java.io.LineNumberReader)2 URL (java.net.URL)2 URLConnection (java.net.URLConnection)2 Date (java.util.Date)2 HashSet (java.util.HashSet)2 LinkedHashMap (java.util.LinkedHashMap)2 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)2 ObjectName (javax.management.ObjectName)2 BinaryObject (org.apache.ignite.binary.BinaryObject)2 BinaryObjectException (org.apache.ignite.binary.BinaryObjectException)2