UuidFeatureIdRetriever.java
package de.turnertech.ows.gml;
import java.util.UUID;
/**
* Defines the logic for unique ID generation. This implementation will generate a UUID
* if no ID was already present, and will set it on the supplied object!
*
* If you only want to check if the ID is present, use the .getId() function of the
* object.
*
* This class will be of value in TransactionHandlers. There we will be handling new
* instances of {@link IFeature} which may not have been sent with an ID parameter.
*/
public class UuidFeatureIdRetriever implements FeatureIdRetriever {
@Override
public String retrieveFeatureId(IFeature feature) {
String id = feature.getId();
if(id == null) {
FeatureProperty idProperty = feature.getFeatureType().getIdProperty();
if(idProperty != null) {
id = UUID.randomUUID().toString();
feature.setPropertyValue(idProperty.getName(), id);
}
}
return id;
}
}