// Path: src/main/java/org/sputnikdev/bluetooth/manager/transport/CharacteristicAccessType.java
// public enum CharacteristicAccessType {
// 
//     BROADCAST(0x01),
//     READ(0x02),
//     WRITE_WITHOUT_RESPONSE(0x04),
//     WRITE(0x08),
//     NOTIFY(0x10),
//     INDICATE(0x20),
//     AUTHENTICATED_SIGNED_WRITES(0x40),
//     EXTENDED_PROPERTIES(0x80);
// 
//     int bitField;
// 
//     CharacteristicAccessType(int bitField) {
//         this.bitField = bitField;
//     }
// 
//     public int getBitField() {
//         return bitField;
//     }
// 
//     public static CharacteristicAccessType fromBitField(int bitField) {
//         return Stream.of(CharacteristicAccessType.values())
//                 .filter(c -> c.bitField == bitField)
//                 .findFirst().orElse(null);
//     }
// 
//     public static Set<CharacteristicAccessType> parse(int flags) {
//         return Stream.of(CharacteristicAccessType.values())
//                 .filter(c -> (c.bitField & flags) > 0)
//                 .collect(Collectors.toSet());
//     }
// 
// }


import java.util.Collections;
import java.util.Set;
import org.sputnikdev.bluetooth.URL;
import org.sputnikdev.bluetooth.manager.transport.CharacteristicAccessType;
package org.sputnikdev.bluetooth.manager;

/*-
 * #%L
 * org.sputnikdev:bluetooth-manager
 * %%
 * Copyright (C) 2017 Sputnik Dev
 * %%
 * 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.
 * #L%
 */



/**
 * A class to capture discovered GATT characteristics.
 *
 * @author Vlad Kolotov
 */
public class GattCharacteristic {

    private final URL url;
// Path: src/main/java/org/sputnikdev/bluetooth/manager/transport/CharacteristicAccessType.java
// public enum CharacteristicAccessType {
// 
//     BROADCAST(0x01),
//     READ(0x02),
//     WRITE_WITHOUT_RESPONSE(0x04),
//     WRITE(0x08),
//     NOTIFY(0x10),
//     INDICATE(0x20),
//     AUTHENTICATED_SIGNED_WRITES(0x40),
//     EXTENDED_PROPERTIES(0x80);
// 
//     int bitField;
// 
//     CharacteristicAccessType(int bitField) {
//         this.bitField = bitField;
//     }
// 
//     public int getBitField() {
//         return bitField;
//     }
// 
//     public static CharacteristicAccessType fromBitField(int bitField) {
//         return Stream.of(CharacteristicAccessType.values())
//                 .filter(c -> c.bitField == bitField)
//                 .findFirst().orElse(null);
//     }
// 
//     public static Set<CharacteristicAccessType> parse(int flags) {
//         return Stream.of(CharacteristicAccessType.values())
//                 .filter(c -> (c.bitField & flags) > 0)
//                 .collect(Collectors.toSet());
//     }
// 
// }


// Path: src/main/java/org/sputnikdev/bluetooth/manager/GattCharacteristic.java
import java.util.Collections;
import java.util.Set;
import org.sputnikdev.bluetooth.URL;
import org.sputnikdev.bluetooth.manager.transport.CharacteristicAccessType;

package org.sputnikdev.bluetooth.manager;

/*-
 * #%L
 * org.sputnikdev:bluetooth-manager
 * %%
 * Copyright (C) 2017 Sputnik Dev
 * %%
 * 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.
 * #L%
 */



/**
 * A class to capture discovered GATT characteristics.
 *
 * @author Vlad Kolotov
 */
public class GattCharacteristic {

    private final URL url;
    private final Set<CharacteristicAccessType> flags;