@Override public V get(int key) { return mMap.get(key); } }
@Override public V get(int key) { return mMap.get(key); } }
@Override public Object resolveVariable(String alas) { return varMap.get(alas.hashCode()); } }
@Override public Class<?> resolveClass(String alias) { return staticMap.get(alias.hashCode()); } @Override
@Override public Class<?> resolveClass(String alias) { return staticMap.get(alias.hashCode()); } @Override
@Override public Object resolveVariable(String alas) { return varMap.get(alas.hashCode()); } }
/** * get the binder by target real position.(include header and footer) * * @param position the position, include header and footer * @return the binder */ private Binder<T> getBinder(int position) { return mBinderMap.get(position - getHeaderSize()); } // ========================== end private method ======================
private void prepare(List<GroupProperty> gps) { for (GroupProperty gp : gps) { List<GroupProperty> list = mPropMap.get(gp.type); if (list == null) { list = new ArrayList<>(3); mPropMap.put(gp.type, list); } list.add(gp); } }
private void prepare(List<GroupProperty> gps) { for (GroupProperty gp : gps) { List<GroupProperty> list = mPropMap.get(gp.type); if (list == null) { list = new ArrayList<>(3); mPropMap.put(gp.type, list); } list.add(gp); } }
public FamilyManager(BaseMediator<T> mediator, List<FamilyGroup> groups) { Throwables.checkEmpty(groups); Throwables.checkNull(mediator); this.mMediator = mediator; //prepare for (FamilyGroup fg : groups) { List<FamilyGroup> list = mGroups.get(fg.type); if (list == null) { list = new ArrayList<>(4); mGroups.put(fg.type, list); } list.add(fg); } }
public FamilyManager(BaseMediator<T> mediator, List<FamilyGroup> groups) { Throwables.checkEmpty(groups); Throwables.checkNull(mediator); this.mMediator = mediator; //prepare for (FamilyGroup fg : groups) { List<FamilyGroup> list = mGroups.get(fg.type); if (list == null) { list = new ArrayList<>(4); mGroups.put(fg.type, list); } list.add(fg); } }
@Override public V put(int key, V value, int[] resultStateArr) { final V old = mMap.get(key); final int resultState; if(value == null){ if(old == null){ resultState = STATE_NO_CHANGE; }else{ mMap.put(key, null); resultState = STATE_CHANGED; } }else{ if(old == null){ //new not null, old is null. mMap.put(key, value); resultState = STATE_NEW; }else if (value.equals( old )){ //new not null, old is not null. but equals. resultState = STATE_NO_CHANGE; }else{ mMap.put(key, value); resultState= STATE_CHANGED; } } if(resultStateArr != null){ resultStateArr[0] = resultState; } return old; }
@Override public V put(int key, V value, int[] resultStateArr) { final V old = mMap.get(key); final int resultState; if(value == null){ if(old == null){ resultState = STATE_NO_CHANGE; }else{ mMap.put(key, null); resultState = STATE_CHANGED; } }else{ if(old == null){ //new not null, old is null. mMap.put(key, value); resultState = STATE_NEW; }else if (value.equals( old )){ //new not null, old is not null. but equals. resultState = STATE_NO_CHANGE; }else{ mMap.put(key, value); resultState= STATE_CHANGED; } } if(resultStateArr != null){ resultStateArr[0] = resultState; } return old; }
@Override @SuppressWarnings("unchecked") public void onPropertyValueChanged(T data, Property prop, Object oldValue, Object newValue) { if (data != mMediator._getTarget()) { return; } final List<FamilyGroup> mss = mGroups.get(TYPE_MASTER_SLAVE); final List<FamilyGroup> brothers = mGroups.get(TYPE_BROTHER); if (Predicates.isEmpty(mss) && Predicates.isEmpty(brothers)) { return; } if (!Predicates.isEmpty(mss)) { for (FamilyGroup fg : mss) { if (fg.master.contains(prop)) { fg.callbackByMasterSlave(prop, newValue, mMediator, mEvaluator); } } } if (!Predicates.isEmpty(brothers)) { for (FamilyGroup fg : brothers) { if (fg.master.contains(prop)) { fg.callbackByBrother(prop, newValue, mMediator, mEvaluator, mForbid); } } } }
private void onPropertyValueChanged(T data, Property prop, Object oldValue, Object newValue) { //currently only support int and long. boolean. if (prop.getType() != int.class && prop.getType() != long.class && prop.getType() != boolean.class) { return; } List<GroupProperty> list = mPropMap.get(TYPE_MUTEX); //process mutex if (!Predicates.isEmpty(list)) { if (newValue instanceof Boolean) { boolean value = Boolean.valueOf(newValue.toString()); for (GroupProperty gp : list) { if (gp.prop == prop && mutex(gp, data, value ? 1 : 0)) { break; } } } else { long value = Long.valueOf(newValue.toString()); for (GroupProperty gp : list) { if (gp.prop == prop && mutex(gp, data, value)) { break; } } } } }
@Override @SuppressWarnings("unchecked") public void onPropertyValueChanged(T data, Property prop, Object oldValue, Object newValue) { if (data != mMediator._getTarget()) { return; } final List<FamilyGroup> mss = mGroups.get(TYPE_MASTER_SLAVE); final List<FamilyGroup> brothers = mGroups.get(TYPE_BROTHER); if (Predicates.isEmpty(mss) && Predicates.isEmpty(brothers)) { return; } if (!Predicates.isEmpty(mss)) { for (FamilyGroup fg : mss) { if (fg.master.contains(prop)) { fg.callbackByMasterSlave(prop, newValue, mMediator, mEvaluator); } } } if (!Predicates.isEmpty(brothers)) { for (FamilyGroup fg : brothers) { if (fg.master.contains(prop)) { fg.callbackByBrother(prop, newValue, mMediator, mEvaluator, mForbid); } } } }
private void onPropertyValueChanged(T data, Property prop, Object oldValue, Object newValue) { //currently only support int and long. boolean. if (prop.getType() != int.class && prop.getType() != long.class && prop.getType() != boolean.class) { return; } List<GroupProperty> list = mPropMap.get(TYPE_MUTEX); //process mutex if (!Predicates.isEmpty(list)) { if (newValue instanceof Boolean) { boolean value = Boolean.valueOf(newValue.toString()); for (GroupProperty gp : list) { if (gp.prop == prop && mutex(gp, data, value ? 1 : 0)) { break; } } } else { long value = Long.valueOf(newValue.toString()); for (GroupProperty gp : list) { if (gp.prop == prop && mutex(gp, data, value)) { break; } } } } }
private static TypeHandler getTypeHandlerInternal(int complexType) { TypeHandler handler = sHandlers.get(complexType); if(handler == null){ switch (complexType){ case FieldFlags.COMPLEX_LIST: handler = new ListTypeHandler(); break; case FieldFlags.COMPLEX_ARRAY: handler = new ArrayTypeHandler(); break; case FieldFlags.COMPLEX_SPARSE_ARRAY: handler = new SparseArrayTypeHandler(); break; case 0: handler = new SimpleTypeHandler(); break; default: throw new UnsupportedOperationException(); } sHandlers.put(complexType, handler); } return handler; }
final int key = getKeyAsInt(expression); Object value; if(sa == null || ( value = sa.get(key)) == null){ return null; // failed.
return; Binder<T> binder = adapter.mBinderMap.get(position); if (binder != null) { if(DEBUG) {