Package ch.semafor.gendas.model

Examples of ch.semafor.gendas.model.ElementType


      final String idVersion) {
    if (elementTypeDao.exists(name)) {
      return elementTypeDao.findByName(name); // NOPMD by wildi on 9/21/10 6:14
                                              // AM
    }
    ElementType et = elementTypes.get(name); // NOPMD by wildi on 9/21/10 6:14
                                              // AM
    if (et != null) { // NOPMD by wildi on 9/21/10 6:14 AM
      et.setCreated();
    } else {
      logger.debug("Created Element Type {}", name);
      et = new ElementType(name);
      if (idName != null && idName.length() > 0) {
        et.setBeanId(idName);
      }
      if (idVersion != null && idVersion.length() > 0) {
        et.setBeanVersionId(idVersion);
      }
      elementTypes.put(name, et);
    }
    return et;
  }
View Full Code Here


  }

  public ElementType create(final Class beanClass, final String idName,
      final String versionName) {
    final String name = beanClass.getCanonicalName();
    final ElementType elementType = getElementType(name, idName, versionName);
    if (!elementType.isCreated()) {
      // ToDo, unnest, PMD:AvoidDeeplyNestedIfStmts
      ReflectionUtils.doWithMethods(beanClass,
          new ReflectionUtils.MethodCallback() {
            public void doWith(final Method method) {
              if (method.getName().startsWith("get")
                  || method.getName().startsWith("is")
                  && !method.getName().equals("getClass")) {
                Class retType = method.getReturnType();
                PropertyType propType = getPropertyType(method);
                if (isPrimitiveType(retType)) {
                  elementType.add(propType);
                } else if (!retType.equals(java.lang.ClassLoader.class)
                    && !retType.equals(java.lang.annotation.Annotation.class)
                    && !retType.equals(java.lang.Class.class)) {
                  Class argType = retType;
                  if (retType.equals(java.util.List.class)) { // see above
                    final Class genArgType = getGenericArgType(method
                        .getGenericReturnType());
                    if (genArgType != null) {
                      argType = genArgType;
                    }
                  }
                  if (!elementType.hasReference(name)
                      && !elementType.getName().equals(
                          argType.getCanonicalName())) {
                    if (isPrimitiveType(argType)) {
                      logger.debug("adding list property {}", name);
                      elementType.add(propType);
                    } else {
                      logger.debug("adding reference {} for {}",
                          argType.getCanonicalName(), propType.getName());
                      elementType.addReference(propType.getName(),
                          create(argType, idName, versionName));
                    }
                  }
                }
              }
View Full Code Here

TOP

Related Classes of ch.semafor.gendas.model.ElementType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.