001: /*
002: * Copyright (c) 2001 Silvere Martin-Michiellot All Rights Reserved.
003: *
004: * Silvere Martin-Michiellot grants you ("Licensee") a non-exclusive,
005: * royalty free, license to use, modify and redistribute this
006: * software in source and binary code form,
007: * provided that i) this copyright notice and license appear on all copies of
008: * the software; and ii) Licensee does not utilize the software in a manner
009: * which is disparaging to Silvere Martin-Michiellot.
010: *
011: * This software is provided "AS IS," without a warranty of any kind. ALL
012: * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
013: * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
014: * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. Silvere Martin-Michiellot
015: * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES
016: * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
017: * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL
018: * Silvere Martin-Michiellot OR ITS LICENSORS BE LIABLE
019: * FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
020: * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
021: * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
022: * OR INABILITY TO USE SOFTWARE, EVEN IF Silvere Martin-Michiellot HAS BEEN
023: * ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
024: *
025: * This software is not designed or intended for use in on-line control of
026: * aircraft, air traffic, aircraft navigation or aircraft communications; or in
027: * the design, construction, operation or maintenance of any nuclear
028: * facility. Licensee represents and warrants that it will not use or
029: * redistribute the Software for such purposes.
030: *
031: * @Author: Silvere Martin-Michiellot
032: *
033: */
034:
035: package com.db.server;
036:
037: import java.io.*;
038: import java.security.PublicKey;
039: import java.util.*;
040: import javax.jdo.*;
041: import javax.media.j3d.*;
042:
043: /**
044: */
045: public class SecuredVCashWallet extends ObjectWorld {
046:
047: private double moneyValue;
048: private String moneyCurrency;
049:
050: public SecuredVCashWallet(UniverseServer universeServer,
051: Avatar userOwner) {
052:
053: super (universeServer, userOwner);
054: this .moneyValue = 0;
055: this .moneyCurrency = Trade.US_DOLLAR;
056:
057: }
058:
059: //specific to this class
060: public final double getMoneyValue() {
061:
062: return this .moneyValue;
063:
064: }
065:
066: //specific to this class
067: public final String getMoneyCurrency() {
068:
069: return this .moneyCurrency;
070:
071: }
072:
073: //specific to this class
074: public final void add(double value, String currency, Trade trade) {
075:
076: this .moneyValue = this .moneyValue
077: + trade.convertPrice(currency, moneyCurrency, value);
078:
079: }
080:
081: //specific to this class
082: public final void subtract(double value, String currency,
083: Trade trade) {
084:
085: this .moneyValue = this .moneyValue
086: - trade.convertPrice(currency, moneyCurrency, value);
087:
088: }
089:
090: public final void setGeometryDescription(Node object) {
091:
092: super .setGeometryDescription(object);
093:
094: }
095:
096: public final void setSoundDescription(Sound sound) {
097:
098: super .setSoundDescription(sound);
099:
100: }
101:
102: public final void setStatus(Object status) {
103:
104: super .setStatus(status);
105:
106: }
107:
108: //specific to this class
109: //value is not checked
110: public final void setMoneyCurrency(String moneyCurrency) {
111:
112: String oldMoneyCurrency;
113:
114: oldMoneyCurrency = this.moneyCurrency;
115: this.moneyCurrency = moneyCurrency;
116: this.moneyValue = Avatar.getWorldSpot(this.getUserOwner())
117: .getTrade().convertPrice(oldMoneyCurrency,
118: moneyCurrency, this.moneyValue);
119:
120: }
121:
122: }
|