Interface CrmEntity

All Superinterfaces:
net.tangly.core.HasLocation, net.tangly.core.HasMutableTags, net.tangly.core.HasTags
All Known Implementing Classes:
Contract, Employee, LegalEntity, NaturalEntity

public interface CrmEntity extends net.tangly.core.HasMutableTags, net.tangly.core.HasLocation
A customer relation management mixin defines a set of operations useful for all CRM abstractions. All information is stored as tags for future extensions. Key attributes are address or locations, phone numbers, social channels and internet presence.

The tag approach provides flexibility required by the evolution of values to represent similar information. For example an address, a geographical location or an universal Plus code model similar information. Examples of CRM entities are natural and legal entities.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface net.tangly.core.HasLocation

    net.tangly.core.HasLocation.GeoPosition, net.tangly.core.HasLocation.PlusCode
  • Field Summary

    Fields inherited from interface net.tangly.core.HasTags

    TAGS
  • Method Summary

    Modifier and Type
    Method
    Description
    default Optional<net.tangly.core.Address>
     
    default void
    address(VcardType type, net.tangly.core.Address address)
     
    default Optional<net.tangly.core.EmailAddress>
    email(@NotNull VcardType type)
     
    default void
    email(VcardType type, String email)
     
    default Optional<String>
    im(VcardType type)
     
    default void
    im(VcardType type, String reference)
     
    default void
    phoneNr(@NotNull VcardType type, String phoneNr)
     
    default Optional<net.tangly.core.PhoneNr>
     
    default Optional<net.tangly.core.HasLocation.PlusCode>
     
    default Optional<net.tangly.core.HasLocation.GeoPosition>
     
    default Optional<String>
     
    default void
    site(VcardType type, String site)
     

    Methods inherited from interface net.tangly.core.HasLocation

    address, hasAddress, hasPlusCode, hasPosition

    Methods inherited from interface net.tangly.core.HasMutableTags

    add, addTags, clear, rawTags, remove, removeTagNamed, tags, update, update

    Methods inherited from interface net.tangly.core.HasTags

    containsTag, containsTag, findBy, findBy, findByNamespace, rawTags, tags, value, value
  • Method Details

    • plusCode

      default Optional<net.tangly.core.HasLocation.PlusCode> plusCode()
      Specified by:
      plusCode in interface net.tangly.core.HasLocation
    • position

      default Optional<net.tangly.core.HasLocation.GeoPosition> position()
      Specified by:
      position in interface net.tangly.core.HasLocation
    • phoneNr

      default Optional<net.tangly.core.PhoneNr> phoneNr(VcardType type)
    • phoneNr

      default void phoneNr(@NotNull @NotNull VcardType type, String phoneNr)
    • email

      default Optional<net.tangly.core.EmailAddress> email(@NotNull @NotNull VcardType type)
    • email

      default void email(VcardType type, String email)
    • address

      default Optional<net.tangly.core.Address> address(VcardType type)
    • address

      default void address(VcardType type, net.tangly.core.Address address)
    • im

      default Optional<String> im(VcardType type)
    • im

      default void im(VcardType type, String reference)
    • site

      default Optional<String> site(VcardType type)
    • site

      default void site(VcardType type, String site)