📄 eventdefinitiontype.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.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
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.Description;
import org.apache.pluto.om.portlet.EventDefinition;
/**
* The event-definitionType is used to declare events the portlet can either receive or emit. The name must be unique
* and must be the one the portlet is using in its code for referencing this event. Used in: portlet-app <p>Java class
* for event-definitionType complex type. <p>The following schema fragment specifies the expected content contained
* within this class.
*
* <pre>
* <complexType name="event-definitionType">
* <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"/>
* <choice>
* <element name="qname" type="{http://www.w3.org/2001/XMLSchema}QName"/>
* <element name="name" type="{http://www.w3.org/2001/XMLSchema}NCName"/>
* </choice>
* <element name="alias" type="{http://www.w3.org/2001/XMLSchema}QName" maxOccurs="unbounded" minOccurs="0"/>
* <element name="value-type" type="{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}fully-qualified-classType" 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 = "event-definitionType", propOrder = { "description", "qname", "name", "alias", "valueType" })
public class EventDefinitionType implements EventDefinition
{
@XmlElement(name = "description")
protected List<DescriptionType> description;
protected QName qname;
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "NCName")
protected String name;
protected List<QName> alias;
@XmlElement(name = "value-type")
protected String valueType;
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 QName getQName()
{
return qname;
}
public void setQName(QName value)
{
qname = value;
name = null;
}
public String getName()
{
return name;
}
public void setName(String value)
{
name = value;
qname = null;
}
public List<QName> getAliases()
{
if (alias == null)
{
alias = new ArrayList<QName>();
}
return alias;
}
public void addAlias(QName alias)
{
// TODO: check for duplicates
getAliases().add(alias);
}
public String getValueType()
{
return valueType;
}
public void setValueType(String value)
{
valueType = value;
}
public QName getQualifiedName(String defaultNamespace)
{
return qname != null ? qname : name != null ? new QName(defaultNamespace, name) : null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -