| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.microedition.location.Criteria
The criteria used for the selection of the location provider
 is defined by the values in this class. It is
 up to the implementation to provide a LocationProvider that 
 can obtain locations constrained by these values.
 
 
Instances of Criteria are used by the application
 to indicate criteria for choosing the location provider in the 
 LocationProvider.getInstance method call. 
 The implementation considers the different criteria fields
 to choose the location provider that best fits the
 defined criteria. The different criteria fields do not have
 any defined priority order but the implementation uses some
 implementation specific logic to choose the location provider
 that can typically best meet the defined criteria.
 
However, the cost criteria field is treated differently from others. If the application has set the cost field to indicate that the returned location provider is not allowed to incur financial cost to the end user, the implementation MUST guarantee that the returned location provider does not incur cost.
If there is no available location provider that is able to meet all the specified criteria, the implementation is allowed to make its own best effort selection of a location provider that is closest to the defined criteria (provided that the cost criteria is met). However, an implementation is not required to return a location provider if it does not have any available provider that is able to meet these criteria or be sufficiently close to meeting them, where the judgement of sufficiently close is an implementation dependent best effort choice. It is left up to the implementation to consider what is close enough to the specified requirements that it is worth providing the location provider to the application.
The default values for the criteria fields are specified below in 
 the table. The default values are always 
 the least restrictive option that will match all location providers.
 Default values: 
 
| Criteria field | Default value | 
|---|---|
| Horizontal accuracy | NO_REQUIREMENT | 
| Vertical accuracy | NO_REQUIREMENT | 
| Preferred response time | NO_REQUIREMENT | 
| Power consumption | NO_REQUIREMENT | 
| Cost allowed | true (allowed to cost) | 
| Speed and course required | false (not required) | 
| Altitude required | false (not required) | 
| Address info required | false (not required) | 
The implementation of this class only retains the values that
 are passed in using the set* methods. It does not try to validate
 the values of the parameters in any way.
 Applications may set any values it likes, even negative values, but the 
 consequence may be that no matching LocationProvider can be 
 created.
| Field Summary | |
| static int | NO_REQUIREMENTConstant indicating no requirements for the parameter. | 
| static int | POWER_USAGE_HIGHLevel indicating high power consumption allowed. | 
| static int | POWER_USAGE_LOWLevel indicating only low power consumption allowed. | 
| static int | POWER_USAGE_MEDIUMLevel indicating average power consumption allowed. | 
| Constructor Summary | |
| Criteria()Constructs a Criteriaobject. | |
| Method Summary | |
|  int | getHorizontalAccuracy()Returns the horizontal accuracy value set in this Criteria. | 
|  int | getPreferredPowerConsumption()Returns the preferred power consumption. | 
|  int | getPreferredResponseTime()Returns the preferred maximum response time. | 
|  int | getVerticalAccuracy()Returns the vertical accuracy value set in this Criteria. | 
|  boolean | isAddressInfoRequired()Returns whether the location provider should be able to determine textual address information. | 
|  boolean | isAllowedToCost()Returns the preferred cost setting. | 
|  boolean | isAltitudeRequired()Returns whether the location provider should be able to determine altitude. | 
|  boolean | isSpeedAndCourseRequired()Returns whether the location provider should be able to determine speed and course. | 
|  void | setAddressInfoRequired(boolean addressInfoRequired)Sets whether the location provider should be able to determine textual address information. | 
|  void | setAltitudeRequired(boolean altitudeRequired)Sets whether the location provider should be able to determine altitude. | 
|  void | setCostAllowed(boolean costAllowed)Sets the preferred cost setting. | 
|  void | setHorizontalAccuracy(int accuracy)Sets the desired horizontal accuracy preference. | 
|  void | setPreferredPowerConsumption(int level)Sets the preferred maximum level of power consumption. | 
|  void | setPreferredResponseTime(int time)Sets the desired maximum response time preference. | 
|  void | setSpeedAndCourseRequired(boolean speedAndCourseRequired)Sets whether the location provider should be able to determine speed and course. | 
|  void | setVerticalAccuracy(int accuracy)Sets the desired vertical accuracy preference. | 
| Methods inherited from class java.lang.Object | 
| equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
public static final int NO_REQUIREMENT
public static final int POWER_USAGE_LOW
public static final int POWER_USAGE_MEDIUM
public static final int POWER_USAGE_HIGH
| Constructor Detail | 
public Criteria()
Criteria object. All the fields are
 set to the default values that are specified below in the
 specification of the set* methods for the parameters.
| Method Detail | 
public int getPreferredPowerConsumption()
setPreferredPowerConsumption(int)public boolean isAllowedToCost()
setCostAllowed(boolean)public int getVerticalAccuracy()
Criteria.
setVerticalAccuracy(int)public int getHorizontalAccuracy()
Criteria.
setHorizontalAccuracy(int)public int getPreferredResponseTime()
setPreferredResponseTime(int)public boolean isSpeedAndCourseRequired()
true means that it should be able, 
         false means that this is not
         required.setSpeedAndCourseRequired(boolean)public boolean isAltitudeRequired()
true means that it should be able, 
         false means that this is not
         required.setAltitudeRequired(boolean)public boolean isAddressInfoRequired()
true means that it should be able, 
         false means that this is not
         required.setAddressInfoRequired(boolean)public void setHorizontalAccuracy(int accuracy)
NO_REQUIREMENT, meaning no preference 
 on horizontal accuracy.
accuracy - the preferred horizontal accuracy in metersgetHorizontalAccuracy()public void setVerticalAccuracy(int accuracy)
NO_REQUIREMENT, meaning no preference 
 on vertical accuracy.
accuracy - the preferred vertical accuracy in metersgetVerticalAccuracy()public void setPreferredResponseTime(int time)
NO_REQUIREMENT, meaning no response
 time constraint.
time - the preferred time constraint and timeout value 
 in millisecondsgetPreferredResponseTime()public void setPreferredPowerConsumption(int level)
These levels are inherently indeterminable and depend on many factors. It is the judgement of the implementation that defines a positioning method as consuming low power or high power. Default is NO_REQUIREMENT, meaning power consumption is not a quality parameter.
level - the preferred maximum level of power consumption. 
              Should be one of NO_REQUIREMENT, POWER_USAGE_LOW, 
              POWER_USAGE_MEDIUM, POWER_USAGE_HIGH.getPreferredPowerConsumption()public void setCostAllowed(boolean costAllowed)
Sets whether the requests for location determination is allowed to incur any financial cost to the user of the terminal.
The default is true, i.e. the method is allowed to cost.
 
Note that the platform implementation may not always be 
 able to know if a location method implies cost to the end
 user or not. If the implementation doesn't know, it MUST
 assume that it may cost. When this criteria is set to false,
 the implementation may only return a LocationProvider
 of which it is certain that using it for determining 
 the location does not cause a per usage cost to the end user.
 
costAllowed - false if location determination is not
 allowed to cost, true if it is allowed to costisAllowedToCost()public void setSpeedAndCourseRequired(boolean speedAndCourseRequired)
speedAndCourseRequired - if set to true, the 
                      LocationProvider is 
                      required to be able to normally
                      determine the speed and course.
                      if set the false, 
                      the speed and course are not 
                      required.isSpeedAndCourseRequired()public void setAltitudeRequired(boolean altitudeRequired)
altitudeRequired - if set to true, the 
                      LocationProvider is 
                      required to be able to normally
                      determine the altitude
                      if set the false, 
                      the altitude is not 
                      required.isAltitudeRequired()public void setAddressInfoRequired(boolean addressInfoRequired)
Default is false.
addressInfoRequired - if set to true, the 
                      LocationProvider is 
                      required to be able to normally
                      determine the textual address information.
                      if set the false, 
                      the textual address information is not 
                      required.isAddressInfoRequired()| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||