Examples of EquitySecurity


Examples of com.opengamma.financial.security.equity.EquitySecurity

  private EquitySecurity _barEquity;
  private SwapSecurity _swap;

  @BeforeMethod
  public void setUp() throws Exception {
    _fooEquity =  new EquitySecurity("exchange", "exchangeCode", "Foo", Currency.USD);
    _fooEquity.addExternalId(ExternalId.of("Test", "FooEquity"));
    _fooEquity.setName("Foo");
    _barEquity = new EquitySecurity("exchange", "exchangeCode", "Bar", Currency.USD);
    _barEquity.addExternalId(ExternalId.of("Test", "BarEquity"));
    _barEquity.setName("Bar");
    final SwapLeg swapLeg = new FixedInterestRateLeg(DayCountFactory.INSTANCE.getDayCount("ACT/365"), SimpleFrequency.SEMI_ANNUAL,
        ExternalId.of("Financial", "US"), BusinessDayConventionFactory.INSTANCE.getBusinessDayConvention("Following"), new InterestRateNotional(Currency.USD, 10e6), false, 0.01);
    _swap = new SwapSecurity(ZonedDateTime.now(), ZonedDateTime.now(), ZonedDateTime.now(), "counterParty", swapLeg, swapLeg);
View Full Code Here

Examples of com.opengamma.financial.security.equity.EquitySecurity

    sec.setUniqueId(BloombergSecurityProvider.createUniqueId("IX166549-0"));
    return sec;
  }

  public static EquitySecurity makeExpectedATTEquitySecurity() {
    EquitySecurity equitySecurity = new EquitySecurity("NEW YORK STOCK EXCHANGE, INC.", "XNYS", "AT&T INC", USD);
    equitySecurity.addExternalId(ExternalSchemes.bloombergTickerSecurityId(ATT_EQUITY_TICKER));

    equitySecurity.addExternalId(ExternalSchemes.bloombergBuidSecurityId(ATT_BUID));
    equitySecurity.addExternalId(ExternalSchemes.cusipSecurityId("00206R102"));
    equitySecurity.addExternalId(ExternalSchemes.isinSecurityId("US00206R1023"));
    equitySecurity.addExternalId(ExternalSchemes.sedol1SecurityId("2831811"));

    equitySecurity.setUniqueId(BloombergSecurityProvider.createUniqueId(ATT_BUID));
    equitySecurity.setShortName("T");
    equitySecurity.setName("AT&T INC");
    equitySecurity.setGicsCode(GICSCode.of("50101020"));
    equitySecurity.setPreferred(false);
    return equitySecurity;
  }
View Full Code Here

Examples of com.opengamma.financial.security.equity.EquitySecurity

    return security;
  }

  public static EquitySecurity makeExpectedAAPLEquitySecurity() {
    EquitySecurity equitySecurity = new EquitySecurity("NASDAQ/NGS (GLOBAL SELECT MARKET)", "XNGS", "APPLE INC", USD);
    equitySecurity.addExternalId(ExternalSchemes.bloombergTickerSecurityId(AAPL_EQUITY_TICKER));
    equitySecurity.addExternalId(ExternalSchemes.bloombergBuidSecurityId(AAPL_BUID));
    equitySecurity.addExternalId(ExternalSchemes.cusipSecurityId("037833100"));
    equitySecurity.addExternalId(ExternalSchemes.isinSecurityId("US0378331005"));
    equitySecurity.addExternalId(ExternalSchemes.sedol1SecurityId("2046251"));
    equitySecurity.setUniqueId(BloombergSecurityProvider.createUniqueId(AAPL_BUID));
    equitySecurity.setShortName("AAPL");
    equitySecurity.setName("APPLE INC");
    equitySecurity.setGicsCode(GICSCode.of("45202010"));
    equitySecurity.setPreferred(false);
    return equitySecurity;
  }
View Full Code Here

Examples of com.opengamma.financial.security.equity.EquitySecurity

    equitySecurity.setPreferred(false);
    return equitySecurity;
  }

  public static EquitySecurity makeExchangeTradedFund() {
    EquitySecurity equitySecurity = new EquitySecurity("NYSE ARCA", "ARCX", "US NATURAL GAS FUND LP", USD);
    equitySecurity.addExternalId(ExternalSchemes.bloombergTickerSecurityId("UNG US Equity"));
    equitySecurity.addExternalId(ExternalSchemes.bloombergBuidSecurityId("EQ0000000003443730"));
    equitySecurity.addExternalId(ExternalSchemes.cusipSecurityId("912318102"));
    equitySecurity.addExternalId(ExternalSchemes.isinSecurityId("US9123181029"));
    equitySecurity.addExternalId(ExternalSchemes.sedol1SecurityId("B1W5XX3"));
    equitySecurity.setUniqueId(BloombergSecurityProvider.createUniqueId("EQ0000000003443730"));
    equitySecurity.setShortName("UNG");
    equitySecurity.setName("US NATURAL GAS FUND LP");
    equitySecurity.setPreferred(false);
    return equitySecurity;
  }
View Full Code Here

Examples of com.opengamma.financial.security.equity.EquitySecurity

    equitySecurity.setPreferred(false);
    return equitySecurity;
  }

  public static Security makeAmericanGeneralEquity() {
    EquitySecurity equitySecurity = new EquitySecurity("LONDON STOCK EXCHANGE", "XLON", "AMERICAN GENERAL CORP", GBP);
    equitySecurity.setUniqueId(BloombergSecurityProvider.createUniqueId("EQ0010006200001001"));
    equitySecurity.setName("AMERICAN GENERAL CORP");
    equitySecurity.setShortName("EQ0010006200001001");
    equitySecurity.addExternalId(ExternalSchemes.bloombergBuidSecurityId("EQ0010006200001001"));
    equitySecurity.addExternalId(ExternalSchemes.bloombergTickerSecurityId("575258Q LN Equity"));
    equitySecurity.addExternalId(ExternalSchemes.isinSecurityId("US0263511067"));
    equitySecurity.addExternalId(ExternalSchemes.cusipSecurityId("026351106"));
    return equitySecurity;
  }
View Full Code Here

Examples of com.opengamma.financial.security.equity.EquitySecurity

    equitySecurity.addExternalId(ExternalSchemes.cusipSecurityId("026351106"));
    return equitySecurity;
  }

  public static Security makeTHYSSENKRUPPEquity() {
    EquitySecurity equitySecurity = new EquitySecurity("LONDON STOCK EXCHANGE", "XLON", "THYSSENKRUPP AEROSPACE UK LT",
        GBP);
    equitySecurity.setUniqueId(BloombergSecurityProvider.createUniqueId("EQ0011110200001000"));
    equitySecurity.setName("THYSSENKRUPP AEROSPACE UK LT");
    equitySecurity.setShortName("EQ0011110200001000");
    equitySecurity.addExternalId(ExternalSchemes.bloombergBuidSecurityId("EQ0011110200001000"));
    equitySecurity.addExternalId(ExternalSchemes.bloombergTickerSecurityId("2931300Q LN Equity"));
    equitySecurity.addExternalId(ExternalSchemes.isinSecurityId("GB0000458744"));
    equitySecurity.addExternalId(ExternalSchemes.sedol1SecurityId("0045874"));
    return equitySecurity;
  }
View Full Code Here

Examples of com.opengamma.financial.security.equity.EquitySecurity

    equitySecurity.addExternalId(ExternalSchemes.sedol1SecurityId("0045874"));
    return equitySecurity;
  }

  public static Security makePTSEquity() {
    EquitySecurity equitySecurity = new EquitySecurity("LONDON STOCK EXCHANGE", "XLON", "PTS GROUP PLC", GBP);
    equitySecurity.setUniqueId(BloombergSecurityProvider.createUniqueId("EQ0015697400001000"));
    equitySecurity.setName("PTS GROUP PLC");
    equitySecurity.setShortName("EQ0015697400001000");
    equitySecurity.addExternalId(ExternalSchemes.bloombergBuidSecurityId("EQ0015697400001000"));
    equitySecurity.addExternalId(ExternalSchemes.bloombergTickerSecurityId("365092Q LN Equity"));
    equitySecurity.addExternalId(ExternalSchemes.isinSecurityId("GB0006661457"));
    equitySecurity.addExternalId(ExternalSchemes.sedol1SecurityId("0666145"));
    return equitySecurity;
  }
View Full Code Here

Examples of com.opengamma.financial.security.equity.EquitySecurity

      }

      @Override
      public Void visitEquitySecurity(EquitySecurity security) {
        assertTrue(fromSecMaster instanceof EquitySecurity);
        EquitySecurity actual = (EquitySecurity) fromSecMaster;

        assertEquals(security.getCompanyName(), actual.getCompanyName());
        assertEquals(security.getCurrency(), actual.getCurrency());
        assertEquals(security.getExchange(), actual.getExchange());
        assertEquals(security.getExchangeCode(), actual.getExchangeCode());
        assertEquals(security.getGicsCode(), actual.getGicsCode());
        assertEquals(security.getExternalIdBundle(), actual.getExternalIdBundle());
        assertEquals(security.getName(), actual.getName());
        assertEquals(security.getSecurityType(), actual.getSecurityType());
        assertEquals(security.getShortName(), actual.getShortName());
        assertNotNull(actual.getUniqueId());
        return null;
      }

      @Override
      public Void visitFRASecurity(FRASecurity security) {
        assertSecurity();
        return null;
      }

      @Override
      public Void visitAgricultureFutureSecurity(AgricultureFutureSecurity security) {
        return visitFutureSecurity(security);
      }

      @Override
      public Void visitBondFutureSecurity(BondFutureSecurity security) {
        return visitFutureSecurity(security);
      }

      @Override
      public Void visitEnergyFutureSecurity(EnergyFutureSecurity security) {
        return visitFutureSecurity(security);
      }

      @Override
      public Void visitEquityFutureSecurity(EquityFutureSecurity security) {
        return visitFutureSecurity(security);
      }

      @Override
      public Void visitEquityIndexDividendFutureSecurity(EquityIndexDividendFutureSecurity security) {
        return visitFutureSecurity(security);
      }

      @Override
      public Void visitFXFutureSecurity(FXFutureSecurity security) {
        return visitFutureSecurity(security);
      }

      @Override
      public Void visitIndexFutureSecurity(IndexFutureSecurity security) {
        return visitFutureSecurity(security);
      }

      @Override
      public Void visitInterestRateFutureSecurity(InterestRateFutureSecurity security) {
        return visitFutureSecurity(security);
      }

      @Override
      public Void visitMetalFutureSecurity(MetalFutureSecurity security) {
        return visitFutureSecurity(security);
      }

      @Override
      public Void visitStockFutureSecurity(StockFutureSecurity security) {
        return visitFutureSecurity(security);
      }

      private Void visitFutureSecurity(FutureSecurity security) {
        security.accept(new FinancialSecurityVisitorAdapter<Void>() {

          @Override
          public Void visitAgricultureFutureSecurity(AgricultureFutureSecurity security) {
            assertSecurity();
            return null;
          }

          @Override
          public Void visitBondFutureSecurity(BondFutureSecurity security) {
            assertTrue("Security is instance of: " + fromSecMaster.getClass().getName(), fromSecMaster instanceof BondFutureSecurity);
            BondFutureSecurity actual = (BondFutureSecurity) fromSecMaster;

            assertEquals(new HashSet<>(security.getBasket()), new HashSet<>(actual.getBasket()));

            assertEquals(security.getContractCategory(), actual.getContractCategory());
            assertEquals(security.getCurrency(), actual.getCurrency());
            assertEquals(security.getExpiry(), actual.getExpiry());
            assertEquals(security.getFirstDeliveryDate(), actual.getFirstDeliveryDate());
            assertEquals(security.getExternalIdBundle(), actual.getExternalIdBundle());
            assertEquals(security.getLastDeliveryDate(), actual.getLastDeliveryDate());
            assertEquals(security.getName(), actual.getName());
            assertEquals(security.getSecurityType(), actual.getSecurityType());
            assertEquals(security.getSettlementExchange(), actual.getSettlementExchange());
            assertEquals(security.getTradingExchange(), actual.getTradingExchange());
            assertEquals(security.getUnitAmount(), actual.getUnitAmount());
            assertNotNull(actual.getUniqueId());

            //test underlying is loaded as well
            for (BondFutureDeliverable deliverable : security.getBasket()) {
              ExternalIdBundle identifiers = deliverable.getIdentifiers();
              assertUnderlyingIsLoaded(identifiers);
            }
            return null;
          }

          @Override
          public Void visitEnergyFutureSecurity(EnergyFutureSecurity security) {
            assertSecurity();
            return null;
          }

          @Override
          public Void visitEquityFutureSecurity(EquityFutureSecurity security) {
            assertSecurity();
            return null;
          }

          @Override
          public Void visitEquityIndexDividendFutureSecurity(EquityIndexDividendFutureSecurity security) {
            assertSecurity();
            return null;
          }

          @Override
          public Void visitFXFutureSecurity(FXFutureSecurity security) {
            assertSecurity();
            return null;
          }

          @Override
          public Void visitIndexFutureSecurity(IndexFutureSecurity security) {
            assertSecurity();
            return null;
          }

          @Override
          public Void visitInterestRateFutureSecurity(InterestRateFutureSecurity security) {
            assertTrue(fromSecMaster instanceof InterestRateFutureSecurity);
            InterestRateFutureSecurity actual = (InterestRateFutureSecurity) fromSecMaster;
            assertEquals(security.getCurrency(), actual.getCurrency());
            assertEquals(security.getExpiry(), actual.getExpiry());
            assertEquals(security.getExternalIdBundle(), actual.getExternalIdBundle());
            assertEquals(security.getName(), actual.getName());
            assertEquals(security.getSecurityType(), actual.getSecurityType());
            assertEquals(security.getSettlementExchange(), actual.getSettlementExchange());
            assertEquals(security.getTradingExchange(), actual.getTradingExchange());
            assertEquals(security.getUnderlyingId(), actual.getUnderlyingId());
            assertEquals(security.getUnitAmount(), actual.getUnitAmount());
            assertNotNull(actual.getUniqueId());
            return null;
          }

          @Override
          public Void visitMetalFutureSecurity(MetalFutureSecurity security) {
            assertSecurity();
            return null;
          }

          @Override
          public Void visitStockFutureSecurity(StockFutureSecurity security) {
            assertSecurity();
            return null;
          }
        });
        return null;
      }

      @Override
      public Void visitSwapSecurity(SwapSecurity security) {
        assertSecurity();
        return null;
      }

      @Override
      public Void visitEquityIndexOptionSecurity(EquityIndexOptionSecurity security) {
        assertTrue(fromSecMaster instanceof EquityIndexOptionSecurity);
        EquityIndexOptionSecurity actual = (EquityIndexOptionSecurity) fromSecMaster;

        assertEquals(security.getCurrency(), actual.getCurrency());

        assertEquals(security.getExchange(), actual.getExchange());
        assertEquals(security.getExerciseType(), actual.getExerciseType());
        assertEquals(security.getExpiry(), actual.getExpiry());
        assertEquals(security.getExternalIdBundle(), actual.getExternalIdBundle());
        assertEquals(security.getName(), actual.getName());
        assertEquals(security.getOptionType(), actual.getOptionType());
        assertEquals(security.getPointValue(), actual.getPointValue());
        assertEquals(security.getSecurityType(), actual.getSecurityType());
        assertEquals(security.getStrike(), actual.getStrike());
        assertEquals(security.getUnderlyingId(), actual.getUnderlyingId());
        assertNotNull(actual.getUniqueId());
        return null;
      }

      @Override
      public Void visitEquityOptionSecurity(EquityOptionSecurity security) {
        assertTrue(fromSecMaster instanceof EquityOptionSecurity);
        EquityOptionSecurity actual = (EquityOptionSecurity) fromSecMaster;

        assertEquals(security.getCurrency(), actual.getCurrency());

        assertEquals(security.getExchange(), actual.getExchange());
        assertEquals(security.getExerciseType(), actual.getExerciseType());
        assertEquals(security.getExpiry(), actual.getExpiry());
        assertEquals(security.getExternalIdBundle(), actual.getExternalIdBundle());
        assertEquals(security.getName(), actual.getName());
        assertEquals(security.getOptionType(), actual.getOptionType());
        assertEquals(security.getPointValue(), actual.getPointValue());
        assertEquals(security.getSecurityType(), actual.getSecurityType());
        assertEquals(security.getStrike(), actual.getStrike());
        assertEquals(security.getUnderlyingId(), actual.getUnderlyingId());
        assertNotNull(actual.getUniqueId());

        //test underlying is loaded as well
        ExternalId underlyingIdentifier = security.getUnderlyingId();
        assertUnderlyingIsLoaded(underlyingIdentifier);
        return null;
      }

      @Override
      public Void visitEquityBarrierOptionSecurity(EquityBarrierOptionSecurity security) {
        assertSecurity();
        return null;
      }
     
      @Override
      public Void visitFXOptionSecurity(FXOptionSecurity security) {
        assertSecurity();
        return null;
      }
     
      @Override
      public Void visitNonDeliverableFXOptionSecurity(NonDeliverableFXOptionSecurity security) {
        assertSecurity();
        return null;
      }

      @Override
      public Void visitSwaptionSecurity(SwaptionSecurity security) {
        assertSecurity();
        return null;
      }

      @Override
      public Void visitIRFutureOptionSecurity(IRFutureOptionSecurity security) {
        assertTrue(fromSecMaster instanceof IRFutureOptionSecurity);
        IRFutureOptionSecurity actual = (IRFutureOptionSecurity) fromSecMaster;

        assertEquals(security.getCurrency(), actual.getCurrency());

        assertEquals(security.getExchange(), actual.getExchange());
        assertEquals(security.getExerciseType(), actual.getExerciseType());
        assertEquals(security.getExpiry(), actual.getExpiry());
        assertEquals(security.isMargined(), actual.isMargined());
        assertEquals(security.getOptionType(), actual.getOptionType());
        assertEquals(security.getPointValue(), actual.getPointValue());
        assertEquals(security.getStrike(), actual.getStrike());
        assertEquals(security.getUnderlyingId(), actual.getUnderlyingId());
       
        assertEquals(security.getExternalIdBundle(), actual.getExternalIdBundle());
        assertEquals(security.getName(), actual.getName());
        assertEquals(security.getSecurityType(), actual.getSecurityType());
        assertNotNull(actual.getUniqueId());

        //test underlying is loaded as well
        ExternalId underlyingIdentifier = security.getUnderlyingId();
        assertUnderlyingIsLoaded(underlyingIdentifier);
        return null;          
      }

      @Override
      public Void visitCommodityFutureOptionSecurity(CommodityFutureOptionSecurity security) {
        assertTrue(fromSecMaster instanceof CommodityFutureOptionSecurity);
        CommodityFutureOptionSecurity actual = (CommodityFutureOptionSecurity) fromSecMaster;

        assertEquals(security.getCurrency(), actual.getCurrency());

        assertEquals(security.getTradingExchange(), actual.getTradingExchange());
        assertEquals(security.getSettlementExchange(), actual.getSettlementExchange());
        assertEquals(security.getExerciseType(), actual.getExerciseType());
        assertEquals(security.getExpiry(), actual.getExpiry());
        assertEquals(security.getOptionType(), actual.getOptionType());
        assertEquals(security.getPointValue(), actual.getPointValue());
        assertEquals(security.getStrike(), actual.getStrike());
        assertEquals(security.getUnderlyingId(), actual.getUnderlyingId());
       
        assertEquals(security.getExternalIdBundle(), actual.getExternalIdBundle());
        assertEquals(security.getName(), actual.getName());
        assertEquals(security.getSecurityType(), actual.getSecurityType());
        assertNotNull(actual.getUniqueId());

        //test underlying is loaded as well
        ExternalId underlyingIdentifier = security.getUnderlyingId();
        assertUnderlyingIsLoaded(underlyingIdentifier);
        return null;
      }

      @Override
      public Void visitFxFutureOptionSecurity(FxFutureOptionSecurity security) {
        assertTrue(fromSecMaster instanceof FxFutureOptionSecurity);
        FxFutureOptionSecurity actual = (FxFutureOptionSecurity) fromSecMaster;

        assertEquals(security.getCurrency(), actual.getCurrency());

        assertEquals(security.getTradingExchange(), actual.getTradingExchange());
        assertEquals(security.getSettlementExchange(), actual.getSettlementExchange());
        assertEquals(security.getExerciseType(), actual.getExerciseType());
        assertEquals(security.getExpiry(), actual.getExpiry());
        assertEquals(security.getOptionType(), actual.getOptionType());
        assertEquals(security.getPointValue(), actual.getPointValue());
        assertEquals(security.getStrike(), actual.getStrike());
        assertEquals(security.getUnderlyingId(), actual.getUnderlyingId());

        assertEquals(security.getExternalIdBundle(), actual.getExternalIdBundle());
        assertEquals(security.getName(), actual.getName());
        assertEquals(security.getSecurityType(), actual.getSecurityType());
        assertNotNull(actual.getUniqueId());

        //test underlying is loaded as well
        ExternalId underlyingIdentifier = security.getUnderlyingId();
        assertUnderlyingIsLoaded(underlyingIdentifier);
        return null;
      }

      @Override
      public Void visitEquityIndexDividendFutureOptionSecurity(EquityIndexDividendFutureOptionSecurity security) {

        assertTrue(fromSecMaster instanceof EquityIndexDividendFutureOptionSecurity);
        EquityIndexDividendFutureOptionSecurity actual = (EquityIndexDividendFutureOptionSecurity) fromSecMaster;

        assertEquals(security.getCurrency(), actual.getCurrency());

        assertEquals(security.getExchange(), actual.getExchange());
        assertEquals(security.getExerciseType(), actual.getExerciseType());
        assertEquals(security.getExpiry(), actual.getExpiry());
        assertEquals(security.getOptionType(), actual.getOptionType());
        assertEquals(security.getPointValue(), actual.getPointValue());
        assertEquals(security.getStrike(), actual.getStrike());
        assertEquals(security.isMargined(), actual.isMargined());
        assertEquals(security.getUnderlyingId(), actual.getUnderlyingId());

        assertEquals(security.getExternalIdBundle(), actual.getExternalIdBundle());
        assertEquals(security.getName(), actual.getName());
        assertEquals(security.getSecurityType(), actual.getSecurityType());
        assertNotNull(actual.getUniqueId());

        //test underlying is loaded as well
        ExternalId underlyingIdentifier = security.getUnderlyingId();
        assertUnderlyingIsLoaded(underlyingIdentifier);
        return null;
      }

      @Override
      public Void visitEquityIndexFutureOptionSecurity(final EquityIndexFutureOptionSecurity security) {

        assertTrue(fromSecMaster instanceof EquityIndexFutureOptionSecurity);
        EquityIndexFutureOptionSecurity actual = (EquityIndexFutureOptionSecurity) fromSecMaster;

        assertEquals(security.getCurrency(), actual.getCurrency());

        assertEquals(security.getExchange(), actual.getExchange());
        assertEquals(security.getExerciseType(), actual.getExerciseType());
        assertEquals(security.getExpiry(), actual.getExpiry());
        assertEquals(security.getOptionType(), actual.getOptionType());
        assertEquals(security.getPointValue(), actual.getPointValue());
        assertEquals(security.getStrike(), actual.getStrike());
        assertEquals(security.isMargined(), actual.isMargined());
        assertEquals(security.getUnderlyingId(), actual.getUnderlyingId());

        assertEquals(security.getExternalIdBundle(), actual.getExternalIdBundle());
        assertEquals(security.getName(), actual.getName());
        assertEquals(security.getSecurityType(), actual.getSecurityType());
        assertNotNull(actual.getUniqueId());

        //test underlying is loaded as well
        ExternalId underlyingIdentifier = security.getUnderlyingId();
        assertUnderlyingIsLoaded(underlyingIdentifier);
        return null;
View Full Code Here

Examples of com.opengamma.financial.security.equity.EquitySecurity

  @Test
  public void securityTypes() {
    ExternalId equityId = ExternalId.of("sec", "eq");
    ExternalId optionId = ExternalId.of("sec", "eqo");
    ExternalId forwardId = ExternalId.of("sec", "fx");
    EquitySecurity equity = new EquitySecurity("exch", "excd", "ACME", Currency.USD);
    ExternalId region = ExternalId.of("regionScheme", "regionValue");
    ZonedDateTime now = ZonedDateTime.now();
    FXForwardSecurity fxForward = new FXForwardSecurity(Currency.AUD, 123, Currency.CAD, 321, now, region);
    FXOptionSecurity fxOption = new FXOptionSecurity(Currency.AUD, Currency.CAD, 123, 321, new Expiry(now),
                                                     now, true, new AmericanExerciseType());
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.