SAP NetWeaver '04

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

[contained in: com.sap.netweaver.bc.rf.par - bc.rf.util_api.jar]
java.lang.Object
  |
  +--com.sap.netweaver.bc.rf.util.flyweight.FlyWeight
        |
        +--com.sap.netweaver.bc.rf.util.flyweight.FlyWeightWithDescription
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable

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(java.io.Serializable id, java.lang.String description, boolean ignoreDuplicateRegistration)
          Construct instance of a flyweight with description.
 
Method Summary
 java.lang.String getDescription()
          Get description of the flyweight instance.
 java.lang.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(java.io.Serializable id,
                                   java.lang.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 java.lang.String getDescription()
Get description of the flyweight instance.
Returns:
description of the flyweight instance

toString

public java.lang.String toString()
Get descriptive text for this flyweight instance.
Overrides:
toString in class FlyWeight
Returns:
descriptive text for this flyweight instance

SAP NetWeaver '04

Copyright © 2004 by SAP AG. All Rights Reserved.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.

These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.