當前位置: 首頁>>代碼示例>>Java>>正文


Java Method.getDefaultValue方法代碼示例

本文整理匯總了Java中java.lang.reflect.Method.getDefaultValue方法的典型用法代碼示例。如果您正苦於以下問題:Java Method.getDefaultValue方法的具體用法?Java Method.getDefaultValue怎麽用?Java Method.getDefaultValue使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在java.lang.reflect.Method的用法示例。


在下文中一共展示了Method.getDefaultValue方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: setDefaults

import java.lang.reflect.Method; //導入方法依賴的package包/類
private static void setDefaults(HashMap map, Class annotationClass)
{
    for (Method m : annotationClass.getDeclaredMethods())
    {
        Object defaultValue = m.getDefaultValue();
        // TODO throw exception if default is missing for method that doesn't yet have a value
        if (defaultValue != null && !map.containsKey(m.getName()))
        {
            map.put(m.getName(), defaultValue);
        }
    }
}
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:13,代碼來源:AnnotationAttributeBase.java

示例2: isAllDefaultMethods

import java.lang.reflect.Method; //導入方法依賴的package包/類
public static boolean isAllDefaultMethods(Class<? extends Annotation> annotationType) {
  boolean hasMethods = false;
  for (Method m : annotationType.getDeclaredMethods()) {
    hasMethods = true;
    if (m.getDefaultValue() == null) {
      return false;
    }
  }
  return hasMethods;
}
 
開發者ID:maetrive,項目名稱:businessworks,代碼行數:11,代碼來源:Annotations.java

示例3: invoke

import java.lang.reflect.Method; //導入方法依賴的package包/類
@SuppressWarnings("unchecked")
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {

    if(method.getDeclaringClass()==JAnnotationWriter.class) {
        try {
            return method.invoke(this,args);
        } catch (InvocationTargetException e) {
            throw e.getTargetException();
        }
    }

    String name = method.getName();
    Object arg=null;
    if(args!=null && args.length>0)
        arg = args[0];

    // check how it's defined on the annotation
    Method m = annotation.getDeclaredMethod(name);
    Class<?> rt = m.getReturnType();

    // array value
    if(rt.isArray()) {
        return addArrayValue(proxy,name,rt.getComponentType(),method.getReturnType(),arg);
    }

    // sub annotation
    if(Annotation.class.isAssignableFrom(rt)) {
        Class<? extends Annotation> r = (Class<? extends Annotation>)rt;
        return new TypedAnnotationWriter(
            r,method.getReturnType(),use.annotationParam(name,r)).createProxy();
    }

    // scalar value

    if(arg instanceof JType) {
        JType targ = (JType) arg;
        checkType(Class.class,rt);
        if(m.getDefaultValue()!=null) {
            // check the default
            if(targ.equals(targ.owner().ref((Class)m.getDefaultValue())))
                return proxy;   // defaulted
        }
        use.param(name,targ);
        return proxy;
    }

    // other Java built-in types
    checkType(arg.getClass(),rt);
    if(m.getDefaultValue()!=null && m.getDefaultValue().equals(arg))
        // defaulted. no need to write out.
        return proxy;

    if(arg instanceof String) {
        use.param(name,(String)arg);
        return proxy;
    }
    if(arg instanceof Boolean) {
        use.param(name,(Boolean)arg);
        return proxy;
    }
    if(arg instanceof Integer) {
        use.param(name,(Integer)arg);
        return proxy;
    }
    if(arg instanceof Class) {
        use.param(name,(Class)arg);
        return proxy;
    }
    if(arg instanceof Enum) {
        use.param(name,(Enum)arg);
        return proxy;
    }

    throw new IllegalArgumentException("Unable to handle this method call "+method.toString());
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:76,代碼來源:TypedAnnotationWriter.java

示例4: getDefaultSizeOfRandom

import java.lang.reflect.Method; //導入方法依賴的package包/類
public static int getDefaultSizeOfRandom() throws Exception {
  Class<?> clazz = Random.class;
  Method method = clazz.getDeclaredMethod("size");
  return (Integer) method.getDefaultValue();
}
 
開發者ID:glytching,項目名稱:junit-extensions,代碼行數:6,代碼來源:AssertionUtil.java


注:本文中的java.lang.reflect.Method.getDefaultValue方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。