home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming Languages Suite
/
ProgLangD.iso
/
VCAFE.3.0A
/
Main.bin
/
SyntheticPropertyDescriptor.java
< prev
next >
Wrap
Text File
|
1998-10-25
|
3KB
|
87 lines
/*
* Copyright 1998 Symantec Corporation, All Rights Reserved.
*/
package com.symantec.itools.vcafe.openapi.beans;
import java.beans.FeatureDescriptor;
import java.beans.BeanDescriptor;
public class SyntheticPropertyDescriptor
extends FeatureDescriptor
{
public SyntheticPropertyDescriptor
(String propertyName,
Class propertyClass)
{
setName(propertyName);
m_SyntheticPropertyClass = propertyClass;
}
public Class getSyntheticPropertyClass()
{
return m_SyntheticPropertyClass;
}
public String getSyntheticPropertyClassName()
{
return m_SyntheticPropertyClass.getName();
}
//
// Helper Methods
//
public static final String SYNTHETIC_PROPERTY_DESCRIPTOR_ATTRIBUTE = "syntheticPropertyDescriptors";
public final static void addSyntheticPropertyDescriptor
(BeanDescriptor beanDescriptor,
SyntheticPropertyDescriptor syntheticPD)
{
try
{
SyntheticPropertyDescriptor[] synthPDs =
(SyntheticPropertyDescriptor[])beanDescriptor.getValue(SYNTHETIC_PROPERTY_DESCRIPTOR_ATTRIBUTE);
if (synthPDs == null)
{
synthPDs = new SyntheticPropertyDescriptor[1];
synthPDs[0] = syntheticPD;
beanDescriptor.setValue(SYNTHETIC_PROPERTY_DESCRIPTOR_ATTRIBUTE,synthPDs);
return;
}
SyntheticPropertyDescriptor[] newSynthPDs = new SyntheticPropertyDescriptor[synthPDs.length + 1];
System.arraycopy(synthPDs,0,newSynthPDs,0,synthPDs.length);
newSynthPDs[synthPDs.length] = syntheticPD;
beanDescriptor.setValue(SYNTHETIC_PROPERTY_DESCRIPTOR_ATTRIBUTE,newSynthPDs);
}
catch(ClassCastException e)
{
}
}
public final static SyntheticPropertyDescriptor[] getSyntheticPropertyDescriptors(BeanDescriptor beanDescriptor)
{
try
{
SyntheticPropertyDescriptor[] synthPDs =
(SyntheticPropertyDescriptor[])beanDescriptor.getValue(SYNTHETIC_PROPERTY_DESCRIPTOR_ATTRIBUTE);
return synthPDs;
}
catch(ClassCastException e)
{
}
return null;
}
//
// Implementation
//
protected Class m_SyntheticPropertyClass;
}