com.sap.netweaver.bc.rf.util.flyweight

Class FlyWeightWithDescription

java.lang.Object
  extended by com.sap.netweaver.bc.rf.util.flyweight.FlyWeight
      extended by com.sap.netweaver.bc.rf.util.flyweight.FlyWeightWithDescription
All Implemented Interfaces:
Serializable, Cloneable

public abstract class FlyWeightWithDescription
extends FlyWeight

Abstract class extending the flyweight pattern by a description. You have to extend this class and make all methods derived from this abstract class final (except for toString())! This is necessary in order to ensure, that no class can be derived from your class overriding and thereby changing the inner mechanism to create an flyweight instance only once, return the same object on clone() etc. It is of greatest importance to ensure that both the id and the flyweight object itself are immutable! Preknown flyweight instances may be added as public final static flyweight members. If you just need to have the predefined flyweight instances, implement an appropriate private constructor, otherwise make it public:


 public class Property extends FlyWeightWithDescription
 {
     public final static Property RO = new Property( "RO", "Read Only" );
     public final static Property MV = new Property( "MV", "Multi Value" );

     private Property ( final Serializable id, final String description )
     {
         super(  id, description );
     }
 }
 

See Also:
Serialized Form

Constructor Summary
protected FlyWeightWithDescription(Serializable id, String description, boolean ignoreDuplicateRegistration)
          Construct instance of a flyweight with description.
 
Method Summary
 String getDescription()
          Get description of the flyweight instance.
 String toString()
          Get descriptive text for this flyweight instance.
 
Methods inherited from class com.sap.netweaver.bc.rf.util.flyweight.FlyWeight
clone, equals, getAllFlyWeights, getAllFlyWeightsInherited, getFlyWeight, getFlyWeightId, getFlyWeightInherited, hashCode, removeAllFlyWeights, removeAllFlyWeightsInherited, removeFlyWeight, removeFlyWeightInherited
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FlyWeightWithDescription

protected FlyWeightWithDescription(Serializable id,
                                   String description,
                                   boolean ignoreDuplicateRegistration)
Construct instance of a flyweight with description.

Parameters:
id - flyweight id
description - flyweight description
ignoreDuplicateRegistration - when true, don't throw IllegalArgumentException exception when the id is already in use
Method Detail

getDescription

public String getDescription()
Get description of the flyweight instance.

Returns:
description of the flyweight instance

toString

public String toString()
Get descriptive text for this flyweight instance.

Overrides:
toString in class FlyWeight
Returns:
descriptive text for this flyweight instance
Access Rights

This class can be accessed from:


SC DC Public Part ACH
[sap.com] KMC-WPC [sap.com] tc/kmc/wpc/wpcfacade api EP-PIN-WPC-WCM
[sap.com] KMC-CM [sap.com] tc/km/frwk api EP-KM-CM


Copyright 2011 SAP AG Complete Copyright Notice