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

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

?? mappedpropertydescriptor.java

?? osworkflow修改版本
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* * $Header: /cvs/osworkflow/src/designer/com/opensymphony/workflow/designer/beanutils/MappedPropertyDescriptor.java,v 1.1 2003/12/06 18:05:58 hani Exp $ * $Revision: 1.1 $ * $Date: 2003/12/06 18:05:58 $ * * ==================================================================== * * The Apache Software License, Version 1.1 * * Copyright (c) 2001-2003 The Apache Software Foundation.  All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in *    the documentation and/or other materials provided with the *    distribution. * * 3. The end-user documentation included with the redistribution, *    if any, must include the following acknowledgement: *       "This product includes software developed by the *        Apache Software Foundation (http://www.apache.org/)." *    Alternately, this acknowledgement may appear in the software itself, *    if and wherever such third-party acknowledgements normally appear. * * 4. The names "Apache", "The Jakarta Project", "Commons", and "Apache Software *    Foundation" must not be used to endorse or promote products derived *    from this software without prior written permission. For written *    permission, please contact apache@apache.org. * * 5. Products derived from this software may not be called "Apache", *    "Apache" nor may "Apache" appear in their names without prior *    written permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation.  For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. * */package com.opensymphony.workflow.designer.beanutils;import java.beans.IntrospectionException;import java.beans.PropertyDescriptor;import java.lang.reflect.Method;import java.lang.reflect.Modifier;import java.security.AccessController;import java.security.PrivilegedAction;/** * A MappedPropertyDescriptor describes one mapped property. * Mapped properties are multivalued properties like indexed properties * but that are accessed with a String key instead of an index. * Such property values are typically stored in a Map collection. * For this class to work properly, a mapped value must have * getter and setter methods of the form * <p><code>get<strong>Property</strong>(String key)<code> and * <p><code>set&ltProperty&gt(String key, Object value)<code>, * <p>where <code><strong>Property</strong></code> must be replaced * by the name of the property. * * @author Rey Fran鏾is * @author Gregor Ra齧an * @version $Revision: 1.1 $ $Date: 2003/12/06 18:05:58 $ * @see java.beans.PropertyDescriptor */public class MappedPropertyDescriptor extends PropertyDescriptor{  // ----------------------------------------------------- Instance Variables  /** The underlying data type of the property we are describing. */  private Class mappedPropertyType;  /** The reader method for this property (if any). */  private Method mappedReadMethod;  /** The writer method for this property (if any). */  private Method mappedWriteMethod;  /** The parameter types array for the reader method signature. */  private static final Class[] stringClassArray = new Class[]{String.class};  // ----------------------------------------------------------- Constructors  /**   * Constructs a MappedPropertyDescriptor for a property that follows   * the standard Java convention by having getFoo and setFoo   * accessor methods, with the addition of a String parameter (the key).   * Thus if the argument name is "fred", it will   * assume that the writer method is "setFred" and the reader method   * is "getFred".  Note that the property name should start with a lower   * case character, which will be capitalized in the method names.   *   * @param propertyName The programmatic name of the property.   * @param beanClass    The Class object for the target bean.  For   *                     example sun.beans.OurButton.class.   * @throws IntrospectionException if an exception occurs during   *                                introspection.   */  public MappedPropertyDescriptor(String propertyName, Class beanClass) throws IntrospectionException  {    super(propertyName, null, null);    if(propertyName == null || propertyName.length() == 0)    {      throw new IntrospectionException("bad property name: " + propertyName + " on class: " + beanClass.getClass().getName());    }    setName(propertyName);    String base = capitalizePropertyName(propertyName);    // Look for mapped read method and matching write method    try    {      mappedReadMethod = findMethod(beanClass, "get" + base, 1, stringClassArray);      Class params[] = {String.class, mappedReadMethod.getReturnType()};      mappedWriteMethod = findMethod(beanClass, "set" + base, 2, params);    }    catch(IntrospectionException e)    {      ;    }    // If there's no read method, then look for just a write method    if(mappedReadMethod == null)    {      mappedWriteMethod = findMethod(beanClass, "set" + base, 2);    }    if((mappedReadMethod == null) && (mappedWriteMethod == null))    {      throw new IntrospectionException("Property '" + propertyName + "' not found on " + beanClass.getName());    }    findMappedPropertyType();  }  /**   * This constructor takes the name of a mapped property, and method   * names for reading and writing the property.   *   * @param propertyName     The programmatic name of the property.   * @param beanClass        The Class object for the target bean.  For   *                         example sun.beans.OurButton.class.   * @param mappedGetterName The name of the method used for   *                         reading one of the property values.  May be null if the   *                         property is write-only.   * @param mappedSetterName The name of the method used for writing   *                         one of the property values.  May be null if the property is   *                         read-only.   * @throws IntrospectionException if an exception occurs during   *                                introspection.   */  public MappedPropertyDescriptor(String propertyName, Class beanClass, String mappedGetterName, String mappedSetterName) throws IntrospectionException  {    super(propertyName, null, null);    if(propertyName == null || propertyName.length() == 0)    {      throw new IntrospectionException("bad property name: " + propertyName);    }    setName(propertyName);    // search the mapped get and set methods    mappedReadMethod = findMethod(beanClass, mappedGetterName, 1, stringClassArray);    if(mappedReadMethod != null)    {      Class params[] = {String.class, mappedReadMethod.getReturnType()};      mappedWriteMethod = findMethod(beanClass, mappedSetterName, 2, params);    }    else    {      mappedWriteMethod = findMethod(beanClass, mappedSetterName, 2);    }    findMappedPropertyType();  }  /**   * This constructor takes the name of a mapped property, and Method   * objects for reading and writing the property.   *   * @param propertyName The programmatic name of the property.   * @param mappedGetter The method used for reading one of   *                     the property values.  May be be null if the property   *                     is write-only.   * @param mappedSetter The method used for writing one the   *                     property values.  May be null if the property is read-only.   * @throws IntrospectionException if an exception occurs during   *                                introspection.   */  public MappedPropertyDescriptor(String propertyName, Method mappedGetter, Method mappedSetter) throws IntrospectionException  {    super(propertyName, mappedGetter, mappedSetter);    if(propertyName == null || propertyName.length() == 0)    {      throw new IntrospectionException("bad property name: " + propertyName);    }    setName(propertyName);    mappedReadMethod = mappedGetter;    mappedWriteMethod = mappedSetter;    findMappedPropertyType();  }  // -------------------------------------------------------- Public Methods  /**   * Gets the Class object for the property values.   *   * @return The Java type info for the property values.  Note that   *         the "Class" object may describe a built-in Java type such as "int".   *         The result may be "null" if this is a mapped property that   *         does not support non-keyed access.   *         <p/>   *         This is the type that will be returned by the mappedReadMethod.   */  public Class getMappedPropertyType()  {    return mappedPropertyType;  }  /**   * Gets the method that should be used to read one of the property value.   *   * @return The method that should be used to read the property value.   *         May return null if the property can't be read.   */  public Method getMappedReadMethod()  {    return mappedReadMethod;  }  /**   * Sets the method that should be used to read one of the property value.   *   * @param mappedGetter The new getter method.   */  public void setMappedReadMethod(Method mappedGetter) throws IntrospectionException  {    mappedReadMethod = mappedGetter;    findMappedPropertyType();  }  /**   * Gets the method that should be used to write one of the property value.   *   * @return The method that should be used to write one of the property value.   *         May return null if the property can't be written.   */  public Method getMappedWriteMethod()  {    return mappedWriteMethod;  }  /**   * Sets the method that should be used to write the property value.   *   * @param mappedSetter The new setter method.   */  public void setMappedWriteMethod(Method mappedSetter) throws IntrospectionException  {    mappedWriteMethod = mappedSetter;    findMappedPropertyType();  }  // ------------------------------------------------------- Private Methods  /**   * Introspect our bean class to identify the corresponding getter   * and setter methods.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产成人91porn| 在线看日韩精品电影| 精品一区二区三区不卡| 五月天中文字幕一区二区| 亚洲视频在线一区| 专区另类欧美日韩| 日韩美女久久久| 中文字幕在线不卡视频| 中国色在线观看另类| 国产欧美日韩卡一| 国产精品三级视频| 中文字幕亚洲不卡| 国产精品的网站| 夜夜嗨av一区二区三区四季av| 亚洲精品一卡二卡| 亚洲图片自拍偷拍| 日本va欧美va精品发布| 九九国产精品视频| 国产麻豆精品久久一二三| 国产99久久精品| 91香蕉视频mp4| 91国产丝袜在线播放| 欧美精品在线一区二区三区| 欧美一区二区三区免费大片 | 国产无人区一区二区三区| 国产喷白浆一区二区三区| 中文字幕欧美三区| 亚洲最新视频在线观看| 日韩影院免费视频| 国产精品系列在线播放| 99久久伊人精品| 欧美精品一二三四| 精品88久久久久88久久久| 国产精品理伦片| 亚洲精品国产一区二区精华液| 亚洲国产精品嫩草影院| 国产综合久久久久久鬼色| 99久久综合国产精品| 欧美日韩国产高清一区二区三区| 日韩三级.com| 亚洲欧美偷拍另类a∨色屁股| 亚洲成人中文在线| 国产一区999| 在线视频国内一区二区| 精品国产一区二区三区久久久蜜月 | 中文字幕免费一区| 亚洲综合激情小说| 精品写真视频在线观看| 99riav一区二区三区| 欧美精品久久99久久在免费线| 精品粉嫩超白一线天av| 亚洲男人的天堂在线观看| 美腿丝袜亚洲色图| 成人v精品蜜桃久久一区| 欧美日韩国产一级二级| 国产婷婷色一区二区三区在线| 一区二区国产盗摄色噜噜| 精品一区二区三区免费播放| 91免费看片在线观看| 日韩网站在线看片你懂的| 亚洲天堂成人网| 黄色日韩网站视频| 欧美日韩国产色站一区二区三区| 久久久精品人体av艺术| 日日夜夜一区二区| 99精品视频中文字幕| 日韩精品一区二区三区在线播放| 亚洲日本青草视频在线怡红院| 精品亚洲成av人在线观看| 欧美日韩日日摸| 中文字幕在线观看一区| 九九九精品视频| 69精品人人人人| 亚洲一区免费在线观看| www.成人在线| 国产欧美日韩综合精品一区二区| 日一区二区三区| 欧美在线观看你懂的| 中文字幕一区二区三区四区不卡 | 国产成人av一区二区三区在线观看| 欧美精品18+| 亚洲精品日产精品乱码不卡| 国产精品一级黄| 欧美电影免费观看完整版| 日韩影院免费视频| 欧美视频在线观看一区| 一区二区三区中文字幕电影 | 欧美日韩国产一级二级| 亚洲美女视频在线| 成人性视频网站| 精品久久久久久亚洲综合网| 日韩黄色免费电影| 欧美三级电影网站| 一区二区三区日韩在线观看| 色哟哟亚洲精品| 日韩一区中文字幕| 成人免费毛片嘿嘿连载视频| 久久久99精品久久| 久久激情五月婷婷| 日韩欧美专区在线| 热久久一区二区| 4hu四虎永久在线影院成人| 亚洲mv大片欧洲mv大片精品| 欧美日韩国产片| 天堂在线一区二区| 欧美高清精品3d| 蜜桃视频第一区免费观看| 91精品国模一区二区三区| 日韩av一区二区在线影视| 91精品国产综合久久久蜜臀粉嫩 | 国精产品一区一区三区mba视频| 日韩精品一区二区在线| 国内久久精品视频| 久久久久久久久久久电影| 国产91精品露脸国语对白| 国产精品乱码人人做人人爱| 99久精品国产| 亚洲综合丝袜美腿| 欧美片网站yy| 麻豆成人91精品二区三区| 精品福利一区二区三区| 大尺度一区二区| 亚洲人成电影网站色mp4| 色狠狠桃花综合| 亚洲h动漫在线| 欧美mv和日韩mv的网站| 福利一区福利二区| 亚洲人123区| 欧美人妇做爰xxxⅹ性高电影 | 99久久99精品久久久久久| 亚洲精品免费一二三区| 欧美三级乱人伦电影| 日韩国产精品91| 久久人人超碰精品| 91蜜桃网址入口| 三级久久三级久久久| 欧美精品一区二区久久久| 成人av资源下载| 亚洲一区二区三区爽爽爽爽爽| 欧美一区二区三区视频在线观看| 国产高清精品久久久久| 亚洲精品视频在线看| 欧美一区二区三区啪啪| 成人精品视频网站| 亚洲va欧美va国产va天堂影院| 久久综合给合久久狠狠狠97色69| 色综合久久久久久久久久久| 日本aⅴ免费视频一区二区三区 | 日韩av在线播放中文字幕| 国产丝袜美腿一区二区三区| 欧美在线视频你懂得| 精品一区二区三区影院在线午夜 | 一区二区三区日韩精品| 日韩精品一区二区三区视频播放 | 一个色综合av| 久久综合九色综合久久久精品综合| 91看片淫黄大片一级| 日本欧美在线观看| 亚洲欧洲在线观看av| 日韩一卡二卡三卡四卡| 97久久精品人人做人人爽| 蜜臀久久99精品久久久久宅男| 国产精品女同一区二区三区| 91精品国产91久久久久久最新毛片| 成人自拍视频在线| 免费久久精品视频| 亚洲人快播电影网| 久久精品日产第一区二区三区高清版| 91久久精品一区二区| 国产毛片精品一区| 香蕉久久一区二区不卡无毒影院 | 天堂在线亚洲视频| 亚洲欧洲成人av每日更新| 精品日韩欧美一区二区| 色综合 综合色| 国产成人免费xxxxxxxx| 午夜精品久久久久久久久| 成人欧美一区二区三区视频网页| 日韩免费看的电影| 欧美亚洲一区二区在线观看| 成人在线视频一区| 激情久久久久久久久久久久久久久久| 亚洲综合图片区| 综合中文字幕亚洲| 国产精品天美传媒| www日韩大片| 日韩欧美一二三四区| 欧美三级欧美一级| 欧美亚洲动漫制服丝袜| www.欧美日韩| 成人免费黄色大片| 高清在线观看日韩| 国产一区二区成人久久免费影院| 奇米综合一区二区三区精品视频| 亚洲第一精品在线| 亚洲综合在线电影| 亚洲夂夂婷婷色拍ww47| 亚洲蜜桃精久久久久久久| 最新国产精品久久精品| 久久久久久久久久看片|