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