public int compare(ICFCrmContactTagObj lhs, ICFCrmContactTagObj rhs) {
   if (lhs == null) {
     if (rhs == null) {
       return (0);
     } else {
       return (-1);
     }
   } else if (rhs == null) {
     return (1);
   } else {
     String lhsValue = lhs.getObjQualifiedName();
     String rhsValue = rhs.getObjQualifiedName();
     if (lhsValue == null) {
       if (rhsValue == null) {
         return (0);
       } else {
         return (-1);
       }
     } else if (rhsValue == null) {
       return (1);
     } else {
       return (lhsValue.compareTo(rhsValue));
     }
   }
 }
 public void actionPerformed(ActionEvent e) {
   final String S_ProcName = "actionPerformed";
   ICFCrmSchemaObj schemaObj = swingSchema.getSchema();
   ICFCrmContactTagObj obj =
       (ICFCrmContactTagObj) schemaObj.getContactTagTableObj().newInstance();
   JInternalFrame frame = swingSchema.getContactTagFactory().newViewEditJInternalFrame(obj);
   frame.addInternalFrameListener(getViewEditInternalFrameListener());
   ICFCrmContactTagEditObj edit = (ICFCrmContactTagEditObj) (obj.beginEdit());
   if (edit == null) {
     throw CFLib.getDefaultExceptionFactory()
         .newNullArgumentException(getClass(), S_ProcName, 0, "edit");
   }
   ICFSecurityTenantObj secTenant = schemaObj.getSecTenant();
   edit.setRequiredOwnerTenant(secTenant);
   ICFCrmContactObj container = (ICFCrmContactObj) (getSwingContainer());
   if (container == null) {
     throw CFLib.getDefaultExceptionFactory()
         .newNullArgumentException(getClass(), S_ProcName, 0, "SwingContainer");
   }
   edit.setRequiredContainerContact(container);
   ICFCrmSwingContactTagJPanelCommon jpanelCommon = (ICFCrmSwingContactTagJPanelCommon) frame;
   jpanelCommon.setPanelMode(CFJPanel.PanelMode.Add);
   Container cont = getParent();
   while ((cont != null) && (!(cont instanceof JInternalFrame))) {
     cont = cont.getParent();
   }
   if (cont != null) {
     JInternalFrame myInternalFrame = (JInternalFrame) cont;
     myInternalFrame.getDesktopPane().add(frame);
     frame.setVisible(true);
     frame.show();
   }
 }
 public Object getValueAt(int row, int column) {
   final String S_ProcName = "getValueAt";
   if ((row < 0) || (column < -1)) {
     return (null);
   }
   if (arrayOfContactTag == null) {
     return (null);
   }
   int len = arrayOfContactTag.length;
   if (row >= len) {
     return (null);
   }
   ICFCrmContactTagObj obj = arrayOfContactTag[row];
   if (obj == null) {
     return (null);
   }
   Object retval;
   switch (column) {
     case COLID_ROW_HEADER:
       retval = obj;
       break;
     case COLID_OBJQUALIFIEDNAME:
       retval = obj.getObjQualifiedName();
       break;
     case COLID_TAGVALUE:
       retval = obj.getRequiredTagValue();
       if (retval == null) {
         retval = "";
       }
       break;
     case COLID_PARENT_TAG:
       retval = obj.getRequiredParentTag(swingIsInitializing);
       break;
     default:
       retval = null;
       break;
   }
   return (retval);
 }
 public void actionPerformed(ActionEvent e) {
   final String S_ProcName = "actionPerformed";
   ICFCrmSchemaObj schemaObj = swingSchema.getSchema();
   if (schemaObj == null) {
     throw CFLib.getDefaultExceptionFactory()
         .newNullArgumentException(getClass(), S_ProcName, 0, "schemaObj");
   }
   ICFCrmContactTagObj selectedInstance = getSwingFocusAsContactTag();
   if (selectedInstance != null) {
     String classCode = selectedInstance.getClassCode();
     if ("CTTG".equals(classCode)) {
       JInternalFrame frame =
           swingSchema.getContactTagFactory().newAskDeleteJInternalFrame(selectedInstance);
       ((ICFCrmSwingContactTagJPanelCommon) frame).setPanelMode(CFJPanel.PanelMode.View);
       frame.addInternalFrameListener(getViewEditInternalFrameListener());
       Container cont = getParent();
       while ((cont != null) && (!(cont instanceof JInternalFrame))) {
         cont = cont.getParent();
       }
       if (cont != null) {
         JInternalFrame myInternalFrame = (JInternalFrame) cont;
         myInternalFrame.getDesktopPane().add(frame);
         frame.setVisible(true);
         frame.show();
       }
     } else {
       throw CFLib.getDefaultExceptionFactory()
           .newUnsupportedClassException(
               getClass(),
               S_ProcName,
               "selectedInstance",
               selectedInstance,
               "ICFCrmContactTagObj");
     }
   }
 }