/* * Copyright Aduna (http://www.aduna-software.com/) (c) 1997-2006. * * Licensed under the Aduna BSD-style license. */ package org.openrdf.http.webclient.properties; import java.beans.PropertyEditorSupport; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.openrdf.http.protocol.Protocol; import org.openrdf.model.Value; import org.openrdf.model.ValueFactory; public class ValuePropertyEditor extends PropertyEditorSupport { final Logger logger = LoggerFactory.getLogger(this.getClass()); private ValueFactory valueFactory; public ValuePropertyEditor(ValueFactory valueFactory) { this.valueFactory = valueFactory; } @Override public String getAsText() { String result = null; Value value = (Value)getValue(); if (value != null) { result = Protocol.encodeValue(value); logger.debug("Getting value as " + result); } return result; } @Override public void setAsText(String text) throws IllegalArgumentException { if(!"".equals(text)) { Value value = Protocol.decodeValue(text, valueFactory); logger.debug("Setting value to " + value); setValue(value); } else { setValue(null); } } }