/******************************************************************************* * Copyright (c) 2010 Robert "Unlogic" Olofsson (unlogic@unlogic.se). * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v3 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/lgpl-3.0-standalone.html ******************************************************************************/ package se.unlogic.standardutils.populators; import se.unlogic.standardutils.dao.querys.PreparedStatementQuery; import se.unlogic.standardutils.validation.StringFormatValidator; import java.sql.SQLException; import java.util.UUID; public class UUIDPopulator extends BaseStringPopulator<UUID> implements QueryParameterPopulator<UUID> { public UUIDPopulator() { super(); } public UUIDPopulator(String populatorID, StringFormatValidator formatValidator) { super(populatorID, formatValidator); } public UUIDPopulator(String populatorID) { super(populatorID); } @Override protected boolean validateDefaultFormat(String value) { try { UUID.fromString(value); return true; } catch (IllegalArgumentException e) {} return false; } public Class<? extends UUID> getType() { return UUID.class; } public UUID getValue(String value) { return UUID.fromString(value); } public void populate(PreparedStatementQuery query, int paramIndex, Object uuid) throws SQLException { if(uuid == null){ query.setObject(paramIndex, null); return; } query.setString(paramIndex, ((UUID) uuid).toString()); } }