001 //$HeadURL: https://svn.wald.intevation.org/svn/deegree/base/branches/2.3_testing/src/org/deegree/model/feature/DefaultFeatureProperty.java $
002 /*----------------------------------------------------------------------------
003 This file is part of deegree, http://deegree.org/
004 Copyright (C) 2001-2009 by:
005 Department of Geography, University of Bonn
006 and
007 lat/lon GmbH
008
009 This library is free software; you can redistribute it and/or modify it under
010 the terms of the GNU Lesser General Public License as published by the Free
011 Software Foundation; either version 2.1 of the License, or (at your option)
012 any later version.
013 This library is distributed in the hope that it will be useful, but WITHOUT
014 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
015 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
016 details.
017 You should have received a copy of the GNU Lesser General Public License
018 along with this library; if not, write to the Free Software Foundation, Inc.,
019 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
020
021 Contact information:
022
023 lat/lon GmbH
024 Aennchenstr. 19, 53177 Bonn
025 Germany
026 http://lat-lon.de/
027
028 Department of Geography, University of Bonn
029 Prof. Dr. Klaus Greve
030 Postfach 1147, 53001 Bonn
031 Germany
032 http://www.geographie.uni-bonn.de/deegree/
033
034 e-mail: info@deegree.org
035 ----------------------------------------------------------------------------*/
036
037 package org.deegree.model.feature;
038
039 import java.io.Serializable;
040
041 import org.deegree.datatypes.QualifiedName;
042
043 /**
044 *
045 * the interface describes a property entry of a feature. It is made of a name and a value
046 * associated to it.
047 *
048 * <p>
049 * ---------------------------------------------------------------
050 * </p>
051 *
052 * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a>
053 * @version $Revision: 18195 $ $Date: 2009-06-18 17:55:39 +0200 (Do, 18. Jun 2009) $
054 */
055
056 class DefaultFeatureProperty implements FeatureProperty, Serializable {
057
058 private static final long serialVersionUID = -4265511951750096466L;
059
060 private Object value = null;
061
062 private QualifiedName name = null;
063
064 /**
065 * constructor for complete initializing the FeatureProperty
066 *
067 * @param name
068 * qualified name of the property
069 * @param value
070 * the properties value
071 */
072 DefaultFeatureProperty( QualifiedName name, Object value ) {
073 setValue( value );
074 this.name = name;
075 }
076
077 /**
078 * returns the qualified name of the property
079 */
080 public QualifiedName getName() {
081 return name;
082 }
083
084 /**
085 * returns the value of the property
086 */
087 public Object getValue() {
088 return value;
089 }
090
091 /**
092 * returns the value of the property; if the value is null the passed defaultValuewill be
093 * returned
094 *
095 * @param defaultValue
096 */
097 public Object getValue( Object defaultValue ) {
098 if ( value == null ) {
099 return defaultValue;
100 }
101 return value;
102 }
103
104 /**
105 * sets the value of the property
106 */
107 public void setValue( Object value ) {
108 this.value = value;
109 }
110
111 @Override
112 public String toString() {
113 String ret = null;
114 ret = "name = " + name + "\n";
115 ret += "value = " + value + "\n";
116 return ret;
117 }
118
119 public Feature getOwner() {
120 return null;
121 }
122
123 }