/*******************************************************************************
* Copyright (c) 2013, 2015 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Andrew Eidsness - Initial implementation
*******************************************************************************/
package org.eclipse.cdt.internal.core.pdom.tag;
import org.eclipse.cdt.core.dom.ast.tag.ITag;
import org.eclipse.cdt.core.dom.ast.tag.ITagReader;
import org.eclipse.cdt.core.dom.ast.tag.ITagWriter;
import org.eclipse.cdt.core.dom.ast.tag.IWritableTag;
import org.eclipse.cdt.internal.core.pdom.PDOM;
/**
* A container for things that can be tagged and then stored in the index database.
*/
public class PDOMTaggable implements ITagReader, ITagWriter {
private final PDOM pdom;
private final long record;
public PDOMTaggable(PDOM pdom, long record) {
this.pdom = pdom;
this.record = record;
}
@Override
public IWritableTag createTag(String id, int len) {
return PDOMTagIndex.createTag(pdom, record, id, len);
}
@Override
public ITag getTag(String id) {
return PDOMTagIndex.getTag(pdom, record, id);
}
@Override
public Iterable<ITag> getTags() {
return PDOMTagIndex.getTags(pdom, record);
}
@Override
public boolean setTags(Iterable<ITag> tags) {
return PDOMTagIndex.setTags(pdom, record, tags);
}
}