ASN.1 / двоичные заметки, конкретные аннотации? - PullRequest
1 голос
/ 30 марта 2011

Я работаю с «двоичными заметками» в среде ASN.1 на Java.Сначала я вручную создал класс последовательности asn.1.

@ASN1String(name = "", isUCS = false, stringType = UniversalTag.PrintableString)
@ASN1Element(name = "firstName", isOptional = false, hasTag = false, hasDefaultValue = false)
private String firstName = null;

Теперь мне интересно, что означает этот знак "@"?Я попытался найти подсказки в источнике двоичных заметок и обнаружил следующее:

package org.bn.annotations;
import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface ASN1String {
    String name();
    boolean isUCS();
    int stringType();
}

Может кто-нибудь объяснить мне нотацию?Было бы здорово.Заранее спасибо.

ньюрикки

Ответы [ 2 ]

2 голосов
/ 30 марта 2011

В Java "@Foo" - это аннотация.Он предназначен для части вашей конкретной среды сборки, чтобы интерпретировать это.Обычно аннотации заменяются кусками Java-кода.

Дополнительная информация о аннотациях: http://download.oracle.com/javase/1.5.0/docs/guide/language/annotations.html

Я предполагаю, что вам нужно найти документацию по ASN.1, чтобы узнать, что это за конкретные аннотации.делаем.

0 голосов
/ 16 сентября 2011

Я автор этой структуры.Это функция аннотации Java (метаинформация) для ваших полей / классов, используемая для управления некоторыми функциями ASN.1.Для вашего примера это строковое поле, кодируемое в поток байтов ASN.1 в виде строки ASCII (не строки Unicode) без тега, и это не обязательно (обязательно) для родительской структуры (последовательность ASN.1).

Подробно вы можете начать читать http://en.wikipedia.org/wiki/ASN.1#Standards

...