/** * <p> * Indicates if this classifier is 'abstract'. * </p> * @see org.andromda.metafacades.uml.ClassifierFacade#isAbstract() */ @Override protected boolean handleIsAbstract() { return this.metaObject.isAbstract(); }
/** * <p> * Indicates if this classifier is 'abstract'. * </p> * @see org.andromda.metafacades.uml.ClassifierFacade#isAbstract() */ @Override protected boolean handleIsAbstract() { return this.metaObject.isAbstract(); }
protected void mergeClassifier_IsAbstract( Classifier receivingClassifier, Classifier mergedClassifier) { receivingClassifier.setIsAbstract(receivingClassifier.isAbstract() && mergedClassifier.isAbstract()); }
public static Set<Classifier> getConcreteSpecializationsWithoutCompositeOwner(Classifier clazz) { Set<Classifier> result = new HashSet<Classifier>(); Set<Classifier> specializations = getSpecializations(clazz); for (Classifier c : specializations) { if (!c.isAbstract() && c instanceof Class && !hasCompositeOwner((Class) c)) { result.add((Class) c); } } return result; }
private static void getConcreteImplementations(Set<Classifier> result, Classifier clazz) { if (!clazz.isAbstract() && !(clazz instanceof Interface)) { result.add(clazz); } List<Generalization> generalizations = ModelLoader.INSTANCE.getSpecifics(clazz); for (Generalization generalization : generalizations) { Classifier specific = generalization.getSpecific(); getConcreteImplementations(result, specific); } }
@Override @VisitSubclasses({Interface.class, Class.class, AssociationClass.class}) public void visitBefore(Classifier classifier) { if (classifier instanceof Interface || classifier instanceof org.eclipse.uml2.uml.Class) { OJPackage ojPackage = new OJPackage(Namer.name(classifier.getNearestPackage())); OJAnnotatedClass annotatedClass = new OJAnnotatedClass(getServerResourceImplName(classifier)); annotatedClass.setSuperclass(UmlgRestletGenerationUtil.ServerResource); annotatedClass.setMyPackage(ojPackage); annotatedClass.setVisibility(UmlgClassOperations.getVisibility(classifier.getVisibility())); addToSource(annotatedClass); addDefaultConstructor(annotatedClass); //Interfaces and abstract classes can not have a get put or delete if (!(classifier instanceof Interface) && !classifier.isAbstract()) { addPrivateIdVariable(classifier, annotatedClass); addGetRepresentation((Class) classifier, annotatedClass); addPutRepresentation((Class) classifier, annotatedClass); addDeleteRepresentation((Class) classifier, annotatedClass); } //OPTIONS apply to abstract classes and interfaces addOptionsRepresentation(classifier, annotatedClass); addToRouterEnum(classifier, annotatedClass); } }