Package be.ehealth.businessconnector.therlink.builders.impl

# Class AbstractRequestObjectBuilderImpl

java.lang.Object
be.ehealth.businessconnector.therlink.builders.impl.AbstractRequestObjectBuilderImpl

All Implemented Interfaces:
  `RequestObjectBuilder`

Direct Known Subclasses:
  `GenericRequestObjectBuilder`, `GPRequestObjectBuilderImpl`

public abstract class AbstractRequestObjectBuilderImpl extends Object implements RequestObjectBuilder
Contains what should be common to all `RequestObjectBuilder` requires following properties to be set :

- kmehr.single.hcparty.template.careprovider.in.therapeuticlink.*

Implementation of `RequestObjectBuilder`

- ## Field Summary

  ### Fields inherited from interface be.ehealth.businessconnector.therlink.builders.RequestObjectBuilder

  `MAXROWS_DEFAULT, MAXROWS_PROPERTY_KEY, PROP_HCP_TYPE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractRequestObjectBuilderImpl()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `GetTherapeuticLinkRequest`
  `createGetTherapeuticLinkRequest(TherapeuticLink query, int maxRowsToUse, Proof... prooves)`
  Creates a GetTherapeuticLinkRequest
  `GetTherapeuticLinkRequest`
  `createGetTherapeuticLinkRequest(TherapeuticLink query, Proof... prooves)`
  Creates a GetTherapeuticLinkRequest MaxRows will be replaced with property value of "therlink.maxrows" if it's defined, otherwise default value1000 will be used
  `HasTherapeuticLinkRequest`
  `createHasTherapeuticLinkRequest(TherapeuticLink query)`
  Creates a HasTherapeuticLinkRequest
  `PutTherapeuticLinkRequest`
  `createPutTherapeuticLinkRequest(Patient patient, HcParty hcp, String therLinkType, Proof proof)`
  Creates a putTherapeuticLinkRequest enddate invalid input: '&' comment are null by default
  `PutTherapeuticLinkRequest`
  `createPutTherapeuticLinkRequest(Instant endDate, Patient patient, HcParty concernedHealthCareProfessionel, String therLinkType, String comment, Proof... proofs)`
  Creates a new `PutTherapeuticLinkRequest`
  `RevokeTherapeuticLinkRequest`
  `createRevokeTherapeuticLinkRequest(TherapeuticLink link)`
  Creates a RevokeTherapeuticLinkRequest with a TherapeuticLink as input
  `RevokeTherapeuticLinkRequest`
  `createRevokeTherapeuticLinkRequest(Instant startDate, Instant endDate, Patient patient, HcParty hcp, String therLinkType, String commentAboutRevokal, Proof... proofs)`
  Creates a RevokeTherapeuticLinkRequest
  `RevokeTherapeuticLinkRequest`
  `createRevokeTherapeuticLinkRequestWithProof(TherapeuticLink link, Proof... proofs)`
  Creates a RevokeTherapeuticLinkRequest with a TherapeuticLink as input and a proof list
  `abstract List<HcParty>`
  `getAuthorHcParties()`
  Abstract method that should be implemented by each class that extends
  `AbstractRequestObjectBuilderImpl` to retrieve the Author HcParties
  `static ConfigValidator`
  `getConfig()`
  `String`
  `getEnduserHcpType()`
  Deprecated.
  `int`
  `getMaxRows()`
  won't always return correct value ( 0 instead of null ) in new implementations.
  `static void`
  `setConfig(ConfigValidator config)`
  `void`
  `validateMaxRowsValue(GetTherapeuticLinkRequest request)`
  Validates the maxRows parameter of the getTherapeuticLinkRequest NB Author invalid input: '&' id are not validated since they are automatically generated

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### AbstractRequestObjectBuilderImpl

    public AbstractRequestObjectBuilderImpl()
    Throws:
      `TherLinkBusinessConnectorException` - if config file could not been retrieved
      `TechnicalConnectorException` - if config file could not been retrieved
      `InstantiationException` - if a property is missing from config file

- ## Method Details

  - ### createPutTherapeuticLinkRequest

    public PutTherapeuticLinkRequest createPutTherapeuticLinkRequest(Instant endDate, Patient patient, HcParty concernedHealthCareProfessionel, String therLinkType, String comment, Proof... proofs) throws TechnicalConnectorException, TherLinkBusinessConnectorException, InstantiationException
    Description copied from interface: `RequestObjectBuilder`
    Creates a new `PutTherapeuticLinkRequest`
    Specified by:
      `createPutTherapeuticLinkRequest` in interface `RequestObjectBuilder`
    Parameters:
      `endDate` - (optional) the end date of the therapeutic link
      `patient` - the patient concerned by the therapeutic link
      `concernedHealthCareProfessionel` - (optional, default person in current session) the professional concerned by the therapeutic link
      `therLinkType` - the type of the therapeutic link
      `comment` - (optional) a comment about the therapeutic link
      `proofs` - (optional and possible empty) list of proofs
    Returns:
    Throws:
      `TechnicalConnectorException` - if an error occured while creating the request
      `TherLinkBusinessConnectorException` - if a required parameter is not provided, or if the request is not valid
      `InstantiationException`
    See Also:
      - invalid reference

            be.ehealth.businessconnector.therlink.builders.RequestObjectBuilder#createPutTherapeuticLinkRequest(be.ehealth.business.common.domain.Patient, be.ehealth.businessconnector.therlink.domain.HcParty, java.time.Instant, java.lang.String, java.lang.String, be.ehealth.businessconnector.therlink.domain.Proof[])

  - ### createRevokeTherapeuticLinkRequest

    public RevokeTherapeuticLinkRequest createRevokeTherapeuticLinkRequest(Instant startDate, Instant endDate, Patient patient, HcParty hcp, String therLinkType, String commentAboutRevokal, Proof... proofs) throws TechnicalConnectorException, TherLinkBusinessConnectorException, InstantiationException
    Description copied from interface: `RequestObjectBuilder`
    Creates a RevokeTherapeuticLinkRequest
    Specified by:
      `createRevokeTherapeuticLinkRequest` in interface `RequestObjectBuilder`
    Parameters:
      `endDate` - (optional) the end date of the therapeutic link
      `patient` - the patient concerned by the therapeutic link
      `hcp` - the professional concerned by the therapeutic link
      `therLinkType` - the type of the therapeutic link
      `commentAboutRevokal` - (optional) a comment about the revokal
      `proofs` - (optional and possible empty) a list of proofs
    Returns:
    Throws:
      `TechnicalConnectorException` - if an error occured while creating the request
      `TherLinkBusinessConnectorException` - if a required parameter is not provided, or if the request is not valid
      `InstantiationException`
    See Also:
      - invalid reference

            be.ehealth.businessconnector.therlink.builders.RequestObjectBuilder#createRevokeTherapeuticLinkRequest(be.ehealth.business.common.domain.Patient, be.ehealth.businessconnector.therlink.domain.HcParty, java.time.Instant, java.time.Instant, java.lang.String, java.lang.String, be.ehealth.businessconnector.therlink.domain.Proof[])

  - ### createRevokeTherapeuticLinkRequest

    public RevokeTherapeuticLinkRequest createRevokeTherapeuticLinkRequest(TherapeuticLink link) throws TechnicalConnectorException, TherLinkBusinessConnectorException, InstantiationException
    Description copied from interface: `RequestObjectBuilder`
    Creates a RevokeTherapeuticLinkRequest with a TherapeuticLink as input
    Specified by:
      `createRevokeTherapeuticLinkRequest` in interface `RequestObjectBuilder`
    Throws:
      `TechnicalConnectorException`
      `TherLinkBusinessConnectorException`
      `InstantiationException`

  - ### createRevokeTherapeuticLinkRequestWithProof

    public RevokeTherapeuticLinkRequest createRevokeTherapeuticLinkRequestWithProof(TherapeuticLink link, Proof... proofs) throws TechnicalConnectorException, TherLinkBusinessConnectorException, InstantiationException
    Description copied from interface: `RequestObjectBuilder`
    Creates a RevokeTherapeuticLinkRequest with a TherapeuticLink as input and a proof list
    Specified by:
      `createRevokeTherapeuticLinkRequestWithProof` in interface `RequestObjectBuilder`
    Throws:
      `TechnicalConnectorException`
      `TherLinkBusinessConnectorException`
      `InstantiationException`

  - ### createGetTherapeuticLinkRequest

    public GetTherapeuticLinkRequest createGetTherapeuticLinkRequest(TherapeuticLink query, int maxRowsToUse, Proof... prooves) throws TechnicalConnectorException, TherLinkBusinessConnectorException, InstantiationException
    Description copied from interface: `RequestObjectBuilder`
    Creates a GetTherapeuticLinkRequest
    Specified by:
      `createGetTherapeuticLinkRequest` in interface `RequestObjectBuilder`
    Parameters:
      `query` - the therapeutic link to retrieve
      `maxRowsToUse` - should be smaller than 1000
      `prooves` - a list of proofs (optional and may be empty)
    Returns:
    Throws:
      `TechnicalConnectorException` - if an error occured while creating the request
      `TherLinkBusinessConnectorException` - if a required parameter is not provided, or if the request is not valid
      `InstantiationException`

  - ### createPutTherapeuticLinkRequest

    public PutTherapeuticLinkRequest createPutTherapeuticLinkRequest(Patient patient, HcParty hcp, String therLinkType, Proof proof) throws TechnicalConnectorException, TherLinkBusinessConnectorException, InstantiationException
    Description copied from interface: `RequestObjectBuilder`
    Creates a putTherapeuticLinkRequest enddate invalid input: '&' comment are null by default
    Specified by:
      `createPutTherapeuticLinkRequest` in interface `RequestObjectBuilder`
    Throws:
      `TechnicalConnectorException`
      `TherLinkBusinessConnectorException`
      `InstantiationException`

  - ### createGetTherapeuticLinkRequest

    public GetTherapeuticLinkRequest createGetTherapeuticLinkRequest(TherapeuticLink query, Proof... prooves) throws TechnicalConnectorException, TherLinkBusinessConnectorException, InstantiationException
    Description copied from interface: `RequestObjectBuilder`
    Creates a GetTherapeuticLinkRequest MaxRows will be replaced with property value of "therlink.maxrows" if it's defined, otherwise default value1000 will be used
    Specified by:
      `createGetTherapeuticLinkRequest` in interface `RequestObjectBuilder`
    Parameters:
      `query` - the therapeutic link to retrieve
      `prooves` - a list of proofs (optional and may be empty)
    Returns:
    Throws:
      `TechnicalConnectorException` - if an error occured while creating the request
      `TherLinkBusinessConnectorException` - if a required parameter is not provided, or if the request is not valid
      `InstantiationException`

  - ### createHasTherapeuticLinkRequest

    public HasTherapeuticLinkRequest createHasTherapeuticLinkRequest(TherapeuticLink query) throws TechnicalConnectorException, TherLinkBusinessConnectorException, InstantiationException
    Description copied from interface: `RequestObjectBuilder`
    Creates a HasTherapeuticLinkRequest
    Specified by:
      `createHasTherapeuticLinkRequest` in interface `RequestObjectBuilder`
    Parameters:
      `query` - the therapeutic link to retrieve
    Returns:
    Throws:
      `TechnicalConnectorException` - if an error occured while creating the request
      `TherLinkBusinessConnectorException` - if a required parameter is not provided, or if the request is not valid
      `InstantiationException`

  - ### validateMaxRowsValue

    public void validateMaxRowsValue(GetTherapeuticLinkRequest request) throws TherLinkBusinessConnectorException
    Validates the maxRows parameter of the getTherapeuticLinkRequest NB Author invalid input: '&' id are not validated since they are automatically generated
    Throws:
      `TherLinkBusinessConnectorException`

  - ### getAuthorHcParties

    public abstract List<HcParty> getAuthorHcParties() throws TechnicalConnectorException, TherLinkBusinessConnectorException, InstantiationException
    Abstract method that should be implemented by each class that extends
    `AbstractRequestObjectBuilderImpl` to retrieve the Author HcParties
    Specified by:
      `getAuthorHcParties` in interface `RequestObjectBuilder`
    Throws:
      `TechnicalConnectorException`
      `TherLinkBusinessConnectorException`
      `InstantiationException`

  - ### getEnduserHcpType

    @Deprecated public String getEnduserHcpType()
    Deprecated.
    Description copied from interface: `RequestObjectBuilder`
    Retrieve the config value of "therlink.enduser.hcpartytype" Deprecated : use HcPartyUtil.getAuthorKmehrQuality() instead.
    Specified by:
      `getEnduserHcpType` in interface `RequestObjectBuilder`
    See Also:
      - `Deprecated use HcPartyUtil.getAuthorKmehrQuality() instead ( in project business-kmehrcommons )`

  - ### getMaxRows

    public int getMaxRows()
    Description copied from interface: `RequestObjectBuilder`
    won't always return correct value ( 0 instead of null ) in new implementations.
    Specified by:
      `getMaxRows` in interface `RequestObjectBuilder`
    Returns:

  - ### getConfig

    public static ConfigValidator getConfig()
    Returns:
      the config

  - ### setConfig

    public static void setConfig(ConfigValidator config)
    Parameters:
      `config` - the config to set