package com.l7tech.server.identity.mapping;

import com.l7tech.identity.Identity;
import com.l7tech.identity.mapping.PersistentAttributeMapping;
import com.l7tech.objectmodel.AttributeHeader;
import com.l7tech.objectmodel.PersistentEntity;

abstract class b<MT extends PersistentAttributeMapping> extends a<MT> {
   protected b(MT var1) {
      super((MT)var1);
   }

   @Override
   public Object[] extractValues(Identity var1) {
      Object[] var2 = super.extractValues(var1);
      if (var2 != null && var2.length > 0) {
         return var2;
      }

      AttributeHeader var3 = this.mapping.getAttributeConfig().getHeader();
      return !(var1 instanceof PersistentEntity) || var3 != PersistentAttributeMapping.PERSISTENT_OID && var3 != PersistentAttributeMapping.PERSISTENT_GOID
         ? this.EMPTY
         : this.a(((PersistentEntity)var1).getGoid());
   }
}
