/* * Scute * * Homepage: http://hyperdata.org/scute * * License : http://www.apache.org/licenses/LICENSE-2.0 * See also license.txt or http://hyperdata.org/wiki/Scute:License * * Danny Ayers 2011 */ package org.hyperdata.scute.tree; import java.util.Enumeration; import javax.swing.ImageIcon; import javax.swing.tree.TreeNode; import org.hyperdata.resources.tree.TreeIcons; import org.hyperdata.scute.system.Log; import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.RDFNode; import com.hp.hpl.jena.rdf.model.Resource; import com.hp.hpl.jena.rdf.model.Statement; /** * The Class LiteralNode. */ public class LiteralNode extends AbstractRdfTreeNode implements RdfTreeNode { /** The literal. */ private Literal literal; /** * Instantiates a new literal node. * * @param nodeMap * the node map * @param parentStatement * the parent statement * @param literal * the literal */ public LiteralNode(RdfNodeMap nodeMap, Statement parentStatement, Literal literal) { super(nodeMap, parentStatement); this.literal = literal; } /* (non-Javadoc) * @see javax.swing.tree.TreeNode#children() */ @Override public Enumeration<Resource> children() { // TODO change to Iterator<Resource> ? return null; } /* (non-Javadoc) * @see org.hyperdata.scute.tree.RdfTreeNode#delete() */ @Override public void delete() { getNodeMap().removeLiteral(literal); // getNodeMap().removeStatement(getParentStatement()); // removeStatement(getParentStatement()); // super.removeFromParent(); } /* (non-Javadoc) * @see javax.swing.tree.TreeNode#getAllowsChildren() */ @Override public boolean getAllowsChildren() { return false; } /* (non-Javadoc) * @see javax.swing.tree.TreeNode#getChildAt(int) */ @Override public TreeNode getChildAt(int childIndex) { // System.out.println("no kids Literal"); return null; } /* (non-Javadoc) * @see javax.swing.tree.TreeNode#getChildCount() */ @Override public int getChildCount() { return 0; } /* (non-Javadoc) * @see org.hyperdata.scute.tree.RdfTreeNode#getIcon() */ @Override public ImageIcon getIcon() { return TreeIcons.literalIcon; } /* (non-Javadoc) * @see javax.swing.tree.TreeNode#getIndex(javax.swing.tree.TreeNode) */ @Override public int getIndex(TreeNode node) { return 0; } /* (non-Javadoc) * @see org.hyperdata.scute.tree.RdfTreeNode#getNodeType() */ @Override public int getNodeType() { return RdfTreeNode.LITERAL; } /* (non-Javadoc) * @see javax.swing.tree.TreeNode#getParent() */ @Override public TreeNode getParent() { // return // getNodeMap().getTreeNode(RdfUtils.getParent(getNodeMap().getModel(), // literal)); return getNodeMap().getTreeNode((RDFNode) getParentStatement()); } /* (non-Javadoc) * @see org.hyperdata.scute.tree.RdfTreeNode#getRdfNode() */ @Override public RDFNode getRdfNode() { return literal; } /* (non-Javadoc) * @see javax.swing.tree.TreeNode#isLeaf() */ @Override public boolean isLeaf() { return true; } /* (non-Javadoc) * @see org.hyperdata.scute.tree.RdfTreeNode#rename(java.lang.String) */ @Override public void rename(String newName) { } /* (non-Javadoc) * @see org.hyperdata.scute.tree.AbstractRdfTreeNode#setRdfValue(java.lang.String) */ @Override public void setRdfValue(String value) { try { literal = getModel().createLiteral(value); } catch (final Exception exception) { Log.exception(exception); } } /* (non-Javadoc) * @see java.lang.Object#toString() */ @Override public String toString() { return literal.toString(); } }