Files
redkale/javadoc/org.redkale/org/redkale/annotation/ResourceChanged.html
2024-06-12 15:26:59 +08:00

302 lines
11 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>
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (11.0.18) on Wed Jun 12 15:24:51 CST 2024 -->
<title>ResourceChanged (RedkaleProject 2.8.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-06-12">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ResourceChanged (RedkaleProject 2.8.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>您的浏览器已禁用 JavaScript。</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="跳过导航链接">跳过导航链接</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../module-summary.html">模块</a></li>
<li><a href="package-summary.html">程序包</a></li>
<li class="navBarCell1Rev"></li>
<li><a href="class-use/ResourceChanged.html">使用</a></li>
<li><a href="package-tree.html"></a></li>
<li><a href="../../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../../index-all.html">索引</a></li>
<li><a href="../../../../help-doc.html">帮助</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">所有类</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>您的浏览器已禁用 JavaScript。</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>概要:&nbsp;</li>
<li>字段&nbsp;|&nbsp;</li>
<li>必需&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">可选</a></li>
</ul>
<ul class="subNavList">
<li>详细资料:&nbsp;</li>
<li>字段&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">元素</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="moduleLabelInType">模块</span>&nbsp;<a href="../../../module-summary.html">org.redkale</a></div>
<div class="subTitle"><span class="packageLabelInType">程序包</span>&nbsp;<a href="package-summary.html">org.redkale.annotation</a></div>
<h2 title="注释类型 ResourceChanged" class="title">注释类型 ResourceChanged</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/annotation/Documented.html?is-external=true" title="java.lang.annotation中的类或接口" class="externalLink">@Documented</a>
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/annotation/Target.html?is-external=true" title="java.lang.annotation中的类或接口" class="externalLink">@Target</a>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="java.lang.annotation中的类或接口" class="externalLink">METHOD</a>)
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/annotation/Retention.html?is-external=true" title="java.lang.annotation中的类或接口" class="externalLink">@Retention</a>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="java.lang.annotation中的类或接口" class="externalLink">RUNTIME</a>)
public @interface <span class="memberNameLabel">ResourceChanged</span></pre>
<div class="block">&#64;Resource资源被更新时的监听事件, 本注解只能标记在方法参数为ResourceEvent[]上 <br>
注意: 一个类只能存在一个&#64;ResourceChanged的方法 多余的会被忽略 <br>
方法在资源被更新以后调用。
<blockquote>
<pre>
public class RecordService implements Service {
&#64;Resource(name = "record.id")
private int id;
&#64;Resource(name = "record.name")
private String name;
&#64;ResourceChanged
private void changeResource(ResourceEvent[] events) {
for(ResourceEvent event : events) {
System.out .println("@Resource = " + event.name() + " 资源变更: newVal = " + event.newValue() + ", oldVal = " + event.oldValue());
}
}
public static void main(String[] args) throws Exception {
ResourceFactory factory = ResourceFactory.create();
factory.register("record.id", "2345");
factory.register("record.name", "my old name");
Record record = new Record();
factory.inject(record);
factory.register("record.name", "my new name");
}
}
</pre>
</blockquote>
<p>详情见: https://redkale.org</div>
<dl>
<dt><span class="simpleTagLabel">作者:</span></dt>
<dd>zhangjx</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="annotation.type.optional.element.summary">
<!-- -->
</a>
<h3>可选元素概要</h3>
<table class="memberSummary">
<caption><span>可选元素</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">修饰符和类型</th>
<th class="colSecond" scope="col">可选元素</th>
<th class="colLast" scope="col">说明</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#different()">different</a></span></code></th>
<td class="colLast">
<div class="block">新旧值是否不同时才回调方法 <br>
true: 新值与旧值不同时才回调ResourceChanged方法 false: 只要执行了ResourceFactory.register 就回调ResourceChanged方法</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="annotation.type.element.detail">
<!-- -->
</a>
<h3>元素详细资料</h3>
<a id="different()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>different</h4>
<pre>boolean&nbsp;different</pre>
<div class="block">新旧值是否不同时才回调方法 <br>
true: 新值与旧值不同时才回调ResourceChanged方法 false: 只要执行了ResourceFactory.register 就回调ResourceChanged方法</div>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>boolean</dd>
<dt><span class="simpleTagLabel">从以下版本开始:</span></dt>
<dd>2.7.0</dd>
</dl>
<dl>
<dt>默认值:</dt>
<dd>true</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="跳过导航链接">跳过导航链接</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../module-summary.html">模块</a></li>
<li><a href="package-summary.html">程序包</a></li>
<li class="navBarCell1Rev"></li>
<li><a href="class-use/ResourceChanged.html">使用</a></li>
<li><a href="package-tree.html"></a></li>
<li><a href="../../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../../index-all.html">索引</a></li>
<li><a href="../../../../help-doc.html">帮助</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.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>
<noscript>
<div>您的浏览器已禁用 JavaScript。</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>概要:&nbsp;</li>
<li>字段&nbsp;|&nbsp;</li>
<li>必需&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">可选</a></li>
</ul>
<ul class="subNavList">
<li>详细资料:&nbsp;</li>
<li>字段&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">元素</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2024. All rights reserved.</small></p>
</footer>
</body>
</html>