Class TernaryMemberMarshaller<T, M extends Member, M1, M2, M3>

java.lang.Object
org.wildfly.clustering.marshalling.protostream.reflect.AbstractMemberMarshaller<T,M>
org.wildfly.clustering.marshalling.protostream.reflect.TernaryMemberMarshaller<T,M,M1,M2,M3>
Type Parameters:
T - the target type of this marshaller
M - the reflection member type
M1 - the first component member type
M2 - the second component member type
M3 - the third component member type
All Implemented Interfaces:
Function<Object[],T>, org.infinispan.protostream.BaseMarshaller<T>, org.infinispan.protostream.ProtobufTagMarshaller<T>, Marshallable<T>, ProtoStreamMarshaller<T>, Readable<T>, Writable<T>
Direct Known Subclasses:
TernaryFieldMarshaller, TernaryMethodMarshaller

public class TernaryMemberMarshaller<T, M extends Member, M1, M2, M3> extends AbstractMemberMarshaller<T,M>
Generic marshaller based on three non-public members.
Author:
Paul Ferraro
  • Constructor Details

    • TernaryMemberMarshaller

      public TernaryMemberMarshaller(Class<? extends T> type, BiFunction<Object,M,Object> accessor, BiFunction<Class<?>,Class<?>,M> memberLocator, Class<M1> member1Type, Class<M2> member2Type, Class<M3> member3Type, TriFunction<M1,M2,M3,T> factory)
      Creates a marshaller for the specified members.
      Parameters:
      type - the marshalled object type
      accessor - the member accessor
      memberLocator - the member locator function
      member1Type - the former member type
      member2Type - the latter member type
      member3Type - the latter member type
      factory - the marshalled object factory
  • Method Details

    • apply

      public T apply(Object[] parameters)