Files
redkale/javadoc/org/redkale/util/Attribute.html
wentch b17d482229
2016-01-14 17:11:49 +08:00

660 lines
28 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (1.8.0_65) on Thu Jan 14 17:03:12 CST 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Attribute (RedKale的API文档)</title>
<meta name="date" content="2016-01-14">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Attribute (RedKale\u7684API\u6587\u6863)";
}
}
catch(err) {
}
//-->
var methods = {"i0":17,"i1":17,"i2":17,"i3":17,"i4":17,"i5":17,"i6":17,"i7":17,"i8":17,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6};
var tabs = {65535:["t0","所有方法"],1:["t1","静态方法"],2:["t2","实例方法"],4:["t3","抽象方法"],16:["t5","默认方法"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>您的浏览器已禁用 JavaScript。</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="跳过导航链接">跳过导航链接</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../overview-summary.html">概览</a></li>
<li><a href="package-summary.html">程序包</a></li>
<li class="navBarCell1Rev"></li>
<li><a href="class-use/Attribute.html">使用</a></li>
<li><a href="package-tree.html"></a></li>
<li><a href="../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../index-files/index-1.html">索引</a></li>
<li><a href="../../../help-doc.html">帮助</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/redkale/util/AsmMethodVisitor.html" title="org.redkale.util中的类"><span class="typeNameLink">上一个类</span></a></li>
<li><a href="../../../org/redkale/util/AutoLoad.html" title="org.redkale.util中的注释"><span class="typeNameLink">下一个类</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/redkale/util/Attribute.html" target="_top">框架</a></li>
<li><a href="Attribute.html" target="_top">无框架</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>概要:&nbsp;</li>
<li>嵌套&nbsp;|&nbsp;</li>
<li>字段&nbsp;|&nbsp;</li>
<li>构造器&nbsp;|&nbsp;</li>
<li><a href="#method.summary">方法</a></li>
</ul>
<ul class="subNavList">
<li>详细资料:&nbsp;</li>
<li>字段&nbsp;|&nbsp;</li>
<li>构造器&nbsp;|&nbsp;</li>
<li><a href="#method.detail">方法</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.redkale.util</div>
<h2 title="接口 Attribute" class="title">接口 Attribute&lt;T,F&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">类型参数:</span></dt>
<dd><code>T</code> - 字段依附的类</dd>
<dd><code>F</code> - 字段的数据类型</dd>
</dl>
<dl>
<dt>所有已知实现类:</dt>
<dd><a href="../../../org/redkale/source/DataCallArrayAttribute.html" title="org.redkale.source中的类">DataCallArrayAttribute</a>, <a href="../../../org/redkale/source/DataCallAttribute.html" title="org.redkale.source中的类">DataCallAttribute</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Attribute&lt;T,F&gt;</span></pre>
<div class="block">该类实现动态映射一个JavaBean类中成员对应的getter、setter方法 代替低效的反射实现方式。
<blockquote><pre>
public class Record {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
</pre></blockquote>
获取name的 Attribute
<blockquote><pre>
Attribute&lt;Record, String&gt; nameAction = Attribute.create(Record.class.getDeclaredField("name"));
</pre></blockquote>
等价于:
<blockquote><pre>
Attribute&lt;Record, String&gt; nameAction = new Attribute&lt;Record, String&gt;() {
&#64;Override
public String field() {
return "name";
}
&#64;Override
public String get(Record obj) {
return obj.getName();
}
&#64;Override
public void set(Record obj, String value) {
obj.setName(value);
}
&#64;Override
public Class type() {
return String.class;
}
&#64;Override
public Class declaringClass() {
return Record.class;
}
};
</pre></blockquote>
<p>
映射Field时field必须满足以下条件之一 <br>
1、field属性是public且非final <br>
2、至少存在对应的getter、setter方法中的一个 <br>
当不存在getter方法时get操作固定返回null <br>
当不存在setter方法时set操作为空方法 <br>
<p>
详情见: http://www.redkale.org</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>方法概要</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="方法概要表, 列表方法和解释">
<caption><span id="t0" class="activeTableTab"><span>所有方法</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">静态方法</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">实例方法</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">默认方法</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">限定符和类型</th>
<th class="colLast" scope="col">方法和说明</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static &lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/redkale/util/Attribute.html#create-java.lang.Class-java.lang.reflect.Field-">create</a></span>(java.lang.Class&lt;T&gt;&nbsp;clazz,
java.lang.reflect.Field&nbsp;field)</code>
<div class="block">根据一个Class和Field生成 Attribute 对象。</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static &lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/redkale/util/Attribute.html#create-java.lang.Class-java.lang.reflect.Method-java.lang.reflect.Method-">create</a></span>(java.lang.Class&lt;T&gt;&nbsp;clazz,
java.lang.reflect.Method&nbsp;getter,
java.lang.reflect.Method&nbsp;setter)</code>
<div class="block">根据Class、getter和setter方法生成 Attribute 对象。</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static &lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/redkale/util/Attribute.html#create-java.lang.Class-java.lang.String-">create</a></span>(java.lang.Class&lt;T&gt;&nbsp;clazz,
java.lang.String&nbsp;fieldname)</code>
<div class="block">根据一个Class和field真实名称生成 Attribute 对象。</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static &lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/redkale/util/Attribute.html#create-java.lang.Class-java.lang.String-java.lang.reflect.Field-">create</a></span>(java.lang.Class&lt;T&gt;&nbsp;clazz,
java.lang.String&nbsp;fieldalias,
java.lang.reflect.Field&nbsp;field)</code>
<div class="block">根据一个Class、field别名和Field生成 Attribute 对象。</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static &lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/redkale/util/Attribute.html#create-java.lang.Class-java.lang.String-java.lang.reflect.Field-java.lang.reflect.Method-java.lang.reflect.Method-">create</a></span>(java.lang.Class&lt;T&gt;&nbsp;clazz,
java.lang.String&nbsp;fieldalias,
java.lang.reflect.Field&nbsp;field,
java.lang.reflect.Method&nbsp;getter,
java.lang.reflect.Method&nbsp;setter)</code>
<div class="block">根据Class、字段别名、Field、getter和setter方法生成 Attribute 对象。</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static &lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/redkale/util/Attribute.html#create-java.lang.Class-java.lang.String-java.lang.reflect.Method-java.lang.reflect.Method-">create</a></span>(java.lang.Class&lt;T&gt;&nbsp;clazz,
java.lang.String&nbsp;fieldalias,
java.lang.reflect.Method&nbsp;getter,
java.lang.reflect.Method&nbsp;setter)</code>
<div class="block">根据Class、字段别名、getter和setter方法生成 Attribute 对象。</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static &lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/redkale/util/Attribute.html#create-java.lang.reflect.Field-">create</a></span>(java.lang.reflect.Field&nbsp;field)</code>
<div class="block">根据一个Field生成 Attribute 对象。</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static &lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/redkale/util/Attribute.html#create-java.lang.reflect.Method-java.lang.reflect.Method-">create</a></span>(java.lang.reflect.Method&nbsp;getter,
java.lang.reflect.Method&nbsp;setter)</code>
<div class="block">根据一个getter和setter方法生成 Attribute 对象。</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static &lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/redkale/util/Attribute.html#create-java.lang.String-java.lang.reflect.Field-">create</a></span>(java.lang.String&nbsp;fieldalias,
java.lang.reflect.Field&nbsp;field)</code>
<div class="block">根据一个Field和field的别名生成 Attribute 对象。</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.lang.Class&lt;<a href="../../../org/redkale/util/Attribute.html" title="Attribute中的类型参数">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/redkale/util/Attribute.html#declaringClass--">declaringClass</a></span>()</code>
<div class="block">返回字段依附的类名</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/redkale/util/Attribute.html#field--">field</a></span>()</code>
<div class="block">返回字段名</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../org/redkale/util/Attribute.html" title="Attribute中的类型参数">F</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/redkale/util/Attribute.html#get-T-">get</a></span>(<a href="../../../org/redkale/util/Attribute.html" title="Attribute中的类型参数">T</a>&nbsp;obj)</code>
<div class="block">获取指定对象的该字段的值</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/redkale/util/Attribute.html#set-T-F-">set</a></span>(<a href="../../../org/redkale/util/Attribute.html" title="Attribute中的类型参数">T</a>&nbsp;obj,
<a href="../../../org/redkale/util/Attribute.html" title="Attribute中的类型参数">F</a>&nbsp;value)</code>
<div class="block">给指定对象的该字段赋值</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>java.lang.Class&lt;? extends <a href="../../../org/redkale/util/Attribute.html" title="Attribute中的类型参数">F</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/redkale/util/Attribute.html#type--">type</a></span>()</code>
<div class="block">返回字段的数据类型</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>方法详细资料</h3>
<a name="type--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>type</h4>
<pre>java.lang.Class&lt;? extends <a href="../../../org/redkale/util/Attribute.html" title="Attribute中的类型参数">F</a>&gt;&nbsp;type()</pre>
<div class="block">返回字段的数据类型</div>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>字段的数据类型</dd>
</dl>
</li>
</ul>
<a name="declaringClass--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>declaringClass</h4>
<pre>java.lang.Class&lt;<a href="../../../org/redkale/util/Attribute.html" title="Attribute中的类型参数">T</a>&gt;&nbsp;declaringClass()</pre>
<div class="block">返回字段依附的类名</div>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>依附的类名</dd>
</dl>
</li>
</ul>
<a name="field--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>field</h4>
<pre>java.lang.String&nbsp;field()</pre>
<div class="block">返回字段名</div>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>字段名</dd>
</dl>
</li>
</ul>
<a name="get-java.lang.Object-">
<!-- -->
</a><a name="get-T-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre><a href="../../../org/redkale/util/Attribute.html" title="Attribute中的类型参数">F</a>&nbsp;get(<a href="../../../org/redkale/util/Attribute.html" title="Attribute中的类型参数">T</a>&nbsp;obj)</pre>
<div class="block">获取指定对象的该字段的值</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>obj</code> - 指定对象</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>字段的值</dd>
</dl>
</li>
</ul>
<a name="set-java.lang.Object-java.lang.Object-">
<!-- -->
</a><a name="set-T-F-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre>void&nbsp;set(<a href="../../../org/redkale/util/Attribute.html" title="Attribute中的类型参数">T</a>&nbsp;obj,
<a href="../../../org/redkale/util/Attribute.html" title="Attribute中的类型参数">F</a>&nbsp;value)</pre>
<div class="block">给指定对象的该字段赋值</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>obj</code> - 指定对象</dd>
<dd><code>value</code> - 字段新值</dd>
</dl>
</li>
</ul>
<a name="create-java.lang.reflect.Field-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>static&nbsp;&lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;&nbsp;create(java.lang.reflect.Field&nbsp;field)</pre>
<div class="block">根据一个Field生成 Attribute 对象。</div>
<dl>
<dt><span class="paramLabel">类型参数:</span></dt>
<dd><code>T</code> - 依附类的类型</dd>
<dd><code>F</code> - 字段类型</dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>field</code> - 字段,如果该字段不存在则抛异常</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Attribute对象</dd>
</dl>
</li>
</ul>
<a name="create-java.lang.String-java.lang.reflect.Field-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>static&nbsp;&lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;&nbsp;create(java.lang.String&nbsp;fieldalias,
java.lang.reflect.Field&nbsp;field)</pre>
<div class="block">根据一个Field和field的别名生成 Attribute 对象。</div>
<dl>
<dt><span class="paramLabel">类型参数:</span></dt>
<dd><code>T</code> - 依附类的类型</dd>
<dd><code>F</code> - 字段类型</dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>fieldalias</code> - 别名</dd>
<dd><code>field</code> - 字段,如果该字段不存在则抛异常</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Attribute对象</dd>
</dl>
</li>
</ul>
<a name="create-java.lang.Class-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>static&nbsp;&lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;&nbsp;create(java.lang.Class&lt;T&gt;&nbsp;clazz,
java.lang.String&nbsp;fieldname)</pre>
<div class="block">根据一个Class和field真实名称生成 Attribute 对象。</div>
<dl>
<dt><span class="paramLabel">类型参数:</span></dt>
<dd><code>T</code> - 依附类的类型</dd>
<dd><code>F</code> - 字段类型</dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>clazz</code> - 指定依附的类</dd>
<dd><code>fieldname</code> - 字段名,如果该字段不存在则抛异常</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Attribute对象</dd>
</dl>
</li>
</ul>
<a name="create-java.lang.Class-java.lang.reflect.Field-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>static&nbsp;&lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;&nbsp;create(java.lang.Class&lt;T&gt;&nbsp;clazz,
java.lang.reflect.Field&nbsp;field)</pre>
<div class="block">根据一个Class和Field生成 Attribute 对象。</div>
<dl>
<dt><span class="paramLabel">类型参数:</span></dt>
<dd><code>T</code> - 依附类的类型</dd>
<dd><code>F</code> - 字段类型</dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>clazz</code> - 指定依附的类</dd>
<dd><code>field</code> - 字段,如果该字段不存在则抛异常</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Attribute对象</dd>
</dl>
</li>
</ul>
<a name="create-java.lang.Class-java.lang.String-java.lang.reflect.Field-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>static&nbsp;&lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;&nbsp;create(java.lang.Class&lt;T&gt;&nbsp;clazz,
java.lang.String&nbsp;fieldalias,
java.lang.reflect.Field&nbsp;field)</pre>
<div class="block">根据一个Class、field别名和Field生成 Attribute 对象。</div>
<dl>
<dt><span class="paramLabel">类型参数:</span></dt>
<dd><code>T</code> - 依附类的类型</dd>
<dd><code>F</code> - 字段类型</dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>clazz</code> - 指定依附的类</dd>
<dd><code>fieldalias</code> - 字段别名</dd>
<dd><code>field</code> - 字段,如果该字段不存在则抛异常</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Attribute对象</dd>
</dl>
</li>
</ul>
<a name="create-java.lang.reflect.Method-java.lang.reflect.Method-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>static&nbsp;&lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;&nbsp;create(java.lang.reflect.Method&nbsp;getter,
java.lang.reflect.Method&nbsp;setter)</pre>
<div class="block">根据一个getter和setter方法生成 Attribute 对象。
tgetter、setter不能同时为null</div>
<dl>
<dt><span class="paramLabel">类型参数:</span></dt>
<dd><code>T</code> - 依附类的类型</dd>
<dd><code>F</code> - 字段类型</dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>getter</code> - getter方法</dd>
<dd><code>setter</code> - setter方法</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Attribute对象</dd>
</dl>
</li>
</ul>
<a name="create-java.lang.Class-java.lang.reflect.Method-java.lang.reflect.Method-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>static&nbsp;&lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;&nbsp;create(java.lang.Class&lt;T&gt;&nbsp;clazz,
java.lang.reflect.Method&nbsp;getter,
java.lang.reflect.Method&nbsp;setter)</pre>
<div class="block">根据Class、getter和setter方法生成 Attribute 对象。
tgetter、setter不能同时为null</div>
<dl>
<dt><span class="paramLabel">类型参数:</span></dt>
<dd><code>T</code> - 依附类的类型</dd>
<dd><code>F</code> - 字段类型</dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>clazz</code> - 指定依附的类</dd>
<dd><code>getter</code> - getter方法</dd>
<dd><code>setter</code> - setter方法</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Attribute对象</dd>
</dl>
</li>
</ul>
<a name="create-java.lang.Class-java.lang.String-java.lang.reflect.Method-java.lang.reflect.Method-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>static&nbsp;&lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;&nbsp;create(java.lang.Class&lt;T&gt;&nbsp;clazz,
java.lang.String&nbsp;fieldalias,
java.lang.reflect.Method&nbsp;getter,
java.lang.reflect.Method&nbsp;setter)</pre>
<div class="block">根据Class、字段别名、getter和setter方法生成 Attribute 对象。
tgetter、setter不能同时为null</div>
<dl>
<dt><span class="paramLabel">类型参数:</span></dt>
<dd><code>T</code> - 依附类的类型</dd>
<dd><code>F</code> - 字段类型</dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>clazz</code> - 指定依附的类</dd>
<dd><code>fieldalias</code> - 字段别名</dd>
<dd><code>getter</code> - getter方法</dd>
<dd><code>setter</code> - setter方法</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Attribute对象</dd>
</dl>
</li>
</ul>
<a name="create-java.lang.Class-java.lang.String-java.lang.reflect.Field-java.lang.reflect.Method-java.lang.reflect.Method-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>create</h4>
<pre>static&nbsp;&lt;T,F&gt;&nbsp;<a href="../../../org/redkale/util/Attribute.html" title="org.redkale.util中的接口">Attribute</a>&lt;T,F&gt;&nbsp;create(java.lang.Class&lt;T&gt;&nbsp;clazz,
java.lang.String&nbsp;fieldalias,
java.lang.reflect.Field&nbsp;field,
java.lang.reflect.Method&nbsp;getter,
java.lang.reflect.Method&nbsp;setter)</pre>
<div class="block">根据Class、字段别名、Field、getter和setter方法生成 Attribute 对象。
Field、tgetter、setter不能同时为null</div>
<dl>
<dt><span class="paramLabel">类型参数:</span></dt>
<dd><code>T</code> - 依附类的类型</dd>
<dd><code>F</code> - 字段类型</dd>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>clazz</code> - 指定依附的类</dd>
<dd><code>fieldalias</code> - 字段别名</dd>
<dd><code>field</code> - 字段</dd>
<dd><code>getter</code> - getter方法</dd>
<dd><code>setter</code> - setter方法</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Attribute对象</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="跳过导航链接">跳过导航链接</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../overview-summary.html">概览</a></li>
<li><a href="package-summary.html">程序包</a></li>
<li class="navBarCell1Rev"></li>
<li><a href="class-use/Attribute.html">使用</a></li>
<li><a href="package-tree.html"></a></li>
<li><a href="../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../index-files/index-1.html">索引</a></li>
<li><a href="../../../help-doc.html">帮助</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/redkale/util/AsmMethodVisitor.html" title="org.redkale.util中的类"><span class="typeNameLink">上一个类</span></a></li>
<li><a href="../../../org/redkale/util/AutoLoad.html" title="org.redkale.util中的注释"><span class="typeNameLink">下一个类</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/redkale/util/Attribute.html" target="_top">框架</a></li>
<li><a href="Attribute.html" target="_top">无框架</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>概要:&nbsp;</li>
<li>嵌套&nbsp;|&nbsp;</li>
<li>字段&nbsp;|&nbsp;</li>
<li>构造器&nbsp;|&nbsp;</li>
<li><a href="#method.summary">方法</a></li>
</ul>
<ul class="subNavList">
<li>详细资料:&nbsp;</li>
<li>字段&nbsp;|&nbsp;</li>
<li>构造器&nbsp;|&nbsp;</li>
<li><a href="#method.detail">方法</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>