Interface APIParam

All Known Implementing Classes:
AccessPointType, ACLInterfaceType, ActivityType, AgreementType, AlertConfigurationState, AlertStatus, AssetProductType, AssetStatus, AttachmentPurpose, AttachmentSource, BackupStatus, BandwidthUnit, BgpAuthenticationType, BGPStatus, BillingAccountStatus, BillingContactType, BillingFrequency, BillingType, CabinetType, CageType, ChangeStatus, ChangeType, ChangeType, Channel, ChannelType, CircuitPhase, ConnectionService, ConnectionState, ConnectionStatus, ConnectionType, Connectivity, ConnectivitySourceType, ConnectorType, ContactAvailability, ContactAvailability, ContactDetailType, ContactDetailType, ContactType, ContactType, ContractTerm, CrossConnectMediaType, CurrencyCode, CustomerAsnRange, DeviceACLStatus, DeviceCategory, DeviceManagementType, DeviceStatus, DimensionUnit, ExportPolicy, FabricPortSpeed, FileProcessType, FileType, Frequency, GatewayPackageCode, HierarchyLevelType, ImportPolicy, InstallLocation, InvoiceDocumentFileType, InvoiceFormat, InvoiceType, IpBlockAnswer, IpBlockQuestionType, IpBlockType, LicenseType, LoaChangeStatus, LoaChangeType, LoaContactType, LoaLinkRel, LoaProductType, LoaState, MetroCode, MetroPresence, NegotiationAction, NetworkEquinixStatus, NotificationCategory, NotificationContactType, NotificationProductType, NotificationSortBy, NotificationSortDirection, NotificationStatus, NotificationType, OrderSignatory, OrderState, OrderStatus, PackageCode, PartyType, PatchPanelType, PatchPanelType, PaymentStatus, PermissionCode, PhonePreferenceToCall, PlanFrequency, PortInterfaceType, PortOwnershipType, PortOwnerType, PortType, PowerLevelType, PriceCategory, PriceChargeType, PriceChargeUnit, ProductType, ProtocolType, ProviderStatus, ProvisioningType, PurchaseOrderCategory, PurchaseOrderStatus, PurchaseOrderType, PurchaseOrderType, PurposeOfIpBlock, QuoteStatus, Redundancy, Region, Region, Region, RoutingProtocolType, SecureCabinetContactAvailability, SensorUnit, ServiceAspect, ServiceBilling, ServiceOrderStatus, ServiceOrderType, ServiceProfileState, ServiceState, ServiceTypeV2, SharedPortProduct, SharedPortType, ShipmentCarrier, ShipmentTransportType, SignatureType, SmartHandsCameraProvider, SmartHandsConnectorType, SmartHandsContactType, SmartHandsJumperType, SmartHandsMediaType, SmartHandsScheduleType, SmartHandsVisitDuration, SoftwarePackage, Sortable, SubChannel, SubscriptionStatus, SupportCaseStatus, SupportPlanAssignmentStatus, SupportPlanStatus, TermsOfUsePeriod, TermsOfUseType, TermsProduct, TermsType, TicketCode, TicketStatus, TokenType, TransactionType, UseCase, VPNStatus

public interface APIParam
Contract for types usable as a query/path parameter value - the type constraint on the SDK's parameter-building helpers (ParameterMapper/ModelUtils), so arbitrary objects cannot end up on a request URI.

paramValue() is the single wire form for parameters. It defaults to toString() - for a plain enum that is name(), which is the wire code for most SDK enums; enums whose wire code differs from the constant name override toString() (or this method directly), and value types like Sortable render their own form (e.g. "-propertyName" for a descending sort).

Invariant (enforced by ApiParamContractTest): when an implementing enum also declares a Jackson @JsonValue accessor for request/response bodies, paramValue() must return the same string - one wire form per value, whether it travels in a body or a query parameter.

Author:
ianjones
  • Method Summary

    Modifier and Type
    Method
    Description
    default String
    The value exactly as it must appear on the wire in a query or path parameter.
  • Method Details

    • paramValue

      default String paramValue()
      The value exactly as it must appear on the wire in a query or path parameter.
      Returns:
      the wire representation of this parameter value