com.ptc.windchill.counterpart.metadata.classnode
Class cAbstractClassificationNode

java.lang.Object
  extended bycom.ptc.windchill.counterpart.metadata.cEntry
      extended bycom.ptc.windchill.counterpart.metadata.cPrivateClassificationEntry
          extended bycom.ptc.windchill.counterpart.metadata.cPubMappedEntry
              extended bycom.ptc.windchill.counterpart.metadata.classnode.cAbstractClassificationNode
All Implemented Interfaces:
nitidus.sil.be.core.iConflict, nitidus.sil.be.core.iEntryIO, nitidus.sil.be.clf.iPartClassIO, nitidus.sil.be.clf.iPrivateClassificationEntryIO, nitidus.sil.be.clf.iPubMappedEntryIO, nitidus.sil.be.core.iRecordIO, nitidus.sil.be.core.iRevisionControlledEntryIO, nitidus.sil.be.core.iVetoableEntryIO
Direct Known Subclasses:
cClassifiableModeledNode, cClassificationNode, cModeledNode

public abstract class cAbstractClassificationNode
extends cPubMappedEntry
implements nitidus.sil.be.clf.iPartClassIO


Field Summary
private  String[] fCatalogPropertyOrderRef
           
private  boolean fIsSearchable
           
private  String fKeywords
           
private  String fParentID
           
private  String fPrimaryUnitSystemName
           
private  String fPrimaryUnitSystemRef
           
private  String fSchematicURL
           
 
Fields inherited from class com.ptc.windchill.counterpart.metadata.cPubMappedEntry
 
Fields inherited from class com.ptc.windchill.counterpart.metadata.cPrivateClassificationEntry
 
Fields inherited from class com.ptc.windchill.counterpart.metadata.cEntry
 
Fields inherited from interface nitidus.sil.be.core.iConflict
ctBadName, ctChild, ctDupName, ctMaxBasicAtt, ctMaxBasicClf, ctMaxBasicData, ctMaxBasicGeneral, ctMaxBasicUnit, ctMaxCfnRelatedData, ctMaxPartsLink621Clf, ctMaxPartsLinkClf, ctMaxSpecialAtt, ctMaxSpecialClf, ctMaxSpecialData, ctMaxSpecialGeneral, ctMaxSpecialUnit, ctMaxUnusedAtt, ctMaxWindchillClf, ctMaxWindchillFatalClf, ctMaxWindchillNonFatalClf, ctMaxWindchillUnit, ctMinBasicAtt, ctMinBasicClf, ctMinBasicData, ctMinBasicGeneral, ctMinBasicUnit, ctMinCfnRelatedData, ctMinPartsLink621Clf, ctMinPartsLinkClf, ctMinSpecialAtt, ctMinSpecialClf, ctMinSpecialData, ctMinSpecialGeneral, ctMinSpecialUnit, ctMinUnusedAtt, ctMinWindchillClf, ctMinWindchillFatalClf, ctMinWindchillNonFatalClf, ctMinWindchillUnit, ctNone, kBasic, kBasicAndAllWindchill, kBasicAndFatalWindchill, kBasicAndPartsLink, kBasicAndPartsLinkIncluding621, kFull, kMaxIgnorableConflict, kUnused
 
Constructor Summary
cAbstractClassificationNode(String name, String description, String id, String parentID)
           
 
Method Summary
 void adjustClassPropertiesAndOPMOverrides(HashMap allClasses, String[] inheritedChildren, ArrayList inheritedOverrides, nitidus.sil.be.clf.iMasterClassificationManager cfnManager)
          Traverses class hierarchy to make Windchill picture of properties and constraints on classes more like the CounterPart one which enforces inheritance.
private  String[] combineChildren(String[] children, String[] inheritedChildren)
           
private  ArrayList combineOverrides(cConstraintsAndDefaults[] overrides, ArrayList inheritedOverrides)
           
(package private) static HashMap createConstraintsAndDefaultsFromOPMOverrides(nitidus.sil.be.clf.iOPMOverrideIO[] overrides)
           
private  String[] eliminateDuplicateChildren(String[] children, String[] inheritedChildren)
           
private  HashMap eliminateRedundantOverrides(cConstraintsAndDefaults[] overrides, ArrayList inheritedOverrides, nitidus.sil.be.clf.iPartClass classFromDelta, nitidus.sil.be.clf.iMasterClassificationManager cfnManager)
           
 void enrich(nitidus.sil.be.clf.iPartClassIO cpPartClassIO, nitidus.sil.be.clf.iMasterClassificationManager cfnManager, HashMap propertiesMap)
           
private  cConstraintsAndDefaults getAdjustedLocalOPMOverride(cConstraintsAndDefaults override, cConstraintsAndDefaults inheritedOverride, nitidus.sil.be.clf.iOPMOverride overrideFromDelta)
           
 String[] getCatalogPropertyOrderRef()
           
abstract  String[] getChildRef()
           
 String getKeywords()
           
abstract  nitidus.sil.be.clf.iOPMOverrideIO[] getOPMOverride()
           
protected  String getParentID()
           
abstract  String getPictureURL()
           
 String getPrimaryUnitSystemName()
           
 String getPrimaryUnitSystemRef()
           
abstract  String[] getProperties()
           
 String getSchematicURL()
           
abstract  nitidus.sil.be.core.iLocalizedStringIO[] getTreeName()
           
abstract  String getWindchillType()
           
 boolean isSearchable()
           
private  cConstraintsAndDefaults makeMergedOverride(cConstraintsAndDefaults inheritedOverride, cConstraintsAndDefaults override)
           
(package private) static String[] reorderStringArray(String[] inOrder, String[] toBeOrdered)
          Given two arrays of Strings, return the second one reordered to match the order of the first.
(package private) abstract  void setChildRef(String[] childRef)
          Replace the current list with a new one.
(package private) abstract  void setOPMOverride(HashMap opmOverrideMap)
          Replace the current list with a new one.
 
Methods inherited from class com.ptc.windchill.counterpart.metadata.cPubMappedEntry
enrich, getCustomDUNS, getName, getPreferredName, getPublicID, getShortDefinition
 
Methods inherited from class com.ptc.windchill.counterpart.metadata.cPrivateClassificationEntry
compareByNameTo, enrich, getAppSpecific, getChangeDescription, getCurrentMajorRevision, getCurrentMinorRevision, getDescription, getLocalizedNames, getLockedBy, getRevisions, isApproved, isCurrentRevision, isDescriptionEqualTo, setAppSpecific
 
Methods inherited from class com.ptc.windchill.counterpart.metadata.cEntry
acknowledgeChange, compareByIDTo, enrich, getConflict, getID, isDeleted, isInConflict, isInUse, isModified, isNew, isObsolete, isReadOnly, needsIDUpdate, setConflict, setID, setInUse, setObsolete
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface nitidus.sil.be.clf.iPubMappedEntryIO
getCustomDUNS, getPreferredName, getPublicID, getShortDefinition
 
Methods inherited from interface nitidus.sil.be.clf.iPrivateClassificationEntryIO
getAppSpecific, getDescription, getLocalizedNames
 
Methods inherited from interface nitidus.sil.be.core.iVetoableEntryIO
isApproved, isCurrentRevision
 
Methods inherited from interface nitidus.sil.be.core.iRevisionControlledEntryIO
getChangeDescription, getCurrentMajorRevision, getCurrentMinorRevision, getLockedBy, getRevisions
 
Methods inherited from interface nitidus.sil.be.core.iEntryIO
getID
 
Methods inherited from interface nitidus.sil.be.core.iRecordIO
isDeleted, isModified, isNew, isReadOnly
 

Field Detail

fCatalogPropertyOrderRef

private String[] fCatalogPropertyOrderRef

fSchematicURL

private String fSchematicURL

fKeywords

private String fKeywords

fPrimaryUnitSystemRef

private String fPrimaryUnitSystemRef

fPrimaryUnitSystemName

private String fPrimaryUnitSystemName

fIsSearchable

private boolean fIsSearchable

fParentID

private String fParentID
Constructor Detail

cAbstractClassificationNode

public cAbstractClassificationNode(String name,
                                   String description,
                                   String id,
                                   String parentID)
Method Detail

getChildRef

public abstract String[] getChildRef()
Specified by:
getChildRef in interface nitidus.sil.be.clf.iPartClassIO
See Also:
iPartClassIO

setChildRef

abstract void setChildRef(String[] childRef)
Replace the current list with a new one.


getTreeName

public abstract nitidus.sil.be.core.iLocalizedStringIO[] getTreeName()
Specified by:
getTreeName in interface nitidus.sil.be.clf.iPartClassIO
See Also:
iPartClassIO

getProperties

public abstract String[] getProperties()
Specified by:
getProperties in interface nitidus.sil.be.clf.iPartClassIO
See Also:
iPartClassIO

getOPMOverride

public abstract nitidus.sil.be.clf.iOPMOverrideIO[] getOPMOverride()
Specified by:
getOPMOverride in interface nitidus.sil.be.clf.iPartClassIO
See Also:
iPartClassIO

setOPMOverride

abstract void setOPMOverride(HashMap opmOverrideMap)
Replace the current list with a new one.


getCatalogPropertyOrderRef

public String[] getCatalogPropertyOrderRef()
Specified by:
getCatalogPropertyOrderRef in interface nitidus.sil.be.clf.iPartClassIO
See Also:
iPartClassIO

getWindchillType

public abstract String getWindchillType()
Specified by:
getWindchillType in interface nitidus.sil.be.clf.iPartClassIO
See Also:
iPartClassIO

getPictureURL

public abstract String getPictureURL()
Specified by:
getPictureURL in interface nitidus.sil.be.clf.iPartClassIO
See Also:
iPartClassIO

getSchematicURL

public String getSchematicURL()
Specified by:
getSchematicURL in interface nitidus.sil.be.clf.iPartClassIO
See Also:
iPartClassIO

getKeywords

public String getKeywords()
Specified by:
getKeywords in interface nitidus.sil.be.clf.iPartClassIO
See Also:
iPartClassIO

getPrimaryUnitSystemRef

public String getPrimaryUnitSystemRef()
Specified by:
getPrimaryUnitSystemRef in interface nitidus.sil.be.clf.iPartClassIO
See Also:
iPartClassIO

getPrimaryUnitSystemName

public String getPrimaryUnitSystemName()
Specified by:
getPrimaryUnitSystemName in interface nitidus.sil.be.clf.iPartClassIO
See Also:
iPartClassIO

isSearchable

public boolean isSearchable()
Specified by:
isSearchable in interface nitidus.sil.be.clf.iPartClassIO
See Also:
iPartClassIO

getParentID

protected String getParentID()

createConstraintsAndDefaultsFromOPMOverrides

static final HashMap createConstraintsAndDefaultsFromOPMOverrides(nitidus.sil.be.clf.iOPMOverrideIO[] overrides)

enrich

public void enrich(nitidus.sil.be.clf.iPartClassIO cpPartClassIO,
                   nitidus.sil.be.clf.iMasterClassificationManager cfnManager,
                   HashMap propertiesMap)

reorderStringArray

static final String[] reorderStringArray(String[] inOrder,
                                         String[] toBeOrdered)
Given two arrays of Strings, return the second one reordered to match the order of the first. If the second array contains Strings that aren't in the first, they are appended in the order that they are received.

Parameters:
inOrder - String array to take ordering from
toBeOrdered - String array to be reordered
Returns:
String array: "toBeOrdered" reordered according to "inOrder"

adjustClassPropertiesAndOPMOverrides

public final void adjustClassPropertiesAndOPMOverrides(HashMap allClasses,
                                                       String[] inheritedChildren,
                                                       ArrayList inheritedOverrides,
                                                       nitidus.sil.be.clf.iMasterClassificationManager cfnManager)
Traverses class hierarchy to make Windchill picture of properties and constraints on classes more like the CounterPart one which enforces inheritance.


eliminateDuplicateChildren

private final String[] eliminateDuplicateChildren(String[] children,
                                                  String[] inheritedChildren)

combineChildren

private final String[] combineChildren(String[] children,
                                       String[] inheritedChildren)

eliminateRedundantOverrides

private final HashMap eliminateRedundantOverrides(cConstraintsAndDefaults[] overrides,
                                                  ArrayList inheritedOverrides,
                                                  nitidus.sil.be.clf.iPartClass classFromDelta,
                                                  nitidus.sil.be.clf.iMasterClassificationManager cfnManager)

combineOverrides

private final ArrayList combineOverrides(cConstraintsAndDefaults[] overrides,
                                         ArrayList inheritedOverrides)

getAdjustedLocalOPMOverride

private final cConstraintsAndDefaults getAdjustedLocalOPMOverride(cConstraintsAndDefaults override,
                                                                  cConstraintsAndDefaults inheritedOverride,
                                                                  nitidus.sil.be.clf.iOPMOverride overrideFromDelta)

makeMergedOverride

private final cConstraintsAndDefaults makeMergedOverride(cConstraintsAndDefaults inheritedOverride,
                                                         cConstraintsAndDefaults override)