Package org.flowable.cmmn.image.impl
Class DefaultCaseDiagramGenerator
- java.lang.Object
-
- org.flowable.cmmn.image.impl.DefaultCaseDiagramGenerator
-
- All Implemented Interfaces:
CaseDiagramGenerator
public class DefaultCaseDiagramGenerator extends Object implements CaseDiagramGenerator
Class to generate an image based the diagram interchange information in a CMMN 1.1 case.- Author:
- Tijs Rademakers
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interfaceDefaultCaseDiagramGenerator.ActivityDrawInstruction
-
Field Summary
Fields Modifier and Type Field Description protected Map<Class<? extends CmmnElement>,DefaultCaseDiagramGenerator.ActivityDrawInstruction>activityDrawInstructions
-
Constructor Summary
Constructors Constructor Description DefaultCaseDiagramGenerator()DefaultCaseDiagramGenerator(double scaleFactor)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static List<GraphicInfo>connectionPerfectionizer(DefaultCaseDiagramCanvas caseDiagramCanvas, CmmnModel cmmnModel, BaseElement sourceElement, BaseElement targetElement, List<GraphicInfo> graphicInfoList)protected voiddrawActivity(DefaultCaseDiagramCanvas caseDiagramCanvas, CmmnModel cmmnModel, PlanItem planItem, double scaleFactor)protected voiddrawAssociation(DefaultCaseDiagramCanvas caseDiagramCanvas, CmmnModel cmmnModel, Association association, double scaleFactor)protected DefaultCaseDiagramCanvasgenerateCaseDiagram(CmmnModel cmmnModel, String imageType, String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader, double scaleFactor)InputStreamgenerateDiagram(CmmnModel cmmnModel, String imageType)Generates a diagram of the given process definition, using the diagram interchange information of the process.InputStreamgenerateDiagram(CmmnModel cmmnModel, String imageType, double scaleFactor)InputStreamgenerateDiagram(CmmnModel cmmnModel, String imageType, String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader)InputStreamgenerateDiagram(CmmnModel cmmnModel, String imageType, String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader, double scaleFactor)Generates a diagram of the given case definition, using the diagram interchange information of the case.BufferedImagegenerateImage(CmmnModel cmmnModel, String imageType, double scaleFactor)BufferedImagegenerateImage(CmmnModel cmmnModel, String imageType, String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader, double scaleFactor)InputStreamgenerateJpgDiagram(CmmnModel cmmnModel)InputStreamgenerateJpgDiagram(CmmnModel cmmnModel, double scaleFactor)InputStreamgeneratePngDiagram(CmmnModel cmmnModel)InputStreamgeneratePngDiagram(CmmnModel cmmnModel, double scaleFactor)BufferedImagegeneratePngImage(CmmnModel cmmnModel, double scaleFactor)Map<Class<? extends CmmnElement>,DefaultCaseDiagramGenerator.ActivityDrawInstruction>getActivityDrawInstructions()protected static GraphicInfogetLineCenter(List<GraphicInfo> graphicInfoList)protected static DefaultCaseDiagramCanvas.SHAPE_TYPEgetShapeType(BaseElement baseElement)This method returns shape type of base element.
Each element can be presented as rectangle, rhombus, or ellipse.protected static DefaultCaseDiagramCanvasinitCaseDiagramCanvas(CmmnModel cmmnModel, String imageType, String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader)protected voidprepareCmmnModel(CmmnModel cmmnModel)voidsetActivityDrawInstructions(Map<Class<? extends CmmnElement>,DefaultCaseDiagramGenerator.ActivityDrawInstruction> activityDrawInstructions)
-
-
-
Field Detail
-
activityDrawInstructions
protected Map<Class<? extends CmmnElement>,DefaultCaseDiagramGenerator.ActivityDrawInstruction> activityDrawInstructions
-
-
Method Detail
-
generateDiagram
public InputStream generateDiagram(CmmnModel cmmnModel, String imageType, String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader, double scaleFactor)
Description copied from interface:CaseDiagramGeneratorGenerates a diagram of the given case definition, using the diagram interchange information of the case.- Specified by:
generateDiagramin interfaceCaseDiagramGenerator- Parameters:
cmmnModel- cmmn model to get diagram forimageType- type of the image to generate.activityFontName- override the default activity fontlabelFontName- override the default label fontcustomClassLoader- provide a custom classloader for retrieving icon images
-
generateDiagram
public InputStream generateDiagram(CmmnModel cmmnModel, String imageType)
Description copied from interface:CaseDiagramGeneratorGenerates a diagram of the given process definition, using the diagram interchange information of the process.- Specified by:
generateDiagramin interfaceCaseDiagramGenerator- Parameters:
cmmnModel- cmmn model to get diagram forimageType- type of the image to generate.
-
generateDiagram
public InputStream generateDiagram(CmmnModel cmmnModel, String imageType, double scaleFactor)
- Specified by:
generateDiagramin interfaceCaseDiagramGenerator
-
generateDiagram
public InputStream generateDiagram(CmmnModel cmmnModel, String imageType, String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader)
- Specified by:
generateDiagramin interfaceCaseDiagramGenerator
-
generatePngDiagram
public InputStream generatePngDiagram(CmmnModel cmmnModel)
- Specified by:
generatePngDiagramin interfaceCaseDiagramGenerator
-
generatePngDiagram
public InputStream generatePngDiagram(CmmnModel cmmnModel, double scaleFactor)
- Specified by:
generatePngDiagramin interfaceCaseDiagramGenerator
-
generateJpgDiagram
public InputStream generateJpgDiagram(CmmnModel cmmnModel)
- Specified by:
generateJpgDiagramin interfaceCaseDiagramGenerator
-
generateJpgDiagram
public InputStream generateJpgDiagram(CmmnModel cmmnModel, double scaleFactor)
- Specified by:
generateJpgDiagramin interfaceCaseDiagramGenerator
-
generateImage
public BufferedImage generateImage(CmmnModel cmmnModel, String imageType, String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader, double scaleFactor)
-
generateImage
public BufferedImage generateImage(CmmnModel cmmnModel, String imageType, double scaleFactor)
-
generatePngImage
public BufferedImage generatePngImage(CmmnModel cmmnModel, double scaleFactor)
- Specified by:
generatePngImagein interfaceCaseDiagramGenerator
-
generateCaseDiagram
protected DefaultCaseDiagramCanvas generateCaseDiagram(CmmnModel cmmnModel, String imageType, String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader, double scaleFactor)
-
prepareCmmnModel
protected void prepareCmmnModel(CmmnModel cmmnModel)
-
drawActivity
protected void drawActivity(DefaultCaseDiagramCanvas caseDiagramCanvas, CmmnModel cmmnModel, PlanItem planItem, double scaleFactor)
-
drawAssociation
protected void drawAssociation(DefaultCaseDiagramCanvas caseDiagramCanvas, CmmnModel cmmnModel, Association association, double scaleFactor)
-
connectionPerfectionizer
protected static List<GraphicInfo> connectionPerfectionizer(DefaultCaseDiagramCanvas caseDiagramCanvas, CmmnModel cmmnModel, BaseElement sourceElement, BaseElement targetElement, List<GraphicInfo> graphicInfoList)
-
getShapeType
protected static DefaultCaseDiagramCanvas.SHAPE_TYPE getShapeType(BaseElement baseElement)
This method returns shape type of base element.
Each element can be presented as rectangle, rhombus, or ellipse.- Parameters:
baseElement-- Returns:
- DefaultCaseDiagramCanvas.SHAPE_TYPE
-
getLineCenter
protected static GraphicInfo getLineCenter(List<GraphicInfo> graphicInfoList)
-
initCaseDiagramCanvas
protected static DefaultCaseDiagramCanvas initCaseDiagramCanvas(CmmnModel cmmnModel, String imageType, String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader)
-
getActivityDrawInstructions
public Map<Class<? extends CmmnElement>,DefaultCaseDiagramGenerator.ActivityDrawInstruction> getActivityDrawInstructions()
-
setActivityDrawInstructions
public void setActivityDrawInstructions(Map<Class<? extends CmmnElement>,DefaultCaseDiagramGenerator.ActivityDrawInstruction> activityDrawInstructions)
-
-