// This software is released into the Public Domain. See copying.txt for details. package org.openstreetmap.osmosis.core.change.v0_6.impl; import java.util.Calendar; import org.openstreetmap.osmosis.core.container.v0_6.EntityContainer; import org.openstreetmap.osmosis.core.domain.common.SimpleTimestampContainer; import org.openstreetmap.osmosis.core.domain.common.TimestampContainer; /** * Updates the current timestamp on to entities. Note that the same time will be applied to all * entities and will be the time that the internal timestamp was first derived. */ public class TimestampSetter { private TimestampContainer timestamp; /** * Creates a new instance. */ public TimestampSetter() { Calendar calendar; calendar = Calendar.getInstance(); calendar.set(Calendar.MILLISECOND, 0); timestamp = new SimpleTimestampContainer(calendar.getTime()); } /** * Updates the timestamp on the supplied entity. A new entity container may be created if the * existing one is read-only. * * @param entityContainer * The container holding the entity to be modified. * @return A container holding an updated entity. */ public EntityContainer updateTimestamp(EntityContainer entityContainer) { EntityContainer resultContainer; resultContainer = entityContainer.getWriteableInstance(); resultContainer.getEntity().setTimestampContainer(timestamp); return resultContainer; } }