// Path: storebox-lib/src/main/java/net/orange_box/storebox/enums/PreferencesMode.java
// public enum PreferencesMode {
// 
//     /**
//      * Default.
//      * 
//      * @see android.content.Context#MODE_PRIVATE
//      */
//     MODE_PRIVATE(Context.MODE_PRIVATE),
//     
//     /**
//      * @see android.content.Context#MODE_MULTI_PROCESS
//      */
//     MODE_MULTI_PROCESS(Context.MODE_MULTI_PROCESS),
//     
//     /**
//      * @see android.content.Context#MODE_WORLD_READABLE
//      */
//     @Deprecated
//     MODE_WORLD_READABLE(Context.MODE_WORLD_READABLE),
//     
//     /**
//      * @see android.content.Context#MODE_WORLD_WRITEABLE
//      */
//     @Deprecated
//     MODE_WORLD_WRITEABLE(Context.MODE_WORLD_WRITEABLE);
//     
//     private final int value;
//     
//     private PreferencesMode(int value) {
//         this.value = value;
//     }
//     
//     public int value() {
//         return value;
//     }
// }


import net.orange_box.storebox.enums.PreferencesMode;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/*
 * Copyright 2015 Martin Bella
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package net.orange_box.storebox.annotations.type;



/**
 * Annotation which should be used at interface-level to define that the
 * preferences should be opened from a file name.
 * <p>
 * When this annotation is used a file name needs to be specified using
 * {@link #value()}.
 *
 * @see net.orange_box.storebox.enums.PreferencesType#FILE
 * @see android.content.Context#getSharedPreferences(String, int)
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface FilePreferences {
    
    String value();
    
// Path: storebox-lib/src/main/java/net/orange_box/storebox/enums/PreferencesMode.java
// public enum PreferencesMode {
// 
//     /**
//      * Default.
//      * 
//      * @see android.content.Context#MODE_PRIVATE
//      */
//     MODE_PRIVATE(Context.MODE_PRIVATE),
//     
//     /**
//      * @see android.content.Context#MODE_MULTI_PROCESS
//      */
//     MODE_MULTI_PROCESS(Context.MODE_MULTI_PROCESS),
//     
//     /**
//      * @see android.content.Context#MODE_WORLD_READABLE
//      */
//     @Deprecated
//     MODE_WORLD_READABLE(Context.MODE_WORLD_READABLE),
//     
//     /**
//      * @see android.content.Context#MODE_WORLD_WRITEABLE
//      */
//     @Deprecated
//     MODE_WORLD_WRITEABLE(Context.MODE_WORLD_WRITEABLE);
//     
//     private final int value;
//     
//     private PreferencesMode(int value) {
//         this.value = value;
//     }
//     
//     public int value() {
//         return value;
//     }
// }


// Path: storebox-lib/src/main/java/net/orange_box/storebox/annotations/type/FilePreferences.java
import net.orange_box.storebox.enums.PreferencesMode;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/*
 * Copyright 2015 Martin Bella
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package net.orange_box.storebox.annotations.type;



/**
 * Annotation which should be used at interface-level to define that the
 * preferences should be opened from a file name.
 * <p>
 * When this annotation is used a file name needs to be specified using
 * {@link #value()}.
 *
 * @see net.orange_box.storebox.enums.PreferencesType#FILE
 * @see android.content.Context#getSharedPreferences(String, int)
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface FilePreferences {
    
    String value();
    
    PreferencesMode mode() default PreferencesMode.MODE_PRIVATE;