Home | History | Annotate | Download | only in report
      1 /*******************************************************************************
      2  * Copyright (c) 2009, 2015 Mountainminds GmbH & Co. KG and Contributors
      3  * All rights reserved. This program and the accompanying materials
      4  * are made available under the terms of the Eclipse Public License v1.0
      5  * which accompanies this distribution, and is available at
      6  * http://www.eclipse.org/legal/epl-v10.html
      7  *
      8  * Contributors:
      9  *    Marc R. Hoffmann - initial API and implementation
     10  *
     11  *******************************************************************************/
     12 package org.jacoco.report;
     13 
     14 /**
     15  * Interface to create programming language specific names from VM names.
     16  */
     17 public interface ILanguageNames {
     18 
     19 	/**
     20 	 * Calculates the language specific name of a package.
     21 	 *
     22 	 * @param vmname
     23 	 *            vm name of a package
     24 	 * @return language specific notation for the package
     25 	 */
     26 	public String getPackageName(String vmname);
     27 
     28 	/**
     29 	 * Calculates the language specific name of a class.
     30 	 *
     31 	 * @param vmname
     32 	 *            vm name of a class
     33 	 * @param vmsignature
     34 	 *            vm signature of the class (may be <code>null</code>)
     35 	 * @param vmsuperclass
     36 	 *            vm name of the superclass of the class (may be
     37 	 *            <code>null</code>)
     38 	 * @param vminterfaces
     39 	 *            vm names of interfaces of the class (may be <code>null</code>)
     40 	 * @return language specific notation of the class
     41 	 */
     42 	public String getClassName(String vmname, String vmsignature,
     43 			String vmsuperclass, String[] vminterfaces);
     44 
     45 	/**
     46 	 * Calculates the language specific qualified name of a class.
     47 	 *
     48 	 * @param vmname
     49 	 *            vm name of a class
     50 	 * @return language specific qualified notation of the class
     51 	 */
     52 	public String getQualifiedClassName(String vmname);
     53 
     54 	/**
     55 	 * Calculates the language specific name of a method.
     56 	 *
     57 	 * @param vmclassname
     58 	 *            vm name of a containing class
     59 	 * @param vmmethodname
     60 	 *            vm name of the method
     61 	 * @param vmdesc
     62 	 *            vm method descriptor
     63 	 * @param vmsignature
     64 	 *            vm signature of the method (may be <code>null</code>)
     65 	 * @return language specific notation for the method
     66 	 */
     67 	public String getMethodName(String vmclassname, String vmmethodname,
     68 			String vmdesc, String vmsignature);
     69 
     70 	/**
     71 	 * Calculates the language specific fully qualified name of a method.
     72 	 *
     73 	 * @param vmclassname
     74 	 *            vm name of a containing class
     75 	 * @param vmmethodname
     76 	 *            vm name of the method
     77 	 * @param vmdesc
     78 	 *            vm method descriptor
     79 	 * @param vmsignature
     80 	 *            vm signature of the method (may be <code>null</code>)
     81 	 * @return language specific notation for the method
     82 	 */
     83 	public String getQualifiedMethodName(String vmclassname,
     84 			String vmmethodname, String vmdesc, String vmsignature);
     85 
     86 }
     87