- java.lang.Object
-
- javax.management.Query
-
public class Query extends Object
构造查询对象约束。
可以使用其
queryNames
或queryMBeans
方法查询符合特定条件的MBean的MBean服务器。 该方法的QueryExp
参数可以是接口QueryExp
任何实现,但通常最好通过调用此类中的静态方法来获取QueryExp
值。 在查询远程MBean服务器时尤其如此:远程MBean服务器中可能不存在QueryExp
接口的自定义实现,但此类中的方法仅返回作为JMX实现的一部分的标准类。举个例子,假设你想找到所有的MBean,其中
Enabled
属性是true
,而Owner
属性是"Duke"
。 下面是如何通过链接方法调用来构建相应的QueryExp
:QueryExp query = Query.and(Query.eq(Query.attr("Enabled"), Query.value(true)), Query.eq(Query.attr("Owner"), Query.value("Duke")));
- 从以下版本开始:
- 1.5
-
-
构造方法摘要
构造方法 Constructor 描述 Query()
基本构造函数
-
方法摘要
所有方法 静态方法 具体的方法 Modifier and Type 方法 描述 static QueryExp
and(QueryExp q1, QueryExp q2)
返回一个查询表达式,它是两个其他查询表达式的连接。static QueryExp
anySubString(AttributeValueExp a, StringValueExp s)
返回一个表示字符串参数匹配约束的查询表达式。static AttributeValueExp
attr(String name)
返回一个新的属性表达式。static AttributeValueExp
attr(String className, String name)
返回一个新的限定属性表达式。static QueryExp
between(ValueExp v1, ValueExp v2, ValueExp v3)
返回一个表示一个值位于两个其他值之间的约束的查询表达式。static AttributeValueExp
classattr()
返回一个新的类属性表达式,可以在期望使用ValueExp的任何Query调用中使用。static ValueExp
div(ValueExp value1, ValueExp value2)
返回表示两个数值的商的二进制表达式。static QueryExp
eq(ValueExp v1, ValueExp v2)
返回一个表示两个值上的等式约束的查询表达式。static QueryExp
finalSubString(AttributeValueExp a, StringValueExp s)
返回一个表示字符串参数匹配约束的查询表达式。static QueryExp
geq(ValueExp v1, ValueExp v2)
返回一个在两个值上表示“大于或等于”约束的查询表达式。static QueryExp
gt(ValueExp v1, ValueExp v2)
返回一个对两个值表示“大于”约束的查询表达式。static QueryExp
in(ValueExp val, ValueExp[] valueList)
返回一个将值限制为显式列表的表达式。static QueryExp
initialSubString(AttributeValueExp a, StringValueExp s)
返回一个表示字符串参数匹配约束的查询表达式。static QueryExp
isInstanceOf(StringValueExp classNameValue)
返回一个表示MBean类继承约束的查询表达式。static QueryExp
leq(ValueExp v1, ValueExp v2)
返回一个对两个值表示“小于或等于”约束的查询表达式。static QueryExp
lt(ValueExp v1, ValueExp v2)
返回一个对两个值表示“小于”约束的查询表达式。static QueryExp
match(AttributeValueExp a, StringValueExp s)
返回一个表示字符串参数匹配约束的查询表达式。static ValueExp
minus(ValueExp value1, ValueExp value2)
返回表示两个数值之间的差异的二进制表达式。static QueryExp
not(QueryExp queryExp)
返回一个约束,它是其参数的否定。static QueryExp
or(QueryExp q1, QueryExp q2)
返回一个查询表达式,它是两个其他查询表达式的分离。static ValueExp
plus(ValueExp value1, ValueExp value2)
返回表示两个数值之和的二进制表达式,或两个字符串值的并置。static ValueExp
times(ValueExp value1, ValueExp value2)
返回表示两个数值的乘积的二进制表达式。static ValueExp
value(boolean val)
返回一个布尔值表达式,可以在任何期望ValueExp的Query调用中使用。static ValueExp
value(double val)
返回一个数值表达式,可以在任何期望使用ValueExp的Query调用中使用。static ValueExp
value(float val)
返回一个数值表达式,可以在任何期望使用ValueExp的Query调用中使用。static ValueExp
value(int val)
返回一个数值表达式,可以在任何期望使用ValueExp的Query调用中使用。static ValueExp
value(long val)
返回一个数值表达式,可以在任何期望使用ValueExp的Query调用中使用。static ValueExp
value(Number val)
返回一个数值表达式,可以在任何期望使用ValueExp的Query调用中使用。static StringValueExp
value(String val)
返回新的字符串表达式。
-
-
-
字段详细信息
-
GT
public static final int GT
代表gt(javax.management.ValueExp, javax.management.ValueExp)
查询的代码。 这主要是对序列化查询形式感兴趣的。- 另请参见:
- Constant Field Values
-
LT
public static final int LT
代表lt(javax.management.ValueExp, javax.management.ValueExp)
查询的代码。 这主要是对序列化查询形式感兴趣的。- 另请参见:
- Constant Field Values
-
GE
public static final int GE
代表geq(javax.management.ValueExp, javax.management.ValueExp)
查询的代码。 这主要是对序列化查询形式感兴趣的。- 另请参见:
- Constant Field Values
-
LE
public static final int LE
代表leq(javax.management.ValueExp, javax.management.ValueExp)
查询的代码。 这主要是对序列化查询形式感兴趣的。- 另请参见:
- Constant Field Values
-
EQ
public static final int EQ
代表eq(javax.management.ValueExp, javax.management.ValueExp)
查询的代码。 这主要是对序列化查询形式感兴趣的。- 另请参见:
- Constant Field Values
-
PLUS
public static final int PLUS
代表plus(javax.management.ValueExp, javax.management.ValueExp)
表达式的代码。 这主要是对序列化查询形式感兴趣的。- 另请参见:
- Constant Field Values
-
MINUS
public static final int MINUS
代表minus(javax.management.ValueExp, javax.management.ValueExp)
表达式的代码。 这主要是对序列化查询形式感兴趣的。- 另请参见:
- Constant Field Values
-
TIMES
public static final int TIMES
代表times(javax.management.ValueExp, javax.management.ValueExp)
表达式的代码。 这主要是对序列化查询形式感兴趣的。- 另请参见:
- Constant Field Values
-
DIV
public static final int DIV
代表div(javax.management.ValueExp, javax.management.ValueExp)
表达式的代码。 这主要是对序列化查询形式感兴趣的。- 另请参见:
- Constant Field Values
-
-
方法详细信息
-
and
public static QueryExp and(QueryExp q1, QueryExp q2)
返回一个查询表达式,它是两个其他查询表达式的连接。- 参数
-
q1
- 查询表达式。 -
q2
- 另一个查询表达式。 - 结果
- 两个参数的结合。 返回的对象将被序列化为非公开类javax.management.AndQueryExp的实例。
-
or
public static QueryExp or(QueryExp q1, QueryExp q2)
返回一个查询表达式,它是两个其他查询表达式的分离。- 参数
-
q1
- 查询表达式。 -
q2
- 另一个查询表达式。 - 结果
- 两个论点的分离。 返回的对象将被序列化为非公开类javax.management.OrQueryExp的实例。
-
gt
public static QueryExp gt(ValueExp v1, ValueExp v2)
返回一个对两个值表示“大于”约束的查询表达式。- 参数
-
v1
- 值表达式。 -
v2
- 另一个值表达式。 - 结果
-
对参数的“大于”约束。
返回的对象将被序列化为非公开类javax.management.BinaryRelQueryExp的一个实例,其中
relOp
等于GT
。
-
geq
public static QueryExp geq(ValueExp v1, ValueExp v2)
返回一个在两个值上表示“大于或等于”约束的查询表达式。- 参数
-
v1
- 值表达式。 -
v2
- 另一个值表达式。 - 结果
-
对参数的“大于或等于”约束。
返回的对象将被序列化为非公开类javax.management.BinaryRelQueryExp的实例,其中
relOp
等于GE
。
-
leq
public static QueryExp leq(ValueExp v1, ValueExp v2)
返回一个对两个值表示“小于或等于”约束的查询表达式。- 参数
-
v1
- 值表达式。 -
v2
- 另一个值表达式。 - 结果
-
对参数的“小于或等于”约束。
返回的对象将被序列化为非公开类javax.management.BinaryRelQueryExp的实例,其中
relOp
等于LE
。
-
lt
public static QueryExp lt(ValueExp v1, ValueExp v2)
返回一个对两个值表示“小于”约束的查询表达式。- 参数
-
v1
- 值表达式。 -
v2
- 另一个值表达式。 - 结果
-
对参数的“少于”约束。
返回的对象将被序列化为非公开类javax.management.BinaryRelQueryExp的实例,其中
relOp
等于LT
。
-
eq
public static QueryExp eq(ValueExp v1, ValueExp v2)
返回一个表示两个值上的等式约束的查询表达式。- 参数
-
v1
- 值表达式。 -
v2
- 另一个值表达式。 - 结果
-
对参数的“等于”约束。
返回的对象将被序列化为非公开类javax.management.BinaryRelQueryExp的实例,其中
relOp
等于EQ
。
-
between
public static QueryExp between(ValueExp v1, ValueExp v2, ValueExp v3)
返回一个表示一个值位于两个其他值之间的约束的查询表达式。- 参数
-
v1
- “v2”和v3之间的值表达式。 -
v2
- 表示约束边界的值表达式。 -
v3
- 表示约束边界的值表达式。 - 结果
- v1在v2和v3之间的约束。 返回的对象将被序列化为非公开类javax.management.BetweenQueryExp的实例。
-
match
public static QueryExp match(AttributeValueExp a, StringValueExp s)
返回一个表示字符串参数匹配约束的查询表达式。 匹配语法与文件globbing一致:支持“?
”,“*
”,“[
”,每个可以使用“\
”进行转义; 字符类可以使用“!
”作为否定,“-
”表示范围。 (*
任意字符序列,?
单个任意字符,[...]
用于字符序列)。 例如:a*b?c
将匹配从字符a
开始的字符串,后跟任意数量的字符,后跟b
,任何单个字符和c
。- 参数
-
a
- 属性表达式 -
s
- 表示匹配约束的字符串值表达式 - 结果
- 表示字符串参数匹配约束的查询表达式。 返回的对象将被序列化为非公开类javax.management.MatchQueryExp的实例。
-
attr
public static AttributeValueExp attr(String name)
返回一个新的属性表达式。 有关表达式的语义的详细描述,请参阅
AttributeValueExp
。评估给定的
objectName
此表达式包括执行MBeanServer.getAttribute(objectName, name)
。- 参数
-
name
- 属性的名称。 - 结果
-
属性名称为
name
的属性表达式。
-
attr
public static AttributeValueExp attr(String className, String name)
返回一个新的限定属性表达式。
评估给定的
objectName
该表达式包括执行MBeanServer.getObjectInstance(objectName)
和MBeanServer.getAttribute(objectName, name)
。- 参数
-
className
- 拥有该属性的类的名称。 -
name
- 属性的名称。 - 结果
- 名为name的属性的属性表达式。 返回的对象将被序列化为非公开类javax.management.QualifiedAttributeValueExp的实例。
-
classattr
public static AttributeValueExp classattr()
返回一个新的类属性表达式,可以在期望使用ValueExp的任何Query调用中使用。
评估给定的
objectName
此表达式包括执行MBeanServer.getObjectInstance(objectName)
。- 结果
- 类属性表达式。 返回的对象将被序列化为非公开类javax.management.ClassAttributeValueExp的实例。
-
not
public static QueryExp not(QueryExp queryExp)
返回一个约束,它是其参数的否定。- 参数
-
queryExp
- 否定的约束。 - 结果
- 一个否定的约束。 返回的对象将被序列化为非公开类javax.management.NotQueryExp的实例。
-
in
public static QueryExp in(ValueExp val, ValueExp[] valueList)
返回一个将值限制为显式列表的表达式。- 参数
-
val
- 要约束的值。 -
valueList
- 一个ValueExps数组。 - 结果
- 表示约束的QueryExp。 返回的对象将被序列化为非公开类javax.management.InQueryExp的实例。
-
value
public static StringValueExp value(String val)
返回新的字符串表达式。- 参数
-
val
- 字符串值。 - 结果
- 包含字符串参数的ValueExp对象。
-
value
public static ValueExp value(Number val)
返回一个数值表达式,可以在任何期望使用ValueExp的Query调用中使用。- 参数
-
val
- 数字的一个实例。 - 结果
- 包含参数的ValueExp对象。 返回的对象将被序列化为非公开类javax.management.NumericValueExp的实例。
-
value
public static ValueExp value(int val)
返回一个数值表达式,可以在任何期望使用ValueExp的Query调用中使用。- 参数
-
val
- 一个int值。 - 结果
- 包含参数的ValueExp对象。 返回的对象将被序列化为非公开类javax.management.NumericValueExp的实例。
-
value
public static ValueExp value(long val)
返回一个数值表达式,可以在任何期望使用ValueExp的Query调用中使用。- 参数
-
val
- 一个长的价值。 - 结果
- 包含参数的ValueExp对象。 返回的对象将被序列化为非公开类javax.management.NumericValueExp的实例。
-
value
public static ValueExp value(float val)
返回一个数值表达式,可以在任何期望使用ValueExp的Query调用中使用。- 参数
-
val
- 浮点值。 - 结果
- 包含参数的ValueExp对象。 返回的对象将被序列化为非公开类javax.management.NumericValueExp的实例。
-
value
public static ValueExp value(double val)
返回一个数值表达式,可以在任何期望使用ValueExp的Query调用中使用。- 参数
-
val
- 一个双重值。 - 结果
- 包含参数的ValueExp对象。 返回的对象将被序列化为非公开类javax.management.NumericValueExp的实例。
-
value
public static ValueExp value(boolean val)
返回一个布尔值表达式,可以在任何期望ValueExp的Query调用中使用。- 参数
-
val
- 一个布尔值。 - 结果
- 包含参数的ValueExp对象。 返回的对象将被序列化为非公开类javax.management.BooleanValueExp的实例。
-
plus
public static ValueExp plus(ValueExp value1, ValueExp value2)
返回表示两个数值之和的二进制表达式,或两个字符串值的并置。- 参数
-
value1
- 第一个“+”操作数。 -
value2
- 第二个“+”操作数。 - 结果
-
一个ValueExp表示两个参数的和或并置。
返回的对象将被序列化为非公开类javax.management.BinaryOpValueExp的实例,其中
op
等于PLUS
。
-
times
public static ValueExp times(ValueExp value1, ValueExp value2)
返回表示两个数值的乘积的二进制表达式。- 参数
-
value1
- 第一个“*”操作数。 -
value2
- 第二个'*'操作数。 - 结果
-
代表产品的ValueExp。
返回的对象将被序列化为非公开类javax.management.BinaryOpValueExp的一个实例,其中
op
等于TIMES
。
-
minus
public static ValueExp minus(ValueExp value1, ValueExp value2)
返回表示两个数值之间的差异的二进制表达式。- 参数
-
value1
- 第一个“ - ”操作数。 -
value2
- 第二个“ - ”操作数。 - 结果
-
一个ValueExp表示两个参数之间的差异。
返回的对象将被序列化为非公开类javax.management.BinaryOpValueExp的实例,其中
op
等于MINUS
。
-
div
public static ValueExp div(ValueExp value1, ValueExp value2)
返回表示两个数值的商的二进制表达式。- 参数
-
value1
- 第一个“/”操作数。 -
value2
- 第二个“/”操作数。 - 结果
-
一个ValueExp表示两个参数的商。
返回的对象将被序列化为非公开类javax.management.BinaryOpValueExp的实例,其中
op
等于DIV
。
-
initialSubString
public static QueryExp initialSubString(AttributeValueExp a, StringValueExp s)
返回一个表示字符串参数匹配约束的查询表达式。 该值必须以给定的文字字符串值开头。- 参数
-
a
- 属性表达式。 -
s
- 表示字符串值开头的字符串值表达式。 - 结果
- 匹配的约束。 返回的对象将被序列化为非公开类javax.management.MatchQueryExp的实例。
-
anySubString
public static QueryExp anySubString(AttributeValueExp a, StringValueExp s)
返回一个表示字符串参数匹配约束的查询表达式。 该值必须包含给定的文字字符串值。- 参数
-
a
- 属性表达式。 -
s
- 表示子字符串的字符串值表达式。 - 结果
- 匹配的约束。 返回的对象将被序列化为非公开类javax.management.MatchQueryExp的实例。
-
finalSubString
public static QueryExp finalSubString(AttributeValueExp a, StringValueExp s)
返回一个表示字符串参数匹配约束的查询表达式。 该值必须以给定的文字字符串值结尾。- 参数
-
a
- 属性表达式。 -
s
- 表示字符串值结尾的字符串值表达式。 - 结果
- 匹配的约束。 返回的对象将被序列化为非公开类javax.management.MatchQueryExp的实例。
-
isInstanceOf
public static QueryExp isInstanceOf(StringValueExp classNameValue)
返回一个表示MBean类继承约束的查询表达式。示例:要查找实例为
NotificationBroadcaster
的 MBean,请使用Query.isInstanceOf(Query.value(NotificationBroadcaster.class.getName()))
。对给定的
objectName
评估此表达式包括执行MBeanServer.isInstanceOf(objectName, ((StringValueExp)classNameValue.apply(objectName)).getValue()
。- 参数
-
classNameValue
-StringValueExp
返回所选MBean应该是实例的类的名称。 - 结果
- 一个表示MBean类继承约束的查询表达式。 返回的对象将被序列化为非公开类javax.management.InstanceOfQueryExp的实例。
- 从以下版本开始:
- 1.6
-
-