<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (18) -->
<title>Source code</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="source: package: org.apache.juneau.annotation, class: MarshalledAnnotation, class: Applier">
<meta name="generator" content="javadoc/SourceToHTMLConverter">
<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">
</head>
<body class="source-page">
<main role="main">
<div class="source-container">
<pre><span class="source-line-no">001</span><span id="line-1">// ***************************************************************************************************************************</span>
<span class="source-line-no">002</span><span id="line-2">// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *</span>
<span class="source-line-no">003</span><span id="line-3">// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *</span>
<span class="source-line-no">004</span><span id="line-4">// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *</span>
<span class="source-line-no">005</span><span id="line-5">// * with the License.  You may obtain a copy of the License at                                                              *</span>
<span class="source-line-no">006</span><span id="line-6">// *                                                                                                                         *</span>
<span class="source-line-no">007</span><span id="line-7">// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *</span>
<span class="source-line-no">008</span><span id="line-8">// *                                                                                                                         *</span>
<span class="source-line-no">009</span><span id="line-9">// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *</span>
<span class="source-line-no">010</span><span id="line-10">// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *</span>
<span class="source-line-no">011</span><span id="line-11">// * specific language governing permissions and limitations under the License.                                              *</span>
<span class="source-line-no">012</span><span id="line-12">// ***************************************************************************************************************************</span>
<span class="source-line-no">013</span><span id="line-13">package org.apache.juneau.annotation;</span>
<span class="source-line-no">014</span><span id="line-14"></span>
<span class="source-line-no">015</span><span id="line-15">import static java.lang.annotation.ElementType.*;</span>
<span class="source-line-no">016</span><span id="line-16">import static java.lang.annotation.RetentionPolicy.*;</span>
<span class="source-line-no">017</span><span id="line-17">import static org.apache.juneau.internal.ArrayUtils.*;</span>
<span class="source-line-no">018</span><span id="line-18"></span>
<span class="source-line-no">019</span><span id="line-19">import java.lang.annotation.*;</span>
<span class="source-line-no">020</span><span id="line-20"></span>
<span class="source-line-no">021</span><span id="line-21">import org.apache.juneau.*;</span>
<span class="source-line-no">022</span><span id="line-22">import org.apache.juneau.reflect.*;</span>
<span class="source-line-no">023</span><span id="line-23">import org.apache.juneau.svl.*;</span>
<span class="source-line-no">024</span><span id="line-24"></span>
<span class="source-line-no">025</span><span id="line-25">/**</span>
<span class="source-line-no">026</span><span id="line-26"> * Utility classes and methods for the {@link Marshalled @Marshalled} annotation.</span>
<span class="source-line-no">027</span><span id="line-27"> *</span>
<span class="source-line-no">028</span><span id="line-28"> * &lt;h5 class='section'&gt;See Also:&lt;/h5&gt;&lt;ul&gt;</span>
<span class="source-line-no">029</span><span id="line-29"> * &lt;/ul&gt;</span>
<span class="source-line-no">030</span><span id="line-30"> */</span>
<span class="source-line-no">031</span><span id="line-31">public class MarshalledAnnotation {</span>
<span class="source-line-no">032</span><span id="line-32"></span>
<span class="source-line-no">033</span><span id="line-33">   //-----------------------------------------------------------------------------------------------------------------</span>
<span class="source-line-no">034</span><span id="line-34">   // Static</span>
<span class="source-line-no">035</span><span id="line-35">   //-----------------------------------------------------------------------------------------------------------------</span>
<span class="source-line-no">036</span><span id="line-36"></span>
<span class="source-line-no">037</span><span id="line-37">   /** Default value */</span>
<span class="source-line-no">038</span><span id="line-38">   public static final Marshalled DEFAULT = create().build();</span>
<span class="source-line-no">039</span><span id="line-39"></span>
<span class="source-line-no">040</span><span id="line-40">   /**</span>
<span class="source-line-no">041</span><span id="line-41">    * Instantiates a new builder for this class.</span>
<span class="source-line-no">042</span><span id="line-42">    *</span>
<span class="source-line-no">043</span><span id="line-43">    * @return A new builder object.</span>
<span class="source-line-no">044</span><span id="line-44">    */</span>
<span class="source-line-no">045</span><span id="line-45">   public static Builder create() {</span>
<span class="source-line-no">046</span><span id="line-46">      return new Builder();</span>
<span class="source-line-no">047</span><span id="line-47">   }</span>
<span class="source-line-no">048</span><span id="line-48"></span>
<span class="source-line-no">049</span><span id="line-49">   /**</span>
<span class="source-line-no">050</span><span id="line-50">    * Instantiates a new builder for this class.</span>
<span class="source-line-no">051</span><span id="line-51">    *</span>
<span class="source-line-no">052</span><span id="line-52">    * @param on The targets this annotation applies to.</span>
<span class="source-line-no">053</span><span id="line-53">    * @return A new builder object.</span>
<span class="source-line-no">054</span><span id="line-54">    */</span>
<span class="source-line-no">055</span><span id="line-55">   public static Builder create(Class&lt;?&gt;...on) {</span>
<span class="source-line-no">056</span><span id="line-56">      return create().on(on);</span>
<span class="source-line-no">057</span><span id="line-57">   }</span>
<span class="source-line-no">058</span><span id="line-58"></span>
<span class="source-line-no">059</span><span id="line-59">   /**</span>
<span class="source-line-no">060</span><span id="line-60">    * Instantiates a new builder for this class.</span>
<span class="source-line-no">061</span><span id="line-61">    *</span>
<span class="source-line-no">062</span><span id="line-62">    * @param on The targets this annotation applies to.</span>
<span class="source-line-no">063</span><span id="line-63">    * @return A new builder object.</span>
<span class="source-line-no">064</span><span id="line-64">    */</span>
<span class="source-line-no">065</span><span id="line-65">   public static Builder create(String...on) {</span>
<span class="source-line-no">066</span><span id="line-66">      return create().on(on);</span>
<span class="source-line-no">067</span><span id="line-67">   }</span>
<span class="source-line-no">068</span><span id="line-68"></span>
<span class="source-line-no">069</span><span id="line-69">   /**</span>
<span class="source-line-no">070</span><span id="line-70">    * Creates a copy of the specified annotation.</span>
<span class="source-line-no">071</span><span id="line-71">    *</span>
<span class="source-line-no">072</span><span id="line-72">    * @param a The annotation to copy.s</span>
<span class="source-line-no">073</span><span id="line-73">    * @param r The var resolver for resolving any variables.</span>
<span class="source-line-no">074</span><span id="line-74">    * @return A copy of the specified annotation.</span>
<span class="source-line-no">075</span><span id="line-75">    */</span>
<span class="source-line-no">076</span><span id="line-76">   public static Marshalled copy(Marshalled a, VarResolverSession r) {</span>
<span class="source-line-no">077</span><span id="line-77">      return</span>
<span class="source-line-no">078</span><span id="line-78">         create()</span>
<span class="source-line-no">079</span><span id="line-79">         .example(r.resolve(a.example()))</span>
<span class="source-line-no">080</span><span id="line-80">         .implClass(a.implClass())</span>
<span class="source-line-no">081</span><span id="line-81">         .on(r.resolve(a.on()))</span>
<span class="source-line-no">082</span><span id="line-82">         .onClass(a.onClass())</span>
<span class="source-line-no">083</span><span id="line-83">         .build();</span>
<span class="source-line-no">084</span><span id="line-84">   }</span>
<span class="source-line-no">085</span><span id="line-85"></span>
<span class="source-line-no">086</span><span id="line-86">   //-----------------------------------------------------------------------------------------------------------------</span>
<span class="source-line-no">087</span><span id="line-87">   // Builder</span>
<span class="source-line-no">088</span><span id="line-88">   //-----------------------------------------------------------------------------------------------------------------</span>
<span class="source-line-no">089</span><span id="line-89"></span>
<span class="source-line-no">090</span><span id="line-90">   /**</span>
<span class="source-line-no">091</span><span id="line-91">    * Builder class.</span>
<span class="source-line-no">092</span><span id="line-92">    *</span>
<span class="source-line-no">093</span><span id="line-93">    * &lt;h5 class='section'&gt;See Also:&lt;/h5&gt;&lt;ul&gt;</span>
<span class="source-line-no">094</span><span id="line-94">    *    &lt;li class='jm'&gt;{@link org.apache.juneau.BeanContext.Builder#annotations(Annotation...)}</span>
<span class="source-line-no">095</span><span id="line-95">    * &lt;/ul&gt;</span>
<span class="source-line-no">096</span><span id="line-96">    */</span>
<span class="source-line-no">097</span><span id="line-97">   public static class Builder extends TargetedAnnotationTBuilder {</span>
<span class="source-line-no">098</span><span id="line-98"></span>
<span class="source-line-no">099</span><span id="line-99">      Class&lt;?&gt; implClass=void.class;</span>
<span class="source-line-no">100</span><span id="line-100">      String example="";</span>
<span class="source-line-no">101</span><span id="line-101"></span>
<span class="source-line-no">102</span><span id="line-102">      /**</span>
<span class="source-line-no">103</span><span id="line-103">       * Constructor.</span>
<span class="source-line-no">104</span><span id="line-104">       */</span>
<span class="source-line-no">105</span><span id="line-105">      protected Builder() {</span>
<span class="source-line-no">106</span><span id="line-106">         super(Marshalled.class);</span>
<span class="source-line-no">107</span><span id="line-107">      }</span>
<span class="source-line-no">108</span><span id="line-108"></span>
<span class="source-line-no">109</span><span id="line-109">      /**</span>
<span class="source-line-no">110</span><span id="line-110">       * Instantiates a new {@link Marshalled @Marshalled} object initialized with this builder.</span>
<span class="source-line-no">111</span><span id="line-111">       *</span>
<span class="source-line-no">112</span><span id="line-112">       * @return A new {@link Marshalled @Marshalled} object.</span>
<span class="source-line-no">113</span><span id="line-113">       */</span>
<span class="source-line-no">114</span><span id="line-114">      public Marshalled build() {</span>
<span class="source-line-no">115</span><span id="line-115">         return new Impl(this);</span>
<span class="source-line-no">116</span><span id="line-116">      }</span>
<span class="source-line-no">117</span><span id="line-117"></span>
<span class="source-line-no">118</span><span id="line-118">      /**</span>
<span class="source-line-no">119</span><span id="line-119">       * Sets the {@link Marshalled#example()} property on this annotation.</span>
<span class="source-line-no">120</span><span id="line-120">       *</span>
<span class="source-line-no">121</span><span id="line-121">       * @param value The new value for this property.</span>
<span class="source-line-no">122</span><span id="line-122">       * @return This object.</span>
<span class="source-line-no">123</span><span id="line-123">       */</span>
<span class="source-line-no">124</span><span id="line-124">      public Builder example(String value) {</span>
<span class="source-line-no">125</span><span id="line-125">         this.example = value;</span>
<span class="source-line-no">126</span><span id="line-126">         return this;</span>
<span class="source-line-no">127</span><span id="line-127">      }</span>
<span class="source-line-no">128</span><span id="line-128"></span>
<span class="source-line-no">129</span><span id="line-129">      /**</span>
<span class="source-line-no">130</span><span id="line-130">       * Sets the {@link Marshalled#implClass()} property on this annotation.</span>
<span class="source-line-no">131</span><span id="line-131">       *</span>
<span class="source-line-no">132</span><span id="line-132">       * @param value The new value for this property.</span>
<span class="source-line-no">133</span><span id="line-133">       * @return This object.</span>
<span class="source-line-no">134</span><span id="line-134">       */</span>
<span class="source-line-no">135</span><span id="line-135">      public Builder implClass(Class&lt;?&gt; value) {</span>
<span class="source-line-no">136</span><span id="line-136">         this.implClass = value;</span>
<span class="source-line-no">137</span><span id="line-137">         return this;</span>
<span class="source-line-no">138</span><span id="line-138">      }</span>
<span class="source-line-no">139</span><span id="line-139"></span>
<span class="source-line-no">140</span><span id="line-140">      // &lt;FluentSetters&gt;</span>
<span class="source-line-no">141</span><span id="line-141"></span>
<span class="source-line-no">142</span><span id="line-142">      @Override /* GENERATED - TargetedAnnotationBuilder */</span>
<span class="source-line-no">143</span><span id="line-143">      public Builder on(String...values) {</span>
<span class="source-line-no">144</span><span id="line-144">         super.on(values);</span>
<span class="source-line-no">145</span><span id="line-145">         return this;</span>
<span class="source-line-no">146</span><span id="line-146">      }</span>
<span class="source-line-no">147</span><span id="line-147"></span>
<span class="source-line-no">148</span><span id="line-148">      @Override /* GENERATED - TargetedAnnotationTBuilder */</span>
<span class="source-line-no">149</span><span id="line-149">      public Builder on(java.lang.Class&lt;?&gt;...value) {</span>
<span class="source-line-no">150</span><span id="line-150">         super.on(value);</span>
<span class="source-line-no">151</span><span id="line-151">         return this;</span>
<span class="source-line-no">152</span><span id="line-152">      }</span>
<span class="source-line-no">153</span><span id="line-153"></span>
<span class="source-line-no">154</span><span id="line-154">      @Override /* GENERATED - TargetedAnnotationTBuilder */</span>
<span class="source-line-no">155</span><span id="line-155">      public Builder onClass(java.lang.Class&lt;?&gt;...value) {</span>
<span class="source-line-no">156</span><span id="line-156">         super.onClass(value);</span>
<span class="source-line-no">157</span><span id="line-157">         return this;</span>
<span class="source-line-no">158</span><span id="line-158">      }</span>
<span class="source-line-no">159</span><span id="line-159"></span>
<span class="source-line-no">160</span><span id="line-160">      // &lt;/FluentSetters&gt;</span>
<span class="source-line-no">161</span><span id="line-161">   }</span>
<span class="source-line-no">162</span><span id="line-162"></span>
<span class="source-line-no">163</span><span id="line-163">   //-----------------------------------------------------------------------------------------------------------------</span>
<span class="source-line-no">164</span><span id="line-164">   // Implementation</span>
<span class="source-line-no">165</span><span id="line-165">   //-----------------------------------------------------------------------------------------------------------------</span>
<span class="source-line-no">166</span><span id="line-166"></span>
<span class="source-line-no">167</span><span id="line-167">   private static class Impl extends TargetedAnnotationTImpl implements Marshalled {</span>
<span class="source-line-no">168</span><span id="line-168"></span>
<span class="source-line-no">169</span><span id="line-169">      private final Class&lt;?&gt; implClass;</span>
<span class="source-line-no">170</span><span id="line-170">      private final String example;</span>
<span class="source-line-no">171</span><span id="line-171"></span>
<span class="source-line-no">172</span><span id="line-172">      Impl(Builder b) {</span>
<span class="source-line-no">173</span><span id="line-173">         super(b);</span>
<span class="source-line-no">174</span><span id="line-174">         this.example = b.example;</span>
<span class="source-line-no">175</span><span id="line-175">         this.implClass = b.implClass;</span>
<span class="source-line-no">176</span><span id="line-176">         postConstruct();</span>
<span class="source-line-no">177</span><span id="line-177">      }</span>
<span class="source-line-no">178</span><span id="line-178"></span>
<span class="source-line-no">179</span><span id="line-179">      @Override /* Marshalled */</span>
<span class="source-line-no">180</span><span id="line-180">      public String example() {</span>
<span class="source-line-no">181</span><span id="line-181">         return example;</span>
<span class="source-line-no">182</span><span id="line-182">      }</span>
<span class="source-line-no">183</span><span id="line-183"></span>
<span class="source-line-no">184</span><span id="line-184">      @Override /* Marshalled */</span>
<span class="source-line-no">185</span><span id="line-185">      public Class&lt;?&gt; implClass() {</span>
<span class="source-line-no">186</span><span id="line-186">         return implClass;</span>
<span class="source-line-no">187</span><span id="line-187">      }</span>
<span class="source-line-no">188</span><span id="line-188">   }</span>
<span class="source-line-no">189</span><span id="line-189"></span>
<span class="source-line-no">190</span><span id="line-190">   //-----------------------------------------------------------------------------------------------------------------</span>
<span class="source-line-no">191</span><span id="line-191">   // Appliers</span>
<span class="source-line-no">192</span><span id="line-192">   //-----------------------------------------------------------------------------------------------------------------</span>
<span class="source-line-no">193</span><span id="line-193"></span>
<span class="source-line-no">194</span><span id="line-194">   /**</span>
<span class="source-line-no">195</span><span id="line-195">    * Applies targeted {@link Marshalled} annotations to a {@link org.apache.juneau.BeanContext.Builder}.</span>
<span class="source-line-no">196</span><span id="line-196">    */</span>
<span class="source-line-no">197</span><span id="line-197">   public static class Applier extends AnnotationApplier&lt;Marshalled,BeanContext.Builder&gt; {</span>
<span class="source-line-no">198</span><span id="line-198"></span>
<span class="source-line-no">199</span><span id="line-199">      /**</span>
<span class="source-line-no">200</span><span id="line-200">       * Constructor.</span>
<span class="source-line-no">201</span><span id="line-201">       *</span>
<span class="source-line-no">202</span><span id="line-202">       * @param vr The resolver for resolving values in annotations.</span>
<span class="source-line-no">203</span><span id="line-203">       */</span>
<span class="source-line-no">204</span><span id="line-204">      public Applier(VarResolverSession vr) {</span>
<span class="source-line-no">205</span><span id="line-205">         super(Marshalled.class, BeanContext.Builder.class, vr);</span>
<span class="source-line-no">206</span><span id="line-206">      }</span>
<span class="source-line-no">207</span><span id="line-207"></span>
<span class="source-line-no">208</span><span id="line-208">      @Override</span>
<span class="source-line-no">209</span><span id="line-209">      public void apply(AnnotationInfo&lt;Marshalled&gt; ai, BeanContext.Builder b) {</span>
<span class="source-line-no">210</span><span id="line-210">         Marshalled a = ai.inner();</span>
<span class="source-line-no">211</span><span id="line-211">         if (isEmptyArray(a.on(), a.onClass()))</span>
<span class="source-line-no">212</span><span id="line-212">            return;</span>
<span class="source-line-no">213</span><span id="line-213">         b.annotations(copy(a, vr()));</span>
<span class="source-line-no">214</span><span id="line-214">      }</span>
<span class="source-line-no">215</span><span id="line-215">   }</span>
<span class="source-line-no">216</span><span id="line-216"></span>
<span class="source-line-no">217</span><span id="line-217">   //-----------------------------------------------------------------------------------------------------------------</span>
<span class="source-line-no">218</span><span id="line-218">   // Other</span>
<span class="source-line-no">219</span><span id="line-219">   //-----------------------------------------------------------------------------------------------------------------</span>
<span class="source-line-no">220</span><span id="line-220"></span>
<span class="source-line-no">221</span><span id="line-221">   /**</span>
<span class="source-line-no">222</span><span id="line-222">    * A collection of {@link Marshalled @Marshalled annotations}.</span>
<span class="source-line-no">223</span><span id="line-223">    */</span>
<span class="source-line-no">224</span><span id="line-224">   @Documented</span>
<span class="source-line-no">225</span><span id="line-225">   @Target({METHOD,TYPE})</span>
<span class="source-line-no">226</span><span id="line-226">   @Retention(RUNTIME)</span>
<span class="source-line-no">227</span><span id="line-227">   @Inherited</span>
<span class="source-line-no">228</span><span id="line-228">   public static @interface Array {</span>
<span class="source-line-no">229</span><span id="line-229"></span>
<span class="source-line-no">230</span><span id="line-230">      /**</span>
<span class="source-line-no">231</span><span id="line-231">       * The child annotations.</span>
<span class="source-line-no">232</span><span id="line-232">       *</span>
<span class="source-line-no">233</span><span id="line-233">       * @return The annotation value.</span>
<span class="source-line-no">234</span><span id="line-234">       */</span>
<span class="source-line-no">235</span><span id="line-235">      Marshalled[] value();</span>
<span class="source-line-no">236</span><span id="line-236">   }</span>
<span class="source-line-no">237</span><span id="line-237">}</span>




























































</pre>
</div>
</main>
</body>
</html>
