Type extends ModelBase { public boolean hasStaticMethod(String overloadName) { Class<?> clazz = tryGetReflectionClass(); if (clazz==null) throw new RuntimeException("No detailed information available about "+getQualifiedName()); final int reqModifierFlags = java.lang.reflect.Modifier.STATIC; final int reqNotModifierFlags = java.lang.reflect.Modifier.PRIVATE; return Arrays.stream(clazz.getMethods()).anyMatch(m -> matchingOverloads(getReflectionOverloadName(m, true), overloadName, false) && ((m.getModifiers() & reqModifierFlags)==reqModifierFlags) && ((m.getModifiers() & reqNotModifierFlags)==0)); } protected  Type(BasicClazz optClazzUsingType, String qualifiedProtoTypicalTypeName); abstract Type copy(BasicClazz optClazzUsingType); @Override Configuration getConfiguration(); @Override BasicClazz getClazz(); @Override String getPackageName(); String getQualifiedName(); String getPrototypicalQualifiedName(); abstract boolean isInImportScope(); String getName(); String getSimpleName(); String getPrototypicalName(); String getWrapperName(); boolean isRootObject(); boolean isPrimitive(); boolean isVoid(); boolean isPrimitiveByte(); boolean isPrimitiveBoolean(); boolean isPrimitiveChar(); boolean isPrimitiveShort(); boolean isPrimitiveInt(); boolean isPrimitiveLong(); boolean isPrimitiveFloat(); boolean isPrimitiveDouble(); boolean isArray(); boolean isObject(); boolean isMultiDimensionalArray(); DetailLevel getDetailLevel(); boolean canBeMoreDetailed(); boolean isCollection(); boolean isThisType(); boolean isThisSuperType(); abstract TypeCategory getTypeCategory(); final boolean isExactType(String classOrInterfaceName); final boolean isExactType(Class<?> _class); final boolean isExactQualifiedType(String qualifiedClassOrInterfaceName); final boolean isOfType(String classOrInterfaceName); final boolean isOfType(Class<?> _class); boolean isOfQualifiedType(String qualifiedClassOrInterfaceName); boolean hasStaticMethod(String overloadName); boolean hasInstanceMethod(String overloadName); boolean hasStaticMember(String name); boolean hasInstanceMember(String name); @Override int hashCode(); @Override boolean equals(Object obj);  }
@Test public void testHasStaticMethod() { Type type = new TestType("java.util.Locale"); Assert.assertTrue(type.hasStaticMethod("getDefault()")); }