PTLog API - 1.0

jp.ne.dti.lares.foozy.ptlog
Class LogServer

java.lang.Object
  extended byjp.ne.dti.lares.foozy.ptlog.LogServer
Direct Known Subclasses:
EffectiveLogServer, NullLogServer

public abstract class LogServer
extends java.lang.Object

Base of classes which provide log service or intermediate direction.

You must concretize below method(s) to have this function.


Constructor Summary
LogServer()
          Constructor.
 
Method Summary
protected abstract  void addServee_(LogServee servee)
          Add "LogServee" to management list.
 void addServee(LogServee servee)
          Add "LogServee" to management list.
protected  void fireReconfigure()
          Propagete notification of configuration changes.
abstract  LogContext getContext(java.lang.Object subject)
          Get context for specified log subject.
protected abstract  java.util.Iterator getServees()
          Get iterator of registered "LogServee"s.
static java.lang.String getSubjectName(java.lang.Object subject)
          Get subject name of specified object.
protected abstract  void removeServee_(LogServee servee)
          Remove "LogServee" from management list.
 void removeServee(LogServee servee)
          Remove "LogServee" from management list.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LogServer

public LogServer()
Constructor.

Method Detail

addServee

public final void addServee(LogServee servee)
Add "LogServee" to management list.

This invokes addServee_(jp.ne.dti.lares.foozy.ptlog.LogServee), then invokeds reconfigure on specified one.

Parameters:
servee - to be served by this.
See Also:
addServee_(jp.ne.dti.lares.foozy.ptlog.LogServee)

removeServee

public final void removeServee(LogServee servee)
Remove "LogServee" from management list.

This invokes removeServee_(jp.ne.dti.lares.foozy.ptlog.LogServee).

Parameters:
servee - not to be served by this.
See Also:
removeServee_(jp.ne.dti.lares.foozy.ptlog.LogServee)

getContext

public abstract LogContext getContext(java.lang.Object subject)
Get context for specified log subject.

Parameters:
subject - of logging request.
Returns:
context for specified subject.

getSubjectName

public static java.lang.String getSubjectName(java.lang.Object subject)
Get subject name of specified object.

This returns Class#getName, if specified subject is instance of Class. Otherwise, this returns #toString result applied on it.

Parameters:
subject - of logging
Returns:
name of subject

addServee_

protected abstract void addServee_(LogServee servee)
Add "LogServee" to management list.

Concretized class can ignore specified one, if no service is provided to it.

Parameters:
servee - to be served by this.
See Also:
addServee(jp.ne.dti.lares.foozy.ptlog.LogServee)

removeServee_

protected abstract void removeServee_(LogServee servee)
Remove "LogServee" from management list.

Concretized class can ignore specified one, if no service is provided to it.

Parameters:
servee - to be served by this.
See Also:
removeServee(jp.ne.dti.lares.foozy.ptlog.LogServee)

getServees

protected abstract java.util.Iterator getServees()
Get iterator of registered "LogServee"s.

This is invoked from fireReconfigure() to propagate notification to them.

This class does not "synchronize" servee list for runtime efficiency.

So, concretization of this method should ensure that returned iterator can safely complete iteration even if someone invokes addServee(jp.ne.dti.lares.foozy.ptlog.LogServee)(or #removeServee) in the middle of iteration.

Returns:
iterator of registered servees.
See Also:
fireReconfigure(), SafeList

fireReconfigure

protected final void fireReconfigure()
Propagete notification of configuration changes.

This invokes ConfigListener.reconfigure(jp.ne.dti.lares.foozy.ptlog.LogServer) on each elements contained by getServees() result.


PTLog API - 1.0