1 //$Id: ReferenceInfoBase.java 165 2005-07-22 22:37:58Z jg_hamburg $
2 /********************************************************************************
3 * DDTUnit, a Datadriven Approach to Unit- and Moduletesting
4 * Copyright (c) 2004, Joerg and Kai Gellien
5 * All rights reserved.
6 *
7 * The Software is provided under the terms of the Common Public License 1.0
8 * as provided with the distribution of DDTUnit in the file cpl-v10.html.
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
11 * are met:
12 *
13 * + Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 *
16 * + Redistributions in binary form must reproduce the above
17 * copyright notice, this list of conditions and the following
18 * disclaimer in the documentation and/or other materials provided
19 * with the distribution.
20 *
21 * + Neither the name of the authors or DDTUnit, nor the
22 * names of its contributors may be used to endorse or promote
23 * products derived from this software without specific prior
24 * written permission.
25 *
26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
27 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
30 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 ********************************************************************************/
38 package junitx.ddtunit.data.processing;
39
40 import junitx.ddtunit.data.TypedObject;
41
42 /**
43 * Class containing detail information about object references
44 *
45 * @author jg
46 */
47 abstract class ReferenceInfoBase implements IReferenceInfo {
48 private TypedObject source;
49
50 private TypedObject destination;
51
52 private int rank;
53
54 /**
55 *
56 */
57 public ReferenceInfoBase(TypedObject source, TypedObject destination) {
58 if (source == null || destination == null) {
59 throw new IllegalArgumentException("null values not allowed");
60 }
61 this.source = source;
62 this.destination = destination;
63 this.rank = 0;
64 }
65
66 public String getSourceId() {
67 return this.source.getId();
68 }
69
70 public String getSourceType() {
71 return this.source.getType();
72 }
73
74 public String getDestId() {
75 return this.destination.getId();
76 }
77
78 public String getDestType() {
79 return this.destination.getType();
80 }
81
82 /*
83 * (non-Javadoc)
84 *
85 * @see junitx.ddtunit.data.processing.IReferenceInfo#resolve()
86 */
87 public void resolve() {
88 throw new UnsupportedOperationException(
89 "Link resolution not jet implemented.");
90 }
91
92 public int getRank() {
93 return this.rank;
94 }
95
96 public void setRank(int newRank) {
97 this.rank = newRank;
98 }
99 }