/** * @see org.andromda.metafacades.uml.OperationFacade#getOwner() */ @Override protected Object handleGetOwner() { Object obj = null; // Fix from UML2, no longer calls getOwner to get the owning Class if (this.metaObject.getInterface()!=null) { obj = this.metaObject.getInterface(); } else if (this.metaObject.getDatatype()!=null) { obj = this.metaObject.getDatatype(); } else { obj = this.metaObject.getClass_(); } return obj; }
/** * @see org.andromda.metafacades.uml.OperationFacade#getOwner() */ @Override protected Object handleGetOwner() { Object obj = null; // Fix from UML2, no longer calls getOwner to get the owning Class if (this.metaObject.getInterface()!=null) { obj = this.metaObject.getInterface(); } else if (this.metaObject.getDatatype()!=null) { obj = this.metaObject.getDatatype(); } else { obj = this.metaObject.getClass_(); } return obj; }
@Override public String handleOperationExp(OperationCallExp<Classifier, Operation> oc, String sourceResult, List<String> argumentResults) { if (argumentResults.size() != 1) { throw new IllegalStateException("The greater than equal operation must have one and only one argument!"); } StringBuilder result = new StringBuilder(); result.append(sourceResult); DataType datatype = oc.getReferredOperation().getDatatype(); if (datatype instanceof PrimitiveType) { PrimitiveType primitiveType = (PrimitiveType) datatype; if (primitiveType.getName().equals("Integer") || primitiveType.getName().equals("Real")) { result.append(" >= "); result.append(argumentResults.get(0)); } else { throw new IllegalStateException("Greater than equal operation can only be called on a PrimitiveType Integer and Real " + datatype.getName()); } } else { throw new IllegalStateException("Greater than equal operation can only be called on a PrimitiveType " + datatype.getName()); } return result.toString(); } }
@Override public String handleOperationExp(OperationCallExp<Classifier, Operation> oc, String sourceResult, List<String> argumentResults) { if (argumentResults.size() != 1) { throw new IllegalStateException("The greater than operation must have one and only one argument!"); } StringBuilder result = new StringBuilder(); result.append(sourceResult); DataType datatype = oc.getReferredOperation().getDatatype(); if (datatype instanceof PrimitiveType) { PrimitiveType primitiveType = (PrimitiveType) datatype; if (primitiveType.getName().equals("Integer") || primitiveType.getName().equals("Real")) { result.append(" > "); result.append(argumentResults.get(0)); } else { throw new IllegalStateException("Greater than operation can only be called on a PrimitiveType Integer and Real " + datatype.getName()); } } else { throw new IllegalStateException("Greater than operation can only be called on a PrimitiveType " + datatype.getName()); } return result.toString(); } }
@Override public String handleOperationExp(OperationCallExp<Classifier, Operation> oc, String sourceResult, List<String> argumentResults) { if (argumentResults.size() != 1) { throw new IllegalStateException("The less than operation must have one and only one argument!"); } StringBuilder result = new StringBuilder(); result.append(sourceResult); DataType datatype = oc.getReferredOperation().getDatatype(); if (datatype instanceof PrimitiveType) { PrimitiveType primitiveType = (PrimitiveType) datatype; if (primitiveType.getName().equals("Integer") || primitiveType.getName().equals("Real")) { result.append(" < "); result.append(argumentResults.get(0)); } else { throw new IllegalStateException("Less than operation can only be called on a PrimitiveType Integer and Real " + datatype.getName()); } } else { throw new IllegalStateException("Less than can operation only be called on a PrimitiveType " + datatype.getName()); } return result.toString(); } }
@Override public String handleOperationExp(OperationCallExp<Classifier, Operation> oc, String sourceResult, List<String> argumentResults) { if (argumentResults.size() != 1) { throw new IllegalStateException("The less equal than operation must have one and only one argument!"); } StringBuilder result = new StringBuilder(); result.append(sourceResult); DataType datatype = oc.getReferredOperation().getDatatype(); if (datatype instanceof PrimitiveType) { PrimitiveType primitiveType = (PrimitiveType) datatype; if (primitiveType.getName().equals("Integer") || primitiveType.getName().equals("Real")) { result.append(" <= "); result.append(argumentResults.get(0)); } else { throw new IllegalStateException("Less than equal operation can only be called on a PrimitiveType Integer and Real " + datatype.getName()); } } else { throw new IllegalStateException("Less than equal operation can only be called on a PrimitiveType " + datatype.getName()); } return result.toString(); } }
DataType datatype = oc.getReferredOperation().getDatatype(); String argResult = argumentResults.get(0); if (datatype instanceof PrimitiveType) {
DataType datatype = oc.getReferredOperation().getDatatype(); if (datatype instanceof PrimitiveType) { PrimitiveType primitiveType = (PrimitiveType) datatype;
if (oper.getClass_() != null) { sb.append(oper.getClass_().getName()); } else if (oper.getDatatype() != null) { sb.append(oper.getDatatype().getName()); } else { throw new IllegalStateException("Operation only supported on Class and Datatype");