com.dlsc.flexgantt.policy
Class PolicyProvider

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by java.util.HashMap<java.lang.Class<? extends IPolicy>,IPolicy>
          extended by com.dlsc.flexgantt.policy.PolicyProvider
All Implemented Interfaces:
IPolicyProvider, java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.Class<? extends IPolicy>,IPolicy>

public class PolicyProvider
extends java.util.HashMap<java.lang.Class<? extends IPolicy>,IPolicy>
implements IPolicyProvider

For a detailed description refer to IPolicyProvider.

Since:
1.0
Author:
Dirk Lemmermann
See Also:
Serialized Form

Constructor Summary
PolicyProvider()
          Constructs a new policy provider.
 
Method Summary
 void addPolicyProviderListener(IPolicyProviderListener l)
          Adds a listener to the policy provider that will be informed about changes to the provider.
protected  void firePolicyProviderEvent(PolicyProviderEvent evt)
          Sends the given event object to all listeners that are currently observing the policy provider.
<T extends IPolicy>
T
getPolicy(java.lang.Class<T> policyType)
          Returns a policy implementation for the given policy type (policy interface).
 void removePolicyProviderListener(IPolicyProviderListener l)
          Removes a listener from the policy provider.
<T extends IPolicy>
void
setPolicy(java.lang.Class<T> policyType, T policy)
          Registers a policy implementation for the given policy type (policy interface).
 
Methods inherited from class java.util.HashMap
clear, clone, containsKey, containsValue, entrySet, get, isEmpty, keySet, put, putAll, remove, size, values
 
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Constructor Detail

PolicyProvider

public PolicyProvider()
Constructs a new policy provider.

Since:
1.0
Method Detail

setPolicy

public <T extends IPolicy> void setPolicy(java.lang.Class<T> policyType,
                                          T policy)
Description copied from interface: IPolicyProvider
Registers a policy implementation for the given policy type (policy interface).

Specified by:
setPolicy in interface IPolicyProvider
Type Parameters:
T - the policy type
Parameters:
policyType - the policy interface class (e.g. INodeEditPolicy)
policy - the policy implementation (e.g. DefaultNodeEditPolicy)
See Also:
IPolicyProvider.getPolicy(Class)

getPolicy

public <T extends IPolicy> T getPolicy(java.lang.Class<T> policyType)
Description copied from interface: IPolicyProvider
Returns a policy implementation for the given policy type (policy interface).

Specified by:
getPolicy in interface IPolicyProvider
Type Parameters:
T - the policy type
Parameters:
policyType - the policy interface class (e.g. INodeEditPolicy)
Returns:
a policy implementation (e.g. DefaultNodeEditPolicy)
See Also:
IPolicyProvider.setPolicy(Class, IPolicy)

addPolicyProviderListener

public void addPolicyProviderListener(IPolicyProviderListener l)
Description copied from interface: IPolicyProvider
Adds a listener to the policy provider that will be informed about changes to the provider.

Specified by:
addPolicyProviderListener in interface IPolicyProvider
Parameters:
l - the added policy provider listener

removePolicyProviderListener

public void removePolicyProviderListener(IPolicyProviderListener l)
Description copied from interface: IPolicyProvider
Removes a listener from the policy provider.

Specified by:
removePolicyProviderListener in interface IPolicyProvider
Parameters:
l - the removed policy provider listener

firePolicyProviderEvent

protected void firePolicyProviderEvent(PolicyProviderEvent evt)
Sends the given event object to all listeners that are currently observing the policy provider.

Parameters:
evt - the event sent to the listeners
Since:
1.0
See Also:
addPolicyProviderListener(IPolicyProviderListener)