com.thoughtworks.qdox.model.JavaMethod Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of qdox Show documentation
Show all versions of qdox Show documentation
QDox is a high speed, small footprint parser for extracting class/interface/method definitions from source files
complete with JavaDoc @tags. It is designed to be used by active code generators or documentation tools.
package com.thoughtworks.qdox.model;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.util.List;
public interface JavaMethod extends JavaAnnotatedElement, JavaMember, JavaModel, JavaGenericDeclaration, JavaExecutable
{
/**
*
* @return the return type
*/
JavaClass getReturns();
/**
* @param withModifiers {@code true} if modifiers should be added, otherwise {@code false}
* @return the declaration signature
* @since 1.3
*/
String getDeclarationSignature( boolean withModifiers );
/**
* @return the call signature
* @since 1.3
*/
String getCallSignature();
/**
* This method is NOT varArg aware.
*
* @param name the name of the method
* @param parameterTypes the parameter types of the method, can be null
* @return true
if this method matches the signature, otherwise false
*/
boolean signatureMatches( String name, List parameterTypes );
/**
* @param name the name of the method
* @param parameterTypes the parameter types, can be null
* @param varArg true
is signature should match a varArg-method, otherwise false
* @return true
if this method matches the signature, otherwise false
*/
boolean signatureMatches( String name, List parameterTypes, boolean varArg );
/**
* Returns true
if this method follows the bean convention of being an accessor.
*
*
* public String getName(); // true
* public boolean isValid() // true
* public String getName( String def ); // false, it has a parameter
* public String gettingUp(); // false, 'get' is not followed by an uppercase character
* public boolean isolate(); // false, 'is' is not followed by an uppercase character
* public static String getName(); // false, it is static
*
*
* @return true
if this method is a Java Bean accessor, otherwise false
* @since 1.3
*/
boolean isPropertyAccessor();
/**
* Returns true
if this method follows the bean convention of being an mutator.
*
*
* public void setName(String name); // true
* public void setUp(); // false, it has no parameter
* public void settingUp(String def); // false, 'set' is not followed by an uppercase character
* public static void setName(String name); // false, it is static
*
*
* @return true
if this method is a Java Bean mutator, otherwise false
* @since 1.3
*/
boolean isPropertyMutator();
/**
* @return the type of the property this method represents, or null
if this method
* is not a property mutator or property accessor.
* @since 1.3
*/
JavaType getPropertyType();
/**
* @return the name of the property this method represents, or null
if this method
* is not a property mutator or property accessor.
* @since 1.3
*/
String getPropertyName();
List getTagsByName( String name, boolean inherited );
/**
* Equivalent of java.lang.reflect.Method.getReturnType()
*
* @return the return type
* @since 1.12
*/
JavaType getReturnType();
/**
* If a class inherits this method from a generic class or interface, you can use this method to get the resolved return type
*
* @param resolve define if generic should be resolved
* @return the return type
* @since 1.12
*/
JavaType getReturnType( boolean resolve );
DocletTag getTagByName( String string, boolean b );
/**
* Equivalent {@link java.lang.reflect.Method#isDefault()}
*
* @return {@code true} if this is a default method of an interface, otherwise {@code false}
* @since 2.0
*/
boolean isDefault();
}