class WorkspaceProject implements Cacheable {

    public String getName() {
        if (mainModule != null) {
            final String moduleName = mainModule.getModuleName();
            if (moduleName != null && !mainModule.getModuleName().trim().isEmpty()) {
                return mainModule.getModuleName();
            } else {
                return repository.getAlias();
            }
        } else {
            return repository.getAlias();
        }
    }

    public  WorkspaceProject();
    public  WorkspaceProject(final OrganizationalUnit organizationalUnit,
                            final Repository repository,
                            final Branch branch,
                            final Module mainModule);

}