package org.openflexo.foundation.viewpoint;
import org.openflexo.foundation.view.View;
import org.openflexo.foundation.viewpoint.ViewPoint.ViewPointBuilder;
import org.openflexo.localization.FlexoLocalization;
public class DiagramPatternRole extends PatternRole {
private ViewPoint viewpoint;
private String viewpointURI;
public DiagramPatternRole(ViewPointBuilder builder) {
super(builder);
}
@Override
public PatternRoleType getType() {
return PatternRoleType.Diagram;
}
@Override
public String getPreciseType() {
if (getViewpoint() != null) {
return getViewpoint().getName();
}
return FlexoLocalization.localizedForKey("diagram");
}
@Override
public Class<?> getAccessedClass() {
return View.class;
}
@Override
public boolean getIsPrimaryRole() {
return false;
}
@Override
public void setIsPrimaryRole(boolean isPrimary) {
// Not relevant
}
public ViewPoint getViewpoint() {
if (viewpoint == null && viewpointURI != null && getViewPointLibrary() != null) {
viewpoint = getViewPointLibrary().getViewPoint(viewpointURI);
}
return viewpoint;
}
public void setViewpoint(ViewPoint viewpoint) {
this.viewpoint = viewpoint;
if (viewpoint != null) {
viewpointURI = viewpoint.getURI();
}
}
public String _getViewpointURI() {
if (getViewpoint() != null) {
return getViewpoint().getURI();
}
return viewpointURI;
}
public void _setViewpointURI(String uri) {
if (getViewPointLibrary() != null) {
viewpoint = getViewPointLibrary().getViewPoint(uri);
}
viewpointURI = uri;
}
}