/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2004-2008, Open Source Geospatial Foundation (OSGeo) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * This package contains documentation from OpenGIS specifications. * OpenGIS consortium's work is fully acknowledged here. */ package org.geotools.metadata.iso.distribution; import java.util.Date; import org.opengis.util.InternationalString; import org.opengis.metadata.distribution.StandardOrderProcess; import org.geotools.metadata.iso.MetadataEntity; /** * Common ways in which the resource may be obtained or received, and related instructions * and fee information. * * * @source $URL$ * @version $Id$ * @author Martin Desruisseaux (IRD) * @author Jody Garnett * * @since 2.1 */ public class StandardOrderProcessImpl extends MetadataEntity implements StandardOrderProcess { /** * Serial number for interoperability with different versions. */ private static final long serialVersionUID = -6503378937452728631L; /** * Fees and terms for retrieving the resource. * Include monetary units (as specified in ISO 4217). */ private InternationalString fees; /** * Date and time when the dataset will be available, * in milliseconds ellapsed since January 1st, 1970. */ private long plannedAvailableDateTime = Long.MIN_VALUE; /** * General instructions, terms and services provided by the distributor. */ private InternationalString orderingInstructions; /** * Typical turnaround time for the filling of an order. */ private InternationalString turnaround; /** * Constructs an initially empty standard order process. */ public StandardOrderProcessImpl() { } /** * Constructs a metadata entity initialized with the values from the specified metadata. * * @since 2.4 */ public StandardOrderProcessImpl(final StandardOrderProcess source) { super(source); } /** * Returns fees and terms for retrieving the resource. * Include monetary units (as specified in ISO 4217). */ public InternationalString getFees() { return fees; } /** * Set fees and terms for retrieving the resource. * Include monetary units (as specified in ISO 4217). */ public synchronized void setFees(final InternationalString newValue) { checkWritePermission(); fees = newValue; } /** * Returns the date and time when the dataset will be available. */ public synchronized Date getPlannedAvailableDateTime() { return (plannedAvailableDateTime!=Long.MIN_VALUE) ? new Date(plannedAvailableDateTime) : null; } /** * Set the date and time when the dataset will be available. */ public synchronized void setPlannedAvailableDateTime(final Date newValue) { checkWritePermission(); plannedAvailableDateTime = (newValue!=null) ? newValue.getTime() : Long.MIN_VALUE; } /** * Returns general instructions, terms and services provided by the distributor. */ public InternationalString getOrderingInstructions() { return orderingInstructions; } /** * Set general instructions, terms and services provided by the distributor. */ public synchronized void setOrderingInstructions(final InternationalString newValue) { checkWritePermission(); orderingInstructions = newValue; } /** * Returns typical turnaround time for the filling of an order. */ public InternationalString getTurnaround() { return turnaround; } /** * Set typical turnaround time for the filling of an order. */ public synchronized void setTurnaround(final InternationalString newValue) { checkWritePermission(); turnaround = newValue; } }