📄 portlettype.java
字号:
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.pluto.descriptors.portlet;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.namespace.QName;
import org.apache.pluto.om.portlet.ContainerRuntimeOption;
import org.apache.pluto.om.portlet.Description;
import org.apache.pluto.om.portlet.DisplayName;
import org.apache.pluto.om.portlet.EventDefinitionReference;
import org.apache.pluto.om.portlet.InitParam;
import org.apache.pluto.om.portlet.PortletDefinition;
import org.apache.pluto.om.portlet.PortletApplicationDefinition;
import org.apache.pluto.om.portlet.PortletInfo;
import org.apache.pluto.om.portlet.Preferences;
import org.apache.pluto.om.portlet.SecurityRoleRef;
import org.apache.pluto.om.portlet.Supports;
/**
* The portlet element contains the declarative data of a portlet. Used in: portlet-app <p>Java class for portletType
* complex type. <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="portletType">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="description" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}descriptionType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="portlet-name" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}portlet-nameType"/>
* <element name="display-name" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}display-nameType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="portlet-class" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}portlet-classType"/>
* <element name="init-param" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}init-paramType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="expiration-cache" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}expiration-cacheType" minOccurs="0"/>
* <element name="cache-scope" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}cache-scopeType" minOccurs="0"/>
* <element name="supports" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}supportsType" maxOccurs="unbounded"/>
* <element name="supported-locale" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}supported-localeType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="resource-bundle" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}resource-bundleType" minOccurs="0"/>
* <element name="portlet-info" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}portlet-infoType" minOccurs="0"/>
* <element name="portlet-preferences" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}portlet-preferencesType" minOccurs="0"/>
* <element name="security-role-ref" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}security-role-refType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="supported-processing-event" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}event-definition-referenceType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="supported-publishing-event" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}event-definition-referenceType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="supported-public-render-parameter" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}string" maxOccurs="unbounded" minOccurs="0"/>
* <element name="container-runtime-option" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}container-runtime-optionType" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* <attribute name="id" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}string" />
* </restriction>
* </complexContent>
* </complexType>
* </pre>
*
* @version $Id$
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "portletType", propOrder = { "description", "portletName", "displayName", "portletClass", "initParam",
"expirationCache", "cacheScope", "supports", "supportedLocale",
"resourceBundle", "portletInfo", "portletPreferences", "securityRoleRef",
"supportedProcessingEvent", "supportedPublishingEvent",
"supportedPublicRenderParameter", "containerRuntimeOption" })
public class PortletType implements PortletDefinition
{
@XmlElement(name = "description")
protected List<DescriptionType> description;
@XmlElement(name = "portlet-name", required = true)
@XmlJavaTypeAdapter(value=CollapsedStringAdapter.class)
protected String portletName;
@XmlElement(name = "display-name")
protected List<DisplayNameType> displayName;
@XmlElement(name = "portlet-class", required = true)
@XmlJavaTypeAdapter(value=CollapsedStringAdapter.class)
protected String portletClass;
@XmlElement(name = "init-param")
protected List<InitParamType> initParam;
@XmlElement(name = "expiration-cache")
protected Integer expirationCache;
@XmlElement(name = "cache-scope")
@XmlJavaTypeAdapter(value=CollapsedStringAdapter.class)
protected String cacheScope;
@XmlElement(required = true)
protected List<SupportsType> supports;
@XmlElement(name = "supported-locale")
@XmlJavaTypeAdapter(value=CollapsedStringAdapter.class)
protected List<String> supportedLocale;
@XmlElement(name = "resource-bundle")
@XmlJavaTypeAdapter(value=CollapsedStringAdapter.class)
protected String resourceBundle;
@XmlElement(name = "portlet-info")
protected PortletInfoType portletInfo;
@XmlElement(name = "portlet-preferences")
protected PortletPreferencesType portletPreferences;
@XmlElement(name = "security-role-ref")
protected List<SecurityRoleRefType> securityRoleRef;
@XmlElement(name = "supported-processing-event")
protected List<EventDefinitionReferenceType> supportedProcessingEvent;
@XmlElement(name = "supported-publishing-event")
protected List<EventDefinitionReferenceType> supportedPublishingEvent;
@XmlElement(name = "supported-public-render-parameter")
protected List<String> supportedPublicRenderParameter;
@XmlElement(name = "container-runtime-option")
protected List<ContainerRuntimeOptionType> containerRuntimeOption;
@XmlTransient
private PortletApplicationDefinition application;
public PortletType()
{
}
public PortletApplicationDefinition getApplication()
{
return application;
}
public void setApplication(PortletApplicationDefinition app)
{
this.application = app;
}
public Description getDescription(Locale locale)
{
for (Description d : getDescriptions())
{
if (d.getLocale().equals(locale))
{
return d;
}
}
return null;
}
public List<? extends Description> getDescriptions()
{
if (description == null)
{
description = new ArrayList<DescriptionType>();
}
return description;
}
public Description addDescription(String lang)
{
DescriptionType d = new DescriptionType();
d.setLang(lang);
if (getDescription(d.getLocale()) != null)
{
throw new IllegalArgumentException("Description for language: "+d.getLocale()+" already defined");
}
getDescriptions();
description.add(d);
return d;
}
public DisplayName getDisplayName(Locale locale)
{
for (DisplayName d : getDisplayNames())
{
if (d.getLocale().equals(locale))
{
return d;
}
}
return null;
}
public List<? extends DisplayName> getDisplayNames()
{
if (displayName == null)
{
displayName = new ArrayList<DisplayNameType>();
}
return displayName;
}
public DisplayName addDisplayName(String lang)
{
DisplayNameType d = new DisplayNameType();
d.setLang(lang);
if (getDisplayName(d.getLocale()) != null)
{
throw new IllegalArgumentException("DisplayName for language: "+d.getLocale()+" already defined");
}
getDisplayNames();
displayName.add(d);
return d;
}
public String getPortletName()
{
return portletName;
}
public void setPortletName(String value)
{
portletName = value;
}
public String getPortletClass()
{
return portletClass;
}
public void setPortletClass(String value)
{
portletClass = value;
}
public InitParam getInitParam(String name)
{
for (InitParam param : getInitParams())
{
if (param.getParamName().equals(name))
{
return param;
}
}
return null;
}
public List<? extends InitParam> getInitParams()
{
if (initParam == null)
{
initParam = new ArrayList<InitParamType>();
}
return initParam;
}
public InitParam addInitParam(String paramName)
{
if (getInitParam(paramName) != null)
{
throw new IllegalArgumentException("Init parameter: "+paramName+" already defined");
}
InitParamType param = new InitParamType();
param.setParamName(paramName);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -