亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? baseportletinfoentry.java

?? jetspeed源代碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * Copyright 2000-2001,2004 The Apache Software Foundation.
 * 
 * Licensed 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.jetspeed.om.registry.base;

import org.apache.jetspeed.om.registry.*;

import java.util.Vector;
import java.util.Map;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Enumeration;

/**
 * The BasePortletInfoEntry is a bean like implementation of the PortletInfoEntry
 * interface suitable for Castor XML serialization
 *
 * @see org.apache.jetspeed.om.registry.PortletInfoEntry
 * @author <a href="mailto:raphael@apache.org">Rapha雔 Luta</a>
 * @version $Id: BasePortletInfoEntry.java,v 1.9 2004/03/29 19:28:24 jford Exp $
 */
public abstract class BasePortletInfoEntry extends BaseRegistryEntry
{

    protected String classname;

    protected Vector parameter = new Vector();

    protected transient Map nameIdx = null;

    protected Vector medias = new Vector();

    protected transient Map mediasIdx = null;

    protected Vector tools = new Vector();

    protected transient Map toolsIdx = null;

    /**
     * Implements the equals operation so that 2 elements are equal if
     * all their member values are equal.
     */
    public boolean equals(Object object)
    {
        if (object==null)
        {
            return false;
        }

        BasePortletInfoEntry obj = (BasePortletInfoEntry)object;

        if (classname!=null)
        {
            if (!classname.equals(obj.getClassname()))
            {
                return false;
            }
        }
        else
        {
            if (obj.getClassname()!=null)
            {
                return false;
            }
        }

        Iterator i = parameter.iterator();
        Iterator i2 = obj.getParameters().iterator();
        while(i.hasNext())
        {
            BaseParameter p1 = (BaseParameter)i.next();
            BaseParameter p2 = null;

            if (i2.hasNext())
            {
                p2 = (BaseParameter)i2.next();
            }
            else
            {
                return false;
            }

            if (!p1.equals(p2))
            {
                return false;
            }
        }

        if (i2.hasNext())
        {
            return false;
        }

        i = medias.iterator();
        i2 = obj.getMediaTypes().iterator();
        while(i.hasNext())
        {
            BaseMediaType m1 = (BaseMediaType)i.next();
            BaseMediaType m2 = null;

            if (i2.hasNext())
            {
                m2 = (BaseMediaType)i2.next();
            }
            else
            {
                return false;
            }

            if (!m1.equals(m2))
            {
                return false;
            }
        }

        if (i2.hasNext())
        {
            return false;
        }

        i = tools.iterator();
        i2 = obj.getTools().iterator();
        while(i.hasNext())
        {
            BaseToolDescriptor t1 = (BaseToolDescriptor)i.next();
            BaseToolDescriptor t2 = null;

            if (i2.hasNext())
            {
                t2 = (BaseToolDescriptor)i2.next();
            }
            else
            {
                return false;
            }

            if (!t1.equals(t2))
            {
                return false;
            }
        }

        if (i2.hasNext())
        {
            return false;
        }

        return super.equals(object);
    }

    /** @return the classname associated to this entry */
    public String getClassname()
    {
        return this.classname;
    }

    /** Sets the classname for this entry. This classname is used for instanciating
     *  the associated element
     *
     *  @param classname the classname used for instanciating the component associated with
     *  this entry
     */
    public void setClassname( String classname )
    {
        this.classname = classname;
    }

    /** @return an enumeration of this entry parameter names */
    public Iterator getParameterNames()
    {
        synchronized (parameter)
        {
            if (nameIdx == null)
            {
                buildNameIndex();
            }
        }

        return nameIdx.keySet().iterator();
    }


    /** Search for a named parameter and return the associated
     *  parameter object. The search is case sensitive.
     *
     *  @return the parameter object for a given parameter name
     *  @param name the parameter name to look for
     */
    public Parameter getParameter( String name )
    {
        synchronized (parameter)
        {
            if (nameIdx == null)
            {
                buildNameIndex();
            }
        }

        if (name != null)
        {
            Integer pos = (Integer)nameIdx.get(name);

            if (pos != null)
            {
                return (Parameter)parameter.elementAt(pos.intValue());
            }
        }

        return null;
    }


    /** Returns a map of parameter values keyed on the parameter names
     *  @return the parameter values map
     */
    public Map getParameterMap()
    {
        Hashtable params = new Hashtable();
        Enumeration en = parameter.elements();
        while(en.hasMoreElements())
        {
            Parameter param = (Parameter)en.nextElement();
            String key = param.getName();
            String value = param.getValue();
            if(key != null && value != null)
            {
            	params.put(key, value);
            }
        }
        return params;
    }

    /** Adds a new parameter for this entry
     *  @param name the new parameter name
     *  @param value the new parameter value
     */
    public void addParameter( String name, String value )
    {
        if (name != null)
        {
            Parameter p = getParameter(name);
            if (p == null)
            {
                if (this instanceof PortletEntry)
                    p = new BaseCachedParameter();
               else
                    p = new BaseParameter();
                p.setName(name);
            }

            p.setValue(value);

            addParameter(p);

        }
    }

    /** Adds a new parameter for this entry
     *  @param parameter the new parameter to add
     */
    public void addParameter( Parameter param )
    {
        synchronized (parameter)
        {
            if (parameter == null)
                parameter = new Vector();

            if (nameIdx == null)
                buildNameIndex();

            parameter.addElement( param );
            nameIdx.put( param.getName(), new Integer( parameter.size()-1 ) );
        }
    }

    /** Removes all parameter values associated with the
     *  name
     *
     * @param name the parameter name to remove
     */
    public void removeParameter( String name )
    {
        if (name == null) return;

        synchronized (parameter)
        {
            Iterator i = parameter.iterator();
            while(i.hasNext())
            {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产中文| 欧美精品 日韩| 日韩精品一二三| 国产午夜精品一区二区三区嫩草 | 亚洲大型综合色站| 久久久精品日韩欧美| 欧美麻豆精品久久久久久| 丰满亚洲少妇av| 喷白浆一区二区| 亚洲精品久久久久久国产精华液| 精品国产91洋老外米糕| 欧美美女喷水视频| 97久久精品人人做人人爽| 精品一区二区影视| 亚洲h动漫在线| 亚洲免费观看高清完整版在线 | 欧美色手机在线观看| 成人激情小说乱人伦| 经典三级在线一区| 日韩成人午夜电影| 亚洲影院久久精品| 亚洲视频一区二区免费在线观看 | 午夜精品视频一区| 一区二区三区四区在线| 国产精品国产馆在线真实露脸 | 国产精品女主播av| 久久美女艺术照精彩视频福利播放| 欧美日韩视频在线观看一区二区三区| 成人18视频日本| 国模大尺度一区二区三区| 奇米色777欧美一区二区| 亚洲一线二线三线视频| 亚洲欧美视频在线观看视频| 国产精品女主播av| 国产精品乱人伦| 中文字幕乱码一区二区免费| 国产视频一区在线观看 | 亚洲国产中文字幕| 亚洲精品国久久99热| 亚洲欧美另类小说视频| 国产精品久久久久aaaa樱花| 亚洲国产高清不卡| 国产欧美日韩精品在线| 国产欧美一区二区精品性色| 国产欧美一区二区三区鸳鸯浴| 久久久久久久久久电影| 久久久久国产精品麻豆| 国产午夜精品久久| 精品对白一区国产伦| 欧美成人在线直播| 26uuu国产一区二区三区| 久久伊人蜜桃av一区二区| 久久久亚洲精华液精华液精华液| 26uuu亚洲综合色| 中文字幕精品一区二区三区精品| 中文字幕一区二区三区四区 | 精品sm捆绑视频| 久久久久九九视频| 欧美国产精品一区| 亚洲女性喷水在线观看一区| 亚洲电影视频在线| 免费高清视频精品| 国产成人综合亚洲91猫咪| 成人激情午夜影院| 欧美亚洲一区三区| 日韩午夜av一区| 欧美国产精品中文字幕| 夜夜嗨av一区二区三区中文字幕| 视频一区视频二区中文字幕| 狠狠色狠狠色综合日日91app| 国产不卡视频在线播放| 色综合久久天天| 欧美一二三四区在线| 欧美国产亚洲另类动漫| 夜夜嗨av一区二区三区网页| 久色婷婷小香蕉久久| 成人免费电影视频| 欧美探花视频资源| 精品国产乱码久久久久久图片 | 欧美日韩一区视频| 欧美videos中文字幕| 国产精品国产三级国产| 日韩电影在线免费看| 国产91精品精华液一区二区三区 | 亚洲欧洲日韩在线| 图片区小说区区亚洲影院| 国产精品一区二区男女羞羞无遮挡| 波多野结衣精品在线| 日韩一区二区三区三四区视频在线观看 | 成人综合婷婷国产精品久久免费| 色综合久久天天| 精品电影一区二区三区| 一区二区成人在线视频| 激情综合色播激情啊| 91福利在线免费观看| xvideos.蜜桃一区二区| 亚洲电影一区二区三区| 高清成人免费视频| 欧美一区二区三区免费视频| 亚洲欧洲成人自拍| 国产精品一二二区| 3d成人h动漫网站入口| 亚洲视频网在线直播| 国产乱码精品1区2区3区| 欧美精品在线一区二区| 自拍偷拍欧美激情| 国产精品一卡二卡在线观看| 717成人午夜免费福利电影| 亚洲视频一二区| 成人午夜私人影院| 26uuu国产电影一区二区| 日本欧美韩国一区三区| 精品视频1区2区| 亚洲免费看黄网站| 大尺度一区二区| 久久蜜臀中文字幕| 国产在线精品一区二区三区不卡| 6080午夜不卡| 亚洲成人av福利| 在线看一区二区| 亚洲精品视频在线观看免费| 成人动漫一区二区| 欧美激情在线看| 国产在线国偷精品产拍免费yy| 欧美精品123区| 日本亚洲最大的色成网站www| 欧美怡红院视频| 一区二区三区在线免费视频 | 色婷婷国产精品久久包臀| 欧美激情中文不卡| 成人激情午夜影院| 最近中文字幕一区二区三区| 波多野结衣精品在线| 最新成人av在线| 色菇凉天天综合网| 一区二区三区四区视频精品免费| 91免费观看视频在线| 亚洲精品国产精华液| 色吧成人激情小说| 亚洲一区二区三区四区五区黄| 一本一本久久a久久精品综合麻豆| 综合激情成人伊人| 色婷婷精品大视频在线蜜桃视频| 亚洲欧美另类小说| 欧美日免费三级在线| 午夜精品久久久久久久久| 欧美猛男超大videosgay| 天堂一区二区在线免费观看| 日韩一区二区在线观看| 美女在线视频一区| 国产情人综合久久777777| 成人18精品视频| 亚洲国产视频在线| 日韩一区二区三区精品视频| 黄色小说综合网站| 国产精品理论片在线观看| 91一区二区在线观看| 亚洲高清不卡在线观看| 日韩免费高清av| 粉嫩aⅴ一区二区三区四区五区| 国产精品美女一区二区三区 | 六月丁香婷婷久久| 久久奇米777| 日本韩国一区二区| 日本伊人色综合网| 国产精品网曝门| 欧美亚一区二区| 久久99国产精品尤物| 国产精品人成在线观看免费| 欧美专区日韩专区| 激情av综合网| 有码一区二区三区| 日韩精品在线一区二区| eeuss鲁一区二区三区| 香蕉成人伊视频在线观看| 久久久电影一区二区三区| 欧美在线视频不卡| 国模套图日韩精品一区二区| 亚洲免费观看高清| 精品成人一区二区三区| 91香蕉国产在线观看软件| 另类人妖一区二区av| 亚洲日本护士毛茸茸| 欧美mv和日韩mv的网站| 91久久奴性调教| 国产一区二区三区四区五区入口| 亚洲男人的天堂网| 欧美精品一区二区高清在线观看 | 久久影院午夜片一区| 欧美综合亚洲图片综合区| 国产精品88888| 天天亚洲美女在线视频| 欧美国产精品一区| 欧美v亚洲v综合ⅴ国产v| 欧美伊人久久久久久久久影院| 国产福利不卡视频| 日本成人在线网站| 一区二区三区在线视频观看58| 国产丝袜欧美中文另类| 欧美一区二区在线免费播放|