All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.gwt.core.ext.typeinfo.JType Maven / Gradle / Ivy

Go to download

Vaadin is a web application framework for Rich Internet Applications (RIA). Vaadin enables easy development and maintenance of fast and secure rich web applications with a stunning look and feel and a wide browser support. It features a server-side architecture with the majority of the logic running on the server. Ajax technology is used at the browser-side to ensure a rich and interactive user experience.

There is a newer version: 8.25.2
Show newest version
/*
 * Copyright 2010 Google Inc.
 *
 * Licensed 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.
 */
package com.google.gwt.core.ext.typeinfo;

/**
 * Super interface for types.
 */
public interface JType {

  /**
   * Returns this type with no type parameters or type variables. See the JLS
   * Third Edition section on 
   * Type Erasure.
   */
  JType getErasedType();

  /**
   * Returns the
   * 
   * "field descriptor" for a type as specified by the Java Virtual Machine Specification.
   *
   * Examples:
   *
   * 
    *
  • boolean = Z
  • *
  • byte[] = [B
  • *
  • java.lang.String = Ljava/lang/String;
  • *
*/ String getJNISignature(); /** * For array types, recursively looks for the element type that is not an * array. Otherwise, returns this type. */ JType getLeafType(); /** * Returns a type name as it would be specified in Java source, with the * package name included. Includes the type parameters. If called on a type parameter, * does not include any bounds. For example, a type Foo declared in * com.example would be given as "com.example.Foo", while the same type instantiated * with Baz would be "com.example.Foo". */ String getParameterizedQualifiedSourceName(); /** * A binary type name as specified by the * * Java Language Spec, ThirdEdition. */ String getQualifiedBinaryName(); /** * Returns a type name as it would be specified in Java source, with the * package name included. Does not include the type parameters. If called on * a type parameter, includes any bounds. */ String getQualifiedSourceName(); /** * Returns the name of this class without the package name or enclosing class name. */ String getSimpleSourceName(); /** * Returns this instance as a {@link JAnnotationType} if it is an annotation * or null if it is not. */ JAnnotationType isAnnotation(); JArrayType isArray(); /** * Returns this instance if the erased version of this type is a class (as opposed to a primitive, * array, or interface) or null if it is not. */ JClassType isClass(); /** * Returns this instance if the erased version of this type is a class or interface (as opposed to * a primitive or array array) or null if it is not. */ JClassType isClassOrInterface(); /** * Returns this instance if it is an enumeration or null if it is * not. */ JEnumType isEnum(); /** * Returns this instance if it is a real class that has type parameters or null * if it is not. */ JGenericType isGenericType(); /** * Returns this instance if it is an interface or null if it is not. */ JClassType isInterface(); /** * Returns this instance as a {@link JParameterizedType} if it is a parameterized type * or null if it is not. */ JParameterizedType isParameterized(); JPrimitiveType isPrimitive(); /** * Returns the raw type if this is a {@link JRawType}, otherwise returns * null. */ JRawType isRawType(); JTypeParameter isTypeParameter(); JWildcardType isWildcard(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy