1 16 19 20 package org.apache.pluto.portalImpl.om.portlet.impl; 21 22 import java.util.ArrayList ; 23 import java.util.Collection ; 24 import java.util.Iterator ; 25 26 import org.apache.pluto.om.portlet.ContentType; 27 import org.apache.pluto.om.portlet.ContentTypeSet; 28 import org.apache.pluto.portalImpl.om.common.AbstractSupportSet; 29 import org.apache.pluto.util.StringUtils; 30 31 public class ContentTypeSetImpl extends AbstractSupportSet 32 implements ContentTypeSet, java.io.Serializable { 33 34 35 37 private ContentType anyContentType; 39 40 public ContentType get(String contentType) 41 { 42 Iterator iterator = this.iterator(); 43 while (iterator.hasNext()) { 44 ContentType _contentType = (ContentType)iterator.next(); 45 if (_contentType.getContentType().equals(contentType)) { 46 return _contentType; 47 } 48 } 49 return null; 50 } 51 52 public void postLoad(Object parameter) throws Exception 54 { 55 super.postLoad(parameter); 56 57 Collection allPortletModes = new ArrayList (); 58 59 Iterator contentTypes = this.iterator(); 60 while (contentTypes.hasNext()){ 61 ContentType aContentType = (ContentType)contentTypes.next(); 62 Iterator portletModes = aContentType.getPortletModes(); 63 64 while(portletModes.hasNext()) { 65 Object portletMode = portletModes.next(); 66 if(!allPortletModes.contains(portletMode)) { 67 allPortletModes.add(portletMode); 68 } 69 } 70 } 71 72 ContentTypeImpl _anyContentType = new ContentTypeImpl(); 73 _anyContentType.setPortletModes(allPortletModes); 74 anyContentType = _anyContentType; 75 } 76 77 78 80 public String toString() 81 { 82 return toString(0); 83 } 84 85 public String toString(int indent) 86 { 87 StringBuffer buffer = new StringBuffer (50); 88 StringUtils.newLine(buffer,indent); 89 buffer.append(getClass().toString()); 90 buffer.append(": "); 91 Iterator iterator = this.iterator(); 92 while (iterator.hasNext()) { 93 buffer.append(((ContentTypeImpl)iterator.next()).toString(indent+2)); 94 } 95 return buffer.toString(); 96 } 97 98 public boolean supportsPortletMode(javax.portlet.PortletMode portletMode) { 99 return anyContentType.supportsPortletMode(portletMode); 100 } 101 } 102 | Popular Tags |