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

xapi.source.impl.IsClassDelegate Maven / Gradle / Ivy

Go to download

Everything needed to run a comprehensive dev environment. Just type X_ and pick a service from autocomplete; new dev modules will be added as they are built. The only dev service not included in the uber jar is xapi-dev-maven, as it includes all runtime dependencies of maven, adding ~4 seconds to build time, and 6 megabytes to the final output jar size (without xapi-dev-maven, it's ~1MB).

The newest version!
package xapi.source.impl;

import xapi.source.api.IsAnnotation;
import xapi.source.api.IsClass;
import xapi.source.api.IsField;
import xapi.source.api.IsGeneric;
import xapi.source.api.IsMethod;
import xapi.source.api.IsType;

public class IsClassDelegate implements IsClass{

  private final IsClass cls;
  private final int arrayDepth;

  public IsClassDelegate(IsClass cls) {
    this(cls, 0);
  }

  public IsClassDelegate(IsClass cls, int arrayDepth) {
    this.cls = cls;
    this.arrayDepth = arrayDepth;
  }

  @Override
  public boolean isPrimitive() {
    return cls.isPrimitive();
  }

  @Override
  public IsType getEnclosingType() {
    return cls.getEnclosingType();
  }

  @Override
  public String getPackage() {
    return cls.getPackage();
  }

  @Override
  public String getSimpleName() {
    return cls.getSimpleName() + arrayString();
  }

  private String arrayString() {
    StringBuilder b = new StringBuilder();
    for (int i = 0; i < arrayDepth; i++)
      b.append("[]");
    return b.toString();
  }

  @Override
  public String getEnclosedName() {
    return cls.getEnclosedName() + arrayString();
  }

  @Override
  public String getQualifiedName() {
    return cls.getQualifiedName() + arrayString();
  }

  @Override
  public Iterable getAnnotations() {
    return cls.getAnnotations();
  }

  @Override
  public IsAnnotation getAnnotation(String name) {
    return cls.getAnnotation(name);
  }

  @Override
  public String toSignature() {
    return cls.toSignature()+ arrayString();
  }
  
  @Override
  public boolean isArray() {
    return cls.isArray();
  }

  @Override
  public boolean isPublic() {
    return cls.isPublic();
  }

  @Override
  public boolean isPrivate() {
    return cls.isPrivate();
  }

  @Override
  public boolean isProtected() {
    return cls.isProtected();
  }

  @Override
  public boolean isPackageProtected() {
    return cls.isPackageProtected();
  }

  @Override
  public boolean hasModifier(int modifier) {
    return cls.hasModifier(modifier);
  }

  @Override
  public Iterable getDeclaredMethods() {
    return cls.getDeclaredMethods();
  }
  
  @Override
  public int getModifier() {
    return cls.getModifier();
  }

  @Override
  public Iterable getMethods() {
    return cls.getMethods();
  }

  @Override
  public IsMethod getMethod(String name, IsType... params) {
    return cls.getMethod(name, params);
  }

  @Override
  public IsMethod getMethod(String name, boolean checkErased,
      Class... params) {
    return cls.getMethod(name, checkErased, params);
  }

  @Override
  public Iterable getFields() {
    return cls.getFields();
  }

  @Override
  public IsField getField(String name) {
    return cls.getField(name);
  }

  @Override
  public Iterable getGenerics() {
    return cls.getGenerics();
  }

  @Override
  public IsGeneric getGeneric(String name) {
    return cls.getGeneric(name);
  }

  @Override
  public boolean hasGenerics() {
    return cls.hasGenerics();
  }

  @Override
  public Iterable getInterfaces() {
    return cls.getInterfaces();
  }

  @Override
  public boolean hasInterface() {
    return cls.hasInterface();
  }

  @Override
  public boolean isAbstract() {
    return cls.isAbstract();
  }

  @Override
  public boolean isFinal() {
    return cls.isFinal();
  }

  @Override
  public boolean isStatic() {
    return cls.isStatic();
  }

  @Override
  public boolean isInterface() {
    return cls.isInterface();
  }

  @Override
  public boolean isAnnotation() {
    return cls.isAnnotation();
  }

  @Override
  public boolean isEnum() {
    return cls.isEnum();
  }

  @Override
  public IsMethod getEnclosingMethod() {
    return cls.getEnclosingMethod();
  }

  @Override
  public Iterable getInnerClasses() {
    return cls.getInnerClasses();
  }

  @Override
  public Class toClass(ClassLoader loader) throws ClassNotFoundException {
    return loader.loadClass(cls.getQualifiedName());
  }
  
  @Override
  public String toString() {
    return cls.toString();
  }
  
  @Override
  public int hashCode() {
    return cls.hashCode();
  }
  
  @Override
  public boolean equals(Object obj) {
    return cls.equals(obj);
  }
  
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy