View Javadoc

1   /*
2    * Copyright (C) 2003-2012 David E. Berry
3    *
4    * This library is free software; you can redistribute it and/or
5    * modify it under the terms of the GNU Lesser General Public
6    * License as published by the Free Software Foundation; either
7    * version 2.1 of the License, or (at your option) any later version.
8    *
9    * This library is distributed in the hope that it will be useful,
10   * but WITHOUT ANY WARRANTY; without even the implied warranty of
11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12   * Lesser General Public License for more details.
13   *
14   * You should have received a copy of the GNU Lesser General Public
15   * License along with this library; if not, write to the Free Software
16   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17   *
18   * A copy of the GNU Lesser General Public License may also be found at
19   * http://www.gnu.org/licenses/lgpl.txt
20   */
21  package org.synchronoss.cpo;
22  
23  import org.synchronoss.cpo.meta.domain.*;
24  
25  /**
26   * This defines a depth first meta visitor.
27   *
28   * @author Michael Bellomo
29   */
30  public interface MetaVisitor {
31  
32    /**
33     *
34     * @param cpoClass The class to be visited
35     */
36    public void visit(CpoClass cpoClass);
37  
38    /**
39     *
40     * @param cpoAttribute The attribute to be visited
41     */
42    public void visit(CpoAttribute cpoAttribute);
43  
44    /**
45     *
46     * @param cpoFunctionGroup The function group to be visited
47     */
48    public void visit(CpoFunctionGroup cpoFunctionGroup);
49  
50    /**
51     *
52     * @param cpoFunction The function to be visited
53     */
54    public void visit(CpoFunction cpoFunction);
55  
56    /**
57     *
58     * @param cpoArgument The argument to be visited
59     */
60    public void visit(CpoArgument cpoArgument);
61  }