001: /*
002: *
003: *
004: * Copyright 1990-2007 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: */
026:
027: package com.sun.j2me.location;
028:
029: import java.io.*;
030:
031: import javax.microedition.location.*;
032:
033: /**
034: * This class is an implementation of the <code>Location</code> class defined
035: * by the JSR-179 specification.
036: */
037: // JAVADOC COMMENT ELIDED
038: public class LocationImpl extends Location {
039: // JAVADOC COMMENT ELIDED
040: private final static String MIMETYPE_NMEA_STRING = "application/X-jsr179-location-nmea";
041: // JAVADOC COMMENT ELIDED
042: private final static String MIMETYPE_LIF_STRING = "application/X-jsr179-location-lif";
043: // JAVADOC COMMENT ELIDED
044: private final static String MIMETYPE_PLAIN_STRING = "text/plain";
045:
046: // JAVADOC COMMENT ELIDED
047: private boolean isValid;
048: // JAVADOC COMMENT ELIDED
049: private long timestamp;
050: // JAVADOC COMMENT ELIDED
051: private QualifiedCoordinates coordinates;
052: // JAVADOC COMMENT ELIDED
053: private float speed;
054: // JAVADOC COMMENT ELIDED
055: private float course;
056: // JAVADOC COMMENT ELIDED
057: private int method;
058: // JAVADOC COMMENT ELIDED
059: private AddressInfo address;
060: // JAVADOC COMMENT ELIDED
061: String extraInfoNMEA;
062: // JAVADOC COMMENT ELIDED
063: String extraInfoLIF;
064: // JAVADOC COMMENT ELIDED
065: String extraInfoPlain;
066: // JAVADOC COMMENT ELIDED
067: String extraInfoOther;
068: // JAVADOC COMMENT ELIDED
069: String extraInfoOtherMIMEType;
070:
071: // JAVADOC COMMENT ELIDED
072: LocationImpl(QualifiedCoordinates coordinates, float speed,
073: float course, int method, AddressInfo address,
074: boolean isValid) {
075: this .isValid = isValid;
076: this .timestamp = System.currentTimeMillis();
077: this .coordinates = coordinates;
078: this .speed = speed;
079: this .course = course;
080: this .method = method;
081: this .address = address;
082: }
083:
084: // JAVADOC COMMENT ELIDED
085: private LocationImpl() {
086: }
087:
088: // JAVADOC COMMENT ELIDED
089: public boolean isValid() {
090: return isValid;
091: }
092:
093: // JAVADOC COMMENT ELIDED
094: public void setValid(boolean isValid) {
095: this .isValid = isValid;
096: }
097:
098: // JAVADOC COMMENT ELIDED
099: public long getTimestamp() {
100: return timestamp;
101: }
102:
103: // JAVADOC COMMENT ELIDED
104: public void setTimestamp(long timestamp) {
105: if (timestamp == 0) {
106: this .timestamp = System.currentTimeMillis();
107: } else {
108: this .timestamp = timestamp;
109: }
110: }
111:
112: // JAVADOC COMMENT ELIDED
113: public void setTimestamp() {
114: timestamp = System.currentTimeMillis();
115: }
116:
117: // JAVADOC COMMENT ELIDED
118: public QualifiedCoordinates getQualifiedCoordinates() {
119: return coordinates;
120: }
121:
122: // JAVADOC COMMENT ELIDED
123: public float getSpeed() {
124: return speed;
125: }
126:
127: // JAVADOC COMMENT ELIDED
128: public float getCourse() {
129: return course;
130: }
131:
132: // JAVADOC COMMENT ELIDED
133: public int getLocationMethod() {
134: return method;
135: }
136:
137: // JAVADOC COMMENT ELIDED
138: public AddressInfo getAddressInfo() {
139: return address;
140: }
141:
142: // JAVADOC COMMENT ELIDED
143: public String getExtraInfo(String mimetype) {
144: if (mimetype == null) {
145: return null;
146: }
147: if (mimetype.equalsIgnoreCase(MIMETYPE_NMEA_STRING)) {
148: return extraInfoNMEA;
149: }
150: if (mimetype.equalsIgnoreCase(MIMETYPE_LIF_STRING)) {
151: return extraInfoLIF;
152: }
153: if (mimetype.equalsIgnoreCase(MIMETYPE_PLAIN_STRING)) {
154: return extraInfoPlain;
155: }
156: if (mimetype.equalsIgnoreCase(extraInfoOtherMIMEType)) {
157: return extraInfoOther;
158: }
159: return null;
160: }
161:
162: }
|