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

xapi.source.impl.TypeMap 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 java.util.HashMap;

import xapi.source.api.IsType;

public class TypeMap {

  private final HashMap types = new HashMap();

  public IsType getType(String pkg, String simplename) {
    String key = pkg+"."+simplename;
    IsType type = types.get(key);
    if (type == null) {
      synchronized (types) {
        if (types.containsKey(key))
          return types.get(key);
        type = new ImmutableType(pkg, simplename);
        types.put(key, type);
      }
    }
    return type;
  }

  public IsType getType(IsType parentType, String simplename) {
    String key = parentType.getQualifiedName()+"."+simplename;
    IsType type = types.get(key);
    if (type == null) {
      synchronized (types) {
        if (types.containsKey(key))
          return types.get(key);
        type = new ImmutableType(parentType, simplename);
        types.put(key, type);
      }
    }
    return type;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy