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

org.loom.appengine.converter.AbstractRootKeyConverter Maven / Gradle / Ivy

The newest version!
package org.loom.appengine.converter;

import org.loom.converter.AbstractConverter;
import org.loom.i18n.Messages;
import org.loom.i18n.MessagesRepository;
import org.loom.log.Log;
import org.loom.util.StringUtils;

import com.google.appengine.api.datastore.Key;

public abstract class AbstractRootKeyConverter extends AbstractConverter {
	
	/** the persistent class to generate key values */
	protected String kind;
	
	private static Log log = Log.getLog(AbstractRootKeyConverter.class);
	
	public AbstractRootKeyConverter(Class persistentClass) {
		super(Key.class);
		this.kind = persistentClass.getSimpleName();
	}
	
	public final Object getAsObject(String paramName, String paramValue, Messages messages, MessagesRepository repository) {
		try {
			if (StringUtils.isEmpty(paramValue)) {
				return null;
			}
			return getAsObjectImpl(paramName, paramValue);

		} catch (IllegalArgumentException e) {
			log.debug(e);
			addErrorMessage(messages, paramName, paramValue, "loom.conversion.keyFailed");
			return null;
		}
	}

	protected abstract Object getAsObjectImpl(String paramName, String paramValue);

	public final String getAsText(Object value, MessagesRepository repository) {
		if (value == null) {
			return null;
		}
		return getAsTextImpl((Key) value);
	}

	protected abstract String getAsTextImpl(Key key);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy