# Class SMSShare

java.lang.Object
com.codename1.ui.Command
com.codename1.share.ShareService
com.codename1.share.SMSShare

All Implemented Interfaces:
  `ActionListener<ActionEvent>`

public class SMSShare extends ShareService
SMS Sharing service

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SMSShare()`
  Default Constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `canShareImage()`
  The implementing service needs to declare if it is capable to share an image
  `Image`
  `getIcon()`
  Returns the icon representing the command
  `void`
  `share(String toShare)`
  This is the sharing method which should be implemented by the service.

  ### Methods inherited from class ShareService

  `actionPerformed, finish, getOriginal, setImage, setMessage, setOriginalForm, share`
  Modifier and Type
  Method
  Description
  `void`
  `actionPerformed(ActionEvent evt)`
  This method is called when the soft button/Menu item is clicked
  `void`
  `finish()`
  Once the share service has finished sharing it should call the finish method
  `Form`
  `getOriginal()`
  Gets the original Form
  `void`
  `setImage(String image, String mime)`
  Sets the image to share, this is done by the ShareButton and shouldn't be used by the developers
  `void`
  `setMessage(String message)`
  Sets the message to share, this is done by the ShareButton and shouldn't be used by the developers
  `void`
  `setOriginalForm(Form original)`
  Sets the Original Form (this is the Form of the share button)
  `void`
  `share(String text, String image, String imageMimeType)`
  This is the image sharing method which should be implemented by the service, if the service returned true on the canShareImage() method Notice not all services are able to share text and image together, in this case the image sharing will be preferred by these services

  ### Methods inherited from class Command

  `create, createMaterial, equals, getClientProperty, getCommandName, getDisabledIcon, getIconFont, getIconGapMM, getId, getMaterialIcon, getMaterialIconSize, getPressedIcon, getRolloverIcon, hashCode, isDisposesDialog, isEnabled, putClientProperty, setCommandName, setDisabledIcon, setDisposesDialog, setEnabled, setIcon, setIconFont, setIconGapMM, setMaterialIcon, setMaterialIconSize, setPressedIcon, setRolloverIcon, toString`
  Modifier and Type
  Method
  Description
  `static Command`
  `create(String name, Image icon, ActionListener ev)`
  Creates a new command instance that encapsulates the action listener and details, the main value of this approach is in our ability to write commands using the shorthand lambda syntax of Java 8.
  `static Command`
  `createMaterial(String name, char icon, ActionListener ev)`
  Creates a new command instance that encapsulates the action listener and details, the main value of this approach is in our ability to write commands using the shorthand lambda syntax of Java 8.
  `boolean`
  `equals(Object obj)`
  compare two commands
  `Object`
  `getClientProperty(String key)`
  The client properties are a useful way to associate meta-data with a command without subclassing
  `String`
  `getCommandName()`
  gets the Command Name
  `Image`
  `getDisabledIcon()`
  Indicates the icon that is displayed on the button when the button is in the disabled state
  `Font`
  `getIconFont()`

  ###### Returns

  `float`
  `getIconGapMM()`
  The gap between the text and the icon in millimeters or -1 for default
  `int`
  `getId()`
  Return the command ID
  `char`
  `getMaterialIcon()`

  ###### Returns

  `float`
  `getMaterialIconSize()`

  ###### Returns

  `Image`
  `getPressedIcon()`
  Indicates the icon that is displayed on the button when the button is in pressed state
  `Image`
  `getRolloverIcon()`
  Indicates the icon that is displayed on the button when the button is in rolled over state
  `int`
  `hashCode()`
  Allows storing commands in a vector/hashtable
  `boolean`
  `isDisposesDialog()`
  Indicates whether this command causes the dialog to dispose implicitly, defaults to true
  `boolean`
  `isEnabled()`
  Allows disabling/enabling the command
  `void`
  `putClientProperty(String key, Object value)`
  The client properties are a useful way to associate meta-data with a command without sub classing
  `void`
  `setCommandName(String command)`
  sets the Command name
  `void`
  `setDisabledIcon(Image disabledIcon)`
  Indicates the icon that is displayed on the button when the button is in the disabled state
  `void`
  `setDisposesDialog(boolean disposesDialog)`
  Indicates whether this command causes the dialog to dispose implicitly, defaults to true
  `void`
  `setEnabled(boolean enabled)`
  Allows disabling/enabling the command
  `void`
  `setIcon(Image icon)`
  Sets the icon for the command
  `void`
  `setIconFont(Font iconFont)`

  ###### Parameters

  `void`
  `setIconGapMM(float iconGapMM)`
  The gap between the text and the icon in millimeters or -1 for default
  `void`
  `setMaterialIcon(char materialIcon)`

  ###### Parameters

  `void`
  `setMaterialIconSize(float materialIconSize)`

  ###### Parameters

  `void`
  `setPressedIcon(Image pressedIcon)`
  Indicates the icon that is displayed on the button when the button is in pressed state
  `void`
  `setRolloverIcon(Image rolloverIcon)`
  Indicates the icon that is displayed on the button when the button is in rolled over state
  `String`
  `toString()`
  Returns a string representation of the object

  ### Methods inherited from class Object

  `clone, getClass, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  `final Class`
  `getClass()`
  Returns the runtime class of an object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes current thread to wait until another thread invokes the method or the method for this object.
  `final void`
  `wait(long timeout)`
  Causes current thread to wait until either another thread invokes the method or the method for this object, or a specified amount of time has elapsed.
  `final void`
  `wait(long timeout, int nanos)`
  Causes current thread to wait until another thread invokes the method or the method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

- ## Constructor Details

  - ### SMSShare

    public SMSShare()
    Default Constructor

- ## Method Details

  - ### getIcon

    public Image getIcon()
    Description copied from class: `Command`

    Returns the icon representing the command

    ###### Returns

    an icon representing the command

    Overrides:
      `getIcon` in class `Command`

  - ### share

    public void share(String toShare)

    This is the sharing method which should be implemented by the service.

    ###### Parameters

    - `text`: text to share
    Specified by:
      `share` in class `ShareService`

  - ### canShareImage

    public boolean canShareImage()

    The implementing service needs to declare if it is capable to share an image

    ###### Returns

    true if the service can share images

    Specified by:
      `canShareImage` in class `ShareService`