wt.federation
Class ProxyPartMaster

java.lang.Object
  extended bywt.fc.WTObject
      extended bywt.enterprise.Master
          extended bywt.part.WTPartMaster
              extended bywt.federation.ProxyPartMaster
All Implemented Interfaces:
BuildTargetMaster, BusinessInformation, DisplayIdentification, ElectronicallySignable, Externalizable, Federatable, Federated, IBAHolder, Identified, Mastered, NetFactor, ObjectMappable, OrganizationOwned, OrganizationOwnedImpl, OrganizationOwnedMaster, Part, PartMaster, Persistable, ProductSolution, RecentlyVisited, Releasable, RemotelyLinkable, RepresentableMaster, RepresentablesAndMasters, Serializable, UniquelyIdentified, WTContained, WTContainedIdentified

public class ProxyPartMaster
extends WTPartMaster
implements Federated, Externalizable

Use the newProxyPartMaster static factory method(s), not the ProxyPartMaster constructor, to construct instances of this class. Instances must be constructed using the static factory(s), in order to ensure proper initialization of the instance.



Supported API: true

Extendable: false

See Also:
Serialized Form

Field Summary
private static String CLASSNAME
           
private  long expirationTime
           
static long EXTERNALIZATION_VERSION_UID
           
protected static long OLD_FORMAT_VERSION_UID
           
private  long refreshTime
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
private  ServiceIdentifier serviceId
           
static String SOURCE_ATTRIBUTES
          Label for the attribute.
static String SOURCE_NAME
          Label for the attribute.
private static int SOURCE_NAME_UPPER_LIMIT
           
static String SOURCE_NUMBER
          Label for the attribute.
private static int SOURCE_NUMBER_UPPER_LIMIT
           
private  Hashtable sourceAttributes
           
private  String sourceName
           
private  String sourceNumber
           
private  String sourceObjectId
           
private  String sourceURL
           
 
Fields inherited from class wt.part.WTPartMaster
CONTAINER, DEFAULT_UNIT, NAME, NUMBER, R51_EXTERNALIZATION_VERSION_UID
 
Fields inherited from class wt.enterprise.Master
 
Fields inherited from class wt.fc.WTObject
CREATE_TIMESTAMP, MODIFY_TIMESTAMP
 
Fields inherited from interface wt.federation.Federated
EXPIRATION_TIME, REFRESH_TIME, SERVICE_ID, SOURCE_OBJECT_ID, SOURCE_URL
 
Fields inherited from interface wt.fc.Persistable
IDENTITY, PERSIST_INFO, TYPE
 
Fields inherited from interface wt.iba.value.IBAHolder
ATTRIBUTE_CONTAINER
 
Fields inherited from interface wt.ufid.Federatable
FEDERATABLE_INFO
 
Fields inherited from interface wt.inf.container.WTContained
CONTAINER_ID, CONTAINER_NAME, CONTAINER_REFERENCE
 
Fields inherited from interface wt.vc.Mastered
SERIES
 
Fields inherited from interface wt.org.OrganizationOwnedImpl
ORGANIZATION_REFERENCE
 
Fields inherited from interface wt.org.OrganizationOwned
ORGANIZATION, ORGANIZATION_CODING_SYSTEM, ORGANIZATION_NAME, ORGANIZATION_UNIQUE_IDENTIFIER
 
Fields inherited from interface wt.inf.container.WTContainedIdentified
CONTAINER_REFERENCE
 
Fields inherited from interface wt.fc.BusinessInformation
BUSINESS_TYPE, IDENTITY
 
Fields inherited from interface wt.identity.DisplayIdentification
DISPLAY_IDENTIFIER, DISPLAY_IDENTITY, DISPLAY_TYPE
 
Constructor Summary
ProxyPartMaster()
          No-argument constructor returning an initialized instance of the class.
 
Method Summary
 boolean equals(Object obj)
          Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers.
 QueryResult findLinks(Class targetLinkClass, String obj1Role, Persistable obj2)
          Return all link objects that exist between the Federated object and the specified source object.
 String getAttributeValueAt(String name, int index)
          

Supported API: false
 Vector getAttributeValues(String name)
          

Supported API: false
 String getConceptualClassname()
          Deprecated.  
 long getExpirationTime()
          Gets the value of the attribute: EXPIRATION_TIME.
 long getRefreshTime()
          Gets the value of the attribute: REFRESH_TIME.
 FederatedService getService()
          Return the service object referenced by the serviceId attribute.
 ServiceIdentifier getServiceId()
          Gets the object for the association that plays role: SERVICE_ID.
 Hashtable getSourceAttributes()
          Gets the value of the attribute: SOURCE_ATTRIBUTES.
 String getSourceName()
          Gets the value of the attribute: SOURCE_NAME.
 String getSourceNumber()
          Gets the value of the attribute: SOURCE_NUMBER.
 String getSourceObjectId()
          Gets the value of the attribute: SOURCE_OBJECT_ID.
 String getSourceURL()
          Gets the value of the attribute: SOURCE_URL.
 int hashCode()
          Returns a hash code for this object based upon its ObjectIdentifier.
protected  void initialize(String name, String number)
          Supports initialization, following construction of an instance.
 QueryResult navigate(String role, Class linkClass, boolean onlyOtherSide)
          Return objects related to this federated source object given a role and link class.
 QueryResult navigate(String role, QuerySpec criteria, boolean onlyOtherSide)
          Return objects related to this federated source object given a role and link selection crtieria.
static ProxyPartMaster newProxyPartMaster(String name, String number)
          

Supported API: false
 void postStore()
          The persistence manager calls this method just after storing the proxy object in the database.
 void prepareForStore()
          The persistence manager calls this method just before storing the proxy object in the database.
 void preset()
          This method is called when a proxy object is first created by a service, just after the object is instantiated and its readExternal method has been called to populate its properties from attributes obtained from the remote information source.
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
 void readExternal(PersistentRetrieveIfc input)
          Used by Persistent Data Service to populate the persistent attributes of this class from a persistent store.
private  boolean readOldVersion(ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source, which is not the current version.
protected  boolean readVersion(ProxyPartMaster thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void refresh()
          Refresh the derived attributes of the object.
 void refreshIfStale()
          Refresh the derived attributes of the object, but only if the properties are stale.
private  void retrieveSourceAttributes()
          Retrieve the raw attributes of the object.
private  void serviceIdValidate(ServiceIdentifier a_ServiceId)
           
 void setExpirationTime(long a_ExpirationTime)
          Sets the value of the attribute: EXPIRATION_TIME.
 void setRefreshTime(long a_RefreshTime)
          Sets the value of the attribute: REFRESH_TIME.
 void setServiceId(ServiceIdentifier a_ServiceId)
          Sets the object for the association that plays role: SERVICE_ID.
 void setSourceAttributes(Hashtable a_SourceAttributes)
          Sets the value of the attribute: SOURCE_ATTRIBUTES.
 void setSourceName(String a_SourceName)
          Sets the value of the attribute: SOURCE_NAME.
 void setSourceNumber(String a_SourceNumber)
          Sets the value of the attribute: SOURCE_NUMBER.
 void setSourceObjectId(String a_SourceObjectId)
          Sets the value of the attribute: SOURCE_OBJECT_ID.
 void setSourceURL(String a_SourceURL)
          Sets the value of the attribute: SOURCE_URL.
private  void sourceNameValidate(String a_SourceName)
           
private  void sourceNumberValidate(String a_SourceNumber)
           
private  void sourceObjectIdValidate(String a_SourceObjectId)
           
private  void sourceURLValidate(String a_SourceURL)
           
 void update()
          Update the derived attributes of the object on the source service.
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 void writeExternal(PersistentStoreIfc output)
          Used by Persistent Data Service to obtain the values of the persistent attributes of this class, so they can be written to a persistent store.
 
Methods inherited from class wt.part.WTPartMaster
checkAttributes, getAttributeContainer, getContainer, getContainerName, getContainerReference, getDefaultUnit, getFederatableInfo, getIdentificationObject, getIdentity, getName, getNumber, getOrganization, getOrganizationCodingSystem, getOrganizationName, getOrganizationReference, getOrganizationUniqueIdentifier, newWTPartMaster, readVersion, setAttributeContainer, setContainer, setContainerReference, setDefaultUnit, setFederatableInfo, setName, setNumber, setOrganization, setOrganizationReference
 
Methods inherited from class wt.enterprise.Master
getBusinessType, getSeries, readVersion, setSeries
 
Methods inherited from class wt.fc.WTObject
duplicate, finalize, getClassInfo, getCreateTimestamp, getDisplayIdentifier, getDisplayIdentity, getDisplayType, getModifyTimestamp, getPersistInfo, getType, initialize, readVersion, setPersistInfo, toString
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface wt.fc.Persistable
getPersistInfo, getType, setPersistInfo
 
Methods inherited from interface wt.fc.NetFactor
getClassInfo
 
Methods inherited from interface wt.vc.Mastered
getSeries, setSeries
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

SOURCE_NAME

public static final String SOURCE_NAME
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

SOURCE_NAME_UPPER_LIMIT

private static int SOURCE_NAME_UPPER_LIMIT

sourceName

private String sourceName

SOURCE_NUMBER

public static final String SOURCE_NUMBER
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

SOURCE_NUMBER_UPPER_LIMIT

private static int SOURCE_NUMBER_UPPER_LIMIT

sourceNumber

private String sourceNumber

SOURCE_ATTRIBUTES

public static final String SOURCE_ATTRIBUTES
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

sourceAttributes

private Hashtable sourceAttributes

sourceObjectId

private String sourceObjectId

sourceURL

private String sourceURL

expirationTime

private long expirationTime

refreshTime

private long refreshTime

serviceId

private ServiceIdentifier serviceId

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

EXTERNALIZATION_VERSION_UID

public static final long EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values

OLD_FORMAT_VERSION_UID

protected static final long OLD_FORMAT_VERSION_UID
See Also:
Constant Field Values
Constructor Detail

ProxyPartMaster

public ProxyPartMaster()
                throws WTException
No-argument constructor returning an initialized instance of the class. This is needed in order to ensure that ProxyPartMaster objects are fully initialized when created dynamically by FederatedService objects.

Throws:
WTException
Method Detail

writeExternal

public void writeExternal(ObjectOutput output)
                   throws IOException
Writes the non-transient fields of this class to an external source.

Supported API: false

Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class WTPartMaster
Parameters:
output -
Throws:
IOException

readExternal

public void readExternal(ObjectInput input)
                  throws IOException,
                         ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class WTPartMaster
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(ProxyPartMaster thisObject,
                              ObjectInput input,
                              long readSerialVersionUID,
                              boolean passThrough,
                              boolean superDone)
                       throws IOException,
                              ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Parameters:
thisObject -
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

readOldVersion

private boolean readOldVersion(ObjectInput input,
                               long readSerialVersionUID,
                               boolean passThrough,
                               boolean superDone)
                        throws IOException,
                               ClassNotFoundException
Reads the non-transient fields of this class from an external source, which is not the current version.

Parameters:
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

writeExternal

public void writeExternal(PersistentStoreIfc output)
                   throws SQLException,
                          DatastoreException
Used by Persistent Data Service to obtain the values of the persistent attributes of this class, so they can be written to a persistent store.

(Not intended for general use.)

Supported API: false

Specified by:
writeExternal in interface ObjectMappable
Overrides:
writeExternal in class WTPartMaster
Parameters:
output -
Throws:
SQLException
DatastoreException

readExternal

public void readExternal(PersistentRetrieveIfc input)
                  throws SQLException,
                         DatastoreException
Used by Persistent Data Service to populate the persistent attributes of this class from a persistent store.

(Not intended for general use.)

Supported API: false

Specified by:
readExternal in interface ObjectMappable
Overrides:
readExternal in class WTPartMaster
Parameters:
input -
Throws:
SQLException
DatastoreException

getConceptualClassname

public String getConceptualClassname()
Deprecated.  

Returns the conceptual (modeled) name for the class.

Supported API: false

Specified by:
getConceptualClassname in interface NetFactor
Overrides:
getConceptualClassname in class WTPartMaster
Returns:
String

getSourceName

public String getSourceName()
Gets the value of the attribute: SOURCE_NAME.

Supported API: false

Returns:
String

setSourceName

public void setSourceName(String a_SourceName)
                   throws WTPropertyVetoException
Sets the value of the attribute: SOURCE_NAME.

Supported API: false

Parameters:
a_SourceName -
Throws:
WTPropertyVetoException

sourceNameValidate

private void sourceNameValidate(String a_SourceName)
                         throws WTPropertyVetoException
Parameters:
a_SourceName -
Throws:
WTPropertyVetoException

getSourceNumber

public String getSourceNumber()
Gets the value of the attribute: SOURCE_NUMBER.

Supported API: false

Returns:
String

setSourceNumber

public void setSourceNumber(String a_SourceNumber)
                     throws WTPropertyVetoException
Sets the value of the attribute: SOURCE_NUMBER.

Supported API: false

Parameters:
a_SourceNumber -
Throws:
WTPropertyVetoException

sourceNumberValidate

private void sourceNumberValidate(String a_SourceNumber)
                           throws WTPropertyVetoException
Parameters:
a_SourceNumber -
Throws:
WTPropertyVetoException

getSourceAttributes

public Hashtable getSourceAttributes()
Gets the value of the attribute: SOURCE_ATTRIBUTES.

Supported API: false

Returns:
Hashtable

setSourceAttributes

public void setSourceAttributes(Hashtable a_SourceAttributes)
                         throws WTPropertyVetoException
Sets the value of the attribute: SOURCE_ATTRIBUTES.

Supported API: false

Parameters:
a_SourceAttributes -
Throws:
WTPropertyVetoException

newProxyPartMaster

public static ProxyPartMaster newProxyPartMaster(String name,
                                                 String number)
                                          throws WTException


Supported API: false

Parameters:
name -
number -
Returns:
ProxyPartMaster
Throws:
WTException

initialize

protected void initialize(String name,
                          String number)
                   throws WTException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: false

Parameters:
name -
number -
Throws:
WTException

getAttributeValues

public Vector getAttributeValues(String name)


Supported API: false

Parameters:
name -
Returns:
Vector

getAttributeValueAt

public String getAttributeValueAt(String name,
                                  int index)


Supported API: false

Parameters:
name -
index -
Returns:
String

getSourceObjectId

public String getSourceObjectId()
Gets the value of the attribute: SOURCE_OBJECT_ID.

Supported API: false

Specified by:
getSourceObjectId in interface Federated
Returns:
String

setSourceObjectId

public void setSourceObjectId(String a_SourceObjectId)
                       throws WTPropertyVetoException
Sets the value of the attribute: SOURCE_OBJECT_ID.

Supported API: false

Specified by:
setSourceObjectId in interface Federated
Parameters:
a_SourceObjectId -
Throws:
WTPropertyVetoException

sourceObjectIdValidate

private void sourceObjectIdValidate(String a_SourceObjectId)
                             throws WTPropertyVetoException
Parameters:
a_SourceObjectId -
Throws:
WTPropertyVetoException

getSourceURL

public String getSourceURL()
Gets the value of the attribute: SOURCE_URL.

Supported API: false

Specified by:
getSourceURL in interface Federated
Returns:
String

setSourceURL

public void setSourceURL(String a_SourceURL)
                  throws WTPropertyVetoException
Sets the value of the attribute: SOURCE_URL.

Supported API: false

Specified by:
setSourceURL in interface Federated
Parameters:
a_SourceURL -
Throws:
WTPropertyVetoException

sourceURLValidate

private void sourceURLValidate(String a_SourceURL)
                        throws WTPropertyVetoException
Parameters:
a_SourceURL -
Throws:
WTPropertyVetoException

getExpirationTime

public long getExpirationTime()
Gets the value of the attribute: EXPIRATION_TIME.

Supported API: false

Specified by:
getExpirationTime in interface Federated
Returns:
long

setExpirationTime

public void setExpirationTime(long a_ExpirationTime)
                       throws WTPropertyVetoException
Sets the value of the attribute: EXPIRATION_TIME.

Supported API: false

Specified by:
setExpirationTime in interface Federated
Parameters:
a_ExpirationTime -
Throws:
WTPropertyVetoException

getRefreshTime

public long getRefreshTime()
Gets the value of the attribute: REFRESH_TIME.

Supported API: false

Specified by:
getRefreshTime in interface Federated
Returns:
long

setRefreshTime

public void setRefreshTime(long a_RefreshTime)
                    throws WTPropertyVetoException
Sets the value of the attribute: REFRESH_TIME.

Supported API: false

Specified by:
setRefreshTime in interface Federated
Parameters:
a_RefreshTime -
Throws:
WTPropertyVetoException

getService

public FederatedService getService()
                            throws FederationServicesException
Return the service object referenced by the serviceId attribute.

Supported API: true

Specified by:
getService in interface Federated
Returns:
FederatedService
Throws:
FederationServicesException

preset

public void preset()
            throws FederationServicesException
This method is called when a proxy object is first created by a service, just after the object is instantiated and its readExternal method has been called to populate its properties from attributes obtained from the remote information source. This method allows the proxy object to do further class-specific initialization.

Supported API: true

Specified by:
preset in interface Federated
Throws:
FederationServicesException

refresh

public void refresh()
             throws FederationServicesException
Refresh the derived attributes of the object.

Supported API: true

Specified by:
refresh in interface Federated
Throws:
FederationServicesException

refreshIfStale

public void refreshIfStale()
                    throws FederationServicesException
Refresh the derived attributes of the object, but only if the properties are stale.

Supported API: true

Specified by:
refreshIfStale in interface Federated
Throws:
FederationServicesException

update

public void update()
            throws FederationServicesException
Update the derived attributes of the object on the source service.

Supported API: true

Specified by:
update in interface Federated
Throws:
FederationServicesException

prepareForStore

public void prepareForStore()
                     throws FederationServicesException
The persistence manager calls this method just before storing the proxy object in the database. This gives the object an opportunity to make associated proxy objects persistent, if necessary.

Supported API: true

Specified by:
prepareForStore in interface Federated
Throws:
FederationServicesException

findLinks

public QueryResult findLinks(Class targetLinkClass,
                             String obj1Role,
                             Persistable obj2)
                      throws FederationServicesException
Return all link objects that exist between the Federated object and the specified source object.

Supported API: true

Specified by:
findLinks in interface Federated
Parameters:
targetLinkClass -
obj1Role -
obj2 -
Returns:
QueryResult
Throws:
FederationServicesException

navigate

public QueryResult navigate(String role,
                            Class linkClass,
                            boolean onlyOtherSide)
                     throws FederationServicesException
Return objects related to this federated source object given a role and link class. Return only the related objects themselves if specified. Otherwise, return both the related objects as well as the link objects that associate them with the source object.

Supported API: true

Specified by:
navigate in interface Federated
Parameters:
role -
linkClass -
onlyOtherSide -
Returns:
QueryResult
Throws:
FederationServicesException

navigate

public QueryResult navigate(String role,
                            QuerySpec criteria,
                            boolean onlyOtherSide)
                     throws FederationServicesException
Return objects related to this federated source object given a role and link selection crtieria. Return only the related objects themselves if specified. Otherwise, return both the related objects as well as the link objects that associate them with the source object.

Supported API: true

Specified by:
navigate in interface Federated
Parameters:
role -
criteria -
onlyOtherSide -
Returns:
QueryResult
Throws:
FederationServicesException

postStore

public void postStore()
               throws FederationServicesException
The persistence manager calls this method just after storing the proxy object in the database. This gives the object an opportunity to make associated objects persistent, if necessary. For example, links between the proxy object and other objects need to be persisted after the proxy object is persisted.

Supported API: true

Specified by:
postStore in interface Federated
Throws:
FederationServicesException

getServiceId

public ServiceIdentifier getServiceId()
Gets the object for the association that plays role: SERVICE_ID.

Supported API: true

Specified by:
getServiceId in interface Federated
Returns:
ServiceIdentifier

setServiceId

public void setServiceId(ServiceIdentifier a_ServiceId)
                  throws WTPropertyVetoException
Sets the object for the association that plays role: SERVICE_ID.

Supported API: true

Specified by:
setServiceId in interface Federated
Parameters:
a_ServiceId -
Throws:
WTPropertyVetoException

serviceIdValidate

private void serviceIdValidate(ServiceIdentifier a_ServiceId)
                        throws WTPropertyVetoException
Parameters:
a_ServiceId -
Throws:
WTPropertyVetoException

equals

public boolean equals(Object obj)
Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers. Changed or stale copies are still considered equal by this method. Delegates to PersistenceHelper.equals(Persistable,Object).

Warning: Certain core Windchill operations may depend upon equals being ObjectIdentifier-based. Changes to the default implementation should be done with care, if at all.

Supported API: false

Overrides:
equals in class WTPartMaster
Parameters:
obj -
Returns:
boolean

hashCode

public int hashCode()
Returns a hash code for this object based upon its ObjectIdentifier. Delegates to PersistenceHelper.hashCode(Persistable).

Warning: Certain core Windchill operations may depend upon hashCode being ObjectIdentifier-based. Changes to the default implementation should be done with care, if at all.

Supported API: false

Overrides:
hashCode in class WTPartMaster
Returns:
int

retrieveSourceAttributes

private void retrieveSourceAttributes()
                               throws FederationServicesException
Retrieve the raw attributes of the object.

Throws:
FederationServicesException