/** * Adds a new link to the link table.<p> * * @param type type of the link * @param targetUri link destination * @param internal flag to indicate if the link is a local link * * @return the new link entry */ public CmsLink addLink(CmsRelationType type, String targetUri, boolean internal) { CmsLink link = new CmsLink(LINK_PREFIX + m_linkTable.size(), type, targetUri, internal); m_linkTable.put(link.getName(), link); return link; }
/** * Adds a new link to the link table.<p> * * @param type type of the link * @param targetUri link destination * @param internal flag to indicate if the link is a local link * * @return the new link entry */ public CmsLink addLink(CmsRelationType type, String targetUri, boolean internal) { CmsLink link = new CmsLink(LINK_PREFIX + m_linkTable.size(), type, targetUri, internal); m_linkTable.put(link.getName(), link); return link; }
/** * Fills the given element with a {@link CmsXmlCategoryValue} for the given data.<p> * * @param element the element to fill * @param id the id to use * @param rootPath the path to use * @param type the relation type to use */ public static void fillEntry(Element element, CmsUUID id, String rootPath, CmsRelationType type) { CmsLink link = new CmsLink(CmsXmlCategoryValue.TYPE_VFS_LINK, type, id, rootPath, true); // get xml node Element linkElement = element.element(CmsXmlPage.NODE_LINK); if (linkElement == null) { // create xml node if needed linkElement = element.addElement(CmsXmlPage.NODE_LINK); } // update xml node CmsLinkUpdateUtil.updateXmlForVfsFile(link, linkElement); }
/** * Returns the link table of this XML page element.<p> * * @return the link table of this XML page element */ public CmsLinkTable getLinkTable() { CmsLinkTable linkTable = new CmsLinkTable(); Element links = m_element.element(CmsXmlPage.NODE_LINKS); if (links != null) { Iterator<Element> itLinks = CmsXmlGenericWrapper.elementIterator(links, CmsXmlPage.NODE_LINK); while (itLinks.hasNext()) { Element lelem = itLinks.next(); linkTable.addLink(new CmsLink(lelem)); } } return linkTable; }
/** * Returns the link table of this XML page element.<p> * * @return the link table of this XML page element */ public CmsLinkTable getLinkTable() { CmsLinkTable linkTable = new CmsLinkTable(); Element links = m_element.element(CmsXmlPage.NODE_LINKS); if (links != null) { Iterator<Element> itLinks = CmsXmlGenericWrapper.elementIterator(links, CmsXmlPage.NODE_LINK); while (itLinks.hasNext()) { Element lelem = itLinks.next(); linkTable.addLink(new CmsLink(lelem)); } } return linkTable; }
/** * Fills the given element with a {@link CmsXmlVfsFileValue} for the given data.<p> * * @param element the element to fill * @param id the id to use * @param rootPath the path to use * @param type the relation type to use */ public static void fillEntry(Element element, CmsUUID id, String rootPath, CmsRelationType type) { CmsLink link = new CmsLink(CmsXmlVfsFileValue.TYPE_VFS_LINK, type, id, rootPath, true); // get xml node Element linkElement = element.element(CmsXmlPage.NODE_LINK); if (linkElement == null) { // create xml node if needed linkElement = element.addElement(CmsXmlPage.NODE_LINK); } // update xml node CmsLinkUpdateUtil.updateXmlForVfsFile(link, linkElement); }
/** * Sets the value as a structure id.<p> * * @param cms the current CMS context * @param id the structure id which should be stored in the category value */ public void setIdValue(CmsObject cms, CmsUUID id) { CmsRelationType type = CmsRelationType.CATEGORY; CmsLink link = new CmsLink(TYPE_VFS_LINK, type, id, "@", true); // link management check link.checkConsistency(cms); // update xml node CmsLinkUpdateUtil.updateXmlForVfsFile(link, m_element.addElement(CmsXmlPage.NODE_LINK)); }
CmsLink link = new CmsLink("link0", type, uuid, path, true);
/** * Returns the link objects represented by this XML content value.<p> * * @param cms the cms context, can be <code>null</code> but in this case no link check is performed * * @return a list of link objects represented by this XML content value */ public List<CmsLink> getLinks(CmsObject cms) { List<CmsLink> result = new ArrayList<CmsLink>(); @SuppressWarnings("unchecked") List<Element> linkElements = m_element.elements(CmsXmlPage.NODE_LINK); for (Element linkElement : linkElements) { if (linkElement == null) { String uri = m_element.getText(); if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(uri)) { setStringValue(cms, uri); } } CmsLinkUpdateUtil.updateType(linkElement, getRelationType(getPath())); CmsLink link = new CmsLink(linkElement); link.checkConsistency(cms); if (CmsStringUtil.isEmptyOrWhitespaceOnly(link.getTarget())) { continue; } result.add(link); } return result; }
/** * Sets the value as a structure id.<p> * * @param cms the current CMS context * @param id the structure id which should be stored in the file value */ public void setIdValue(CmsObject cms, CmsUUID id) { CmsRelationType type = getRelationType(getPath()); CmsLink link = new CmsLink(TYPE_VFS_LINK, type, id, "@", true); // link management check link.checkConsistency(cms); // update xml node CmsLinkUpdateUtil.updateXmlForVfsFile(link, m_element.addElement(CmsXmlPage.NODE_LINK)); }
/** * Returns the link object represented by this XML content value.<p> * * @param cms the cms context, can be <code>null</code> but in this case no link check is performed * * @return the link object represented by this XML content value (will return null for an empty link) */ public CmsLink getLink(CmsObject cms) { Element linkElement = m_element.element(CmsXmlPage.NODE_LINK); if (linkElement == null) { String uri = m_element.getText(); if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(uri)) { setStringValue(cms, uri); } linkElement = m_element.element(CmsXmlPage.NODE_LINK); if (linkElement == null) { return null; } } CmsLinkUpdateUtil.updateType(linkElement, getRelationType(getPath())); CmsLink link = new CmsLink(linkElement); link.checkConsistency(cms); if (CmsStringUtil.isEmptyOrWhitespaceOnly(link.getTarget())) { return null; } return link; }
CmsLink xsdLink = new CmsLink( null, CmsRelationType.XSD,
/** * Returns the link object represented by this XML content value.<p> * * @param cms the cms context, can be <code>null</code> but in this case no link check is performed * * @return the link object represented by this XML content value */ public CmsLink getLink(CmsObject cms) { Element linkElement = m_element.element(CmsXmlPage.NODE_LINK); if (linkElement == null) { String uri = m_element.getText(); if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(uri)) { setStringValue(cms, uri); } linkElement = m_element.element(CmsXmlPage.NODE_LINK); if (linkElement == null) { return null; } } CmsLinkUpdateUtil.updateType(linkElement, getContentDefinition().getContentHandler().getRelationType(this)); CmsLink link = new CmsLink(linkElement); // link management check link.checkConsistency(cms); if (CmsStringUtil.isEmptyOrWhitespaceOnly(link.getTarget())) { return null; } return link; }
} else { CmsLinkUpdateUtil.updateType(linkElement, getRelationType(getPath())); CmsLink link = new CmsLink(linkElement); if (link.isInternal()) {
CmsLinkUpdateUtil.updateType(linkElement, getContentDefinition().getContentHandler().getRelationType( this)); CmsLink link = new CmsLink(linkElement); if (link.isInternal()) {
CmsLink link = new CmsLink(TYPE_VFS_LINK, type, path, true);
CmsLink link = new CmsLink("vfsLink", type, path, true);
CmsLink link = new CmsLink(TYPE_VAR_LINK, type, path, internal); if (internal) {
CmsLink link = new CmsLink("varLink", type, path, internal); if (internal) {
CmsLink link = new CmsLink(TYPE_VFS_LINK, type, path, true);