// Path: src/main/java/com/github/plusvic/yara/YaraMeta.java
// public interface YaraMeta {
//     enum Type {
//         NULL(0),
//         INTEGER(1),
//         STRING(2),
//         BOOLEAN(3);
// 
//         private int value;
// 
//         Type(int value) {
//             this.value = value;
//         }
// 
//         public static Type from(int value) {
//             for (Type t : Type.values()) {
//                 if (t.value == value) {
//                     return t;
//                 }
//             }
// 
//             throw new IllegalArgumentException();
//         }
//     }
// 
//     /**
//      * Get metadata type
//      *
//      * @return
//      */
//     Type getType();
// 
//     /**
//      * Get metadata identifier
//      *
//      * @return
//      */
//     String getIndentifier();
// 
//     /**
//      * Get metadata string value
//      *
//      * @return
//      */
//     String getString();
// 
//     /**
//      * Get metadata integer value
//      *
//      * @return
//      */
//     int getInteger();
// }
// 
// Path: src/main/java/com/github/plusvic/yara/Preconditions.java
// public static void checkArgument(boolean value) {
//     if (!value) {
//         throw new IllegalArgumentException();
//     }
// }


import com.github.plusvic.yara.YaraMeta;
import static com.github.plusvic.yara.Preconditions.checkArgument;
package com.github.plusvic.yara.embedded;



/**
 * User: pba
 * Date: 6/9/15
 * Time: 3:06 PM
 */
public class YaraMetaImpl implements YaraMeta {


    private final YaraLibrary library;
    private final long peer;

    YaraMetaImpl(YaraLibrary library, long peer) {
        checkArgument(library != null);
// Path: src/main/java/com/github/plusvic/yara/YaraMeta.java
// public interface YaraMeta {
//     enum Type {
//         NULL(0),
//         INTEGER(1),
//         STRING(2),
//         BOOLEAN(3);
// 
//         private int value;
// 
//         Type(int value) {
//             this.value = value;
//         }
// 
//         public static Type from(int value) {
//             for (Type t : Type.values()) {
//                 if (t.value == value) {
//                     return t;
//                 }
//             }
// 
//             throw new IllegalArgumentException();
//         }
//     }
// 
//     /**
//      * Get metadata type
//      *
//      * @return
//      */
//     Type getType();
// 
//     /**
//      * Get metadata identifier
//      *
//      * @return
//      */
//     String getIndentifier();
// 
//     /**
//      * Get metadata string value
//      *
//      * @return
//      */
//     String getString();
// 
//     /**
//      * Get metadata integer value
//      *
//      * @return
//      */
//     int getInteger();
// }
// 
// Path: src/main/java/com/github/plusvic/yara/Preconditions.java
// public static void checkArgument(boolean value) {
//     if (!value) {
//         throw new IllegalArgumentException();
//     }
// }


// Path: src/main/java/com/github/plusvic/yara/embedded/YaraMetaImpl.java
import com.github.plusvic.yara.YaraMeta;
import static com.github.plusvic.yara.Preconditions.checkArgument;

package com.github.plusvic.yara.embedded;



/**
 * User: pba
 * Date: 6/9/15
 * Time: 3:06 PM
 */
public class YaraMetaImpl implements YaraMeta {


    private final YaraLibrary library;
    private final long peer;

    YaraMetaImpl(YaraLibrary library, long peer) {
        checkArgument(library != null);
        checkArgument(peer != 0);