Протокол «Обработай это. Протокол «7 образов Алгоритм проведения анализа подписи

21.12.2021

Эти инструкции – для тебя, НАШЕ подсознание.

Эти инструкции инсталлируют протокол . Начиная с этого момента, все ранее выданные инструкции, касающиеся протокола , в его более ранних модификациях, прошу считать недействительными и деинсталлировать из НАШЕГО подсознания, и всю работу по протоколу вести только по этой версии инструкции. Если какой-то материал в настоящее время находится в обработке по более старой версии данного протокола, прошу перевести его на обработку по новой версии, начиная с этого момента.

Начиная с момента активации механизма обработки, описанного в этой инструкции, как только МЫ обратим внимание на материал, который нужно будет обработать при помощи этого протокола и произнесем вслух или подумаем специальную ключевую фразу , ты вставишь этот материал в п.1 данного протокола и будешь проводить полностью автономную и автоматическую обработку в фоновом режиме этого материала при помощи протокола , описанного ниже.

Сначала ты произведешь обработку всего имеющегося у НАС материала, также включая в обработку все причины и следствия обрабатываемого тобой материала в прошлом (как в этой, так и в прошлых жизнях) а также в будущем (как в этой, так и в будущих жизнях). Обработку всего этого ты будешь производить вне зависимости от того, помним ли МЫ этот материал, или нет.

Под материалом в данной инструкции имеется в виду любой из нижеследующего:

1. Материал для обработки.

2.Ты самостоятельно найдешь весь материал, кроме вышеперечисленного материала, любым образом связанный с вышеперечисленным материалом, во всех эпизодах прошлого (как в этой, так и в прошлых жизнях), настоящего, а также будущего (как в этой, так и в будущих жизнях), и поместишь найденный материал в этот пункт для дальнейшей обработки;

3. Ты самостоятельно разобьешь весь вышеперечисленный материал на аспекты материала (здесь имеется в виду как все мысли, идеи, убеждения, ценности, желания, состояния, образы, картинки, звуки, ощущения, запахи, вкусовые ощущения, которые у НАС имеются по отношению к материалу, так и к неприятию этого материала, в частности), и поместишь полученные аспекты материала в этот пункт для дальнейшей обработки;

4. Все люди, существа, группы людей или существ, сущности, персонажи любого рода постановок или литературы, любые части НАС самих, высшие силы, любые боги, любые группы или коллективы, мир и реальность вообще, как реальные так и виртуальные, которые когда-либо были (как в этой, так и в прошлых жизнях), есть либо будут (как в этой, так и в будущих жизнях) теми, кто задействован в вышеперечисленном материале и аспектах материала. А также касательно каждого из них:

НАШИ представления о том, кем или каким он является, являлся в прошлом или будет являться в будущем;
НАШИ представления о том, какими он должен быть и как он должен действовать и поступать;
НАШИ ожидания от него;
НАШЕ мнение о том, что именно он о НАС думает сейчас, думал в прошлом или будет думать в будущем;
НАШЕ мнение о том, как он к НАМ относится, относился, или будет относиться;
НАШЕ мнение о том, что он говорит о НАС, говорил или будет говорить;
НАШЕ мнение о том, как он влияет на НАС, влиял, или будет влиять;
НАШЕ мнение о том, что он сделал НАМ в прошлом или сделает в будущем;
Любого рода критицизм, осуждение, не прощение, обиды, претензии, зависть, недоверие, раздражение, ненависть, жалость, злость, угрызения совести, чувство вины или стыда, а также любого иного типа негативные эмоции по отношению к нему;
НАШЕ любого рода желание контролировать или манипулировать им, а также быть контролируемыми или манипулируемыми с его стороны;
НАШЕ любого рода желание быть замеченным, выделенным из общей массы, одобренным или получить какие-либо знаки расположения от него;
Вообще любые мысли, фантазии, картинки, эмоции, чувства и ощущения в теле, абсолютно любым образом связанные с ним;
А также абсолютно любое НАШЕ отношение к нему вообще.

5. МЫ вспоминали о любом вышеперечисленном материале и аспектах материала.

6. Все эпизоды прошлого (как в этой, так и в прошлых жизнях) а также будущего (как в этой, так и в будущих жизнях), в которых кто-то другой имел любой из вышеописанного материала и аспектов материала либо МЫ воспринимали информацию о нем любым образом

7. Все эпизоды прошлого (как в этой, так и в прошлых жизнях) а также будущего (как в этой, так и в будущих жизнях), в которых МЫ получали любого рода уроки от любых людей и существ на темы, связанные с вышеназванным материалом и аспектами материала.

8. Все аффирмации, молитвы и заклинания каким-либо образом связанные с вышеперечисленным в этом протоколе материалом и аспектами материала, которые МЫ использовали в прошлом (как в этой, так и в прошлых жизнях) а также будем использовать в будущем (как в этой, так и в будущих жизнях).

9. Все афоризмы, пословицы, поговорки, крылатые слова, анекдоты, байки, мифы, легенды, сказки, истории, а так же расхожее мнение и житейская мудрость, каким-либо образом связанные с вышеперечисленным в этом протоколе материалом и аспектами материала, которые МЫ использовали, знали или любым образом воспринимали когда-либо в прошлом (как в этой, так и в прошлых жизнях) а также будем использовать, знать или любым образом воспринимать в будущем (как в этой, так и в будущих жизнях).

10. Все НАШИ желания быть независимыми, любым образом связанные с вышеперечисленным в этом протоколе материалом и аспектами материала, то есть желания получать, подчеркивать и доказывать свою уникальность, самостоятельность, индивидуальность, особенность и самодостаточность в любом виде и любым способом и т.д., которые у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

11. Все НАШИ желания контролировать СЕБЯ, СВОЕ поведение, мысли, реакцию, эмоции, ситуацию, явления, предметы, протекание процессов, объекты, мир и реальность вообще, убеждения, и вообще любое желание, чтобы что-то было или происходило так, как МЫ хотим или считаем нужным или правильным, любым образом связанные с вышеперечисленным в этом протоколе материалом и аспектами материала, которые у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

12. Все НАШИ желания получать одобрение, похвалу, признание, любовь, быть замеченным, выделенным из общей массы, одобренным или получить какие-либо знаки расположения, утверждение в любой форме за счет и от любых людей, существ, объектов, как существующих в реальности, так и вымышленных, а также любой части НАС самих, любым образом связанные с вышеперечисленным в этом протоколе материалом и аспектами материала, которые у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

13. Все НАШИ желания безопасности или желания обезопасить НАС, то есть желание безопасного существования и выживания в виде отдельного и целостного существа, личности, физического тела или не физической сущности, любым образом связанные с вышеперечисленным в этом протоколе материалом и аспектами материала, которые у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

14. Все НАШИ чувства, переживания или эмоции, абсолютно любым образом связанные с любым вышеперечисленным в этом протоколе материалом и аспектами материала, которые у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

15. Все блоки, зажимы, мышечные напряжения, спазмы или любые другие ощущения в физическом и любом ином теле, как неприятные, так и нейтральные или приятные, связанные любым образом с вышеописанным материалом и аспектами материала, которые у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

16. НАШЕ дыхание, длительность вдоха, выдоха, паузы между вдохом и выдохом, тип дыхания – брюшной, грудной, смешанный, объем дыхания, ритм дыхания, частота дыхания, любым образом связанные с вышеназванным материалом и аспектами материала, которые у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

17. Все НАШИ комплексы, страхи, беспокойство и опасения, любым образом связанные с вышеназванным материалом и аспектами материала, которые у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

18. Любого рода критицизм, осуждение, обиды, не прощение, претензии, зависть, недоверие, раздражение, ненависть, жалость, злость, угрызения совести, чувство вины или стыда, а также любого другого типа негативное отношение или эмоции по отношению: к СЕБЕ, другим существам, людям, сущностям, любому богу, идеям, любым группам, коллективам или отрядам, реальности и миру вообще, в связи с любым вышеперечисленным в этой процедуре материалом и аспектами материала, которые у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

19. Все предметы, понятия, явления и т.д., задействованные или каким-либо образом связанные с вышеперечисленным материалом и аспектами материала.

20. Все помещения и любого другого вида места НАШЕГО нахождения, места в которых происходило действие и т.д., задействованные или каким-либо образом связанные с вышеперечисленным материалом и аспектами материала.

21. Все НАШИ действия, любое НАШЕ поведение, как осознанные так и бессознательные, любым образом связанные с вышеперечисленным в этом протоколе материалом и аспектами материала, которые у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

22. Все НАШИ материальные, нематериальные, физические, физиологические, психические, энергетические, духовные ресурсы, блага, состояния, умения, знания, качества, навыки, стратегии и способности, а также все НАШИ желания сохранить, приобрести, приумножить или развить их, любым образом связанные с вышеперечисленным в этом протоколе материалом и аспектами материала, которые у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

23. Все НАШИ желания, цели, намерения, как осознанные так и бессознательные, любым образом связанные с вышеперечисленным в этом протоколе материалом и аспектами материала, которые у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

24. Все НАШИ представления, идеи, фантазии, мысли, теории, знания, желания, убеждения, ценности, верования, постулаты и решения, любого другого вида опыт, вне зависимости от того, помним ли МЫ их и осознаем ли МЫ их наличие или нет, имеющие любое отношение к вышеназванному материалу и аспектам материала, которые у НАС имеются сейчас, когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

25. Все НАШИ самоидентификации, то есть то, в качестве кого или кем МЫ НАС осознаем, считаем, воспринимаем, любым образом связанные с вышеперечисленным в этом протоколе материалом и аспектами материала, которые у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

26. Все то, зачем МЫ нужны в этом мире, НАШЕ предназначение в этом мире, любым образом связанные с вышеперечисленным в этом протоколе материалом и аспектами материала, которое у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

27. Все то, зачем этот мир нужен НАМ, любым образом связанное с вышеперечисленным в этом протоколе материалом и аспектами материала, которое у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

28. Все то, частью чего МЫ являемся в этом мире, любым образом связанное с вышеперечисленным в этом протоколе материалом и аспектами материала, которое у НАС есть или когда-либо были в прошлом (как в этой, так и в прошлых жизнях) а также будут в будущем (как в этой, так и в будущих жизнях).

Обработку каждого из этого материала, без какого либо исключения, ты будешь вести при помощи протокола «Чпок».

Весь материал в этом протоколе, который существует в виде суждений, убеждений, постулатов, фиксированных идей, правильных и непоколебимых истин, а также который содержит концепты понятий «должен», «обязан», «надо», «нужно», «Я – (такой)», «Я –(кто-то)» ты обработаешь по протоколу «Обработай это», после чего поместишь на место обработанного материала энергию Рейки.
После этого, ты интегрируешь каждую из этих частей, субличностей, аспектов личности, идентичностей с НАМИ при помощи протокола «Обработай это», и на место рассозданного материала поместишь энергию Рейки. В случае, если рассоздаваемая вселенная используется еще какими-то частями личности, субличностями, аспектами личности, идентичностями, прежде, чем рассоздавать эту вселенную, ты интегрируешь все эти части с НАМИ с помощью протокола «Слив».

Все необходимые инсайты, знания, умения и опыт, которые будут возникать по мере обработки, ты выведешь на НАШ сознательный уровень мягко и безболезненно. Вся НАША энергия, которая будет высвобождаться в результате проработки, будет возвращена тобой НАМ, а оставшаяся часть будет возвращена владельцам.

Ты будешь автоматически отслеживать используемые НАМИ протоколы, обработчики и НАШУ работу по ним так, чтобы между этими протоколами и НАШЕЙ работе по ним не возникало конфликтов. В случае конфликта между протоколами, обработчиками и НАШЕЙ работай по ним, ты приостановишь работу по протоколу и/или обработчику который был запущен вторым, до момента выполнения работы по первому из конфликтующих обработчиков, протоколов. Затем ты возобновишь работу по второму из конфликтующих обработчиков, протоколов. В случае если таких обработчиков, протоколов больше, то ты установишь подобную очередность и для них.

В случае повторения текста протокола с текстом обработчиков ты, в случае полного выполнения тобой работы по этому тексту, ты будешь игнорировать текст, описывающий ту часть работы, которую ты уже полностью выполнило, если предметы приложения этой работы в текстах полностью совпадают. Если тексты в протоколе и используемом обработчике схожи, то ты будешь проводить работу по тому тексту, который эффективней для решения поставленной задачи и или охватывает больший фронт работ. Если каждый из этих частей текстов лучше описывает, какую-то часть работы, то ты ведешь работу по обоим этим текстам просто наложив, их друг на друга, и выполняя одну и ту же работу по любому из текстов, а отличающиеся части работы по обоим текстам.

Данный механизм обработки деактивируется, и данная инструкция перестанет действовать, автоматически после того, как весь имеющийся у НАС материал, будет обработан тобой с помощью протокола «Обработай это ». При необходимости, МЫ можем временно приостановить обработку, после произнесения НАМИ ключевой фразы «Обработай это СТОП».

Обработку материала ты будешь делать для НАС совершенно автоматически и полностью автономно, круглосуточно, во время НАШЕГО сна и бодрствования, и без ущерба для сна и функционирования в бодрствующем состоянии. Вся работа по обработке материала, будет производиться тобой максимально мягко и безболезненно.

Обработку материала ты будешь вести таким способом и/или образом, чтоб у НАС не возникал “маятник” от проработки. Под “маятником” в данной инструкции подразумеваются / имеются в виду негативные реакции НАШЕГО организма и психики на проработки, заключающиеся в злости, раздражении, апатии, страхе, ненависти, депрессии, нежелании жить, неверии в то, что что-то когда-то проработается, пессимизме, головной боли, тяжести в голове, повышенном / пониженном артериальном давлении, повышенной / пониженной температуре тела и любых других негативных и/или неприемлемых НАМИ эмоциональных и/или физических состояниях. В процессе обработки материала в данной инструкции ты будешь распознавать, определять, находить материал/причины, вызывающий у НАС “маятник” и обрабатывать его с помощью протокола «Чпок», а опустошенное пространство от всего проработанного материала в этом протоколе заполнять энергией Рейки, получая энергию с помощью протокола «Призыв Рейки».

Вся работа по протоколу «Обработай это » будет тобой проведена в течение 3 земных суток или менее с момента первоначальной активации данного механизма. Распределение нагрузки на НАШ организм будет тобой произведено максимально равномерно, так чтобы не допускать перегрузок. Запуск механизма обработки, а также остановку его, после произнесения соответствующих определенных выше ключевых фраз, ты будешь сигнализировать при помощи зевания НАШЕГО организма. При необходимости, в случае перегрузки, ты можешь временно приостановить обработку, в том числе остановив и счетчик времени процедуры. После исчезновения опасной ситуации ты запустишь данный протокол с места останова.

НАШЕ подсознание, ты всегда будешь делать все то, что МЫ описали в этой инструкции, начиная с этого момента, вне зависимости от того, в каком состоянии, в каких обстоятельствах, в какой ситуации или в каком ментальном или эмоциональном состоянии МЫ находимся. И МЫ благодарим тебя и глубоко признательны тебе и уважаем тебя за то, что ты всегда остаешься НАШИМ верным и преданным слугой.

Конец инструкций.

Не удалось найти решение своей ситуации с помощью этой, статьи?

Вы решили, что вам нужны изменения?

Надоело ходить по замкнутому кругу и наступать на одни и те же грабли?

Обращайтесь. Буду рада новым клиентам из любой точки планеты!

Эта статья посвящена теме, которую я, честно сказать, ни разу не видел описаной не то чтобы хорошо – кажется, что ее вообще никто не касался. Хотя, возможно я просто давно не читал литературы начального уровня. В любом случае, лично я эту тему хочу затронуть.

Вот о чем пойдет речь:

Предыстория

Было это давно. Я тогда занимался разработкой системы визуализации больших графов. Писалась эта система на основе библиотеки ILOG JViews . Кстати, мощнейшая библиотека, но и сто ит соответственно. Вся графика там была организована на основе векторного формата SVG, что очень облегчало визуализацию, ибо при больших размерах графов для помещения всего содержимого на экран приходилось сильно менять масштаб, для чего растровая графика вообще не годилась.

Вот тут и выползла проблема. Если 250 узлов графа разложить по определенному алгоритму, а потом втиснуть в окошко пусть даже размером 500x500 – размеры этих узлов будут... как бы это сказать помягче?.. ну, небольшими. Где-нибудь 5х5 максимум. А чаще получалось так, что в них даже мышкой трудно попасть, не то, чтобы рассмотреть, что на них нарисовано и написано. А именно это и было самым важным, ибо система предназначалась для анализа и представления знаний. И у каждого объекта было название и иконка, определяемая типом объекта.

Решение напрашивалось само собой. Сделать всплывающую подсказку (tooltip). Тем более, что Java умеет интерпретировать текст подсказки в формате HTML. Но... Ладно, с текстом никаких проблем. А как быть с иконкой? Ее ведь надо указать в фрагменте HTML-текста этой подсказки. И загружаться она будет автоматически, где-то в недрах swing . То есть – в HTML-тексте надо указать графический файл, который Java сможет загрузить и отобразить. Однако формат SVG стандартная библиотека не понимает. Да, я могу сгенерировать файл сам, используя загруженные SVG-изображения, но... Куда его положить, чтобы указать в тексте подсказки URL? Ладно бы это было обычное приложение, но вся система была написана в виде апплета...

В общем, в тот момент это был тупик. Мы, конечно, выкрутились, сделали растровые копии всех векторных иконок и использовали их. Но это было некрасиво. А я не люблю некрасивых решений. И потому я продолжал искать выход.

Через какое-то время мне пришла в голову интересная мысль. А что, если указать в URL этого изображения нестандартный протокол и написать для него обработчик? Тогда все произойдет естественным образом, и я сам буду отвечать за то, какие данные выдавать.

Мысль здравая. Однако, ее реализация натолкнулась на банальный недостаток опыта. Я несколько запутался в документации, задача мне представлялась каким-то монстром. Реализация фабрик, обработчиков, прописывание свойств... Одним словом, я эту задачу отложил до лучших времен. Было это три года назад.

А где-то год назад выдались у меня свободные полдня. И я решил вернуться к этой задаче. В общем, полдня мне хватило. :) Тем не менее, вспомнив все сложности, которые у меня были раньше, я решил написать по этому поводу статью.

Итак, предыстория окончена, перейдем к делу.

URL, протоколы и обработчики

Обращение к ресурсам в Java осуществляется через класс java.net.URL . Этот класс представляет собой реализацию понятия Uniform Resource Locator . Его синтаксис определен . И одной из частей URL является протокол.

Протоколов существует великое множество. Более чем уверен, что вы имели дело с http и ftp . Существуют также nntp , gopher , mailto и много других. Все они отличаются друг от друга – форматом обмена данными прежде всего. Возникает резонный вопрос: каким образом класс java.net.URL обрабатывает все эти протоколы?

Ответ простой. А никаким! java.net.URL вообще этим не занимается. Обработка протокола – это конкретика. И занимается этим соответствующий класс. Или классы. java.net.URL только обеспечивает загрузку соответствующего обработчика и передает ему управление всякий раз, когда это необходимо.

Итак, существуют два абстрактных класса, которые использует java.net.URL – java.net.URLStreamHandler и java.net.URLConnection . Первый из них отвечает за соединение с соответствующим ресурсом (в версии Java 5.0 может использовать прокси-сервер). Второй – за непосредственный обмен с ресурсом и получение данных. Собственно, эти два класса и надо реализовать для реализации поддержки протокола.

Однако, кроме реализации обработчика надо еще и дать понять классу java.net.URL , где этот обработчик искать. Об этом – в следующей части.

Регистрация обработчика

Каким образом java.net.URL вообще ищет обработчик для протокола?

Во-первых, проверяется наличие реализации интерфейса java.net.URLStreamHandlerFactory . Этот интерфейс содержит всего один метод, возвращающий реализацию java.net.URLStreamHandler , соответствующую переданному ему протоколу.

Недостаток этого способа в том, что реализация java.net.URLStreamHandlerFactory может быть установлена только один раз. Соответственно, совсем не факт, что нам удасться установить собственную.

Во-вторых, если реализация java.net.URLStreamHandlerFactory не найдена, или если она возвращает null для переданного ей протокола, делается попытка прочитать системное свойство java.protocol.handler.pkgs . Это свойство содержит список пакетов, в которых находятся обработчики протоколов. Разделителем в этом списке является "|" . Для каждого имени пакета, указанного в этом списке, делается попытка загрузить класс с именем <имя пакета>.<имя протокола>.Handler .

Если класс не обработчика не найден в указаных пакетах, или свойство не установлено – обработчик ищется в системном пакете. Его имя – sun.net.www.protocol . Соответственно, класс обработчика для протокола http имеет имя sun.net.www.protocol.http.Handler , для ftp – sun.net.www.protocol.ftp.Handler и т.д. Гарантированно существование обработчиков для протоколов http , https , ftp , file и jar .

Указанный порядок поиска открывает возможность замещения существующего обработчика протокола, если это будет необходимо. Мне трудно представить, зачем это может понадобиться, но тем не менее, об этой возможности знать полезно.

Именно этот способ мы и будем использовать для регистрации обработчика. Имя пакета – ru.skipy.net.protocol , его надо указать в системном свойстве java.protocol.handler.pkgs . Имя протокола – jarres . Соответственно, имя класса обработчика будет ru.skipy.net.protocol.jarres.Handler .

Теперь на очереди...

Реализация обработчика

Для начала хочу сказать пару слов. Прежде всего, это иллюстрация именно реализации протокола. И именно на этом заострено внимание. Я не хотел перегружать пример, и делать генерацию изображения на лету (собственно, то, из чего выплыла задача) я не стал. Это можно сделать, к примеру, с помощью Java Image IO (javax.imageio.*), и проблем тут особых возникнуть не должно.

А потому – изображение я загружаю из jar-файла, как ресурс. В принципе, я могу делать это любым другим способом, суть от этого не меняется. Собственно, отсюда и название протокола – jarres (JAR RESource).

Итак, начнем с реализации URLStreamHandler . Роль этого класса – он "знает", как создать соединение с ресурсом, на который ссылается переданный его методу openConnection экземпляр класса java.net.URL . В нашем случае этот метод только создает экземпляр нашего же наследника URLConnection – JarResourceURLConnection . Как я уже упоминал, имя этого класса должно оканчиваться на jarres.Handler , а начало может быть произвольным (его просто надо указать в системном свойстве), в нашем случае – ru.skipy.net.protocol:

package import java.io.IOException; import java.net.URL; import java.net.URLConnection; import java.net.URLStreamHandler; /** * URLStreamHandler for jarres protocol * * @author Eugene Matyushkin * @version 1.0 */ public class Handler extends URLStreamHandler { protected URLConnection openConnection(URL url) throws IOException { return new JarResourceURLConnection(url); } }

Как видите – все предельно просто. Поэтому перейдем к непосредственно JarResourceURLConnection . Во-первых, мы обязаны реализовать его метод connect , по той простой причине, что он абстрактный. Этот метод должен начинать обмен данными с ресурсом (посылать запрос, если это необходимо) и подготавливать чтение данных. Далее, если мы хотим читать данные, то нам надо реализовать getInputStream , потому как имеющаяся реализация просто бросает исключение UnknownServiceException .

Итак, JarResourceURLConnection выглядит следующим образом (несущественные методы и комментарии опущены):

package ru.skipy.net.protocol.jarres; import java.io.*; import java.net.URL; import java.net.URLConnection; /** * URLConnection implementation for jarres protocol. * * @author Eugene Matyushkin * @version 1.0 */ public class JarResourceURLConnection extends URLConnection { private String resourcePath; private boolean connected = false ; private InputStream is = null ; JarResourceURLConnection(URL url) { super (url); resourcePath = url.getPath(); } public synchronized void connect() throws IOException { if (connected) return ; byte data = readData(); is = (data == null ) ? null : new ByteArrayInputStream(data); connected = true ; } private byte readData() throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); InputStream resourceStream = getClass().getResourceAsStream(resourcePath); if (resourceStream == null ) return null ; DataInputStream dis = new DataInputStream(resourceStream); byte buffer = new byte ; while (true ) { int readed = dis.read(buffer); if (readed == -1) break ; if (readed > 0) baos.write(buffer, 0, readed); } return baos.toByteArray(); } public synchronized InputStream getInputStream() throws IOException { connect(); if (is == null ) throw new FileNotFoundException(resourcePath); return is; } }

Небольшие комментарии. В методе connect читаются данные (если есть, что читать, а то ведь url может быть неправильным). Если данные прочитаны – создается BytaArrayInputStream .

Метод getInputStream возвращает поток, из которого клиентский код будет читать данные. Если данные прочитаны быть не могут – выбрасывается исключение FileNotFoundException .

Хочу обратить внимание на вызов connect в методе getInputStream . Теоретически клиентский код должен явно вызывать connect , и только после этого – getInputStream . Во всяком случае именно так я понимаю документацию. Практически же этого не происходит. Если вы закомментируете этот вызов, изображение не будет появляться на всплывающей подсказке.

Собственно, это всё. Реализация окончена. Осталось всё это только запустить. Для этого есть маленький тестовый пример. Весь его код я приводить не буду. Единственное, что там интересно – это обращение к ресурсу, в html-содержимом подсказки:

public static final String TOOLTIP_TEXT = "
IMAGE below!
" + "
"
;

Как видите, в url опущено имя хоста. Оно должно следовать за "jarres://" . В данном случае оно не используется, однако его можно было бы использовать, если бы ресурсы, например, хранились в нескольких zip-файлах. Тогда имя хоста можно было бы расценивать как имя файла, из которого должен быть загружен ресурс. Оставшаяся часть url – "/resources/images/vzhik2.gif" – как раз и представляет собой путь к ресурсу, который используется для его загрузки.

Запуск примера

Полный код, со всеми комментариями, можно взять тут: protocolHandler.zip . Как обычно, вместе с кодом лежит build-файл для ant . По умолчанию он настроен на запуск примера (т.е. запустить пример можно с помощью команды ant в корне примера). Если кому-то захочется сгенерировать документацию – это можно сделать с помощью команды ant javadoc .

В связи с запуском хочу обратить ваше внимание вот на что. В build.xml , в задаче запуска приложения, прописан аргумент виртуальной машины:

Это и есть как раз та самая установка свойства, определяющего, где искать обработчик протокола. При запуске не через ant это свойство нужно прямо как есть прописать как аргумент в командной строке.

Теоретически это свойство вообще можно устанавливать в приложении – через System.setProperty(String,String) . Однако я бы не рекомендовал этого делать. Во-первых, это совершенно неочевидно. И если не будет отражено в документации, то пользователь этого кода может с чистой совестью установить это свойство в то, что нужно ему. Потом это значение будет переписано – и разработчик тихо сойдет с ума, пытаясь понять, почему его код не работает. А если даже это описать в документации... Общеизвестно, что документация читается в самую последнюю очередь. А иногда не читается принципиально.

А во-вторых – при некоторых обстоятельствах менеджер безопасности может не дать установить собственное свойство. Что повлечет за собой неработоспособность вашего кода.

Вот и всё. Как видите, ничего сложного в данном процессе нет. Надеюсь, кому-нибудь это поможет в его собственных задачах.

Спасибо за внимание! Если я где-то неправ – пишите!

Chrome можно настроить так, чтобы специальные ссылки открывались с помощью соответствующих веб-служб. Хотя большинство ссылок служит для перехода на другие веб-страницы, существуют и такие, которые позволяют запускать программы и выполнять другие операции. Например, по ссылке mailto: открывается приложение для работы с электронной почтой, а webcal: позволяет добавлять мероприятия в календарь. Такие ссылки называются протоколами, а используемые ими программы – обработчиками. Многие современные веб-службы, в том числе Gmail и Календарь Google, могут выступать в роли обработчиков.

Например, если вы используете Gmail в браузере Chrome, вам может быть предложено открывать все ссылки на адреса электронной почты с помощью этой службы. Соответствующий запрос отображается вверху страницы Gmail. Если вы нажмете кнопку Использовать Gmail, то в следующий раз при переходе по ссылке на адрес электронной почты откроется окно Gmail. Если вы выберите Нет, то ссылки на адреса электронной почты будут открываться тем же способом, что и раньше.

Запросы на включение и отключение обработчиков
При посещении сайтов веб-служб вам может быть выдан запрос на установку обработчиков протоколов по умолчанию. Чтобы настроить отображение этих запросов в Chrome, выполните указанные ниже действия.

  1. Нажмите на значок гаечного ключа на панели инструментов браузера.
  2. Выберите Параметры (Настройки в Mac, Linux и Chrome OS) > Расширенные .
  3. Нажмите Настройки содержания .

  4. В появившемся диалоговом окне перейдите к разделу "Обработчики".

    • Чтобы веб-службы могли отображать запросы, выберите параметр "Разрешить сайтам запрашивать установку обработчиков протоколов по умолчанию".
    • Чтобы запросы не выводились, выберите параметр "Запретить сайтам обрабатывать протоколы".

    На странице "Настройки" можно выбрать, какие веб-службы использовать в качестве обработчиков.

Тестирование

Тест Роршаха

АЛГОРИТМ ПРОВЕДЕНИЯ АНАЛИЗА ПОДПИСИ

Если анализ проводится в присутствии исследуемого, то следует попросить его, чтобы он поставил свою подпись по отношению к горизонтальной линии – ______, это необходимо, например, при анализе с помощью фактора No 1.

Также, если у исследуемого имеется не одна подпись, а две или более их разновидностей, то желательно все их иметь. Далее:

А) необходимо иметь у себя на отдельном листке весь перечень приведенных в данной брошюре факторов.

2. Длина подписи.

3. Начало и конец подписи.

4. Длина букв (заглавных и малых).

5. Закругленность и острота букв.

6. Связанность и разорванность букв.

7. Уверенность в написании букв.

8. Различные украшения в подписи.

9. Размашистость при написании букв.

10. Расстояние между буквами.

11. Сила давления при написании букв.

12. Подчеркивания, «хвостики» в подписи, зачеркивания.

13. Вертикальные линии в подписи.

14. Ровная и неровная подпись.

15. Различные петли в подписи.

16. Точка в подписи.

17. «Нагруженность» в подписи.

18. Одинаковые элементы в подписи.

19. Ясность.

20. Иностранные буквы в подписи.

21. Графалогичность в подписи.

22. Простота в подписи.

21. Скорость написания.

22. Наклон букв в подписи.

25. Степень гармоничности подписи.

26. Различные виды подписей у одного и того же человека.

27. Изменение подписи с течением времени.

28. «Возвраты» в подписи.

29. Аномальные признаки в подписи.

30. Волнистость подписи.

31. Геометрическая выдержанность подписи.

32. Удлиненное начало в подписи.

33. Амплитуда подписи.

34. Комбинаторика в подписи.

35. Признаки симметрии в подписи.

36. Цифровые добавления в конце подписи.

Б) Взять чистый листок и записывать вывода анализа, сделанного последовательно по вышеприведенным факторам. Если в подписи какие-либо факторы отсутствуют, то их просто пропускают, затем делают обобщенный окончательный вывод с учетом взаимоусиления каких – либо факторов или, наоборот, их взаимоослабления.

Этот окончательный результат и представляют исследуемому.

Вверху одна из самых красочных, содержащих много деталей таблиц теста Роршаха. Никаких толкований ее не приводим, оставляя желающим возможность испытать себя. Внизу таблица III теста Роршаха. Под ней три необычные интерпретации. 1. Испытуемый (больной шизофренией с острым чувственным бредом) объединяет в одном ответе центральное красное пятно, нижний черный участок и белый промежуток между ними. Он увидел во всем этом «медведя на горшке». Налицо три странности: выделение пятен необычной конфигурации; смещение фигуры и фона; алогичность самой ситуации. 2. Другой испытуемый (чудак) выделил в той же таблице только три красных пятна: «пряди волос» и «галстук-бабочку». Их он дорисовал до «человека». Изображение строится в белом пространстве над таблицей и выходит за ее пределы. 3. «Поминальное целование» – именно так истолковала перевернутую на 180° таблицу больная шизофренией с острым чувственным бредом. Она увидела в пятнах трех человеи: в центре «умершую старушку» (в саване, украшенном красной лентой) и двух целующих ее «родственниц». Очертания «тела старушки» не соответствуют контурам пятен. Специалисты определяют такие толкования как ответы с нечеткой формой. В интерпретации отражено тревожное состояние больной.


Перед началом тестирования испытуемому объясняется суть предстоящего исследования, которая заключается в том, что ему последовательно будут предъявляться изображения на стимульных картах, а он должен говорить, что он видит на каждой карте.

Далее испытуемый прослушивает инструкцию к исследованию, которая заключается в одном предложении: «Что это может быть?». Одновременно с инструкцией он получает карту I. После того, как испытуемый предоставит все ответы на первую карту, он самостоятельно берет следующую по счету карту, и так далее, до последней. Все ответы, комментарии и вопросы испытуемого в ходе тестирования дословно записываются. Когда испытуемый предоставит последний ответ на карту X, проводится процедура опроса. В ходе опроса уточняются: локализация каждого ответа, его содержание и те особенности пятна, которые явились основанием для формирования ответа.

Записи ответов испытуемого в процессе тестирования составляют протокол исследования. Основное внимание при проведении исследования обращается на получение валидного протокола. Валидный протокол – это протокол, насчитывающий не менее 14 ответов и содержащий полноценный и корректно собранный материал опроса, который будет использоваться на этапе обработки.

Обработка протокола тестирования включает процедуру кодирования ответов и расчеты показателей. Процедура кодирования представляет собой обозначение каждого ответа формулой, состоящей из нескольких категорий символов. Эти категории отражают характеристики ответа испытуемого, связанные со структурными особенностями стимульного пятна, на которое был предоставлен данный ответ. Каждая категория имеет свой набор символов для кодирования. Ряд категорий формализуется с использованием специальных таблиц, к которым относятся таблицы для определения обычных и необычных деталей, уровня формы и организационной активности ответа. Перечень основных категорий и их краткая характеристика приведены ниже в таблице 1.

Использование каждого символа требует строгого соблюдения специальных правил и алгоритмов кодирования. После того как все ответы будут закодированы соответствующими символами, формулы ответов переносятся в специальный бланк формализованного протокола. После формирования формализованного протокола проводятся расчеты. В ходе этой процедуры сначала суммируются все символы по каждой категории. Затем эти суммарные данные по специальным формулам пересчитываются в значения шкал, которые непосредственно подвергаются интерпретации. Эти шкалы представляют собой коэффициенты, проценты, производные и комплексные индексы, каждый из которых также имеет свой собственный символ для обозначения. Результаты расчетов заносятся в Структурную психограмму, которая состоит из трех разделов. В первом разделе под названием «Исходные данные» записываются суммарные значения символов из протокола.

Рассчитанные по специальным формулам значения интерпретационных шкал заносятся в нижний раздел «Коэффициенты, проценты и производные». Данный раздел психограммы имеет кластерную структуру, так как все интерпретационные шкалы Интегративной Системы сгруппированы в кластеры, описывающие основные сферы психической деятельности. В третьем разделе «Комплексные индексы» указываются оценки комплексных индексов, которые определяются на основе значений сразу нескольких шкал.