r740 - in branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object: . xml
Author: fdesbois Date: 2009-12-11 10:58:30 +0100 (Fri, 11 Dec 2009) New Revision: 740 Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java Log: Improve ObjectModelModifier enumeration Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java =================================================================== --- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java 2009-12-08 15:55:00 UTC (rev 739) +++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelModifier.java 2009-12-11 09:58:30 UTC (rev 740) @@ -34,10 +34,18 @@ */ public enum ObjectModelModifier { - STATIC, FINAL, ABSTRACT, PUBLIC, PROTECTED, PRIVATE, PACKAGE, + STATIC("static"), FINAL("final"), ABSTRACT("abstract"), + PUBLIC("public"), PROTECTED("protected"), PRIVATE("private"), PACKAGE(""), - AGGREGATE, COMPOSITE, UNIQUE, ORDERED, NAVIGABLE; + AGGREGATE("aggregate"), COMPOSITE("composite"), UNIQUE("unique"), + ORDERED("ordered"), NAVIGABLE("navigable"); + private String stringValue; + + ObjectModelModifier(String stringValue) { + this.stringValue = stringValue; + } + public boolean isVisibility() { return this == PUBLIC || this == PROTECTED || @@ -52,29 +60,29 @@ @Override public String toString() { - switch (this) { - //case STATIC: return "static"; - //case ABSTRACT: return "abstract"; - //case FINAL: return "final"; - case PUBLIC: return "public"; - case PRIVATE: return "private"; - case PROTECTED: return "protected"; - case PACKAGE: return ""; - case ORDERED: return "ordered"; - case AGGREGATE: return "aggregate"; - case COMPOSITE: return "composite"; - } - return ""; +// switch (this) { +// //case STATIC: return "static"; +// //case ABSTRACT: return "abstract"; +// //case FINAL: return "final"; +// case PUBLIC: return "public"; +// case PRIVATE: return "private"; +// case PROTECTED: return "protected"; +// case PACKAGE: return ""; +// case ORDERED: return "ordered"; +// case AGGREGATE: return "aggregate"; +// case COMPOSITE: return "composite"; +// } + return stringValue; } public static ObjectModelModifier toValue(String name) { - if (name.equals("public")) { + if (name.equals(PUBLIC.toString())) { return PUBLIC; - } else if (name.equals("private")) { + } else if (name.equals(PRIVATE.toString())) { return PRIVATE; - } else if (name.equals("protected")) { + } else if (name.equals(PROTECTED.toString())) { return PROTECTED; - } else if (name.equals("")) { + } else if (name.equals(PACKAGE.toString())) { return PACKAGE; } else { return null; Modified: branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java =================================================================== --- branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java 2009-12-08 15:55:00 UTC (rev 739) +++ branches/eugene-2.0/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelBuilder.java 2009-12-11 09:58:30 UTC (rev 740) @@ -108,7 +108,8 @@ } protected ObjectModelClass createClass(ObjectModelClassImpl clazz, - String name, String packageName, ObjectModelModifier... modifiers) { + String name, String packageName, ObjectModelModifier... modifiers) + throws IllegalArgumentException { clazz.setName(name); clazz.setPackage(packageName); for (ObjectModelModifier modifier : modifiers) { @@ -161,10 +162,11 @@ * @param value default value for the attribute * @param modifiers attribute modifiers * @return the new ObjectModelAttribute added - * @see org.nuiton.eugene.models.object.ObjectModelModifier#isVisibility() + * @throws IllegalArgumentException illegal Modifier + * @see org.nuiton.eugene.models.object.ObjectModelModifier#isVisibility() */ public ObjectModelAttribute addAttribute(ObjectModelClassifier classifier, String name, String type, String value, - ObjectModelModifier... modifiers) { + ObjectModelModifier... modifiers) throws IllegalArgumentException { ObjectModelAttributeImpl attribute = new ObjectModelAttributeImpl(); attribute.setName(name); attribute.setType(type); @@ -208,9 +210,11 @@ * @param maxMultiplicity maximum multiplicity of A in association * @param modifiers for the association * @return the attribute corresponding to the association for classifierA + * @throws IllegalArgumentException illegal modifier */ public ObjectModelAttribute addAssociation(ObjectModelClassifier classifierA, ObjectModelClassifier classifierB, String roleName, - int minMultiplicity, int maxMultiplicity, ObjectModelModifier... modifiers) { + int minMultiplicity, int maxMultiplicity, ObjectModelModifier... modifiers) + throws IllegalArgumentException { ObjectModelAttributeImpl attribute = new ObjectModelAttributeImpl(); @@ -342,9 +346,11 @@ * @param returnType operation type (full qualified name) * @param modifiers operation modifiers * @return the new ObjectModelOperation added + * @throws IllegalArgumentException illegal Modifier */ public ObjectModelOperation addOperation(ObjectModelClassifier classifier, - String name, String returnType, ObjectModelModifier... modifiers) { + String name, String returnType, ObjectModelModifier... modifiers) + throws IllegalArgumentException{ ObjectModelOperationImpl result = new ObjectModelOperationImpl(); result.setName(name);
participants (1)
-
fdesbois@users.nuiton.org