AuctionHouse2 Docs
Fall 2024
API

# InstantPurchase

o1.auctionhouse.InstantPurchase
trait InstantPurchase extends ItemForSale

The class `InstantPurchase` represents items that have been put up for sale in an electronic auction house in such a way that they may be immediately purchased at any time while the item is open. As soon as anyone purchases the item, the sale is finalized and nobody else can buy the item.

## Attributes

Graph
Supertypes
  trait ItemForSale
  class Object
  trait Matchable
  class Any
Known subtypes
  class DutchAuction
  class FixedPriceSale

## Members list

### Value members

#### Concrete methods

def buy(`buyer`: String): Boolean

Buys the item for the given customer. The sale now has a buyer (and is therefore no longer open). This only works, however, if the sale was open to begin with. The method returns `true` if the item was successfully bought, `false` if the purchase failed.

Buys the item for the given customer. The sale now has a buyer (and is therefore no longer open). This only works, however, if the sale was open to begin with. The method returns `true` if the item was successfully bought, `false` if the purchase failed.

## Attributes

def buyer: Option[String]

Returns the buyer of the item, wrapped in an `Option`; `None` is returned if nobody has bought the item yet.

Returns the buyer of the item, wrapped in an `Option`; `None` is returned if nobody has bought the item yet.

## Attributes

def isOpen: Boolean

Determines if the sale is open, that is, if the item can still be bought. An item like this is always open if nobody has yet bought it and the opportunity to buy it has not yet expired.

Determines if the sale is open, that is, if the item can still be bought. An item like this is always open if nobody has yet bought it and the opportunity to buy it has not yet expired.

## Attributes

#### Inherited methods

override def toString: String

Returns a textual description of the item. This text is the same as that returned by `description`.

Returns a textual description of the item. This text is the same as that returned by `description`.

## Attributes

Definition Classes
  ItemForSale -> Any
Inherited from:
  ItemForSale

#### Inherited and Abstract methods

def advanceOneDay(): Unit

Records one day as having passed. The effects of this depend on the way the item is sold.

Records one day as having passed. The effects of this depend on the way the item is sold.

## Attributes

Inherited from:
  ItemForSale

def isExpired: Boolean

Determines if the item has expired, that is, if the sale has ended due to a lack of interest and without the item having been sold. How soon this happens depends on the way the item is sold.

Determines if the item has expired, that is, if the sale has ended due to a lack of interest and without the item having been sold. How soon this happens depends on the way the item is sold.

## Attributes

Inherited from:
  ItemForSale

def price: Int

Returns the current price of the item, that is, the price that the item is selling for at the moment. If the item is not open, the sale price (if bought) or closing price (if expired) is returned.

Returns the current price of the item, that is, the price that the item is selling for at the moment. If the item is not open, the sale price (if bought) or closing price (if expired) is returned.

## Attributes

Inherited from:
  ItemForSale

#### Inherited fields

val description: String

## Attributes

Inherited from:
  ItemForSale