class MediaPublishEvent extends MediaEvent {
    public MediaPublishEvent(Object source) {
        super(source);
    }

    public static MediaPublishEvent getInstance(Object source, OnPublishHookParam hookParam, MediaServer mediaServer){<FILL_FUNCTION_BODY>}

    private String params;

    public String getParams() {
        return params;
    }

    public void setParams(String params) {
        this.params = params;
    }
}

        MediaPublishEvent mediaPublishEvent = new MediaPublishEvent(source);
        mediaPublishEvent.setApp(hookParam.getApp());
        mediaPublishEvent.setStream(hookParam.getStream());
        mediaPublishEvent.setMediaServer(mediaServer);
        mediaPublishEvent.setSchema(hookParam.getSchema());
        mediaPublishEvent.setParams(hookParam.getParams());
        return mediaPublishEvent;
    
<methods>public void <init>(java.lang.Object) ,public java.lang.String getApp() ,public com.genersoft.iot.vmp.media.bean.MediaServer getMediaServer() ,public java.lang.String getSchema() ,public java.lang.String getStream() ,public void setApp(java.lang.String) ,public void setMediaServer(com.genersoft.iot.vmp.media.bean.MediaServer) ,public void setSchema(java.lang.String) ,public void setStream(java.lang.String) <variables>private java.lang.String app,private com.genersoft.iot.vmp.media.bean.MediaServer mediaServer,private java.lang.String schema,private java.lang.String stream