public void drawLine(List<mxPoint> pts,Map<String,Object> style){
  Color penColor=mxUtils.getStyleStrokeColor(style,Color.BLACK);
  float penWidth=mxUtils.getStyleStrokeWidth(style,(float)1);
  if (penColor != null && penWidth > 0) {
    String shape=mxUtils.getString(style,mxConstants.STYLE_SHAPE,"");
    if (shape.equals(mxConstants.SHAPE_ARROW)) {
      setStroke(penWidth,style);
      mxPoint p0=pts.get(0);
      mxPoint pe=pts.get(pts.size() - 1);
      Rectangle bounds=new Rectangle(p0.getPoint());
      bounds.add(pe.getPoint());
      Color fillColor=mxUtils.getStyleFillColor(style);
      Paint fillPaint=getFillPaint(bounds,fillColor,style);
      boolean shadow=mxUtils.isTrue(style,mxConstants.STYLE_SHADOW,false);
      drawArrow(pts,fillColor,fillPaint,penColor,shadow);
    }
 else {
      Object startMarker=style.get(mxConstants.STYLE_STARTARROW);
      Object endMarker=style.get(mxConstants.STYLE_ENDARROW);
      float startSize=(float)(mxUtils.getFloat(style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE));
      float endSize=(float)(mxUtils.getFloat(style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE));
      boolean rounded=mxUtils.isTrue(style,mxConstants.STYLE_ROUNDED,false);
      drawConnector(pts,penWidth,penColor,startMarker,startSize,endMarker,endSize,rounded,style);
    }
  }
}

public void drawLine ( List < mxPoint > pts , Map < String , Object > style ) { Color penColor = mxUtils . getStyleStrokeColor ( style , Color . BLACK ) ; float penWidth = mxUtils . getStyleStrokeWidth ( style , ( float ) 1 ) ; if ( penColor != null && penWidth > 0 ) { String shape = mxUtils . getString ( style , mxConstants . STYLE_SHAPE , "" ) ; if ( shape . equals ( mxConstants . SHAPE_ARROW ) ) { setStroke ( penWidth , style ) ; mxPoint p0 = pts . get ( 0 ) ; mxPoint pe = pts . get ( pts . size ( ) - 1 ) ; Rectangle bounds = new Rectangle ( p0 . getPoint ( ) ) ; bounds . add ( pe . getPoint ( ) ) ; Color fillColor = mxUtils . getStyleFillColor ( style ) ; Paint fillPaint = getFillPaint ( bounds , fillColor , style ) ; boolean shadow = mxUtils . isTrue ( style , mxConstants . STYLE_SHADOW , false ) ; drawArrow ( pts , fillColor , fillPaint , penColor , shadow ) ; } else { Object startMarker = style . get ( mxConstants . STYLE_STARTARROW ) ; Object endMarker = style . get ( mxConstants . STYLE_ENDARROW ) ; float startSize = ( float ) ( mxUtils . getFloat ( style , mxConstants . STYLE_STARTSIZE , mxConstants . DEFAULT_MARKERSIZE ) ) ; float endSize = ( float ) ( mxUtils . getFloat ( style , mxConstants . STYLE_ENDSIZE , mxConstants . DEFAULT_MARKERSIZE ) ) ; boolean rounded = mxUtils . isTrue ( style , mxConstants . STYLE_ROUNDED , false ) ; drawConnector ( pts , penWidth , penColor , startMarker , startSize , endMarker , endSize , rounded , style ) ; } } }
draws the given lines as segments between all points of the given list of mxpoints .
