/** * If this collection has already been initialized with an identical criteria, it returns the * collection. Otherwise if this Mediatype has previously been saved, it will retrieve related * PortletMediatypes from storage. If this Mediatype is new, it will return an empty collection or * the current collection, the criteria is ignored on a new object. This method takes in the * Connection also as input so that referenced objects can also be obtained using a Connection * that is taken as input */ public List getPortletMediatypes(Criteria criteria, Connection con) throws TorqueException { if (collPortletMediatypes == null) { if (isNew()) { collPortletMediatypes = new ArrayList(); } else { criteria.add(PortletMediatypePeer.MEDIA_ID, getId()); collPortletMediatypes = PortletMediatypePeer.doSelect(criteria, con); } } else { // criteria has no effect for a new object if (!isNew()) { // the following code is to determine if a new query is // called for. If the criteria is the same as the last // one, just return the collection. criteria.add(PortletMediatypePeer.MEDIA_ID, getId()); if (!lastPortletMediatypesCriteria.equals(criteria)) { collPortletMediatypes = PortletMediatypePeer.doSelect(criteria, con); } } } lastPortletMediatypesCriteria = criteria; return collPortletMediatypes; }