01: //THIS SOFTWARE IS PROVIDED BY SOFTARIS PTY.LTD. AND OTHER METABOSS
02: //CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
03: //BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
04: //FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SOFTARIS PTY.LTD.
05: //OR OTHER METABOSS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
06: //INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
07: //LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
08: //OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
09: //LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
10: //NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
11: //EVEN IF SOFTARIS PTY.LTD. OR OTHER METABOSS CONTRIBUTORS ARE ADVISED OF THE
12: //POSSIBILITY OF SUCH DAMAGE.
13: //
14: //Copyright 2000-2005 © Softaris Pty.Ltd. All Rights Reserved.
15: package tudresden.ocl.lib;
16:
17: import tudresden.ocl.lib.OclAnyImpl;
18: import tudresden.ocl.lib.OclBoolean;
19: import tudresden.ocl.lib.OclRoot;
20: import tudresden.ocl.lib.OclString;
21:
22: import com.metaboss.enterprise.datatypes.DataType;
23:
24: /** This class represents the Data Type proxy required by Ocl expression processing mechanism */
25: public class OclDataType extends OclAnyImpl {
26: public OclDataType(DataType o) {
27: super (o);
28: }
29:
30: /** Method invoker */
31: public OclRoot getFeature(String methodName, Object[] params) {
32: if (methodName.equals("oclIsUndefined")
33: && (params == null || params.length == 0)) {
34: return OclBoolean.FALSE;
35: }
36: return super .getFeature(methodName, params);
37: }
38:
39: /** Attribute getter */
40: public OclRoot getFeature(String attributeName) {
41: return super .getFeature(attributeName);
42: }
43:
44: public OclBoolean isEqualTo(Object o) {
45: if (o instanceof OclDataType) {
46: return getObject().equals(((OclDataType) o).getObject()) ? OclBoolean.TRUE
47: : OclBoolean.FALSE;
48: } else if (o instanceof OclString) {
49: return ((DataType) getObject()).toString().equals(
50: ((OclString) o).getString()) ? OclBoolean.TRUE
51: : OclBoolean.FALSE;
52: }
53: return OclBoolean.FALSE;
54: }
55: }
|