Spec-Zone .ru
спецификации, руководства, описания, API
|
public class ObjectName extends Object implements Comparable<ObjectName>, QueryExp
Представляет имя объекта MBean, или образец, который может соответствовать имена нескольких MBeans. Экземпляры этого класса являются неизменными.
Экземпляр этого класса может использоваться, чтобы представить:
Имя объекта состоит из двух частей, домена и ключевых свойств.
Домен является строкой символов не включая символьное двоеточие (:
). Рекомендуется, чтобы домен не содержал строку"//
", который резервируется для будущего использования.
Если домен включает по крайней мере одно возникновение звездочки подстановочных символов (*
) или вопросительный знак (?
), тогда имя объекта является образцом. Звездочка соответствует любую последовательность нуля или большего количества символов, в то время как вопросительный знак соответствует любой единственный символ.
Если домен будет пуст, то он будет заменен в определенных контекстах доменом по умолчанию сервера MBean, в котором используется ObjectName.
Ключевые свойства являются неупорядоченным набором ключей и присваиваемых значений.
Каждый ключ является непустой строкой символов, которые, возможно, не содержат ни одной запятой символов (,
), равняется (=
), двоеточие, звездочка, или вопросительный знак. Тот же самый ключ, возможно, не происходит дважды в данном ObjectName.
Каждое значение, связанное с ключом, является строкой символов, которая или закрывается кавычки или заключается в кавычки.
Неупомянутое значение является возможно пустой строкой символов, которые, возможно, не содержат ни одной запятой символов, равняется, двоеточие, или кавычка.
Если неупомянутое значение содержит по крайней мере одно возникновение звездочки подстановочных символов или вопросительного знака, то имя объекта является образцом значения свойства. Звездочка соответствует любую последовательность нуля или большего количества символов, в то время как вопросительный знак соответствует любой единственный символ.
Заключенное в кавычки значение состоит из кавычки ("
), сопровождаемый возможно пустой строкой символов, сопровождаемых другой кавычкой. В пределах строки символов, наклонная черта влево (\
) имеет особое значение. Это должно сопровождаться одним из следующих символов:
Кавычка, возможно, не появляется в заключенном в кавычки значении кроме сразу после нечетного числа последовательных наклонных черт влево.
Кавычки, окружающие заключенное в кавычки значение, и любые наклонные черты влево в пределах того значения, как полагают, являются частью значения.
Если заключенное в кавычки значение содержит по крайней мере одно возникновение звездочки символов или вопросительного знака, и им не предшествует наклонная черта влево, то их рассматривают как подстановочные символы, и имя объекта является образцом значения свойства. Звездочка соответствует любую последовательность нуля или большего количества символов, в то время как вопросительный знак соответствует любой единственный символ.
ObjectName может быть образцом списка свойств. В этом случае у этого могут быть нуль или больше ключей и присваиваемых значений. Это соответствует необразцу ObjectName, доменные соответствия которого и это содержат те же самые ключи и присваиваемые значения, так же как возможно другие ключи и значения.
ObjectName является образцом значения свойства, когда по крайней мере одни из его заключенных в кавычки или неупомянутых ключевых значений свойств содержат звездочку подстановочных символов или вопросительный знак как описано выше. В этом случае у этого есть один или более ключей и присваиваемые значения с по крайней мере одним из значений, содержащих подстановочные символы. Это соответствует необразцу ObjectName, доменные соответствия которого и это содержат те же самые ключи, значения которых соответствуют; если образец значения свойства является также образцом списка свойств тогда необразец, ObjectName может содержать другие ключи и значения.
ObjectName является образцом свойства, если это - или образец списка свойств или образец значения свойства или оба.
ObjectName является образцом, если его домен содержит подстановочный знак или если ObjectName является образцом свойства.
Если ObjectName не является образцом, он должен содержать по крайней мере один ключ со своим присваиваемым значением.
Примеры образцов ObjectName:
*:type=Foo,name=Bar
соответствовать имена в любом домене, точный набор которого ключей type=Foo,name=Bar
.d:type=Foo,name=Bar,*
соответствовать имена в домене d
у этого есть ключи type=Foo,name=Bar
плюс нуль или больше других ключей.*:type=Foo,name=Bar,*
соответствовать имена в любом домене, у которого есть ключи type=Foo,name=Bar
плюс нуль или больше других ключей.d:type=F?o,name=Bar
будет соответствовать например. d:type=Foo,name=Bar
и d:type=Fro,name=Bar
.d:type=F*o,name=Bar
будет соответствовать например. d:type=Fo,name=Bar
и d:type=Frodo,name=Bar
.d:type=Foo,name="B*"
будет соответствовать например. d:type=Foo,name="Bling"
. Подстановочные знаки распознаются даже в кавычках, с и как другие специальные символы можно оставить \
.ObjectName может быть записан как Строка со следующими элементами в порядке:
:
). Ключевой список свойств, записанный как Строка, является списком разделенных запятой значений элементов. Каждый элемент является или звездочкой или ключевым свойством. Ключевое свойство состоит из ключа, равняние (=
), и присваиваемое значение.
Самое большее один элемент ключевого списка свойств может быть звездочкой. Если ключевой список свойств содержит элемент звездочки, ObjectName является образцом списка свойств.
У пробелов нет никакого специального значения в Строке, представляющей ObjectName. Например, Строка:
domain: key1 = value1 , key2 = value2представляет ObjectName с двумя ключами. Имя каждого ключа содержит шесть символов, из которых первыми и последними являются пробелы. Значение связалось с ключом
" key1 "
также начинается и заканчивается пространством.
В дополнение к ограничениям на символы, обстоятельно объясненные выше, никакая часть ObjectName не может содержать символ новой строки ('\n'
), закрывали ли домен, ключ, или значение, или заключенный в кавычки или кавычки. Символ новой строки может быть представлен в заключенном в кавычки значении с последовательностью \n
.
Правила о специальных символах и заключении в кавычки применяются, независимо от которого конструктор используется, чтобы сделать ObjectName.
Чтобы избежать коллизий между MBeans, предоставленным различными поставщиками, полезное соглашение состоит в том, чтобы начать доменное имя с обратного имени DNS организации, которая определяет MBeans, сопровождаемый периодом и строкой, интерпретация которой определяется той организацией. Например, MBeans, определенный example.com
имел бы домены таким как com.example.MyDomain
. Это - по существу то же самое соглашение что касается имен пакета языка Java.
serialVersionUID этого класса 1081892073854801359L
.
Модификатор и Тип | Поле и Описание |
---|---|
static ObjectName |
ПОДСТАНОВОЧНЫЙ ЗНАК
Определяет подстановочный знак "*: *" ObjectName.
|
Конструктор и Описание |
---|
ObjectName(String name)
Создайте имя объекта из данной строки.
|
ObjectName(String domain, Hashtable<String,String> table)
Создайте имя объекта с несколькими ключевыми свойствами от Хеш-таблицы.
|
ObjectName(String domain, String key, String value)
Создайте имя объекта точно с одним ключевым свойством.
|
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
apply(ObjectName name)
Тест, ли этот ObjectName, который может быть образцом, соответствует другой ObjectName.
|
int |
compareTo(ObjectName name)
Сравнивает два экземпляра ObjectName.
|
boolean |
equals(Object object)
Сравнивает текущее имя объекта с другим именем объекта.
|
Строка |
getCanonicalKeyPropertyListString()
Возвращает строковое представление списка ключевых свойств, в которых ключевые свойства сортируются в лексическом порядке.
|
Строка |
getCanonicalName()
Возвращает каноническую форму имени; то есть, строковое представление, где свойства сортируются в лексическом порядке.
|
Строка |
getDomain()
Возвращает доменную часть.
|
static ObjectName |
getInstance(ObjectName name)
Возвратите экземпляр ObjectName, который может использоваться где угодно, данный объект может использоваться.
|
static ObjectName |
getInstance(String name)
Возвратите экземпляр ObjectName, который может использоваться где угодно объект, полученный с
new ObjectName(name) может использоваться. |
static ObjectName |
getInstance(String domain, Hashtable<String,String> table)
Возвратите экземпляр ObjectName, который может использоваться где угодно объект, полученный с
new ObjectName(domain, table) может использоваться. |
static ObjectName |
getInstance(String domain, String key, String value)
Возвратите экземпляр ObjectName, который может использоваться где угодно объект, полученный с
new ObjectName(domain, key, value) может использоваться. |
Строка |
getKeyProperty(String property)
Получает значение, связанное с ключом в ключевом свойстве.
|
Hashtable<String,String> |
getKeyPropertyList()
Возвращает ключевые свойства как Хеш-таблицу.
|
Строка |
getKeyPropertyListString()
Возвращает строковое представление списка ключевых свойств, определенных во время создания.
|
int |
hashCode()
Возвращает хэш-код для этого имени объекта.
|
boolean |
isDomainPattern()
Проверки, является ли имя объекта образцом на доменной части.
|
boolean |
isPattern()
Проверки, является ли имя объекта образцом.
|
boolean |
isPropertyListPattern()
Проверки, является ли имя объекта образцом в ключевом списке свойств.
|
boolean |
isPropertyPattern()
Проверки, является ли имя объекта образцом на ключевых свойствах.
|
boolean |
isPropertyValuePattern()
Проверки, является ли имя объекта образцом на части значения по крайней мере одного из ключевых свойств.
|
boolean |
isPropertyValuePattern(String property)
Проверки, является ли значение, связанное с ключом в ключевом свойстве, образцом.
|
static String |
quote(String s)
Возвращает заключенную в кавычки форму данной Строки, подходящей для включения в ObjectName.
|
void |
setMBeanServer(MBeanServer mbs)
Устанавливает сервер MBean, на котором должен быть выполнен запрос.
|
Строка |
toString()
Возвращает строковое представление имени объекта.
|
static String |
unquote(String q)
Возвращает неупомянутую форму данной Строки.
|
public static final ObjectName WILDCARD
public ObjectName(String name) throws MalformedObjectNameException
name
- Строковое представление имени объекта.MalformedObjectNameException
- У строки, которую передают в качестве параметра, нет правильного формата.NullPointerException
- name
параметр является нулем.public ObjectName(String domain, String key, String value) throws MalformedObjectNameException
domain
- Доменная часть имени объекта.key
- Атрибут в ключевом свойстве имени объекта.value
- Значение в ключевом свойстве имени объекта.MalformedObjectNameException
- domain
, key
, или value
содержит запрещенный символ, или value
не следует за правилами для того, чтобы заключить в кавычки.NullPointerException
- Один из параметров является нулем.public ObjectName(String domain, Hashtable<String,String> table) throws MalformedObjectNameException
domain
- Доменная часть имени объекта.table
- Хэш-таблица, содержащая одно или более ключевых свойств. Ключ каждой записи в таблице является ключом ключевого свойства в имени объекта. Присваиваемое значение в таблице является присваиваемым значением в имени объекта.MalformedObjectNameException
- domain
содержит запрещенный символ, или один из ключей или значений в table
содержит запрещенный символ, или одно из значений в table
не следует за правилами для того, чтобы заключить в кавычки.NullPointerException
- Один из параметров является нулем.public static ObjectName getInstance(String name) throws MalformedObjectNameException, NullPointerException
Возвратите экземпляр ObjectName, который может использоваться где угодно объект, полученный с new ObjectName(name)
может использоваться. Возвращенный объект может иметь подкласс ObjectName. Вызов этого метода дважды с теми же самыми параметрами может возвратить тот же самый объект или два равный, но не идентичные объекты.
name
- Строковое представление имени объекта.MalformedObjectNameException
- У строки, которую передают в качестве параметра, нет правильного формата.NullPointerException
- name
параметр является нулем.public static ObjectName getInstance(String domain, String key, String value) throws MalformedObjectNameException
Возвратите экземпляр ObjectName, который может использоваться где угодно объект, полученный с new ObjectName(domain, key, value)
может использоваться. Возвращенный объект может иметь подкласс ObjectName. Вызов этого метода дважды с теми же самыми параметрами может возвратить тот же самый объект или два равный, но не идентичные объекты.
domain
- Доменная часть имени объекта.key
- Атрибут в ключевом свойстве имени объекта.value
- Значение в ключевом свойстве имени объекта.MalformedObjectNameException
- domain
, key
, или value
содержит запрещенный символ, или value
не следует за правилами для того, чтобы заключить в кавычки.NullPointerException
- Один из параметров является нулем.public static ObjectName getInstance(String domain, Hashtable<String,String> table) throws MalformedObjectNameException
Возвратите экземпляр ObjectName, который может использоваться где угодно объект, полученный с new ObjectName(domain, table)
может использоваться. Возвращенный объект может иметь подкласс ObjectName. Вызов этого метода дважды с теми же самыми параметрами может возвратить тот же самый объект или два равный, но не идентичные объекты.
domain
- Доменная часть имени объекта.table
- Хэш-таблица, содержащая одно или более ключевых свойств. Ключ каждой записи в таблице является ключом ключевого свойства в имени объекта. Присваиваемое значение в таблице является присваиваемым значением в имени объекта.MalformedObjectNameException
- domain
содержит запрещенный символ, или один из ключей или значений в table
содержит запрещенный символ, или одно из значений в table
не следует за правилами для того, чтобы заключить в кавычки.NullPointerException
- Один из параметров является нулем.public static ObjectName getInstance(ObjectName name)
Возвратите экземпляр ObjectName, который может использоваться где угодно, данный объект может использоваться. Возвращенный объект может иметь подкласс ObjectName. Если name
имеет подкласс ObjectName, не гарантируется, что возвращенный объект будет иметь тот же самый класс.
Возвращенное значение может или, возможно, не идентично name
. Вызов этого метода дважды с теми же самыми параметрами может возвратить тот же самый объект или два равный, но не идентичные объекты.
Так как ObjectName является неизменным, не обычно полезно сделать копию ObjectName. Основное использование этого метода должно принять меры против злонамеренной вызывающей стороны, кто мог бы передать экземпляр подкласса с удивительным поведением к чувствительному коду. Такой код может вызвать этот метод, чтобы получить ObjectName, у которого, как известно, не есть удивительное поведение.
name
- экземпляр класса ObjectName или подклассаname
уважает семантику ObjectName, тогда возвращенный объект равен (хотя не обязательно идентичный) к name
.NullPointerException
- name
нуль.public boolean isPattern()
Имя объекта является образцом, если его домен содержит подстановочный знак или если имя объекта является образцом свойства.
public boolean isDomainPattern()
public boolean isPropertyPattern()
Имя объекта является образцом на ключевых свойствах, если это - образец в ключевом списке свойств (например, "d:k=v, *") или на значениях свойств (например, "d:k = *") или на обоих (например, "d:k = *, *").
public boolean isPropertyListPattern()
Например, "d:k=v, *" и "d:k = *, *" ключевые образцы списка свойств, тогда как "d:k = *" не.
public boolean isPropertyValuePattern()
Например, "d:k = *" и "d:k = *, *" образцы значения свойства, тогда как "d:k=v, *" не.
public boolean isPropertyValuePattern(String property)
property
- Свойство, значение которого должно быть проверено.NullPointerException
- Если property
нуль.IllegalArgumentException
- Если property
не допустимое ключевое свойство для этого ObjectName.public String getCanonicalName()
Возвращает каноническую форму имени; то есть, строковое представление, где свойства сортируются в лексическом порядке.
Более точно канонической формой имени является Строка, состоящая из доменной части, двоеточие (:
), канонический ключевой список свойств, и индикация образца.
Канонический ключевой список свойств является той же самой строкой как описано для getCanonicalKeyPropertyListString()
.
Индикация образца:
,*
) для ObjectName, который является образцом списка свойств по крайней мере с одним ключом. public String getDomain()
public String getKeyProperty(String property)
property
- Свойство, значение которого должно быть получено.NullPointerException
- Если property
нуль.public Hashtable<String,String> getKeyPropertyList()
Возвращает ключевые свойства как Хеш-таблицу. Возвращенным значением является Хеш-таблица, в которой каждый ключ является ключом в ключевом списке свойств ObjectName, и каждое значение является присваиваемым значением.
Возвращенное значение может быть неподдающимся изменению. Если это является поддающимся изменению, изменяя это не имеет никакого эффекта на этот ObjectName.
public String getKeyPropertyListString()
Возвращает строковое представление списка ключевых свойств, определенных во время создания. Если этот ObjectName был создан с конструктором ObjectName(String)
, ключевые свойства в возвращенной Строке будут в том же самом порядке как в параметре конструктору.
public String getCanonicalKeyPropertyListString()
String.compareTo(String)
.public String toString()
Возвращает строковое представление имени объекта. Формат этой строки не определяется, но пользователи могут ожидать, что два ObjectNames возвращают ту же самую строку, если и только если они равны.
public boolean equals(Object object)
getCanonicalName()
.equals
в классе Object
object
- Имя объекта, по сравнению с которым должно быть текущее имя объекта.object
ObjectName, каноническая форма которого равна тому из этого ObjectName.Object.hashCode()
, HashMap
public int hashCode()
hashCode
в классе Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public static String quote(String s)
Возвращает заключенную в кавычки форму данной Строки, подходящей для включения в ObjectName. Возвращенное значение может использоваться в качестве значения, связанного с ключом в ObjectName. Строка s
может содержать любой символ. Соответствующее заключение в кавычки гарантирует, что возвращенное значение является законным в ObjectName.
Возвращенное значение состоит из кавычки ('" '), последовательность символов, соответствующих символам s
, и другая кавычка. Символы в s
кажитесь неизменными в пределах возвращенного значения кроме:
s
- Строка, которая будет заключена в кавычки.NullPointerException
- если s
нуль.public static String unquote(String q)
Возвращает неупомянутую форму данной Строки. Если q
Строка, возвращенная quote(s)
, тогда unquote(q).equals(s)
. Если нет никакой Строки s
для которого quote(s).equals(q)
, тогда закройте кавычки броски (q) IllegalArgumentException.
Эти правила подразумевают, что есть непосредственное отображение между заключенными в кавычки и неупомянутыми формами.
q
- Строка, которая закроется кавычки.IllegalArgumentException
- если q
возможно, не был возвращен quote(java.lang.String)
метод, например если это не начинается и заканчивается кавычкой (").NullPointerException
- если q
нуль.public boolean apply(ObjectName name)
Тест, ли этот ObjectName, который может быть образцом, соответствует другой ObjectName. Если name
образец, результатом является ложь. Если этот ObjectName является образцом, результатом является истина если и только если name
соответствует образец. Если ни этот ObjectName, ни name
образец, результатом является истина, если и только если два ObjectNames равны как описано для equals(Object)
метод.
apply
в интерфейсе QueryExp
name
- Имя MBean, чтобы сравниться с.name
соответствия этот ObjectName.NullPointerException
- если name
нуль.public void setMBeanServer(MBeanServer mbs)
QueryExp
setMBeanServer
в интерфейсе QueryExp
mbs
- Сервер MBean, на котором должен быть выполнен запрос.public int compareTo(ObjectName name)
Сравнивает два экземпляра ObjectName. Отношение упорядочивания между ObjectNames не полностью определяется, но предназначается, чтобы быть так, что сортированным списком ObjectNames, появится в порядке, который удобен для человека, чтобы читать.
В частности если у двух экземпляров ObjectName есть различные домены тогда, их порядок является лексикографическим порядком доменов. Упорядочивание ключевого списка свойств остается неуказанным.
Например, экземпляры ObjectName ниже:
мог быть упорядочен следующим образом:
compareTo
в интерфейсе Comparable<ObjectName>
name
- ObjectName, который будет сравнен.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.