/// /// <summary> * get resource defined by <code>resNam</code> /// * </summary> /// * <param name="resName"> name of the resource to get, if null get the one and only resource </param> /// * <returns> JDFResource the element, null if none exists </returns> /// public virtual JDFResource getResource(string resName) { if (resName != null) { KElement e = getElement(resName, null, 0); if (e is JDFResource) { return((JDFResource)e); } } else { string resName2 = getResourceName(); if (resName2 != null && !resName2.Equals("")) { return(getResource(resName2)); } KElement e2 = getFirstChildElement(); while (e2 != null) { if (e2 is JDFResource) { return((JDFResource)e2); } e2 = e2.getNextSiblingElement(); } } return(null); }
/// /// <summary> * return the ResourceLink in <code>this</code>, null if none exists /// * </summary> /// * <param name="iSkip"> the n'th resourceLink to retrieve </param> /// * <returns> JDFResourceLink - this phaseTimes ResourceLink </returns> /// public virtual VElement getLinkVector() { KElement e = getFirstChildElement(); VElement vRet = new VElement(); while (e != null) { if (e is JDFResourceLink) { vRet.Add(e); } e = e.getNextSiblingElement(); } return(vRet.Count == 0 ? null : vRet); }
public virtual JDFRefElement getRefElement() { KElement e = getFirstChildElement(); while (true) { if (e is JDFRefElement) { return((JDFRefElement)e); } if (e == null) { return(null); } e = e.getNextSiblingElement(); } }
/// /// <summary> * return the ResourceLink in <code>this</code>, null if none exists /// * </summary> /// * <param name="iSkip"> the nTh resourceLink to retrieve </param> /// * <returns> JDFResourceLink - <code>this</code> phaseTimes ResourceLink </returns> /// public virtual JDFResourceLink getLink(int iSkip) { KElement e = getFirstChildElement(); int n = 0; while (e != null) { if (e is JDFResourceLink) { if (n++ >= iSkip) { return((JDFResourceLink)e); } } e = e.getNextSiblingElement(); } return(null); }
/// /// <summary> * get the ith message element of family type family /// * </summary> /// * <param name="family"> the Message family - Query, Acknowledge, Command, Response, Registration or Signal </param> /// * <param name="typ"> the messages @Type value, null if unknown </param> /// * <param name="i"> the i'th message element to get, if i<0, get from back </param> /// * <returns> the matching message, null if none are found </returns> /// public virtual JDFMessage getMessageElement(JDFMessage.EnumFamily family, JDFMessage.EnumType typ, int i) { int iLocal = i; if (iLocal < 0) // search from back { JDFMessage message = null; VElement v = getMessageVector(family, typ); if (v != null) { int siz = v.Count; iLocal = siz + iLocal; message = (JDFMessage)(iLocal >= 0 ? v[iLocal] : null); } return(message); } string typString = typ == null ? null : typ.getName(); string familyString = family == null ? null : family.getName(); KElement e = getElement(familyString, null, 0); int n = 0; while (e != null) { if (e is JDFMessage) { if (typString == null || typString.Equals(((JDFMessage)e).getType())) { if (n++ >= iLocal) { return((JDFMessage)e); } } } e = e.getNextSiblingElement(familyString, null); } return(null); }
/// /// <summary> * gets a vector of all terms /// * </summary> /// * <returns> VElement - vector of JDFTerm </returns> /// public virtual VElement getTermVector(EnumTerm term) { if (term != null) { return(getChildElementVector(term.getName(), null, null, true, 0, false)); } VElement v = new VElement(); KElement e = getFirstChildElement(); while (e != null) { if (e is JDFTerm) { v.Add(e); } e = e.getNextSiblingElement(); } return(v); // if no subelements, then no context }