* See https://github.com/se38/abapFaker
********************************************************************************
* The MIT License (MIT)
*
* Copyright (c) 2018 abapFaker Contributors
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
********************************************************************************

CLASS zcl_faker_company_default DEFINITION
  PUBLIC
  INHERITING FROM zcl_faker_provider_company
  CREATE PUBLIC .

  PUBLIC SECTION.
    METHODS constructor
      IMPORTING i_faker TYPE REF TO zcl_faker.

  PRIVATE SECTION.
ENDCLASS.



CLASS zcl_faker_company_default IMPLEMENTATION.
  METHOD constructor.

    super->constructor( i_faker ).

    _formats = VALUE #(
        ( `{{person-last_name}} {{company-company_suffix}}` )
        ( `{{person-last_name}}-{{person-last_name}} {{company-company_suffix}}` )
        ( `{{person-last_name}}, {{person-last_name}} and {{person-last_name}} {{company-company_suffix}}` )
        ( `{{person-last_name}} {{company-company_suffix}} | {{company-company_claim}}` )
    ).

    _claim_formats = VALUE #(
        ( `{{company-catch_phrase_words_part_1}} {{company-catch_phrase_words_part_2}} {{company-catch_phrase_words_part_3}}` )
        ( `{{company-bs_words_part_1}} {{company-bs_words_part_2}} {{company-bs_words_part_3}}` )
    ).

    _company_suffixes = VALUE #(
        ( |Inc| )
        ( |and Sons| )
        ( |LLC| )
        ( |Group| )
        ( |PLC| )
        ( |Ltd| )
    ).

    _catch_phrase_words_part_1 = VALUE #(
         ( |Adaptive| )
         ( |Advanced| )
         ( |Ameliorated| )
         ( |Assimilated| )
         ( |Automated| )
         ( |Balanced| )
         ( |Business-focused| )
         ( |Centralized| )
         ( |Cloned| )
         ( |Compatible| )
         ( |Configurable| )
         ( |Cross-group| )
         ( |Cross-platform| )
         ( |Customer-focused| )
         ( |Customizable| )
         ( |Decentralized| )
         ( |De-engineered| )
         ( |Devolved| )
         ( |Digitized| )
         ( |Distributed| )
         ( |Diverse| )
         ( |Down-sized| )
         ( |Enhanced| )
         ( |Enterprise-wide| )
         ( |Ergonomic| )
         ( |Exclusive| )
         ( |Expanded| )
         ( |Extended| )
         ( |Face-to-face| )
         ( |Focused| )
         ( |Front-line| )
         ( |Fully-configurable| )
         ( |Function-based| )
         ( |Fundamental| )
         ( |Future-proofed| )
         ( |Grass-roots| )
         ( |Horizontal| )
         ( |Implemented| )
         ( |Innovative| )
         ( |Integrated| )
         ( |Intuitive| )
         ( |Inverse| )
         ( |Managed| )
         ( |Mandatory| )
         ( |Monitored| )
         ( |Multi-channeled| )
         ( |Multi-lateral| )
         ( |Multi-layered| )
         ( |Multi-tiered| )
         ( |Networked| )
         ( |Object-based| )
         ( |Open-architected| )
         ( |Open-source| )
         ( |Operative| )
         ( |Optimized| )
         ( |Optional| )
         ( |Organic| )
         ( |Organized| )
         ( |Persevering| )
         ( |Persistent| )
         ( |Phased| )
         ( |Polarized| )
         ( |Pre-emptive| )
         ( |Proactive| )
         ( |Profit-focused| )
         ( |Profound| )
         ( |Programmable| )
         ( |Progressive| )
         ( |Public-key| )
         ( |Quality-focused| )
         ( |Reactive| )
         ( |Realigned| )
         ( |Re-contextualized| )
         ( |Re-engineered| )
         ( |Reduced| )
         ( |Reverse-engineered| )
         ( |Right-sized| )
         ( |Robust| )
         ( |Seamless| )
         ( |Secured| )
         ( |Self-enabling| )
         ( |Sharable| )
         ( |Stand-alone| )
         ( |Streamlined| )
         ( |Switchable| )
         ( |Synchronized| )
         ( |Synergistic| )
         ( |Synergized| )
         ( |Team-oriented| )
         ( |Total| )
         ( |Triple-buffered| )
         ( |Universal| )
         ( |Up-sized| )
         ( |Upgradable| )
         ( |User-centric| )
         ( |User-friendly| )
         ( |Versatile| )
         ( |Virtual| )
         ( |Visionary| )
         ( |Vision-oriented| )
    ).

    _catch_phrase_words_part_2 = VALUE #(
         ( |24hour| )
         ( |24/7| )
         ( |3rdgeneration| )
         ( |4thgeneration| )
         ( |5thgeneration| )
         ( |6thgeneration| )
         ( |actuating| )
         ( |analyzing| )
         ( |asymmetric| )
         ( |asynchronous| )
         ( |attitude-oriented| )
         ( |background| )
         ( |bandwidth-monitored| )
         ( |bi-directional| )
         ( |bifurcated| )
         ( |bottom-line| )
         ( |clear-thinking| )
         ( |client-driven| )
         ( |client-server| )
         ( |coherent| )
         ( |cohesive| )
         ( |composite| )
         ( |context-sensitive| )
         ( |contextually-based| )
         ( |content-based| )
         ( |dedicated| )
         ( |demand-driven| )
         ( |didactic| )
         ( |directional| )
         ( |discrete| )
         ( |disintermediate| )
         ( |dynamic| )
         ( |eco-centric| )
         ( |empowering| )
         ( |encompassing| )
         ( |even-keeled| )
         ( |executive| )
         ( |explicit| )
         ( |exuding| )
         ( |fault-tolerant| )
         ( |foreground| )
         ( |fresh-thinking| )
         ( |full-range| )
         ( |global| )
         ( |grid-enabled| )
         ( |heuristic| )
         ( |high-level| )
         ( |holistic| )
         ( |homogeneous| )
         ( |human-resource| )
         ( |hybrid| )
         ( |impactful| )
         ( |incremental| )
         ( |intangible| )
         ( |interactive| )
         ( |intermediate| )
         ( |leadingedge| )
         ( |local| )
         ( |logistical| )
         ( |maximized| )
         ( |methodical| )
         ( |mission-critical| )
         ( |mobile| )
         ( |modular| )
         ( |motivating| )
         ( |multimedia| )
         ( |multi-state| )
         ( |multi-tasking| )
         ( |national| )
         ( |needs-based| )
         ( |neutral| )
         ( |next generation| )
         ( |non-volatile| )
         ( |object-oriented| )
         ( |optimal| )
         ( |optimizing| )
         ( |radical| )
         ( |real-time| )
         ( |reciprocal| )
         ( |regional| )
         ( |responsive| )
         ( |scalable| )
         ( |secondary| )
         ( |solution-oriented| )
         ( |stable| )
         ( |static| )
         ( |systematic| )
         ( |systemic| )
         ( |system-worthy| )
         ( |tangible| )
         ( |tertiary| )
         ( |transitional| )
         ( |uniform| )
         ( |upward-trending| )
         ( |user-facing| )
         ( |value-added| )
         ( |web-enabled| )
         ( |well-modulated| )
         ( |zero administration| )
         ( |zero-defect| )
         ( |zero tolerance| )
    ).

    _catch_phrase_words_part_3 = VALUE #(
         ( |ability| )
         ( |access| )
         ( |adapter| )
         ( |algorithm| )
         ( |alliance| )
         ( |analyzer| )
         ( |application| )
         ( |approach| )
         ( |architecture| )
         ( |archive| )
         ( |artificial intelligence| )
         ( |array| )
         ( |attitude| )
         ( |benchmark| )
         ( |budgetary management| )
         ( |capability| )
         ( |capacity| )
         ( |challenge| )
         ( |circuit| )
         ( |collaboration| )
         ( |complexity| )
         ( |concept| )
         ( |conglomeration| )
         ( |contingency| )
         ( |core| )
         ( |customer loyalty| )
         ( |database| )
         ( |data-warehouse| )
         ( |definition| )
         ( |emulation| )
         ( |encoding| )
         ( |encryption| )
         ( |extranet| )
         ( |firmware| )
         ( |flexibility| )
         ( |focus group| )
         ( |forecast| )
         ( |frame| )
         ( |framework| )
         ( |function| )
         ( |functionalities| )
         ( |Graphic Interface| )
         ( |groupware| )
         ( |Graphical User Interface| )
         ( |hardware| )
         ( |help-desk| )
         ( |hierarchy| )
         ( |hub| )
         ( |implementation| )
         ( |info-mediaries| )
         ( |infrastructure| )
         ( |initiative| )
         ( |installation| )
         ( |instruction set| )
         ( |interface| )
         ( |Internet solution| )
         ( |intranet| )
         ( |knowledge user| )
         ( |knowledgebase| )
         ( |Local Area Network| )
         ( |leverage| )
         ( |matrices| )
         ( |matrix| )
         ( |methodology| )
         ( |middleware| )
         ( |migration| )
         ( |model| )
         ( |moderator| )
         ( |monitoring| )
         ( |moratorium| )
         ( |neural-net| )
         ( |open architecture| )
         ( |open system| )
         ( |orchestration| )
         ( |paradigm| )
         ( |parallelism| )
         ( |policy| )
         ( |portal| )
         ( |pricing structure| )
         ( |process improvement| )
         ( |product| )
         ( |productivity| )
         ( |project| )
         ( |projection| )
         ( |protocol| )
         ( |secured line| )
         ( |service-desk| )
         ( |software| )
         ( |solution| )
         ( |standardization| )
         ( |strategy| )
         ( |structure| )
         ( |success| )
         ( |superstructure| )
         ( |support| )
         ( |synergy| )
         ( |system engine| )
         ( |task-force| )
         ( |throughput| )
         ( |time-frame| )
         ( |toolset| )
         ( |utilization| )
         ( |website| )
         ( |workforce| )
    ).

    _bs_words_part_1 = VALUE #(
         ( |implement| )
         ( |utilize| )
         ( |integrate| )
         ( |streamline| )
         ( |optimize| )
         ( |evolve| )
         ( |transform| )
         ( |embrace| )
         ( |enable| )
         ( |orchestrate| )
         ( |leverage| )
         ( |reinvent| )
         ( |aggregate| )
         ( |architect| )
         ( |enhance| )
         ( |incentivize| )
         ( |morph| )
         ( |empower| )
         ( |envisioneer| )
         ( |monetize| )
         ( |harness| )
         ( |facilitate| )
         ( |seize| )
         ( |disintermediate| )
         ( |synergize| )
         ( |strategize| )
         ( |deploy| )
         ( |brand| )
         ( |grow| )
         ( |target| )
         ( |syndicate| )
         ( |synthesize| )
         ( |deliver| )
         ( |mesh| )
         ( |incubate| )
         ( |engage| )
         ( |maximize| )
         ( |benchmark| )
         ( |expedite| )
         ( |re-intermediate| )
         ( |whiteboard| )
         ( |visualize| )
         ( |repurpose| )
         ( |innovate| )
         ( |scale| )
         ( |unleash| )
         ( |drive| )
         ( |extend| )
         ( |engineer| )
         ( |revolutionize| )
         ( |generate| )
         ( |exploit| )
         ( |transition| )
         ( |e-enable| )
         ( |iterate| )
         ( |cultivate| )
         ( |matrix| )
         ( |productize| )
         ( |redefine| )
         ( |re-contextualize| )
    ).

    _bs_words_part_2 = VALUE #(
         ( |clicks-and-mortar| )
         ( |value-added| )
         ( |vertical| )
         ( |proactive| )
         ( |robust| )
         ( |revolutionary| )
         ( |scalable| )
         ( |leading-edge| )
         ( |innovative| )
         ( |intuitive| )
         ( |strategic| )
         ( |e-business| )
         ( |mission-critical| )
         ( |sticky| )
         ( |one-to-one| )
         ( |24/7| )
         ( |end-to-end| )
         ( |global| )
         ( |B2B| )
         ( |B2C| )
         ( |granular| )
         ( |frictionless| )
         ( |virtual| )
         ( |viral| )
         ( |dynamic| )
         ( |24/365| )
         ( |best-of-breed| )
         ( |killer| )
         ( |magnetic| )
         ( |bleeding-edge| )
         ( |web-enabled| )
         ( |interactive| )
         ( |dot-com| )
         ( |sexy| )
         ( |back-end| )
         ( |real-time| )
         ( |efficient| )
         ( |front-end| )
         ( |distributed| )
         ( |seamless| )
         ( |extensible| )
         ( |turn-key| )
         ( |world-class| )
         ( |open-source| )
         ( |cross-platform| )
         ( |cross-media| )
         ( |synergistic| )
         ( |bricks-and-clicks| )
         ( |out-of-the-box| )
         ( |enterprise| )
         ( |integrated| )
         ( |impactful| )
         ( |wireless| )
         ( |transparent| )
         ( |next-generation| )
         ( |cutting-edge| )
         ( |user-centric| )
         ( |visionary| )
         ( |customized| )
         ( |ubiquitous| )
         ( |plug-and-play| )
         ( |collaborative| )
         ( |compelling| )
         ( |holistic| )
         ( |rich| )
    ).

    _bs_words_part_3 = VALUE #(
         ( |synergies| )
         ( |web-readiness| )
         ( |paradigms| )
         ( |markets| )
         ( |partnerships| )
         ( |infrastructures| )
         ( |platforms| )
         ( |initiatives| )
         ( |channels| )
         ( |eyeballs| )
         ( |communities| )
         ( |ROI| )
         ( |solutions| )
         ( |e-tailers| )
         ( |e-services| )
         ( |action-items| )
         ( |portals| )
         ( |niches| )
         ( |technologies| )
         ( |content| )
         ( |vortals| )
         ( |supply-chains| )
         ( |convergence| )
         ( |relationships| )
         ( |architectures| )
         ( |interfaces| )
         ( |e-markets| )
         ( |e-commerce| )
         ( |systems| )
         ( |bandwidth| )
         ( |info-mediaries| )
         ( |models| )
         ( |mindshare| )
         ( |deliverables| )
         ( |users| )
         ( |schemas| )
         ( |networks| )
         ( |applications| )
         ( |metrics| )
         ( |e-business| )
         ( |functionalities| )
         ( |experiences| )
         ( |web services| )
         ( |methodologies| )
    ).

  ENDMETHOD.

ENDCLASS.
