Package com.sas.metadata.remote

# Interface MdObjectBaseXML

All Superinterfaces:
  `MdObjectBase`, `MdObjectBaseUtil`, `Remote`

All Known Subinterfaces:
  `AbstractExtension`, `AbstractJob`, `AbstractPrompt`, `AbstractProperty`, `AbstractTransformation`, `AccessControl`, `AccessControlEntry`, `AccessControlTemplate`, `Action`, `Aggregation`, `AnalyticColumn`, `AnalyticContext`, `AnalyticTable`, `ApplicationAction`, `ArchiveEntry`, `ArchiveFile`, `AssociationProperty`, `AttributeProperty`, `AuthenticationDomain`, `CalculatedMeasure`, `CalculatedMember`, `Change`, `Classifier`, `ClassifierMap`, `CMetadata`, `Column`, `ColumnHierarchy`, `ColumnRange`, `COMConnection`, `Condition`, `ConditionActionSet`, `ConditionalPrecedence`, `ConfiguredComponent`, `Connection`, `ContentLocation`, `ContentType`, `Cube`, `CustomAssociation`, `DatabaseCatalog`, `DatabaseSchema`, `DataSourceName`, `DataTable`, `DeployedComponent`, `DeployedDataPackage`, `Device`, `DeviceType`, `Dimension`, `Directory`, `Document`, `Email`, `Event`, `Extension`, `ExternalIdentity`, `ExternalTable`, `FavoritesContainer`, `Feature`, `FeatureMap`, `File`, `FitStatistic`, `ForeignKey`, `GlobalFormula`, `Group`, `GroupByClause`, `HavingClause`, `Hierarchy`, `HierarchyLevel`, `Identity`, `IdentityGroup`, `Index`, `InternalLogin`, `ITChannel`, `ITContentSubscriber`, `ITEventSubscriber`, `ITFilter`, `ITSubscriber`, `JFJob`, `Job`, `Join`, `JoinTable`, `Key`, `KeyAssociation`, `Keyword`, `Level`, `LocalizedResource`, `LocalizedType`, `Location`, `LogicalColumn`, `LogicalServer`, `Login`, `Machine`, `Measure`, `Memory`, `MiningResult`, `NamedService`, `NamedSet`, `NumericExtension`, `OLAPProperty`, `OLAPSchema`, `OnClause`, `OpenClientConnection`, `OrderByClause`, `Permission`, `PermissionCondition`, `Person`, `Phone`, `PhysicalTable`, `PrimaryType`, `Prompt`, `PromptGroup`, `Property`, `PropertyGroup`, `PropertySet`, `PropertyType`, `Prototype`, `PrototypeProperty`, `PSColumnLayoutComponent`, `PSLayoutComponent`, `PSPortalPage`, `PSPortalProfile`, `PSPortlet`, `QueryClause`, `QueryTable`, `RelationalSchema`, `RelationalTable`, `Report`, `ResponsibleParty`, `Role`, `Root`, `RowSelector`, `SASCatalog`, `SASCatalogEntry`, `SASClientConnection`, `SASFileRef`, `SASLibrary`, `SASLicense`, `SASPassword`, `Search`, `SecondaryType`, `SecuredLibrary`, `SecuredTable`, `SecurityRule`, `SecurityRuleScheme`, `SecurityTypeContainmentRule`, `Select`, `ServerComponent`, `ServerContext`, `ServiceComponent`, `ServiceType`, `SharedDimension`, `SoftwareComponent`, `StepPrecedence`, `Stream`, `SXLEMap`, `SyncStep`, `TableCollection`, `Target`, `TCPIPConnection`, `Text`, `TextStore`, `Timestamp`, `Transformation`, `TransformationActivity`, `TransformationStep`, `Tree`, `TSNameObject`, `TSNamespace`, `TypeDefinition`, `UniqueKey`, `UnitofTime`, `Variable`, `WhereClause`, `WorkTable`, `XPath`

public interface MdObjectBaseXML extends MdObjectBaseUtil
Provides the XML object interactions for Metadata objects.

- ## Field Summary

  ### Fields inherited from interface com.sas.metadata.remote.MdObjectBase

  `ATTRIBUTE_DESC_NAME, ATTRIBUTE_ID_NAME, ATTRIBUTE_METADATACREATED_NAME, ATTRIBUTE_METADATAUPDATED_NAME, ATTRIBUTE_NAME_NAME`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `closeUpdateMetadataXML(String outXML, String strTagToClose)`
  This method is used to close out the entire update metadata string.
  `String`
  `createEmptyXML()`
  This method is used to create the start of an empty string to compare against the generated string.
  `String`
  `createObjectRefreshXML(CMetadata inObject, boolean includeLocallyChangedItems, boolean getFullObjectUpdate)`
  Creates XML for an object
  `String`
  `createObjectXML(CMetadata inObject)`
  Creates XML for an object
  `String`
  `createObjectXML(CMetadata inObject, boolean includeEmptyAssocs)`
  Creates XML for an object
  `String`
  `createUpdateAssociationXML()`
  Override this method to create the XML string necessary to update lists of associated objects, such as columns, and extended attributes.
  `String`
  `createUpdateAssociationXML(CMetadata inObject, StringBuffer outXML)`
  Creates update XML for all associations on inputed object.
  `String`
  `createUpdateSimpleXML()`
  This method is used to create the start of the full XML string needed to perform an update.
  `String`
  `doCreateUpdateXML(CMetadata object)`
  Primary function to create an UpdateXML string to be sent to the server to perform an update on an object, and all of its association objects.
  `String`
  `getUpdateSimpleSubstring()`
  Overwrite this method to generate XML for simple properties.
  `void`
  `updateMetadataAll()`
  This method is called to build and submit an updateMetadata XML stream to the server.

  ### Methods inherited from interface com.sas.metadata.remote.MdObjectBase

  `addElementToChangeList, clearChangeList, getChangeList, getCMetadataType, getDesc, getDescMaxLength, getDescState, getFQID, getId, getIdState, getMetadataCreated, getMetadataCreatedState, getMetadataUpdated, getMetadataUpdatedState, getName, getNameMaxLength, getNameState, getObjectStore, getPredAssociations, getRepositoryID, getRequiredAssociations, getState, initializePredObjects, isAssociationRequired, isNewObject, isPredAssociation, removeElementFromChangeList, resetObject, resetState, resetStates, setCMetadataType, setDesc, setDesc, setDescState, setFQID, setFQID, setId, setId, setIdState, setMetadataCreated, setMetadataCreated, setMetadataCreatedState, setMetadataUpdated, setMetadataUpdated, setMetadataUpdatedState, setName, setName, setNameState, setObjectStore, setState`

  ### Methods inherited from interface com.sas.metadata.remote.MdObjectBaseUtil

  `addMdObjectListener, delete, dispose, fireMdObjectModified, getAssociatedObjects, getAssociatedObjects, getAssociatedObjects, getAssociationNames, getAssocs, getAssocsWA, getAttributeNames, getAttrs, getAttrsStates, getAuthorizationUtil, getChangeManagementState, getChgMgtExternalIdentityImportType, getClientSideOnlyObject, getMdObjectAssociation, getPopulatedAssocs, getUpdatedAttrs, getViewList, initializeRequiredObjects, isCheckedOut, isLocked, objectModified, removeMdObjectListener, setAttrs, setChangeManagementTargetRepository, setChgMgtExternalIdentityImportType, setClientSideOnlyObject, setMdObjectAssociation, touch, updateAssnsIds`

- ## Method Details

  - ### getUpdateSimpleSubstring

    String getUpdateSimpleSubstring() throws RemoteException
    Overwrite this method to generate XML for simple properties.
    Throws:
      `RemoteException` - if connection to object is lost.

  - ### createUpdateSimpleXML

    String createUpdateSimpleXML() throws RemoteException
    This method is used to create the start of the full XML string needed to perform an update. This method creates the beginning part of the top level string.
    Returns:
      the beginning of the update string required to perform an update
    Throws:
      `RemoteException` - if connection to object is lost.

  - ### createObjectXML

    String createObjectXML(CMetadata inObject) throws RemoteException
    Creates XML for an object
    Parameters:
      `inObject` -
    Returns:
      the xml string
    Throws:
      `RemoteException` - if connection to object is lost.

  - ### createObjectXML

    String createObjectXML(CMetadata inObject, boolean includeEmptyAssocs) throws RemoteException
    Creates XML for an object
    Parameters:
      `inObject` - the object to create XML for
      `includeEmptyAssocs` - true to include placeholder for all empty associations.
    Returns:
      the xml string
    Throws:
      `RemoteException` - if connection to object is lost.

  - ### createObjectRefreshXML

    String createObjectRefreshXML(CMetadata inObject, boolean includeLocallyChangedItems, boolean getFullObjectUpdate) throws RemoteException
    Creates XML for an object
    Parameters:
      `inObject` -
      `includeLocallyChangedItems` - to include changed attributes/assocs in update XML or not.
      `getFullObjectUpdate` - to update all of object or just populated pieces.
    Returns:
      the xml string
    Throws:
      `RemoteException` - if connection to object is lost.

  - ### createEmptyXML

    String createEmptyXML() throws RemoteException
    This method is used to create the start of an empty string to compare against the generated string. This is so we don't make extra XML.
    Returns:
      the beginning of the update string required to perform an update
    Throws:
      `RemoteException` - if connection to object is lost.

  - ### closeUpdateMetadataXML

    String closeUpdateMetadataXML(String outXML, String strTagToClose) throws RemoteException
    This method is used to close out the entire update metadata string.
    Parameters:
      `outXML` - String
      `strTagToClose` - String
    Returns:
      the ending part of an updatemetadata string.
    Throws:
      `RemoteException` - if connection to object is lost.

  - ### createUpdateAssociationXML

    String createUpdateAssociationXML() throws MdException, RemoteException
    Override this method to create the XML string necessary to update lists of associated objects, such as columns, and extended attributes. These objects are stored in AssociationLists.
    Returns:
      the XML string necessary to update association objects.
    Throws:
      `MdException` - if error with XML create
      `RemoteException` - if connection to object is lost.

  - ### createUpdateAssociationXML

    String createUpdateAssociationXML(CMetadata inObject, StringBuffer outXML) throws MdException, RemoteException
    Creates update XML for all associations on inputed object.
    Parameters:
      `inObject` -
      `outXML` -
    Returns:
      XML for Associations in object.
    Throws:
      `MdException`
      `RemoteException` - if connection to object is lost.

  - ### doCreateUpdateXML

    String doCreateUpdateXML(CMetadata object) throws MdException, RemoteException
    Primary function to create an UpdateXML string to be sent to the server to perform an update on an object, and all of its association objects.
    Parameters:
      `object` - CMetadata
    Returns:
      the complete update XML string
    Throws:
      `MdException` - if error with XML create
      `RemoteException` - if connection to object is lost.

  - ### updateMetadataAll

    void updateMetadataAll() throws MdException, RemoteException
    This method is called to build and submit an updateMetadata XML stream to the server. This object is the main object. It owns the change list. We call this method one time in the main object, to walk the change list and generate everyone's updatexml.
    Throws:
      `MdException` - if error with writing to the server.
      `RemoteException` - if connection to object is lost.