All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.nakeduml.detachment.DetachmentPhase Maven / Gradle / Ivy

package net.sf.nakeduml.detachment;

import java.util.ArrayList;
import java.util.List;

import net.sf.nakeduml.feature.InputModel;
import net.sf.nakeduml.feature.NakedUmlConfig;
import net.sf.nakeduml.feature.PhaseDependency;
import net.sf.nakeduml.feature.TransformationPhase;
import net.sf.nakeduml.metamodel.core.INakedPackage;
import net.sf.nakeduml.metamodel.workspace.INakedModelWorkspace;
import net.sf.nakeduml.metamodel.workspace.internal.NakedModelWorkspaceImpl;

@PhaseDependency()
public class DetachmentPhase implements
		TransformationPhase {
	@InputModel(implementationClass = NakedModelWorkspaceImpl.class)
	INakedModelWorkspace modelWorkspace;
	private NakedUmlConfig config;

	public Object[] execute(List detachors) {
		for (INakedPackage p : new ArrayList(
				modelWorkspace.getGeneratingModelsOrProfiles())) {
			for (NakedElementDetachor d : detachors) {
				d.initialize(modelWorkspace);
				d.startVisiting(p);
			}
		}
		return new Object[] {};
	}

	public void initialize(NakedUmlConfig config) {
		this.config = config;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy