1 /***************************************************************************************
2 * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved. *
3 * http://aspectwerkz.codehaus.org *
4 * ---------------------------------------------------------------------------------- *
5 * The software in this package is published under the terms of the LGPL license *
6 * a copy of which has been included with this distribution in the license.txt file. *
7 **************************************************************************************/
8 package org.codehaus.aspectwerkz.transform.inlining.deployer;
9
10 import java.util.Set;
11 import java.util.HashSet;
12
13 import org.codehaus.aspectwerkz.transform.inlining.compiler.CompilationInfo;
14 import org.codehaus.aspectwerkz.transform.inlining.compiler.MatchingJoinPointInfo;
15
16 /***
17 * Represents a change set of changes to be made to the class graph.
18 *
19 * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr </a>
20 */
21 public final class ChangeSet {
22 private final Set m_set = new HashSet();
23
24 /***
25 * Adds a change set element.
26 *
27 * @param element
28 */
29 public void addElement(final Element element) {
30 m_set.add(element);
31 }
32
33 /***
34 * Returns all elements in the change set.
35 *
36 * @return all elements in the change set
37 */
38 public Set getElements() {
39 return m_set;
40 }
41
42 /***
43 * Represents a change to be made to the class graph.
44 *
45 * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr </a>
46 */
47 public static class Element {
48 private final CompilationInfo m_compilationInfo;
49 private final MatchingJoinPointInfo m_joinPointInfo;
50
51 public Element(final CompilationInfo compilationInfo, final MatchingJoinPointInfo joinPointInfo) {
52 m_compilationInfo = compilationInfo;
53 m_joinPointInfo = joinPointInfo;
54 }
55
56 public CompilationInfo getCompilationInfo() {
57 return m_compilationInfo;
58 }
59
60 public MatchingJoinPointInfo getJoinPointInfo() {
61 return m_joinPointInfo;
62 }
63 }
64 }