public OMNamespace getOMNamespace()

in mixins/om-mixins/src/main/java/org/apache/axiom/om/impl/common/builder/OMNamespaceCache.java [28:58]


    public OMNamespace getOMNamespace(String uri, String prefix) {
        if (uri.isEmpty() && prefix.isEmpty()) {
            return null;
        }
        int index = index(uri, prefix);
        while (true) {
            OMNamespace ns = items[index];
            if (ns == null) {
                break;
            } else if (ns.getNamespaceURI().equals(uri) && ns.getPrefix().equals(prefix)) {
                return ns;
            }
            if (++index == items.length) {
                index = 0;
            }
        }
        if (items.length < size * 4 / 3) {
            OMNamespace[] oldItems = items;
            items = new OMNamespace[items.length * 2];
            for (OMNamespace ns : oldItems) {
                if (ns != null) {
                    items[freeIndex(ns.getNamespaceURI(), ns.getPrefix())] = ns;
                }
            }
            index = freeIndex(uri, prefix);
        }
        OMNamespace ns = new OMNamespaceImpl(uri, prefix);
        items[index] = ns;
        size++;
        return ns;
    }