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

it.amattioli.dominate.jcr.JcrRepositoryFactory Maven / Gradle / Ivy

The newest version!
package it.amattioli.dominate.jcr;

import java.io.Serializable;
import java.util.Collection;

import org.apache.jackrabbit.ocm.exception.IncorrectPersistentClassException;

import it.amattioli.dominate.Entity;
import it.amattioli.dominate.Repository;
import it.amattioli.dominate.repositories.AbstractRepositoryFactory;

public class JcrRepositoryFactory extends AbstractRepositoryFactory {

	private boolean isPersisted(Class c) {
		try {
			return JcrSessionManager.getMapper().getClassDescriptorByClass(c) != null;
		} catch(IncorrectPersistentClassException e) {
			return false;
		}
	}
	
	@Override
	protected > Repository getDefaultRepository(Class c) {
		if (!isPersisted(c)) {
			return null;
		}
		return new JcrRepository(c);
	}

	@Override
	public > Repository getRepository(Collection coll) {
		throw new UnsupportedOperationException();
	}

}