001 002/* 003 * Copyright (C) 2010 Archie L. Cobbs. All rights reserved. 004 * 005 * $Id$ 006 */ 007 008package org.dellroad.jibxbindings.pidf.lo.gml; 009 010/** 011 * Visitor pattern interface for GML shapes. 012 */ 013public interface GMLObjectSwitch { 014 015 /** 016 * Invoked when the instance visited is a {@link Point}. 017 */ 018 void casePoint(Point point); 019 020 /** 021 * Invoked when the instance visited is a {@link Polygon}. 022 */ 023 void casePolygon(Polygon polygon); 024 025 /** 026 * Invoked when the instance visited is a {@link Circle}. 027 */ 028 void caseCircle(Circle circle); 029 030 /** 031 * Invoked when the instance visited is a {@link Ellipse}. 032 */ 033 void caseEllipse(Ellipse ellipse); 034 035 /** 036 * Invoked when the instance visited is a {@link ArcBand}. 037 */ 038 void caseArcBand(ArcBand arcBand); 039 040 /** 041 * Invoked when the instance visited is a {@link Sphere}. 042 */ 043 void caseSphere(Sphere sphere); 044 045 /** 046 * Invoked when the instance visited is a {@link Ellipsoid}. 047 */ 048 void caseEllipsoid(Ellipsoid ellipsoid); 049 050 /** 051 * Invoked when the instance visited is a {@link Prism}. 052 */ 053 void casePrism(Prism prism); 054 055 /** 056 * Invoked when the instance visited is a {@link LineString}. 057 */ 058 void caseLineString(LineString lineString); 059 060 /** 061 * Invoked when the instance visited is a {@link LinearRing}. 062 */ 063 void caseLinearRing(LinearRing linearRing); 064} 065