001: /*
002: * GeoTools - OpenSource mapping toolkit
003: * http://geotools.org
004: * (C) 2004-2006, Geotools Project Managment Committee (PMC)
005: * (C) 2004 TOPP - www.openplans.org
006: *
007: * This library is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU Lesser General Public
009: * License as published by the Free Software Foundation; either
010: * version 2.1 of the License, or (at your option) any later version.
011: *
012: * This library is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * Lesser General Public License for more details.
016: */
017: package org.geotools.validation.relate;
018:
019: import org.geotools.validation.DefaultIntegrityValidation;
020:
021: /**
022: * @author bowens
023: *
024: * TODO To change the template for this generated type comment go to
025: * Window - Preferences - Java - Code Generation - Code and Comments
026: * @source $URL: http://svn.geotools.org/geotools/tags/2.4.1/modules/extension/validation/src/main/java/org/geotools/validation/relate/RelationIntegrity.java $
027: */
028: public abstract class RelationIntegrity extends
029: DefaultIntegrityValidation {
030: protected final static String EMPTY = "";
031: private String geomTypeRefA;
032: private String geomTypeRefB = EMPTY;
033: protected boolean expected = false; // what the user expects this test to return
034:
035: // they could expect it to fail and return false, therefore they would enter false
036:
037: /**
038: * PointCoveredByLineValidation constructor.
039: *
040: * <p>
041: * Super
042: * </p>
043: */
044: public RelationIntegrity() {
045: super ();
046: }
047:
048: /**
049: * Implementation of getTypeNames. Should be called by sub-classes is being
050: * overwritten.
051: *
052: * @return Array of typeNames, or empty array for all, null for disabled
053: *
054: * @see org.geotools.validation.Validation#getTypeRefs()
055: */
056: public String[] getTypeRefs() {
057: if (geomTypeRefA == null)
058: return null;
059:
060: if (geomTypeRefB == null || geomTypeRefB.equals(EMPTY))
061: return new String[] { geomTypeRefA };
062:
063: return new String[] { geomTypeRefA, geomTypeRefB };
064: }
065:
066: /**
067: * Access polygonTypeRef property.
068: *
069: * @return Returns the polygonTypeRef.
070: */
071: public final String getGeomTypeRefA() {
072: return geomTypeRefA;
073: }
074:
075: /**
076: * Set polygonTypeRef to polygonTypeRef.
077: *
078: * @param typeRefA A String with the polygonTypeRef to set.
079: */
080: public final void setGeomTypeRefA(String typeRefA) {
081: this .geomTypeRefA = typeRefA;
082: }
083:
084: /**
085: * Access restrictedPolygonTypeRef property.
086: *
087: * @return Returns the restrictedPolygonTypeRef.
088: */
089: public final String getGeomTypeRefB() {
090: return geomTypeRefB;
091: }
092:
093: /**
094: * Set restrictedPolygonTypeRef to restrictedPolygonTypeRef.
095: *
096: * @param typeRefB A String with the restrictedPolygonTypeRef to set.
097: */
098: public final void setGeomTypeRefB(String typeRefB) {
099: if (typeRefB.equals("") || typeRefB == null)
100: typeRefB = EMPTY;
101: else
102: this .geomTypeRefB = typeRefB;
103: }
104:
105: public final void setExpected(String exp) {
106: if (exp == null)
107: expected = false;
108: else if (exp.equalsIgnoreCase("true")
109: || exp.equalsIgnoreCase("t"))
110: expected = true;
111: else
112: expected = false;
113: }
114:
115: public final void setExpected(boolean arg) {
116: expected = arg;
117: }
118:
119: public final boolean isExpected() {
120: return expected;
121: }
122:
123: }
|