Package com.sas.services.information.publicobject

# Interface TypeDescriptorInterface

public interface TypeDescriptorInterface
This interface describes the type dictionary entry for an public object type.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `PROPERTY_CONTAINERASSOCIATION`
  `static final String`
  `PROPERTY_HASCONTENTBACKING`
  `static final String`
  `PROPERTY_LABELPLURAL`
  `static final String`
  `PROPERTY_LOCALIZERCLASS`
  `static final String`
  `PROPERTY_LOGICALTYPECLASS`
  `static final String`
  `PROPERTY_SEARCHALLOWED`
  `static final String`
  `PROPERTY_TEMPLATE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `allowsChildren()`
  Returns a boolean flag indicating if this object type allows children.
  `List`
  `getApplicablePermissions()`
  Get a List of the permissions that are applicable to this type of object.
  `String`
  `getClassName()`
  Get the class name used to load an instance of this class.
  `String`
  `getContainerAssociation()`
  Get the name of the association to follow to get this object's container.
  `String`
  `getContainerType()`
  Get the container type for this type.
  `String`
  `getDefaultLocation()`
  Get the default location for objects of this type.
  `String`
  `getDescription()`
  Get the description of this type.
  `String`
  `getDescription(Locale locale)`
  Get the type description for the specified locale.
  `Icon`
  `getIcon()`
  Return the Icon for this type.
  `Icon`
  `getIcon(int size)`
  Return the Icon for this type.
  `byte[]`
  `getIconData(int size)`
  Get the icon image byte data for this object type.
  `String`
  `getIconName()`
  Get the String with the icon name for this type.
  `String`
  `getLabel()`
  Get the label for this type.
  `String`
  `getLabelPlural()`
  Get the plural version of the label for this type.
  `String`
  `getLogicalTypeClassName()`
  Get the name of the Java class that implements the Logical Type for this definition.
  `String`
  `getMetadataType()`
  Get the metadata type used to represent this object in the server.
  `String`
  `getPropertyValue(String key)`
  Returns the value for an associated property.
  `String`
  `getTemplate()`
  Deprecated.
  Consumers should use the getTemplate(ServerInterface) since the template is no longer loaded automatically.
  `String`
  `getTemplate(ServerInterface server)`
  Get the template for this object.
  `Object`
  `getTransportHandler()`
  Returns the TransportHandler for this object type.
  `String`
  `getType()`
  Get the type of this object.
  `String`
  `getType(Locale locale)`
  Get the localized type string for the specified locale.
  `String`
  `getTypeName()`
  Get the non-localized type name.
  `String`
  `getUsageVersion()`
  Get the usage version of this object type.
  `boolean`
  `hasContentBacking()`
  `void`
  `setApplicablePermissions(List permissionList)`
  Set the List of permissions applicable to this type of object.
  `void`
  `setLogicalTypeClassName(String logicalTypeClass)`
  Set the name of the Java Class that implements the logical type for this definition.

- ## Field Details

  - ### PROPERTY_CONTAINERASSOCIATION

    static final String PROPERTY_CONTAINERASSOCIATION
    See Also:
      - Constant Field Values

  - ### PROPERTY_LABELPLURAL

    static final String PROPERTY_LABELPLURAL
    See Also:
      - Constant Field Values

  - ### PROPERTY_TEMPLATE

    static final String PROPERTY_TEMPLATE
    See Also:
      - Constant Field Values

  - ### PROPERTY_LOGICALTYPECLASS

    static final String PROPERTY_LOGICALTYPECLASS
    See Also:
      - Constant Field Values

  - ### PROPERTY_LOCALIZERCLASS

    static final String PROPERTY_LOCALIZERCLASS
    See Also:
      - Constant Field Values

  - ### PROPERTY_HASCONTENTBACKING

    static final String PROPERTY_HASCONTENTBACKING
    See Also:
      - Constant Field Values

  - ### PROPERTY_SEARCHALLOWED

    static final String PROPERTY_SEARCHALLOWED
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getType

    String getType() throws ServiceException, RemoteException
    Get the type of this object. This is the localized type name, and can be used as the label for this type.
    Returns:
      Type String for this object type.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getType

    String getType(Locale locale) throws ServiceException, RemoteException
    Get the localized type string for the specified locale.
    Parameters:
      `locale` - The locale to get the type string for.
    Returns:
      The localized type string, if available. Otherwise, the default type string from the metadata is returned.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getTypeName

    String getTypeName() throws ServiceException, RemoteException
    Get the non-localized type name. This is the string that will be used to index into the type dictionary, and the string that will be used as the PublicType attribute on metadata objects.
    Returns:
      The non-localized type name.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getDescription

    String getDescription() throws ServiceException, RemoteException
    Get the description of this type.
    Returns:
      The description of this type.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getDescription

    String getDescription(Locale locale) throws ServiceException, RemoteException
    Get the type description for the specified locale.
    Parameters:
      `locale` - The locale to retrieve the description for.
    Returns:
      The localized description, if available. If no localized string is available, the description from metadata is returned.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getIconName

    String getIconName() throws ServiceException, RemoteException
    Get the String with the icon name for this type.
    Returns:
      The icon name string, or null if none is defined.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getIcon

    Icon getIcon() throws ServiceException, RemoteException
    Return the Icon for this type. If no icon is defined, or the icon can't be loaded for some reason, null is returned.
    Returns:
      The Icon for this object, or null if none is available.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getIcon

    Icon getIcon(int size) throws ServiceException, RemoteException
    Return the Icon for this type. If no icon is defined, or the icon can't be loaded for some reason, null is returned.
    Parameters:
      `size` - The preferred size for the icon.
    Returns:
      The Icon for this object, or null if none is available.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getIconData

    byte[] getIconData(int size) throws ServiceException, RemoteException
    Get the icon image byte data for this object type.
    Parameters:
      `size` - The size of the icon to retrieve.
    Returns:
      the byte data for the icon if it exists, or null otherwise.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getUsageVersion

    String getUsageVersion() throws ServiceException, RemoteException
    Get the usage version of this object type.
    Returns:
      A String representation of the usage version of the object that this type entry represents.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getClassName

    String getClassName() throws ServiceException, RemoteException
    Get the class name used to load an instance of this class.
    Returns:
      The fully qualified Java class name of the object to instantiate when this object is loaded.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getLabel

    String getLabel() throws ServiceException, RemoteException
    Get the label for this type.
    Returns:
      The label String for this type.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getLabelPlural

    String getLabelPlural() throws ServiceException, RemoteException
    Get the plural version of the label for this type.
    Returns:
      The plural label for this type.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getContainerType

    String getContainerType() throws ServiceException, RemoteException
    Get the container type for this type. For most types, this will be Folder, but secondary public objects can have other containers.
    Returns:
      The type name for the valid container of this object type.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getTemplate

    String getTemplate() throws ServiceException, RemoteException
    Deprecated.
    Consumers should use the getTemplate(ServerInterface) since the template is no longer loaded automatically.
    Get the template for this object. This is the template that will be used for all transport operations, delete, retrieval, etc.
    Returns:
      The template string for this type.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getTemplate

    String getTemplate(ServerInterface server) throws ServiceException, RemoteException
    Get the template for this object. This is the template that will be used for all transport operations, delete, retrieval, etc. The template will be loaded and saved for future access, so only one trip to the server per session will be required.
    Parameters:
      `server` - The server to use to retrieve the template.
    Returns:
      The template string for this type.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getContainerAssociation

    String getContainerAssociation() throws ServiceException, RemoteException
    Get the name of the association to follow to get this object's container.
    Returns:
      The name of the association to follow to get to the container.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getDefaultLocation

    String getDefaultLocation() throws ServiceException, RemoteException
    Get the default location for objects of this type.
    Returns:
      the default location
    Throws:
      `ServiceException`
      `RemoteException`

  - ### getTransportHandler

    Object getTransportHandler() throws ServiceException, RemoteException
    Returns the TransportHandler for this object type.
    Returns:
      transport handler
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.
    See Also:
      - com.sas.services.transport.TransportHandlerInterface

  - ### allowsChildren

    boolean allowsChildren() throws ServiceException, RemoteException
    Returns a boolean flag indicating if this object type allows children. If so, it should implement PublicObjectContainerInterface.
    Returns:
      True if this type allows children, false otherwise.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getLogicalTypeClassName

    String getLogicalTypeClassName() throws ServiceException, RemoteException
    Get the name of the Java class that implements the Logical Type for this definition.
    Returns:
      A String with the Logical Type class name.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setLogicalTypeClassName

    void setLogicalTypeClassName(String logicalTypeClass) throws ServiceException, RemoteException
    Set the name of the Java Class that implements the logical type for this definition.
    Parameters:
      `logicalTypeClass` - The Logical Type class name.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getMetadataType

    String getMetadataType() throws ServiceException, RemoteException
    Get the metadata type used to represent this object in the server.
    Returns:
      The metadata type String.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getApplicablePermissions

    List getApplicablePermissions() throws ServiceException, RemoteException
    Get a List of the permissions that are applicable to this type of object.
    Returns:
      A List of Strings with the permission names applicable to this object. This should always be non-null.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setApplicablePermissions

    void setApplicablePermissions(List permissionList) throws ServiceException, RemoteException
    Set the List of permissions applicable to this type of object.
    Parameters:
      `permissionList` - The List of Strings with the permission names applicable to this type of object.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### hasContentBacking

    boolean hasContentBacking() throws ServiceException, RemoteException
    Throws:
      `ServiceException`
      `RemoteException`

  - ### getPropertyValue

    String getPropertyValue(String key) throws ServiceException, RemoteException
    Returns the value for an associated property.
    Parameters:
      `key` - the property name
    Returns:
      the property value
    Throws:
      `ServiceException`
      `RemoteException`