// Path: copybook4java/src/main/java/com/nordea/oss/copybook/serializers/CopyBookMapper.java
// public interface CopyBookMapper {
//     void initialize(CopyBookSerializerConfig config);
//     <T> byte[] serialize(T obj);
//     <T> T deserialize(byte[] bytes, Class<T> type);
//     int getMaxRecordSize();
//     void setMaxRecordSize(int size);
//     int getMinRecordSize();
//     void setMinRecordSize(int size);
// }


import com.nordea.oss.copybook.serializers.CopyBookMapper;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/*
 * Copyright (c) 2015. Troels Liebe Bentsen <tlb@nversion.dk>
 * Copyright (c) 2016. Nordea Bank AB
 * Licensed under the MIT license (LICENSE.txt)
 */

package com.nordea.oss.copybook.annotations;



@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface CopyBook {
// Path: copybook4java/src/main/java/com/nordea/oss/copybook/serializers/CopyBookMapper.java
// public interface CopyBookMapper {
//     void initialize(CopyBookSerializerConfig config);
//     <T> byte[] serialize(T obj);
//     <T> T deserialize(byte[] bytes, Class<T> type);
//     int getMaxRecordSize();
//     void setMaxRecordSize(int size);
//     int getMinRecordSize();
//     void setMinRecordSize(int size);
// }


// Path: copybook4java/src/main/java/com/nordea/oss/copybook/annotations/CopyBook.java
import com.nordea.oss.copybook.serializers.CopyBookMapper;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/*
 * Copyright (c) 2015. Troels Liebe Bentsen <tlb@nversion.dk>
 * Copyright (c) 2016. Nordea Bank AB
 * Licensed under the MIT license (LICENSE.txt)
 */

package com.nordea.oss.copybook.annotations;



@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface CopyBook {
    Class<? extends CopyBookMapper> type() default CopyBookMapper.class; // Java sucks and we can use null as default value, so we pick something we would never user here