mirror of
https://github.com/HighCapable/KavaRef.git
synced 2025-09-06 02:35:21 +08:00
2 lines
4.0 KiB
JavaScript
2 lines
4.0 KiB
JavaScript
import{_ as i,r,o as s,c as l,b as o,d as e,e as a,a as n}from"./app-mh6GuRj9.js";const c={},d=o("h1",{id:"introduction",tabindex:"-1"},[o("a",{class:"header-anchor",href:"#introduction","aria-hidden":"true"},"#"),e(" Introduction")],-1),u=o("blockquote",null,[o("p",null,[o("code",null,"KavaRef"),e(" is a modern Java reflection API implemented using Kotlin.")])],-1),h=o("h2",{id:"background",tabindex:"-1"},[o("a",{class:"header-anchor",href:"#background","aria-hidden":"true"},"#"),e(" Background")],-1),f=o("p",null,"This is a modern Java reflection API implemented using Kotlin, designed to provide a cleaner and easier-to-use API while retaining the power of Java reflection.",-1),p={href:"https://github.com/Lagrio",target:"_blank",rel:"noopener noreferrer"},m=o("strong",null,"K",-1),g=o("strong",null,"avaRef",-1),b={href:"https://github.com/HighCapable/YukiHookAPI",target:"_blank",rel:"noopener noreferrer"},_={href:"https://github.com/HighCapable/YukiReflection",target:"_blank",rel:"noopener noreferrer"},k=n('<p>As you can see, <code>KavaRef</code> is now a completely new set of APIs, completely refactored with the design ideas of <code>YukiReflection</code>, which has no affiliation and will replace <code>YukiReflection</code> as a new reflection solution.</p><p>If you are using <code>YukiReflection</code> or the <code>YukiHookAPI</code> project related to it, you can refer to <a href="../config/migration">here</a> to migrate the reflection API to <code>KavaRef</code>.</p><h2 id="usage" tabindex="-1"><a class="header-anchor" href="#usage" aria-hidden="true">#</a> Usage</h2><p><code>KavaRef</code> is built with Kotlin <strong>lambda</strong> syntax in a Java Builder style.</p>',4),v={href:"https://www.oracle.com/technical-resources/articles/java/javareflection.html",target:"_blank",rel:"noopener noreferrer"},y=n('<h2 id="skill-requirements" tabindex="-1"><a class="header-anchor" href="#skill-requirements" aria-hidden="true">#</a> Skill Requirements</h2><p>You should be proficient with Java's native reflection APIs, understand Java's class loading mechanisms, bytecode structures, and how they are used in Kotlin (if you are using Kotlin).</p><h2 id="language-requirement" tabindex="-1"><a class="header-anchor" href="#language-requirement" aria-hidden="true">#</a> Language Requirement</h2><p>It is recommended to use Kotlin. API composition also supports Java, but in pure Java projects, <code>KavaRef</code> may not be able to demonstrate its full functionality and syntactic sugar advantages.</p><p>All the demo sample code in the documentation will be described using Kotlin first. If you don't know how to use Kotlin at all, you may not be able to fully experience and use the functionality of <code>KavaRef</code>.</p><h2 id="contribution" tabindex="-1"><a class="header-anchor" href="#contribution" aria-hidden="true">#</a> Contribution</h2><p>The maintenance of this project is inseparable from the support and contributions of all developers.</p><p>This project is currently in its early stages, and there may still be some problems or lack of functions you need.</p>',8),I={href:"https://github.com/HighCapable/KavaRef/issues",target:"_blank",rel:"noopener noreferrer"};function w(K,R){const t=r("ExternalLinkIcon");return s(),l("div",null,[d,u,h,f,o("p",null,[e("The project icon is designed by "),o("a",p,[e("MaiTungTM"),a(t)]),e(" and is named from "),m,e("otlinJ"),g,e("lection, meaning Java reflection implemented using Kotlin.")]),o("p",null,[e("It was first born in the "),o("a",b,[e("YukiHookAPI"),a(t)]),e(", and was later decoupled into the "),o("a",_,[e("YukiReflection"),a(t)]),e(" project.")]),k,o("p",null,[e("It can replace "),o("a",v,[e("Java's native Reflection API"),a(t)]),e(" and implement a more complete reflection solution with a more human-friendly language.")]),y,o("p",null,[e("If possible, feel free to submit a PR to contribute features you think are needed to this project or go to "),o("a",I,[e("GitHub Issues"),a(t)]),e(" to make suggestions to us.")])])}const A=i(c,[["render",w],["__file","home.html.vue"]]);export{A as default};
|