Search in sources :

Example 1 with FragmentHelper

use of org.brackit.xquery.node.parser.FragmentHelper in project sirix by sirixdb.

the class Indexes method materialize.

@Override
public synchronized Node<?> materialize() throws DocumentException {
    FragmentHelper helper = new FragmentHelper();
    helper.openElement(INDEXES_TAG);
    for (IndexDef idxDef : mIndexes) {
        helper.insert(idxDef.materialize());
    }
    helper.closeElement();
    return helper.getRoot();
}
Also used : FragmentHelper(org.brackit.xquery.node.parser.FragmentHelper)

Example 2 with FragmentHelper

use of org.brackit.xquery.node.parser.FragmentHelper in project sirix by sirixdb.

the class IndexDef method materialize.

@Override
public Node<?> materialize() throws DocumentException {
    final FragmentHelper tmp = new FragmentHelper();
    tmp.openElement(INDEX_TAG);
    tmp.attribute(TYPE_ATTRIBUTE, new Una(mType.toString()));
    tmp.attribute(ID_ATTRIBUTE, new Una(Integer.toString(mID)));
    if (mContentType != null) {
        tmp.attribute(CONTENT_TYPE_ATTRIBUTE, new Una(mContentType.toString()));
    }
    if (mUnique) {
        tmp.attribute(UNIQUE_ATTRIBUTE, new Una(Boolean.toString(mUnique)));
    }
    if (mPaths != null && !mPaths.isEmpty()) {
        for (final Path<QNm> path : mPaths) {
            tmp.openElement(PATH_TAG);
            // TODO
            tmp.content(path.toString());
            tmp.closeElement();
        }
    }
    if (!mExcluded.isEmpty()) {
        tmp.openElement(EXCLUDING_TAG);
        final StringBuilder buf = new StringBuilder();
        for (final QNm s : mExcluded) {
            buf.append(s + ",");
        }
        // remove trailing ","
        buf.deleteCharAt(buf.length() - 1);
        tmp.content(buf.toString());
        tmp.closeElement();
    }
    if (!mIncluded.isEmpty()) {
        tmp.openElement(INCLUDING_TAG);
        StringBuilder buf = new StringBuilder();
        for (final QNm incl : mIncluded) {
            buf.append(incl + ",");
        }
        // remove trailing ","
        buf.deleteCharAt(buf.length() - 1);
        tmp.content(buf.toString());
        tmp.closeElement();
    }
    // 
    // if (indexStatistics != null) {
    // tmp.insert(indexStatistics.materialize());
    // }
    tmp.closeElement();
    return tmp.getRoot();
}
Also used : QNm(org.brackit.xquery.atomic.QNm) FragmentHelper(org.brackit.xquery.node.parser.FragmentHelper) Una(org.brackit.xquery.atomic.Una)

Aggregations

FragmentHelper (org.brackit.xquery.node.parser.FragmentHelper)2 QNm (org.brackit.xquery.atomic.QNm)1 Una (org.brackit.xquery.atomic.Una)1