object/src/main/java/com/orientechnologies/orient/object/metadata/schema/OSchemaProxyObject.java
public synchronized void generateSchema(final String iPackageName, final ClassLoader iClassLoader) {
    OLogManager.instance().debug(this, "Generating schema inside package: %s", iPackageName);

    List<Class<?>> classes = null;
    try {
      classes = OReflectionHelper.getClassesFor(iPackageName, iClassLoader);
    } catch (ClassNotFoundException e) {
      throw OException.wrapException(new ODatabaseException("Classes cannot be loaded during schema generation"), e);
    }
    for (Class<?> c : classes) {
      generateSchema(c);
    }
  }
public synchronized void generateSchema(final String iPackageName, final ClassLoader iClassLoader) {
    OLogManager.instance().debug(this, "Generating schema inside package: %s", iPackageName);

    List<Class<?>> classes = null;
    try {
      classes = OReflectionHelper.getClassesFor(iPackageName, iClassLoader);
    } catch (ClassNotFoundException e) {
      throw OException.wrapException(new ODatabaseException("Classes cannot be loaded during schema generation"), e);
    }
    for (Class<?> c : classes) {
      generateSchema(c);
    }
  }
Scans all classes accessible from the context class loader which belong to the given package and subpackages.

@param iPackageName The base package