Alachisoft.NCache.Common.Queries.OrderByArgument Maven / Gradle / Ivy
package Alachisoft.NCache.Common.Queries;
import Alachisoft.NCache.Common.Common;
import com.alachisoft.ncache.serialization.core.io.InternalCompactSerializable;
import com.alachisoft.ncache.serialization.standard.io.CompactReader;
import com.alachisoft.ncache.serialization.standard.io.CompactWriter;
import java.io.IOException;
// Copyright (c) 2020 Alachisoft
//
// 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
public class OrderByArgument implements InternalCompactSerializable {
public ArgumentType type;
private String _attributeName;
private Order _order = Order.ASC;
public final String getAttributeName() {
return _attributeName;
}
public final void setAttributeName(String value) {
_attributeName = value;
}
public final Order getOrder() {
return _order;
}
public final void setOrder(Order value) {
_order = value;
}
public final void setOrder(int value) {
_order = Order.forValue(value);
}
@Override
public void Deserialize(CompactReader reader) throws IOException, ClassNotFoundException {
Object tempVar = reader.ReadObject();
_attributeName = tempVar instanceof String ? (String) tempVar : null;
_order = Common.as(reader.ReadInt32(), Order.class);
type = Common.as(reader.ReadInt32(), ArgumentType.class);
}
@Override
public void Serialize(CompactWriter writer) throws IOException {
writer.WriteObject(_attributeName);
writer.Write(_order.getValue());
writer.Write(type.getValue());
}
}