forked from plusone/plusone-commons
新增 DefinedIn 注解。
parent
0b968e2c7b
commit
b547642e5e
25
pom.xml
25
pom.xml
|
@ -132,4 +132,29 @@
|
|||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>aliyun</id>
|
||||
<url>https://maven.aliyun.com/repository/public</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
<id>aliyun-plugin</id>
|
||||
<url>https://maven.aliyun.com/repository/public</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
</project>
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
package xyz.zhouxy.plusone.commons.annotation;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Target(ElementType.METHOD)
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface DefinedIn {
|
||||
Class<?>[] value();
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package xyz.zhouxy.plusone.commons.annotation;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
class ExplicitImplTest {
|
||||
|
||||
@Test
|
||||
void test() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
interface A {
|
||||
|
||||
void fooA();
|
||||
|
||||
void fooAll();
|
||||
}
|
||||
|
||||
interface B {
|
||||
|
||||
void fooB();
|
||||
|
||||
void fooAll();
|
||||
}
|
||||
|
||||
class C implements A, B {
|
||||
|
||||
@DefinedIn(A.class)
|
||||
@Override
|
||||
public void fooA() {
|
||||
}
|
||||
|
||||
@DefinedIn(B.class)
|
||||
@Override
|
||||
public void fooB() {
|
||||
}
|
||||
|
||||
@DefinedIn({ A.class, B.class })
|
||||
@Override
|
||||
public void fooAll() {
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue