Android Open Source - retention-magic Retain Array List






From Project

Back to project page retention-magic.

License

The source code is released under:

Apache License

If you think the Android project retention-magic listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) 2013 Marten Gajda <marten@dmfs.org>
 *// w  ww. j av  a2 s  .  c  o  m
 * 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 org.dmfs.android.retentionmagic.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.ArrayList;


/**
 * Retain an ArrayList type. At present this does not support persistent storage in the preferences like {@link Retain} does.
 * <p>
 * Due to type erasure you'll have to set <code>genericType</code> to the generic type of the list, like so:
 * </p>
 * 
 * <pre>
 * {@literal @}RetainArrayList(genericType = String.class)
 * </pre>
 * <p>
 * By default the value is stored under the field name. You can customize the key by setting {@link #key()} like so:
 * </p>
 * 
 * <pre>
 *   {@literal @}RetainArrayList(genericType = String.class, key="someKey")
 *   ArrayList<String> mStringList;
 *   {@literal /}*
 *    * this is stored under "someKey" rather than under "mStringList".
 *    *{@literal /}
 * </pre>
 * 
 * @author Marten Gajda <marten@dmfs.org>
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.FIELD })
public @interface RetainArrayList {
  /**
   * Set this value to the generic type of the {@link ArrayList}.
   */
  Class<?> genericType();


  /**
   * The key under which the field value is stored in the instance state bundle. Default is the field name.
   */
  String key() default "";
}




Java Source Code List

org.dmfs.android.retentionmagic.Activity.java
org.dmfs.android.retentionmagic.DialogFragment.java
org.dmfs.android.retentionmagic.FragmentActivity.java
org.dmfs.android.retentionmagic.Fragment.java
org.dmfs.android.retentionmagic.ListFragment.java
org.dmfs.android.retentionmagic.PersistenceHelper.java
org.dmfs.android.retentionmagic.RetentionMagic.java
org.dmfs.android.retentionmagic.SupportDialogFragment.java
org.dmfs.android.retentionmagic.SupportFragment.java
org.dmfs.android.retentionmagic.SupportListFragment.java
org.dmfs.android.retentionmagic.annotations.ParameterArrayList.java
org.dmfs.android.retentionmagic.annotations.Parameter.java
org.dmfs.android.retentionmagic.annotations.RetainArrayList.java
org.dmfs.android.retentionmagic.annotations.Retain.java
org.dmfs.android.retentionmagic.demo.DemoActivity.java