@Override public Set<Item> getLinkedItemSet(Ident linkName, LinkDirection linkDir) { Collection<Item> linkedItems = getLinkedItems(linkName, linkDir); Set s = new HashSet<Item>(linkedItems); return s; }
@Override public Boolean getValBoolean(Ident fieldID, Boolean defaultVal) { Literal lit = getLiteralVal(fieldID, false); if (lit != null) { return lit.getBoolean(); } else { return defaultVal; } }
@Override public Double getValDouble(Ident fieldID, Double defaultVal) { Literal lit = getLiteralVal(fieldID, false); if (lit != null) { return lit.getDouble(); } else { return defaultVal; } }
public String getValDatatypeUri(Ident fieldID) { Literal lit = getLiteralVal(fieldID, true); return lit.getDatatypeURI(); }
@Override public int getLinkedItemCount(Ident linkName, LinkDirection linkDir) { Collection<Item> linkedItems = getLinkedItems(linkName, linkDir); return linkedItems.size(); }
@Override public Integer getValInteger(Ident fieldID, Integer defaultVal) { Literal lit = getLiteralVal(fieldID, false); if (lit != null) { return lit.getInt(); } else { return defaultVal; } }
/** * This implementation does not yet actually do the requested sorting. * To be fixed! * @param linkName * @param sortFieldNames - presently ignored. * @return */ @Override public List<Item> getLinkedItemsSorted(Ident linkName, LinkDirection linkDir, List<SortKey> sortFieldNames) { if ((sortFieldNames != null) && (sortFieldNames.size() > 0)) { theLogger.warn("Who actually uses sorting? These items are not yet really sorted by: {}", sortFieldNames); } return getLinkedItems(linkName, linkDir); }
@Override public Long getValLong(Ident fieldID, Long defaultVal) { Literal lit = getLiteralVal(fieldID, false); if (lit != null) { return lit.getLong(); } else { return defaultVal; } }
/** * Returns one item or null if not available. * * @param linkName * @param linkDir * @return The 'Item' or a null value */ @Override public Item getOptionalSingleLinkedItem(Ident linkName, LinkDirection linkDir) { Collection<Item> linkedItems = getLinkedItems(linkName, linkDir); int size = linkedItems.size(); if (size > 0) { Item items[] = new Item[1]; linkedItems.toArray(items); return items[0]; } else { return null; } }
@Override public String getValString(Ident fieldID, String defaultVal) { Literal lit = getLiteralVal(fieldID, false); if (lit != null) { return lit.getString(); } else { return defaultVal; } }
@Override public Item getSingleLinkedItem(Ident linkName, LinkDirection linkDir) { Collection<Item> linkedItems = getLinkedItems(linkName, linkDir); int size = linkedItems.size(); if (size == 1) { Item items[] = new Item[1]; linkedItems.toArray(items); return items[0]; } else { RuntimeException rtException = new RuntimeException("Found " + size + " items instead of expected 1 for property " + (linkName == null ? "NULL" : linkName.getAbsUriString()) + " while assembling " + this); if (MISSING_ITEM_OK) { theLogger.error("MISSING_ITEM_OK? " + rtException, rtException); return MISSING_ITEM; } throw rtException; } }