|
@@ -0,0 +1,71 @@
|
|
|
|
|
+/*
|
|
|
|
|
+ * @author Ranides Atterwim <ranides@gmail.com>
|
|
|
|
|
+ * @copyright Ranides Atterwim
|
|
|
|
|
+ * @license WTFPL
|
|
|
|
|
+ * @url http://ranides.net/projects/assira
|
|
|
|
|
+ */
|
|
|
|
|
+package net.ranides.assira.reflection;
|
|
|
|
|
+
|
|
|
|
|
+import java.beans.MethodDescriptor;
|
|
|
|
|
+import java.lang.annotation.Annotation;
|
|
|
|
|
+import java.lang.invoke.MethodHandle;
|
|
|
|
|
+import java.lang.reflect.Method;
|
|
|
|
|
+import java.util.Set;
|
|
|
|
|
+import java.util.function.Predicate;
|
|
|
|
|
+import net.ranides.assira.collection.query.CQuery;
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ *
|
|
|
|
|
+ * @author Ranides Atterwim <ranides@gmail.com>
|
|
|
|
|
+ */
|
|
|
|
|
+public interface BeanMethods extends IElements<BeanMethod> {
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods require(Predicate<? super BeanMethod> predicate);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods require(IAnnotations annotations);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods require(Class<? extends Annotation> annotation);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods require(IAttribute attribute);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods require(Set<IAttribute> attributes);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods require(String name);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods require(IClass returns);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods require(IArguments arguments);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods discard(Predicate<? super BeanMethod> predicate);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods discard(IAnnotations annotations);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods discard(Class<? extends Annotation> annotation);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods discard(IAttribute attribute);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods discard(Set<IAttribute> attributes);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods discard(String name);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods discard(IClass returns);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods discard(IArguments arguments);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods matches(IClasses arguments);
|
|
|
|
|
+
|
|
|
|
|
+ BeanMethods accepts(Object... arguments);
|
|
|
|
|
+
|
|
|
|
|
+ IClasses returns();
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ IClasses parent();
|
|
|
|
|
+
|
|
|
|
|
+ CQuery<Method> reflective();
|
|
|
|
|
+
|
|
|
|
|
+ CQuery<BeanModel> model();
|
|
|
|
|
+
|
|
|
|
|
+ CQuery<MethodDescriptor> descriptor();
|
|
|
|
|
+
|
|
|
|
|
+ CQuery<MethodHandle> handle();
|
|
|
|
|
+}
|