01: /*
02: * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
03: */
04: package com.tc.aspectwerkz.definition.aspectj5;
05:
06: import java.util.ArrayList;
07: import java.util.List;
08:
09: /**
10: * A POJO that contains raw strings from the XML (sort of XMLBean for our simple LTW DTD)
11: *
12: * @author <a href="mailto:alex AT gnilux DOT com">Alexandre Vasseur</a>
13: */
14: public class Definition {
15:
16: private StringBuffer m_weaverOptions;
17:
18: private List m_dumpPatterns;
19:
20: private List m_includePatterns;
21:
22: private List m_excludePatterns;
23:
24: private List m_aspectClassNames;
25:
26: private List m_aspectExcludePatterns;
27:
28: private List m_concreteAspects;
29:
30: public Definition() {
31: m_weaverOptions = new StringBuffer();
32: m_dumpPatterns = new ArrayList(0);
33: m_includePatterns = new ArrayList(0);
34: m_excludePatterns = new ArrayList(0);
35: m_aspectClassNames = new ArrayList();
36: m_aspectExcludePatterns = new ArrayList(0);
37: m_concreteAspects = new ArrayList(0);
38: }
39:
40: public String getWeaverOptions() {
41: return m_weaverOptions.toString();
42: }
43:
44: public List getDumpPatterns() {
45: return m_dumpPatterns;
46: }
47:
48: public List getIncludePatterns() {
49: return m_includePatterns;
50: }
51:
52: public List getExcludePatterns() {
53: return m_excludePatterns;
54: }
55:
56: public List getAspectClassNames() {
57: return m_aspectClassNames;
58: }
59:
60: public List getAspectExcludePatterns() {
61: return m_aspectExcludePatterns;
62: }
63:
64: public List getConcreteAspects() {
65: return m_concreteAspects;
66: }
67:
68: public static class ConcreteAspect {
69: String name;
70: String extend;
71: List pointcuts;
72:
73: public ConcreteAspect(String name, String extend) {
74: this .name = name;
75: this .extend = extend;
76: this .pointcuts = new ArrayList();
77: }
78: }
79:
80: public static class Pointcut {
81: String name;
82: String expression;
83:
84: public Pointcut(String name, String expression) {
85: this .name = name;
86: this .expression = expression;
87: }
88: }
89:
90: public void appendWeaverOptions(String option) {
91: m_weaverOptions.append(option.trim()).append(' ');
92: }
93: }
|