001 package org.shiftone.jrat.core.spi; 002 003 004 import org.shiftone.jrat.core.shutdown.ShutdownListener; 005 006 import java.io.OutputStream; 007 import java.io.PrintWriter; 008 import java.io.Serializable; 009 import java.io.Writer; 010 import java.util.Properties; 011 012 013 /** 014 * @author jeff@shiftone.org (Jeff Drost) 015 */ 016 public interface RuntimeContext { 017 018 void writeSerializable(String fileName, Serializable serializable); 019 020 OutputStream createOutputStream(String fileName); 021 022 PrintWriter createPrintWriter(String fileName); 023 024 Writer createWriter(String fileName); 025 026 void registerMBean(Object mbean); 027 028 void registerMBean(Object mbean, String objectNameText); 029 030 void register(Commandlet commandlet); 031 032 long uniqNumber(); 033 034 void registerShutdownListener(ShutdownListener listener); 035 036 long getStartTimeMs(); 037 038 Properties getSystemPropertiesAtStartup(); 039 040 String getHostAddress(); 041 042 String getHostName(); 043 }